@supports selector(::-webkit-scrollbar){::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:linear-gradient(var(--accent), var(--accent-2));border:2px solid var(--bg);border-radius:99px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@keyframes cardIn{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}@media (min-width:700px){.timeline__top{grid-template-columns:1fr auto;align-items:start;gap:1.5rem}.timeline__period{justify-self:end}}@media (min-width:1000px){.about{grid-template-columns:minmax(0,1.6fr) minmax(300px,.9fr)}.skills{grid-template-columns:minmax(0,1.25fr) minmax(340px,1fr);align-items:start}.timeline{padding-left:2.2rem}.timeline__marker{left:-2.2rem}.timeline__card{padding:2rem 2.2rem}}@media (hover:none){.card--glass:hover{border-color:var(--border);box-shadow:none}.project__glow{opacity:.5}[data-tilt]{transform:none!important}}.game-body{height:100vh;overscroll-behavior:none;-webkit-user-select:none;user-select:none;touch-action:none;background:radial-gradient(1200px 700px at 50% 0,#0b1526 0%,#0000 62%),radial-gradient(900px 600px at 15% 100%,#131033 0%,#0000 60%),#05070d;height:100dvh;overflow:hidden}#stage{z-index:0;width:100%;height:100%;display:block;position:fixed;top:0;bottom:0;left:0;right:0}.vignette{z-index:1;pointer-events:none;background:radial-gradient(78% 70% at 50% 48%,#0000 40%,#0000008c 100%);position:fixed;top:0;bottom:0;left:0;right:0}.hud{z-index:10;pointer-events:none;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));position:fixed;top:0;bottom:0;left:0;right:0}.hud[hidden]{display:none}.hud>*{pointer-events:auto}.hud__bar{justify-content:flex-end;align-items:center;gap:1rem;display:flex}.hud__stats{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem;display:flex}.hud__chip{border:1px solid var(--border);-webkit-backdrop-filter:blur(14px);font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-soft);white-space:nowrap;background:#070c16b8;background:color(display-p3 .0310105 .0464606 .0831791/.72);background:lab(3.24711% .0972077 -5.94538/.72);border-radius:999px;align-items:center;gap:.5rem;padding:.5rem .95rem;font-size:.72rem;display:inline-flex}.hud__chip b{color:var(--accent);font-weight:700}.hud__chipicon svg{width:15px;height:15px;color:var(--accent)}.hud__btn{border:1px solid var(--border);-webkit-backdrop-filter:blur(14px);color:var(--text-soft);transition:color .25s, border-color .25s, transform .25s var(--ease);background:#070c16b8;background:color(display-p3 .0310105 .0464606 .0831791/.72);background:lab(3.24711% .0972077 -5.94538/.72);border-radius:999px;align-items:center;gap:.4rem;padding:.5rem .8rem;font-size:.75rem;font-weight:600;display:inline-flex}.hud__btn:hover{color:var(--text);border-color:var(--accent);transform:translateY(-1px)}.hud__btn svg{width:16px;height:16px}.hud__btn .ico-off,.hud__btn[aria-pressed=false] .ico-on{display:none}.hud__btn[aria-pressed=false] .ico-off{display:block}:root{--minimap-size:148px;--minimap-gap:1rem;--touch-stack:200px;--panel-gap:.75rem}.minimap{right:max(1rem, env(safe-area-inset-right));bottom:calc(max(1rem, env(safe-area-inset-bottom)) + var(--touch-stack));width:var(--minimap-size);height:var(--minimap-size);border:1px solid var(--border);-webkit-backdrop-filter:blur(14px);transition:transform .5s var(--ease);will-change:transform;background:#070c16ad;background:color(display-p3 .0310105 .0464606 .0831791/.68);background:lab(3.24711% .0972077 -5.94538/.68);border-radius:20px;position:fixed;overflow:hidden;box-shadow:0 20px 50px -24px #000000e6}.minimap.is-tucked{transform:translateY(var(--touch-stack))}.minimap canvas{width:100%;height:100%;display:block}.inspect{top:max(.6rem, env(safe-area-inset-top));z-index:40;border:1px solid color-mix(in oklab, var(--accent) 45%, transparent);max-width:min(92vw,520px);color:var(--text);font-family:var(--font-mono);white-space:pre-wrap;pointer-events:none;background:#04070ee6;background:color(display-p3 .0177749 .0270605 .0525908/.9);background:lab(1.86034% -.0399351 -3.13291/.9);border-radius:10px;margin:0;padding:.5rem .7rem;font-size:.58rem;line-height:1.5;position:fixed;left:50%;transform:translate(-50%)}.perf{top:calc(max(1rem, env(safe-area-inset-top)) + 3.3rem + 260px);left:max(1rem, env(safe-area-inset-left));z-index:12;border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);font-family:var(--font-mono);letter-spacing:.04em;color:var(--muted);pointer-events:none;background:#070c16c7;background:color(display-p3 .0310105 .0464606 .0831791/.78);background:lab(3.24711% .0972077 -5.94538/.78);border-radius:8px;padding:.28rem .55rem;font-size:.58rem;display:none;position:fixed}.perf.is-visible{display:block}.minimap.is-hidden{display:none}.zoomchip.is-shifted{bottom:max(1rem, env(safe-area-inset-bottom))}.zoomchip{right:max(1rem, env(safe-area-inset-right));bottom:calc(max(1rem, env(safe-area-inset-bottom)) + var(--minimap-size) + var(--minimap-gap));border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-soft);opacity:0;pointer-events:none;transition:opacity .25s var(--ease), transform .25s var(--ease);z-index:12;background:#070c16d6;background:color(display-p3 .0310105 .0464606 .0831791/.84);background:lab(3.24711% .0972077 -5.94538/.84);border-radius:999px;align-items:center;gap:.35rem;padding:.32rem .6rem;font-size:.66rem;display:inline-flex;position:fixed;transform:translateY(6px)}.zoomchip.is-visible{opacity:1;transform:translateY(0)}.zoomchip svg{opacity:.7;width:13px;height:13px}.legend{left:max(1rem, env(safe-area-inset-left));bottom:max(1rem, env(safe-area-inset-bottom));border:1px solid var(--border);-webkit-backdrop-filter:blur(14px);opacity:1;transition:opacity .3s var(--ease), transform .3s var(--ease);background:#070c16ad;background:color(display-p3 .0310105 .0464606 .0831791/.68);background:lab(3.24711% .0972077 -5.94538/.68);border-radius:16px;gap:.4rem;padding:.85rem 1rem;display:grid;position:fixed}.legend.is-hidden{opacity:0;pointer-events:none;transform:translateY(8px)}.legend__row{align-items:center;gap:.6rem;display:flex}.legend__row--device{border-bottom:1px solid var(--border);margin-bottom:.15rem;padding-bottom:.45rem}.legend__device{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-size:.6rem}.legend__keys{gap:.2rem;min-width:76px;display:inline-flex}.legend__keys kbd{border:1px solid var(--border-strong);background:var(--surface-2);min-width:22px;height:22px;font-family:var(--font-mono);color:var(--text);border-radius:6px;place-items:center;padding:0 .38rem;font-size:.62rem;display:inline-grid;box-shadow:0 2px #00000059}.legend__keys kbd.kbd--pad{border-color:color-mix(in oklab, var(--accent) 45%, transparent);color:var(--accent);background:color-mix(in oklab, var(--accent) 12%, transparent)}.legend__text{color:var(--muted);font-size:.74rem}.prompt{border:1px solid color-mix(in oklab, var(--accent) 45%, transparent);-webkit-backdrop-filter:blur(14px);box-shadow:0 0 32px -10px color-mix(in oklab, var(--accent) 60%, transparent);opacity:0;pointer-events:none;transition:opacity .25s var(--ease), transform .25s var(--ease);background:#070c16d1;background:color(display-p3 .0310105 .0464606 .0831791/.82);background:lab(3.24711% .0972077 -5.94539/.82);border-radius:999px;align-items:center;gap:.7rem;padding:.6rem 1.1rem .6rem .7rem;display:inline-flex;position:fixed;bottom:clamp(7rem,18vh,11rem);left:50%;transform:translate(-50%,14px)}.prompt.is-visible{opacity:1;transform:translate(-50%)}.prompt__key{background:linear-gradient(140deg, var(--accent), var(--accent-2));color:#04121c;min-width:30px;height:30px;font-family:var(--font-mono);border-radius:9px;place-items:center;padding:0 .5rem;font-size:.78rem;font-weight:700;display:grid}.prompt__text{color:var(--text-soft);font-size:.84rem}.prompt__text b{color:var(--text)}.panel__fallback{color:var(--text-soft);background:#fbbf2414;background:color(display-p3 .948072 .758413 .293914/.08);background:lab(81.2476% 13.2706 77.1046/.08);border:1px solid #fbbf2459;border:1px solid color(display-p3 .948072 .758413 .293914/.35);border:1px solid lab(81.2476% 13.2706 77.1046/.35);border-radius:14px;justify-items:start;gap:.7rem;padding:1rem 1.1rem;font-size:.86rem;line-height:1.6;display:grid}.prompt.is-sealed{box-shadow:none;border-color:#94a3b866;border-color:color(display-p3 .591388 .637374 .713877/.4);border-color:lab(66.329% -2.058 -12.7689/.4)}.prompt.is-sealed .prompt__key{color:var(--muted);border-color:var(--border)}.prompt.is-sealed .prompt__text b{color:var(--muted)}.toast{left:50%;top:calc(max(1rem, env(safe-area-inset-top)) + 4.4rem);border:1px solid var(--border);-webkit-backdrop-filter:blur(14px);color:var(--text);opacity:0;pointer-events:none;transition:opacity .3s var(--ease), transform .3s var(--ease);text-align:center;background:#070c16e0;background:color(display-p3 .0310105 .0464606 .0831791/.88);background:lab(3.24711% .0972077 -5.94538/.88);border-radius:999px;max-width:min(90vw,460px);padding:.6rem 1.15rem;font-size:.82rem;position:fixed;transform:translate(-50%,-10px)}.toast.is-visible{opacity:1;transform:translate(-50%)}.touch{display:none}.touch.is-visible{display:block}.touch__move{z-index:15;touch-action:none;width:52%;height:62%;position:fixed;bottom:0;left:0}.touch__look{z-index:14;touch-action:none;width:48%;height:78%;position:fixed;bottom:0;right:0}.stick{left:max(4.6rem, calc(env(safe-area-inset-left) + 4.6rem));bottom:calc(max(1.4rem, env(safe-area-inset-bottom)) + 1.4rem);z-index:16;pointer-events:none;opacity:.55;width:132px;height:132px;transition:opacity .18s var(--ease);margin-top:-66px;margin-left:-66px;position:fixed}.stick.is-active{opacity:1}.stick__ring{border:2px solid color-mix(in oklab, var(--accent) 42%, transparent);background:radial-gradient(circle, color-mix(in oklab, var(--accent) 16%, transparent), transparent 70%), #070c166b;-webkit-backdrop-filter:blur(4px);border-radius:50%;position:absolute;top:0;bottom:0;left:0;right:0}@supports (color:color(display-p3 0 0 0)){.stick__ring{background:radial-gradient(circle, color-mix(in oklab, var(--accent) 16%, transparent), transparent 70%), color(display-p3 .0310105 .0464606 .0831791/.42)}}@supports (color:lab(0% 0 0)){.stick__ring{background:radial-gradient(circle, color-mix(in oklab, var(--accent) 16%, transparent), transparent 70%), lab(3.24711% .0972077 -5.94538/.42)}}.stick__ring:before,.stick__ring:after{content:"";background:color-mix(in oklab, var(--accent) 34%, transparent);position:absolute}.stick__ring:before{width:1px;top:8%;bottom:8%;left:50%}.stick__ring:after{height:1px;top:50%;left:8%;right:8%}.stick__nub{background:linear-gradient(140deg, var(--accent), var(--accent-2));width:58px;height:58px;box-shadow:0 8px 22px -8px color-mix(in oklab, var(--accent) 90%, transparent);border-radius:50%;margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.touch__buttons{--btn-a:88px;--btn-b:70px;--btn-c:60px;--btn-gap:12px;right:max(1.1rem, env(safe-area-inset-right));bottom:calc(max(1.2rem, env(safe-area-inset-bottom)) + 1rem);z-index:17;width:calc(var(--btn-a) + var(--btn-gap) + var(--btn-b));height:calc(var(--btn-a) + var(--btn-gap) + var(--btn-c));pointer-events:none;position:fixed}.touch__action{border:1px solid color-mix(in oklab, var(--accent) 45%, transparent);-webkit-backdrop-filter:blur(12px);color:var(--accent);pointer-events:auto;transition:transform .15s var(--ease), background-color .15s;background:#070c16bd;background:color(display-p3 .0310105 .0464606 .0831791/.74);background:lab(3.24711% .0972077 -5.94538/.74);border-radius:50%;place-items:center;gap:.1rem;display:grid;position:absolute}.touch__action svg{width:22px;height:22px}.touch__action span{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.55rem}.touch__action.is-pressed{background:color-mix(in oklab, var(--accent) 22%, transparent);transform:scale(.92)}.touch__action--open{width:var(--btn-a);height:var(--btn-a);bottom:0;right:0}.touch__action--dash{right:calc(var(--btn-a) + var(--btn-gap));width:var(--btn-b);height:var(--btn-b);color:var(--accent-2);border-color:color-mix(in oklab, var(--accent-2) 45%, transparent);bottom:22px}.touch__action--sprint{right:calc((var(--btn-a) - var(--btn-c)) / 2);bottom:calc(var(--btn-a) + var(--btn-gap));width:var(--btn-c);height:var(--btn-c);color:var(--accent-3);border-color:color-mix(in oklab, var(--accent-3) 45%, transparent)}.touch__action--sprint svg{width:20px;height:20px}.touch__action--sprint span{letter-spacing:.08em;font-size:.5rem}.touch__action--sprint.is-pressed{background:color-mix(in oklab, var(--accent-3) 30%, transparent)}.touch__action--dash.is-cooling{opacity:.45;color:var(--muted);border-color:var(--border)}.mappick[hidden]{display:none}.mappick{grid-template-columns:1fr 1fr;gap:.6rem;margin:0 0 1.1rem;display:grid}.mappick__btn{border:1px solid var(--border);color:var(--text-soft);text-align:left;cursor:pointer;transition:border-color .2s var(--ease), background-color .2s var(--ease), transform .2s var(--ease);background:#070c1699;background:color(display-p3 .0310105 .0464606 .0831791/.6);background:lab(3.24711% .0972077 -5.94538/.6);border-radius:14px;gap:.15rem;padding:.7rem .9rem;display:grid}.mappick__btn b{color:var(--text);font-size:.92rem}.mappick__btn small{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.6rem}.mappick__btn:hover{border-color:color-mix(in oklab, var(--accent) 50%, var(--border));transform:translateY(-1px)}.mappick__btn.is-active{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 16%, transparent);box-shadow:0 0 24px -10px color-mix(in oklab, var(--accent) 80%, transparent)}.mappick__btn.is-active b{color:var(--accent)}.speech{border:1px solid color-mix(in oklab, var(--speech,var(--accent)) 45%, transparent);-webkit-backdrop-filter:blur(14px);width:min(88vw,420px);box-shadow:0 0 36px -12px color-mix(in oklab, var(--speech,var(--accent)) 70%, transparent);opacity:0;pointer-events:none;transition:opacity .22s var(--ease), transform .22s var(--ease);background:#070c16d6;background:color(display-p3 .0310105 .0464606 .0831791/.84);background:lab(3.24711% .0972077 -5.94538/.84);border-radius:16px;padding:.75rem .95rem .7rem;position:fixed;bottom:clamp(10.5rem,26vh,15rem);left:50%;transform:translate(-50%,14px)}.speech.is-visible{opacity:1;transform:translate(-50%)}.speech__head{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;align-items:baseline;gap:.45rem;margin-bottom:.35rem;font-size:.62rem;display:flex}.speech__dot{background:var(--speech,var(--accent));width:9px;height:9px;box-shadow:0 0 10px var(--speech,var(--accent));border-radius:50%;align-self:center}.speech__name{color:var(--speech,var(--accent));font-weight:700}.speech__role{color:var(--muted)}.speech__text{color:var(--text);margin:0;font-size:.9rem;line-height:1.45}.speech__keys{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);gap:.9rem;margin-top:.5rem;font-size:.58rem;display:flex}.speech__keys b{border:1px solid var(--border);min-width:1.3em;color:var(--text-soft);text-align:center;border-radius:5px;margin-right:.3rem;padding:.05rem .35rem;font-weight:600;display:inline-block}@media (max-width:620px){.speech{bottom:calc(max(1.2rem, env(safe-area-inset-bottom)) + var(--touch-stack) + 3.4rem);font-size:.9rem}.speech__text{font-size:.84rem}}.hud.is-hidden{opacity:0;pointer-events:none;transition:opacity .25s var(--ease)}.hud.is-hidden *{pointer-events:none!important}.photo{z-index:52;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s var(--ease), visibility .3s;position:fixed;top:0;bottom:0;left:0;right:0}.photo.is-open{opacity:1;visibility:visible}.photo__bar{top:max(.9rem, env(safe-area-inset-top));border:1px solid var(--border);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow);pointer-events:auto;background:#070c16d1;background:color(display-p3 .0310105 .0464606 .0831791/.82);background:lab(3.24711% .0972077 -5.94539/.82);border-radius:999px;align-items:center;gap:.7rem;max-width:calc(100vw - 2rem);padding:.5rem .6rem .5rem 1rem;display:flex;position:absolute;left:50%;transform:translate(-50%)}.photo__kicker{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);white-space:nowrap;font-size:.6rem}.photo__hint{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.74rem;transition:color .3s;overflow:hidden}.photo__hint.is-pulse{color:var(--text)}.photo__flash{opacity:0;pointer-events:none;background:#eaf6ff;position:absolute;top:0;bottom:0;left:0;right:0}.photo__flash.is-firing{animation:shutter .42s var(--ease-out)}@keyframes shutter{0%{opacity:0}12%{opacity:.82}to{opacity:0}}.shots{z-index:62;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));-webkit-backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:opacity .3s var(--ease), visibility .3s;background:#03060cc7;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.shots.is-open{opacity:1;visibility:visible}.shots__card{border:1px solid color-mix(in oklab, var(--accent) 32%, var(--border));width:min(100%,620px);max-height:100%;box-shadow:var(--shadow-lg);text-align:center;transition:transform .35s var(--ease-out);background:linear-gradient(#0a1120,#070c16);border-radius:22px;padding:clamp(1rem,3vw,1.6rem);overflow-y:auto;transform:translateY(14px)scale(.99)}.shots.is-open .shots__card{transform:translateY(0)scale(1)}.shots__kicker{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem;font-size:.62rem}.shots__title{margin-bottom:1rem;font-size:clamp(1.2rem,1rem + 1.2vw,1.7rem)}.shots__frame{border:1px solid var(--border);background:#05070d;border-radius:14px;margin-bottom:.9rem;overflow:hidden}.shots__frame img{width:100%;height:auto;display:block}.shots__note{min-height:1.2em;color:var(--muted);margin-bottom:1rem;font-size:.8rem}.shots__actions{flex-wrap:wrap;justify-content:center;gap:.55rem;display:flex}.codex{z-index:59;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));opacity:0;visibility:hidden;transition:opacity .3s var(--ease), visibility .3s;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.codex.is-open{opacity:1;visibility:visible}.codex__scrim{-webkit-backdrop-filter:blur(10px);background:#03060cc2;position:absolute;top:0;bottom:0;left:0;right:0}.codex__sheet{z-index:1;border:1px solid var(--border);width:min(100%,640px);max-height:min(100%,88dvh);box-shadow:var(--shadow-lg);transition:transform .32s var(--ease-out);background:linear-gradient(#0a1120,#070c16);border-radius:22px;flex-direction:column;display:flex;position:relative;overflow:hidden;transform:translateY(16px)scale(.99)}.codex.is-open .codex__sheet{transform:translateY(0)scale(1)}.codex__bar{border-bottom:1px solid var(--border);background:#0b1322e6;background:color(display-p3 .0496948 .073635 .12883/.9);background:lab(5.76547% .409253 -11.4297/.9);align-items:center;gap:.75rem;padding:.9rem clamp(1rem,3vw,1.5rem);display:flex}.codex__headingwrap{flex:1;gap:.1rem;min-width:0;display:grid}.codex__kicker{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-size:.58rem}.codex__title{font-size:1.05rem;font-weight:600}.codex__body{overscroll-behavior:contain;flex:1;gap:.6rem;padding:clamp(.9rem,2.5vw,1.3rem) clamp(.9rem,2.5vw,1.3rem) 1.5rem;display:grid;overflow-y:auto}.codex__item{border:1px solid var(--border);background:var(--surface);border-left:3px solid var(--codex-accent,var(--accent));border-radius:14px;grid-template-columns:auto minmax(0,1fr);gap:.8rem;padding:.85rem .95rem;display:grid}.codex__item.is-locked{background:#ffffff06;background:color(display-p3 1 1 1/.025);background:lab(100% -.0000298023 .0000119209/.025);border-left-color:#94a3b899;border-left-color:color(display-p3 .591388 .637374 .713877/.6);border-left-color:lab(66.329% -2.058 -12.7689/.6)}.codex__item.is-new{box-shadow:0 0 0 1px color-mix(in oklab, var(--codex-accent) 45%, transparent)}.codex__num{font-family:var(--font-mono);letter-spacing:.06em;color:var(--codex-accent,var(--accent));opacity:.9;padding-top:.15rem;font-size:.68rem}.codex__item.is-locked .codex__num{color:var(--muted)}.codex__text{gap:.3rem;min-width:0;display:grid}.codex__itemtitle{font-size:.95rem;font-weight:600}.codex__item.is-locked .codex__itemtitle{color:var(--muted);font-style:italic}.codex__line{color:var(--text-soft);font-size:.84rem}.codex__lore{color:var(--muted);font-size:.82rem;line-height:1.55}.codex__hint{font-family:var(--font-mono);letter-spacing:.03em;color:color-mix(in oklab, #fbbf24 85%, var(--text));font-size:.68rem}.codex__tag{border:1px solid color-mix(in oklab, var(--codex-accent,var(--accent)) 45%, transparent);background:color-mix(in oklab, var(--codex-accent,var(--accent)) 14%, transparent);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--codex-accent,var(--accent));border-radius:999px;justify-self:start;padding:.15rem .5rem;font-size:.56rem}.codex__foot{border-top:1px solid var(--border);font-family:var(--font-mono);letter-spacing:.05em;color:var(--muted);background:#0b1322e6;background:color(display-p3 .0496948 .073635 .12883/.9);background:lab(5.76547% .409253 -11.4297/.9);justify-content:space-between;align-items:center;gap:.8rem;padding:.75rem clamp(1rem,3vw,1.5rem);font-size:.64rem;display:flex}#btn-codex span{font-family:var(--font-mono);letter-spacing:.08em;color:var(--accent);font-size:.62rem}.codex__tabs{border-bottom:1px solid var(--border);gap:.3rem;padding:.5rem clamp(1rem,3vw,1.5rem) 0;display:flex}.codex__tab{color:var(--muted);border:1px solid #0000;border-bottom:0;border-radius:999px 999px 0 0;padding:.45rem .9rem;font-size:.78rem;font-weight:500;transition:color .2s,background-color .2s,border-color .2s}.codex__tab:hover{color:var(--text)}.codex__tab.is-active{color:var(--accent);border-color:var(--border);background:var(--surface)}.codex__item--guide{border-left-color:var(--accent);grid-template-columns:minmax(0,1fr)}.codex__footactions{flex-wrap:wrap;gap:.4rem;display:inline-flex}.overlay{z-index:50;-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .4s var(--ease), visibility .4s;background:radial-gradient(900px 600px at 50% 40%,#0c1628d1,#03050af0);place-items:center;padding:1.5rem;display:grid;position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto}.overlay.is-open{opacity:1;visibility:visible}.overlay[hidden]{display:none}.overlay__card{border:1px solid var(--border);width:min(100%,620px);box-shadow:var(--shadow-lg);text-align:center;background:#080d18e0;background:color(display-p3 .0350346 .0503967 .0907697/.88);background:lab(3.59443% .317834 -6.91566/.88);border-radius:26px;padding:clamp(1.6rem,4vw,2.6rem)}.overlay__kicker{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:.8rem;font-size:.68rem}.overlay__title{margin-bottom:1rem;font-size:clamp(2rem,1.1rem + 4.6vw,3.6rem)}.overlay__title em{background:linear-gradient(100deg, var(--accent), var(--accent-2) 55%, var(--accent-3));color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.overlay__lede{font-size:var(--fs-lede);color:var(--muted);max-width:46ch;margin:0 auto 1.8rem}.overlay__controls{text-align:left;gap:.6rem;margin-bottom:1.8rem;display:grid}.overlay__controls li{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:14px;align-items:center;gap:.85rem;padding:.75rem .95rem;font-size:.84rem;display:flex}.overlay__controls b{color:var(--text);font-weight:600}.overlay__ico{background:var(--surface-2);border-radius:10px;flex:none;place-items:center;width:36px;height:36px;font-size:1.05rem;display:grid}.overlay__actions{flex-wrap:wrap;justify-content:center;gap:.7rem;display:flex}.overlay__hint{font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted);margin-top:1.2rem;font-size:.68rem}.settings{z-index:58;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));opacity:0;visibility:hidden;transition:opacity .3s var(--ease), visibility .3s;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.settings.is-open{opacity:1;visibility:visible}.settings__scrim{-webkit-backdrop-filter:blur(10px);background:#03060cbd;position:absolute;top:0;bottom:0;left:0;right:0}.settings__sheet{z-index:1;border:1px solid var(--border);width:min(100%,560px);max-height:min(100%,88dvh);box-shadow:var(--shadow-lg);transition:transform .32s var(--ease-out);background:linear-gradient(#0a1120,#070c16);border-radius:22px;flex-direction:column;display:flex;position:relative;overflow:hidden;transform:translateY(16px)scale(.99)}.settings.is-open .settings__sheet{transform:translateY(0)scale(1)}.settings__bar{border-bottom:1px solid var(--border);background:#0b1322e6;background:color(display-p3 .0496948 .073635 .12883/.9);background:lab(5.76547% .409253 -11.4297/.9);align-items:center;gap:.75rem;padding:.9rem clamp(1rem,3vw,1.5rem);display:flex}.settings__headingwrap{flex:1;gap:.1rem;min-width:0;display:grid}.settings__kicker{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-size:.58rem}.settings__title{font-size:1.05rem;font-weight:600}.settings__body{overscroll-behavior:contain;flex:1;gap:1.1rem;padding:clamp(.9rem,2.5vw,1.4rem) clamp(.9rem,2.5vw,1.4rem) 1.6rem;display:grid;overflow-y:auto}.settings__group{gap:.5rem;display:grid}.settings__grouphead{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:.6rem}.settings__row{border:1px solid var(--border);background:var(--surface);border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(120px,46%);align-items:center;gap:.7rem 1rem;padding:.6rem .75rem;display:grid}.settings__text{gap:.15rem;min-width:0;display:grid}.settings__label{color:var(--text);font-size:.86rem;font-weight:500}.settings__hint{color:var(--muted);font-size:.72rem;line-height:1.45}.settings__control{justify-content:flex-end;align-items:center;gap:.6rem;display:flex}.settings__range{-webkit-appearance:none;appearance:none;cursor:pointer;background:0 0;flex:1;min-width:0;height:22px}.settings__range::-webkit-slider-runnable-track{background:color-mix(in oklab, var(--accent) 26%, transparent);border-radius:999px;height:5px}.settings__range::-moz-range-track{background:color-mix(in oklab, var(--accent) 26%, transparent);border-radius:999px;height:5px}.settings__range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:linear-gradient(140deg, var(--accent), var(--accent-2));width:17px;height:17px;box-shadow:0 0 12px -2px color-mix(in oklab, var(--accent) 90%, transparent);border:2px solid #04121c;border-radius:50%;margin-top:-6px}.settings__range::-moz-range-thumb{background:linear-gradient(140deg, var(--accent), var(--accent-2));border:2px solid #04121c;border-radius:50%;width:15px;height:15px}.settings__value{text-align:right;min-width:3.1rem;font-family:var(--font-mono);color:var(--accent);font-variant-numeric:tabular-nums;font-size:.72rem}.settings__toggle{-webkit-appearance:none;appearance:none;border:1px solid var(--border-strong);cursor:pointer;background:#ffffff0f;background:color(display-p3 1 1 1/.06);background:lab(100% -.0000298023 .0000119209/.06);border-radius:999px;width:46px;height:26px;transition:background-color .25s,border-color .25s;position:relative}.settings__toggle:after{content:"";background:var(--muted);width:20px;height:20px;transition:transform .25s var(--ease), background-color .25s;border-radius:50%;position:absolute;top:2px;left:2px}.settings__toggle:checked{background:color-mix(in oklab, var(--accent) 30%, transparent);border-color:color-mix(in oklab, var(--accent) 60%, transparent)}.settings__toggle:checked:after{background:var(--accent);transform:translate(20px)}.settings__foot{border-top:1px solid var(--border);font-family:var(--font-mono);letter-spacing:.05em;color:var(--muted);background:#0b1322e6;background:color(display-p3 .0496948 .073635 .12883/.9);background:lab(5.76547% .409253 -11.4297/.9);justify-content:space-between;align-items:center;gap:.8rem;padding:.75rem clamp(1rem,3vw,1.5rem);font-size:.64rem;display:flex}.stats{z-index:60;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));-webkit-backdrop-filter:blur(12px);opacity:0;visibility:hidden;transition:opacity .35s var(--ease), visibility .35s;background:radial-gradient(120% 100% at 50% 0,#38bdf824,#03060cd1 60%);place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.stats.is-open{opacity:1;visibility:visible}.stats__card{border:1px solid color-mix(in oklab, var(--accent) 34%, var(--border));width:min(100%,520px);box-shadow:var(--shadow-lg), 0 0 70px -30px color-mix(in oklab, var(--accent) 80%, transparent);text-align:center;transition:transform .4s var(--ease-out);background:linear-gradient(#0a1120,#070c16);border-radius:24px;padding:clamp(1.4rem,4vw,2.4rem);transform:translateY(18px)scale(.98)}.stats.is-open .stats__card{transform:translateY(0)scale(1)}.stats__kicker{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:.7rem;font-size:.68rem}.stats__title{margin-bottom:1.5rem;font-size:clamp(1.5rem,1.1rem + 1.6vw,2.2rem)}.stats__title em{background:linear-gradient(100deg, var(--accent), var(--accent-2) 55%, #fbbf24);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.stats__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-bottom:1.2rem;display:grid}.stats__item{border:1px solid var(--border);background:var(--surface);text-align:left;border-radius:14px;padding:.85rem .9rem}.stats__item dt{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem;font-size:.6rem}.stats__item dd{font-family:var(--font-display);color:var(--text);font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:700}.stats__item.is-record{border-color:#fbbf2499;border-color:color(display-p3 .948072 .758413 .293914/.6);border-color:lab(81.2476% 13.2706 77.1046/.6)}.stats__item.is-record dd{color:#fbbf24}.stats__note{min-height:1.2em;color:var(--muted);margin-bottom:1.4rem;font-size:.8rem}.stats__actions{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.stats__runs{gap:.3rem;margin-bottom:1rem;display:grid}.stats__runshead{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-align:left;font-size:.58rem}.stats__runs ol,.stats__runs{margin:0;padding:0;list-style:none}.stats__runs li{border:1px solid var(--border);font-family:var(--font-mono);background:#ffffff08;background:color(display-p3 1 1 1/.03);background:lab(100% -.0000298023 .0000119209/.03);border-radius:9px;justify-content:space-between;align-items:baseline;gap:.6rem;padding:.3rem .6rem;font-size:.72rem;display:flex}.stats__runs li:first-child .stats__runTime{color:#fbbf24}.stats__runTime{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.stats__runMeta{color:var(--muted);font-size:.62rem}.gamebtn{cursor:pointer;transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s, color .25s;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.5rem;font-size:.9rem;font-weight:600;display:inline-flex}.gamebtn svg{width:17px;height:17px;transition:transform .25s var(--ease)}.gamebtn:hover{transform:translateY(-2px)}.gamebtn--primary{color:#04121c;background:linear-gradient(100deg, var(--accent), var(--accent-2));box-shadow:0 16px 38px -16px color-mix(in oklab, var(--accent) 90%, transparent)}.gamebtn--primary:hover svg{transform:translate(3px)}.gamebtn--ghost{color:var(--text-soft);border-color:var(--border-strong);background:var(--surface)}.gamebtn--ghost:hover{color:var(--accent);border-color:var(--accent)}.gamebtn--sm{padding:.55rem 1rem;font-size:.78rem}.panel{z-index:40;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));opacity:0;visibility:hidden;transition:opacity .3s var(--ease), visibility .3s;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.panel.is-open{opacity:1;visibility:visible}.panel__scrim{-webkit-backdrop-filter:blur(10px);background:#03060cb8;position:absolute;top:0;bottom:0;left:0;right:0}.panel__sheet{z-index:1;width:min(100%,1080px);height:min(100%,88vh);border:1px solid var(--border);height:min(100%,92dvh);box-shadow:var(--shadow-lg);transition:transform .35s var(--ease-out);background:linear-gradient(#0a1120,#070c16);border-radius:24px 24px 0 0;flex-direction:column;display:flex;position:relative;overflow:hidden;transform:translateY(24px)scale(.99)}.panel.is-open .panel__sheet{transform:translateY(0)scale(1)}.panel__bar{border-bottom:1px solid var(--border);background:#0b1322e6;background:color(display-p3 .0496948 .073635 .12883/.9);background:lab(5.76547% .409253 -11.4297/.9);align-items:center;gap:.75rem;padding:1rem clamp(1rem,3vw,1.9rem);display:flex}.panel__dot{background:var(--accent);border-radius:50%;flex:none;width:10px;height:10px}.panel__heading{letter-spacing:-.01em;flex:1;font-size:clamp(1rem,.9rem + .5vw,1.25rem);font-weight:600}.panel__close{border:1px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--text-soft);border-radius:50%;place-items:center;transition:color .25s,border-color .25s,transform .25s;display:grid}.panel__close:hover{color:var(--accent);border-color:var(--accent);transform:rotate(90deg)}.panel__close svg{width:17px;height:17px}.panel__body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;padding:clamp(1.2rem,3vw,2.4rem);overflow-y:auto}.panel__body:focus-visible{outline:none}.panel__foot{border-top:1px solid var(--border);font-family:var(--font-mono);letter-spacing:.05em;color:var(--muted);background:#0b1322e6;background:color(display-p3 .0496948 .073635 .12883/.9);background:lab(5.76547% .409253 -11.4297/.9);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem clamp(1rem,3vw,1.9rem);font-size:.7rem;display:flex}.panel__body .shell{max-width:none;padding-inline-start:0;padding-inline-end:0}.panel__body .section{padding-block-start:0;padding-block-end:0}.panel__body .section--alt,.panel__body .section--contact{background:0 0;border:0}.panel__body .section__head{max-width:100%;margin-bottom:1.9rem}.panel__body .section__head--center{text-align:left}.panel__body .section__head--center .section__eyebrow{justify-content:flex-start}.panel__body .section__lede{margin-inline-start:0;margin-inline-end:0}.panel__body .contact__cta{justify-content:flex-start}.panel__body .contact__grid{padding-bottom:.5rem}.panel__body .to-top,.panel__body .hero__scroll{display:none}.panel__body [data-reveal]{opacity:1!important;translate:none!important}.panel__body .card{background:#ffffff0a;background:color(display-p3 1 1 1/.04);background:lab(100% -.0000298023 .0000119209/.04)}.rotate-hint{display:none}@media (orientation:landscape) and (max-height:480px){.rotate-hint{top:max(.5rem, env(safe-area-inset-top));z-index:20;border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);max-width:min(92vw,560px);color:var(--text-soft);text-align:center;pointer-events:none;opacity:1;transition:opacity .6s var(--ease);background:#070c16d6;background:color(display-p3 .0310105 .0464606 .0831791/.84);background:lab(3.24711% .0972077 -5.94538/.84);border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.45rem .9rem;font-size:.74rem;display:flex;position:fixed;left:50%;transform:translate(-50%)}.rotate-hint>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}body.hint-done .rotate-hint{opacity:0}.rotate-hint svg{width:34px;height:34px;color:var(--accent)}}@media (min-width:780px){.panel{padding:3vh 2vw}.panel__sheet{border-radius:24px;height:min(100%,88vh)}:root{--minimap-size:148px}}@media (max-width:620px){:root{--minimap-size:84px;--minimap-gap:.5rem;--touch-stack:200px;--top-block:min(88vw, 340px)}.minimap{border-radius:14px}.hud__chip{padding:.45rem .75rem;font-size:.66rem}.legend{display:none}.prompt{top:auto;bottom:calc(max(1.2rem, env(safe-area-inset-bottom)) + var(--touch-stack) + .6rem);text-align:center;flex-wrap:wrap;justify-content:center;row-gap:.2rem;max-width:min(74vw,300px)}.toast{top:auto;bottom:calc(max(1.2rem, env(safe-area-inset-bottom)) + 6.5rem);text-align:center;max-width:min(84vw,320px);transform:translate(-50%,12px)}.toast.is-visible{transform:translate(-50%)}.banner{top:38%}}@media (hover:none) and (pointer:coarse){.legend,.zoomchip{display:none}}@media (max-width:620px){.hud__chipword{display:none}.hud__chip{padding:.42rem .7rem}.hud__btn{padding:.45rem .6rem}.hud__stats{gap:.35rem}.hud__bar{justify-content:center;gap:.35rem}.hud__stats{width:var(--top-block);flex-wrap:nowrap;justify-content:space-between}}.overlay__reason{border:1px solid color-mix(in oklab, var(--accent) 32%, transparent);background:color-mix(in oklab, var(--accent) 10%, transparent);max-width:46ch;font-family:var(--font-mono);color:var(--text-soft);word-break:break-word;border-radius:12px;margin:-.9rem auto 1.6rem;padding:.7rem 1rem;font-size:.72rem;line-height:1.5}.overlay__reason:empty{display:none}.overlay__hint b{color:var(--text-soft);font-weight:600}.game-body.no-webgl{background:radial-gradient(900px 620px at 50% 12%,#10203a 0%,#0000 62%),radial-gradient(760px 520px at 18% 96%,#1a1440 0%,#0000 60%),#05070d}.quests{top:calc(max(1rem, env(safe-area-inset-top)) + 3.4rem);left:max(1rem, env(safe-area-inset-left));border:1px solid var(--border);-webkit-backdrop-filter:blur(14px);width:226px;transition:width .3s var(--ease);background:#070c16b8;background:color(display-p3 .0310105 .0464606 .0831791/.72);background:lab(3.24711% .0972077 -5.94538/.72);border-radius:16px;position:fixed;overflow:hidden}.quests__head{border-bottom:1px solid var(--border);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);align-items:center;gap:.5rem;padding:.55rem .7rem;font-size:.6rem;display:flex}.quests__head svg{flex:none;width:14px;height:14px}.quests__head span{flex:1}.quests__toggle{width:20px;height:20px;color:var(--muted);transition:color .2s, transform .3s var(--ease);border-radius:6px;place-items:center;display:grid}.quests__toggle:hover{color:var(--accent)}.quests__toggle svg{width:13px;height:13px}.quests.is-hidden{display:none}.quests.is-collapsed{width:150px}.quests.is-collapsed .quests__list{display:none}.quests.is-collapsed .quests__toggle{transform:rotate(180deg)}.quests__list{gap:.1rem;padding:.35rem;display:grid}.quests__item{color:var(--muted);border-radius:9px;align-items:center;gap:.55rem;padding:.38rem .5rem;font-size:.76rem;transition:background-color .25s,color .25s;display:flex}.quests__item.is-active{background:color-mix(in oklab, var(--accent) 12%, transparent);color:var(--text)}.quests__item.is-done{color:var(--text-soft)}.quests__tick{border:1.5px solid;border-radius:50%;flex:none;place-items:center;width:16px;height:16px;font-size:.58rem;line-height:1;display:grid;position:relative}.quests__item.is-done .quests__tick{background:var(--q-accent,var(--accent));color:#04121c;border-color:#0000}.quests__item.is-active .quests__tick{border-color:var(--q-accent,var(--accent));color:var(--q-accent,var(--accent));animation:questPing 1.6s var(--ease-out) infinite}@keyframes questPing{0%,to{box-shadow:0 0 0 0 color-mix(in oklab, var(--q-accent,var(--accent)) 55%, transparent)}60%{box-shadow:0 0 0 6px #0000}}.quests__name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.quests__idx{font-family:var(--font-mono);opacity:.55;font-size:.6rem}.quests__lock{opacity:.55;flex:none;font-size:.68rem}.quests__item.is-locked{opacity:.48}.quests__item.is-locked .quests__name{font-style:italic}.vitals{top:calc(max(1rem, env(safe-area-inset-top)) + 6.9rem);left:max(1rem, env(safe-area-inset-left));z-index:11;border:1px solid var(--border);-webkit-backdrop-filter:blur(14px);width:226px;color:var(--text-soft);background:#070c16bd;background:color(display-p3 .0310105 .0464606 .0831791/.74);background:lab(3.24711% .0972077 -5.94538/.74);border-radius:16px;gap:.45rem;padding:.6rem .7rem;display:grid;position:fixed}.vitals__row{align-items:center;gap:.55rem;display:flex}.vitals__row--split{justify-content:space-between}.vitals__label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.6rem}.vitals__meter{background:color-mix(in oklab, var(--accent) 14%, transparent);border-radius:999px;flex:1;height:6px;position:relative;overflow:hidden}.vitals__meter i{background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:999px;width:100%;transition:width .12s linear;position:absolute;top:0;bottom:0;left:0;right:auto}.vitals__meter.is-charging i{background:linear-gradient(90deg,#f97316,#fbbf24)}.vitals__meter.is-ready{box-shadow:0 0 14px -2px color-mix(in oklab, var(--accent) 70%, transparent)}.vitals__stat{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-soft);align-items:center;gap:.28rem;font-size:.7rem;display:inline-flex}.vitals__row--coords{border-top:1px solid var(--border);padding-top:.3rem}.vitals__row--coords.is-hidden{display:none}.vitals__stat.is-coords{gap:.22rem;font-size:.66rem}.vitals__stat.is-coords b{color:var(--muted);margin-left:.25rem;font-weight:600}.vitals__stat.is-coords b:first-of-type{margin-left:0}.vitals__stat.is-coords span{color:var(--text);min-width:2.6em}.vitals__stat.is-clock .ico-moon,.vitals__stat.is-clock.is-night .ico-sun{display:none}.vitals__stat.is-clock.is-night .ico-moon{color:#bcd0ff;display:inline}.vitals__stat svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;opacity:.75;width:13px;height:13px}.vitals__stat b{color:var(--text);font-weight:700}.vitals__stat i{opacity:.45;font-style:normal}.objective.is-offfloor{opacity:.92}.objective.is-offfloor .objective__text i{color:#fbbf24}.vitals__stat.is-ping{animation:vitalsPing .6s var(--ease-out) 2}@keyframes vitalsPing{0%{color:var(--text-soft);transform:scale(1)}40%{color:#fbbf24;transform:scale(1.18)}to{color:var(--text-soft);transform:scale(1)}}.objective{z-index:12;border:1px solid color-mix(in oklab, var(--obj-accent,var(--accent)) 45%, transparent);-webkit-backdrop-filter:blur(10px);box-shadow:0 0 26px -8px color-mix(in oklab, var(--obj-accent,var(--accent)) 75%, transparent);transform-origin:50%;opacity:0;pointer-events:none;transition:opacity .3s var(--ease);will-change:transform;background:#070c16cc;background:color(display-p3 .0310105 .0464606 .0831791/.8);background:lab(3.24711% .0972077 -5.94538/.8);border-radius:999px;align-items:center;gap:.45rem;padding:.34rem .7rem .34rem .4rem;display:flex;position:fixed;top:0;left:0}.objective.is-visible{opacity:1}.objective__pin{width:22px;height:22px;color:var(--obj-accent,var(--accent));place-items:center;display:grid}.objective__pin svg{fill:currentColor;stroke:none;width:15px;height:15px}.objective__text{line-height:1.15;display:grid}.objective__text b{font-family:var(--font-display);color:var(--text);white-space:nowrap;font-size:.72rem;font-weight:700}.objective__text i{font-family:var(--font-mono);letter-spacing:.08em;color:var(--obj-accent,var(--accent));font-size:.58rem;font-style:normal}.objective.is-edge{border-radius:50%;padding:.34rem}.objective.is-edge .objective__text{display:none}.objective.is-edge .objective__pin svg{width:16px;height:16px}.banner{z-index:30;border:1px solid color-mix(in oklab, var(--ban-accent,var(--accent)) 50%, transparent);background:linear-gradient(180deg, color-mix(in oklab, var(--ban-accent,var(--accent)) 16%, transparent), transparent), #060a13e0;-webkit-backdrop-filter:blur(12px);box-shadow:0 30px 70px -30px #000000f2, 0 0 46px -18px color-mix(in oklab, var(--ban-accent,var(--accent)) 90%, transparent);opacity:0;pointer-events:none;transition:opacity .4s var(--ease), transform .4s var(--ease-out);border-radius:18px;justify-items:center;gap:.35rem;padding:1rem 2.4rem;display:grid;position:fixed;top:30%;left:50%;transform:translate(-50%,-50%)scale(.9)}@supports (color:color(display-p3 0 0 0)){.banner{background:linear-gradient(180deg, color-mix(in oklab, var(--ban-accent,var(--accent)) 16%, transparent), transparent), color(display-p3 .0263143 .038695 .071718/.88)}}@supports (color:lab(0% 0 0)){.banner{background:linear-gradient(180deg, color-mix(in oklab, var(--ban-accent,var(--accent)) 16%, transparent), transparent), lab(2.68812% .102051 -4.7469/.88)}}.banner.is-visible{opacity:1;transform:translate(-50%,-50%)scale(1)}.banner__kicker{font-family:var(--font-mono);letter-spacing:.28em;text-transform:uppercase;color:var(--ban-accent,var(--accent));font-size:.62rem}.banner__name{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);font-size:clamp(1.3rem,1rem + 1.6vw,2.1rem);font-weight:800}.panel__headingwrap{flex:1;gap:.1rem;min-width:0;display:grid}.panel__chapter{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-size:.6rem}.panel__heading{font-size:clamp(1rem,.9rem + .5vw,1.25rem)}@media (max-width:900px){.hud__column{width:min(260px,44vw)}}@media (max-width:620px){.quests,.objective__text{display:none}.objective{border-radius:50%;padding:.34rem}.banner{padding:.8rem 1.4rem}}.hud__btn--quality span{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.62rem}.hud__column{top:max(1rem, env(safe-area-inset-top));left:max(1rem, env(safe-area-inset-left));z-index:11;flex-direction:column;gap:.55rem;width:226px;display:flex;position:fixed}.quests,.vitals{width:100%;position:static}@media (max-width:620px){.hud__column{top:calc(max(.75rem, env(safe-area-inset-top)) + 3.5rem);left:max(.75rem, env(safe-area-inset-left));right:max(.75rem, env(safe-area-inset-right));pointer-events:none;width:auto;display:block;bottom:auto}.hud__column>*{pointer-events:auto}.quests{display:none}.vitals{width:var(--top-block);gap:.3rem;padding:.45rem .55rem;position:absolute;top:0;left:50%;transform:translate(-50%)}.vitals__stat.is-fragments{display:none}.vitals__stat{font-size:.62rem}.hud__btn--quality span{display:none}.hud__btn--quality{padding:.45rem .6rem}}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}body{min-height:100%;font-family:var(--font-body);font-size:var(--fs-body);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;transition:background-color .5s var(--ease), color .5s var(--ease);line-height:1.65;overflow-x:hidden}img,svg,video,canvas{max-width:100%;display:block}svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}a{color:inherit;text-decoration:none}ul,ol{padding:0;list-style:none}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;font-weight:700;line-height:1.1}p{text-wrap:pretty}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}::selection{background:var(--accent);color:#04121c}:root{--bg:#05070d;--bg-soft:#080b14;--bg-elev:#0b1020;--surface:#ffffff0a;--surface-2:#ffffff0f;--border:#ffffff17;--border-strong:#ffffff29;--text:#e9eef8;--text-soft:#b9c4d8;--muted:#8593ab;--accent:#38bdf8;--accent-2:#a78bfa;--accent-3:#22d3ee;--success:#34d399;--shadow-sm:0 2px 8px #0000004d;--shadow:0 18px 50px -18px #000000b3;--shadow-lg:0 40px 90px -30px #000000d9;--glow:0 0 0 1px #ffffff0d, 0 24px 70px -30px #38bdf88c;--grid-line:#ffffff0b;--font-display:"Sora", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--fs-body:clamp(.95rem, .9rem + .25vw, 1.05rem);--fs-small:clamp(.78rem, .74rem + .18vw, .875rem);--fs-h1:clamp(2.6rem, 1.2rem + 7.2vw, 7.5rem);--fs-h2:clamp(1.9rem, 1.15rem + 3vw, 3.6rem);--fs-h3:clamp(1.1rem, 1rem + .6vw, 1.4rem);--fs-lede:clamp(1rem, .94rem + .42vw, 1.22rem);--shell:1240px;--gutter:clamp(1.15rem, 4vw, 3rem);--section-y:clamp(4.5rem, 9vw, 9.5rem);--radius:18px;--radius-lg:26px;--radius-pill:999px;--ease:cubic-bezier(.22, .61, .36, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--dur:.6s;--header-h:72px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=light]{--bg:#f4f6fb;--bg-soft:#eaeef7;--bg-elev:#fff;--surface:#ffffffc7;--surface-2:#fffffff2;--border:#0c18301a;--border-strong:#0c18302e;--text:#0b1324;--text-soft:#33415c;--muted:#5b6a85;--accent:#0284c7;--accent-2:#7c3aed;--accent-3:#0891b2;--success:#059669;--shadow-sm:0 2px 8px #0f1e3c0f;--shadow:0 18px 45px -20px #0f1e3c40;--shadow-lg:0 40px 80px -34px #0f1e3c4d;--glow:0 0 0 1px #0c18300f, 0 24px 60px -30px #0284c766;--grid-line:#0c18300e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.shell{width:100%;max-width:var(--shell);padding-inline:max(var(--gutter), env(safe-area-inset-left), env(safe-area-inset-right));margin-inline-start:auto;margin-inline-end:auto}.section{padding-block:var(--section-y);scroll-margin-top:var(--header-h);position:relative}.section--alt{background:radial-gradient(1100px 520px at 15% 0%, color-mix(in oklab, var(--accent) 9%, transparent), transparent 62%), radial-gradient(900px 480px at 88% 100%, color-mix(in oklab, var(--accent-2) 9%, transparent), transparent 60%), var(--bg-soft);border-block:1px solid var(--border)}.skip-link{z-index:200;background:var(--accent);color:#04121c;transition:transform .25s var(--ease);border-radius:10px;padding:.7rem 1.1rem;font-weight:600;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.section__head{max-width:760px;margin-bottom:clamp(2.2rem,5vw,4rem)}.section__head--center{text-align:center;margin-inline-start:auto;margin-inline-end:auto}.section__eyebrow{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.6rem;margin-bottom:1rem;font-size:.78rem;display:inline-flex}.section__eyebrow:after{content:"";background:linear-gradient(90deg, var(--accent), transparent);width:46px;height:1px}.section__eyebrow span{color:var(--accent)}.section__head--center .section__eyebrow:after{display:none}.section__head--center .section__eyebrow{justify-content:center}.section__title{font-size:var(--fs-h2);margin-bottom:1rem}.section__title em{background:linear-gradient(100deg, var(--accent), var(--accent-2) 55%, var(--accent-3));color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.section__lede{font-size:var(--fs-lede);color:var(--muted);max-width:62ch}.section__head--center .section__lede{margin-inline-start:auto;margin-inline-end:auto}@supports selector(::-webkit-scrollbar){::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:linear-gradient(var(--accent), var(--accent-2));border:2px solid var(--bg);border-radius:99px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.preloader{z-index:120;background:var(--bg);transition:opacity .7s var(--ease), visibility .7s;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.preloader.is-done{opacity:0;visibility:hidden;pointer-events:none}.preloader__inner{justify-items:center;gap:1.4rem;width:min(78vw,320px);display:grid}.preloader__mark{font-family:var(--font-display);letter-spacing:-.04em;gap:.1em;font-size:clamp(2.4rem,8vw,3.6rem);font-weight:800;display:flex}.preloader__mark span{background:linear-gradient(140deg, var(--accent), var(--accent-2));color:#0000;animation:pulse 1.4s var(--ease) infinite;-webkit-background-clip:text;background-clip:text}.preloader__mark span:last-child{animation-delay:.2s}.preloader__bar{background:var(--border-strong);border-radius:99px;width:100%;height:2px;overflow:hidden}.preloader__bar i{background:linear-gradient(90deg, var(--accent), var(--accent-2));width:0%;height:100%;transition:width .3s var(--ease);display:block}.preloader__text{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:.74rem}@keyframes pulse{0%,to{opacity:.45;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.scroll-progress{z-index:110;background:0 0;width:100%;height:2px;position:fixed;top:0;left:0}.scroll-progress i{background:linear-gradient(90deg, var(--accent), var(--accent-2), var(--accent-3));width:0%;height:100%;box-shadow:0 0 14px color-mix(in oklab, var(--accent) 70%, transparent);display:block}.cursor{display:none}@media (hover:hover) and (pointer:fine){.cursor{z-index:150;pointer-events:none;mix-blend-mode:difference;display:block;position:fixed;top:0;left:0}.cursor__dot,.cursor__ring{border-radius:50%;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.cursor__dot{background:#fff;width:6px;height:6px}.cursor__ring{width:34px;height:34px;transition:width .28s var(--ease), height .28s var(--ease), opacity .28s;border:1.5px solid #fff9}.cursor.is-hover .cursor__ring{width:58px;height:58px}.cursor.is-hidden .cursor__dot,.cursor.is-hidden .cursor__ring{opacity:0}}.header{z-index:100;width:100%;height:var(--header-h);transition:background-color .35s var(--ease), backdrop-filter .35s, border-color .35s;border-bottom:1px solid #0000;align-items:center;display:flex;position:fixed;top:0;left:0}.header.is-stuck{background:color-mix(in oklab, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(18px)saturate(150%);border-bottom-color:var(--border)}.header__inner{justify-content:space-between;align-items:center;gap:1rem;width:100%;display:flex}.brand{align-items:center;gap:.7rem;min-width:0;display:inline-flex}.brand__mark{width:38px;height:38px;font-family:var(--font-display);letter-spacing:-.03em;color:#04121c;background:linear-gradient(140deg, var(--accent), var(--accent-2));box-shadow:0 8px 22px -10px color-mix(in oklab, var(--accent) 80%, transparent);border-radius:11px;flex:none;place-items:center;font-size:.86rem;font-weight:800;display:grid}.brand__text{min-width:0;line-height:1.15;display:grid}.brand__text strong{letter-spacing:-.01em;white-space:nowrap;font-size:.9rem;font-weight:600}.brand__text small{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.64rem}.nav{display:none}.nav__list{align-items:center;gap:.15rem;display:flex}.nav__link{border-radius:var(--radius-pill);color:var(--muted);transition:color .25s var(--ease), background-color .25s var(--ease);padding:.5rem .8rem;font-size:.875rem;font-weight:500;display:block;position:relative}.nav__link:hover{color:var(--text);background:var(--surface)}.nav__link.is-active{color:var(--text)}.nav__link.is-active:after{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:2px;width:16px;height:2px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.header__actions{align-items:center;gap:.5rem;display:flex}.icon-btn{border:1px solid var(--border);width:40px;height:40px;color:var(--text-soft);background:var(--surface);border-radius:50%;place-items:center;transition:color .25s,border-color .25s,background-color .25s,transform .25s;display:grid}.icon-btn:hover{color:var(--text);border-color:var(--border-strong);transform:translateY(-1px)}.icon-btn svg{width:18px;height:18px}.icon-btn .icon-moon,html[data-theme=light] .icon-btn .icon-sun{display:none}html[data-theme=light] .icon-btn .icon-moon{display:block}.icon-btn--play{border-radius:var(--radius-pill);border-color:color-mix(in oklab, var(--accent) 40%, transparent);background:color-mix(in oklab, var(--accent) 12%, transparent);width:auto;height:40px;color:var(--accent);gap:.4rem;padding:0 .85rem 0 .7rem}.icon-btn--play:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in oklab, var(--accent) 20%, transparent)}.icon-btn--play svg{width:15px;height:15px}.icon-btn__label{font-size:.82rem;font-weight:600;display:none}.burger{border:1px solid var(--border);background:var(--surface);border-radius:50%;place-content:center;gap:5px;width:40px;height:40px;display:grid}.burger span{background:var(--text);width:17px;height:1.7px;transition:transform .3s var(--ease), opacity .25s;border-radius:2px;display:block}.burger.is-open span:first-child{transform:translateY(6.7px)rotate(45deg)}.burger.is-open span:nth-child(2){opacity:0}.burger.is-open span:nth-child(3){transform:translateY(-6.7px)rotate(-45deg)}.mobile-nav{z-index:95;padding:calc(var(--header-h) + 2rem) var(--gutter) calc(2rem + env(safe-area-inset-bottom));background:color-mix(in oklab, var(--bg) 96%, transparent);-webkit-backdrop-filter:blur(22px);opacity:0;visibility:hidden;transition:opacity .4s var(--ease), visibility .4s, transform .4s var(--ease);overscroll-behavior:contain;flex-direction:column;justify-content:center;gap:2rem;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(-8px)}.mobile-nav.is-open{opacity:1;visibility:visible;transform:translateY(0)}.mobile-nav ul{gap:.2rem;display:grid}.mobile-nav a{border-bottom:1px solid var(--border);font-family:var(--font-display);letter-spacing:-.02em;opacity:0;transition:opacity .45s var(--ease), transform .45s var(--ease), color .25s;align-items:baseline;gap:1rem;padding:.85rem .4rem;font-size:clamp(1.5rem,7vw,2.2rem);font-weight:600;display:flex;transform:translateY(14px)}.mobile-nav.is-open a{opacity:1;transform:translateY(0)}.mobile-nav a span{font-family:var(--font-mono);color:var(--accent);font-size:.7rem;font-weight:400}.mobile-nav a:active{color:var(--accent)}.mobile-nav__foot{gap:.5rem;font-size:.9rem;display:grid}.mobile-nav__foot a{color:var(--muted)}.mobile-nav__foot a:first-child{color:var(--accent)}.hero{min-height:100vh;min-height:100svh;padding-block:calc(var(--header-h) + 3rem) 5rem;isolation:isolate;align-items:center;scroll-margin-top:0;display:flex;position:relative;overflow:hidden}@supports (min-height:100dvh){.hero{min-height:100dvh}}.hero__canvas{z-index:-3;opacity:0;width:100%;height:100%;transition:opacity 1.4s var(--ease);position:absolute;top:0;bottom:0;left:0;right:0}.hero__canvas.is-ready{opacity:1}.hero__grid{z-index:-2;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:66px 66px;position:absolute;top:0;bottom:0;left:0;right:0;-webkit-mask-image:radial-gradient(90% 70% at 50% 35%,#000 15%,#0000 78%);mask-image:radial-gradient(90% 70% at 50% 35%,#000 15%,#0000 78%)}.hero__glow{z-index:-2;background:radial-gradient(620px 420px at 78% 18%, color-mix(in oklab, var(--accent) 16%, transparent), transparent 70%), radial-gradient(560px 400px at 12% 78%, color-mix(in oklab, var(--accent-2) 15%, transparent), transparent 72%);pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.hero__inner{z-index:1;width:100%;position:relative}.badge{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-soft);align-items:center;gap:.55rem;margin-bottom:1.4rem;padding:.42rem .85rem .42rem .6rem;font-size:.78rem;font-weight:500;display:inline-flex}.badge__dot{background:var(--success);border-radius:50%;flex:none;width:7px;height:7px;position:relative}.badge__dot:after{content:"";border:1px solid var(--success);animation:ping 2s var(--ease-out) infinite;border-radius:50%;position:absolute;top:-4px;bottom:-4px;left:-4px;right:-4px}@keyframes ping{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(1.5)}}.hero__title{font-size:var(--fs-h1);letter-spacing:-.045em;margin-bottom:1.1rem;font-weight:800;line-height:.94;display:grid}.hero__title-line{display:block}.hero__title-line--accent{background:linear-gradient(100deg, var(--accent) 5%, var(--accent-2) 55%, var(--accent-3));color:#0000;-webkit-background-clip:text;background-clip:text;padding-bottom:.06em}.hero__role{min-height:1.9em;font-family:var(--font-mono);color:var(--text-soft);flex-wrap:wrap;align-items:baseline;gap:.45rem;margin-bottom:1.15rem;font-size:clamp(.86rem,.78rem + .5vw,1.12rem);display:flex}.hero__role-static{color:var(--muted)}.typer__text{background:linear-gradient(100deg, var(--accent), var(--accent-2));color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:500}.typer__caret{vertical-align:-.14em;background:var(--accent);width:2px;height:1.05em;margin-left:2px;animation:1s steps(2,end) infinite caret;display:inline-block}@keyframes caret{0%,50%{opacity:1}51%,to{opacity:0}}.hero__lede{max-width:60ch;font-size:var(--fs-lede);color:var(--muted);margin-bottom:2rem}.hero__cta{flex-wrap:wrap;gap:.8rem;margin-bottom:3rem;display:flex}.hero__stats{border:1px solid var(--border);border-radius:var(--radius);background:var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;max-width:640px;display:grid;overflow:hidden}.stat{background:color-mix(in oklab, var(--bg) 82%, transparent);padding:1rem 1.1rem}.stat dt{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.28rem;font-size:.66rem}.stat dd{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(1.05rem,.95rem + .5vw,1.35rem);font-weight:700}.stat__text--live{align-items:center;gap:.45rem;display:inline-flex}.stat__text--live i{background:var(--success);width:7px;height:7px;box-shadow:0 0 10px var(--success);border-radius:50%}.hero__scroll{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);z-index:2;flex-direction:column;align-items:center;gap:.55rem;font-size:.64rem;transition:color .3s;display:none;position:absolute;bottom:1.6rem;left:50%;transform:translate(-50%)}.hero__scroll:hover{color:var(--accent)}.hero__scroll-line{background:linear-gradient(var(--accent), transparent);width:1px;height:46px;position:relative;overflow:hidden}.hero__scroll-line:after{content:"";background:var(--text);animation:scrollHint 1.9s var(--ease) infinite;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes scrollHint{0%{transform:translateY(-100%)}60%,to{transform:translateY(100%)}}.marquee{border-block:1px solid var(--border);background:var(--bg-soft);padding-block-start:1.1rem;padding-block-end:1.1rem;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.marquee__track{gap:0;width:max-content;animation:34s linear infinite marquee;display:flex}.marquee:hover .marquee__track{animation-play-state:paused}.marquee__item{font-family:var(--font-display);letter-spacing:-.01em;color:var(--muted);white-space:nowrap;align-items:center;gap:1.6rem;padding-inline-start:1.6rem;padding-inline-end:1.6rem;font-size:clamp(.95rem,.85rem + .5vw,1.3rem);font-weight:600;display:inline-flex}.marquee__item:after{content:"";background:var(--accent);opacity:.6;border-radius:50%;width:5px;height:5px}@keyframes marquee{0%{transform:translate(0,0)}to{transform:translate(-50%)}}.footer{padding-block:clamp(2.5rem, 5vw, 4rem) calc(2rem + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--bg-soft)}.footer__inner{gap:2rem;display:grid}.footer__brand{align-items:center;gap:.9rem;display:flex}.footer__brand p{color:var(--text-soft);font-size:.88rem;line-height:1.5}.footer__brand p span{color:var(--muted)}.footer__nav{flex-wrap:wrap;gap:.4rem 1.4rem;display:flex}.footer__nav a{color:var(--muted);font-size:.88rem;transition:color .25s}.footer__nav a:hover{color:var(--accent)}.footer__meta{color:var(--muted);gap:.4rem;font-size:.82rem;display:grid}.footer__meta a{color:var(--accent);word-break:break-all}.to-top{right:max(1rem, env(safe-area-inset-right));bottom:calc(1rem + env(safe-area-inset-bottom));z-index:90;border:1px solid var(--border);background:color-mix(in oklab, var(--bg-elev) 86%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:46px;height:46px;color:var(--text);box-shadow:var(--shadow);opacity:0;visibility:hidden;transition:opacity .35s var(--ease), transform .35s var(--ease), visibility .35s, border-color .25s;border-radius:50%;place-items:center;display:grid;position:fixed;transform:translateY(14px)}.to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.to-top:hover{border-color:var(--accent);color:var(--accent)}.to-top svg{width:19px;height:19px}@media (min-width:560px){.hero__stats{grid-template-columns:repeat(4,minmax(0,1fr))}.hero__scroll{display:flex}}@media (min-width:900px){:root{--header-h:80px}.nav{display:block}.burger{display:none}.icon-btn__label{display:inline}.footer__inner{grid-template-columns:1.4fr 1fr 1fr;align-items:start;gap:3rem}.footer__nav{flex-direction:column;gap:.55rem}.footer__meta{text-align:right;justify-items:end}}.btn{border-radius:var(--radius-pill);font-family:var(--font-body);letter-spacing:-.01em;white-space:nowrap;cursor:pointer;transition:transform .3s var(--ease), box-shadow .3s var(--ease), background-color .3s, border-color .3s, color .3s;border:1px solid #0000;justify-content:center;align-items:center;gap:.55rem;padding:.82rem 1.4rem;font-size:.9rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn svg{width:17px;height:17px;transition:transform .3s var(--ease);flex:none}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn--primary{color:#04121c;background:linear-gradient(100deg, var(--accent), var(--accent-2));box-shadow:0 14px 34px -14px color-mix(in oklab, var(--accent) 85%, transparent)}.btn--primary:hover{box-shadow:0 20px 44px -14px color-mix(in oklab, var(--accent) 95%, transparent)}.btn--primary:hover svg{transform:translate(3px)}.btn--outline{color:var(--text);border-color:var(--border-strong);background:var(--surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn--outline:hover{border-color:var(--accent);color:var(--accent)}.btn--outline:hover svg{transform:translateY(3px)}.btn--ghost{color:var(--text-soft);border-color:var(--border);background:var(--surface);padding:.55rem .95rem;font-size:.84rem}.btn--ghost:hover{color:var(--accent);border-color:var(--accent)}.btn--ghost:hover svg{transform:translateY(2px)}.btn--ghost svg{width:15px;height:15px}.btn--lg{padding:1rem 1.75rem;font-size:.95rem}.card{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);transition:border-color .35s var(--ease), box-shadow .35s var(--ease), background-color .35s;padding:clamp(1.3rem,2.4vw,1.9rem);position:relative}.card--glass{-webkit-backdrop-filter:blur(14px)saturate(140%)}.card--glass:hover{border-color:color-mix(in oklab, var(--accent,var(--accent)) 40%, var(--border-strong));box-shadow:var(--shadow)}[data-tilt]{transform-style:preserve-3d;will-change:transform}.card__title{font-size:.78rem;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.55rem;margin-bottom:.9rem;font-weight:500;display:flex}.card__title svg{width:16px;height:16px;color:var(--accent)}.chips{flex-wrap:wrap;gap:.5rem;margin-top:1.6rem;display:flex}.chips li{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);color:var(--text-soft);padding:.42rem .85rem;font-size:.8rem;font-weight:500;transition:border-color .25s,color .25s,transform .25s}.chips li:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.tags{flex-wrap:wrap;gap:.4rem;margin-top:1.1rem;display:flex}.tags li{background:color-mix(in oklab, var(--accent,var(--accent)) 12%, transparent);border:1px solid color-mix(in oklab, var(--accent,var(--accent)) 24%, transparent);font-family:var(--font-mono);letter-spacing:.02em;color:color-mix(in oklab, var(--accent,var(--accent)) 78%, var(--text));border-radius:8px;padding:.27rem .68rem;font-size:.7rem}.timeline .tags li{background:color-mix(in oklab, var(--accent) 12%, transparent);border-color:color-mix(in oklab, var(--accent) 24%, transparent);color:color-mix(in oklab, var(--accent) 80%, var(--text))}.about{gap:clamp(2rem,4vw,3.5rem);display:grid}.about__body{gap:1.1rem;display:grid}.about__body p{color:var(--text-soft)}.about__body strong{color:var(--text);font-weight:600}.about__lead{font-size:var(--fs-lede);color:var(--text)!important}.about__lead:first-letter{float:left;font-family:var(--font-display);background:linear-gradient(140deg, var(--accent), var(--accent-2));color:#0000;-webkit-background-clip:text;background-clip:text;margin:.08em .12em 0 0;font-size:3.1em;font-weight:800;line-height:.82}.about__aside{align-content:start;gap:1rem;display:grid}.about__degree{font-family:var(--font-display);letter-spacing:-.015em;font-size:1.02rem;font-weight:600}.about__org{color:var(--text-soft);font-size:.88rem}.about__meta{font-family:var(--font-mono);letter-spacing:.05em;color:var(--muted);margin-top:.35rem;font-size:.72rem}.about__list{gap:.55rem;font-size:.85rem;display:grid}.about__list li{border-bottom:1px dashed var(--border);justify-content:space-between;gap:1rem;padding-bottom:.5rem;display:flex}.about__list li:last-child{border-bottom:0;padding-bottom:0}.about__list li>span:first-child{color:var(--muted);flex:none}.about__list li>a,.about__list li>span:last-child{color:var(--text-soft);text-align:right;word-break:break-word}.about__list li>a:hover{color:var(--accent)}.skills{gap:clamp(2rem,4vw,3rem);display:grid}.skills__grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem;display:grid}.skill-card{--accent:var(--accent)}.skill-card:before{content:"";border-radius:inherit;background:linear-gradient(150deg, color-mix(in oklab, var(--accent) 55%, transparent), transparent 55%);-webkit-mask-composite:xor;opacity:0;transition:opacity .4s var(--ease);pointer-events:none;padding:1px;position:absolute;top:0;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.skill-card:hover:before{opacity:1}.skill-card__title{align-items:center;gap:.6rem;margin-bottom:1.1rem;font-size:1rem;font-weight:600;display:flex}.skill-card__title:before{content:"";background:var(--accent);width:9px;height:9px;box-shadow:0 0 12px color-mix(in oklab, var(--accent) 80%, transparent);border-radius:3px;flex:none}.skill-card__list{gap:.45rem;display:grid}.skill-card__list li{color:var(--text-soft);transition:color .25s, transform .25s var(--ease);padding-left:1.15rem;font-size:.88rem;position:relative}.skill-card__list li:before{content:"";background:var(--accent);opacity:.55;border-radius:50%;width:5px;height:5px;position:absolute;top:.58em;left:0}.skill-card:hover .skill-card__list li{color:var(--text)}.skills__orb{aspect-ratio:1;border-radius:var(--radius-lg);border:1px solid var(--border);background:radial-gradient(circle at 50% 45%, color-mix(in oklab, var(--accent) 10%, transparent), transparent 62%), var(--surface);cursor:grab;touch-action:pan-y;width:100%;max-width:520px;max-height:460px;margin-inline-start:auto;margin-inline-end:auto;position:relative;overflow:hidden}.skills__orb:active{cursor:grabbing}.skills__orb canvas{width:100%;height:100%}.skills__orb-caption{pointer-events:none;position:absolute;bottom:1.1rem;left:1.1rem}.skills__orb-kicker{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-size:.62rem;display:block}.skills__orb-caption p{color:var(--muted);font-size:.8rem}.timeline{gap:clamp(1.2rem,3vw,2rem);padding-left:1.7rem;display:grid;position:relative}.timeline:before{content:"";background:linear-gradient(180deg, transparent, var(--border-strong) 8%, var(--border-strong) 92%, transparent);width:1px;position:absolute;top:.5rem;bottom:.5rem;left:5px}.timeline__item{position:relative}.timeline__marker{background:var(--bg);border:2px solid var(--accent);width:11px;height:11px;box-shadow:0 0 0 4px color-mix(in oklab, var(--accent) 12%, transparent);transition:box-shadow .35s var(--ease), background-color .35s;border-radius:50%;position:absolute;top:1.9rem;left:-1.7rem}.timeline__item:hover .timeline__marker{background:var(--accent);box-shadow:0 0 0 7px color-mix(in oklab, var(--accent) 18%, transparent)}.timeline__top{gap:.5rem;margin-bottom:.85rem;display:grid}.timeline__role{font-size:var(--fs-h3);font-weight:600}.timeline__company{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-top:.3rem;font-size:.78rem}.timeline__period{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-2);font-family:var(--font-mono);letter-spacing:.03em;color:var(--muted);white-space:nowrap;justify-self:start;padding:.3rem .75rem;font-size:.7rem}.timeline__period--current{color:var(--success);border-color:color-mix(in oklab, var(--success) 35%, transparent);background:color-mix(in oklab, var(--success) 10%, transparent)}.timeline__summary{color:var(--text-soft);margin-bottom:1rem;font-size:.92rem;font-style:italic}.timeline__points{gap:.55rem;display:grid}.timeline__points li{color:var(--muted);padding-left:1.35rem;font-size:.885rem;line-height:1.62;position:relative}.timeline__points li:before{content:"";background:var(--accent);opacity:.7;border-radius:2px;width:6px;height:6px;position:absolute;top:.62em;left:.1rem;transform:rotate(45deg)}.filters{flex-wrap:wrap;gap:.45rem;margin-bottom:2rem;display:flex}.filter{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);color:var(--muted);padding:.5rem 1rem;font-size:.82rem;font-weight:500;transition:color .25s,border-color .25s,background-color .25s,transform .25s}.filter:hover{color:var(--text);border-color:var(--border-strong);transform:translateY(-1px)}.filter.is-active{color:#04121c;background:linear-gradient(100deg, var(--accent), var(--accent-2));border-color:#0000}.projects{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1rem;display:grid}.project{--accent:var(--accent);flex-direction:column;display:flex;overflow:hidden}.project__glow{background:radial-gradient(circle, color-mix(in oklab, var(--accent) 26%, transparent), transparent 68%);opacity:0;width:260px;height:260px;transition:opacity .45s var(--ease);pointer-events:none;border-radius:50%;position:absolute;top:-40%;right:-30%}.project:hover .project__glow{opacity:1}.project__head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.15rem;display:flex}.project__meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.55rem;display:inline-flex}.project__icon{border:1px solid color-mix(in oklab, var(--accent) 28%, transparent);background:color-mix(in oklab, var(--accent) 12%, transparent);width:44px;height:44px;color:var(--accent);transition:transform .4s var(--ease), box-shadow .4s var(--ease);border-radius:13px;place-items:center;display:grid}.project__icon svg{width:21px;height:21px}.project:hover .project__icon{box-shadow:0 12px 26px -14px color-mix(in oklab, var(--accent) 90%, transparent);transform:translateY(-3px)rotate(-6deg)}.project__cat{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);opacity:.85;font-size:.64rem}.project__title{margin-bottom:.3rem;font-size:1.16rem;font-weight:600}.project__tagline{color:var(--accent);opacity:.9;margin-bottom:.8rem;font-size:.82rem}.project__desc{color:var(--muted);flex:1;font-size:.885rem}.project__badge{border-radius:var(--radius-pill);background:color-mix(in oklab, var(--accent) 16%, transparent);border:1px solid color-mix(in oklab, var(--accent) 34%, transparent);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);white-space:nowrap;padding:.22rem .6rem;font-size:.58rem}.project.is-filtered-out{display:none}.project.is-animating{animation:cardIn .5s var(--ease-out) both}.projects__empty{text-align:center;color:var(--muted);border:1px dashed var(--border-strong);border-radius:var(--radius);grid-column:1/-1;padding:3rem 1rem}.values{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1rem;display:grid}.value__icon{border:1px solid var(--border);background:var(--surface-2);width:46px;height:46px;color:var(--accent);transition:transform .4s var(--ease), border-color .3s;border-radius:14px;place-items:center;margin-bottom:1.1rem;display:grid}.value__icon svg{width:22px;height:22px}.value:hover .value__icon{border-color:var(--accent);transform:translateY(-3px)scale(1.05)}.value h3{margin-bottom:.5rem;font-size:1.05rem}.value p{color:var(--muted);font-size:.885rem}.section--contact{border-top:1px solid var(--border);background:radial-gradient(1000px 500px at 50% 0%, color-mix(in oklab, var(--accent) 10%, transparent), transparent 68%), var(--bg);position:relative;overflow:hidden}.contact__canvas{opacity:.55;pointer-events:none;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#0000 0%,#0000002e 26%,#000 62%);mask-image:linear-gradient(#0000 0%,#0000002e 26%,#000 62%)}.contact{z-index:1;position:relative}.contact__grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:1rem;margin-bottom:2.5rem;display:grid}.contact__card{justify-items:start;gap:.3rem;display:grid}.contact__icon{border:1px solid var(--border);background:var(--surface-2);width:42px;height:42px;color:var(--accent);transition:transform .35s var(--ease);border-radius:12px;place-items:center;margin-bottom:.6rem;display:grid}.contact__icon svg{width:19px;height:19px}a.contact__card:hover .contact__icon{transform:translateY(-3px)rotate(-5deg)}.contact__label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.66rem}.contact__value{color:var(--text);word-break:break-word;font-size:.92rem;font-weight:500}a.contact__card:hover .contact__value{color:var(--accent)}.contact__cta{flex-wrap:wrap;justify-content:center;gap:.8rem;display:flex}@media (min-width:700px){.timeline__top{grid-template-columns:1fr auto;align-items:start;gap:1.5rem}.timeline__period{justify-self:end}}@media (min-width:1000px){.about{grid-template-columns:minmax(0,1.6fr) minmax(300px,.9fr)}.skills{grid-template-columns:minmax(0,1.25fr) minmax(340px,1fr);align-items:start}.timeline{padding-left:2.2rem}.timeline__marker{left:-2.2rem}.timeline__card{padding:2rem 2.2rem}}@media (hover:none){.card--glass:hover{border-color:var(--border);box-shadow:none}.project__glow{opacity:.5}[data-tilt]{transform:none!important}}.no-webgl .hero__canvas,.no-webgl .contact__canvas,.no-webgl .skills__orb canvas{display:none}.no-webgl .hero{background:radial-gradient(700px 520px at 76% 18%, color-mix(in oklab, var(--accent) 20%, transparent), transparent 70%), radial-gradient(620px 480px at 14% 80%, color-mix(in oklab, var(--accent-2) 18%, transparent), transparent 72%)}.no-webgl .skills__orb{cursor:default;place-items:center;display:grid}.no-webgl .skills__orb:before{content:"Interactive 3D view needs WebGL";text-align:center;font-family:var(--font-mono);letter-spacing:.07em;color:var(--muted);padding:2rem;font-size:.78rem}.no-webgl .skills__orb-caption{display:none}.js-ready [data-reveal]{opacity:0;transition:opacity .85s var(--ease-out), translate .85s var(--ease-out);transition-delay:var(--reveal-delay,0s);translate:0 26px}.js-ready [data-reveal].is-visible{opacity:1;translate:0}html.js-ready .hero__inner>*{opacity:0}html.js-ready body.is-loaded .hero__inner>*{animation:heroIn .9s var(--ease-out) both}html.js-ready body.is-loaded .hero__inner>:first-child{animation-delay:.1s}html.js-ready body.is-loaded .hero__inner>:nth-child(2){animation-delay:.18s}html.js-ready body.is-loaded .hero__inner>:nth-child(3){animation-delay:.26s}html.js-ready body.is-loaded .hero__inner>:nth-child(4){animation-delay:.34s}html.js-ready body.is-loaded .hero__inner>:nth-child(5){animation-delay:.42s}html.js-ready body.is-loaded .hero__inner>:nth-child(6){animation-delay:.5s}@keyframes heroIn{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.js-ready [data-reveal]{opacity:1!important;translate:none!important}html.js-ready .hero__inner>*{opacity:1!important;animation:none!important}.marquee__track,.cursor__ring,.badge__dot:after,.typer__caret{animation:none!important}}@media print{.header,.mobile-nav,.preloader,.cursor,.scroll-progress,.to-top,.marquee,.hero__canvas,.contact__canvas,.skills__orb,.filters,.hero__scroll,.hero__grid,.hero__glow{display:none!important}body{color:#000;background:#fff}.section{page-break-inside:avoid;padding-block-start:1.2rem;padding-block-end:1.2rem}.card{box-shadow:none;background:#fff;border:1px solid #ccc}.js-ready [data-reveal]{opacity:1!important;translate:none!important}.about{grid-template-columns:1fr}.section__title em{-webkit-text-fill-color:#000;color:#000}}
/*$vite$:1*/