[hidden]{display:none!important}
.file-row img[hidden],img:not([src]),img[src=""]{display:none!important}
.text-options{grid-template-columns:repeat(3,1fr)}
@media(max-width:560px){.text-options{grid-template-columns:1fr}}
.brand-logo{width:48px;height:48px;display:block;object-fit:contain}
.intro h1{line-height:1.08}
.intro h1 span{display:block}
.intro h1 span[lang]{font-size:.62em;letter-spacing:.01em;margin-top:.28em}
.zh{display:block;margin-top:.22em}
.eyebrow span{display:block;margin-top:.5em;color:#8b4de7;letter-spacing:.12em}
.intro h1{background:linear-gradient(100deg,#068fe8 5%,#7045f0 45%,#ed2fa7 72%,#ff7b18);-webkit-background-clip:text;background-clip:text;color:transparent}
.step-heading h2 .zh{font-size:.78em;color:#6c3edb}
.backdrop-choice i,.backdrop-upload i{font-style:normal;color:#6e4acb;font-size:.92em}
.trial-pill{text-align:center;line-height:1.25;background:linear-gradient(100deg,#e9f8ff,#f5eaff);border-color:#d9cff6;color:#4d3a85}
.primary{background:linear-gradient(100deg,#087fd8,#7147e8 52%,#dc329e)}
.primary:hover:not(:disabled){background:linear-gradient(100deg,#066dbb,#5d35d2 52%,#c5268c)}
@media(max-width:820px){.shell{padding:0 12px 28px}.topbar{height:66px}.brand{font-size:15px}.brand-logo{width:42px;height:42px}.trial-pill{font-size:10px;padding:5px 8px}.intro{margin:14px auto 20px}.intro h1{font-size:clamp(28px,8vw,38px);line-height:1.1}.intro>p:last-child{font-size:15px;line-height:1.45}.studio-grid{gap:14px}.controls,.preview{padding:16px;border-radius:18px}.canvas-wrap{width:min(100%,340px);aspect-ratio:9/16}.backdrop-grid{grid-template-columns:repeat(2,1fr);overflow:visible}.backdrop-upload{min-height:92px}.preview{position:static}.preview-actions{grid-template-columns:1fr}.primary,.secondary{min-height:50px}}
@media(max-width:420px){.brand span:last-child{display:block;max-width:150px;line-height:1.15}.intro .eyebrow{font-size:10px!important}.intro h1{font-size:29px}.intro h1 span[lang]{font-size:.68em}.step-heading h2{font-size:17px}.step-heading p{font-size:13px}.backdrop-choice span{font-size:12px}}
.upload-policy{margin:10px 0 0;padding:10px 12px;border-radius:11px;background:#f6f3ff;color:#5f4a88;font-size:12px;line-height:1.45}.upload-policy span{display:block;margin-top:4px;color:#7548bd}.backdrop-paste{margin-bottom:8px}
.paste-button{width:100%;margin-top:9px;min-height:42px;border:1px solid #c9d3e3;border-radius:12px;background:#fff;color:#5d3fc0;font-weight:700;cursor:pointer}
.paste-button:hover{background:#f6f3ff;border-color:#9e8bd9}
.message-presets{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:15px}
.message-presets label{font-size:12px;color:var(--muted)}
.message-presets select{display:block;margin-top:6px;font-size:14px}
.custom-message-label{margin-top:2px}
.creating span{margin-bottom:0}
@media(max-width:560px){.message-presets{grid-template-columns:1fr}.paste-button{font-size:13px;padding:8px}.message-presets select{font-size:16px}}
.logo-options{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.footer-label{margin-top:18px}.footer-label em{font-style:normal;color:var(--muted);font-size:11px}.footer-input{font:inherit;color:var(--ink);width:100%;border:1px solid #ccd4e0;border-radius:12px;background:#fff;padding:12px 13px;outline:none}.footer-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(28,88,217,.11)}
.logo-upload{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:12px;border:1px dashed #aab7ca;border-radius:12px;color:#5d3fc0;font-size:13px;font-weight:700;cursor:pointer;background:#fafbff}
.logo-upload input{display:none}.logo-options>small{display:block;margin-top:6px;color:var(--muted);font-size:11px}
.controls > .customise {
  display: contents;
}

.controls > .customise > summary {
  display: none;
}

.controls {
  display: flex;
  flex-direction: column;
}

.controls > .background-section { order: 2; }
.controls > .customise > .background-section { order: 2; }
.controls > .divider { order: 1; }
.controls > .customise > .text-step-heading,
.controls > .customise > .message-presets,
.controls > .customise > .custom-message-label,
.controls > .customise > #messageInput,
.controls > .customise > .field-meta { order: 3; }
.controls > .customise > .text-options { order: 4; }
.controls > .customise > .range-label,
.controls > .customise > input,
.controls > .customise > .footer-label,
.controls > .customise > .footer-input { order: 5; }
.controls > .customise > .divider { order: 6; }
.controls > .customise > .step-heading:not(.text-step-heading) { order: 7; }
.controls > .customise > .logo-options { order: 8; }
.controls > .consent,
.controls > #generateButton,
.controls > #errorMessage { order: 9; }
