/* Targeted product fixes over the approved interface, using its existing tokens. */
:root{--text-faint:var(--text-soft);--accent-text:color-mix(in srgb,var(--accent-deep) 90%,black)}:root[data-theme=dark]{--text-faint:var(--text-soft);--accent-text:color-mix(in srgb,var(--accent) 76%,white)}.editor-panel{--text-faint:var(--text-soft)}.balance-hint span{color:var(--accent-text)!important}.swatches button{min-width:44px;width:44px;height:44px}
html{overflow-x:clip}body{overflow-wrap:anywhere}button,input,textarea,select{font:inherit}button{touch-action:manipulation}input,textarea{caret-color:var(--accent)}:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px}::selection{background:var(--accent-soft);color:var(--text)}
.workspace-loading{max-width:540px;margin:15vh auto;padding:24px}.skeleton-line{height:14px;margin-block:14px;width:100%}.skeleton-line.short{width:65%}.setup-steps{display:flex;gap:16px;padding:0;list-style:none;margin:0 0 28px;font-size:12px;color:var(--text-soft)}.setup-steps li{flex:1;padding-bottom:10px;border-bottom:2px solid var(--border)}.setup-steps [aria-current]{color:var(--accent-text);border-bottom-color:var(--accent)}.onboarding-flow h1{font-size:clamp(28px,3vw,40px)}.onboarding-flow .stack{margin-top:24px}.onboarding-flow .field textarea{min-height:90px;resize:vertical}.onboarding-flow .field input,.onboarding-flow .field textarea{font-size:16px}.auth-box:has(.onboarding-flow){max-width:620px;width:100%}.auth-page:has(.onboarding-flow){align-items:start}.onboarding-skip{margin-top:28px;padding-top:20px;border-top:1px solid var(--border);text-align:center}.onboarding-skip small{display:block;color:var(--text-soft);font-size:12px}.brand-review{margin-block:20px}.brand-review h2{font-size:21px}.brand-fact{padding-block:18px;border-bottom:1px solid var(--border)}.brand-fact .field{margin-top:10px}.brand-fact textarea{width:100%;min-height:76px}.fact-approval{display:flex;gap:10px;align-items:center;min-height:44px}.brand-fact a,.brand-fact small{font-size:12px;color:var(--text-soft)}.brand-summary{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,2fr);gap:16px 24px;margin-block:24px;font-size:14px}.brand-summary dt{color:var(--text-soft)}.brand-summary dd{margin:0;white-space:pre-wrap}.research-skeleton{padding-block:28px}.preview-signin .btn{margin-top:12px}.preview-signin .auth-foot{line-height:1.65}
.generation-loading{max-width:900px;margin:30px auto}.generation-loading .progress-steps{list-style:none;padding:0;flex-wrap:wrap;font-size:12px;gap:12px 24px;margin-block:26px}.progress-steps [aria-current]{color:var(--accent-text)}.candidate-skeleton{min-width:0}.candidate-skeleton .poster{max-height:300px;display:grid;place-items:center}.candidate-skeleton .poster span{font-size:13px;color:var(--text-soft)}.loading-actions,.failure-actions{justify-content:center;gap:12px;margin-top:24px}.failure-reference{display:block;margin-top:22px;overflow-wrap:anywhere;color:var(--text-soft)}.failure-state p{max-width:60ch}.caption{touch-action:none}.settings-scroll,.content,.auth-side,.editor-panel,.shell-main{min-width:0}.settings-search input{min-width:0}.btn,.icon-btn,.nav-item,.credit-chip{min-height:44px}.toast{background:var(--text);color:var(--canvas)}.toast button{color:inherit}.toast.error{background:var(--danger);color:var(--surface-solid)}
@media(max-width:1000px) and (min-width:621px){.editor-grid{grid-template-columns:110px minmax(160px,1fr) 180px}.review-stage{grid-template-columns:minmax(0,1fr) minmax(200px,260px) 60px;gap:12px}.review-side{min-width:0}.direction-title{overflow-wrap:anywhere}.progress-steps{flex-wrap:wrap}}
@media(max-width:820px){.auth-page:has(.onboarding-flow) .auth-story{min-height:100px}.auth-page:has(.onboarding-flow) .story-copy{display:none}.onboarding-flow .setup-steps{font-size:11px;gap:10px}.loading-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.candidate-skeleton .poster{aspect-ratio:9/12;max-height:240px}.editor-toolbar{flex-wrap:wrap}}
@media(max-width:620px){.auth-side{padding:26px 20px 40px}.field input,.field textarea,.property textarea,.property select,.settings-search input{font-size:16px}.field textarea{width:100%}.auth-page{min-height:100dvh}.auth-story{min-height:150px}.auth-box h1{font-size:30px}.settings-group button{min-height:44px}.settings-sidebar nav{scrollbar-width:thin}.settings-scroll{padding-inline:18px}.settings-savebar{flex-wrap:wrap}.settings-savebar .btn{margin-inline-start:auto}.brand-summary{grid-template-columns:1fr;gap:6px}.brand-summary dd{margin-bottom:12px}.brand-summary dt{font-weight:600}.generation-loading{margin-block:20px}.generation-loading .progress-steps{display:grid;grid-template-columns:1fr 1fr;text-align:left;gap:12px}.loading-actions .btn{flex:1;white-space:normal}.editor-toolbar{gap:8px}.editor-toolbar strong{width:100%}.editor-toolbar>.grow{display:none}.editor-toolbar .btn{font-size:12px;min-width:44px}.editor-grid>.editor-panel:last-child .properties{grid-template-columns:1fr}.layer{min-height:44px}.review-dock .btn{min-height:48px}.thumb{min-width:44px;min-height:54px}.segmented button{min-height:44px}.prompt-footer>.btn{width:100%;flex-basis:100%}.topbar{min-height:64px;height:auto;padding-block:10px}.top-actions{flex-wrap:wrap}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stat strong{font-size:26px}.stat p{font-size:11px}.failure-actions .btn{width:100%}.onboarding-flow .row>.btn{flex:1}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.skeleton{animation:none;background:var(--surface-muted)}.spinner{animation:none;border-color:var(--border-strong);border-top-color:var(--accent)}}

