#story{position:relative}.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--bg)}.shot{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;opacity:0;visibility:hidden}.shot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#07090b;opacity:var(--dim,.18)}.shot img{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform;max-width:none}.shade{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0}.backdrop3d{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;background:radial-gradient(ellipse 60% 70% at var(--gx,66%) 52%,#1d2329 0%,#0e1114 55%,#07090b 100%)}#gl{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;opacity:0;touch-action:pan-y}#gl.live{cursor:grab}#gl.drag{cursor:grabbing}.grade{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,#07090b9e,#07090b40 38%,#07090b00 60%),linear-gradient(180deg,#07090b8c,#07090b00 18%,#07090b00 52%,#07090bd1),radial-gradient(ellipse 120% 90% at 50% 50%,#07090b00 55%,#07090b8c)}.grain{position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;pointer-events:none;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.2s steps(6) infinite}@keyframes grain{0%{transform:translate(0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}to{transform:translate(0)}}.copy{position:absolute;opacity:0;visibility:hidden;will-change:transform,opacity;text-shadow:0 2px 30px rgba(0,0,0,.45)}.copy[data-a="-1"]{opacity:1;visibility:visible}.copy.left{left:6vw;bottom:12vh;max-width:min(600px,88vw)}.copy.top{left:6vw;top:15vh;max-width:min(560px,88vw)}.copy.center{left:0;right:0;top:50%;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 24px}.copy.center .hero-h{align-items:center}html.cjk .copy .h2{width:max-content;max-width:88vw}.copy.center .eyebrow{color:var(--ink-2)}.copy.center .eyebrow:before{display:none}.copy.center .lede{text-align:center}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:26px;padding-top:18px;border-top:1px solid rgba(242,239,233,.25)}.stats b{display:block;font-size:40px;font-weight:800;font-stretch:75%}.stats span{font-size:13px;color:var(--ink-2)}.caption{position:absolute;right:40px;bottom:30px;margin:0;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);opacity:0;display:flex;align-items:center;gap:10px}.caption:before{content:"";width:22px;height:1px;background:var(--accent)}.cue{position:absolute;left:50%;bottom:30px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;font-family:var(--mono);font-size:11px;letter-spacing:.24em;color:var(--ink-2)}.cue i{display:block;width:1px;height:46px;background:var(--accent);animation:cue 1.8s ease-in-out infinite}@keyframes cue{0%{transform:scaleY(0);transform-origin:top}49%{transform:scaleY(1);transform-origin:top}51%{transform:scaleY(1);transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}.rail{position:absolute;right:28px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:16px;z-index:5}.rail button{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:flex-end;gap:12px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);min-height:24px}.rail button i{width:8px;height:8px;border-radius:50%;border:1px solid var(--ink-3);transition:all .3s}.rail button span{opacity:0;transform:translate(6px);transition:all .3s}.rail:hover button span,.rail button.on span{opacity:1;transform:none}.rail button.on{color:var(--ink)}.rail button.on i{background:var(--accent-fill);border-color:var(--accent);transform:scale(1.25)}.skip{position:absolute;left:40px;bottom:30px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);text-decoration:none;z-index:5}.skip:hover{color:var(--ink)}.labels{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.labels svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.lbl{position:absolute;left:0;top:0;white-space:nowrap;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:0}.lbl small{display:block;font-family:var(--zh);font-weight:400;font-size:12px;letter-spacing:.1em;color:var(--ink-2);text-transform:none}html.cjk .lbl{font-family:var(--zh);font-size:14px;letter-spacing:.08em}html.cjk .lbl small{font-family:var(--sans);text-transform:uppercase;font-size:11px}.ctrl{position:absolute;left:50%;bottom:28px;transform:translate(-50%);display:flex;gap:8px;padding:6px;border:1px solid var(--line);border-radius:999px;background:#07090b99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;pointer-events:none;transition:opacity .4s;z-index:6}.ctrl.on{opacity:1;pointer-events:auto}.ctrl button{min-height:40px;padding:0 16px;border-radius:999px;border:0;background:transparent;color:var(--ink);font:700 12px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;white-space:nowrap}html.cjk .ctrl button{font-family:var(--zh);font-size:13px}.ctrl button:hover{background:#f2efe914}.ctrl button[aria-pressed=true]{background:var(--accent-fill);color:var(--on-accent)}.ctrl .hint{display:flex;align-items:center;padding:0 12px 0 6px;font-family:var(--mono);font-size:11px;color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.rec .nav,.rec .rail,.rec .skip,.rec .ctrl,.rec .cue{display:none!important}.rec,.rec *{cursor:none!important}@media (max-width:820px){.rail,.skip{display:none}.copy.left,.copy.top{left:16px;right:16px;max-width:none;bottom:96px;top:auto}.caption{right:16px;bottom:16px}.stats b{font-size:30px}.ctrl .hint{display:none}}
