*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;height:100%;scroll-behavior:smooth}body{min-height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{background:none;border:none;cursor:pointer;font:inherit;color:inherit}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}@font-face{font-family:Jetbrains Mono;src:url(/assets/jetbrainsmono-variablefont_wght-CzDCK01m.ttf) format("truetype");font-weight:100 800;font-style:normal;font-display:swap}@font-face{font-family:Neopixel;src:url(/assets/neopixel-regular-CerMm7b6.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}:root{--color-bg: #000000;--color-surface: rgba(255, 255, 255, .03);--color-surface-2: rgba(255, 255, 255, .06);--color-border: rgba(255, 255, 255, .08);--color-border-hover: rgba(255, 255, 255, .2);--color-text: #ffffff;--color-text-secondary: rgba(255, 255, 255, .55);--color-text-tertiary: rgba(255, 255, 255, .35);--color-cyan: #00e5ff;--color-teal: #00d4aa;--color-gold: #ffb347;--color-rose: #ff6b9d;--color-blue: #4facfe;--color-accent: #ffffff;--color-accent-glow: rgba(0, 229, 255, .12);--gradient-iridescent: linear-gradient(135deg, #00e5ff, #00d4aa, #ffb347, #ff6b9d, #4facfe);--gradient-iridescent-subtle: linear-gradient(135deg, rgba(0,229,255,.15), rgba(0,212,170,.15), rgba(255,179,71,.15), rgba(255,107,157,.15));--color-success: #00d4aa;--color-warning: #ffb347;--color-error: #ff6b9d;--font-display: "Neopixel", sans-serif;--font-body: "Jetbrains Mono", monospace;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--space-3xl: 6rem;--space-4xl: 8rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .5s ease;--header-height: 5rem}@media screen and (min-width:768px){:root{--header-height: 5.5rem}}html{font-size:14px}@media screen and (min-width:768px){html{font-size:15px}}@media screen and (min-width:992px){html{font-size:.9vw}}body{color:var(--color-text);background-color:var(--color-bg);font-family:var(--font-body);font-size:1rem;line-height:1.5;letter-spacing:-.02em;overflow-x:hidden}.page-wrapper{position:relative;overflow-x:clip;z-index:2}.page-padding{padding-left:var(--space-xl);padding-right:var(--space-xl)}@media screen and (max-width:767px){.page-padding{padding-left:var(--space-lg);padding-right:var(--space-lg)}}@media screen and (max-width:479px){.page-padding{padding-left:var(--space-md);padding-right:var(--space-md)}}.section{position:relative}.section-header{text-align:center;margin-bottom:var(--space-3xl)}.section-label{display:inline-block;font-family:var(--font-body);font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:var(--color-text-secondary);border:1px solid var(--color-border-hover);border-radius:100px;padding:var(--space-xs) var(--space-md);margin-bottom:var(--space-lg)}.section-title{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,5rem);font-weight:400;text-transform:uppercase;line-height:.95;letter-spacing:-.02em}.cursor-glow{position:fixed;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(0,229,255,.08) 0%,rgba(255,107,157,.04) 40%,transparent 70%);pointer-events:none;z-index:0;transform:translate(-50%,-50%);opacity:0;transition:opacity .3s ease}@media(hover:none){.cursor-glow{display:none}}.grid-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;display:grid;pointer-events:none;width:100%;height:100%}.grid-cell{width:100%;height:100%;background-color:#adbeff00;border:1px solid rgba(255,255,255,.06)}.loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background-color:var(--color-bg);display:flex;justify-content:center;align-items:center;transition:opacity .6s ease,visibility .6s ease}.loading-screen.hidden{opacity:0;visibility:hidden;pointer-events:none}.loading-icon-wrapper{animation:loadingSpin 2s ease-in-out infinite,loadingPulse 2s ease-in-out infinite}.loading-icon{width:3rem;height:3rem;color:var(--color-text)}@keyframes loadingSpin{0%{transform:rotate(0) scale(.8)}50%{transform:rotate(180deg) scale(1.2)}to{transform:rotate(360deg) scale(.8)}}@keyframes loadingPulse{0%,to{opacity:.5}50%{opacity:1}}
