:root{color-scheme:dark;--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:PingFang SC,Microsoft YaHei,Source Han Sans SC,system-ui,-apple-system,Segoe UI,sans-serif;-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))}.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;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-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)}.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)}.replay{margin-top:28px;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}.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{opacity:1;transform:none}.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:"当前浏览器不支持 WebGL，无法渲染极光与海浪场景。";position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;font-size:14px;letter-spacing:.12em;color:var(--ink-dim)}@media(max-width:640px){.site-header,.story-panel{padding-left:20px;padding-right:20px}.render-status{display:none}.chapter-dots{right:10px}.panel-footer{flex-direction:column;gap:8px}}@media(prefers-reduced-motion:reduce){.render-status i,.loader-ring,.scroll-cue i{animation:none}.story-panel .panel-body{opacity:1;transform:none;transition:none}}
