:root{--bg:#0b0c10;--ink:#eef1f6;--chrome:#eef1f673;--glow:180 210 255;--ease-spring:cubic-bezier(.16, 1.7, .28, 1);--ease-out:cubic-bezier(.22, 1, .36, 1);--font-word:"Geist Pixel", ui-monospace, monospace}.stage[data-sky=on]{--bg:#070b14;--bg2:#0e1422;--glow:170 190 220;--constel:196 168 110;--node:200 210 225;background:radial-gradient(ellipse 90% 70% at 50% 42%, var(--bg2) 0%, transparent 62%), radial-gradient(ellipse 100% 80% at 50% 100%, #04060c 0%, transparent 55%), var(--bg)}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:JetBrains Mono,ui-monospace,monospace;overflow-x:hidden}body{margin:0}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stage{--mx:50%;--my:45%;touch-action:pan-y;place-items:center;width:100%;height:100dvh;display:grid;position:relative}.stage[data-sky=on]{overflow:hidden}.stage[data-sky=on] .cosmos{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.stage[data-sky=on] .veil{background:radial-gradient(55% 40% at 50% 45%,#8ca0c812,#0000 70%);position:absolute;inset:0}.stage[data-sky=on] .stars{opacity:.45;position:absolute;inset:0}.stage[data-sky=on] .stars.s1{background-image:radial-gradient(1px 1px at 10% 16%,#ffffff73,#0000),radial-gradient(1px 1px at 22% 58%,#ffffff47,#0000),radial-gradient(1.2px 1.2px at 38% 24%,#fff6,#0000),radial-gradient(1px 1px at 54% 72%,#ffffff40,#0000),radial-gradient(1px 1px at 70% 18%,#ffffff59,#0000),radial-gradient(1px 1px at 84% 64%,#ffffff4d,#0000),radial-gradient(1.1px 1.1px at 92% 36%,#ffffff52,#0000),radial-gradient(1px 1px at 16% 86%,#ffffff38,#0000)}.stage[data-sky=on] .stars.s2{opacity:.28;background-image:radial-gradient(1px 1px at 28% 40%,#ffffff4d,#0000),radial-gradient(1px 1px at 48% 12%,#ffffff38,#0000),radial-gradient(1px 1px at 66% 88%,#ffffff40,#0000),radial-gradient(1px 1px at 78% 48%,#fff3,#0000)}.stage[data-sky=on] .graph-wrap{opacity:.55;pointer-events:none;width:min(1560px,182vw);position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);mask-image:radial-gradient(40% 30% at 50% 58%,#0000 55%,#000 100%)}.stage[data-sky=on] .graph-wrap .node-graph{width:100%;height:auto}.stage[data-sky=on]:before{background:radial-gradient(ellipse 70% 50% at 50% 44%, rgba(var(--glow), .05), transparent 62%), radial-gradient(ellipse 100% 80% at 50% 100%, #00000073, transparent 55%)}.stage[data-sky=on] .word{text-shadow:0 0 48px rgba(var(--glow), .12);font-size:clamp(2.7rem,9.6vw,6.6rem)}.stage[data-sky=on] .center{gap:.62rem}.stage[data-sky=on] .word.is-ready~.underline{animation-name:line-sky}.stage[data-sky=on] .nav{margin-top:.48rem}@keyframes line-sky{0%{opacity:0;width:0}to{opacity:1;width:min(13rem,42vw)}}.stage[data-sky=on] .graph-wrap .floor{display:none}@media (width<=640px){.stage[data-sky=on] .graph-wrap{width:min(1050px,280vw);top:50%;mask-image:radial-gradient(44% 24% at 50% 46%,#0000 55%,#000 100%)}.stage[data-sky=on] .graph-wrap .node-graph{transform:none}body.is-mobile-layout .stage[data-sky=on] .center{transform:translateY(-1.5vh)}}.stage:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(ellipse 70% 55% at 50% 45%, rgba(var(--glow), .09), transparent 62%), radial-gradient(ellipse 100% 80% at 50% 100%, #0000008c, transparent 55%);position:absolute;inset:0}.spot{z-index:1;pointer-events:none;background:radial-gradient(380px 380px at var(--mx) var(--my), rgba(var(--glow), .1), transparent 55%);mix-blend-mode:screen;transition:opacity .35s var(--ease-out);position:absolute;inset:0}.stage[data-sky=on] .spot{background:radial-gradient(420px 420px at var(--mx) var(--my), rgba(var(--glow), .06), transparent 58%)}.field{z-index:2;pointer-events:auto;touch-action:pan-y;display:none;position:absolute;inset:0}body.is-mobile-layout .field{display:block}.center{z-index:3;pointer-events:none;flex-direction:column;align-items:center;gap:.42rem;padding:1.5rem;display:flex;position:relative;transform:translateY(-3.2vh)}.center .nav{pointer-events:auto}body:not(.is-mobile-layout) .field{pointer-events:none!important;display:none!important}body.is-mobile-layout .center{transform:translateY(-9.5vh)}.word{font-family:var(--font-word);letter-spacing:.05em;color:var(--ink);text-shadow:0 0 36px rgba(var(--glow), .1);user-select:none;pointer-events:none;justify-content:center;padding:.1em .08em .12em;font-size:clamp(2.35rem,8.2vw,5.4rem);font-weight:400;line-height:1.15;display:flex;overflow:visible}.word span{opacity:0;will-change:transform;padding-bottom:.05em;line-height:1.15;display:inline-block;transform:translateY(32px)}.word.is-ready span{animation:letter-in 1.28s var(--ease-spring) both;animation-delay:calc(50ms + var(--i) * 55ms)}.word.is-live span{opacity:1;transform:translate(0,0);animation:none!important}.underline{background:linear-gradient(90deg, transparent, rgba(var(--glow), .55), transparent);width:0;height:1px}.word.is-ready~.underline{animation:line .9s var(--ease-out) .72s both}.nav{opacity:0;flex-wrap:wrap;justify-content:center;align-items:center;gap:.55rem 1.15rem;margin-top:.28rem;display:flex}.word.is-ready~.nav{animation:nav-in 1.05s var(--ease-out) .95s both}.nav a{letter-spacing:.18em;text-transform:uppercase;color:#eef1f661;transform-origin:bottom;will-change:transform, color;opacity:1;align-items:center;min-height:2.5rem;padding:.45rem .15rem;font-size:.7rem;font-weight:500;text-decoration:none;display:inline-flex}.nav a .ch{opacity:.4;will-change:transform, opacity;display:inline-block}body:not(.is-mobile-layout) .nav a{min-height:0;padding:0}.nav .sep{color:rgba(var(--glow), .18);user-select:none;pointer-events:none;opacity:.55;font-size:.65rem}@keyframes letter-in{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translate(0,0)}}@keyframes line{0%{opacity:0;width:0}to{opacity:1;width:min(10.5rem,38vw)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes nav-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translate(0,0)}}@media (prefers-reduced-motion:reduce){.word span,.underline,.nav{opacity:1;transform:none;animation:none!important}.underline{width:min(10.5rem,38vw)}.nav a .ch{opacity:.75}}.intro{z-index:4;letter-spacing:.02em;pointer-events:none;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.1rem clamp(1.5rem,5vw,3.5rem);padding:0 clamp(1.25rem,4vw,2.75rem) clamp(1.35rem,3.5vh,2.25rem);font-size:.62rem;line-height:1.75;display:flex;position:absolute;bottom:0;left:0;right:0}.intro a{pointer-events:auto}.intro h2,.intro p,.intro ul{margin:0}.intro-eyebrow{color:rgba(var(--glow), .5);letter-spacing:.13em;text-transform:uppercase;font-size:.55rem}.intro-name{font:400 .95rem/1.35 var(--font-word);letter-spacing:.05em;color:var(--ink);margin-top:.5rem!important}.intro-role{color:var(--chrome);letter-spacing:.06em}.intro-lead{color:#eef1f6b8;word-break:keep-all;font-size:.72rem}.intro-meta{color:#eef1f657}.intro-more{color:#eef1f6e6;letter-spacing:.08em;border:1px solid rgba(var(--glow), .34);background:rgba(var(--glow), .05);transition:color .2s var(--ease-out), border-color .2s var(--ease-out), background .2s var(--ease-out);border-radius:999px;align-self:flex-end;margin-top:.2rem;margin-left:auto;padding:.38rem .8rem;text-decoration:none}.intro-more:hover{color:var(--ink);border-color:rgba(var(--glow), .7);background:rgba(var(--glow), .1)}.hub{z-index:5;max-width:60rem;margin:0 auto;padding:clamp(3.5rem,9vh,6rem) clamp(1.25rem,4vw,2.75rem) clamp(3rem,8vh,5rem);font-size:.72rem;line-height:1.7;position:relative}.hub-head{margin-bottom:clamp(2rem,5vh,3rem)}.hub-head h2{font:400 clamp(1.5rem, 4vw, 2.1rem)/1.1 var(--font-word);letter-spacing:.04em;color:var(--ink);margin:0}.hub-head p{color:#eef1f661;word-break:keep-all;margin:.7rem 0 0}.hub-col{border-top:1px solid #eef1f617;grid-template-columns:11rem 1fr;gap:0 1.75rem;padding:1.5rem 0 .35rem;display:grid}.hub-col-head h3{color:rgba(var(--glow), .78);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.62rem;font-weight:500}.hub-col-head p{color:#eef1f64d;margin:.35rem 0 0;font-size:.65rem}.hub-col ul{flex-direction:column;gap:1.35rem;margin:0;padding:0;list-style:none;display:flex}.hub-col li{grid-template-columns:1.6rem 1fr auto;align-items:start;gap:0 .85rem;display:grid}.hub-emoji{font-size:.95rem;line-height:1.4}.hub-body p{margin:0}.hub-name{color:var(--ink);letter-spacing:.02em;font-size:.82rem}.hub-blurb{color:#eef1f680;word-break:keep-all;margin-top:.25rem!important}.hub-tags{color:#eef1f642;letter-spacing:.05em;font-size:.6rem;margin-top:.45rem!important}.hub-links{flex-direction:column;align-items:flex-end;gap:.4rem;display:flex}.hub-links a{color:#eef1f6e6;letter-spacing:.08em;white-space:nowrap;border:1px solid rgba(var(--glow), .34);background:rgba(var(--glow), .05);transition:color .2s var(--ease-out), border-color .2s var(--ease-out), background .2s var(--ease-out);border-radius:999px;padding:.34rem .7rem;font-size:.62rem;text-decoration:none}.hub-links a:hover{color:var(--ink);border-color:rgba(var(--glow), .6);background:rgba(var(--glow), .06)}.hub-foot{border-top:1px solid #eef1f617;flex-wrap:wrap;gap:.85rem 1.6rem;margin-top:2.5rem;padding-top:1.4rem;display:flex}.hub-foot a{color:#eef1f680;letter-spacing:.04em;text-decoration:none}.hub-foot a:hover{color:var(--ink)}@media (width<=720px){.hub-col{grid-template-columns:1fr;gap:1rem}.hub-col li{grid-template-columns:1.5rem 1fr}.hub-links{flex-direction:row;grid-column:2;justify-content:flex-start;align-items:center;margin-top:.7rem}}.intro-contact{color:#eef1f647;flex-wrap:wrap;gap:.5rem;width:100%;display:flex}.intro-contact a{color:#eef1f685;border-bottom:1px solid #eef1f629;text-decoration:none}.intro-contact a:hover{color:var(--ink)}@media (width<=720px){.intro{flex-direction:column;align-items:flex-start;gap:.9rem;font-size:.6rem}.intro-lead{font-size:.68rem}}@media (height<=620px){.intro{gap:.7rem clamp(1.25rem,4vw,2.5rem);font-size:.55rem;line-height:1.6}.intro-lead{font-size:.62rem}.intro-name{font-size:.85rem}}.mock-switch{top:max(.65rem, env(safe-area-inset-top));right:max(.65rem, env(safe-area-inset-right));z-index:50;font-family:JetBrains Mono,ui-monospace,monospace;position:fixed}.mock-switch-btn{backdrop-filter:blur(10px);color:#eef1f6e0;font:inherit;letter-spacing:.04em;cursor:pointer;background:#0b0c10c7;border:1px solid #eef1f629;border-radius:999px;align-items:center;gap:.4rem;padding:.45rem .65rem;font-size:.68rem;display:flex}.mock-switch-btn:hover{border-color:#b4d2ff59}.mock-switch-kicker{text-transform:uppercase;letter-spacing:.14em;color:#b4d2ffa6;font-size:.58rem}.mock-switch-current{text-overflow:ellipsis;white-space:nowrap;max-width:7.5rem;font-weight:500;overflow:hidden}.mock-switch-caret{opacity:.5;font-size:.6rem}.mock-switch-panel{backdrop-filter:blur(14px);background:#0e1016f0;border:1px solid #eef1f61f;border-radius:12px;width:min(18.5rem,100vw - 1.3rem);padding:.65rem .55rem .55rem;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 16px 40px #00000073}.mock-switch-panel[hidden]{display:none}.mock-switch-hint{color:#eef1f666;letter-spacing:.04em;margin:0;padding:0 .45rem .45rem;font-size:.62rem}.mock-switch-panel ul{flex-direction:column;gap:.2rem;list-style:none;display:flex}.mock-switch-panel a{color:#eef1f6bf;border-radius:8px;flex-direction:column;gap:.12rem;padding:.5rem .55rem;text-decoration:none;display:flex}.mock-switch-panel a:hover{color:#fff;background:#b4d2ff0f}.mock-switch-panel a.is-active{color:#fff;background:#b4d2ff1a}.v-label{letter-spacing:.04em;font-size:.72rem;font-weight:500}.v-blurb{color:#eef1f666;font-size:.62rem;line-height:1.35}.mock-switch-work{color:#eef1f666;border-top:1px solid #eef1f614;margin-top:.45rem;padding:.45rem .55rem .2rem;font-size:.65rem;text-decoration:none;display:block}.mock-switch-work:hover{color:#eef1f6cc}.mock-badge{left:50%;bottom:max(1.1rem, env(safe-area-inset-bottom));z-index:3;letter-spacing:.12em;text-transform:uppercase;color:#eef1f659;pointer-events:none;font-size:.62rem;position:absolute;transform:translate(-50%)}