::placeholder{color:var(--text-soft);opacity:1}.optional-brand-context{padding-block:12px}.optional-brand-context summary{min-height:44px;cursor:pointer;font-weight:600}.optional-brand-context summary span{font-weight:400;color:var(--text-soft)}.optional-brand-context[open] summary{margin-bottom:12px}.btn[aria-busy="true"]{cursor:wait}.playback #time-label{min-width:34px;white-space:nowrap}.playback button{min-width:44px;min-height:44px}.playback input{flex:1;min-width:0}.layer span:first-child{white-space:nowrap}
@media(min-width:821px){.auth-page:has(.onboarding-flow) .auth-story{position:sticky;top:0;height:100dvh;align-self:start}}
@media(min-width:621px) and (max-width:1000px){.editor-grid{grid-template-columns:130px minmax(180px,1fr) 185px}.layer{padding-inline:6px;font-size:11px}}

.icon-btn{min-width:44px}.onboarding-flow .row>.btn{white-space:normal;min-width:0}
.export-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:24px;margin-top:18px;border-top:1px solid var(--border)}.export-actions strong{font-size:16px}.export-actions p{margin:8px 0 0;color:var(--text-soft);font-size:13px;max-width:55ch}.export-actions .row{flex-shrink:0}.asset img{background:var(--surface-muted)}
@media(max-width:620px){.export-actions{align-items:stretch;flex-direction:column;gap:16px}.export-actions .btn{width:100%}.export-actions .row{width:100%}}

@media(max-width:620px){.draft-strip{flex-wrap:wrap}.draft-strip>p{margin:0;min-width:0;flex:1 1 180px}.draft-strip>.btn{white-space:normal;max-width:100%}}

.toast.error{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger-border)}.connection-error h1{font-size:clamp(24px,4vw,34px)}.connection-error p{line-height:1.6;color:var(--text-soft)}.connection-error .row{margin-top:24px}.media-loading{position:absolute;inset:0;z-index:3;display:grid;place-content:center;gap:12px;text-align:center;background:var(--surface-muted);color:var(--text-soft);padding:20px;font-size:13px;pointer-events:none}.media-loading .spinner{margin:auto}.media-loading .btn{pointer-events:auto}.media-loading[hidden]{display:none}
#toasts,.toast{pointer-events:none}.toast button{pointer-events:auto}
.landing-login{top:24px;right:clamp(20px,3vw,40px);bottom:auto;box-shadow:none}
@media(max-width:620px){.landing-login{top:max(16px,env(safe-area-inset-top));right:16px;bottom:auto;font-size:12px;min-height:44px}}
@media(max-width:620px){.editor-grid>.editor-panel:first-child{flex-wrap:wrap}.editor-grid>.editor-panel:first-child .layer{flex:1 1 auto;min-width:0;justify-content:center}.swatches{gap:12px}.swatches button{width:44px;height:44px}.review-prompt .pill{white-space:normal}.settings-scroll .icon-btn{width:44px;height:44px}}
