/* Code-rendered scenario opening */
.opening-experience{--opening-accent:#4f9cff;display:grid;grid-template-columns:minmax(0,1fr) 360px;min-height:calc(100dvh - 60px);background:#0b1220;color:#fff}.opening-experience.theme-command{--opening-accent:#72a7ff}.opening-experience.theme-executive{--opening-accent:#6ab6e8}.opening-experience.theme-product{--opening-accent:#7b9dff}.opening-stage{position:relative;display:grid;grid-template-rows:auto 1fr auto;min-width:0;overflow:hidden;padding:30px 42px 28px;background:linear-gradient(145deg,#07101e,#0d1c32 58%,#0d2745)}.opening-brand{z-index:1;display:flex;align-items:center;gap:9px;color:#dce8f9;font-size:11px;letter-spacing:.065em;text-transform:uppercase}.opening-brand b{margin-left:auto;color:#9baac0;font-size:10px;font-weight:600}.opening-status-mark{width:3px;height:16px;border-radius:1px;background:var(--opening-accent)}.opening-frame{z-index:1;display:grid;grid-template-columns:minmax(280px,.76fr) minmax(360px,1fr);gap:clamp(42px,6vw,90px);align-items:center;max-width:1080px;width:100%;margin:auto}.opening-visual{position:relative;min-height:360px;display:grid;place-items:center}.opening-copy>span{display:block;margin-bottom:19px;color:#8bb8f5;font-size:10px;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.opening-copy h1{max-width:720px;margin:0;color:#f8fbff;font-size:clamp(42px,5.4vw,76px);font-weight:560;line-height:1.01;letter-spacing:-.055em}.opening-copy p{max-width:680px;margin:26px 0 0;color:#c0ccda;font-size:clamp(16px,1.5vw,21px);line-height:1.6}.opening-signal-board{position:relative;display:grid;align-content:center;gap:18px;width:330px;height:250px;padding:34px;border:1px solid #80b6ff35;border-radius:16px;background:#102a4a66}.opening-signal-board>i{display:block;height:7px;border-radius:2px;background:#7aaef044}.opening-signal-board>i:nth-child(1){width:78%}.opening-signal-board>i:nth-child(2){width:100%}.opening-signal-board>i:nth-child(3){width:58%}.opening-signal-board>span{position:absolute;left:34px;bottom:34px;width:72px;height:3px;background:var(--opening-accent)}.opening-signal-board>b{position:absolute;right:34px;bottom:30px;width:48px;height:12px;border:1px solid #82b6ff60;border-radius:2px}.opening-people-map{position:relative;width:330px;height:330px}.opening-people-map:before,.opening-people-map:after{content:"";position:absolute;inset:50%;width:220px;height:1px;background:#75a9ee3b;transform:translate(-50%,-50%) rotate(45deg)}.opening-people-map:after{transform:translate(-50%,-50%) rotate(-45deg)}.opening-people-map>span{position:absolute;left:calc(50% + cos(calc(var(--n) * 90deg)) * 120px);top:calc(50% + sin(calc(var(--n) * 90deg)) * 120px);display:grid;justify-items:center;gap:8px;transform:translate(-50%,-50%);color:#aebdd0;font-size:9px}.opening-people-map i{display:grid;width:66px;height:66px;place-items:center;border:1px solid #76abf85c;border-radius:50%;background:#14345f;color:#fff;font-size:16px;font-style:normal}.opening-constraint-map{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:14px;width:330px;padding:34px;border:1px solid #77aaf83d;border-radius:16px;background:#122e5354}.opening-constraint-map span{padding:18px 14px;border:1px solid #85b6ff32;border-radius:8px;background:#12345e;color:#afc9e9;font-size:9px;font-weight:700;letter-spacing:.1em;text-align:center}.opening-constraint-map i{position:absolute;inset:14px;border:1px dashed #74aaff2e;border-radius:10px}.opening-player{z-index:1;display:flex;align-items:center;gap:26px;border-top:1px solid #b8d4ff1f;padding-top:20px}.opening-scenes{display:flex;flex:1;gap:9px}.opening-scenes button{flex:1;display:grid;grid-template-columns:1fr;gap:7px;padding:0;border:0;background:transparent;color:#657994;text-align:left}.opening-scenes button:hover{background:transparent;color:#a8bcd5}.opening-scenes i{height:2px;background:#ffffff21;overflow:hidden}.opening-scenes .active i,.opening-scenes .viewed i{background:var(--opening-accent)}.opening-scenes span{font-size:8px;letter-spacing:.08em;text-transform:uppercase}.opening-controls{display:flex;align-items:center;gap:8px}.opening-controls button{border-color:#ffffff2b;background:#ffffff0d;color:#e6effb;font-size:10px}.opening-controls button:hover{border-color:#ffffff4a;background:#ffffff16}.opening-controls .opening-play{width:35px;height:35px;padding:0;border-radius:50%}.opening-controls .opening-skip{border-color:transparent;background:transparent;color:#8ea1ba}.opening-transcript{display:flex;flex-direction:column;padding:50px 32px 34px;background:#f8fafc;color:#233148;border-left:1px solid #26364e}.opening-transcript .eyebrow{color:#1769e0}.opening-transcript h2{margin:5px 0 14px;font-size:26px;line-height:1.2}.opening-transcript>p{margin:0 0 28px;color:#657388;font-size:12px;line-height:1.65}.opening-transcript dl{margin:0}.opening-transcript dl>div{padding:16px 0;border-top:1px solid #dde4ed}.opening-transcript dt{margin-bottom:6px;color:#788599;font-size:9px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.opening-transcript dd{margin:0;color:#25354b;font-size:12px;line-height:1.5}.opening-transcript details{margin:20px 0;color:#5b687b;font-size:11px}.opening-transcript summary{color:#34455e}.opening-transcript details section{padding:12px 0;border-bottom:1px solid #e3e8ef}.opening-transcript details b{color:#26364d}.opening-transcript details p{margin:5px 0;line-height:1.55}.opening-transcript>.primary{margin-top:auto;min-height:44px;border-color:#0968df;background:#0968df}.opening-transcript>.primary:hover{border-color:#075fc9;background:#075fc9}

/* Evidence-led session replay */
.replay-page{max-width:1180px;margin:0 auto;padding:54px 34px 80px;color:#26354a}.replay-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding-bottom:30px;border-bottom:1px solid #dce3ec}.replay-hero .eyebrow{color:#1769e0}.replay-hero h1{max-width:780px;margin:8px 0 10px;font-size:42px;letter-spacing:-.045em}.replay-hero p{max-width:690px;margin:0;color:#657286;font-size:14px}.replay-actions{display:flex;gap:8px;flex:none}.replay-actions .primary{border-color:#0968df;background:#0968df}.replay-summary{display:grid;grid-template-columns:repeat(5,1fr);margin:28px 0 48px;border:1px solid #dfe5ed;border-radius:12px;background:#fff}.replay-summary>div{padding:19px 21px;border-right:1px solid #e3e8ef}.replay-summary>div:last-child{border-right:0}.replay-summary span,.replay-summary strong{display:block}.replay-summary span{color:#788497;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.replay-summary strong{margin-top:7px;color:#24344a;font-size:22px;text-transform:capitalize}.replay-evidence{display:grid;grid-template-columns:minmax(240px,.38fr) minmax(0,1fr);gap:42px;padding:32px;border:1px solid #dfe6ef;border-radius:14px;background:#f8fafd}.replay-evidence header h2,.replay-timeline>header h2{margin:4px 0 10px;font-size:25px}.replay-evidence header p{margin:0;color:#68778a;font-size:12px;line-height:1.6}.replay-evidence>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.replay-evidence article{padding:16px;border:1px solid #dfe6ef;border-radius:9px;background:#fff}.replay-evidence article span,.replay-evidence article strong,.replay-evidence article small{display:block}.replay-evidence article span{color:#778396;font-size:9px;font-weight:750;letter-spacing:.065em;text-transform:uppercase}.replay-evidence article strong{margin:7px 0 4px;color:#214f88;font-size:15px}.replay-evidence article small{color:#8994a3;font-size:9px;line-height:1.45}.replay-timeline{max-width:930px;margin:58px auto 0}.replay-timeline>header{margin:0 0 26px 105px}.replay-moment{display:grid;grid-template-columns:76px minmax(0,1fr);gap:29px;position:relative;padding-bottom:24px}.replay-moment:before{content:"";position:absolute;left:85px;top:32px;bottom:-8px;width:1px;background:#d5dfeb}.replay-moment:last-child:before{display:none}.replay-marker{position:relative;z-index:1;padding-top:7px;text-align:right}.replay-marker>span{display:block;margin-bottom:9px;color:#8792a2;font-size:9px;font-variant-numeric:tabular-nums}.replay-marker>i{display:inline-grid;width:27px;height:27px;place-items:center;border:4px solid #f2f3f5;border-radius:50%;background:#1769e0;color:#fff;font-size:9px;font-style:normal;font-weight:750;box-shadow:none}.replay-start .replay-marker>i{background:#718097}.replay-end .replay-marker>i{background:#3f8d68;box-shadow:none}.replay-card{padding:23px 25px;border:1px solid #dfe5ed;border-radius:12px;background:#fff;box-shadow:0 3px 12px #172b4709}.replay-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.replay-card small{display:block;margin-bottom:5px;color:#7b8798;font-size:9px;font-weight:700;letter-spacing:.065em;text-transform:uppercase}.replay-card h3{margin:0;color:#27374d;font-size:18px}.replay-card>p{margin:10px 0 0;color:#687588;font-size:12px}.replay-classification{padding:6px 8px;border:1px solid #cbdced;border-radius:999px;background:#f3f8fe;color:#315f93;font-size:9px;font-weight:700;white-space:nowrap}.replay-artifact-preview{margin:18px 0;padding:16px 18px;border:1px solid #e1e7ef;border-radius:9px;background:#f8fafc}.replay-artifact-preview>span,.replay-artifact-preview>strong{display:block}.replay-artifact-preview>span{color:#778598;font-size:8px;font-weight:750;letter-spacing:.075em;text-transform:uppercase}.replay-artifact-preview>strong{margin:5px 0;color:#293a50;font-size:13px}.replay-artifact-preview>p{margin:5px 0 12px;color:#6c7889;font-size:10px}.replay-artifact-preview>div{display:flex;flex-wrap:wrap;gap:6px}.replay-artifact-preview i{padding:6px 8px;border:1px solid #dce3ec;border-radius:6px;background:#fff;color:#697688;font-size:9px;font-style:normal}.replay-artifact-preview i b{margin-right:5px;color:#35465d}.replay-narration{margin:15px 0;border-top:1px solid #e6eaf0;padding-top:13px;color:#697688;font-size:11px}.replay-narration summary{color:#506078;font-size:10px}.replay-narration p{line-height:1.6}.replay-response{margin-top:16px}.replay-response>span,.replay-signals>span{display:block;margin-bottom:8px;color:#778497;font-size:9px;font-weight:750;letter-spacing:.065em;text-transform:uppercase}.replay-response blockquote{margin:7px 0;padding:12px 14px;border-left:2px solid #1769e0;background:#f4f7fb;color:#35465c;font-size:12px;line-height:1.6}.replay-response>p{color:#8791a0;font-size:11px}.replay-signals{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:15px;padding-top:14px;border-top:1px solid #e5eaf0}.replay-signals>span{flex-basis:100%;margin-bottom:2px}.replay-signals b{padding:5px 7px;border-radius:5px;background:#eaf2fc;color:#315f93;font-size:9px}.replay-signals em{color:#8a94a2;font-size:9px;font-style:normal}.replay-transcript{max-width:825px;margin:28px auto;padding:20px 24px;border:1px solid #dfe5ed;border-radius:11px;background:#fff}.replay-transcript>summary{display:flex;justify-content:space-between;color:#3a4b62}.replay-transcript>summary span{color:#8490a0;font-size:10px}.replay-transcript>div{margin-top:15px;padding:13px 15px;border-radius:8px;background:#f6f8fb}.replay-transcript>div.mine{border-left:2px solid #1769e0}.replay-transcript b{color:#304157;font-size:10px}.replay-transcript>div>span{float:right;color:#8a94a2;font-size:9px}.replay-transcript p{margin:6px 0 0;color:#59687b;font-size:11px;line-height:1.6}.replay-pending{max-width:825px;margin:14px auto;color:#55739a;font-size:11px}.replay-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:825px;margin:32px auto 0;padding-top:25px;border-top:1px solid #dce3eb}.replay-footer p{margin:0;color:#7d8998;font-size:10px}
@media(max-width:980px){.opening-experience{grid-template-columns:1fr}.opening-transcript{display:none}.opening-frame{grid-template-columns:.7fr 1fr}.replay-evidence{grid-template-columns:1fr}.replay-summary{grid-template-columns:1fr 1fr}.replay-summary>div:nth-child(2){border-right:0}.replay-summary>div:nth-child(-n+2){border-bottom:1px solid #e3e8ef}}
@media(max-width:700px){.opening-experience{min-height:calc(100dvh - 56px)}.opening-stage{padding:22px 20px}.opening-frame{grid-template-columns:1fr;gap:18px}.opening-visual{min-height:230px;transform:scale(.72)}.opening-copy h1{font-size:38px}.opening-copy p{font-size:15px;margin-top:17px}.opening-scenes span{display:none}.opening-player{gap:12px}.opening-controls .opening-skip{display:none}.replay-page{padding:36px 19px 60px}.replay-hero{display:block}.replay-hero h1{font-size:32px}.replay-actions{margin-top:20px}.replay-summary{margin-bottom:35px}.replay-summary>div{padding:15px}.replay-evidence{padding:22px}.replay-evidence>div{grid-template-columns:1fr}.replay-timeline>header{margin-left:64px}.replay-moment{grid-template-columns:42px minmax(0,1fr);gap:20px}.replay-moment:before{left:51px}.replay-marker>span{font-size:8px}.replay-card{padding:18px}.replay-card>header{display:block}.replay-classification{display:inline-block;margin-top:10px}.replay-footer{align-items:flex-start;flex-direction:column}}


/* The opening owns the full canvas; controls stay subordinate to the story. */
.opening-experience{display:block;min-height:calc(100dvh - 60px)}.opening-stage{min-height:calc(100dvh - 60px)}.opening-frame{max-width:1240px;grid-template-columns:minmax(300px,.72fr) minmax(440px,1fr)}.opening-player{max-width:1320px;width:100%;margin:0 auto}.opening-controls{flex-wrap:wrap;justify-content:flex-end}.opening-controls .opening-voice{display:flex;align-items:center;gap:6px}.opening-controls .opening-voice.active{border-color:#4f91e8;background:#163c6d;color:#ddecff}.opening-controls .opening-voice span{font-size:9px}.opening-transcript-dialog{width:min(680px,calc(100% - 40px));max-height:min(760px,calc(100dvh - 60px));padding:0;border:1px solid #cfd9e7;border-radius:14px;background:#f8fafc;color:#26364d;box-shadow:0 28px 90px #05101f66}.opening-transcript-dialog::backdrop{background:#07101ed9;backdrop-filter:blur(5px)}.opening-transcript-dialog>header{position:sticky;top:0;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:23px 26px;border-bottom:1px solid #dfe6ef;background:#f8fafcee;backdrop-filter:blur(10px)}.opening-transcript-dialog header span{color:#1769e0;font-size:9px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.opening-transcript-dialog h2{margin:5px 0 0;font-size:24px}.opening-transcript-dialog header button{border:0;background:transparent;color:#627086;font-size:20px}.opening-transcript-dialog>div{padding:5px 26px 25px}.opening-transcript-dialog section{padding:20px 0;border-bottom:1px solid #e0e6ee}.opening-transcript-dialog section:last-child{border-bottom:0}.opening-transcript-dialog section>span{color:#7a8798;font-size:9px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.opening-transcript-dialog h3{margin:6px 0 8px;font-size:17px}.opening-transcript-dialog p{margin:0;color:#5e6c80;font-size:13px;line-height:1.65}

/* Pre-call is a centered decision. The companion panel appears after joining. */
.centered-precall{height:calc(100dvh - 60px);min-height:620px;display:grid;grid-template-rows:58px 1fr;overflow:hidden;background:radial-gradient(circle at 50% 45%,#1c395f 0,#111f34 36%,#09121f 76%);color:#f7f9fc}.precall-minimal-heading{display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid #ffffff17;background:#0b1422b8;backdrop-filter:blur(12px)}.precall-minimal-heading .meeting-identity{display:flex;align-items:center;gap:11px}.precall-minimal-heading .meeting-identity>div{display:flex;flex-direction:column}.precall-minimal-heading strong{max-width:58vw;overflow:hidden;color:#f5f8fc;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.precall-minimal-heading .meeting-identity span:not(.call-dot){margin-top:2px;color:#8291a6;font-size:9px}.precall-minimal-heading>span{color:#9ba9bb;font-size:9px;font-weight:650;letter-spacing:.07em;text-transform:uppercase}.centered-call-lobby{display:grid;justify-items:center;align-content:center;min-height:0;padding:36px 24px 58px;text-align:center}.lobby-rings{position:relative;width:126px;height:74px;display:grid;place-items:center;margin-bottom:20px;border:1px solid #6faaff38;border-radius:12px;background:#102b4b}.lobby-rings i{display:none}.lobby-rings>span{z-index:1;display:grid;width:54px;height:42px;place-items:center;border-radius:6px;background:#1769e0;color:#fff;font-size:17px;font-weight:650}.centered-call-lobby .lobby-status{color:#91a5bd}.centered-call-lobby h1{max-width:680px;margin:17px 0 11px;color:#fff;font-size:clamp(38px,4.6vw,60px);font-weight:570;letter-spacing:-.05em}.centered-call-lobby>p{max-width:590px;margin:0;color:#aebccd;font-size:14px;line-height:1.65}.centered-call-lobby .mode-alert{max-width:590px;margin:18px 0 0;color:#f5c2c8}.centered-join-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:min(540px,100%);margin-top:30px}.centered-join-actions button{display:grid;grid-template-columns:34px 1fr;gap:11px;align-items:center;min-height:70px;padding:12px 16px;border:1px solid #ffffff2c;border-radius:10px;background:#ffffff0d;color:#eef4fb;text-align:left}.centered-join-actions button:hover{border-color:#ffffff54;background:#ffffff16}.centered-join-actions button.primary{border-color:#2679e9;background:#0968df}.centered-join-actions button.primary:hover{background:#1475eb}.centered-join-actions button>span:last-child{display:flex;flex-direction:column}.centered-join-actions strong{color:inherit;font-size:12px}.centered-join-actions small{margin-top:4px;color:#aab9ca;font-size:9px}.centered-join-actions .primary small{color:#d2e4fb}.centered-join-actions .join-button-icon{width:28px;height:28px}.centered-join-actions .join-button-icon svg{width:24px;height:24px}.join-text-icon{display:grid;width:28px;height:28px;place-items:center;border:1px solid #7890aa;border-radius:6px;color:#c9d6e5;font-size:10px;font-weight:700}.lobby-device-note{margin-top:18px;color:#77889e;font-size:9px}
@media(max-width:820px){.opening-frame{grid-template-columns:1fr;gap:10px}.opening-visual{min-height:250px;transform:scale(.78)}.opening-copy{max-width:720px;margin:auto}.opening-player{align-items:flex-end}.opening-scenes span{display:none}.opening-controls{max-width:390px}.centered-precall{height:calc(100dvh - 56px)}.centered-call-lobby{padding-bottom:35px}}
@media(max-width:580px){.opening-stage{padding:20px 18px}.opening-visual{min-height:210px;transform:scale(.65)}.opening-copy h1{font-size:34px}.opening-player{display:block}.opening-scenes{margin-bottom:14px}.opening-controls{justify-content:flex-start}.opening-controls .opening-voice span{display:none}.opening-controls .opening-skip{display:inline-flex}.precall-minimal-heading{padding:0 18px}.centered-join-actions{grid-template-columns:1fr}.centered-call-lobby h1{font-size:36px}.lobby-rings{width:104px;height:104px}}
.opening-audio-prompt{margin-top:24px;border-color:#6ca7f0;background:#1769e0;color:#fff;box-shadow:0 8px 28px #061a3570}.opening-audio-prompt:hover{border-color:#8dc0ff;background:#2377e6}.opening-audio-prompt[hidden]{display:none}

/* Scenario-specific generated opening */
.opening-frame.has-image{grid-template-columns:minmax(0,1.2fr) minmax(350px,.8fr);max-width:1320px;gap:0;align-items:center}
.opening-visual.generated{position:relative;min-height:510px;overflow:hidden;border:1px solid #ffffff18;border-radius:22px;box-shadow:0 38px 90px #0008;background:#14243d}
.opening-generated-image{position:absolute;inset:-4%;width:108%;height:108%;object-fit:cover;filter:saturate(.88) contrast(1.04) brightness(.8);animation:opening-drift 18s ease-in-out both}
.opening-image-wash{position:absolute;inset:0;background:linear-gradient(90deg,#07111b0a 40%,#07111bd9 100%),linear-gradient(0deg,#07111b99,#07111b00 54%)}
.opening-frame.has-image .opening-copy{position:relative;z-index:2;margin-left:-72px;padding:42px 44px;border:1px solid #ffffff24;border-radius:18px;background:#101c2ce8;box-shadow:0 28px 70px #0007;backdrop-filter:blur(18px)}
.opening-frame.has-image .opening-copy h1{max-width:13ch}
.opening-experience[data-scene="role"] .opening-generated-image{object-position:56% 48%;transform-origin:62% 48%}
.opening-experience[data-scene="people"] .opening-generated-image{object-position:42% 50%;transform-origin:38% 48%}
.opening-experience[data-scene="constraints"] .opening-generated-image{object-position:64% 50%;transform-origin:68% 54%}
@keyframes opening-drift{from{transform:scale(1.01) translate3d(-.4%,0,0)}to{transform:scale(1.08) translate3d(.8%,-.6%,0)}}
@media(max-width:820px){.opening-frame.has-image{grid-template-columns:1fr;gap:0}.opening-visual.generated{min-height:310px;border-radius:16px 16px 0 0}.opening-frame.has-image .opening-copy{margin:-44px 14px 0;padding:28px 26px}.opening-frame.has-image .opening-copy h1{max-width:none}}
@media(prefers-reduced-motion:reduce){.opening-generated-image{animation:none}}

/* Synchronized session replay: artifact, prompt, decision and revision stay together. */
.replay-timeline{max-width:990px}.replay-timeline>header>p{max-width:680px;margin:0;color:#718094;font-size:11px;line-height:1.55}.replay-appearance{display:grid!important;grid-template-columns:110px 1fr;gap:12px;padding:10px 0 0;color:#69778a!important;font-size:10px!important}.replay-appearance b{color:#45566d}.replay-artifact-preview{margin:14px 0 18px}.replay-exchange{display:grid;grid-template-columns:minmax(210px,.72fr) minmax(0,1.28fr);gap:16px;padding-top:16px;border-top:1px solid #e4e9ef}.replay-question,.replay-response{min-width:0}.replay-question>span,.replay-response>span{display:block;margin-bottom:8px;color:#778497;font-size:9px;font-weight:750;letter-spacing:.065em;text-transform:uppercase}.replay-question>p{position:relative;margin:0 0 8px;padding:11px 12px 11px 45px;border-radius:7px;background:#f6f8fb;color:#536277;font-size:10px;line-height:1.55}.replay-question time{position:absolute;left:11px;top:12px;color:#8a96a6;font-size:8px;font-variant-numeric:tabular-nums}.replay-response{margin-top:0}.replay-response-sequence{display:grid;gap:9px}.replay-response-step{padding:12px 13px;border:1px solid #dce4ed;border-radius:8px;background:#fff}.replay-response-step.revision{border-left:3px solid #4386d8;background:#fafdff}.replay-response-step>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.replay-response-step>header span{color:#53647a;font-size:9px;font-weight:800}.replay-response-step>header time{color:#8b96a5;font-size:8px}.replay-response-step blockquote{margin:9px 0;padding:0;border:0;background:transparent;color:#34465d;font-size:11px;line-height:1.58}.replay-decision-signal{display:flex;align-items:center;gap:7px;margin-top:10px;padding-top:9px;border-top:1px solid #e7ebf0}.replay-decision-signal>span{color:#7e8999;font-size:8px;font-weight:750;text-transform:uppercase}.replay-decision-signal>strong{color:#285e9a;font-size:9px}.replay-decision-signal>small{margin:0 0 0 auto;color:#8a95a4;font-size:8px;letter-spacing:0;text-transform:none}.replay-response-step .replay-signals{gap:5px;margin-top:9px;padding-top:9px;border-top:1px solid #edf0f4}.replay-response-step .replay-signals b{font-size:8px}.replay-next-move,.replay-analysis-missing{margin:9px 0 0;color:#738196;font-size:9px;line-height:1.45}.replay-next-move b{color:#52647a}.replay-no-response{padding:13px;border:1px dashed #d8e0e9;border-radius:8px;background:#fafbfd}.replay-no-response b,.replay-no-response span{display:block}.replay-no-response b{color:#5c6c80;font-size:10px}.replay-no-response span{margin-top:4px;color:#8490a0;font-size:9px}
@media(max-width:980px){.replay-exchange{grid-template-columns:1fr}}

/* Narrative opening: one cinematic handoff into the live room. */
.opening-stage{grid-template-rows:44px minmax(0,1fr) auto;gap:18px;padding:22px 34px 24px;background:#08111f}
.opening-brand{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;max-width:1380px;width:100%;margin:0 auto}
.opening-brand>div{display:flex;align-items:center;gap:9px}.opening-brand>b{max-width:min(52vw,680px);margin:0;overflow:hidden;color:#aab7ca;text-overflow:ellipsis;white-space:nowrap}.opening-brand .opening-skip{padding:7px 9px;border:0;background:transparent;color:#94a5bb;font-size:10px;text-transform:none;letter-spacing:0}.opening-brand .opening-skip:hover{background:#ffffff0b;color:#e8f0fa}
.opening-frame,.opening-frame.has-image{position:relative;display:block;isolation:isolate;max-width:1380px;width:100%;min-height:0;height:100%;margin:0 auto;overflow:hidden;border:1px solid #ffffff1a;border-radius:20px;background:linear-gradient(145deg,#112845,#0a1729);box-shadow:0 24px 68px #0007}
.opening-visual,.opening-visual.generated{position:absolute;inset:0;min-height:0;border:0;border-radius:0;box-shadow:none;transform:none}
.opening-visual.generated{animation:opening-cut-in .5s cubic-bezier(.2,.72,.2,1) both}
.opening-generated-image{inset:-2%;width:104%;height:104%;filter:saturate(.96) contrast(1.035) brightness(.95);animation-duration:13s}
.opening-image-wash{background:linear-gradient(90deg,#07101fa8 0,#07101f57 38%,#07101f0d 70%,transparent 86%),linear-gradient(0deg,#07101fbd 0,#07101f28 46%,transparent 72%)}
.opening-story-wash{position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(90deg,#07101f73 0,#07101f24 44%,transparent 67%),linear-gradient(0deg,#07101f96 0,transparent 43%)}
.opening-copy,.opening-frame.has-image .opening-copy{position:absolute;z-index:2;left:clamp(28px,5vw,72px);bottom:clamp(32px,6vh,64px);width:min(760px,calc(100% - 56px));margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
.opening-copy>span{display:flex;align-items:center;gap:11px;margin:0 0 14px;color:#c4d8f5;font-size:10px;font-weight:680;letter-spacing:.1em}.opening-copy>span b{display:grid;width:28px;height:28px;place-items:center;border:1px solid #abc9ee6b;border-radius:4px;color:#fff;font-size:9px}
.opening-copy h1,.opening-frame.has-image .opening-copy h1{max-width:18ch;margin:0;color:#fff;font-size:clamp(39px,4.05vw,57px);font-weight:560;line-height:1.025;letter-spacing:-.047em;text-wrap:balance;text-shadow:0 2px 20px #050b13b8}
.opening-copy p{max-width:640px;margin:17px 0 0;color:#e0e7f0;font-size:clamp(14px,1.2vw,17px);font-weight:430;line-height:1.5;text-wrap:balance;text-shadow:0 1px 12px #050b13c7}
.opening-player{display:grid;grid-template-columns:minmax(320px,1fr) auto;gap:24px;align-items:center;max-width:1380px;padding-top:0;border:0}
.opening-scenes{gap:8px}.opening-scenes button{gap:8px;color:#7f90a6}.opening-scenes i{height:2px;border-radius:2px;background:#ffffff20}.opening-scenes span{font-size:9px;font-weight:650;letter-spacing:.035em;text-transform:none}.opening-scenes .active{color:#f0f5fc}.opening-scenes .active i{height:3px}.opening-scenes .viewed{color:#a7b8ce}
.opening-controls{flex-wrap:nowrap;justify-content:flex-end;gap:6px}.opening-controls button{min-height:38px;border-color:#ffffff20;border-radius:9px;background:#ffffff09;color:#dfe9f6;font-size:10px}.opening-controls .opening-icon-button{width:38px;padding:0}.opening-controls .opening-voice{gap:7px;padding-inline:12px}.opening-controls .opening-voice.active{border-color:#ffffff24;background:#ffffff0d}.opening-speaker-icon{font-size:10px}.opening-controls .opening-transcript-button{border-color:transparent;background:transparent;color:#9aacbf}.opening-controls .opening-continue{min-width:142px;border-color:#2c7be8;background:#1769e0;color:#fff;font-weight:680}.opening-controls .opening-continue:hover{border-color:#4a93f3;background:#2376e6}.opening-controls .opening-continue span{font-size:13px}
.opening-decision-mark,.opening-counterpart,.opening-handoff{position:absolute;left:50%;top:45%;display:grid;place-items:center;transform:translate(-50%,-50%);color:#dcecff}
.opening-decision-mark{width:310px;height:210px;border:1px solid #78acfa3f;border-radius:18px;background:#1452971f}.opening-decision-mark span{font-size:10px;font-weight:750;letter-spacing:.12em}.opening-decision-mark i{position:absolute;left:28px;right:70px;bottom:42px;height:1px;background:#82b6ff42}.opening-decision-mark b{position:absolute;right:28px;font-size:32px;font-weight:300}
.opening-counterpart{grid-template-rows:auto auto auto;width:210px;height:250px;border:1px solid #85b8ff42;border-radius:22px;background:#12365e66;box-shadow:0 28px 80px #0006}.opening-counterpart>span{display:grid;width:88px;height:88px;place-items:center;border-radius:50%;background:#1769e0;color:#fff;font-size:30px}.opening-counterpart i{position:absolute;right:54px;top:115px;width:12px;height:12px;border:3px solid #12365e;border-radius:50%;background:#54d08b}.opening-counterpart b{font-size:18px}.opening-counterpart small{color:#9fb2ca;font-size:10px}
.opening-handoff{grid-template-columns:auto auto;gap:20px;width:310px;height:190px;border:1px solid #8abaff46;border-radius:18px;background:#0d2c506e}.opening-handoff i{position:absolute;inset:18px;border:1px solid #ffffff16;border-radius:11px}.opening-handoff span{z-index:1;font-size:11px;font-weight:750;letter-spacing:.12em}.opening-handoff b{z-index:1;color:#86b9ff;font-size:34px;font-weight:300}
.opening-experience[data-scene="decision"] .opening-generated-image{object-position:56% 48%;transform-origin:62% 48%}.opening-experience[data-scene="counterpart"] .opening-generated-image{object-position:42% 50%;transform-origin:38% 48%}.opening-experience[data-scene="handoff"] .opening-generated-image{object-position:64% 50%;transform-origin:68% 54%}
@keyframes opening-cut-in{from{opacity:.25;transform:scale(1.012)}to{opacity:1;transform:scale(1)}}
@media(max-width:820px){.opening-stage{gap:12px;padding:18px}.opening-frame,.opening-frame.has-image{min-height:430px}.opening-copy,.opening-frame.has-image .opening-copy{left:26px;bottom:30px;width:calc(100% - 52px);margin:0;padding:0}.opening-player{grid-template-columns:1fr;gap:12px}.opening-controls{justify-content:flex-start}.opening-scenes span{display:block}.opening-visual,.opening-visual.generated{min-height:0;transform:none}}
@media(max-width:580px){.opening-brand{grid-template-columns:1fr auto}.opening-brand>b{display:none}.opening-frame,.opening-frame.has-image{min-height:410px}.opening-copy h1,.opening-frame.has-image .opening-copy h1{font-size:36px}.opening-controls .opening-voice>span:last-child,.opening-controls .opening-transcript-button{display:none}.opening-controls .opening-continue{margin-left:auto;min-width:132px}.opening-scenes span{font-size:8px}}

.replay-quality{max-width:1120px;margin:26px auto;padding:24px 26px;border:1px solid #d9e1ea;border-left:4px solid #1769e0;border-radius:8px;background:#fff;color:#26364b}
.replay-quality.passed{border-left-color:#3f8d64}.replay-quality header{max-width:760px}.replay-quality h2{margin:6px 0 7px;font-size:22px;letter-spacing:-.025em}.replay-quality header p{margin:0;color:#687588;font-size:12px;line-height:1.55}.replay-quality>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:17px}.replay-quality>div span{padding:6px 9px;border:1px solid #dfe5ec;border-radius:4px;background:#f7f8fa;color:#58667a;font-size:9px;font-weight:700}.replay-quality ul{margin:16px 0 0;padding-left:19px;color:#3d4e64;font-size:11px;line-height:1.65}.replay-quality .quality-pass{margin:15px 0 0;color:#3f7055;font-size:11px;font-weight:650}
