.scene-builder{width:min(1500px,97vw);max-width:97vw;height:95dvh;max-height:95dvh}.scene-builder .builder-body{padding:12px 20px}.moment-workspace{display:grid;grid-template-columns:180px minmax(290px,1fr) minmax(300px,1.1fr);gap:24px;align-items:start}.moment-rail{position:sticky;top:0}.moment-rail p,.moment-display>p{font-size:12px;color:#b5c7c1;line-height:1.5}.moment-rail button{width:100%;text-align:left;margin:3px 0;white-space:normal}.moment-rail [aria-pressed=true]{background:#acd2c7;color:#102023;border-color:#acd2c7}.moment-editor .builder-card{margin:0;padding:0;border:0}.moment-editor textarea[data-prop=notes]{min-height:190px}.moment-display{position:sticky;top:0}.moment-display .scene-stage{width:100%;border:1px solid #52716d;border-radius:8px}.moment-display audio{width:100%;margin:10px 0}.scene-builder summary{cursor:pointer;font-weight:600}.scene-overview{margin-bottom:18px}.scene-builder .slot-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.scene-builder small{line-height:1.5}.scene-builder .moment-display h3,.scene-builder .moment-rail h3{margin-top:0}.moment-display>button{margin:16px 0 4px}.workspace-media .asset-thumb{width:85px;margin:5px}.workspace-media .asset-thumb img{height:55px}.empty-moment{padding:24px;border:1px dashed #52716d}.scene-builder [data-preview]{display:none}@media(max-width:1000px){.moment-workspace{grid-template-columns:150px minmax(0,1fr)}.moment-display{grid-column:2;position:static}.moment-rail{grid-row:1/3}}@media(max-width:650px){.moment-workspace{display:block}.moment-rail{position:static;margin-bottom:20px}#moment-choices{display:flex;gap:6px;overflow:auto}#moment-choices button{min-width:130px}.moment-display{margin-top:24px}}

.scene-builder{width:min(1100px,95vw);max-width:95vw;height:90dvh;max-height:90dvh;padding:0;border:1px solid #52716d;border-radius:12px;background:#122326;color:#e5eee7}.scene-builder form{display:flex;flex-direction:column;height:100%;margin:0}.scene-builder header,.scene-builder footer{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:16px 24px;flex-shrink:0;background:#102023}.scene-builder header h2{margin:4px 0}.scene-builder nav{padding:8px 24px;border-block:1px solid #3c5554;display:flex;gap:10px}.scene-builder nav [aria-pressed=true]{background:#acd2c7;color:#102023}.builder-body{flex:1;overflow:auto;padding:20px 24px}.scene-builder label{display:grid;gap:6px;margin:12px 0;font-size:14px}.scene-builder label small{font-size:12px;color:#b5c7c1;font-weight:400}.scene-builder textarea{min-height:85px;width:100%;box-sizing:border-box}.scene-builder input,.scene-builder select{max-width:100%;padding:10px}.scene-builder details{border-top:1px solid #3c5554;padding:15px 0}.scene-builder pre{white-space:pre-wrap}.builder-card{border:1px solid #3c5554;border-radius:8px;padding:16px;margin:16px 0}.slot-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.asset-thumb{display:inline-flex;flex-direction:column;vertical-align:top;width:130px;gap:5px;margin:10px;font-size:11px}.asset-thumb img{height:80px;object-fit:contain}.asset-thumb audio{width:130px}.scene-stage{position:relative;isolation:isolate;aspect-ratio:16/9;overflow:hidden;background:#071115;display:flex;align-items:center;justify-content:center;min-height:150px;color:#e4ece7}.scene-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}.scene-windows{position:absolute;inset:15% 4% 8%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:3%}.scene-window{min-height:0;display:flex;align-items:center;justify-content:center}.scene-window:has(img){background:#09151833;border-radius:8px}.scene-window img{max-width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 6px #0008)}.scene-caption{position:absolute;bottom:2%;left:3%;right:3%;background:#071115d9;padding:8px 16px}.scene-caption h2,.scene-caption p{margin:3px 0;white-space:pre-wrap}.legacy-image{max-width:100%;max-height:90%;object-fit:contain}body:has(#stage){margin:0;padding:0;overflow:hidden}#stage.scene-stage{width:100vw;height:100dvh;max-width:none;margin:0;padding:0;aspect-ratio:auto}[hidden]{display:none!important}@media(max-width:650px){.scene-builder nav{gap:4px;padding:8px}.scene-builder nav button{font-size:12px;padding:8px}.builder-body{padding:14px}.slot-fields{grid-template-columns:repeat(2,1fr)}.scene-builder footer{padding:12px}.scene-builder footer span{font-size:11px}}
.scene-builder #moment-choices{max-height:49dvh;overflow:auto}.scene-builder .moment-rail{padding-right:8px}.scene-builder .moment-display>p{margin-bottom:16px}
.scene-windows.single-portrait{display:flex;justify-content:center;inset:5% 4% 2%}.single-portrait .scene-window:empty{display:none}.single-portrait .scene-window{width:55%;height:100%;background:transparent}.scene-builder .overlay-help{display:block;color:#b5c7c1;font-size:12px;margin:10px 0 16px}.scene-caption{max-height:55%;overflow:auto}
.scene-windows.scaled-portraits{display:block;inset:0;overflow:hidden}.scaled-portraits>img{position:absolute;width:auto!important;max-width:none!important;max-height:none!important;object-fit:contain;transform:translateX(-50%);filter:drop-shadow(0 4px 6px #0008)}.scene-builder .portrait-control{min-width:0;border:1px solid #3c5554;border-radius:8px;padding:10px}.scene-builder .portrait-control small{font-size:11px;color:#b5c7c1}.scene-builder .portrait-control input{width:100%;box-sizing:border-box}
.scene-builder .portrait-control select{width:100%;min-width:0;box-sizing:border-box}.scene-builder .portrait-control label{min-width:0}
.scaled-portraits>img.portrait-backed{background:radial-gradient(ellipse closest-side at center,rgba(0,0,0,.33) 0%,rgba(0,0,0,.30) 35%,rgba(0,0,0,.16) 65%,rgba(0,0,0,0) 100%);border-radius:0;box-shadow:none}.scaled-portraits>img[role=button]{cursor:pointer}.scaled-portraits>img[role=button]:focus-visible{outline:2px solid #e6b267;outline-offset:3px}.preview-tip{font-size:12px;color:#b5c7c1}.quick-buttons{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 16px}.quick-buttons button{font-size:12px;padding:7px 10px;max-width:100%;overflow-wrap:anywhere}.player-formatted-text{line-height:1.45;font-size:clamp(12px,1.2vw,20px)}.scene-caption .player-formatted-text h2,.scene-caption .player-formatted-text h3,.scene-caption .player-formatted-text h4,.scene-caption .player-formatted-text h5,.scene-caption .player-formatted-text h6{font-size:1.12em;margin:.6em 0 .3em;white-space:normal}.scene-caption .player-formatted-text p{margin:.45em 0;white-space:normal}.player-formatted-text ul,.player-formatted-text ol{padding-left:1.5em;margin:.4em 0}.player-formatted-text li{margin:.2em 0}.player-formatted-text hr{border:0;border-top:1px solid #75908b;margin:.8em 0}
.scene-caption{top:0;bottom:auto;left:0;right:0;height:25%;max-height:25%;padding:0;box-sizing:border-box;overflow:hidden;z-index:2}.caption-viewport{height:100%;box-sizing:border-box;overflow:hidden;padding:10px 20px}.caption-scroll-track{will-change:transform}.caption-copy{display:flow-root}.caption-copy>:first-child{margin-top:0}
.caption-viewport{padding:0}.caption-copy{padding:10px 20px;box-sizing:border-box}
.scene-windows.scaled-portraits{isolation:isolate;z-index:1}.scaled-portraits>img[role=button]{touch-action:none;user-select:none;cursor:grab}.scaled-portraits>img[role=button]:active{cursor:grabbing}


#moment-choices button{touch-action:none;cursor:grab;user-select:none}#moment-choices button:active{cursor:grabbing}#moment-choices .moment-dragging{opacity:.5}#moment-choices .drop-before{box-shadow:inset 0 3px #e6b267}#moment-choices .drop-after{box-shadow:inset 0 -3px #e6b267}

.scene-builder{position:relative}.portrait-control-actions{display:flex;flex-wrap:wrap;gap:6px}.portrait-control-actions button{flex:1 1 100px}.portrait-adjuster{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;background:#102023;color:#e5eee7;border-radius:12px}.portrait-adjuster header{border-bottom:1px solid #3c5554}.portrait-adjuster-body{min-height:0;flex:1;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,340px);gap:20px;padding:20px;overflow:auto}.portrait-adjuster-canvas{min-width:0;align-self:start;position:sticky;top:0}.portrait-adjuster-preview{width:100%;min-height:260px;border:1px solid #64857d;border-radius:10px}.portrait-adjuster-canvas>p{font-size:12px;color:#b5c7c1}.portrait-adjuster-controls{min-width:0;overflow:auto;padding-right:4px}.portrait-adjuster-controls>p{font-size:13px;color:#b5c7c1;margin:0 0 12px}.portrait-adjuster-controls .adjust-label{display:flex;justify-content:space-between;margin:18px 0 4px}.portrait-adjuster-controls output{font-variant-numeric:tabular-nums;color:#e6b267}.portrait-adjuster-controls .adjust-row{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:8px}.portrait-adjuster-controls .adjust-row input{width:100%;padding:0;accent-color:#acd2c7}.portrait-adjuster-controls .adjust-row button{padding:6px 0;font-size:18px}.portrait-adjuster-controls details{margin-top:22px}.portrait-adjuster-controls .adjust-check{display:flex;align-items:center;gap:8px}.portrait-adjuster-controls .adjust-check input{width:auto}.portrait-adjuster-controls small{display:block;color:#b5c7c1;font-size:12px}.portrait-adjuster-actions{display:flex;gap:8px;margin:22px 0 8px}.portrait-adjuster-actions button{flex:1}.portrait-adjuster-preview .scaled-portraits>img[role=button]{outline-offset:1px}@media(max-width:850px){.portrait-adjuster-body{grid-template-columns:1fr;gap:8px}.portrait-adjuster-canvas{position:static}.portrait-adjuster-preview{min-height:180px}.portrait-adjuster-controls{overflow:visible}}@media(max-width:550px){.portrait-adjuster-body{padding:10px}.portrait-adjuster-preview{min-height:140px}.portrait-adjuster header{padding:10px 14px}.portrait-adjuster header h2{font-size:17px}.portrait-adjuster-controls .adjust-label{margin-top:12px}}

.scene-builder .moment-rail{z-index:5;background:#122326}.scene-builder .moment-rail [data-remove-selected-moment]{margin-top:10px;border-color:#a57869}.scene-builder .moment-rail [data-remove-selected-moment]:disabled{opacity:.5}@media(max-width:650px){.scene-builder .moment-rail{position:sticky;top:0;padding:8px 0 12px;border-bottom:1px solid #3c5554}.scene-builder #moment-choices{max-height:none}}
.workspace-sound{border:1px solid var(--line,#40565b);border-radius:12px;padding:.75rem;margin-top:1rem;background:rgba(9,24,27,.72)}
.workspace-sound>summary{font-weight:800;cursor:pointer}
.sound-track-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1rem 0}
.sound-effect-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.sound-slot{display:grid;gap:.55rem;padding:.8rem;border:1px solid color-mix(in srgb,var(--accent,#d6aa58) 38%,var(--line,#40565b));border-radius:10px;background:rgba(15,34,38,.9)}
.sound-slot small{color:var(--accent,#e5b85c);font-weight:900;letter-spacing:.08em}
.sound-slot label{display:grid;gap:.25rem}
.sound-slot input[type="range"]{width:100%}
.sound-settings{display:flex;gap:.65rem;flex-wrap:wrap;align-items:end}
.sound-settings label{display:flex;gap:.35rem;align-items:center;font-size:.88rem}
.sound-settings input[type="number"]{width:5rem}
.sound-slot-actions{display:flex;gap:.45rem}
@media(max-width:1050px){.sound-track-grid{grid-template-columns:1fr}.sound-effect-grid{grid-template-columns:1fr}}

/* Focused Scene Creator workflow */
.scene-builder{width:min(1780px,99vw);max-width:99vw;height:98dvh;max-height:98dvh;border-color:#496662;box-shadow:0 28px 90px #000b}
.scene-builder>form>header{padding:14px 22px;border-bottom:1px solid #38514f;background:linear-gradient(135deg,#102326,#0c191c)}
.scene-builder>form>header small,.workspace-heading small,.workspace-sound-summary small,.sound-board-intro small{color:#e2b55f;font-weight:800;letter-spacing:.12em}
.scene-builder>form>footer{position:relative;z-index:12;border-top:1px solid #38514f;box-shadow:0 -12px 26px #07111588}
.scene-builder>form>footer button[type=submit]{min-width:150px;background:#d9ad5e;color:#102023;border-color:#efca86;font-weight:800}
.scene-builder .builder-body{padding:14px 18px 24px;background:linear-gradient(180deg,#102023,#0b171a)}
.scene-overview{padding:0 14px;border:1px solid #314947!important;border-radius:10px;background:#12272a}
.scene-overview>summary{padding:13px 0}
.moment-workspace{grid-template-columns:210px minmax(420px,1fr) minmax(460px,1.25fr);gap:18px}
.moment-rail,.moment-editor,.moment-display{min-width:0}
.moment-rail{top:0;padding:14px!important;border:1px solid #314947;border-radius:12px;background:#102326!important;box-shadow:0 8px 24px #0003}
.moment-rail h3{font-size:15px;text-transform:uppercase;letter-spacing:.08em;color:#dce9e3}
.moment-rail p{margin:0 0 12px}
.moment-rail button{padding:9px 10px;border-color:#405c58;background:#152c2f}
.moment-rail [aria-pressed=true]{background:#d9ad5e;color:#112124;border-color:#f0ca82;box-shadow:inset 4px 0 #fff2cf}
.moment-editor>.builder-card{padding:16px!important;border:1px solid #314947!important;border-radius:12px!important;background:#13282b;box-shadow:0 8px 24px #0003}
.moment-editor>.builder-card>h3{margin:22px 0 8px;padding-top:18px;border-top:1px solid #38514f;font-size:15px;text-transform:uppercase;letter-spacing:.08em;color:#e2b55f}
.moment-editor textarea[data-prop=notes]{min-height:150px}
.moment-editor .portrait-options{margin:8px 0;padding:0 12px;border:1px solid #38514f;border-radius:9px;background:#0f2225}
.moment-editor .portrait-options>summary{padding:12px 0}
.moment-display{top:0;padding:14px;border:1px solid #314947;border-radius:12px;background:#102326;box-shadow:0 8px 24px #0003}
.workspace-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}
.workspace-heading h3{margin:3px 0 0!important;font-size:19px}
.privacy-badge{padding:4px 9px;border:1px solid #4f6c68;border-radius:999px;color:#a8c8bf;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.moment-display .scene-stage{border-color:#627d77;box-shadow:0 12px 28px #0007}
.workspace-sound-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:14px;border:1px solid #806a3e;border-radius:10px;background:linear-gradient(135deg,#182c2b,#1b2924)}
.workspace-sound-summary h4{margin:4px 0;font-size:16px}
.workspace-sound-summary p{margin:0;color:#b8cbc5;font-size:12px}
.workspace-sound-summary button{flex:0 0 auto;width:auto;max-width:100%;border-color:#cda357;color:#f2ca7d}
.workspace-media,.moment-display>details{margin-top:12px;padding:0 12px!important;border:1px solid #314947!important;border-radius:9px;background:#0e2023}
.workspace-media>summary,.moment-display>details>summary{padding:12px 0}
.workspace-media #asset-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:12px 0}
.workspace-media .asset-thumb{display:grid;width:auto;min-width:0;margin:0;padding:8px;border:1px solid #38514f;border-radius:8px;background:#13282b}
.workspace-media .asset-thumb img{width:100%;height:72px;border-radius:5px;background:#081215}
.workspace-media .asset-thumb>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.asset-kind{display:grid;place-items:center;height:42px;border-radius:5px;background:#0a191c;color:#e2b55f;font-weight:900;letter-spacing:.12em}
.asset-missing,.asset-missing label{min-width:0;max-width:100%;overflow-wrap:anywhere}
.scene-builder input[data-relink-asset]{width:100%;min-width:0;box-sizing:border-box}
.asset-missing p{font-size:12px;line-height:1.5;white-space:normal}
.sound-board-drawer{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;border-radius:12px;background:#0c191c}
.sound-board-drawer>header{align-items:flex-start;border-bottom:1px solid #3b5552!important}
.sound-board-drawer>header h2{margin:3px 0}
.sound-board-drawer>header p{margin:4px 0 0;max-width:720px;color:#b8cbc5}
.sound-board-scroll{flex:1;min-height:0;overflow:auto;padding:20px 24px 32px}
.sound-board-intro{margin:4px 0 12px}
.sound-board-intro h3{margin:4px 0;font-size:20px}
.sound-board-intro p{margin:0;color:#b8cbc5}
.sound-board-intro:not(:first-child){margin-top:30px;padding-top:22px;border-top:1px solid #38514f}
.sound-track-grid{grid-template-columns:repeat(3,minmax(240px,1fr));gap:12px}
.sound-effect-grid{grid-template-columns:repeat(3,minmax(240px,1fr));gap:10px}
.sound-slot{padding:13px;border-color:#425d58;background:#112528}
.sound-slot>small{display:inline-flex;align-self:start;width:max-content;padding:4px 7px;border-radius:5px;background:#263729}
.sound-slot>label{margin:4px 0}
.sound-slot details{padding:8px 0 0;border-top:1px solid #344b48}
.sound-slot details>summary{font-size:12px;color:#b8cbc5}
.sound-slot-actions{margin-top:auto}
.sound-slot-actions button{flex:1}
@media(max-width:1120px){.moment-workspace{grid-template-columns:170px minmax(0,1fr)}.moment-display{grid-column:2;position:static}.moment-rail{grid-row:1/3}.sound-track-grid,.sound-effect-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}
@media(max-width:720px){.scene-builder{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.moment-workspace{display:block}.moment-rail{position:sticky;top:0;z-index:8;margin-bottom:12px}.moment-editor>.builder-card,.moment-display{padding:12px!important}.workspace-sound-summary{align-items:flex-start;flex-direction:column}.workspace-sound-summary button{width:100%}.sound-board-scroll{padding:14px}.sound-track-grid,.sound-effect-grid{grid-template-columns:1fr}.workspace-media #asset-list{grid-template-columns:1fr}}

/* Native file controls must shrink inside narrow preparation panels. */
.scene-builder .workspace-media label{min-width:0;grid-template-columns:minmax(0,1fr)}.scene-builder input[type=file]{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.scene-builder label{min-width:0;grid-template-columns:minmax(0,1fr)}.scene-builder select{width:100%;min-width:0;box-sizing:border-box}@media(max-width:720px){.scene-builder footer{flex-wrap:wrap}}

.scene-exit-choice{width:min(560px,90vw);height:fit-content;max-height:85dvh;padding:24px}.scene-exit-choice div{display:flex;flex-wrap:wrap;gap:10px}.scene-exit-choice [role=status]{color:#ffcabf}.scene-builder>form>header{gap:12px}
