@property --accent{syntax: "<color>"; inherits: true; initial-value: #5fe0c8;}@property --accent-2{syntax: "<color>"; inherits: true; initial-value: #2b8fa8;}:root{color-scheme:dark;--ink: #eef6f8;--ink-dim: rgba(238, 246, 248, .62);--ink-faint: rgba(238, 246, 248, .34);--font-sans: "Inter", "Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: "SFMono-Regular", "JetBrains Mono", Consolas, monospace}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:rgba(238,246,248,.24) transparent}@media(pointer:coarse){html{scroll-snap-type:y mandatory}}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#eef6f838;border-radius:5px}body{margin:0;min-height:100%;background:#041018;color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:--accent 1.2s ease,--accent-2 1.2s ease}body[data-zone=surface]{--accent: #c4f1ff;--accent-2: #5fd3e8}body[data-zone=sunlit]{--accent: #ffd47e;--accent-2: #6fe3d6}body[data-zone=twilight]{--accent: #93a9ff;--accent-2: #4b62c9}body[data-zone=midnight]{--accent: #5fffd0;--accent-2: #ff5fd2}body[data-render-state=loading] .story,body[data-render-state=loading] .site-header,body[data-render-state=loading] .depth-readout,body[data-render-state=loading] .depth-gauge{opacity:0}body[data-render-state=ready] .story,body[data-render-state=ready] .site-header,body[data-render-state=ready] .depth-readout,body[data-render-state=ready] .depth-gauge{opacity:1;transition:opacity .9s ease}.loading-screen{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.4rem;background:radial-gradient(circle at 50% 35%,#0a3242,#020a12 72%);transition:opacity .7s ease,visibility .7s ease}body[data-render-state=ready] .loading-screen,body[data-render-state=error] .loading-screen{opacity:0;visibility:hidden}.loader-ring{width:46px;height:46px;border:2px solid rgba(255,255,255,.14);border-top-color:#5fe0c8;border-radius:50%;animation:spin 1.1s linear infinite}.loader-text{font-size:.82rem;letter-spacing:.22em;color:var(--ink-dim);text-transform:uppercase}@keyframes spin{to{transform:rotate(360deg)}}.scene-canvas{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:0;touch-action:pan-y;cursor:grab}.scene-canvas[data-dragging=true]{cursor:grabbing}.scene-vignette{position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 42%,transparent 36%,rgba(1,6,12,.62) 100%),linear-gradient(to bottom,rgba(1,6,12,.45) 0%,transparent 24%),linear-gradient(to top,rgba(1,6,12,.55) 0%,transparent 26%)}.site-header{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:clamp(1rem,2.6vw,1.9rem) clamp(1.1rem,4vw,3rem);pointer-events:none}.brand{pointer-events:auto;display:flex;flex-direction:column;gap:.15rem;text-decoration:none;color:var(--ink)}.brand b{font-size:.86rem;font-weight:650;letter-spacing:.16em;text-shadow:0 2px 14px rgba(0,0,0,.8)}.brand small{font-size:.66rem;letter-spacing:.32em;color:var(--ink-faint)}.render-status{margin:0;display:flex;align-items:center;gap:.45rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;color:var(--ink-dim);text-shadow:0 2px 12px rgba(0,0,0,.8)}.render-status i{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent);animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.depth-readout{position:fixed;right:clamp(1.1rem,4vw,3rem);bottom:clamp(1.1rem,3vw,2.2rem);z-index:20;margin:0;display:flex;align-items:baseline;gap:.35rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.18em;color:var(--ink-faint);text-shadow:0 2px 12px rgba(0,0,0,.85)}.depth-readout b{display:inline-block;min-width:2.6ch;text-align:right;font-size:1.35rem;font-weight:500;letter-spacing:.04em;color:var(--ink);font-variant-numeric:tabular-nums;transform-origin:right bottom;transition:transform .5s cubic-bezier(.22,1,.36,1),color .5s ease}body[data-transit] .depth-readout b{transform:scale(1.9);color:var(--accent)}.story{position:relative;z-index:10;pointer-events:none}.story-panel{min-height:100vh;min-height:100svh;scroll-snap-align:start;display:flex;align-items:center;padding:clamp(5rem,12vh,8rem) clamp(1.1rem,5vw,4rem)}.panel-body{width:100%;max-width:42rem;pointer-events:auto;padding:clamp(1.5rem,3.4vw,2.6rem) 0;opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.22,1,.36,1)}.story-panel[data-active] .panel-body{opacity:1;transform:none}.eyebrow{margin:0 0 1.1rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);text-shadow:0 2px 16px rgba(0,0,0,.8)}.hero-title-en{margin:0 0 1.2rem;font-size:clamp(2.1rem,6.4vw,4.4rem);font-weight:700;line-height:1.05;letter-spacing:-.02em;text-shadow:0 6px 40px rgba(0,0,0,.8)}.hero-subtitle{margin:0;max-width:34rem;font-size:clamp(.95rem,1.9vw,1.14rem);line-height:1.75;color:var(--ink-dim);text-shadow:0 2px 20px rgba(0,0,0,.85)}.story-panel h2{margin:0 0 1.6rem;font-size:clamp(1.4rem,3.4vw,2.1rem);font-weight:620;letter-spacing:.01em;line-height:1.3;text-shadow:0 2px 24px rgba(0,0,0,.65)}.panel-copy{margin:0 0 1.8rem;max-width:32rem;font-size:1rem;line-height:1.8;color:var(--ink-dim);text-shadow:0 2px 16px rgba(0,0,0,.75)}.scroll-cue{margin-top:2.6rem;display:flex;align-items:center;gap:.8rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.24em;color:var(--ink-faint)}.scroll-cue i{display:block;width:54px;height:1px;background:linear-gradient(to right,var(--accent),transparent);animation:slide 2.6s ease-in-out infinite}@keyframes slide{0%,to{transform:translate(0);opacity:.5}50%{transform:translate(14px);opacity:1}}.panel-hint{margin:0;display:inline-flex;align-items:center;gap:.65rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.16em;color:var(--ink-dim);text-shadow:0 1px 12px rgba(0,0,0,.8)}.panel-hint i{flex:none;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent);animation:pulse 2s ease-in-out infinite}.hint-coarse{display:none}@media(pointer:coarse){.hint-fine{display:none}.hint-coarse{display:inline}}.panel-surface{justify-content:center;align-items:flex-end;padding-bottom:clamp(5rem,14vh,9rem);text-align:center}.panel-surface .panel-body{max-width:54rem}.panel-surface .hero-title-en{font-size:clamp(2.6rem,9.5vw,7rem);letter-spacing:-.035em}.panel-surface .hero-subtitle{margin:0 auto 1.8rem}.panel-surface .scroll-cue{justify-content:center;margin-top:2rem}.panel-sunlit{position:relative;overflow:hidden}.panel-numeral{position:absolute;right:clamp(-1rem,2vw,3rem);top:50%;font-size:clamp(9rem,30vw,28rem);font-weight:800;line-height:.8;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--accent) 45%,transparent);pointer-events:none;user-select:none;opacity:0;transform:translateY(-38%);transition:opacity 1.2s ease,transform 1.4s cubic-bezier(.22,1,.36,1)}.panel-numeral small{font-size:.22em;letter-spacing:.1em;margin-left:.15em}.panel-sunlit[data-active] .panel-numeral{opacity:1;transform:translateY(-50%)}.panel-sunlit h2{font-size:clamp(1.7rem,4.2vw,2.8rem);font-weight:700}.panel-sunlit .panel-copy{max-width:28rem}.panel-twilight{justify-content:center;align-items:flex-end;padding-bottom:clamp(4.5rem,13vh,8rem);text-align:center}.panel-twilight .panel-body{max-width:27rem}.panel-twilight h2{font-size:clamp(1.3rem,2.6vw,1.75rem);font-weight:300;letter-spacing:.32em;margin-bottom:1.3rem}.panel-twilight .panel-copy{margin:0 auto 1.6rem;font-size:.9rem;line-height:2}.panel-midnight{align-items:flex-end;padding-bottom:clamp(3rem,8vh,5rem)}.panel-midnight .panel-body{max-width:34rem}.panel-midnight .eyebrow{margin-bottom:.7rem}.panel-midnight h2{font-size:clamp(1.05rem,1.8vw,1.3rem);font-weight:500;margin-bottom:.6rem;color:var(--ink-dim)}.panel-midnight .panel-copy{margin-bottom:1.2rem;font-size:.86rem;color:var(--ink-faint)}.panel-midnight .panel-hint i{background:var(--accent-2);box-shadow:0 0 14px var(--accent-2)}.panel-footer{margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.16em;color:var(--ink-faint);text-shadow:0 1px 10px rgba(0,0,0,.65)}.depth-gauge{--track-h: min(46vh, 26rem);--depth-frac: 0;position:fixed;left:clamp(1.6rem,3vw,2.6rem);top:50%;z-index:20;height:var(--track-h);transform:translateY(-50%);pointer-events:none;font-family:var(--font-mono)}.gauge-track{position:relative;width:1px;height:100%;background:#eef6f829}.gauge-band{position:absolute;left:-1px;width:3px;top:calc(var(--from) * 100%);height:calc((var(--to) - var(--from)) * 100%);background:#eef6f81f;transition:background .8s ease,box-shadow .8s ease}.gauge-band em{position:absolute;left:-.5rem;top:50%;transform:translate(-100%,-50%);writing-mode:vertical-rl;font-style:normal;font-size:.6rem;letter-spacing:.4em;color:var(--ink-faint);opacity:0;transition:opacity .8s ease,color .8s ease}body[data-zone=sunlit] .gauge-band[data-band=sunlit],body[data-zone=twilight] .gauge-band[data-band=twilight],body[data-zone=midnight] .gauge-band[data-band=midnight]{background:var(--accent);box-shadow:0 0 10px var(--accent)}body[data-zone=sunlit] .gauge-band[data-band=sunlit] em,body[data-zone=twilight] .gauge-band[data-band=twilight] em,body[data-zone=midnight] .gauge-band[data-band=midnight] em{opacity:1;color:var(--accent)}.gauge-tick{position:absolute;left:.6rem;top:calc(var(--at) * 100%);transform:translateY(-50%);font-size:.56rem;letter-spacing:.08em;color:var(--ink-faint)}.gauge-tick:before{content:"";position:absolute;left:-.6rem;top:50%;width:.35rem;height:1px;background:#eef6f859}.gauge-marker{position:absolute;left:0;top:calc(var(--depth-frac) * 100%);width:9px;height:9px;border-radius:50%;transform:translate(-50%,-50%);background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent),0 0 16px var(--accent)}.gauge-stats{position:absolute;left:3.4rem;top:calc(var(--depth-frac) * var(--track-h));transform:translateY(-50%);margin:0;display:grid;gap:.25rem;font-size:.6rem;letter-spacing:.12em;white-space:nowrap;text-shadow:0 1px 10px rgba(0,0,0,.9)}.gauge-stats div{display:flex;gap:.6rem}.gauge-stats dt{color:var(--accent);opacity:.85}.gauge-stats dd{margin:0;color:var(--ink-dim);font-variant-numeric:tabular-nums}@media(min-width:641px){.story-panel{padding-left:clamp(12.5rem,18vw,15rem)}.panel-surface,.panel-twilight{padding-right:clamp(12.5rem,18vw,15rem)}}.layer-flash{position:fixed;inset:0;z-index:15;pointer-events:none;display:grid;place-items:center;opacity:0;background:#0104088c}.layer-flash-band{position:absolute;left:0;right:0;top:100%;height:22vh;background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--accent) 16%,transparent) 50%,transparent)}.layer-flash-label{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.42em;color:var(--accent);text-shadow:0 0 18px color-mix(in srgb,var(--accent) 60%,transparent)}.layer-flash.is-crossing{animation:layer-dim 1.3s ease-out}.layer-flash.is-crossing .layer-flash-band{animation:layer-sweep 1.3s cubic-bezier(.3,.6,.4,1)}@keyframes layer-dim{0%{opacity:0}18%{opacity:1}to{opacity:0}}@keyframes layer-sweep{0%{transform:translateY(0)}to{transform:translateY(-122vh)}}.noscript-message{position:fixed;inset:0;z-index:50;display:grid;place-items:center;margin:0;padding:2rem;text-align:center;background:#041018;color:var(--ink-dim);font-size:.95rem}@media(max-width:640px){.story-panel{align-items:flex-end;padding-bottom:clamp(3.5rem,10vh,6rem)}.depth-readout{bottom:auto;top:clamp(4.2rem,12vw,5.4rem)}.depth-gauge{left:auto;right:clamp(1.1rem,4vw,3rem);top:clamp(6.6rem,19vw,7.8rem);height:auto;transform:none}.gauge-track{display:none}.gauge-stats{position:static;transform:none;display:flex;gap:.9rem}.gauge-stats div{gap:.35rem}.panel-numeral{top:34%;font-size:44vw}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;scroll-snap-type:none}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
