:root{--ink:#eef3f7;--dim:#93a4b3;--line:#ffffff2e;--accent:#fff;--glow:0 0 14px #eef3f74d;--glow-strong:0 0 8px #ffffff6b, 0 0 26px #eef3f757, 0 0 62px #eef3f72e;--pad:clamp(32px, 4vw, 56px);--edge:16px;--sans:var(--font-be-vietnam-pro,"Be Vietnam Pro"), system-ui, -apple-system, "Segoe UI", sans-serif;--mono:var(--sans)}@media (min-width:900px){:root{--edge:40px}}*,:before,:after{box-sizing:border-box}html,body{color:var(--ink);font-family:var(--sans);background:#000;margin:0}body{height:1550vh}html.reduced body{height:auto}img,video{max-width:100%}#scene{z-index:0;width:100%;height:100%;display:block;position:fixed;inset:0}html.no-webgl #scene{display:none}.vignette{z-index:1;pointer-events:none;opacity:0;background:linear-gradient(#000 0%,#0000 26%),linear-gradient(#0000 74%,#000 100%);transition:opacity .5s;position:fixed;inset:0}html.letterbox .vignette{opacity:1}#preloader{z-index:60;background:#000;place-items:center;transition:opacity .7s,visibility .7s;display:grid;position:fixed;inset:0}#preloader.done{opacity:0;visibility:hidden}#pre-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.pre-inner{text-align:center;width:min(420px,76vw);position:relative}#load-pct{font-family:var(--mono);letter-spacing:.14em;color:var(--ink);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;font-size:clamp(22px,4.4vw,34px);font-weight:500;display:block}.pre-mark{font-family:var(--mono);letter-spacing:.42em;text-transform:uppercase;color:#fff;margin:16px 0 0;font-size:11px;animation:2.6s infinite pre-blink}@keyframes pre-blink{0%,57%{opacity:1;text-shadow:0 0 16px #ffffff73}58%,71%{opacity:.1;text-shadow:none}72%,87%{opacity:1;text-shadow:0 0 16px #ffffff73}88%,95%{opacity:.1;text-shadow:none}96%,to{opacity:1;text-shadow:0 0 16px #ffffff73}}@media (prefers-reduced-motion:reduce){.pre-mark{opacity:1;animation:none}}.iris{z-index:55;pointer-events:none;position:fixed;inset:0;overflow:hidden}.iris .pupil{will-change:width, height;border-radius:50%;width:0;height:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 110vmax #000}.iris.ajar .pupil{width:22vw;height:1.6vh;transition:width .34s ease-out,height .34s ease-out}.iris.shut .pupil{width:0;height:0;transition:width .2s ease-in,height .17s ease-in}.iris.open .pupil{width:230vw;height:210vh;transition:width 1.35s cubic-bezier(.62,.02,.16,1),height 1.65s cubic-bezier(.55,.06,.2,1) .18s}.warp-flash{z-index:50;pointer-events:none;opacity:0;will-change:opacity;background:#fff;position:fixed;inset:0}.topbar{z-index:20;padding:var(--pad) var(--edge) 0;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;display:grid;position:fixed;inset:0 0 auto}.topbar>.brandmark{grid-column:1;justify-self:start}.topbar>nav{grid-column:2;justify-self:center}.topbar>.nav-cta{grid-column:3;justify-self:end}.bar-group{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#04080c8c;border:1px solid #ffffff29;border-radius:999px;align-items:center;display:flex}.brandmark{color:var(--ink);align-items:center;margin-left:-4px;padding:11px 4px;text-decoration:none;display:flex}.brandmark img{filter:drop-shadow(0 1px 12px #00060ce6)drop-shadow(0 0 2px #00060c8c);width:auto;height:32px;display:block}.brandmark:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}#nav{gap:2px;margin:0;padding:5px 6px;list-style:none;display:flex}.nav-link{appearance:none;cursor:pointer;color:var(--dim);letter-spacing:.2em;text-transform:uppercase;background:0 0;border:0;border-radius:999px;padding:9px 14px;font-family:inherit;font-size:10px;font-weight:500;transition:color .3s,background .3s,text-shadow .3s}.nav-link:hover{color:var(--ink);text-shadow:var(--glow)}.nav-link.is-active{color:var(--ink);background:#ffffff1c}.nav-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a.nav-link{text-decoration:none;display:inline-block}.nav-brand{position:relative}.nav-brand-btn{align-items:center;gap:7px;display:inline-flex}.nav-caret{opacity:.75;transition:transform .22s}.nav-brand-btn[aria-expanded=true] .nav-caret{transform:rotate(180deg)}.nav-brand-btn[aria-expanded=true]{color:var(--ink)}.nav-menu{z-index:1;-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px);background:#04080cd1;border:1px solid #ffffff29;border-radius:16px;flex-direction:column;gap:1px;min-width:172px;margin:0;padding:6px;list-style:none;display:flex;position:absolute;top:calc(100% + 9px);left:0;box-shadow:0 18px 44px #00040a8c}.nav-menu[hidden]{display:none}.nav-sub{appearance:none;cursor:pointer;text-align:left;width:100%;color:var(--dim);letter-spacing:.2em;text-transform:uppercase;background:0 0;border:0;border-radius:11px;padding:10px 13px;font-family:inherit;font-size:10px;font-weight:500;transition:color .22s,background .22s,text-shadow .22s}.nav-sub:hover{color:var(--ink);text-shadow:var(--glow);background:#ffffff17}.nav-sub.is-active{color:var(--ink);background:#ffffff21}.nav-sub:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.nav-cta{white-space:nowrap;background:var(--ink);color:#04080c;letter-spacing:.2em;text-transform:uppercase;border-radius:999px;align-items:center;gap:8px;padding:11px 20px;font-size:10px;font-weight:600;text-decoration:none;transition:background .25s,color .25s,box-shadow .25s;display:inline-flex}.nav-cta:hover{box-shadow:var(--glow-strong);background:#fff}.nav-cta:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sound-toggle{z-index:22;right:var(--pad);bottom:var(--pad);appearance:none;cursor:pointer;color:var(--dim);border-radius:999px;justify-content:center;align-items:center;padding:9px 11px;transition:color .25s,border-color .25s,box-shadow .25s,opacity .35s;display:inline-flex;position:fixed}html.diving .sound-toggle{opacity:0;pointer-events:none}.sound-toggle:hover{color:var(--ink);box-shadow:var(--glow)}.sound-toggle[aria-pressed=true]{color:var(--accent);box-shadow:var(--glow-strong);border-color:#ffffff8c}.sound-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sound-toggle .wave{display:none}.sound-toggle[aria-pressed=true] .wave{display:block}.sound-toggle[aria-pressed=true] .cross{display:none}@media (max-width:900px){.topbar>nav,#nav{display:none}.brandmark{padding:10px 4px}.brandmark img{height:26px}}@media (max-width:560px){.topbar{gap:10px}.brandmark img{height:22px}.nav-cta{letter-spacing:.14em;padding:10px 14px;font-size:9px}.sound-toggle{padding:8px 10px}}.text-scrim{z-index:8;pointer-events:none;background:linear-gradient(#00060c00 44%,#00060c29 60%,#00060c9e 78%,#00060ceb 100%);position:fixed;inset:0}html.reduced .text-scrim,html.no-webgl .text-scrim{display:none}.chapters{z-index:10;position:relative}.chapter :is(h1,h2),.chapter p,.eyebrow,.cta{text-shadow:0 1px 20px #00040ab3}.chapter:has(.lockup):before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(closest-side,#00060cd1 0%,#00060c8a 38%,#00060c2e 60%,#00060c00 78%);position:absolute;inset:-30% -34%}.chapter{inset:auto auto 7vh var(--pad);width:min(480px, calc(100vw - var(--pad) * 2));opacity:0;will-change:opacity, transform;transform:translateY(var(--dy,0px));position:fixed}.chapter[data-align=right]{left:auto;right:var(--pad)}.chapter[data-align=center]{transform:translate(-50%, var(--dy,0px))}.chapter[data-align=stage]{transform:translate(-50%, calc(-50% + var(--dy,0px)))}@media (min-width:721px){.chapter[data-align=left],.chapter:not([data-align]),.chapter[data-align=right]{width:min(420px, calc(50vw - var(--pad)));transform:translateY(calc(-50% + var(--dy,0px)));top:50%;bottom:auto}.chapter[data-align=left],.chapter:not([data-align]){left:auto;right:calc(50% - 36px)}.chapter[data-align=right]{left:calc(50% - 36px);right:auto}}.chapter[data-align=center]{text-align:center;width:min(52ch, calc(100vw - var(--pad) * 2));bottom:120px;left:50%;right:auto;transform:translate(-50%)}.chapter[data-align=center] :is(h1,h2){font-size:clamp(26px,3.6vw,46px)}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--dim);text-wrap:balance;max-width:440px;margin:0 0 16px;font-size:10px;font-weight:500;line-height:1.7}.chapter[data-align=center] .eyebrow{margin-inline:auto}.chapter :is(h1,h2){letter-spacing:-.025em;text-wrap:balance;margin:0 0 14px;font-size:clamp(30px,5.4vw,68px);font-weight:500;line-height:1.02}.chapter h2.lockup{margin:0 0 18px;line-height:0}.lockup img{height:var(--logo-h);filter:drop-shadow(0 2px 18px #00040abf);width:auto;display:block}.chapter>p:not(.eyebrow){color:var(--dim);text-wrap:pretty;max-width:34ch;margin:0 0 20px;font-size:clamp(13px,1.1vw,15.5px);line-height:1.62}.chapter[data-align=center]>p:not(.eyebrow){margin-inline:auto}.chapter>p.brand-sub{color:var(--ink);letter-spacing:-.01em;text-wrap:balance;max-width:48ch;margin:0 0 9px;font-size:clamp(14px,1.25vw,18px);line-height:1.35}.meta{flex-wrap:wrap;gap:8px 10px;margin:0 0 18px;padding:0;list-style:none;display:flex}.chapter[data-align=center] .meta{justify-content:center}.meta li{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--dim);border:1px solid var(--line);border-radius:999px;padding:6px 11px;font-size:9px}.meta a{color:inherit;text-decoration:none}.meta a:hover{color:var(--ink);text-shadow:var(--glow)}.meta a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.cta{font-family:var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--line);align-items:center;gap:9px;padding-bottom:5px;font-size:10px;text-decoration:none;transition:color .25s,border-color .25s,text-shadow .25s;display:inline-flex}.cta:hover{color:#fff;text-shadow:var(--glow);border-color:#fff9}.cta:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.todo{color:#f2b25c}.chapter[data-align=stage]{text-align:left;width:min(920px, calc(100vw - var(--pad) * 2));inset:50% auto auto 50%}.chapter--stage .eyebrow{max-width:none}.cards{grid-template-columns:1fr 1fr;gap:18px;display:grid}.card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);background:#060b119e;border-radius:18px;padding:clamp(20px,2.4vw,32px);transition:border-color .3s,transform .3s}.card:hover{border-color:#ffffff57;transform:translateY(-3px)}.card h3{letter-spacing:-.02em;margin:0 0 10px;font-size:clamp(22px,2.6vw,34px);font-weight:500;line-height:1.1}.card p:not(.eyebrow){max-width:34ch;color:var(--dim);text-wrap:pretty;margin:0 0 18px;font-size:15px;line-height:1.6}.chapter[data-align=stage]{max-height:84vh;overflow-y:auto}@media (max-width:720px){.cards{grid-template-columns:1fr}.card{padding:18px}.card p{max-width:none}.chapter:has(.lockup):before{background:linear-gradient(#00060c00 0%,#00060c6b 22%,#00060cdb 52%,#00060cf0 100%);inset:-46% -40% -20%}}.scroll-cue{z-index:20;font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--dim);font-size:9px;position:fixed;bottom:26px;left:50%;transform:translate(-50%)}.fallback{display:none}html.no-webgl .fallback{z-index:5;padding:var(--pad);max-width:70ch;margin-inline:auto;display:block;position:relative}.fallback-shot{aspect-ratio:16/9;background:#05080c 50%/cover no-repeat}html.no-webgl .fallback-shot{background-image:url(/assets/poster.webp)}html.no-webgl body{height:auto}html.no-webgl .chapter{margin:0 0 12vh;position:static;opacity:1!important;transform:none!important}html.no-webgl #nav{display:none}html.reduced .chapter{margin:0 auto 16vh;position:static;inset:auto;opacity:1!important;transform:none!important}html.reduced .chapters{padding:24vh var(--pad) 20vh;max-width:70ch;margin-inline:auto}html.reduced #nav{display:none}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation:none!important}}.chapter#ch-cockpit h1{letter-spacing:-.02em;line-height:1.02}.hero-start{isolation:isolate;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--ink);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#04080e7a;border:1px solid #ffffff42;border-radius:999px;justify-content:center;align-items:center;margin-top:24px;padding:15px 34px;font-family:inherit;font-size:10px;font-weight:600;transition:border-color .3s,background .3s,box-shadow .35s,transform .3s;display:inline-flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff29,0 1px 2px #00000073}.hero-start:hover,.hero-start:focus-visible{background:#0a10189e;border-color:#ffffffb8;box-shadow:inset 0 1px #ffffff4d,inset 0 0 22px #ffffff24,0 1px 2px #00000073}.hero-start:active{transform:translateY(1px)}.hero-start:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.hero-start:before{content:"";border-radius:inherit;z-index:0;pointer-events:none;background:radial-gradient(58% 150%,#ffffff2b 0%,#ffffff0f 44%,#fff0 76%);animation:4.2s ease-in-out infinite hero-start-breathe;position:absolute;inset:0}.hero-start:hover:before,.hero-start:focus-visible:before{opacity:1;animation-play-state:paused}@keyframes hero-start-breathe{0%,to{opacity:.55}50%{opacity:1}}.hero-start-echo{--echo-y:132%;--echo-size:165%;border-radius:inherit;z-index:0;pointer-events:none;position:absolute;inset:0}.hero-start-echo:before,.hero-start-echo:after{content:"";top:var(--echo-y);width:var(--echo-size);aspect-ratio:1;opacity:0;background:radial-gradient(circle,#fff0 26%,#ffffff0f 38%,#ffffff36 47%,#ffffff17 55%,#fff0 62%);border-radius:50%;animation:3.8s cubic-bezier(.24,.6,.32,1) infinite hero-start-echo;position:absolute;left:50%}.hero-start-echo:after{animation-delay:1.9s}@keyframes hero-start-echo{0%{opacity:0;transform:translate(-50%,-50%)scale(.34)}25%{opacity:1}65%{opacity:.5}to{opacity:0;transform:translate(-50%,-50%)scale(1)}}.hero-start:hover .hero-start-echo,.hero-start:focus-visible .hero-start-echo{opacity:0;transition:opacity .25s}.hero-start-stars{border-radius:inherit;z-index:1;pointer-events:none;opacity:0;transition:opacity .38s;position:absolute;inset:0}.hero-start:hover .hero-start-stars,.hero-start:focus-visible .hero-start-stars{opacity:1}.hero-start-stars:after{content:"";background-image:radial-gradient(1.7px 1.7px at 18% 22%,#fffffff2,#0000 62%),radial-gradient(1.2px 1.2px at 62% 68%,#fffc,#0000 62%),radial-gradient(2.4px 2.4px at 84% 34%,#ffffff6b,#0000 62%),radial-gradient(1.4px 1.4px at 36% 84%,#ffffffb3,#0000 62%),radial-gradient(2px 2px at 74% 12%,#ffffff57,#0000 62%),radial-gradient(1.1px 1.1px at 8% 56%,#ffffff9e,#0000 62%);background-size:38px 60px,47px 60px,59px 60px,71px 60px,83px 60px,97px 60px;animation:6s linear infinite paused hero-start-stars;position:absolute;inset:-60px 0}.hero-start:hover .hero-start-stars:after,.hero-start:focus-visible .hero-start-stars:after{animation-play-state:running}@keyframes hero-start-stars{0%{transform:translateY(0)}to{transform:translateY(60px)}}.hero-start-label{z-index:2;background:linear-gradient(#fff 38%,#bcc2d6eb 100%);color:#0000;-webkit-background-clip:text;background-clip:text;position:relative}.chapter--cue>p.cue-line{letter-spacing:.26em;text-transform:uppercase;max-width:none;color:var(--dim);margin:0;font-size:10px;font-weight:500;line-height:1.8}.cue-rail{background:linear-gradient(#ffffff29 0%,#ffffff0d 62%,#fff0 100%);width:1px;height:54px;margin:16px auto 0;display:block;position:relative;overflow:hidden}.cue-rail:after{content:"";background:linear-gradient(#fff0,#ffffffe6);width:1px;height:20px;animation:2.6s cubic-bezier(.42,0,.34,1) infinite cue-fall;position:absolute;top:0;left:0}@keyframes cue-fall{0%{opacity:0;transform:translateY(-20px)}22%{opacity:1}78%{opacity:1}to{opacity:0;transform:translateY(54px)}}html.no-webgl #ch-approach,html.reduced #ch-approach{display:none}.chapter#ch-about{max-width:min(680px,78vw)}.about-h{letter-spacing:-.01em;margin:0 0 14px;font-size:clamp(19px,2.5vw,30px);font-weight:500;line-height:1.32}@media (max-width:720px){.chapter#ch-about{max-width:none}}#node-labels{z-index:14;pointer-events:none;position:fixed;inset:0}.node-label{will-change:transform,opacity;pointer-events:none;font-family:var(--mono,ui-monospace, monospace);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#04080e8c;border:1px solid #ffffff38;border-radius:999px;padding:6px 10px;font-size:11px;text-decoration:none;transition:border-color .18s,background .18s,color .18s,box-shadow .18s;position:absolute;top:0;left:0}.node-label:hover,.node-label:focus-visible{box-shadow:var(--glow);background:#0a1018cc;border-color:#ffffffb3}.node-label:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (max-width:720px){.node-label{letter-spacing:.12em;padding:5px 8px;font-size:10px}}.stage-h{letter-spacing:-.02em;margin:0 0 12px;font-size:clamp(26px,4vw,44px);line-height:1.08}.chapter h2.neon-line{letter-spacing:-.03em;color:#fff;text-shadow:0 1px 20px #00040ab3;margin:0 0 18px;font-size:clamp(34px,6.4vw,86px);line-height:1.02}.dock-sub{max-width:46ch;color:var(--dim);margin:0 0 30px;font-size:clamp(14px,1.5vw,18px);line-height:1.5}.neon-mail{margin:0 0 26px}.neon-mail a{letter-spacing:-.01em;color:#fff;text-shadow:0 0 5px #ffffffb3,0 0 18px #eef3f780,0 0 46px #eef3f752;border-bottom:1px solid #ffffff47;padding-bottom:2px;font-size:clamp(18px,3.1vw,40px);text-decoration:none;transition:border-color .2s,text-shadow .2s;display:inline-block}.neon-mail a:hover,.neon-mail a:focus-visible{text-shadow:0 0 6px #ffffffe6,0 0 26px #eef3f7ad,0 0 66px #eef3f770;border-bottom-color:#ffffffd9}@media (prefers-reduced-transparency:reduce){.neon-mail a{text-shadow:none}}html.diving .chapter,html.diving #node-labels{pointer-events:none}.dive-hint{transition:opacity .5s .35s}html.diving .dive-hint{opacity:1}.notice{z-index:23;left:50%;top:calc(var(--pad) + 52px);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);border:1px solid var(--line);color:var(--ink);letter-spacing:.06em;white-space:nowrap;cursor:pointer;opacity:0;background:#04080cb8;border-radius:999px;margin:0;padding:11px 18px;font-size:11px;transition:opacity .3s,transform .3s;position:fixed;transform:translate(-50%)translateY(-6px);box-shadow:0 8px 30px #00040a73}.notice.is-on{opacity:1;transform:translate(-50%)translateY(0)}@media (max-width:560px){.notice{white-space:normal;max-width:calc(100vw - var(--pad) * 2);text-align:center}}.dive-hint{z-index:22;opacity:0;pointer-events:none;font-family:var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--dim);font-size:10px;transition:opacity .35s;position:fixed;bottom:34px;left:50%;transform:translate(-50%)}.dive-panel{z-index:24;--dp-w:min(400px, 84vw);left:max(var(--pad), calc(50% - 40px - var(--dp-w)));width:var(--dp-w);border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0;background:#05090fa8;border-radius:18px;flex-direction:column;gap:18px;padding:30px 28px 28px;transition:transform .42s cubic-bezier(.22,.9,.3,1),opacity .42s;display:none;position:fixed;top:50%;transform:translate(-24px,-50%)}.dive-panel.is-open{display:flex}.dive-panel.is-swap>:not(.dp-close){animation:.42s cubic-bezier(.22,.7,.3,1) both dp-swap}@keyframes dp-swap{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.dive-panel.is-in{opacity:1;transform:translateY(-50%)}.dp-close{width:32px;height:32px;color:var(--dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;display:grid;position:absolute;top:14px;right:14px}.dp-close:hover,.dp-close:focus-visible{color:#fff;border-color:var(--line);box-shadow:var(--glow)}.dp-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dp-lockup{margin:0}.dp-lockup img{width:auto;display:block}.dp-video{aspect-ratio:16/9;border:1px solid var(--line);background:radial-gradient(120% 90% at 20% 0,#94b2d61a,#0000 55%),linear-gradient(160deg,#ffffff0d,#fff0 45%),#ffffff05;border-radius:12px;place-items:center;margin:0;display:grid;position:relative;overflow:hidden}.dp-video video{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.dp-video-note{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink);background:linear-gradient(#04080e00,#04080eb8);margin:0;padding:16px 14px 9px;font-size:9.5px;position:absolute;bottom:0;left:0;right:0}.dp-sub{color:var(--ink);margin:0;font-size:13px;font-weight:500}.dp-overview{color:var(--dim);max-width:36ch;margin:-8px 0 0;font-size:14px;line-height:1.65}.dp-social{flex-wrap:wrap;gap:10px 16px;margin:0;padding:0;list-style:none;display:flex}.dp-social a{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--dim);border-bottom:1px solid #0000;padding:2px 0;font-size:10.5px;text-decoration:none}.dp-social a:hover,.dp-social a:focus-visible{color:#fff;text-shadow:var(--glow);border-bottom-color:#ffffffb3}.dp-social a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.dp-foot{justify-content:space-between;align-items:center;gap:14px;display:flex}.dp-step{gap:8px;display:flex}.dp-arrow{border:1px solid var(--line);width:40px;height:40px;color:var(--dim);cursor:pointer;background:#ffffff0a;border-radius:50%;place-items:center;transition:color .18s,border-color .18s,background .18s,box-shadow .18s;display:grid}.dp-arrow:hover,.dp-arrow:focus-visible{color:#fff;box-shadow:var(--glow);background:#ffffff1a;border-color:#ffffffb3}.dp-arrow:active{transform:translateY(1px)}.dp-arrow:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dp-visit{letter-spacing:.16em;text-transform:uppercase;color:#0a0e14;background:#fff;border-radius:999px;align-self:flex-start;padding:12px 22px;font-size:11.5px;font-weight:600;text-decoration:none}.dp-visit:hover,.dp-visit:focus-visible{box-shadow:var(--glow-strong)}.dp-visit:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (max-width:719px){.dive-panel{width:auto;max-height:60vh;padding:24px 20px calc(20px + env(safe-area-inset-bottom));opacity:0;border-bottom:none;border-left:none;border-right:none;border-radius:18px 18px 0 0;inset:auto 0 0;overflow-y:auto;transform:translateY(28px)}.dive-panel.is-in{opacity:1;transform:translateY(0)}}.callout-svg{pointer-events:none;filter:drop-shadow(0 0 3px #96c3ff8c)drop-shadow(0 0 9px #5a96ff66);position:fixed;inset:0;overflow:visible}.callout-line{fill:none;stroke:#eaf3ff;stroke-width:1.25px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.callout-ring{fill:none;stroke:#fff;stroke-width:1.4px;vector-effect:non-scaling-stroke}.callout-ring--end{fill:#04080ebf}.callout-label{will-change:transform,opacity;pointer-events:none;white-space:nowrap;font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid #0000;padding:3px 2px;font-size:11px;text-decoration:none;position:absolute;top:0;left:0}.callout-label:hover,.callout-label:focus-visible{text-shadow:var(--glow);border-bottom-color:#ffffffb3}.callout-label:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.callout-label[data-kind=site],.callout-label[data-kind=portfolio]{color:#fff}.callout-label[data-kind=placeholder]{color:var(--dim)}.callout-label[data-kind=placeholder]:after{content:" ·";opacity:.5}.node-label--inert{opacity:.62;cursor:default}html.diving #node-labels{opacity:1;pointer-events:none}html.diving .node-label{opacity:0!important;pointer-events:none!important}#ch-cards,#ch-dock{text-align:center}#ch-cards>*,#ch-dock>*{margin-left:auto;margin-right:auto}#ch-dock .meta{justify-content:center}#ch-cards .stage-h,#ch-dock .neon-line{max-width:14ch}#ch-dock .neon-mail{max-width:none}#ch-dock .dock-sub{max-width:46ch;margin-inline:auto}.chapter-jumps{display:none}@media (max-width:900px){.chapter-jumps{flex-wrap:wrap;justify-content:center;gap:10px;margin:22px auto 0;display:flex}.chapter-jumps a{border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);white-space:nowrap;background:#04080e8c;border-radius:999px;align-items:center;gap:7px;padding:9px 16px;font-size:10px;text-decoration:none;transition:border-color .18s,background .18s,box-shadow .18s;display:inline-flex}.chapter-jumps svg{transition:transform .18s}.chapter-jumps a:hover,.chapter-jumps a:focus-visible{box-shadow:var(--glow);background:#0a1018cc;border-color:#ffffffb3}.chapter-jumps a:hover svg,.chapter-jumps a:focus-visible svg{transform:translate(1.5px,-1.5px)}.chapter-jumps a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}}
