:root{--font-display: "Bebas Neue", system-ui, sans-serif;--font-pixel: "Press Start 2P", "VT323", ui-monospace, monospace;--font-mono: "VT323", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-body: "Geist", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--fs-hud: .625rem;--fs-xs: .75rem;--fs-sm: .875rem;--fs-mono-sm: .9375rem;--fs-base: 1rem;--fs-lg: 1.125rem;--fs-xl: 1.25rem;--fs-2xl: 1.5rem;--fs-3xl: 2rem;--fs-4xl: 2.75rem;--fs-5xl: clamp(2.75rem, 7vw, 5rem);--fs-display: clamp(3.5rem, 12vw, 9rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-24: 6rem;--space-32: 8rem;--radius-sm: 2px;--radius-md: 2px;--radius-lg: 2px;--radius-xl: 0;--radius-2xl: 0;--radius-pill: 9999px;--content-max: 1200px;--content-wide: 1400px;--nav-height: 56px;--ease: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-step: steps(8, end);--dur-fast: .12s;--dur: .24s;--dur-slow: .48s;--dur-blink: 1.1s;--dur-scan: 8s;--bg: #0a0a0a;--bg-elev: #0f0f10;--bg-card: #0c0c0d;--fg: #f4f4f4;--fg-muted: #a8a8a8;--fg-subtle: #6e6e6e;--border: #1f1f1f;--border-strong: #2e2e2e;--accent: #39ff14;--accent-fg: #0a0a0a;--accent-glow: rgba(57, 255, 20, .35);--accent-glow-soft: rgba(57, 255, 20, .18);--amber: #ffb627;--amber-fg: #0a0a0a;--amber-glow: rgba(255, 182, 39, .25);--danger: #ff3a3a;--scanline-color: rgba(255, 255, 255, .018);--vignette: radial-gradient(ellipse at center, transparent 40%, rgba(0, 0, 0, .55) 100%);--accent-link: var(--accent);--brand-1: var(--accent);--brand-2: var(--accent);--brand-3: var(--amber);--brand-gradient: linear-gradient(135deg, var(--accent) 0%, var(--accent) 100%);--brand-gradient-soft: linear-gradient( 135deg, var(--accent-glow-soft), rgba(255, 182, 39, .12) );--brand-gradient-conic: conic-gradient(from 210deg at 50% 50%, var(--accent), var(--amber), var(--accent));--shimmer-from: var(--accent);--shimmer-mid: var(--amber);--gold: var(--amber);--gold-light: var(--amber);--navy: var(--bg);--navy-deep: var(--bg);--navy-card: var(--bg-card);--navy-border: var(--border);--teal-check: var(--accent);--popular-glow: var(--accent-glow-soft)}@font-face{font-family:Bebas Neue;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/bebas-neue.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bebas Neue;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/bebas-neue-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/geist-variable.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/geist-variable-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/press-start-2p.woff2) format("woff2")}@font-face{font-family:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/vt323.woff2) format("woff2")}*,*:before,*:after{box-sizing:border-box}html{color-scheme:dark;-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;font-family:var(--font-body);font-size:var(--fs-base);line-height:1.6;color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:400;letter-spacing:.02em;line-height:1.05;text-transform:uppercase;margin:0 0 var(--space-4);color:var(--fg)}h1{font-size:var(--fs-display)}h2{font-size:var(--fs-5xl)}h3{font-size:var(--fs-3xl)}h4{font-size:var(--fs-2xl)}p{margin:0 0 var(--space-4)}a{color:inherit;text-decoration:none;transition:color var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease)}a:hover{opacity:.7}img,svg,video{display:block;max-width:100%;height:auto}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit;padding:0}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}::selection{background:color-mix(in srgb,var(--accent) 32%,transparent);color:var(--fg)}html{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid var(--bg);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--fg-subtle)}.film-grain{position:fixed;inset:0;z-index:9;pointer-events:none;opacity:.055;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px 160px}.hud-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:90;pointer-events:none;background:linear-gradient(90deg,var(--track-phd, var(--accent)) 0%,var(--track-ltd, var(--accent)) 38%,var(--track-exp, var(--accent)) 68%,var(--track-win, var(--accent)) 100%);box-shadow:0 0 10px -2px #96b4dc80;transform:scaleX(var(--page-progress, 0));transform-origin:left center}body.deck-page .hud-progress{display:none}.container{width:100%;max-width:var(--content-max);margin-inline:auto;padding-inline:var(--space-6)}.container--wide{max-width:var(--content-wide)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html.is-lenis{scroll-behavior:auto}html.is-lenis,html.is-lenis body{height:auto;min-height:100%;overflow:visible}html.is-lenis.lenis-stopped{overflow:clip}html.has-reveal [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--reveal-delay, 0) * 80ms);will-change:opacity,transform}html.has-reveal [data-reveal=fade]{transform:none}html.has-reveal [data-reveal=scale]{transform:scale(.96)}html.has-reveal [data-reveal].is-visible{opacity:1;transform:none}::view-transition-old(root),::view-transition-new(root){animation-duration:.4s;animation-timing-function:var(--ease)}@keyframes rise-in{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes float-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--track-phd: #5b9dff;--track-phd-glow: rgba(91, 157, 255, .45);--track-ltd: #e7c977;--track-ltd-glow: rgba(231, 201, 119, .42);--track-exp: #fbbf24;--track-exp-glow: rgba(251, 191, 36, .42);--track-win: #e879f9;--track-win-glow: rgba(232, 121, 249, .45);--track-about: #ef9b6e;--track-about-glow: rgba(239, 155, 110, .5);--track-system: #8fa3c4;--track-system-glow: rgba(143, 163, 196, .38);--space-void: #04060d;--space-deep: #070b16;--space-horizon: #0a1126;--starlight: #eaf2ff;--ease-warp: cubic-bezier(.16, 1, .3, 1);--ease-glide: cubic-bezier(.33, 0, .2, 1);--dur-arrival: 1.1s;--dur-warp: .72s}.world{--accent: var(--world);--accent-fg: #04060d;--accent-glow: var(--world-glow);--accent-glow-soft: color-mix(in srgb, var(--world) 16%, transparent);--amber: var(--world);--amber-fg: #04060d;--amber-glow: var(--world-glow);--accent-link: var(--world);--shimmer-from: var(--world);--shimmer-mid: var(--world);--brand-1: var(--world);--brand-2: var(--world);--brand-3: var(--world);--brand-gradient: linear-gradient(135deg, var(--world) 0%, var(--world) 100%);--brand-gradient-soft: linear-gradient( 135deg, color-mix(in srgb, var(--world) 16%, transparent), color-mix(in srgb, var(--world) 10%, transparent) );--gold: var(--world);--gold-light: var(--world);--teal-check: var(--world);--popular-glow: color-mix(in srgb, var(--world) 16%, transparent);position:relative}.world .pubs__card,.world .hack__card,.world .edu__card,.world .project,.world .cart{position:relative;border:1px solid color-mix(in srgb,var(--world) 26%,var(--border-strong));border-radius:4px;background:linear-gradient(150deg,color-mix(in srgb,var(--world) 12%,transparent),color-mix(in srgb,var(--world) 3%,transparent) 55%),#090d19e6;box-shadow:inset 0 1px color-mix(in srgb,var(--world) 14%,transparent),0 14px 40px -32px #000}.world .pubs__card:after,.world .hack__card:after,.world .edu__card:after,.world .project:after{content:"";position:absolute;inset:8px;pointer-events:none;opacity:.28;transition:opacity .4s var(--ease-glide);--b: color-mix(in srgb, var(--world) 70%, transparent);background:linear-gradient(var(--b),var(--b)) 0 0 / 10px 1px no-repeat,linear-gradient(var(--b),var(--b)) 0 0 / 1px 10px no-repeat,linear-gradient(var(--b),var(--b)) 100% 0 / 10px 1px no-repeat,linear-gradient(var(--b),var(--b)) 100% 0 / 1px 10px no-repeat,linear-gradient(var(--b),var(--b)) 0 100% / 10px 1px no-repeat,linear-gradient(var(--b),var(--b)) 0 100% / 1px 10px no-repeat,linear-gradient(var(--b),var(--b)) 100% 100% / 10px 1px no-repeat,linear-gradient(var(--b),var(--b)) 100% 100% / 1px 10px no-repeat}.world .pubs__card:hover,.world .hack__card:hover,.world .edu__card:hover,.world .project:hover{border-color:color-mix(in srgb,var(--world) 55%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--world) 20%,transparent),0 22px 56px -36px var(--world-glow),inset 0 0 56px -44px var(--world)}.world .pubs__card:hover:after,.world .hack__card:hover:after,.world .edu__card:hover:after,.world .project:hover:after{opacity:.75}.world .contact__form-wrap{border:1px solid color-mix(in srgb,var(--world) 24%,var(--border-strong));border-radius:4px;background:linear-gradient(150deg,color-mix(in srgb,var(--world) 9%,transparent),color-mix(in srgb,var(--world) 2%,transparent) 55%),#090d19e6;box-shadow:inset 0 1px color-mix(in srgb,var(--world) 14%,transparent),0 20px 50px -36px #000}.world .exp__chip{border-color:color-mix(in srgb,var(--world) 20%,var(--border));background:linear-gradient(150deg,color-mix(in srgb,var(--world) 7%,transparent),transparent 60%),#080c1880}.world .exp__chip:hover{border-color:color-mix(in srgb,var(--world) 55%,transparent);box-shadow:0 8px 26px -18px var(--world-glow)}.world .edu__filler{border-color:color-mix(in srgb,var(--world) 16%,var(--border))}html.warp-active::view-transition-old(root){animation:warp-depart var(--dur-warp) var(--ease-warp) both}html.warp-active::view-transition-new(root){animation:warp-arrive var(--dur-warp) var(--ease-warp) both}@keyframes warp-depart{0%{transform:scale(1);opacity:1;filter:brightness(1) blur(0)}55%{opacity:1;filter:brightness(1.35) blur(1px)}to{transform:scale(1.45);opacity:0;filter:brightness(2) blur(8px)}}@keyframes warp-arrive{0%{transform:scale(1.12);opacity:0;filter:blur(6px)}to{transform:scale(1);opacity:1;filter:blur(0)}}@media(prefers-reduced-motion:reduce){html.warp-active::view-transition-old(root),html.warp-active::view-transition-new(root){animation:none}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.world-bg[data-astro-cid-mw7s4faf]{position:fixed;inset:0;z-index:-3;pointer-events:none;background:radial-gradient(ellipse 120% 55% at 50% -12%,color-mix(in srgb,var(--world) 14%,transparent),transparent 58%),radial-gradient(ellipse 100% 60% at 50% 116%,color-mix(in srgb,var(--world) 9%,transparent),transparent 60%),var(--space-void)}.world-scrim[data-astro-cid-mw7s4faf]{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 120% 100% at 50% 38%,#04060d59 30%,#04060dd1)}.world-sat[data-astro-cid-mw7s4faf]{position:fixed;top:0;left:0;z-index:-2;pointer-events:none;opacity:0;color:var(--world, #eaf2ff);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--world, #eaf2ff) 45%,transparent));transition:opacity .9s var(--ease-glide)}.world-sat[data-astro-cid-mw7s4faf].is-drifting{opacity:.85}.world-sat__beacon[data-astro-cid-mw7s4faf]{animation:sat-beacon 1.6s steps(2,jump-none) infinite}@keyframes sat-beacon{0%{opacity:1}to{opacity:.15}}@media(prefers-reduced-motion:reduce){.world-sat[data-astro-cid-mw7s4faf]{display:none}}
