@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(../media/be-vietnam-pro-vietnamese-400-normal.1pwu3v5_twm1d.woff2)format("woff2"),url(../media/be-vietnam-pro-vietnamese-400-normal.0sssa-e6tuv_9.woff)format("woff")}
@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(../media/be-vietnam-pro-vietnamese-500-normal.2he4sf8_cpynl.woff2)format("woff2"),url(../media/be-vietnam-pro-vietnamese-500-normal.2u2mzdl2dm9f3.woff)format("woff")}
@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(../media/be-vietnam-pro-vietnamese-600-normal.2ty1g2z_v1cl1.woff2)format("woff2"),url(../media/be-vietnam-pro-vietnamese-600-normal.2_ac-vcv4r-oy.woff)format("woff")}
@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(../media/be-vietnam-pro-vietnamese-700-normal.1y0_3hqalafhh.woff2)format("woff2"),url(../media/be-vietnam-pro-vietnamese-700-normal.3yhcoo9p-j5h8.woff)format("woff")}
@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(../media/be-vietnam-pro-latin-400-normal.20cnwjfb-fa4e.woff2)format("woff2"),url(../media/be-vietnam-pro-latin-400-normal.31tzb8zv1crmm.woff)format("woff")}
@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(../media/be-vietnam-pro-latin-500-normal.1opmeqmrxkaxz.woff2)format("woff2"),url(../media/be-vietnam-pro-latin-500-normal.2_p68uxzutffr.woff)format("woff")}
@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(../media/be-vietnam-pro-latin-600-normal.1ki7gj-rcm5qg.woff2)format("woff2"),url(../media/be-vietnam-pro-latin-600-normal.0adpqh__9xf_o.woff)format("woff")}
@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(../media/be-vietnam-pro-latin-700-normal.0o-vexq-1rj8v.woff2)format("woff2"),url(../media/be-vietnam-pro-latin-700-normal.3ac-im9md2i79.woff)format("woff")}
:root{--color-paper:#050607;--color-black:#000;--color-ink:#eeede8;--color-body:#b4b4af;--color-muted:#818580;--color-accent:#ff763e;--color-rule:#ffffff26;--color-soft-rule:#ffffff12;--color-panel:#080b0de8;--color-panel-clear:#080b0d24;--color-shade:#020507b8;--color-transparent:transparent;--color-final-ink:#b9bcbf;--color-name-glow:#b8c9df18;--font-display:"Be Vietnam Pro", sans-serif;--font-body:"Be Vietnam Pro", sans-serif;--font-mono:"Courier New", monospace;--ease-out:cubic-bezier(.22,1,.36,1);--dur-fast:.2s;--dur-slow:.9s;--radius-round:50%;--space-edge:clamp(24px, 4vw, 72px)}
*{box-sizing:border-box}html,body{background:var(--color-black);color:var(--color-ink);font-family:var(--font-body);margin:0;overflow-x:clip}html{scrollbar-width:thin;scrollbar-color:var(--color-muted) var(--color-black)}body{-webkit-font-smoothing:antialiased;font-size:14px}button,a{-webkit-tap-highlight-color:transparent}button,a,input{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}a,button{touch-action:manipulation}button:disabled{cursor:default;opacity:.55}button:active,a:active{opacity:.65}:focus-visible{outline:2px solid var(--color-accent);outline-offset:7px}::selection{background:var(--color-accent);color:var(--color-black)}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--font-display);overflow-wrap:anywhere;min-width:0;font-style:normal}svg{flex-shrink:0;width:20px;height:20px}.journey-track{height:720svh;position:relative}.stage{--progress:0;--ending:0;--fallback-zoom:1;background:var(--color-black);isolation:isolate;height:100svh;min-height:480px;position:sticky;top:0;overflow:clip}.waypoint{pointer-events:none;width:1px;height:1px;position:absolute}.waypoint-0{top:0}.waypoint-1{top:calc(25% - 25svh)}.waypoint-2{top:calc(50% - 50svh)}.waypoint-3{top:calc(75% - 75svh)}.waypoint-4{top:calc(100% - 100svh)}.universe,.fallback-universe,.reading-shade,.ending-shade{pointer-events:none;position:absolute;inset:0}.universe{z-index:-4;opacity:0;transition:opacity 1.2s}.universe canvas{width:100%;height:100%;display:block}[data-status=ready] .universe{opacity:1}.fallback-universe{z-index:-5;background:linear-gradient(90deg,var(--color-shade),var(--color-transparent)),url(/images/reference.png) center/cover;transform:scale(var(--fallback-zoom));opacity:calc(1 - var(--ending))}.reading-shade{z-index:-3;background:linear-gradient(90deg,var(--color-shade) 0%,var(--color-transparent) 65%);opacity:calc(1 - var(--ending))}.ending-shade{z-index:-2;background:var(--color-black);opacity:0}[data-status=fallback] .ending-shade,[data-status=loading] .ending-shade{opacity:var(--ending)}.site-header{padding:30px var(--space-edge);z-index:5;opacity:calc(1 - var(--ending));transition:visibility var(--dur-fast);justify-content:space-between;align-items:center;display:flex;position:absolute;top:0;left:0;right:0}.wordmark{letter-spacing:-1.5px;align-items:center;gap:3px;min-height:44px;font-size:24px;font-weight:700;display:inline-flex}.wordmark svg{color:var(--color-accent);align-self:flex-start;width:15px;height:15px;margin-top:10px}.header-caption{font:10px var(--font-mono);letter-spacing:.22em;color:var(--color-body)}.about-link{white-space:nowrap;align-items:center;gap:12px;min-height:44px;font-size:12px;display:flex}.about-link svg{width:16px;transition:transform var(--dur-fast)}.about-link:hover svg{transform:translate(2px,-2px)}.chapter-nav{left:var(--space-edge);z-index:6;opacity:calc(1 - var(--ending)*.96);flex-direction:column;gap:8px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.chapter-nav a{min-width:44px;height:44px;color:var(--color-muted);font:11px var(--font-mono);transition:color var(--dur-fast);align-items:center;gap:11px;display:flex;position:relative}.chapter-tick{width:10px;height:1px;transition:width var(--dur-fast);background:currentColor}.chapter-nav a.is-active{color:var(--color-accent)}.chapter-nav a.is-active .chapter-tick{width:20px}.chapter-nav a:hover{color:var(--color-ink)}.chapter-tooltip{opacity:0;transition:opacity var(--dur-fast),transform var(--dur-fast);white-space:nowrap;font:11px var(--font-body);background:var(--color-panel);pointer-events:none;padding:8px 10px;position:absolute;left:55px;transform:translate(-6px)}.chapter-nav a:hover .chapter-tooltip,.chapter-nav a:focus-visible .chapter-tooltip{opacity:1;transform:none}.scene-content{pointer-events:none;position:absolute;inset:0}.scene-panel{opacity:0;will-change:opacity,transform;pointer-events:none;align-items:center;padding:110px max(9.8vw,100px);display:flex;position:absolute;inset:0}.scene-panel a,.scene-panel button{pointer-events:auto}.scene-panel[inert] a,.scene-panel[inert] button{pointer-events:none}.scene-panel:not([inert]) .intro-frame,.scene-panel:not([inert]) .practice-frame,.scene-panel:not([inert]) .philosophy-frame{pointer-events:auto}.intro-frame,.practice-frame,.philosophy-frame{scrollbar-width:thin;scrollbar-color:var(--color-rule) var(--color-transparent);max-height:calc(100svh - 190px);overflow-y:auto}.hero-panel{opacity:1}@media (min-width:601px){.hero-panel{align-items:flex-end;padding-bottom:13vh}}.hero-copy{width:100%;max-width:1000px;padding-bottom:5px;container-type:inline-size}.eyebrow{font:10px var(--font-mono);letter-spacing:.16em;color:var(--color-body);align-items:center;gap:12px;margin-bottom:28px;display:flex}.small-rule{background:var(--color-accent);width:25px;height:1px}h1{letter-spacing:-.065em;font-size:min(5.3vw,9cqw,90px);font-weight:600;line-height:1.16}h1 span{color:var(--color-accent)}h1 .hero-heading-line{white-space:nowrap;color:inherit;display:block}.hero-description{max-width:550px;color:var(--color-body);margin-top:26px;font-size:13px;line-height:1.9}.journey-link{white-space:nowrap;align-items:center;gap:28px;margin-top:35px;font-size:12px;display:inline-flex}.round-arrow{border:1px solid var(--color-rule);border-radius:var(--radius-round);width:42px;height:42px;transition:border-color var(--dur-fast),transform var(--dur-fast);place-items:center;display:grid}.round-arrow svg{width:16px}.journey-link:hover .round-arrow{border-color:var(--color-accent);transform:translateY(4px)}.hero-side-note{right:var(--space-edge);writing-mode:vertical-rl;letter-spacing:.3em;font:9px var(--font-mono);color:var(--color-body);position:absolute;top:50%}.intro-frame{background:linear-gradient(120deg,var(--color-panel),var(--color-panel-clear));border-left:1px solid var(--color-rule);width:405px;padding:26px 32px 22px;position:relative}.intro-frame:before,.intro-frame:after{content:"";border-left:1px solid var(--color-accent);width:35px;height:10px;position:absolute;left:-1px}.intro-frame:before{border-top:1px solid var(--color-accent);top:0}.intro-frame:after{border-bottom:1px solid var(--color-accent);bottom:0}.frame-caption{color:var(--color-body);font:10px var(--font-mono);letter-spacing:.17em;justify-content:space-between;align-items:center;margin-bottom:27px;display:flex}.frame-caption svg{color:var(--color-accent);width:19px}.scene-panel h2{letter-spacing:-.055em;font-size:clamp(36px,4vw,62px);font-weight:500;line-height:1.18}.accent-text{color:var(--color-accent)}.body-copy{color:var(--color-body);max-width:380px;margin-top:23px;font-size:12px;line-height:1.95}.frame-foot{border-top:1px solid var(--color-soft-rule);color:var(--color-muted);justify-content:space-between;align-items:center;gap:20px;margin-top:26px;padding-top:18px;font-size:9px;line-height:1.8;display:flex}.frame-foot>span:last-child{color:var(--color-accent);font-size:20px}.spatial-caption{color:var(--color-body);border-left:1px solid var(--color-rule);max-width:150px;padding-left:15px;font-size:10px;line-height:1.9;position:absolute;bottom:22%;right:12%}.practice-panel{justify-content:flex-end}.practice-frame{background:linear-gradient(270deg,var(--color-panel),var(--color-panel-clear));width:420px;padding:28px 28px 25px}.section-label{font:10px var(--font-mono);letter-spacing:.18em;color:var(--color-body);margin-bottom:25px;display:block}.practice-items{gap:18px;margin-top:26px;display:grid}.practice-items>div{align-items:flex-start;gap:15px;display:flex}.practice-items svg{width:16px;color:var(--color-accent)}.practice-items h3{margin-bottom:6px;font-size:11px;font-weight:500}.practice-items p{color:var(--color-muted);font-size:10px;line-height:1.7}.orbit-caption{color:var(--color-body);align-items:center;gap:17px;max-width:230px;font-size:10px;line-height:1.8;display:flex;position:absolute;bottom:25%;left:20%}.orbit-line{background:var(--color-rule);flex-shrink:0;width:55px;height:1px}.philosophy-panel{align-items:flex-end;padding-bottom:17vh}.philosophy-frame{border-top:1px solid var(--color-rule);background:linear-gradient(0deg,var(--color-panel),var(--color-transparent));grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:9%;width:100%;padding:30px 0;display:grid;position:relative}.philosophy-frame:before{content:"";background:var(--color-accent);width:46px;height:1px;position:absolute;top:-1px;left:0}.philosophy-frame h2{max-width:680px;font-size:clamp(30px,3.5vw,52px);line-height:1.28}.philosophy-body{align-self:end}.philosophy-body .body-copy{margin-top:0}.signature{color:var(--color-accent);margin-top:25px;font-size:10px;line-height:1.8}.finale-panel{justify-content:center;align-items:center;padding-bottom:0}.finale-composition{flex-direction:column;align-items:center;gap:clamp(20px,3svh,36px);width:100%;padding-inline:23px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.finale-vessel-anchor{aspect-ratio:1;pointer-events:none;flex-shrink:0;width:clamp(140px,26svh,280px)}.finale-identity{flex-direction:column;align-items:center;gap:14px;width:100%;display:flex}.finale-panel h2{letter-spacing:.055em;color:var(--color-final-ink);text-shadow:0 0 45px var(--color-name-glow);text-align:center;margin:0;font-size:clamp(30px,4.9vw,80px);font-weight:400}.finale-github{min-height:44px;color:var(--color-body);white-space:nowrap;transition:color var(--dur-fast);align-items:center;gap:10px;font-size:12px;display:inline-flex}.finale-github svg:first-child{width:18px;height:18px}.finale-github svg:last-child{width:13px;height:13px;color:var(--color-muted)}.finale-github:hover{color:var(--color-ink)}.replay{background:var(--color-transparent);color:var(--color-muted);white-space:nowrap;opacity:.15;min-height:44px;transition:opacity var(--dur-fast);border:0;align-items:center;gap:10px;font-size:10px;display:flex;position:absolute;bottom:35px;left:50%;transform:translate(-50%)}.replay svg{width:14px}.replay:hover,.replay:focus-visible{opacity:1}.flight-footer{bottom:28px;left:var(--space-edge);right:var(--space-edge);z-index:5;opacity:calc(1 - var(--ending));justify-content:space-between;align-items:center;gap:35px;display:flex;position:absolute}.chapter-current{min-width:220px;font:10px var(--font-mono);color:var(--color-body);align-items:center;gap:15px;display:flex}.current-number{color:var(--color-accent)}.footer-separator{background:var(--color-rule);width:25px;height:1px}.flight-progress{background:var(--color-soft-rule);width:140px;height:1px;position:relative}.flight-progress span{background:var(--color-accent);height:100%;transform:scaleX(var(--progress));transform-origin:0;display:block}.motion-toggle{background:var(--color-transparent);color:var(--color-body);white-space:nowrap;border:0;justify-content:flex-end;align-items:center;gap:9px;min-width:220px;min-height:44px;font-size:10px;display:flex}.motion-toggle svg{width:13px;height:13px}.motion-toggle:hover{color:var(--color-ink)}.is-ending .site-header{visibility:hidden;pointer-events:none}.is-ending .flight-footer{opacity:1;pointer-events:none}.is-ending .chapter-current,.is-ending .flight-progress{visibility:hidden}.is-ending .motion-toggle{pointer-events:auto}.is-ending .chapter-nav:hover,.is-ending .chapter-nav:focus-within{opacity:1}.render-status{bottom:9px;left:var(--space-edge);color:var(--color-muted);opacity:calc(1 - var(--ending));pointer-events:none;font-size:9px;position:absolute}.skip-link{z-index:30;background:var(--color-paper);padding:12px 18px;position:fixed;top:10px;left:10px;transform:translateY(-150%)}.skip-link:focus{transform:none}.noscript-message{color:var(--color-body);padding:20px}@media (min-width:1600px){.intro-frame{width:470px;padding:34px 40px}.body-copy{font-size:14px}.practice-frame{width:490px}.frame-foot{font-size:11px}.hero-description{max-width:350px;font-size:15px}.journey-link{font-size:14px}}@media (max-width:1000px){.scene-panel{padding:100px 11vw}.intro-frame{width:350px;padding:25px}.practice-frame{width:370px;padding:24px}.spatial-caption,.orbit-caption{display:none}.hero-side-note{right:24px}.philosophy-frame{gap:5%}.philosophy-panel{padding-bottom:17vh}}@media (max-width:600px){.stage{min-height:560px}.site-header{padding:18px 23px}.wordmark{font-size:22px}.header-caption{display:none}.about-link{font-size:11px}.chapter-nav{gap:0;top:42%;left:auto;right:18px}.chapter-nav a{justify-content:flex-end;gap:5px;min-width:30px;height:36px;font-size:9px}.chapter-tick{width:5px}.chapter-nav a.is-active .chapter-tick{width:12px}.chapter-tooltip{left:auto;right:40px}.scene-panel{align-items:center;padding:80px 56px 80px 25px}.intro-frame,.practice-frame,.philosophy-frame{max-height:calc(100svh - 160px)}.hero-panel{align-items:flex-end;padding-bottom:24vh}h1{letter-spacing:-.065em;font-size:min(7.4vw,9cqw,47px);line-height:1.22}.hero-copy{width:100%}.eyebrow{letter-spacing:.09em;gap:8px;margin-bottom:22px;font-size:8px}.small-rule{width:17px}.hero-description{max-width:235px;margin-top:20px;font-size:11px}.journey-link{gap:20px;margin-top:23px;font-size:11px}.round-arrow{width:36px;height:36px}.hero-side-note{display:none}.intro-frame{width:100%;padding:22px 18px}.scene-panel h2{font-size:clamp(29px,7.7vw,40px)}.frame-caption{margin-bottom:21px;font-size:8px}.body-copy{margin-top:20px;font-size:11px;line-height:1.85}.frame-foot{margin-top:19px;padding-top:14px;font-size:8px}.practice-frame{width:100%;padding:20px 0 20px 12px}.section-label{margin-bottom:20px;font-size:8px}.practice-items{gap:14px;margin-top:22px}.practice-items p{font-size:9px}.practice-panel{padding-top:110px}.philosophy-panel{align-items:flex-end;padding-bottom:19vh}.philosophy-frame{grid-template-columns:minmax(0,1fr);gap:25px;padding-top:23px}.philosophy-frame h2{font-size:29px;line-height:1.35}.signature{margin-top:18px;font-size:9px}.finale-panel{align-items:center;padding:0 23px}.finale-panel h2{letter-spacing:.025em;margin:0;font-size:clamp(26px,7.5vw,38px)}.finale-identity{gap:12px}.flight-footer{gap:12px;bottom:20px;left:24px;right:24px}.chapter-current{gap:9px;min-width:0;font-size:8px}.footer-separator{width:16px}.flight-progress{display:none}.motion-toggle{gap:6px;min-width:44px;font-size:9px}.motion-toggle span{display:none}.motion-toggle svg{width:16px;height:16px}.reading-shade{background:linear-gradient(0deg,var(--color-shade),var(--color-transparent) 90%)}}@media (max-height:700px) and (min-width:601px){.site-header{padding-top:14px}.scene-panel{padding-top:85px;padding-bottom:85px}.scene-panel h2{font-size:36px}.body-copy{margin-top:14px;font-size:11px}.intro-frame{padding:20px 26px}.frame-caption{margin-bottom:14px}.frame-foot{margin-top:14px;padding-top:12px}.practice-items{gap:12px;margin-top:16px}.section-label{margin-bottom:16px}.philosophy-frame h2{font-size:36px}.philosophy-panel{padding-bottom:100px}.flight-footer{bottom:14px}.finale-identity{gap:5px}.finale-panel h2{font-size:clamp(28px,4vw,52px)}.finale-github{min-height:36px;font-size:11px}.replay{bottom:7px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.scene-panel{will-change:auto}.fallback-universe{transform:none}}
