:root{color-scheme:dark;--bg:#101722;--surface:#182231;--surface2:#202d3e;--border:#334254;--text:#eef3f9;--muted:#a6b4c7;--blue:#76b9ff;--amber:#e1b575;--red:#ffacac;--green:#9ad9be;font-family:'Segoe UI Variable','Segoe UI',sans-serif;font-size:15px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button,a,input,textarea,select{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--blue)}button,.button{border:1px solid var(--border);border-radius:7px;background:var(--surface2);color:var(--text);padding:10px 15px;cursor:pointer;text-decoration:none;display:inline-flex;gap:7px;align-items:center;justify-content:center;line-height:1.4;font-weight:600;transition:background .16s,border-color .16s}button:hover,.button:hover{background:#2a3d53;border-color:#62809f}button:disabled{opacity:.4;cursor:default}.primary{background:var(--blue);border-color:var(--blue);color:#102235}.primary:hover{background:#99cbff}.subtle{background:none;border-color:transparent}.danger{color:var(--red)}a{color:var(--blue)}a:hover{text-decoration:none}h1,h2,h3,h4,p{margin-top:0}h1,h2{font-family:Bahnschrift,'Segoe UI',sans-serif;font-weight:600;letter-spacing:-.025em}h1{font-size:34px;line-height:1.2;margin-bottom:10px}h2{font-size:27px;line-height:1.25}h3{font-size:17px;letter-spacing:-.01em;margin-bottom:18px}h4{font-size:14px;margin-bottom:8px}p{line-height:1.7;color:var(--muted)}small{color:var(--muted);line-height:1.6}.eyebrow{font-size:10px;letter-spacing:.19em;color:var(--amber);font-weight:700;margin-bottom:14px}.row{display:flex;align-items:center;gap:12px}.spread{justify-content:space-between}.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:14px 0}.compact{margin:0;gap:5px}.compact button{padding:5px 11px}.badge{font-size:11px;font-weight:600;color:var(--muted);padding:6px 10px;border:1px solid var(--border);border-radius:20px;white-space:nowrap}.badge.done{color:var(--green);border-color:#466b61}.hint{font-size:12px;line-height:1.7;margin-bottom:0}.callout{background:#243249;border-left:3px solid var(--blue);padding:14px 16px;font-size:13px;line-height:1.6;color:#c4d9ee;margin:18px 0}.warning{color:var(--red);background:#332834;border-left:3px solid var(--red);padding:12px;font-size:13px}.help-button{display:inline-grid;place-items:center;flex:0 0 auto;width:28px;height:28px;padding:0;border-radius:50%;font-size:14px;font-family:'Segoe UI',sans-serif;color:var(--blue);background:transparent;border-color:#537398;vertical-align:middle}.help-button:hover{background:#284365}h1 .help-button{margin-left:9px}h3 .help-button{width:24px;height:24px;margin-left:5px}.dot{width:7px;height:7px;border-radius:50%;background:var(--green);display:inline-block;flex:0 0 auto}
.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-family:Bahnschrift,'Segoe UI',sans-serif;font-weight:600}.brand small{display:block;font-family:'Segoe UI',sans-serif;font-size:8px;letter-spacing:.15em;margin-top:4px}.brand .help-button{margin-left:auto}.logo{font-size:31px;border:1px solid #587699;border-radius:8px;width:48px;height:48px;position:relative;display:grid;place-items:center;color:var(--blue);background:#22334a;font-weight:700}.logo span{font-size:12px;position:absolute;right:6px;bottom:4px;color:var(--amber)}.home{max-width:1230px;margin:auto;padding:38px 45px}.home .brand{border-bottom:1px solid var(--border);padding-bottom:24px}.intro{display:grid;grid-template-columns:1.35fr 1fr;gap:80px;align-items:center;padding:65px 0 55px}.intro h1{font-size:clamp(42px,4.5vw,63px);line-height:1.1;margin-bottom:24px}.intro h1 span{color:var(--blue)}.intro p{font-size:15px}.intro .eyebrow{font-size:10px}.intro-board{border:1px solid #526276;border-radius:9px;background:var(--surface);transform:rotate(-1.5deg);box-shadow:12px 18px 0 #0d131d;overflow:hidden}.board-top{padding:20px;border-bottom:1px solid var(--border);font:10px Consolas,monospace;letter-spacing:.12em;display:flex;justify-content:space-between;color:var(--amber)}.board-line{display:flex;align-items:center;gap:17px;border-bottom:1px solid var(--border);padding:17px 22px}.board-line b{font:12px Consolas,monospace;color:var(--muted)}.board-line i{margin-left:auto;font-size:20px;color:var(--blue);font-style:normal}.board-line span{font-size:16px}.board-bottom{padding:19px 22px;color:var(--muted);font-size:11px}.projects{padding-top:20px}.projects>.row{margin-bottom:20px}.projects h2{font-size:23px;margin:0}.projects>.row>span{font-size:12px;color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-item{display:flex;flex-direction:column;gap:4px;min-width:0}.project-item .project-card{flex:1}.project-item>.danger,.export-item .danger,.asset-caption .danger{font-size:11px;align-self:start;padding:4px 8px}
.project-card{display:block;text-align:left;padding:22px;background:var(--surface);min-width:0}.project-mark{display:flex;justify-content:space-between;font-size:25px;color:var(--blue);margin-bottom:20px}.project-mark span{font-size:11px;align-self:center;color:var(--muted)}.project-card h3{margin:0 0 10px;font-size:21px}.project-card p{font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:40px}.project-card small{font-size:11px}.empty-projects{padding:38px;text-align:center;border:1px dashed var(--border);color:var(--muted);border-radius:9px}.home footer{margin-top:55px;border-top:1px solid var(--border);padding-top:20px;color:var(--muted);font-size:11px}
.studio{display:flex;min-height:100vh}.sidebar{width:235px;flex:0 0 235px;border-right:1px solid var(--border);background:#131d2a;position:fixed;top:0;bottom:0;padding:27px 14px 20px;display:flex;flex-direction:column;overflow:auto}.brand.small{padding:0 8px 24px;border:0;background:none;font-size:18px;justify-content:flex-start;text-align:left;border-radius:0}.small .logo{width:38px;height:40px;font-size:27px}.sidebar-label{padding:0 12px;margin:6px 0 15px;font-size:9px;letter-spacing:.15em}.step{width:100%;margin:3px 0;background:none;border:1px solid transparent;justify-content:flex-start;text-align:left;padding:12px 10px;font-size:12px;font-weight:500;color:var(--muted);gap:11px}.step-number{font:11px Consolas,monospace;width:20px;color:#7b91aa}.step.active{color:var(--text);border-color:#45627f;background:#21344b}.step.active .step-number{color:var(--blue)}.sidebar-bottom{margin-top:auto;padding:32px 10px 0}.sidebar-bottom button{width:100%;font-size:12px;padding:9px}.free-label{display:flex;gap:8px;align-items:center;font-size:9px;color:var(--green);margin-bottom:13px}.sidebar-bottom small{display:block;font-size:10px;margin-top:13px}.workspace{margin-left:235px;flex:1;min-width:0}.topbar{padding:21px 35px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:15px;background:#141e2b}.topbar .eyebrow{font-size:8px;display:block;margin-bottom:5px}.topbar strong{font-size:15px}.save-status{font-size:10px;color:var(--muted)}.topbar button{font-size:11px;padding:8px 14px}.topbar .help-button{padding:0}.stage{padding:35px;max-width:1600px;margin:auto}.stage-heading{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:27px}.stage-heading>div>p:last-child{font-size:13px;margin-bottom:0}.stage-heading .eyebrow{margin-bottom:10px}.columns{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px;align-items:start}.panel{background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:23px;margin-bottom:22px;min-width:0}.columns>.panel{margin-bottom:0}.companion{border-top:3px solid var(--amber)}.companion h2{font-size:38px}.companion>p{font-size:13px}.companion>button{text-align:left;font-size:12px}.field{display:block;margin-bottom:17px;min-width:0}.field>span{display:block;color:#c3d0df;font-size:12px;font-weight:600;margin-bottom:8px}.field input:not([type=range]),.field textarea,.field select{width:100%;border:1px solid #45566c;border-radius:6px;background:#101c2b;color:var(--text);padding:11px 12px;line-height:1.45;min-width:0}.field input::placeholder,.field textarea::placeholder{color:#7c91a9}.field textarea{min-height:122px;resize:vertical}.field select{height:44px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.three-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.slider output{float:right;font:11px Consolas,monospace;color:var(--blue)}input[type=range]{width:100%;accent-color:var(--blue);cursor:pointer;margin:5px 0;height:18px}.check{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);padding-top:22px}input[type=checkbox]{accent-color:var(--blue);width:16px;height:16px}.upload{font-size:12px;position:relative;overflow:hidden}.upload input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.upload:focus-within{outline:2px solid var(--blue);outline-offset:3px}.asset-preview{margin-bottom:18px;border:1px solid #41536a;background:#0c1420;border-radius:6px;overflow:hidden}.asset-preview img,.asset-preview video{display:block;width:100%;max-height:400px;object-fit:contain}.asset-preview audio{width:100%;padding:15px}.asset-caption{padding:12px;font-size:11px;display:flex;gap:7px;flex-wrap:wrap;align-items:center}.asset-caption>span{width:100%;overflow-wrap:anywhere}.asset-caption small{font:10px Consolas,monospace}.asset-caption a{margin-left:auto}.empty-preview{min-height:210px;border:1px dashed #43536a;background:#121c2a;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;margin:12px 0 20px;border-radius:6px;color:var(--muted)}.empty-preview p{margin-bottom:5px;font-size:13px}.empty-preview small{font-size:10px}.frame-symbol{font-size:36px;color:#59748f;margin-bottom:10px}.prompt-box{padding:23px;border:1px solid var(--border);border-radius:9px;background:var(--surface);margin-bottom:22px}.panel .prompt-box{padding:18px;background:#141f2d}.prompt-box h3{font-size:14px;margin:0}.prompt-box>.row{margin-bottom:14px}.prompt-box>.row .badge{font-size:9px}.prompt-box textarea{display:block;width:100%;min-height:210px;resize:vertical;border:1px solid #415870;border-radius:6px;background:#101b2a;color:#d2e2f3;font:12px/1.7 Consolas,monospace;padding:15px}.prompt-box .button,.prompt-box button{font-size:11px;padding:9px 12px}.stage-footer{display:flex;justify-content:space-between;border-top:1px solid var(--border);padding-top:25px;margin-top:32px}.stage-footer button{font-size:12px}.studio-footer{border-top:1px solid var(--border);padding:17px 35px;font-size:10px;color:var(--muted)}
.filmstrip{display:flex;gap:12px;overflow:auto;padding-bottom:18px;margin-bottom:12px}.scene-tab{display:grid;grid-template-columns:25px 1fr;gap:5px 9px;flex:0 0 175px;text-align:left;background:var(--surface);padding:13px}.scene-tab span{grid-row:span 2;font:14px Consolas,monospace;color:var(--amber)}.scene-tab b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scene-tab small{font-size:9px}.scene-tab.selected{border-color:var(--blue);background:#263c54}.add-scene{min-width:145px;font-size:12px;border-style:dashed;background:none}.references{padding:16px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:12px 0 18px}.references label{display:flex;gap:8px;align-items:center;padding:7px 0;color:var(--muted);font-size:11px}.references img{width:42px;height:28px;object-fit:cover;border-radius:3px}.references .hint{margin:8px 0}.mixer-toolbar .field{margin:0;width:100px}.mixer-toolbar .field input{padding:7px 9px}.mixer-toolbar h3{margin-bottom:6px}.mixer-toolbar .actions{margin:0}.mixer-toolbar>.row{gap:20px;flex-wrap:wrap}.meter-row{display:flex;align-items:center;gap:9px;margin-top:18px;border-top:1px solid var(--border);padding-top:12px;font:10px Consolas,monospace;color:var(--muted)}.mixer-columns{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}.preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:28px}.preset{font-size:12px;min-height:65px;text-align:left;justify-content:flex-start;border-color:#5b5c58;background:#2c3035;color:#eed5b2}.sound-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}.sound-grid button{font-size:11px;justify-content:flex-start;padding:10px}.details{border-top:1px solid var(--border);margin-top:22px;padding-top:17px;font-size:12px}.details summary{cursor:pointer;color:var(--blue);margin-bottom:17px}.details .prompt-box{padding:12px}.rack>.row{margin-bottom:20px}.rack>.row h3{margin:0}.rack>.row span{color:var(--muted);font:11px Consolas,monospace}.layer{border:1px solid #3b5169;background:#142130;border-radius:6px;padding:17px;margin:12px 0}.layer>.row b{font-size:12px}.layer>.row small{display:block;font-size:9px}.layer-buttons{display:flex;gap:5px}.layer-buttons button{font-size:9px;padding:5px 8px}.layer-buttons button.on{background:#33587c;border-color:var(--blue)}.layer .slider{margin:18px 0 12px}.layer .three-fields .field{margin:0}.layer .three-fields input{padding:7px;font-size:11px}.layer.muted{border-color:#354254}.preview-monitor{position:relative;background:#070b10;min-height:260px;display:grid;place-items:center;border:1px solid var(--border);border-radius:6px;overflow:hidden}.preview-monitor video{display:block;width:100%;max-height:380px;min-height:250px}.monitor-tag{position:absolute;top:14px;left:14px;font:8px Consolas,monospace;letter-spacing:.12em;color:#e1e9f5;background:#0a142599;padding:5px 8px;pointer-events:none}.timeline-transport{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:18px 0}.timeline-transport button{font-size:11px;padding:8px 12px}.timeline-transport span{margin-left:auto;font:11px Consolas,monospace;color:var(--amber)}.timeline-strip{display:flex;overflow:auto;border:1px solid #526980;border-radius:5px}.timeline-strip>div{min-width:100px;flex:1;padding:13px;background:#29425c;border-right:1px solid #526980;display:flex;flex-direction:column;gap:5px}.timeline-strip b{font:11px Consolas,monospace;color:var(--blue)}.timeline-strip span{font-size:11px}.timeline-strip small{font:10px Consolas,monospace;color:#bfd1e5}.audio-track{padding:11px 14px;margin-top:8px;background:#2b3f3e;border-left:3px solid #90bbac;font-size:10px;color:#c6e2d9;display:flex;justify-content:space-between;gap:12px}.audio-track.effects{background:#3b3530;border-color:var(--amber);color:#e6cdaa}.cut-card{padding:15px 0;border-bottom:1px solid var(--border);margin-bottom:18px}.cut-card>.row{margin-bottom:17px}.cut-card b{font-size:12px}.cut-card .field{margin-bottom:13px}.cut-card .field input{font-size:11px}.export-panel h2{font-size:37px;line-height:1.2}.export-stats{display:flex;gap:25px;margin:25px 0;font-size:10px;color:var(--muted)}.export-stats strong{display:block;font:23px Bahnschrift,sans-serif;color:var(--text);margin-bottom:5px}.export-item{border-bottom:1px solid var(--border);padding:0 0 24px;margin-bottom:24px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px}.export-item b{font-size:13px;overflow-wrap:anywhere}.export-item small{display:block;font-size:10px;margin-top:6px}.export-item video,.export-item audio{width:100%;max-height:280px}.export-item .button{font-size:11px;align-self:start}.export-panel h3{margin-top:28px}#export-progress{color:var(--blue);font-size:12px;min-height:24px;margin-top:18px}
dialog{max-width:680px;width:calc(100% - 36px);max-height:86vh;border:1px solid #607a97;border-radius:12px;background:#182534;color:var(--text);padding:28px 34px;box-shadow:0 30px 90px #0008}dialog::backdrop{background:#060c16c9;backdrop-filter:blur(4px)}dialog h2{font-size:30px}dialog h3{font-size:16px;margin:25px 0 8px}dialog p{font-size:13px}dialog ol{padding-left:21px;color:#cddaea;font-size:13px;line-height:1.7}dialog li{padding:6px 0 6px 8px}dialog li::marker{color:var(--amber);font-family:Consolas,monospace}.help-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.help-head p{margin:0}.help-head button{padding:3px 9px;font-size:20px;background:none}.help-example{background:#233950;border-left:3px solid var(--blue);padding:16px 18px;margin:22px 0}.help-example b{font-size:11px;color:var(--blue)}.help-example p{margin:7px 0 0;color:#c5d8eb}dialog .actions .button{font-size:11px}.help-head~.field{margin-top:22px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:60;max-width:min(650px,90vw);padding:14px 22px;background:#2a435b;color:var(--text);border:1px solid #7694b0;border-radius:8px;font-size:13px;box-shadow:0 8px 30px #0007;transition:opacity .2s,transform .2s}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1600px){.stage{padding:45px 55px}.columns{gap:30px}.panel{padding:28px}}@media(max-width:1150px){.sidebar{width:210px;flex-basis:210px}.workspace{margin-left:210px}.stage{padding:25px}.columns{grid-template-columns:1fr}.columns>.panel{margin-bottom:0}.mixer-columns{grid-template-columns:.85fr 1.15fr}.mixer-toolbar .actions{margin-top:10px}.intro{gap:40px}.intro h1{font-size:46px}.home{padding:30px}.stage-heading h1{font-size:29px}.topbar{padding:18px 25px}.save-status{max-width:120px;text-align:right}.panel{padding:20px}}@media(max-width:800px){.studio{display:block}.sidebar{position:relative;width:100%;padding:15px;display:block;border-right:0;border-bottom:1px solid var(--border)}.brand.small{padding-bottom:12px}.sidebar-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;overflow:auto;gap:6px}.step{flex:0 0 auto;width:auto;margin:0;padding:10px;font-size:11px}.step-number{width:auto}.workspace{margin-left:0}.topbar{padding:15px 20px}.stage{padding:24px 18px}.mixer-columns{grid-template-columns:1fr}.stage-heading{align-items:start}.stage-heading h1{font-size:27px}.stage-heading .badge{display:none}.save-status{max-width:96px;font-size:9px;line-height:1.25}.intro{grid-template-columns:1fr;padding:42px 0;gap:35px}.intro h1{font-size:43px}.intro-board{transform:none}.project-grid{grid-template-columns:1fr 1fr}.home{padding:24px}.brand{font-size:18px}.studio-footer{padding:18px}.intro p br{display:none}.three-fields{gap:8px}.three-fields .field>span{font-size:10px}}@media(max-width:480px){.project-grid{grid-template-columns:1fr}.projects>.row>span{display:none}.two-fields{grid-template-columns:1fr}.three-fields{grid-template-columns:1fr 1fr}.layer .three-fields{grid-template-columns:1fr 1fr 1fr}.layer>.row{flex-wrap:wrap}.panel{padding:17px}.stage-heading h1{font-size:24px}.stage-heading .eyebrow{font-size:9px}.stage-footer button{padding:10px;font-size:11px}dialog{padding:23px}.intro h1{font-size:38px}.sound-grid button{font-size:10px}.export-stats{gap:20px}.prompt-box{padding:17px}.prompt-box>.row{flex-wrap:wrap}.mixer-toolbar .actions .field{width:80px}.timeline-transport span{margin-left:0;width:100%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.sound-grid{display:block}.sound-category h4{font-size:11px;color:var(--amber);margin:18px 0 9px}.sound-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}

.recovery{position:fixed;z-index:50;bottom:24px;left:50%;transform:translateX(-50%);width:min(700px,calc(100% - 32px));padding:20px;background:#fff5d6;color:#342b16;border:2px solid #b98e30;border-radius:12px;box-shadow:0 8px 40px #0004}.recovery[hidden]{display:none}.recovery p{margin:8px 0 12px}.recovery button,.recovery a{margin:4px}button[aria-busy="true"]{opacity:.65;cursor:wait}
/* QA-017: the recovery banner sits at the bottom, so while it is open the notices move to the top instead of hiding under it. */
body:has(#recovery:not([hidden])) #toast{top:24px;bottom:auto}

.account-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:flex-end;margin:0 0 24px}.account-bar.compact{margin:0}.account-email{font-size:12px;color:var(--muted);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.balance{font-size:13px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;font-variant-numeric:tabular-nums}.balance b{color:var(--amber)}.cost{font-size:12px;color:var(--muted);margin:8px 0 0}.cost b{color:var(--amber);font-variant-numeric:tabular-nums}.login .intro .hint{margin-top:22px;max-width:520px;color:var(--muted);font-size:13px}
