:root{--app-height:100dvh;--rail-width:236px;--conversation-width:352px;--panel-line-faint:#f2f0ea08;--panel-line-soft:#f2f0ea0f;--panel-line-warm:#f0c36d2e;--panel-text-muted:#94a19b;--panel-text-soft:#c6d0ca;color:#f2f0ea;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#0a0b0d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:var(--app-height,100dvh);min-height:var(--app-height,100dvh);background:#050607;overflow:hidden}body{min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer}.app-shell{height:var(--app-height,100dvh);isolation:isolate;background:#050607;min-height:0;position:relative;overflow:hidden}.left-rail,.conversation-panel,.settings-drawer,.login-modal{border-color:var(--panel-line-soft);-webkit-backdrop-filter:blur(22px)saturate(1.06);background:#080a0c5c;box-shadow:0 24px 74px #0003,inset 0 0 0 1px #f2f0ea05}.left-rail{z-index:5;width:min(var(--rail-width), calc(100vw - 32px));background:linear-gradient(90deg,#06080a78,#06080a3d),#f2f0ea03;border:0;border-radius:8px;flex-direction:column;gap:10px;min-width:0;min-height:0;padding:13px 12px;transition:transform .22s,opacity .18s,visibility .18s;display:flex;position:absolute;top:16px;bottom:16px;left:16px;overflow:hidden;box-shadow:18px 0 72px #00000024,inset 0 0 0 1px #f2f0ea05}.left-collapsed .left-rail{opacity:0;visibility:hidden;pointer-events:none;transform:translate(calc(-100% - 40px))}.brand{align-items:center;gap:9px;display:flex}.brand-mark{color:#1a1010;background:linear-gradient(135deg,#f0c36d,#bce9d0);border-radius:8px;place-items:center;width:32px;height:32px;display:grid;box-shadow:0 12px 28px #f0c36d29}.brand h1,.brand p,.panel-header h2,.panel-header span,.drawer-header h2,.drawer-header span,.login-modal h2{margin:0}.brand h1{letter-spacing:0;font-size:14.5px;font-weight:760;line-height:1.1}.brand p,.panel-header span,.drawer-header span,.scene-caption span,.server-login-box span,.signal-card span,.rail-section-title span,.chapter-item span,.chapter-item em{color:#9caaa3;font-size:10.5px;line-height:1.35}.signal-card{background:#f2f0ea05;border:0;border-radius:8px;align-items:center;gap:9px;min-height:40px;padding:8px 9px;display:flex;box-shadow:inset 0 0 0 1px #f2f0ea07}.signal-card>div{gap:3px;min-width:0;display:grid}.signal-card strong{color:#f3ead5;font-size:12px;line-height:1.22}.signal-card span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dot{background:#b45864;border-radius:50%;flex:none;width:10px;height:10px;box-shadow:0 0 0 4px #b4586424}.dot.online{background:#89e0aa;box-shadow:0 0 0 4px #89e0aa29}.icon-button,.text-button,.primary-small,.connect-button,.composer button,.panel-actions-menu button{border:0}.panel-actions-menu{flex:none;position:relative}.panel-actions-menu summary{color:#c9d1ca;cursor:pointer;-webkit-user-select:none;user-select:none;background:#f2f0ea09;border-radius:8px;justify-content:center;align-items:center;gap:7px;width:28px;height:28px;list-style:none;display:inline-flex}.panel-actions-menu summary::-webkit-details-marker{display:none}.panel-actions-menu summary:hover,.panel-actions-menu summary:focus-visible{color:#fff7e9;background:#f0c36d1b;outline:none}.panel-actions-popover{z-index:30;border:1px solid var(--panel-line-soft);-webkit-backdrop-filter:blur(18px)saturate(1.15);background:#0b0d0ff0;border-radius:8px;gap:4px;width:158px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 46px #00000057}.panel-actions-popover button{min-height:36px;color:var(--panel-text-soft);font:inherit;text-align:left;background:0 0;border-radius:6px;align-items:center;gap:9px;padding:0 10px;font-size:12.5px;font-weight:700;display:inline-flex}.panel-actions-popover button:hover,.panel-actions-popover button:focus-visible{color:#15100c;background:#f0c36d;outline:none}.chapter-panel{flex:auto;grid-template-rows:auto minmax(0,1fr);gap:8px;min-height:0;margin-top:2px;display:grid;overflow:hidden}.rail-utility-actions{align-items:center;gap:5px;padding-top:2px;display:flex}.rail-utility-actions button{color:#a7b3ad;width:30px;height:30px;box-shadow:inset 0 0 0 1px var(--panel-line-faint);background:#f2f0ea05;border:0;border-radius:8px;place-items:center;display:grid}.rail-utility-actions button:hover,.rail-utility-actions button:focus-visible{color:#fff7e9;box-shadow:inset 0 0 0 1px var(--panel-line-warm);background:#f0c36d17;outline:none}.rail-section-title{justify-content:space-between;align-items:center;min-height:22px;display:flex}.rail-section-title span{letter-spacing:0}.rail-section-title strong{color:#f0c36d;font-size:11px;font-weight:800}.chapter-list{gap:6px;min-height:0;padding-right:2px;display:grid;overflow:auto}.chapter-item{width:100%;min-height:38px;color:inherit;font:inherit;text-align:left;background:#f2f0ea04;border:0;border-radius:8px;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:6px;padding:6px 7px;display:grid;box-shadow:inset 0 0 0 1px #f2f0ea07}.chapter-item.seen{box-shadow:inset 0 0 0 1px #bce9d00d}.chapter-item.playable{cursor:pointer}.chapter-item.playable:hover,.chapter-item.playable:focus-visible{background:#f0c36d13;outline:none;box-shadow:inset 0 0 0 1px #f0c36d3d}.chapter-item:disabled{cursor:default}.chapter-item.current{background:#f0c36d11;box-shadow:inset 1px 0 #f0c36d94,inset 0 0 0 1px #f0c36d2e}.chapter-item strong{color:#efe6d3;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:760;line-height:1.2;overflow:hidden}.chapter-item em{color:#7f8d87;text-align:right;justify-self:end;align-items:center;gap:4px;min-width:34px;font-size:10px;font-style:normal;font-weight:720;display:inline-flex}.chapter-item.playable em,.chapter-item.current em{color:#f0c36d}.scene-stage{z-index:0;background:#0b0e0f;min-width:0;min-height:0;position:absolute;inset:0;overflow:hidden}.scene-image,.scene-video{object-fit:cover;pointer-events:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none;width:100%;height:100%;display:block;position:absolute;inset:0}.scene-image{z-index:0;object-position:center 32%;transition:filter .42s,object-position .56s,transform .56s}.scene-active .scene-image{filter:brightness(.88)saturate(1.08);transform:scale(1.018)}.camera-wide .scene-image{object-position:center 28%;transform:scale(1.006)}.camera-medium .scene-image{object-position:center 32%;transform:scale(1.022)}.camera-detail .scene-image{object-position:center 38%;transform:scale(1.062)}.camera-wide.scene-active .scene-image{transform:scale(1.018)}.camera-medium.scene-active .scene-image{transform:scale(1.034)}.camera-detail.scene-active .scene-image{transform:scale(1.078)}.scene-video{z-index:1;object-position:center center;background:#0b0e0f}.scene-vignette{z-index:2;pointer-events:none;background:linear-gradient(90deg,#0507096b,#0000 30%,#05070957),linear-gradient(#0000 54%,#050709c2),linear-gradient(#0507097a,#0000 28%);position:absolute;inset:0}.auth-only .login-scene{place-items:center;padding:24px;display:grid}.auth-only .scene-image{filter:brightness(.7)saturate(.92);transform:scale(1.012)}.auth-only .scene-vignette{background:radial-gradient(circle at 50% 44%,#f0c36d1f,#0000 32%),linear-gradient(90deg,#050709b8,#05070947 46%,#050709bd),linear-gradient(#0000 46%,#050709db),linear-gradient(#0507099e,#0000 34%)}.login-page-card{z-index:4;-webkit-backdrop-filter:blur(18px)saturate(1.08);background:linear-gradient(145deg,#0c0e10e6,#090b0db8),#f2f0ea0a;border:1px solid #f2f0ea24;border-radius:10px;gap:18px;width:min(420px,100%);padding:22px;display:grid;position:relative;box-shadow:0 32px 96px #0000007a}.login-page-header{gap:8px;display:grid}.login-page-header span{color:#9caaa3;letter-spacing:.06em;font-size:12px;font-weight:800}.login-page-header h2{color:#fff7e9;margin:0;font-size:26px;line-height:1.18}.login-page-header p{color:#aebbb4;margin:0;font-size:13px;line-height:1.65}.login-page-form{gap:12px;display:grid}.login-page-form label{color:#c9d1ca;gap:7px;font-size:13px;display:grid}.login-page-form input{height:42px}.login-page-form .primary-small{width:100%;height:44px;margin-top:2px}.mood-tense .scene-vignette{background:linear-gradient(90deg,#0507098a,#0000 28%,#05070975),linear-gradient(#0000 52%,#050709d1),linear-gradient(#05070994,#0000 30%)}.mood-reveal .scene-vignette{background:linear-gradient(90deg,#0507095c,#0000 32%,#05070947),linear-gradient(#0000 52%,#050709b3),linear-gradient(#05070961,#0000 30%)}.director-layer{z-index:4;pointer-events:none;gap:10px;display:grid;position:absolute;top:76px;left:min(360px,28vw);right:min(430px,32vw)}.scene-status{color:#dff5e9;-webkit-backdrop-filter:blur(14px);background:#07090b85;border:1px solid #bce9d038;border-radius:8px;align-items:center;gap:8px;width:fit-content;max-width:100%;min-height:34px;padding:0 12px;display:inline-flex;box-shadow:0 18px 54px #0000003d}.scene-status.generating{color:#f0c36d;border-color:#f0c36d47}.scene-status.feedback{color:#bce9d0;background:#07090b75;border-color:#bce9d02e}.scene-status span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:800;overflow:hidden}.live-dialogue-stack{z-index:6;pointer-events:none;gap:8px;width:min(720px,100vw - 72px);display:grid;position:absolute;bottom:150px;left:50%;transform:translate(-50%)}.live-stage-hint{color:#dff5e9;-webkit-backdrop-filter:blur(16px);background:linear-gradient(145deg,#07090bb8,#07090b7a),#bce9d00b;border:1px solid #bce9d02e;border-radius:8px;grid-template-columns:auto minmax(0,1fr);justify-self:start;align-items:center;gap:8px;max-width:min(560px,100%);padding:8px 11px;animation:.18s ease-out narrationIn;display:grid;box-shadow:0 16px 46px #00000038}.live-stage-hint span{color:#bce9d0;white-space:nowrap;font-size:11px;font-weight:820;line-height:1}.live-stage-hint p{color:#f2f0ea;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:13px;font-weight:720;line-height:1.35;overflow:hidden}.live-stage-hint.feedback{background:linear-gradient(145deg,#07090bb8,#07090b7a),#bce9d012;border-color:#bce9d03d}.live-stage-hint.generating{background:linear-gradient(145deg,#1a140cc2,#07090b80),#f0c36d13;border-color:#f0c36d47}.live-stage-hint.generating span{color:#f0c36d}.live-stage-hint.transition{border-color:#f0c36d33}.live-stage-hint.ready{background:linear-gradient(145deg,#07090bb3,#07090b75),#f0c36d0e;border-color:#f0c36d2e}.live-stage-hint.ready span{color:#f0c36d}.director-caption,.live-caption{-webkit-backdrop-filter:blur(18px);border-radius:8px;gap:6px;width:100%;padding:12px 14px;animation:.22s ease-out narrationIn;display:grid;box-shadow:0 24px 72px #00000047}.director-caption{color:#fff7e9;background:linear-gradient(90deg,#07090bbd,#07090b75),#f2f0ea0f;border-left:2px solid #f0c36d9e}.director-caption span,.live-caption span{color:#f0c36d;font-size:12px;font-weight:800}.director-caption p,.live-caption p{color:#f2f0ea;overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.58}.live-caption{color:#fff7e9;background:linear-gradient(145deg,#07090bad,#07090b75),#f2f0ea0b;border:0;border-left:2px solid #bce9d06b}.live-assistant-caption{border-left-color:#bce9d06b}.live-assistant-caption span{color:#bce9d0}.live-caption.streaming{box-shadow:0 18px 52px #0000004d,0 0 38px #bce9d01a}.live-caption.streaming p:after{content:"";opacity:.42;background:currentColor;border-radius:999px;width:.75em;height:.75em;margin-left:.35em;animation:.92s ease-in-out infinite livePulse;display:inline-block}@keyframes livePulse{0%,to{opacity:.28;transform:scale(.7)}50%{opacity:.62;transform:scale(1)}}@keyframes narrationIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.scene-topline{z-index:3;color:#f3ead5;justify-content:space-between;align-items:center;gap:12px;width:min(430px,100vw - 48px);font-size:12px;display:flex;position:absolute;top:22px;left:50%;right:auto;transform:translate(-50%)}.scene-topline span,.scene-topline strong{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#07090b6b;border:1px solid #f2f0ea24;border-radius:8px;align-items:center;gap:7px;min-height:32px;padding:0 11px;display:inline-flex}.scene-caption{z-index:3;gap:8px;max-width:620px;display:grid;position:absolute;bottom:30px;left:min(320px,26vw);right:min(430px,34vw)}.left-collapsed .scene-caption{left:32px}.conversation-collapsed .scene-caption{right:32px}@media (width>=721px){.scene-topline{display:none}.conversation-collapsed .scene-caption{bottom:112px}.live-dialogue-active.conversation-collapsed .scene-caption{opacity:0;pointer-events:none}.left-open .compact-signal:not(.online):not(.connecting){display:none}}.left-collapsed .director-layer{left:32px}.conversation-collapsed .director-layer{right:32px}.scene-caption strong{color:#fff7e9;letter-spacing:0;text-shadow:0 20px 48px #00000080;overflow-wrap:anywhere;min-width:0;font-size:38px;line-height:1}.scene-caption p{color:#d8ded8;max-width:480px;margin:0;font-size:15px;line-height:1.55}.conversation-panel{z-index:5;width:min(var(--conversation-width), calc(100vw - 28px));background:linear-gradient(#07090b75,#07090b42),#f2f0ea03;border:0;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;gap:9px;min-width:0;min-height:0;padding:14px;transition:transform .22s,opacity .18s,visibility .18s;display:grid;position:absolute;top:16px;bottom:16px;right:16px;overflow:hidden;box-shadow:-18px 0 72px #00000029,inset 0 0 0 1px #f2f0ea05}.conversation-panel *,.conversation-panel :before,.conversation-panel :after{min-width:0}.conversation-panel:before{content:"";pointer-events:none;border-radius:inherit;opacity:.055;background:linear-gradient(90deg,#f2f0ea0e,#0000 10px,#0000);position:absolute;inset:0}.conversation-panel>*{z-index:1;position:relative}.conversation-collapsed .conversation-panel{opacity:0;visibility:hidden;pointer-events:none;transform:translate(calc(100% + 40px))}.panel-toggle{z-index:8;color:#efe6d3;-webkit-backdrop-filter:blur(16px);background:#07090b61;border:0;border-radius:8px;place-items:center;width:34px;height:34px;transition:left .22s,right .22s,bottom .22s,top .22s,background .16s;display:grid;position:absolute;box-shadow:0 14px 42px #00000038,inset 0 0 0 1px #f2f0ea0f}.panel-toggle:hover,.panel-toggle:focus-visible{background:#f0c36d21;outline:none}.panel-toggle-left{top:18px;left:calc(var(--rail-width) + 30px)}.left-collapsed .panel-toggle-left{left:16px}.panel-toggle-right{top:18px;right:calc(var(--conversation-width) + 30px)}.conversation-collapsed .panel-toggle-right{right:16px}.reward-hint{z-index:9;color:#fff7e9;-webkit-backdrop-filter:blur(18px)saturate(1.12);text-align:left;background:radial-gradient(circle at 12%,#f0c36d33,#0000 42%),#07090b8f;border:1px solid #f0c36d57;border-radius:8px;grid-template-rows:auto auto auto;grid-template-columns:34px 1fr;align-items:center;gap:2px 10px;width:min(340px,100vw - 40px);min-height:74px;padding:12px 14px;animation:.26s ease-out rewardHintIn;display:grid;position:absolute;top:76px;left:50%;transform:translate(-50%);box-shadow:0 24px 72px #00000052}.reward-hint svg{color:#f0c36d;grid-row:1/span 3}.reward-hint span,.reward-hint em{color:#9caaa3;min-width:0;font-size:12px;line-height:1.2}.reward-hint strong{color:#fff7e9;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px;line-height:1.25;overflow:hidden}.reward-hint em{color:#f0c36d;font-style:normal}@keyframes rewardHintIn{0%{opacity:0;transform:translate(-50%)translateY(-8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.voice-float{z-index:7;place-items:center;gap:12px;width:min(600px,100vw - 32px);display:grid;position:absolute;bottom:28px;left:50%;right:auto;transform:translate(-50%)}.compact-signal{color:#b7c4bf;letter-spacing:0;pointer-events:none;-webkit-user-select:none;user-select:none;background:#07090b7a;border:0;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:26px;padding:5px 9px;font-size:11.5px;font-weight:800;line-height:1;display:inline-flex;box-shadow:inset 0 0 0 1px #f2f0ea13}.live-dialogue-active.conversation-collapsed .compact-signal{display:none}.compact-signal svg{color:#87918d;flex:none}.compact-signal.online{color:#d8f3df;background:#101f178f;box-shadow:inset 0 0 0 1px #bce9d03d}.compact-signal.online svg{color:#70d58a}.compact-signal.connecting{color:#fff0c8;background:#231a0c8f;box-shadow:inset 0 0 0 1px #f0c36d3d}.compact-signal.connecting svg{color:#f0c36d}.narration-active.conversation-collapsed .voice-float{gap:8px}.compact-transcript{overscroll-behavior:contain;color:#f2f0ea;-webkit-backdrop-filter:blur(18px);pointer-events:auto;scrollbar-width:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:linear-gradient(145deg,#07090ba8,#07090b70),#f2f0ea0b;border:1px solid #f2f0ea1c;border-radius:8px;gap:4px;width:min(580px,100%);max-height:min(30svh,170px);padding:12px 14px;display:grid;overflow-y:auto;box-shadow:0 18px 58px #0000003d}.compact-transcript::-webkit-scrollbar{display:none}.compact-transcript.user{background:linear-gradient(145deg,#221810c2,#07090b8a),#f0c36d17;border-color:#f0c36d42}.compact-transcript.assistant{border-color:#bce9d038}.compact-transcript.narration{background:linear-gradient(145deg,#20180fc7,#07090b8a),#f0c36d14;border-color:#f0c36d47}.voice-float.assistant-speaking .compact-transcript.assistant{box-shadow:0 18px 46px #00000047,0 0 34px #bce9d01f}.compact-transcript span{color:#91a19b;font-size:12px;font-weight:800}.compact-transcript.user span{color:#f0c36d}.compact-transcript p{color:#fff7e9;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.45}.panel-header,.drawer-header,.modal-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-header h2{color:#fff7e9;font-size:18.5px;font-weight:780;line-height:1.1}.panel-header>div{min-width:0}.panel-status-line{min-width:0;max-width:100%;color:var(--panel-text-muted);align-items:center;gap:6px;margin:4px 0 0;font-size:10px;font-weight:700;line-height:1.2;display:inline-flex}.panel-status-line span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.panel-status-line .assistant-voice-activity{width:23px;height:13px}.panel-status-line:has(.assistant-voice-activity.active){color:#f0c36d}.icon-button{color:#efe6d3;background:#f2f0ea0a;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.assistant-voice-activity{opacity:.34;flex:none;justify-content:center;align-items:center;gap:3px;width:34px;height:18px;transition:opacity .16s;display:inline-flex}.assistant-voice-activity i{transform-origin:50%;background:currentColor;border-radius:999px;width:3px;height:6px;display:block}.assistant-voice-activity.active{color:#f0c36d;opacity:1}.assistant-voice-activity.active i{animation:.72s ease-in-out infinite assistantVoiceBar}.assistant-voice-activity.active i:nth-child(2){animation-delay:90ms}.assistant-voice-activity.active i:nth-child(3){animation-delay:.18s}.assistant-voice-activity.active i:nth-child(4){animation-delay:.27s}.assistant-voice-activity.compact{color:#f0c36d;-webkit-backdrop-filter:blur(14px);opacity:0;pointer-events:none;background:#07090b80;border:1px solid #f0c36d38;border-radius:999px;gap:5px;width:72px;height:28px;padding:5px 10px;transform:translateY(8px)scale(.96)}.assistant-voice-activity.compact.active{opacity:1;transform:translateY(0)scale(1);box-shadow:0 0 32px #f0c36d38}.assistant-voice-activity.compact i{width:4px;height:8px}.transcript{overscroll-behavior:contain;scrollbar-gutter:stable;flex-direction:column;gap:7px;min-height:0;padding-right:2px;display:flex;overflow:hidden auto}.panel-narration{z-index:2;color:#fff7e9;-webkit-backdrop-filter:blur(16px);background:linear-gradient(145deg,#1e170ec7,#07090b94),#f0c36d0e;border-radius:8px;gap:4px;margin-bottom:2px;padding:9px 10px;animation:.22s ease-out narrationIn;display:grid;position:sticky;top:0;box-shadow:inset 1px 0 #f0c36d9e,inset 0 0 0 1px #f0c36d0f,0 14px 34px #0003}.panel-narration span{color:#f0c36d;font-size:10.5px;font-weight:820}.panel-narration p{color:#f3ead5;overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.5}.line{background:#f2f0ea06;border:0;border-radius:8px;gap:4px;padding:8px 9px;display:grid;box-shadow:inset 0 0 0 1px #f2f0ea06}.line.user{background:#f0c36d0e;box-shadow:inset 1px 0 #f0c36d70,inset 0 0 0 1px #f0c36d0a}.line.system{background:#89e0aa0b;box-shadow:inset 1px 0 #89e0aa47,inset 0 0 0 1px #89e0aa09}.line.narration{background:#f0c36d0c;box-shadow:inset 1px 0 #f0c36d57,inset 0 0 0 1px #f0c36d0a}.line span{color:var(--panel-text-muted);font-size:10px;font-weight:730}.line p{color:#f2f0ea;overflow-wrap:anywhere;margin:0;font-size:13.25px;line-height:1.48}.input-mode-switch{background:#f2f0ea09;border-radius:8px;grid-template-columns:1fr 1fr;gap:3px;width:100%;padding:3px;display:grid}.call-control-stack{background:linear-gradient(#f2f0ea08,#f2f0ea04),#07090b3d;border-radius:8px;gap:8px;width:100%;padding:8px;display:grid;overflow:hidden;box-shadow:inset 0 0 0 1px #f2f0ea05}.call-control-stack .input-mode-switch,.call-control-stack .voice-pad,.call-control-stack .composer{width:100%}.choice-hint{background:#bce9d00e;border:1px solid #bce9d021;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:9px 10px;display:grid}.choice-hint.locked{background:#f0c36d0f;border-color:#f0c36d29}.choice-hint span{color:var(--panel-text-muted);font-size:11px;font-weight:800}.choice-feedback{color:#bce9d0;margin:4px 0 0;font-size:12px;font-style:normal;font-weight:760;line-height:1.35;display:block}.choice-hint p{color:#f2f0ea;overflow-wrap:anywhere;margin:0;font-size:12.5px;line-height:1.45}.skip-director-button{border:1px solid var(--panel-line-warm);color:#f0c36d;background:#07090b61;border-radius:8px;justify-content:center;align-items:center;gap:5px;min-height:30px;padding:0 10px;font-size:11.5px;font-weight:800;display:inline-flex}.skip-director-button:hover,.skip-director-button:focus-visible{background:#f0c36d24;outline:none}.compact-skip-button{color:#fff7e9;-webkit-backdrop-filter:blur(14px);background:#07090b85;min-height:30px;padding:0 12px}.input-mode-switch button{color:#c9d1ca;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:6px;height:30px;font-size:12.5px;font-weight:730;display:inline-flex}.input-mode-switch button.selected{color:#15100c;background:#bce9d0}.voice-pad{place-items:center stretch;gap:7px;padding:0;display:grid}.talk-button{color:#160f0f;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#f0c36d,#bce9d0);border:1px solid #fff7e96b;border-radius:8px;justify-content:center;align-items:center;gap:12px;width:min(250px,100%);height:74px;font-weight:800;display:flex;box-shadow:0 20px 52px #f0c36d29}.conversation-panel .talk-button{width:100%;max-width:100%;height:60px}.talk-button *,.voice-actions,.voice-actions *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.talk-button.recording{color:#fff7e9;background:linear-gradient(135deg,#c8465f,#f08a67);box-shadow:0 22px 58px #c8465f3d}.talk-button.preparing{color:#15100c;background:linear-gradient(135deg,#bce9d0,#f0c36d);box-shadow:0 22px 58px #bce9d033,0 0 0 8px #bce9d014}.talk-button:disabled,.composer input:disabled,.composer button:disabled,.compact-composer input:disabled,.compact-composer button:disabled,.connect-button:disabled{cursor:default;opacity:.62}.talk-button:disabled{color:#d8ded8;box-shadow:none;background:#f2f0ea14;border-color:#f2f0ea1f}.talk-button.compact-talk-button{width:158px;height:64px;padding:0 16px}.compact-composer{pointer-events:auto;grid-template-columns:1fr 52px;gap:8px;width:min(540px,100%);display:grid}.compact-composer input{color:#f2f0ea;background:linear-gradient(145deg,#07090bad,#07090b75),#f2f0ea0f;border:1px solid #f2f0ea24;border-radius:8px;outline:none;min-width:0;height:52px;padding:0 14px;font-size:15px}.compact-composer button{color:#15100c;background:#f0c36d;border:0;border-radius:8px;justify-content:center;align-items:center;min-width:52px;min-height:52px;display:inline-flex}.voice-float.assistant-speaking .compact-talk-button{box-shadow:0 22px 58px #f0c36d38,0 0 0 8px #f0c36d14}@keyframes assistantVoiceBar{0%,to{opacity:.58;transform:scaleY(.72)}45%{opacity:1;transform:scaleY(2.15)}}@media (prefers-reduced-motion:reduce){.assistant-voice-activity.active i{animation:none;transform:scaleY(1.6)}}.voice-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.shortcut-chip{color:#cbd7d0;background:#f2f0ea0b;border-radius:8px;align-items:center;gap:6px;height:28px;padding:0 10px;font-size:11.5px;display:inline-flex}.keyboard-mark{color:#f0c36d;font-size:13px;line-height:1}.composer{grid-template-columns:1fr 44px;gap:8px;min-height:44px;display:grid}.composer input,.field-stack input,.settings-login-form input,.settings-field select{color:#f2f0ea;background:#f2f0ea12;border:1px solid #f2f0ea1f;border-radius:8px;outline:none;width:100%;height:40px;padding:0 13px}.composer button,.primary-small,.connect-button,.auth-chip{color:#15100c;background:#f0c36d;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:38px;font-weight:800;display:inline-flex}.drawer-backdrop,.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000008f;position:fixed;inset:0}.drawer-backdrop.preconnect-backdrop{background:radial-gradient(circle at 48% 35%,#f0c36d24,#0000 36%),#000000a3;place-items:center;padding:22px;display:grid}.settings-drawer{border-left:1px solid #f2f0ea1f;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;width:min(430px,100%);height:100%;padding:22px;display:grid;position:absolute;top:0;right:0;overflow:hidden;box-shadow:-28px 0 80px #00000070}.settings-drawer.preconnect{width:min(860px,100vw - 44px);height:min(760px, calc(var(--app-height,100dvh) - 44px));max-height:min(760px, calc(var(--app-height,100dvh) - 44px));background:linear-gradient(145deg,#090b0dc7,#090b0d8f),#f2f0ea09;border:1px solid #f2f0ea21;border-radius:10px;position:relative;top:auto;right:auto;box-shadow:0 34px 110px #00000085}.settings-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;align-content:start;gap:14px;min-height:0;padding-right:3px;display:grid;overflow-y:auto}.settings-footer{background:linear-gradient(#0000,#090b0d47);border-top:1px solid #f2f0ea14;gap:8px;padding-top:12px;display:grid}.settings-footer .connect-button{width:100%;min-height:46px}.drawer-header h2{color:#fff7e9;font-size:24px}.route-intro{background:#f2f0ea0b;border:1px solid #f2f0ea17;border-radius:8px;gap:6px;padding:12px;display:grid}.route-intro strong{color:#fff7e9;font-size:15px}.route-intro p{color:#aebbb4;margin:0;font-size:13px;line-height:1.55}.route-option-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.route-card{color:#cbd7d0;text-align:left;background:linear-gradient(#f2f0ea0f,#f2f0ea06),#080a0c47;border:1px solid #f2f0ea1a;border-radius:8px;align-content:start;gap:6px;min-width:0;min-height:156px;padding:12px;transition:border-color .16s,background .16s,transform .16s;display:grid}.route-card:hover,.route-card:focus-visible{background:linear-gradient(#f0c36d17,#f2f0ea06),#080a0c57;border-color:#f0c36d61;outline:none}.route-card.selected{color:#f6efe4;background:linear-gradient(#f0c36d26,#bce9d00d),#080a0c5c;border-color:#f0c36d8a;box-shadow:inset 0 0 0 1px #f0c36d14}.route-card span{color:#15100c;background:#f0c36d;border-radius:999px;width:fit-content;padding:3px 7px;font-size:11px;font-weight:900}.route-card strong{color:#fff7e9;font-size:15px;line-height:1.2}.route-card em,.route-card small{color:#bce9d0;font-size:12px;font-style:normal;font-weight:800;line-height:1.35}.route-card p{color:#aebbb4;margin:0;font-size:12px;line-height:1.38}.route-card small{color:#91a19b;align-self:end;font-weight:700}.text-button{color:#f0c36d;background:0 0;padding:8px 0}.segmented{background:#f2f0ea0f;border-radius:8px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.segmented button{color:#c9d1ca;background:0 0;border:0;border-radius:7px;height:38px}.segmented button.selected{color:#15100c;background:#bce9d0;font-weight:800}.field-stack,.settings-login-form{gap:12px;display:grid}.field-stack label,.settings-login-form label,.settings-field{color:#c9d1ca;gap:7px;font-size:13px;display:grid}.image-provider-section{gap:9px;display:grid}.section-kicker{color:#91a19b;text-transform:uppercase;justify-content:space-between;align-items:baseline;gap:12px;font-size:12px;font-weight:800;display:flex}.section-kicker strong{color:#fff7e9;text-transform:none;font-size:13px}.image-provider-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.image-provider-card{color:#cbd7d0;text-align:left;background:linear-gradient(#f2f0ea0e,#f2f0ea05),#080a0c3d;border:1px solid #f2f0ea1a;border-radius:8px;align-content:start;gap:5px;min-width:0;min-height:118px;padding:11px 12px;transition:border-color .16s,background .16s,transform .16s;display:grid}.image-provider-card:hover,.image-provider-card:focus-visible{background:linear-gradient(#bce9d014,#f2f0ea05),#080a0c52;border-color:#bce9d057;outline:none}.image-provider-card.selected{color:#f6efe4;background:linear-gradient(#bce9d021,#f0c36d0b),#080a0c57;border-color:#bce9d07a;box-shadow:inset 0 0 0 1px #bce9d014}.image-provider-card span{color:#111715;background:#bce9d0;border-radius:999px;width:fit-content;padding:2px 7px;font-size:11px;font-weight:900}.image-provider-card strong{color:#fff7e9;font-size:14px;line-height:1.2}.image-provider-card em{color:#f0c36d;font-size:12px;font-style:normal;font-weight:800}.image-provider-card p{color:#aebbb4;margin:0;font-size:12px;line-height:1.38}.settings-toggle{color:#c9d1ca;background:#f2f0ea0e;border:1px solid #f2f0ea1a;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:11px 12px;display:flex}.settings-toggle span{gap:4px;min-width:0;display:grid}.settings-toggle strong{color:#fff7e9;font-size:13px}.settings-toggle em{color:#91a19b;font-size:12px;font-style:normal;line-height:1.35}.settings-toggle input{appearance:none;background:#07090b8a;border:1px solid #f2f0ea29;border-radius:999px;flex:none;width:46px;height:26px;transition:background .16s,border-color .16s;position:relative}.settings-toggle input:after{content:"";background:#c9d1ca;border-radius:999px;width:16px;height:16px;transition:transform .16s,background .16s;position:absolute;top:4px;left:4px}.settings-toggle input:checked{background:#bce9d057;border-color:#bce9d06b}.settings-toggle input:checked:after{background:#fff7e9;transform:translate(20px)}.settings-toggle input:focus-visible{outline-offset:3px;outline:2px solid #f0c36d8c}.settings-field select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#cbd7d0 50%),linear-gradient(135deg,#cbd7d0 50%,#0000 50%);background-position:calc(100% - 18px) 18px,calc(100% - 12px) 18px;background-repeat:no-repeat;background-size:6px 6px,6px 6px}.server-login-box{background:#f2f0ea0f;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.server-login-box.logged-in{background:#bce9d00f;border:1px solid #bce9d024}.settings-login-form{background:linear-gradient(145deg,#f2f0ea0e,#f2f0ea06),#080a0c47;border:1px solid #f2f0ea1a;border-radius:8px;padding:12px}.settings-login-form>div{gap:4px;display:grid}.settings-login-form strong{color:#fff7e9}.settings-login-form span{color:#91a19b;font-size:12px;line-height:1.35}.settings-login-form .primary-small{justify-self:start}.server-login-box>div{gap:4px;display:grid}.server-login-box strong{color:#fff7e9}.primary-small,.auth-chip{padding:0 14px}.auth-chip{color:#bce9d0;background:#bce9d01a;min-height:36px}.connect-button{background:linear-gradient(135deg,#f0c36d,#bce9d0);border:0;height:46px;margin-top:auto}.modal-backdrop{place-items:center;padding:18px;display:grid}.login-modal{border:1px solid #f2f0ea1f;border-radius:8px;width:min(380px,100%);padding:22px;box-shadow:0 30px 90px #00000075}.login-modal h2{color:#fff7e9}.login-error{color:#ffd7d7;background:#ff5b5b1f;border:1px solid #ff5b5b47;border-radius:8px;margin:0;padding:10px 12px;font-size:13px;line-height:1.45}@media (width<=1120px){.left-rail{width:min(var(--rail-width), calc(100vw - 32px))}.conversation-panel{width:min(var(--conversation-width), calc(100vw - 32px))}.panel-toggle-left{left:calc(min(var(--rail-width), calc(100vw - 32px)) + 30px)}.panel-toggle-right{right:calc(min(var(--conversation-width), calc(100vw - 32px)) + 30px)}.scene-caption{left:min(296px,28vw);right:min(390px,36vw)}}@media (width<=720px){body{overflow:hidden}.left-rail{width:min(268px,100vw - 24px);padding:12px;top:12px;bottom:12px;left:12px}.left-collapsed .left-rail{transform:translate(calc(-100% - 32px))}.conversation-panel{grid-template-rows:auto minmax(0,1fr) auto;gap:8px;width:auto;height:min(56svh,500px);padding:11px;inset:auto 12px 12px}.conversation-collapsed .conversation-panel{transform:translateY(calc(100% + 32px))}.scene-topline{display:none}.scene-image{object-position:center 42%}.camera-wide .scene-image{object-position:center 39%}.camera-medium .scene-image{object-position:center 43%}.camera-detail .scene-image{object-position:center 49%}.auth-only .login-scene{align-items:end;padding:16px}.auth-only .scene-image{object-position:center 38%}.login-page-card{width:100%;margin-bottom:max(14px, env(safe-area-inset-bottom));gap:14px;padding:18px}.login-page-header h2{font-size:23px}.login-page-header p{font-size:12px;line-height:1.55}.login-page-form{gap:10px}.login-page-form .primary-small{height:42px}.reward-hint{width:min(316px,100vw - 28px);min-height:70px;padding:11px 12px;top:64px}.scene-caption{gap:5px;max-width:320px;bottom:150px;left:16px;right:16px}.director-layer,.left-collapsed .director-layer,.conversation-collapsed .director-layer{gap:8px;inset:72px 16px auto}.conversation-open .director-layer{top:72px;bottom:auto}.live-dialogue-stack{left:16px;right:16px;bottom:calc(184px + env(safe-area-inset-bottom));gap:7px;width:auto;max-height:min(46svh,360px);overflow:hidden;transform:none}.conversation-open .live-dialogue-stack{bottom:min(56svh + 24px,514px)}.director-caption,.live-caption{max-height:min(28svh,190px);padding:11px 12px;overflow:auto}.director-caption p,.live-caption p{font-size:13px;line-height:1.52}.scene-status{min-height:32px;padding:0 10px}.scene-status span{font-size:12px}.scene-caption strong{font-size:26px;line-height:1.05}.scene-caption p{max-width:280px;font-size:12px;line-height:1.45}.conversation-open .scene-caption,.left-open .scene-caption,.left-open .voice-float,.live-dialogue-active.conversation-collapsed .scene-caption{opacity:0;pointer-events:none}.panel-header h2{font-size:17.5px}.talk-button{height:68px}.talk-button.compact-talk-button{width:164px;height:66px}.conversation-panel .talk-button{width:100%;height:60px}.conversation-panel .voice-actions{display:none}.line{padding:8px 10px}.panel-toggle{width:40px;height:40px}.panel-toggle-left,.left-collapsed .panel-toggle-left{top:14px;left:14px}.left-open .panel-toggle-left{left:min(288px,100vw - 54px)}.panel-toggle-right,.conversation-collapsed .panel-toggle-right{top:14px;bottom:auto;right:14px}.conversation-open .panel-toggle-right{top:auto;bottom:min(56svh + 20px,520px)}.voice-float{-webkit-backdrop-filter:blur(18px);background:linear-gradient(#07090b47,#07090b94),#f2f0ea09;border:0;border-radius:8px;gap:8px;width:auto;padding:10px;bottom:14px;left:12px;right:auto;transform:none;box-shadow:0 18px 54px #0000003d,inset 0 0 0 1px #f2f0ea0e}.compact-transcript{width:100%;max-height:118px;padding:9px 11px}.compact-transcript p{font-size:13px;line-height:1.42}.compact-skip-button{position:absolute;top:10px;right:10px}.compact-skip-button+.compact-talk-button,.compact-skip-button+.compact-composer{margin-top:24px}.drawer-backdrop,.modal-backdrop{z-index:30}.drawer-backdrop.preconnect-backdrop{align-items:stretch;padding:12px;overflow:hidden}.settings-drawer.preconnect{width:100%;height:calc(var(--app-height,100dvh) - 24px);max-height:calc(var(--app-height,100dvh) - 24px);gap:10px;padding:14px}.route-option-grid,.image-provider-grid{grid-template-columns:1fr;gap:8px}.route-card,.image-provider-card{gap:4px;min-height:0;padding:10px 11px}.settings-scroll{gap:10px;padding-right:2px}.settings-footer{padding-top:10px}}
