:root{color-scheme:dark;--bg:#0c0d0f;--bg-soft:#111316;--panel:#15171a;--panel-2:#191c20;--line:#2a2d31;--line-strong:#3c4045;--text:#f4f3ed;--muted:#979b9f;--quiet:#686d72;--accent:#d8ff52;--accent-ink:#121500;--warn:#ffbf69;--radius:4px;--shadow:0 18px 60px rgba(0,0,0,.32)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,"Noto Sans SC",sans-serif;font-size:16px;line-height:1.55}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.hidden{display:none!important}
.topbar{height:64px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;background:rgba(12,13,15,.92);backdrop-filter:blur(16px);z-index:20}.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-size:.83rem;letter-spacing:.12em;font-weight:700}.brand-mark{width:29px;height:29px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-size:1.05rem;font-weight:800}.beta{font:500 .65rem "DM Mono",monospace;color:var(--quiet);border-left:1px solid var(--line);padding-left:10px}.top-actions{display:flex;align-items:center;gap:9px}.autosave{font-size:.75rem;color:var(--quiet);margin-right:8px}.autosave i{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-right:6px}.icon-button{width:34px;height:34px;border:1px solid var(--line);background:transparent;display:grid;place-items:center;cursor:pointer;border-radius:50%}.icon-button:hover{border-color:var(--line-strong);background:var(--panel)}.icon-button svg{width:16px;height:16px}
.app-shell{display:grid;grid-template-columns:148px minmax(0,1fr);max-width:1540px;margin:0 auto}.step-rail{position:sticky;top:64px;height:calc(100vh - 64px);border-right:1px solid var(--line);padding:58px 22px;display:flex;flex-direction:column;gap:29px;overflow:hidden}.rail-line{position:absolute;left:42px;top:78px;bottom:80px;width:1px;background:var(--line)}.step{border:0;background:transparent;text-align:left;display:grid;grid-template-columns:32px 1fr;align-items:center;padding:0;cursor:pointer;z-index:1}.step span{font:500 .7rem "DM Mono",monospace;width:22px;height:22px;display:grid;place-items:center;background:var(--bg);border:1px solid var(--line);color:var(--quiet)}.step strong{font-size:.78rem;color:var(--quiet);white-space:nowrap}.step.active span{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.step.active strong,.step:hover strong{color:var(--text)}
.workspace{width:min(1180px,calc(100% - 64px));margin:0 auto;padding:58px 0 100px}.workspace-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px}.eyebrow{font:500 .7rem "DM Mono",monospace;letter-spacing:.18em;color:var(--accent);margin:0 0 9px;text-transform:uppercase}.workspace-head h1{font-size:clamp(2rem,4vw,3.65rem);line-height:1.08;letter-spacing:-.055em;margin:0;max-width:700px;font-weight:650}.mode-tabs{display:flex;border:1px solid var(--line);padding:4px;background:var(--bg-soft)}.mode-tab{border:0;background:transparent;color:var(--muted);padding:9px 14px;font-size:.8rem;cursor:pointer}.mode-tab.active{background:var(--text);color:#111;font-weight:600}
.panel{border:1px solid var(--line);background:var(--panel);padding:28px;margin-bottom:16px}.panel-label{display:flex;align-items:flex-start;gap:16px;margin-bottom:26px}.number{font:500 .68rem "DM Mono",monospace;color:var(--accent);padding-top:5px}.panel h2,.result-head h2,.shot-section h2{font-size:1.04rem;margin:0 0 2px;letter-spacing:-.01em}.panel-label p,.result-head p{margin:0;color:var(--quiet);font-size:.8rem}.simple-pro{margin-left:auto;border:1px solid var(--line);padding:3px;display:flex}.simple-pro button{border:0;background:transparent;padding:6px 12px;font-size:.74rem;color:var(--quiet);cursor:pointer}.simple-pro button.active{background:var(--panel-2);color:var(--text)}
.idea-input-wrap{display:block;position:relative}.idea-input-wrap textarea{width:100%;min-height:142px;resize:vertical;background:var(--bg-soft);border:1px solid var(--line);color:var(--text);font-size:1.06rem;line-height:1.7;padding:20px 22px 36px;border-radius:var(--radius)}.idea-input-wrap textarea::placeholder{color:#5f6469}.idea-input-wrap textarea:focus{border-color:#777d84}.char-count{position:absolute;right:14px;bottom:12px;color:var(--quiet);font:400 .7rem "DM Mono",monospace}.char-count b{font-weight:400}.idea-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px}.examples{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.examples span{font-size:.74rem;color:var(--quiet)}.examples button{border:1px solid var(--line);background:transparent;color:var(--muted);font-size:.72rem;padding:5px 9px;cursor:pointer}.examples button:hover{border-color:var(--line-strong);color:var(--text)}.analyze-button{border:0;background:var(--accent);color:var(--accent-ink);font-weight:700;padding:13px 16px;display:flex;gap:25px;align-items:center;cursor:pointer;white-space:nowrap}.analyze-button:hover{filter:brightness(1.06)}.analyze-button kbd{font:500 .66rem "DM Mono",monospace;opacity:.58;border:1px solid rgba(0,0,0,.3);padding:2px 5px}
.upload-zone{margin-bottom:16px;border:1px dashed var(--line-strong);min-height:150px;position:relative;display:grid;place-items:center;background:var(--bg-soft);overflow:hidden}.upload-zone>button:first-of-type{background:transparent;border:0;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--muted);cursor:pointer;padding:24px}.upload-zone strong{color:var(--text)}.upload-zone small{color:var(--quiet)}.upload-icon{width:38px;height:38px;border:1px solid var(--line);display:grid;place-items:center;margin-bottom:4px}.upload-icon svg{width:19px}.upload-zone img{display:none;width:100%;height:210px;object-fit:contain;background:#08090a}.upload-zone.has-image img{display:block}.upload-zone.has-image>button:first-of-type{display:none}.remove-image{position:absolute;right:10px;top:10px;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.65);padding:6px 10px;font-size:.72rem;cursor:pointer}
.quick-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quick-fields label,.pro-grid label{font-size:.72rem;color:var(--muted);display:flex;flex-direction:column;gap:7px}.quick-fields select,.pro-grid select,.pro-grid input{appearance:none;width:100%;border:1px solid var(--line);background:var(--bg-soft);color:var(--text);padding:11px 12px;border-radius:0;min-height:44px}.quick-fields label{position:relative}.quick-fields label:after{content:"⌄";position:absolute;right:12px;bottom:10px;color:var(--quiet);pointer-events:none}.pro-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px;padding-top:20px;border-top:1px solid var(--line)}.pro-grid .wide{grid-column:span 2}.storyboard-toggle{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.storyboard-toggle div{display:flex;flex-direction:column}.storyboard-toggle strong{font-size:.82rem}.storyboard-toggle span{font-size:.73rem;color:var(--quiet)}.switch{width:42px;height:23px;border:1px solid var(--line-strong);background:var(--bg-soft);padding:2px;cursor:pointer}.switch span{width:17px;height:17px;background:var(--quiet);transition:.2s}.switch[aria-checked="true"]{background:var(--accent);border-color:var(--accent)}.switch[aria-checked="true"] span{transform:translateX(17px);background:var(--accent-ink)}
.result-wrap{padding-top:36px}.result-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}.result-head>div:first-child{display:flex;gap:16px;align-items:flex-start}.model-tabs{display:flex;gap:4px;overflow:auto;padding-bottom:2px}.model-tabs button{border:1px solid var(--line);background:transparent;color:var(--quiet);padding:7px 10px;font-size:.72rem;white-space:nowrap;cursor:pointer}.model-tabs button.active{border-color:var(--text);color:var(--text);background:var(--panel)}.result-grid{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:16px}.output-card,.score-card{border:1px solid var(--line);background:var(--panel)}.output-card header{min-height:66px;border-bottom:1px solid var(--line);padding:12px 16px;display:flex;justify-content:space-between;align-items:center}.model-identity{display:flex;gap:10px;align-items:center}.model-identity>span{width:37px;height:37px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font:700 1rem "DM Mono",monospace}.model-identity div{display:flex;flex-direction:column}.model-identity strong{font-size:.82rem}.model-identity small{font-size:.67rem;color:var(--quiet)}.card-actions{display:flex;gap:6px}.ghost-button{border:1px solid var(--line);background:transparent;padding:7px 9px;color:var(--muted);display:flex;gap:6px;align-items:center;font-size:.7rem;cursor:pointer}.ghost-button:hover{border-color:var(--line-strong);color:var(--text)}.ghost-button svg{width:14px;height:14px}.empty-output{height:365px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--quiet)}.empty-symbol{font-size:2.7rem;color:var(--line-strong);line-height:1;margin-bottom:12px}.empty-output strong{font-size:.86rem;color:var(--muted)}.empty-output span{font-size:.74rem}.prompt-output{min-height:365px;padding:25px;font:400 .84rem/1.85 "DM Mono","Noto Sans SC",monospace;white-space:pre-wrap;color:#d9d9d3}.prompt-output .prompt-label{display:block;color:var(--accent);font-size:.65rem;letter-spacing:.12em;margin:15px 0 2px}.prompt-output .prompt-label:first-child{margin-top:0}.storyboard-output{padding:20px;display:grid;gap:10px}.scene-card{border:1px solid var(--line);background:var(--bg-soft);padding:15px 16px}.scene-card header{border:0;padding:0;min-height:auto;margin-bottom:7px}.scene-card header span{font:500 .66rem "DM Mono",monospace;color:var(--accent)}.scene-card header em{font:400 .66rem "DM Mono",monospace;color:var(--quiet)}.scene-card p{font:400 .77rem/1.7 "DM Mono","Noto Sans SC",monospace;color:#d0d0cb;margin:0}.score-card{padding:18px}.score-head{display:flex;justify-content:space-between;font-size:.76rem}.score-head span{color:var(--muted)}.score-head strong{font:500 .72rem "DM Mono",monospace}.score-bar{height:3px;background:var(--line);margin:12px 0 18px}.score-bar i{display:block;width:0;height:100%;background:var(--accent);transition:.35s}.score-card ul{list-style:none;padding:0;margin:0}.score-card li{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid var(--line);font-size:.72rem;color:var(--muted)}.score-card li b{font:500 .75rem "DM Mono",monospace;color:var(--quiet)}.score-card li.ok b{color:var(--accent)}.score-card li.missing b{color:#65696e}.model-tip{margin-top:16px;padding:11px;background:var(--bg-soft);border-left:2px solid var(--accent);font-size:.67rem;line-height:1.55;color:var(--quiet)}
.shot-section{padding-top:78px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}.section-head h2{font-size:1.6rem}.section-head>span{font-size:.72rem;color:var(--quiet)}.shot-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.shot-card{text-align:left;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel);padding:21px;min-height:185px;cursor:pointer;position:relative}.shot-card:hover{background:var(--panel-2)}.shot-card>span{font:500 .62rem "DM Mono",monospace;color:var(--quiet)}.shot-card strong{display:block;font-size:1rem;margin:24px 0 5px}.shot-card p{font-size:.72rem;color:var(--muted);line-height:1.55;margin:0}.shot-card em{position:absolute;bottom:15px;font-style:normal;font-size:.63rem;color:var(--accent)}
.ad-slot{min-height:94px;margin-top:34px;padding:12px 16px;border:1px solid var(--line);background:var(--bg-soft);text-align:center;overflow:hidden}.ad-slot>span{display:block;margin-bottom:7px;color:var(--quiet);font:500 .58rem "DM Mono",monospace;letter-spacing:.14em}
dialog{border:1px solid var(--line-strong);background:var(--panel);color:var(--text);width:min(480px,calc(100% - 30px));padding:30px;box-shadow:var(--shadow)}dialog::backdrop{background:rgba(0,0,0,.7);backdrop-filter:blur(4px)}dialog h2{font-size:1.5rem;margin:0 0 20px}dialog ol{padding:0;list-style:none;margin:0;display:grid;gap:15px}dialog li{display:grid;grid-template-columns:80px 1fr;border-top:1px solid var(--line);padding-top:14px}dialog li b{font-size:.78rem}dialog li span{font-size:.76rem;color:var(--muted)}.dialog-close{position:absolute;right:13px;top:10px;border:0;background:transparent;color:var(--muted);font-size:1.5rem;cursor:pointer}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:var(--text);color:#111;padding:9px 15px;font-size:.75rem;font-weight:600;opacity:0;pointer-events:none;transition:.25s;z-index:40}.toast.show{opacity:1;transform:translate(-50%,0)}
body.light{color-scheme:light;--bg:#f3f3ee;--bg-soft:#ebebe5;--panel:#fafaf6;--panel-2:#fff;--line:#d4d4cd;--line-strong:#a5a69f;--text:#171916;--muted:#62665e;--quiet:#878b82;--accent:#275cff;--accent-ink:#fff;--shadow:0 18px 60px rgba(27,31,25,.13)}body.light .topbar{background:rgba(243,243,238,.92)}body.light .prompt-output{color:#292b27}body.light .scene-card p{color:#292b27}
@media(max-width:1000px){.app-shell{grid-template-columns:1fr}.step-rail{display:none}.workspace{width:min(92%,860px)}.workspace-head{align-items:flex-start;gap:25px;flex-direction:column}.result-grid{grid-template-columns:1fr}.score-card{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.score-head,.score-bar,.model-tip{grid-column:1/-1}.quick-fields,.pro-grid{grid-template-columns:repeat(2,1fr)}.shot-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.topbar{padding:0 16px}.autosave,.beta{display:none}.workspace{width:100%;padding:32px 14px 70px}.workspace-head{margin-bottom:24px}.workspace-head h1{font-size:2.4rem}.mode-tabs{width:100%;overflow:auto}.mode-tab{flex:1;white-space:nowrap}.panel{padding:20px 16px}.panel-label{gap:10px}.panel-label p{display:none}.idea-input-wrap textarea{font-size:.95rem;min-height:160px}.idea-footer{align-items:stretch;flex-direction:column}.analyze-button{justify-content:space-between}.quick-fields,.pro-grid{grid-template-columns:1fr 1fr}.pro-grid .wide{grid-column:1/-1}.result-head{align-items:flex-start;flex-direction:column;gap:15px}.model-tabs{width:100%}.result-grid{display:block}.score-card{margin-top:12px}.output-card header{padding:11px}.model-identity small{display:none}.ghost-button span{display:none}.prompt-output{padding:18px;font-size:.76rem}.shot-grid{grid-template-columns:1fr 1fr}.shot-card{padding:15px;min-height:180px}.section-head>span{display:none}}
@media(max-width:430px){.quick-fields,.pro-grid{grid-template-columns:1fr}.shot-grid{grid-template-columns:1fr}.score-card{grid-template-columns:1fr}.workspace-head h1{font-size:2.05rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Collection 5 icon integration */
.brand-mark{background:transparent}.brand-mark img{width:27px;height:27px;object-fit:contain}.icon-button img{width:16px;height:16px;object-fit:contain}.brand-mark img,.icon-button img,.mode-tab img,.upload-icon img,.empty-symbol,.shot-card>img{filter:none}.mode-tab{display:flex;align-items:center;gap:7px}.mode-tab img{width:14px;height:14px;object-fit:contain;opacity:.55}.mode-tab.active img{filter:brightness(0);opacity:1}.upload-icon img{width:22px;height:22px;object-fit:contain}.upload-zone>img{display:none}.upload-zone.has-image>img{display:block}.analyze-button{gap:10px}.analyze-button .button-icon{width:17px;height:17px;object-fit:contain;filter:brightness(0)}.analyze-button kbd{margin-left:15px}.empty-symbol{width:58px;height:58px;object-fit:contain;opacity:.24;margin-bottom:13px}.shot-card>img{position:absolute;right:17px;top:15px;width:31px;height:31px;object-fit:contain;opacity:.48}.shot-card:hover>img{opacity:.9}body.light .brand-mark img,body.light .icon-button img,body.light .mode-tab:not(.active) img,body.light .upload-icon img,body.light .empty-symbol,body.light .shot-card>img{filter:brightness(0)}body.light .analyze-button .button-icon{filter:none}
