:root{--bg:#0b0d10;--line:#242a30;--text:#aab2b7;--text-muted:#68727a;--text-strong:#eef3f4;--accent:#9bd6e4;--accent-soft:#9bd6e41f;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;font-family:var(--sans);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{background:var(--bg)}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}img{display:block}#root{min-height:100vh}.studio-shell{min-height:100vh;color:var(--text);background:linear-gradient(180deg, #ffffff05, transparent 220px), var(--bg);grid-template-rows:56px 1fr;grid-template-columns:244px minmax(680px,1fr) 404px;display:grid}.loading-shell{min-height:100vh;color:var(--text);background:var(--bg);place-items:center;padding:24px;display:grid}.loading-panel{border:1px solid var(--line);text-align:center;background:#111519;border-radius:8px;gap:10px;width:min(420px,100%);padding:24px;display:grid}.loading-panel svg{color:var(--accent);justify-self:center}.loading-panel h1{color:var(--text-strong);margin:0;font-size:18px}.loading-panel p{color:var(--text-muted);margin:0;font-size:13px;line-height:1.45}.topbar{border-bottom:1px solid var(--line);background:#0d0f12f0;grid-column:1/-1;justify-content:space-between;align-items:center;min-width:0;padding:0 14px;display:flex}.brand-lockup,.topbar-actions,.stage-heading,.inspector-header,.rail-header,.rail-footer,.section-title,.command-buttons,.pipeline,.metadata-grid div,.route-row,.job-row,.qc-verdict{align-items:center;display:flex}.brand-lockup{gap:12px;min-width:0}.brand-mark{color:#e8ecee;background:linear-gradient(145deg,#242a2f,#121518);border:1px solid #394148;border-radius:8px;place-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:grid}.brand-lockup h1{color:var(--text-strong);margin:0;font-size:15px;font-weight:650;line-height:1.1}.brand-lockup p{color:var(--text-muted);margin:3px 0 0;font-size:11px}.topbar-actions{gap:8px}.subject-rail{border-right:1px solid var(--line);background:#101317;grid-area:2/1;grid-template-rows:auto 1fr auto;min-height:0;display:grid}.rail-header,.rail-footer{border-bottom:1px solid var(--line);color:var(--text-muted);text-transform:uppercase;justify-content:space-between;padding:11px 12px;font-size:12px}.rail-footer{border-top:1px solid var(--line);text-transform:none;border-bottom:0;justify-content:flex-start;gap:9px;line-height:1.3}.rail-header strong{color:var(--text);font-size:12px}.subject-list{padding:7px;overflow:auto}.subject-row{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;grid-template-columns:32px minmax(0,1fr) 10px;align-items:center;gap:8px;padding:7px;display:grid}.subject-row:hover{background:#171b20}.subject-row.is-active{background:#1b2026;border-color:#303943}.avatar{color:#dce4e7;background:#252c32;border-radius:7px;place-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:grid}.subject-copy{gap:2px;min-width:0;display:grid}.subject-copy span{text-overflow:ellipsis;white-space:nowrap;color:var(--text-strong);font-size:13px;font-weight:560;overflow:hidden}.subject-copy small{color:var(--text-muted);font-size:11px}.status-dot{background:#58606a;border-radius:99px;width:8px;height:8px}.status-dot.intake,.status-dot.seed{background:#63707a}.status-dot.qc{background:#e6bf75}.status-dot.phase2{background:#8bd8c2}.status-dot.final{background:#9ec7ff}.workspace{background:#0c0f12;grid-area:2/2;grid-template-rows:auto auto auto auto;align-content:start;min-width:0;min-height:0;display:grid;overflow:auto}.pipeline{border-bottom:1px solid var(--line);gap:3px;padding:8px 12px;overflow-x:auto}.pipeline-step{height:30px;color:var(--text-muted);white-space:nowrap;cursor:pointer;background:#11161a;border:1px solid #242b31;border-radius:7px;align-items:center;gap:8px;padding:0 9px;font-size:12px;display:inline-flex}.pipeline-step span{color:#c8d1d5;background:#20272d;border-radius:99px;place-items:center;width:18px;height:18px;font-size:10px;display:grid}.pipeline-step.is-active{color:var(--text-strong);background:#1a2026;border-color:#3b4852}.pipeline-step.is-active span{color:#071115;background:var(--accent)}.pipeline-step:disabled{cursor:not-allowed;opacity:.42}.canvas-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:10px;min-height:0;padding:10px 12px;display:grid;overflow:auto}.image-stage{border:1px solid var(--line);background:#111519;border-radius:8px;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.phase-stage{background:radial-gradient(circle at 50% 24%,#a9d1de1c,#0000 38%),#111519}.stage-heading{border-bottom:1px solid var(--line);justify-content:space-between;height:34px;padding:0 10px}.stage-heading span{color:var(--text-strong);align-items:center;gap:8px;font-size:12px;font-weight:620;display:inline-flex}.stage-heading strong{color:var(--text-muted);text-transform:uppercase;font-size:11px}.upload-zone,.phase-preview{aspect-ratio:4/5;background-color:#0b0d10;background-image:linear-gradient(90deg,#ffffff06 1px,#0000 1px),linear-gradient(0deg,#ffffff06 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;place-items:center;min-height:0;padding:8px;display:grid;position:relative;overflow:hidden}.upload-zone{cursor:pointer}.upload-zone input{opacity:0;pointer-events:none;position:absolute}.upload-zone img,.phase-preview img{object-fit:contain;image-rendering:auto;border-radius:5px;width:100%;max-width:100%;height:100%;max-height:100%}.phase-stage .phase-preview img{max-width:100%;max-height:100%}.upload-empty{color:var(--text-muted);text-align:center;place-items:center;gap:8px;display:grid}.upload-empty svg,.phase-empty svg{color:var(--accent)}.upload-empty span,.phase-empty span{color:var(--text-strong);font-size:13px;font-weight:650}.upload-empty small,.phase-empty small{max-width:210px;color:var(--text-muted);font-size:11px;line-height:1.35}.upload-overlay,.preview-shade,.phase-empty,.empty-final{color:#d7e6ea;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c1013c7;border:1px solid #aad3e247;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:38px;font-size:12px;font-weight:620;display:flex;position:absolute;inset:auto 12px 12px}.preview-shade{background:#080a0c94;border:0;border-radius:0;flex-direction:column;inset:0}.phase-empty{background:#0a0d109e;border-style:dashed;flex-direction:column;inset:18px}.empty-final{color:var(--text-muted);background:0 0;border-style:dashed;flex-direction:column;inset:18px}.empty-final span{color:var(--text-strong);text-transform:capitalize;font-size:14px}.empty-final small{color:var(--text-muted);text-transform:capitalize}.final-preview.has-final img{border:1px solid #9bd6e438}.final-badge{color:#d9f0f5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-transform:capitalize;background:#080d10c7;border:1px solid #9bd6e447;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:34px;font-size:11px;font-weight:650;display:flex;position:absolute;bottom:14px;left:14px;right:14px}.final-badge svg{color:var(--accent)}.action-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#101419;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;display:flex}.strip-label{color:var(--text-muted);text-transform:uppercase;margin-bottom:3px;font-size:11px;display:block}.action-strip strong{color:var(--text-strong);font-size:13px}.filmstrip{gap:8px;padding:8px 12px 10px;display:flex;overflow-x:auto}.film-tile{border:1px solid var(--line);width:104px;min-width:104px;height:72px;color:var(--text-muted);cursor:pointer;background:#11161a;border-radius:8px;grid-template-rows:1fr auto;gap:4px;padding:6px;display:grid}.film-tile.is-active{border-color:var(--accent)}.film-tile:disabled{cursor:not-allowed;opacity:.46}.film-tile img,.mini-empty{object-fit:cover;background:#080a0c;border-radius:5px;width:100%;height:42px}.mini-empty{place-items:center;display:grid}.film-tile span{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.inspector{border-left:1px solid var(--line);background:#101317;grid-area:2/3;min-height:0;padding-bottom:12px;overflow:auto}.inspector-header{border-bottom:1px solid var(--line);justify-content:space-between;height:38px;padding:0 14px}.inspector-header span,.section-title{color:var(--text-strong);gap:8px;font-size:12px;font-weight:650}.inspector-header strong{color:var(--accent);border:1px solid #3b464e;border-radius:6px;padding:3px 7px;font-size:11px}.inspector-section,.approval-actions,.job-feed{border-bottom:1px solid var(--line);padding:11px 12px}.identity-section{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.identity-section small{color:var(--text-muted);font-size:11px}.identity-section h2{color:var(--text-strong);margin:4px 0 0;font-size:18px;font-weight:680;line-height:1.18}.metadata-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.metadata-grid div{background:#13181d;border:1px solid #242b31;border-radius:7px;flex-direction:column;align-items:flex-start;gap:7px;min-width:0;padding:8px}.metadata-grid span{color:var(--text-muted);font-size:11px}.metadata-grid strong{overflow-wrap:anywhere;max-width:100%;color:var(--text-strong);text-transform:capitalize;font-size:12px}.metadata-grid strong.literal-value{text-transform:none}.section-title{justify-content:space-between;margin-bottom:8px}.settings-card,.version-card{gap:8px;display:grid}.control-row{color:var(--text-muted);grid-template-columns:84px minmax(0,1fr);align-items:center;gap:9px;font-size:11px;display:grid}.control-row>span{white-space:nowrap}.control-row input[type=text],.control-row select,.version-card select,.revision-card select,.revision-card textarea{box-sizing:border-box;width:100%;color:var(--text-strong);font:12px/1.45 var(--sans);background:#11161a;border:1px solid #2a333b;border-radius:7px}.control-row input[type=text],.control-row select,.version-card select{min-height:32px;padding:0 9px}.color-control{grid-template-columns:38px minmax(0,1fr);gap:7px;display:grid}.color-control input[type=color]{background:#11161a;border:1px solid #2a333b;border-radius:7px;width:38px;height:32px;padding:3px}.quality-control{gap:5px;display:grid}.quality-control input[type=range]{width:100%;accent-color:var(--accent)}.quality-control input:disabled{opacity:.45}.quality-points{color:var(--text-muted);text-transform:uppercase;justify-content:space-between;gap:4px;font-size:9px;display:flex}.quality-points span.is-active{color:var(--accent)}.model-note{color:#bed3da;background:#9bd6e412;border:1px solid #9bd6e42e;border-radius:7px;padding:8px;font-size:11px;line-height:1.35}.model-note.muted{color:#d9c894;background:#e3b55b14;border-color:#e3b55b38}.prompt-card ul{gap:7px;margin:0 0 12px;padding:0;list-style:none;display:grid}.prompt-card li{color:#d5dcdf;font-family:var(--mono);background:#151b20;border:1px solid #273039;border-radius:6px;padding:8px 9px;font-size:11px}.prompt-preview-text{resize:vertical;color:#dce5e8;width:100%;min-height:150px;font:11px/1.45 var(--mono);background:#0d1115;border:1px solid #2a333b;border-radius:7px;margin-top:10px;padding:9px}.qc-list{gap:8px;display:grid}.qc-list label{color:var(--text);grid-template-columns:16px 1fr;align-items:start;gap:8px;font-size:12px;display:grid}.qc-list input{width:14px;height:14px;accent-color:var(--accent);margin-top:1px}.qc-list input:disabled{cursor:not-allowed;opacity:.48}.qc-verdict{border-radius:7px;gap:8px;margin-top:12px;padding:9px;font-size:12px;font-weight:620}.qc-verdict.pass{color:#b9ecd9;background:#3eb4871f}.qc-verdict.hold{color:#ecd59d;background:#e3b55b1f}.revision-card select{height:34px;margin-bottom:8px;padding:0 9px}.revision-card textarea{resize:vertical;min-height:84px;padding:9px}.route-row{color:var(--text-muted);justify-content:space-between;gap:12px;padding:7px 0;font-size:12px}.route-row code{color:#c8dfe7;font-family:var(--mono);background:#151b20;border-radius:5px;padding:3px 6px;font-size:10px}.approval-actions,.job-feed{gap:8px;display:grid}.job-row{background:#14191e;border-radius:7px;align-items:flex-start;gap:8px;padding:9px}.job-row svg{color:var(--accent);margin-top:2px}.job-row.error svg,.job-row.error strong{color:#f2a6a6}.job-row div{gap:3px;display:grid}.job-row strong{color:var(--text-strong);font-size:12px}.job-row span{color:var(--text-muted);font-size:11px;line-height:1.35}.primary-button,.secondary-button,.icon-button{cursor:pointer;font:650 12px/1 var(--sans);border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:34px;display:inline-flex}.primary-button{color:#061216;background:var(--accent);border-color:#ffffff1f;padding:0 13px}.primary-button.warm{background:#f0c78a}.primary-button.muted,.secondary-button{color:var(--text-strong);background:#161c21;border-color:#2b343c}.secondary-button{padding:0 12px}.primary-button.full,.secondary-button.full{width:100%}.primary-button:disabled{cursor:not-allowed;opacity:.42}.icon-button{width:34px;height:34px;color:var(--text);background:#151a1f;border-color:#2a323a}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1180px){.studio-shell{grid-template-columns:236px minmax(0,1fr)}.inspector{border-left:0;border-top:1px solid var(--line);grid-area:auto/1/auto/-1;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.inspector-header,.approval-actions,.job-feed{grid-column:1/-1}}@media (width<=860px){.studio-shell{grid-template-rows:auto auto auto auto;grid-template-columns:1fr}.topbar,.subject-rail,.workspace,.inspector{grid-area:auto/1}.topbar{flex-direction:column;align-items:flex-start;gap:12px;padding:14px}.subject-rail{border-right:0;max-height:260px}.canvas-grid{grid-template-columns:1fr;grid-auto-rows:minmax(340px,52vh)}.action-strip{flex-direction:column;align-items:stretch}.command-buttons{flex-wrap:wrap}.inspector{grid-template-columns:1fr}}
