/* Monitor + scene canvas. Scenes are laid out on a fixed 1280x720 stage that is scaled to fit. */
.monitor{position:relative;width:100%;aspect-ratio:16/9;background:var(--ident-black);border:1px solid var(--rule);border-radius:18px;overflow:hidden;box-shadow:0 30px 80px -30px rgba(0,0,0,.8)}
.monitor .strap{position:absolute;left:0;right:0;top:0;height:30px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;color:var(--bone-furn);z-index:5;background:linear-gradient(rgba(11,10,7,.9),rgba(11,10,7,0))}
.monitor .strap .l{display:flex;align-items:center;gap:8px}
.monitor .strap .recdot{width:8px;height:8px;border-radius:50%;background:var(--red);animation:blink 1.6s infinite}
.monitor .strap .dept{color:var(--bone)}
.monitor .viewport{position:absolute;inset:0}
.stage{position:absolute;left:0;top:0;width:1280px;height:720px;transform-origin:0 0}
.scene{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .45s ease,visibility 0s linear .45s;font-family:var(--f-body);color:var(--bone)}
.scene.on{opacity:1;visibility:visible;transition:opacity .45s ease}
.scene .cap{position:absolute;left:56px;bottom:36px;font-size:21px;color:var(--bone-dim);letter-spacing:.01em}
.scene .cap b{color:var(--bone);font-weight:600}
.scene .ttl{position:absolute;left:56px;top:66px;font-family:var(--f-display);text-transform:uppercase;font-size:44px;line-height:.92}
.scene .ttl .r{color:var(--red)}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.card{position:absolute;background:var(--ink-soft);border:1px solid var(--rule)}
.img{position:absolute;background-size:cover;background-position:center;border:1px solid var(--rule)}
.lab{font-size:14px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--bone-furn)}
.pill{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:16px;padding:6px 11px;border:1px solid var(--rule);color:var(--bone-dim);background:var(--ink)}
.pill i{width:8px;height:8px;border-radius:50%;background:var(--c,#8a857a);display:inline-block}
.stamp{position:absolute;font-family:var(--f-display);text-transform:uppercase;color:var(--red);border:5px solid var(--red);padding:6px 22px 2px;letter-spacing:.02em;line-height:1}
.vid{position:absolute;object-fit:cover;background:#000;border:1px solid var(--rule)}

/* S2 script */
.beat{position:absolute;left:56px;width:250px;height:58px;padding:10px 14px}
.beat .n{font-family:var(--f-mono);font-size:13px;color:var(--bone-furn)}
.beat .t{font-family:var(--f-display);font-size:21px;text-transform:uppercase;margin-top:3px}
.beat.hot{border-color:var(--red)}
.page{left:340px;top:130px;width:884px;height:470px;padding:22px 26px;background:#F2EEE3;color:#15130E;border:0}
.page .hd{display:grid;grid-template-columns:120px 1fr 1fr;font-size:13px;font-weight:700;letter-spacing:.2em;color:rgba(21,19,14,.5);border-bottom:2px solid #15130E;padding-bottom:8px}
.row{display:grid;grid-template-columns:120px 1fr 1fr;gap:0;padding:14px 0;border-bottom:1px solid rgba(21,19,14,.14);font-size:20px;line-height:1.45;min-height:70px}
.row .tc{font-family:var(--f-mono);font-size:14px;color:rgba(21,19,14,.5)}
.row .vo{padding-right:22px}
.row .px{color:rgba(21,19,14,.68);font-size:17px}
.type{white-space:pre-wrap}
.caret::after{content:'';display:inline-block;width:2px;height:1em;background:var(--red);vertical-align:-2px;margin-left:2px;animation:blink 1s infinite}

/* S3 fact */
.fpara{left:56px;top:140px;width:720px;padding:30px 34px;font-size:23px;line-height:1.75;color:var(--bone-dim)}
.claim{position:relative;padding:1px 3px;color:var(--bone);background-image:linear-gradient(var(--hl,rgba(34,197,94,.28)),var(--hl,rgba(34,197,94,.28)));background-size:0% 100%;background-repeat:no-repeat}
.claim.bad{--hl:rgba(200,73,58,.3)}
.src{position:absolute;left:810px;width:414px;padding:14px 16px;font-size:17px;line-height:1.5}
.src .q{color:var(--bone);font-style:italic}
.src .k{font-family:var(--f-mono);font-size:13px;color:var(--bone-furn);margin-top:6px;display:flex;align-items:center;gap:7px}
.src.bad{border-color:var(--red)}
.counts{position:absolute;left:56px;top:560px;display:flex;gap:12px}

/* S4 exec */
.scrub{position:absolute;left:56px;top:556px;width:760px;height:6px;background:rgba(239,234,221,.14)}
.scrub .p{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--bone)}
.mk{position:absolute;top:-9px;width:3px;height:24px;background:var(--red)}
.note{position:absolute;width:230px;padding:10px 12px;font-size:17px;line-height:1.4}
.note .tc{font-family:var(--f-mono);font-size:14px;color:var(--red);display:block;margin-bottom:3px}
.queue{left:856px;top:130px;width:368px;padding:16px 18px}
.qi{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--rule);font-size:18px}
.qi .s{font-family:var(--f-mono);font-size:13px;color:var(--bone-furn)}

/* S5 fan */
.fan-svg{position:absolute;left:0;top:0}
.flane{position:absolute;width:250px;height:132px;padding:16px 18px}
.flane .nm{font-family:var(--f-display);font-size:34px;text-transform:uppercase;line-height:1}
.flane .tl{font-family:var(--f-mono);font-size:14px;color:var(--bone-furn);margin-top:6px}
.flane .st{position:absolute;left:18px;bottom:14px}
.doc{left:525px;top:118px;width:230px;height:150px;padding:16px;background:#F2EEE3;color:#15130E;border:0}
.doc .t{font-family:var(--f-display);font-size:28px;text-transform:uppercase;line-height:1}
.doc .l{height:6px;background:rgba(21,19,14,.15);margin-top:9px}

/* S6 VO */
.vol{position:absolute;left:56px;width:500px;padding:10px 14px;font-size:18px;line-height:1.45}
.vol .tg{font-family:var(--f-mono);font-size:13px;color:var(--bone-furn);display:block;margin-bottom:2px}
.wave{position:absolute;left:600px;width:624px;height:64px;padding:8px 14px}
.wave .fn{font-family:var(--f-mono);font-size:15px;color:var(--bone)}
.wave .bars{display:flex;align-items:center;gap:3px;height:30px;margin-top:6px}
.wave .bars span{flex:1;background:var(--bone-dim);transform-origin:center;transform:scaleY(0)}
.zip{left:880px;top:560px;width:344px;padding:14px 18px;display:flex;align-items:center;gap:14px}
.zip .ic{width:34px;height:40px;border:2px solid var(--bone);position:relative}
.zip .ic::after{content:'';position:absolute;left:12px;top:0;width:6px;height:22px;background:repeating-linear-gradient(var(--bone) 0 3px,transparent 3px 6px)}
.guide{position:absolute;right:56px;top:58px}

/* S7 archive */
.line1{left:56px;top:136px;width:1168px;padding:16px 20px;font-size:22px}
.acard{position:absolute;width:212px;height:250px;padding:0 0 12px}
.acard .ph{height:150px;background-size:cover;background-position:center;filter:grayscale(1) sepia(.35) contrast(1.05)}
.acard .so{font-size:16px;color:var(--bone-dim);padding:10px 12px 0}
.acard .sh{position:absolute;left:12px;bottom:12px}
.log{left:56px;top:600px;width:1168px;padding:12px 16px;display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:15px;color:var(--bone-dim)}

/* S8 AI shots */
.mail{left:56px;top:136px;width:430px;padding:16px 18px;font-size:19px;line-height:1.5}
.mail .fr{font-family:var(--f-mono);font-size:13px;color:var(--bone-furn);margin-bottom:8px}
.req{left:56px;top:330px;width:430px;padding:16px 18px}
.req .t{font-family:var(--f-display);font-size:30px;text-transform:uppercase;line-height:1}
.req .m{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.rec{left:880px;top:136px;width:344px;padding:16px 18px;font-size:16px;line-height:1.55}
.rec .k{font-family:var(--f-mono);font-size:13px;color:var(--bone-furn);letter-spacing:.08em;margin-top:10px}
.rec .v{color:var(--bone)}

/* S9 finance */
.chart{left:56px;top:130px;width:800px;height:440px;padding:24px 28px}
.bar{position:absolute;bottom:56px;width:78px;background:var(--bone-dim);transform-origin:bottom;transform:scaleY(0)}
.bar.warn{background:var(--warn)}
.bl{position:absolute;bottom:22px;width:78px;text-align:center;font-family:var(--f-mono);font-size:15px;color:var(--bone-furn)}
.limit{position:absolute;left:28px;right:28px;border-top:2px dashed rgba(239,234,221,.4)}
.limit span{position:absolute;right:0;top:-24px;font-family:var(--f-mono);font-size:14px;color:var(--bone-furn)}
.kpi{left:890px;width:334px;padding:18px 20px}
.kpi .n{font-family:var(--f-display);font-size:64px;line-height:1}
.alert{left:890px;top:470px;width:334px;padding:14px 18px;border-color:var(--warn);font-size:18px}
.alert b{color:var(--warn)}

/* S10 delivery */
.sheet{left:520px;top:170px;width:704px;height:400px;overflow:hidden;background:#F2EEE3;color:#15130E;border:0}
.sheet .hd{position:relative;z-index:2;background:#F2EEE3;display:grid;grid-template-columns:150px 70px 1fr;padding:10px 14px;font-size:13px;font-weight:700;letter-spacing:.18em;color:rgba(21,19,14,.5);border-bottom:2px solid #15130E}
.sheet .rows{position:absolute;left:0;right:0;top:40px}
.sr{display:grid;grid-template-columns:150px 70px 1fr;padding:10px 14px;border-bottom:1px solid rgba(21,19,14,.12);font-size:16px}
.sr .tc{font-family:var(--f-mono);font-size:14px;color:rgba(21,19,14,.55)}
.sr .ty{font-family:var(--f-mono);font-size:13px;font-weight:600}
.tabs{position:absolute;left:520px;top:126px;display:flex;gap:6px}
.tab{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:8px 12px;border:1px solid var(--rule);color:var(--bone-furn);background:var(--ink)}
.tab.done{color:var(--bone);border-color:var(--bone-faint)}
.tab.done::before{content:'✓ ';color:var(--ok)}

.wave2 span{flex:1;background:var(--bone-dim);transform-origin:center;transform:scaleY(0)}
@media(prefers-reduced-motion:reduce){.monitor .strap .recdot,.caret::after{animation:none}}
