:root{--bg:#101412;--panel:#191e1a;--line:#30372e;--text:#e8e5d9;--muted:#9a9e90;--gold:#d9bc79;--green:#b2c5a3}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 "Segoe UI",Arial,sans-serif}button,select,input{font:inherit}button,select{cursor:pointer}button{color:inherit;border:1px solid var(--line);background:transparent;border-radius:5px;padding:9px 14px;transition:background .18s,border-color .18s}button:hover{background:#30382e;border-color:#626852}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button:disabled{opacity:.4;cursor:wait}[hidden]{display:none!important}.topbar{height:86px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4%;gap:25px}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;color:var(--text);font-size:14px;letter-spacing:2px;font-weight:650}.brandmark{display:block;width:40px;height:40px;flex:none;object-fit:contain}.brand small{display:block;font-size:9px;letter-spacing:3.5px;color:var(--muted);margin-top:2px}nav{align-self:stretch;display:flex;gap:25px}.nav{border:0;border-radius:0;color:var(--muted);border-bottom:2px solid transparent;padding:0 2px}.nav.active{color:var(--gold);border-bottom-color:var(--gold)}.draft{font-size:10px;color:var(--gold);letter-spacing:1.4px;white-space:nowrap}i.live-dot,.draft i,.scene-chip i{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;margin-right:7px}.draft i{background:var(--gold)}main{max-width:1680px;margin:auto;padding:33px 4% 22px}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;gap:20px}.eyebrow,.section-label{font-size:10px;letter-spacing:2px;color:var(--gold);font-weight:600}.heading h1{font:38px/1.25 Georgia,serif;font-weight:400;margin:11px 0 6px}.heading h1 span{font:11px "Segoe UI",sans-serif;letter-spacing:1.5px;margin-left:20px;color:var(--muted);vertical-align:middle;padding:5px 8px;border:1px solid var(--line);border-radius:3px}.heading p{margin:0;color:var(--muted)}.secondary{font-size:12px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--panel)}.viewer-card{min-width:0}.viewer{position:relative;background:#211c17;aspect-ratio:1.84;min-height:330px;overflow:hidden}.viewer:fullscreen{aspect-ratio:auto;height:100vh;width:100vw}.viewer canvas{display:block;width:100%;height:100%;touch-action:none}#canvas-host{position:absolute;inset:0}.viewer:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 95px #0005}.viewer-top,.viewer-bottom{position:absolute;left:25px;right:25px;display:flex;justify-content:space-between;align-items:center;z-index:2;gap:15px}.viewer-top{top:22px;font-size:10px;letter-spacing:1px;text-shadow:0 1px 4px #000}.scene-chip{background:#10170fd9;padding:7px 10px;border:1px solid #88917733;border-radius:3px;color:#d0dcca}.scene-chip span{opacity:.6}.viewer-bottom{bottom:18px;color:#d5d3c2;font-size:10px;letter-spacing:1px;text-shadow:0 1px 4px #000}.viewer-bottom button{border:0;font-size:24px;padding:0 5px;background:#161a1677}.frame-mark{position:absolute;width:13px;height:13px;opacity:.3;z-index:2;pointer-events:none}.tl{left:18px;top:16px;border-top:1px solid white;border-left:1px solid white}.tr{right:18px;top:16px;border-top:1px solid white;border-right:1px solid white}.bl{left:18px;bottom:16px;border-bottom:1px solid white;border-left:1px solid white}.br{right:18px;bottom:16px;border-bottom:1px solid white;border-right:1px solid white}.scene-title{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:9%;background:linear-gradient(90deg,#111812dd,#11181005 85%);z-index:3;pointer-events:none}.scene-title>*{pointer-events:auto}.scene-title h2,.end-card h2{font:44px/1.15 Georgia,serif;margin:18px 0 10px;max-width:300px}.scene-title p{font-size:14px;color:#cfccbd;margin:0 0 25px}.primary{background:var(--gold);border-color:var(--gold);color:#1b2017;font-weight:600;font-size:12px;padding:12px 19px}.primary:hover{background:#edcf8d;border-color:#edcf8d}.transport{height:71px;padding:0 21px;display:flex;gap:13px;align-items:center;border-top:1px solid var(--line);font-size:11px;font-variant-numeric:tabular-nums}.play{width:36px;height:36px;padding:0;background:var(--gold);color:#182014;border-color:var(--gold);font-size:17px}.icon{padding:3px 5px;font-size:20px;border:0}.transport input{accent-color:var(--gold);flex:1;min-width:50px;height:4px;cursor:pointer}.transport select{background:transparent;border:0;color:var(--text);padding:4px;font-size:11px}.transport option{background:var(--panel)}.muted{color:var(--muted)}.shot-strip{display:grid;grid-template-columns:repeat(10,1fr);padding:0 18px 17px;gap:5px}.shot{min-width:0;border:1px solid var(--line);padding:9px 3px 7px;position:relative;text-align:left;border-radius:3px;background:#151a16;overflow:hidden}.shot:before{content:"";display:block;height:4px;background:#3e483b;position:absolute;top:0;left:0;right:0}.shot.active{border-color:var(--gold);background:#2c3023}.shot.active:before{background:var(--gold)}.shot span{display:block;font-size:9px;letter-spacing:.4px;padding-left:4px}.shot small{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);padding-left:4px}.sidebar{border-left:1px solid var(--line);padding:20px 22px}.aside-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.aside-title h2{font-size:15px;margin:0;font-weight:500}.aside-title>span{font-size:10px;color:var(--muted)}.side-section{border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:17px}.side-section.last{border:0;padding-bottom:0;margin-bottom:0}.section-label{color:var(--muted);font-size:9px;letter-spacing:1.6px}.beat-heading{display:flex;align-items:center;gap:10px;margin:12px 0 8px}.beat-heading>span{font:26px Georgia,serif;color:var(--gold)}h3{font-size:13px;font-weight:500;margin:0}.side-section p{color:var(--muted);font-size:11px;margin:7px 0 0;line-height:1.7}.camera-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px}.camera{font-size:10px;padding:8px 4px}.camera.selected{background:#363b2b;color:var(--gold);border-color:#7c7853}.entity{display:flex;align-items:center;gap:10px;margin-top:15px}.avatar{display:flex;align-items:center;justify-content:center;width:31px;height:31px;font:18px Georgia,serif;border-radius:50%;background:#633e36;color:#f1c6a2}.avatar.v{background:#343d3e;color:#b2c5c4}.entity b{font-size:11px;font-weight:500}.entity small{display:block;font-size:9px;color:var(--muted);max-width:200px}.entity i{margin-left:auto;margin-right:0!important;flex-shrink:0}.door-state{font-size:10px;margin-top:17px;color:var(--muted);display:flex;gap:5px;align-items:center}.tag{font-size:7px;color:var(--gold);margin-left:auto}.status-row{font-size:10px;display:flex;justify-content:space-between;margin-top:11px;gap:10px}.status-row span{color:var(--muted)}.status-row b{font-weight:500;text-align:right}.amber{color:var(--gold)!important}.green{color:var(--green)!important}.help{font-size:10px!important;line-height:1.6!important}.below{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:10px;margin:17px 0 0}.subtitle{position:absolute;bottom:49px;left:8%;right:8%;text-align:center;z-index:3;pointer-events:none;filter:drop-shadow(0 2px 3px #000)}.subtitle span{display:inline-block;color:#f6d18b;font-size:11px;letter-spacing:1.7px;font-weight:600;background:#101611dd;padding:4px 12px;border-radius:3px 3px 0 0}.subtitle p{font-size:18px;margin:0;background:#101611df;padding:12px 19px;border-radius:4px;display:none}.subtitle.has-line p{display:block}.subtitle:not(.has-line) span{display:none}.end-card{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#11160ee8;z-index:4}.end-card h2{max-width:500px;font-size:38px}.end-card p{color:var(--muted);margin:7px 0 22px}.loading{position:absolute;inset:0;display:grid;place-content:center;background:#131a13;z-index:10;text-align:center;padding:30px;color:var(--gold)}.dashboard-intro{display:flex;justify-content:space-between;align-items:center;gap:25px;margin:24px 0}.dashboard-intro h2{font:30px Georgia,serif;margin:12px 0}.dashboard-intro p{color:var(--muted);font-size:12px}.status-pill{font-size:10px;padding:8px 12px;border:1px solid #756747;color:var(--gold);border-radius:30px;white-space:nowrap}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:25px 0}.metric-grid article,.box{background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:25px}.metric-grid article>span{display:block;font:38px Georgia,serif;color:var(--gold);margin-bottom:12px}.metric-grid b{display:block;font-weight:500}.metric-grid small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.production-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.box h3{font:22px Georgia,serif;margin:0 0 18px}.box p{font-size:12px;color:var(--muted);line-height:1.9}.source-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);gap:20px;font-size:12px}.source-row b{font-weight:500}.source-row span{font-size:11px;color:var(--muted)}.checks{padding:0;list-style:none;margin:0 0 30px}.checks li{padding:8px 0;font-size:12px;color:var(--muted)}.checks li:before{content:"↗";color:var(--gold);margin-right:10px}.diagnostics{margin-top:20px}.script-beat{display:grid;grid-template-columns:80px 1fr 100px;gap:22px;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:24px;margin-bottom:12px}.script-beat>span{color:var(--gold);font-size:12px}.script-beat h3{font-size:17px}.script-beat p{font-size:13px;color:var(--muted)}.script-beat blockquote{margin:12px 0;padding:9px 15px;border-left:2px solid var(--gold);color:var(--text)}.script-beat button{font-size:11px;align-self:center}footer{border-top:1px solid var(--line);margin-top:24px;padding:22px 4%;display:flex;justify-content:space-between;color:#737c6e;font-size:9px;letter-spacing:1px}@media(min-width:1500px){.viewer{aspect-ratio:1.85}.sidebar{padding:25px}.side-section{padding-bottom:22px;margin-bottom:22px}}@media(max-width:1100px){main{padding-left:22px;padding-right:22px}.workspace{grid-template-columns:minmax(0,1fr) 255px}.sidebar{padding:17px 15px}.viewer{aspect-ratio:1.45}.scene-title h2{font-size:36px}.shot small{display:none}.shot span{font-size:8px}.topbar{padding:0 22px}.below{font-size:9px}}@media(max-width:800px){.topbar{height:auto;min-height:78px;flex-wrap:wrap;padding:15px 20px;gap:12px}.brand{font-size:11px}.brandmark{width:32px;height:32px}nav{order:3;width:100%;height:36px;justify-content:center;gap:35px;font-size:12px}.draft{font-size:8px}.heading h1{font-size:28px}.heading h1 span{display:none}.heading p{font-size:12px}.heading .secondary{font-size:10px;padding:8px}.eyebrow{font-size:8px}.workspace{grid-template-columns:1fr}.viewer{aspect-ratio:1.4;min-height:300px}.sidebar{border-top:1px solid var(--line);border-left:0;display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:22px}.aside-title{grid-column:1/-1;margin-bottom:0}.side-section{margin:0;padding-bottom:15px}.side-section.last{padding-bottom:15px}.scene-title{padding:10%}.scene-title h2{font-size:34px}.viewer-top{font-size:8px;left:20px;right:20px;top:17px}.scene-chip span{display:none}.transport{padding:0 12px;gap:9px}.shot-strip{gap:3px;padding:0 10px 12px}.shot span{font-size:7px;letter-spacing:0}.subtitle p{font-size:15px}.below{flex-direction:column;gap:7px}.metric-grid{grid-template-columns:1fr 1fr}.production-grid{grid-template-columns:1fr}.dashboard-intro{align-items:flex-start;flex-direction:column;gap:5px}.script-beat{grid-template-columns:50px 1fr;gap:13px;padding:16px}.script-beat button{grid-column:2;justify-self:start}.metric-grid article{padding:19px}.metric-grid b{font-size:12px}footer{font-size:8px;gap:20px}.end-card h2{font-size:30px}.end-card p{font-size:12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none!important}}

/* Speech clouds: paper, sage and terracotta from the room palette. */
.subtitle{position:absolute;inset:auto;left:24px;top:54px;bottom:auto;right:auto;width:max-content;max-width:min(470px,calc(100% - 28px));padding:15px 19px 17px;border:1px solid #c7a36d;border-radius:28px 31px 26px 18px;background:#eadcbc;color:#40382a;text-align:left;box-shadow:0 7px 20px #181d1833;pointer-events:none;z-index:3;transform:none;opacity:1;animation:cloud-breathe 5.6s ease-in-out infinite;will-change:left,top}
.subtitle[hidden],.subtitle:not(.has-line){display:none!important}.subtitle span{display:block;margin:0 0 6px;color:#775b31;font:700 10px/1.2 system-ui,sans-serif;letter-spacing:.10em}.subtitle p{display:block;background:none;border:0;padding:0;margin:0;border-radius:0;color:inherit;font-family:'Trebuchet MS',system-ui,sans-serif;font-size:calc(17px * var(--subtitle-scale,1));line-height:1.43;font-weight:500;white-space:normal}.subtitle[data-character="vakula"]{background:#d9dec3;border-color:#95a57c;color:#293b30;border-radius:30px 23px 17px 31px}.subtitle[data-character="vakula"] span{color:#506749}.subtitle[data-character="oksana"]{background:#f0dcc5;border-color:#c88e71;color:#50352e}.subtitle[data-character="oksana"] span{color:#985b43}.subtitle[data-character="narrator"]{background:#e7dfc8;border-color:#b8aa80;color:#464330;border-radius:22px 34px 29px 15px}.subtitle::after{content:'';position:absolute;width:16px;height:16px;background:inherit;border:inherit;transform:rotate(45deg);z-index:-1}.subtitle[data-tail="bottom"]::after{bottom:-8px;left:45%;border-left:0;border-top:0}.subtitle[data-tail="top"]::after{top:-8px;left:45%;border-right:0;border-bottom:0}.subtitle[data-tail="left"]::after{left:-8px;top:48%;border-right:0;border-top:0}.subtitle[data-tail="right"]::after{right:-8px;top:48%;border-left:0;border-bottom:0}.subtitle[data-tail="none"]::after{display:none}
@keyframes cloud-breathe{0%,100%{transform:translateY(0) rotate(-.12deg)}50%{transform:translateY(-1.7px) rotate(.12deg)}}
.reduced-motion .subtitle{animation:none!important;transform:none!important}@media(prefers-reduced-motion:reduce){.subtitle{animation:none!important;transform:none!important}}@media(max-width:600px){.subtitle{padding:11px 14px;max-width:calc(100% - 28px)}.subtitle p{font-size:calc(14px * var(--subtitle-scale,1));line-height:1.4}.subtitle span{font-size:9px}}

.scene-options .audio-option{display:flex;align-items:center;gap:6px;flex-direction:row;font-size:11px;white-space:nowrap}.audio-option input{accent-color:#b9ad74;width:14px;height:14px;margin:0}

.subtitle span{background:none;padding:0;border:0;border-radius:0;box-shadow:none;min-width:0}.subtitle::after{box-shadow:none}

/* Keep dialogue clouds in the lower-left safe area. */
.subtitle{left:16px;bottom:40px;top:auto;max-width:min(420px,calc(100% - 32px))}
.subtitle::after{display:none}
.background-audio summary{cursor:pointer}
.background-audio .audio-option{padding:6px 0}
#xr-enter[hidden]{display:none}
#xr-status:empty{display:none}

.vr-view-option[hidden]{display:none}

.talk-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0;color:#cfc5ab;font-size:.83rem}
.talk-controls[hidden],.conversation-panel[hidden]{display:none}
.talk-controls button,.conversation-panel button{background:#e8d9ba;color:#322b23;border:1px solid #bda472;border-radius:12px;padding:.55em .85em;font-weight:650}
.talk-controls button:disabled,.conversation-panel button:disabled{opacity:.55}
.conversation-panel{position:absolute;z-index:8;top:12px;right:12px;width:min(385px,calc(100% - 24px));max-height:calc(100% - 24px);overflow:auto;padding:14px;box-sizing:border-box;border:1px solid #ad9568;border-radius:18px;background:#24251f;color:#f6ecd5;box-shadow:0 12px 32px #12110db0;overscroll-behavior:contain}
.conversation-panel header,.conversation-panel form{display:flex;align-items:center;flex-wrap:wrap;gap:6px;justify-content:space-between}
.conversation-panel h3,.conversation-panel p{margin:.18em 0 .5em}
.conversation-panel p,.conversation-panel small{line-height:1.4}
.conversation-choices{display:grid;gap:5px;margin-bottom:6px}
.conversation-choices button{text-align:left}
.conversation-panel input{min-width:100px;flex:1;background:#191b17;color:#f9eedb;padding:.52em .7em;border:1px solid #78674c;border-radius:8px}
.conversation-answer:empty{display:none}
.conversation-answer{padding:.55em .7em;border-radius:10px;background:#36392c;margin-top:.5em!important}
.background-audio label{display:flex;white-space:nowrap}

.conversation-panel[data-side=left]{right:auto;left:12px}
.conversation-panel.conversation-below{position:relative;inset:auto;margin:8px 0;width:100%;max-height:none}
.conversation-panel[data-speaking=true] h3::after{content:" ♪";color:#e7be78}

.footer-brand{display:flex;align-items:center;gap:16px;color:var(--muted)}
.footer-brand strong,.footer-brand div>span{display:block;line-height:1.5}
.footer-brand strong{color:var(--text);font-size:12px;letter-spacing:.055em}
.footer-brand div>span{margin-top:4px;font-size:11px;letter-spacing:.025em}
.footer-linkedin{display:grid;justify-items:center;gap:4px;color:var(--gold);text-decoration:none;letter-spacing:.025em;font-size:10px}
.footer-linkedin img{display:block;border-radius:4px}
.footer-linkedin:hover span{text-decoration:underline}
@media(max-width:520px){footer{flex-wrap:wrap;align-items:center}.footer-brand{gap:12px}.brand{gap:6px;letter-spacing:1px}.brand small{letter-spacing:2px}}

.topbar-credit{display:flex;align-items:center;gap:10px;flex:none;margin-left:auto}
.header-credit,.footer-credit{display:flex;align-items:center;gap:8px}
.header-credit>span{color:var(--muted);font-size:10px;white-space:nowrap}
.header-linkedin{display:block}
.header-linkedin img{display:block;width:62px;height:62px;border-radius:3px}
.topbar .topbar-credit .draft{margin:0}
.footer-credit>span{color:var(--muted);font-size:11px;letter-spacing:.025em}
@media(max-width:600px){
 .topbar-credit{gap:6px}
 .header-credit{gap:5px}
 .header-credit>span{font-size:9px}
}
