:root{color-scheme:dark;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif;background:#030911;color:#dcebf2;--p:0;--cyan:#69f3e4}*{box-sizing:border-box}body{margin:0}a{color:inherit}button{font:inherit;cursor:pointer;color:inherit}a,button,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #b7fff4;outline-offset:4px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.scene{height:100svh;position:sticky;top:0;overflow:hidden;background:#040c17}.art,.shade,.shot{position:absolute;inset:0}.art{z-index:0}.shot{transform-origin:center;will-change:filter,transform}.shot img,.shot video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.shot video{opacity:0}.shot video[data-ready=true]{opacity:1}.shot-far{opacity:0;visibility:hidden}.shot-camera{z-index:2;display:none;opacity:0}.shot-camera video{opacity:1}.shade{z-index:1;pointer-events:none;background:linear-gradient(90deg,#0208158c,transparent 45%,#020b1540),linear-gradient(0deg,#010611cc,transparent 25%,transparent 80%,#02081570)}header{position:absolute;z-index:3;top:38px;left:4%;right:4%;display:flex;align-items:center;justify-content:space-between}.brand{font-size:26px;letter-spacing:-1px;text-decoration:none;font-weight:600}.brand span{color:var(--cyan)}.header-tools{display:flex;gap:24px;align-items:center}.view-label{font-size:10px;color:#96c4cc;letter-spacing:3px}#media-pause{border:0;border-bottom:1px solid #71cfc950;background:transparent;font-size:10px;padding:6px 0;color:#a8c7cf}.frame{position:absolute;z-index:2;inset:100px 3% 72px;border:1px solid #74cfd01c;pointer-events:none}.frame i{position:absolute;width:20px;height:20px;border:solid #74cfd066}.frame i:nth-child(1){left:-1px;top:-1px;border-width:1px 0 0 1px}.frame i:nth-child(2){right:-1px;top:-1px;border-width:1px 1px 0 0}.frame i:nth-child(3){bottom:-1px;left:-1px;border-width:0 0 1px 1px}.frame i:nth-child(4){right:-1px;bottom:-1px;border-width:0 1px 1px 0}.frame-label,.frame-progress{position:absolute;font:9px monospace;letter-spacing:2px;background:#04131be6;padding:0 7px;color:#92b8c3}.frame-label{left:23px;top:-7px}.frame-progress{right:23px;bottom:-7px}.frame-line{position:absolute;left:0;top:15%;width:1px;height:40px;background:linear-gradient(transparent,#8af7df,transparent);opacity:.6}body[data-entered=true] .frame-line{animation:frame-scan 12s linear infinite}@keyframes frame-scan{to{top:82%}}.intro{position:absolute;z-index:3;left:49%;top:29%;max-width:390px;opacity:calc(1 - var(--p)*1.4);transform:translateY(calc(var(--p)*-35px));pointer-events:none;text-shadow:0 2px 24px #000}.eyebrow{font:10px monospace;letter-spacing:3px;color:var(--cyan)}h1{font-size:clamp(24px,2.5vw,36px);line-height:1.4;letter-spacing:1px;margin:20px 0}p{color:#b1c5ce;font-size:13px;line-height:1.9}.intro p{border-left:1px solid #70d8d770;padding-left:14px}footer{position:absolute;z-index:3;bottom:35px;left:4%;right:4%;display:flex;justify-content:space-between;font:10px monospace;letter-spacing:2px;color:#b1cbd3}.spacer{height:260svh;margin-top:-100svh;pointer-events:none}.end-note{position:relative;background:#030b13;padding:100px 8%;min-height:350px}.end-note h2{font-size:32px;font-weight:400}.end-note p{max-width:580px}.end-note a{font-size:12px;display:inline-block;margin-top:20px;text-decoration:none;color:var(--cyan)}.controls{position:fixed;z-index:50;bottom:90px;left:4%;width:340px;padding:12px;background:#04121def;border:1px solid #45788477;font-size:11px}.controls button,.controls a{font-size:11px;background:#102735;border:1px solid #467783;padding:6px;text-decoration:none}.controls label{display:flex;gap:10px;margin:12px 0}.controls p{font-size:10px}.controls input{min-width:0;flex:1}.controls [aria-pressed=true]{border-color:var(--cyan)}.entry{position:fixed;inset:0;z-index:100;background:#030b13;overflow:hidden;transition:opacity .35s,visibility .35s;pointer-events:none}.entry pre{margin:0;position:absolute;inset:-30% -5%;font:clamp(12px,1.6vw,20px)/2 monospace;letter-spacing:1.4em;color:#5de9c0;opacity:.25;white-space:pre;transform:perspective(800px) rotateX(18deg) scale(1.3);mask-image:radial-gradient(ellipse,#000,transparent 70%);animation:numeric-drift 2.4s linear infinite}.entry[data-variant=terminal] pre{inset:8% 9%;letter-spacing:.34em;line-height:1.65;opacity:.55;transform:none;mask-image:linear-gradient(transparent,#000 15%,#000 75%,transparent);animation:terminal-drift 1.8s linear infinite}.entry-scan{position:absolute;inset:0;background:linear-gradient(transparent 46%,#61eec233 50%,transparent 54%);animation:entry-scan 1.7s linear infinite}.entry-grid{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,#020b1366 3px 4px)}.entry.leaving,body[data-entered=true] .entry{opacity:0;visibility:hidden;pointer-events:none}@keyframes entry-scan{from{transform:translateY(-80%)}to{transform:translateY(80%)}}@keyframes numeric-drift{to{translate:0 40px}}@keyframes terminal-drift{to{translate:0 -70px}}
@media(max-width:650px){header{top:25px;left:6%;right:6%}.brand{font-size:23px}.header-tools{gap:12px}.view-label{font-size:8px;letter-spacing:1px}#media-pause{font-size:9px}.intro{left:auto;right:6%;top:16%;max-width:150px}h1{font-size:17px;line-height:1.6;margin:14px 0}.intro p{display:none}.eyebrow{font-size:8px;letter-spacing:2px}.intro .eyebrow{font-size:6px;letter-spacing:1px}.shot img,.shot video{object-position:35% center}.frame{inset:83px 4% 65px}.frame-label,.frame-progress{font-size:7px}footer{bottom:28px;font-size:8px;letter-spacing:1px}.scroll-hint{display:none}.end-note{padding:70px 7%}.controls{width:290px}.entry pre{letter-spacing:.5em}.entry[data-variant=terminal] pre{font-size:12px;letter-spacing:.2em}}
@media(max-height:550px) and (min-width:651px){header{top:15px}.frame{inset:60px 3% 45px}.intro{top:22%;max-width:280px}h1{font-size:22px}.wheel.wheel--focused{top:12%;height:76%;min-height:0}.end-note{padding:50px 8%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.entry{display:none}}

/* Base HTML remains navigable even when the module request is unusually slow. */
.wheel:has(.static-nav){position:absolute;right:4%;top:30%;width:140px;z-index:5}.static-nav{display:grid;gap:8px;max-height:48svh;overflow:auto}.static-nav a{padding:8px 15px;text-decoration:none;background:#071d2bef;border:1px solid #60a6ad55;font-size:12px}

/* The frame is an active interface layer, independent of the frozen footage. */
.frame-line{width:2px;height:100px;opacity:1;box-shadow:0 0 14px #60ffe0}body[data-entered=true] .frame-line{animation:frame-scan 2.7s linear infinite}.frame::after{content:"";position:absolute;left:6%;right:6%;top:-1px;height:2px;background:linear-gradient(90deg,transparent,#68ffe8 45%,#d3fff8 50%,transparent 62%);background-size:300% 100%;opacity:.75;animation:edge-current 3s linear infinite;pointer-events:none}.brand{background:linear-gradient(100deg,#dcebf2 10%,#8cf9de 35%,#fff 50%,#c1ebf4 65%,#dcebf2 90%);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:brand-flow 5s ease-in-out infinite}.intro .eyebrow{display:inline-block;animation:signal-lift 2.4s ease-in-out infinite}.intro .eyebrow::before{content:"";display:inline-block;margin-right:9px;width:5px;height:5px;background:#8dffe9;box-shadow:0 0 12px #4bffce;animation:signal-dot 1.6s ease-in-out infinite}@keyframes edge-current{to{background-position:150% 0}}@keyframes brand-flow{50%{background-position:100% 0}}@keyframes signal-lift{50%{translate:0 -4px;text-shadow:0 0 15px #66e6ca}}@keyframes signal-dot{50%{scale:1.8;opacity:.35}}
.site-content-frame { position:fixed; inset:0; width:100%; height:100%; border:0; z-index:40; background:#0b121d; }
.site-content-frame[hidden] { display:none; }
body.site-subpage-open { overflow:hidden; }
body.site-subpage-open > .music { position:fixed; inset:auto auto 16px 18px; z-index:50; background:#071622ef; padding:0 12px; border-radius:4px; }

body.site-subpage-open > .music .music-volume { inset:auto auto 38px 0; }
