:root{--bg:#080B16;--surf:#10162B;--line:#222B4A;--text:#EAF0FF;--mute:#9AA6C8;--mint:#4CF2C2;--violet:#8B6BFF;--amber:#FFB547;--head:"Bricolage Grotesque",system-ui,sans-serif;--body:"DM Sans",system-ui,sans-serif}*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font:400 1.05rem/1.65 var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--mint);outline-offset:3px}h1,h2,h3{font-family:var(--head);line-height:1.05;letter-spacing:-.02em}h2{font-size:clamp(2rem,5vw,3.6rem);font-weight:800;max-width:18ch;margin-bottom:2.5rem}h3{font-size:1.3rem;font-weight:700}.btn{display:inline-block;background:var(--mint);color:#04120e;font-weight:700;padding:.9rem 1.5rem;border-radius:999px;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-3px);box-shadow:0 10px 30px -8px var(--mint)}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--line)}.btn-ghost:hover{box-shadow:0 10px 30px -10px var(--violet);border-color:var(--violet)}.btn-sm{padding:.45rem 1rem;font-size:.9rem}.nav{position:fixed;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:1rem clamp(1rem,4vw,3rem);z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#080b168c}.nav nav{display:flex;gap:1.6rem;align-items:center}.nav nav a:not(.btn){color:var(--mute);transition:color .2s}.nav nav a:not(.btn):hover{color:var(--text)}.brand{font-family:var(--head);font-weight:800;font-size:1.2rem}.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:6rem clamp(1.2rem,6vw,6rem) 3rem;overflow:hidden}.hero-3d{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.hero-3d canvas{cursor:grab}.hero-copy{position:relative;z-index:1;max-width:46rem;pointer-events:none}.hero-copy a,.hero-copy .hero-badge{pointer-events:auto}.hero-badge{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--line);background:#10162bb3;padding:.25rem 1rem .25rem .3rem;border-radius:999px;font-size:.9rem;color:var(--mute)}.pulse{width:34px;height:34px}h1{font-size:clamp(3.6rem,13vw,10rem);font-weight:800;margin:1.2rem 0;letter-spacing:-.045em}.word{display:inline-block}.line{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}.char{display:inline-block}.hero-sub{font-size:clamp(1.05rem,2vw,1.3rem);color:var(--mute);max-width:36rem;margin-bottom:2rem}.hero-cta{display:flex;gap:1rem;flex-wrap:wrap}.proof{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;padding:3rem clamp(1.2rem,6vw,6rem);border-block:1px solid var(--line);background:var(--surf)}.proof strong{display:block;font:800 clamp(2.4rem,5vw,3.8rem)/1 var(--head);color:var(--amber)}.proof span{color:var(--mute);font-size:.95rem}.section{padding:7rem clamp(1.2rem,6vw,6rem)}.about-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;color:var(--mute);max-width:60rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:1.6rem;perspective:1200px}.card{--h:200;background:linear-gradient(160deg,hsl(var(--h) 60% 18%/.55),var(--surf) 55%);border:1px solid var(--line);border-radius:20px;padding:1.6rem;display:flex;flex-direction:column;gap:.8rem;transform-style:preserve-3d;will-change:transform}.card:hover{border-color:hsl(var(--h) 80% 60%)}.card-art{width:100%;height:80px;fill:hsl(var(--h) 60% 40%/.15);stroke:hsl(var(--h) 85% 65%);stroke-width:2;stroke-linecap:round;transform:translateZ(30px)}.kind{color:var(--mute);font-size:.95rem}.card ul{padding-left:1.1rem;color:#c9d2ee;font-size:.98rem}.card li{margin:.25rem 0}.tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto;padding-top:.5rem}.tags span,.chips span{border:1px solid var(--line);padding:.2rem .7rem;border-radius:999px;font-size:.85rem;color:var(--mute)}.card .btn{align-self:flex-start;margin-top:.4rem}.skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2.4rem;perspective:800px}.chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.chips span{font-size:1rem;padding:.45rem 1rem;background:var(--surf);color:var(--text);cursor:default}.chips span:hover{border-color:var(--mint)}.timeline{position:relative;max-width:48rem;padding-left:3rem}.line-svg{position:absolute;left:0;top:0;width:20px;height:100%}.track,.draw{fill:none;stroke-width:3}.track{stroke:var(--line)}.draw{stroke:var(--mint)}.job{position:relative;padding-bottom:3rem}.dot{position:absolute;left:-2.9rem;top:.45rem;width:16px;height:16px;border-radius:50%;background:var(--bg);border:3px solid var(--violet)}.when{color:var(--amber);font-weight:500;font-size:.95rem}.org{color:var(--mint);margin-bottom:.4rem}.job p:last-child{color:var(--mute)}.contact{text-align:left;min-height:80svh;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(60% 60% at 80% 100%,rgba(139,107,255,.25),transparent)}.contact h2{max-width:14ch;font-size:clamp(2.6rem,8vw,6.5rem)}.contact>p{color:var(--mute);margin-bottom:2rem}footer{margin-top:6rem;color:var(--mute);font-size:.9rem}@media (max-width:700px){.nav nav a:not(.btn){display:none}.hero-3d{opacity:.7}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}main{position:relative;z-index:1}.floaters{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.floater{position:absolute;font:800 clamp(1.4rem,3vw,2.6rem) var(--head);color:var(--violet);opacity:.16}.progress{position:fixed;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--mint),var(--violet));transform-origin:0 50%;z-index:30}.marquee{overflow:hidden;border-block:1px solid var(--line);background:var(--surf);padding:1.1rem 0}.marquee-track{display:flex;gap:1rem;width:max-content;animation:slide 32s linear infinite}.marquee-track span{font:700 1.3rem var(--head);padding:.3rem 1.2rem;border:1px solid var(--line);border-radius:999px;color:var(--mute)}.marquee-track span:nth-child(3n){color:var(--mint)}.marquee-track span:nth-child(3n+1){color:var(--amber)}@keyframes slide{to{transform:translate(-50%)}}.win{max-width:34rem;margin-top:2.5rem;background:#0c1226;border:1px solid var(--line);border-radius:14px;box-shadow:0 30px 60px -30px #8b6bff80;overflow:hidden}.win-bar{display:flex;align-items:center;gap:.4rem;padding:.6rem .9rem;background:var(--surf);border-bottom:1px solid var(--line)}.win-bar i{width:11px;height:11px;border-radius:50%;background:#ff6b6b}.win-bar i:nth-child(2){background:var(--amber)}.win-bar i:nth-child(3){background:var(--mint)}.win-bar span{margin-left:.6rem;font-size:.85rem;color:var(--mute)}.win pre{padding:1.1rem 1.2rem;min-height:11.5rem;font:500 .95rem/1.7 ui-monospace,Menlo,Consolas,monospace;color:#c9d2ee;white-space:pre-wrap}.win .k{color:var(--violet);font-weight:500}.win .s{color:var(--mint);font-weight:500}.term pre{min-height:8.5rem}.term{margin-top:3rem}.caret{display:inline-block;width:8px;height:1.1em;background:var(--mint);vertical-align:text-bottom;margin-left:2px;animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.flow,.schema{display:block;width:100%;max-width:640px;margin:-1rem 0 2.5rem}.flow rect,.schema rect{fill:var(--surf);stroke:var(--line);stroke-width:1.5}.flow text,.schema text{fill:var(--text);font:500 13px var(--body)}.schema .t-name{fill:var(--amber);font:700 14px var(--head)}.wire{stroke:var(--line);stroke-width:2;stroke-dasharray:6 6;animation:dash 1s linear infinite}@keyframes dash{to{stroke-dashoffset:-12}}.packet{fill:var(--mint)}.packet.back{fill:var(--amber)}.rel{fill:none;stroke:var(--violet);stroke-width:2.5;stroke-linecap:round}.git{position:absolute;right:0;top:0;height:100%;width:110px}.git svg{position:sticky;top:30vh;width:110px;height:auto}.g-main,.g-branch{fill:none;stroke-width:3;stroke-linecap:round}.g-main{stroke:var(--mint)}.g-branch{stroke:var(--violet)}.git circle{fill:var(--bg);stroke:var(--amber);stroke-width:3}@media (max-width:800px){.git{display:none}}
