@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-vietnamese-wght-normal.D0rl6rjA.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-ext-wght-normal.D9tNdqV9.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-wght-normal.BhU9QXUp.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-latin-400-normal.V6pRDFza.woff2) format("woff2"),url(/_astro/jetbrains-mono-latin-400-normal.6-qcROiO.woff) format("woff")}@font-face{font-family:CJK Punctuation;src:local("PingFang SC"),local("PingFangSC-Regular"),local("Microsoft YaHei"),local("MicrosoftYaHei"),local("Noto Sans CJK SC"),local("NotoSansCJKsc-Regular"),local("Source Han Sans SC");unicode-range:U+2014,U+2026,U+2018-2019,U+201C-201D}:root{color-scheme:dark;--font-sans: "CJK Punctuation", "Space Grotesk Variable", "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", system-ui, sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, "PingFang SC", "Microsoft YaHei", monospace;--ink: #e7ecf4;--ink-dim: rgba(231, 236, 244, .56);--ink-faint: rgba(231, 236, 244, .32);--accent: #7dffc4;--accent-warm: #ffc98a;--ease-out: cubic-bezier(.22, 1, .36, 1)}*{margin:0;padding:0;box-sizing:border-box}body{background:#01030a;color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}.scene-canvas{position:fixed;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity 1.2s var(--ease-out)}body[data-render-state=ready] .scene-canvas{opacity:1}.scene-vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse 120% 90% at 50% 42%,transparent 56%,rgba(0,1,4,.55) 100%),linear-gradient(to bottom,rgba(0,1,4,.42),transparent 22%,transparent 76%,rgba(0,1,4,.5))}.text-scrim{position:fixed;inset:0;pointer-events:none;background:linear-gradient(to right,#000104a8,#0001046b 34%,#00010400 62%);opacity:var(--scrim, .2)}.loading-screen{position:fixed;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#01030a;transition:opacity .8s var(--ease-out),visibility .8s}body[data-render-state=ready] .loading-screen,body[data-render-state=error] .loading-screen{opacity:0;visibility:hidden}.loader-ring{width:44px;height:44px;border-radius:50%;border:1px solid rgba(125,255,196,.18);border-top-color:var(--accent);animation:loader-spin 1.1s linear infinite}@keyframes loader-spin{to{transform:rotate(360deg)}}.loader-text{font-size:12px;letter-spacing:.35em;color:var(--ink-dim)}.site-header{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:28px 36px;pointer-events:none}.brand{pointer-events:auto;display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--ink)}.brand b{font-size:13px;font-weight:600;letter-spacing:.28em}.brand small{font-size:10px;letter-spacing:.3em;color:var(--ink-faint)}.hud{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.scene-readout{font-size:11px;letter-spacing:.22em;color:var(--accent);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-shadow:0 0 12px rgba(0,1,4,.9)}.render-status{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.22em;color:var(--ink-dim)}.render-status i{width:6px;height:6px;border-radius:50%;background:#6fe38b;box-shadow:0 0 8px #6fe38bcc;animation:status-pulse 2.4s ease-in-out infinite}@keyframes status-pulse{50%{opacity:.35}}.story{position:relative;z-index:5;pointer-events:none}.story-panel{min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:120px 36px 96px;max-width:660px}.panel-body{pointer-events:auto;user-select:text;opacity:.16;transform:translateY(46px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}.story-panel[data-active] .panel-body{opacity:1;transform:none}.eyebrow{font-size:11px;letter-spacing:.42em;color:var(--accent);margin-bottom:14px;text-shadow:0 0 10px rgba(0,1,4,.9)}.eyebrow span{white-space:nowrap}.story-panel h1{font-size:clamp(52px,8vw,96px);font-weight:700;line-height:1.05;letter-spacing:.1em;text-shadow:0 0 60px rgba(125,255,196,.26)}.story-panel h2{font-size:clamp(34px,5vw,56px);font-weight:700;line-height:1.15;letter-spacing:.06em;text-shadow:0 0 50px rgba(125,255,196,.2)}.hero-subtitle,.panel-copy{margin-top:18px;font-size:14px;line-height:1.9;color:var(--ink-dim);letter-spacing:.06em;text-shadow:0 0 12px rgba(0,1,4,.9),0 1px 3px rgba(0,1,4,.8)}.scroll-cue{margin-top:42px;display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.32em;color:var(--ink-faint)}.scroll-cue i{width:1px;height:40px;background:linear-gradient(to bottom,var(--accent),transparent);animation:cue-drop 1.8s var(--ease-out) infinite}@keyframes cue-drop{0%{transform:scaleY(0);transform-origin:top}55%{transform:scaleY(1);transform-origin:top}56%{transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}.panel-footer{margin-top:64px;display:flex;gap:28px;font-size:10px;letter-spacing:.3em;color:var(--ink-faint)}.panel-end{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px}.replay{padding:10px 18px;background:transparent;border:1px solid rgba(125,255,196,.35);border-radius:999px;color:var(--accent);font:inherit;font-size:10px;letter-spacing:.32em;cursor:pointer;transition:border-color .3s var(--ease-out),background .3s var(--ease-out)}.replay:hover{border-color:#7dffc4bf;background:#7dffc414}.end-link{text-decoration:none;border-color:#ffc98a66;color:var(--accent-warm)}.end-link:hover{border-color:#ffc98acc;background:#ffc98a14}.replay:focus-visible,.sound-toggle:focus-visible,.chapter-dot:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.sound-toggle{pointer-events:auto;display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border:1px solid rgba(231,236,244,.22);border-radius:999px;background:#01030a66;color:var(--ink-dim);font:inherit;font-size:11px;letter-spacing:.12em;cursor:pointer;transition:border-color .3s var(--ease-out),color .3s var(--ease-out)}.sound-toggle:hover,.sound-toggle[aria-pressed=true]{border-color:var(--accent);color:var(--ink)}.sound-bars{display:inline-flex;align-items:flex-end;gap:2px;height:10px}.sound-bars i{width:2px;height:3px;background:currentColor;border-radius:1px}.sound-toggle[aria-pressed=true] .sound-bars i{animation:sound-bar .9s ease-in-out infinite alternate}.sound-toggle[aria-pressed=true] .sound-bars i:nth-child(2){animation-delay:-.3s}.sound-toggle[aria-pressed=true] .sound-bars i:nth-child(3){animation-delay:-.6s}@keyframes sound-bar{0%{height:3px}to{height:10px}}.chapter-dots{position:fixed;right:22px;top:50%;z-index:10;display:flex;flex-direction:column;gap:14px;transform:translateY(-50%)}.chapter-dot{width:9px;height:9px;padding:0;border-radius:50%;border:1px solid rgba(231,236,244,.35);background:transparent;cursor:pointer;transition:border-color .3s var(--ease-out),background .3s var(--ease-out),box-shadow .3s var(--ease-out)}.chapter-dot:hover{border-color:var(--accent)}.chapter-dot.is-active{border-color:var(--accent);background:var(--accent);box-shadow:0 0 10px #7dffc4b3}.site-header{opacity:0;transform:translateY(14px);transition:opacity 1s var(--ease-out) .35s,transform 1s var(--ease-out) .35s}body[data-render-state=ready] .site-header,body[data-render-state=error] .site-header{opacity:1;transform:none}body[data-render-state=error] .scene-readout,body[data-render-state=error] .render-status{visibility:hidden}.noscript-message{position:fixed;inset:auto 0 50%;z-index:30;text-align:center;font-size:14px;color:var(--ink-dim)}body[data-render-state=error]:after{content:attr(data-render-error);position:fixed;left:50%;bottom:28px;z-index:30;max-width:calc(100% - 40px);padding:10px 18px;transform:translate(-50%);border:1px solid rgba(231,236,244,.18);border-radius:999px;background:#01030ad1;font-size:12px;letter-spacing:.08em;color:var(--ink-dim);text-align:center}@media(max-width:640px){.site-header{padding-left:20px;padding-right:20px}.story-panel{padding-left:20px;padding-right:40px}.text-scrim{background:linear-gradient(to bottom,#00010400 18%,#00010480 38% 72%,#00010400 92%)}.render-status{display:none}.brand b{font-size:12px;letter-spacing:.16em}.brand small{display:none}.scene-readout{letter-spacing:.08em;white-space:nowrap}.chapter-dots{right:10px}.panel-footer{flex-direction:column;gap:8px}}@media(prefers-reduced-motion:reduce){.render-status i,.loader-ring,.scroll-cue i,.sound-toggle[aria-pressed=true] .sound-bars i{animation:none}.story-panel .panel-body{opacity:1;transform:none;transition:none}}
