@import url("https://fonts.googleapis.com/css2?family=Orbitron:wght@400;500;600;700;800;900&family=Share+Tech+Mono&family=Rajdhani:wght@300;400;500;600;700&family=JetBrains+Mono:wght@300;400;500&display=swap");:root{--void:#050508;--ink:#080b0f;--mist:#0d1117;--smoke:#141b24;--border:#1a2535;--ash:#3d5a47;--silver:#6b9e7a;--pearl:#9ecfaa;--snow:#d4f5dc;--neon:#00ff88;--neon-dim:#00cc6a;--neon-bright:#39ffac;--neon-glow:rgba(0,255,136,0.2);--cyan:#00e5ff;--cyan-dim:#00b8cc;--acid:#aaff00;--magenta:#ff00aa;--border-input:rgba(0,255,136,0.25);--input-background:rgba(0,255,136,0.05);--hidden-feature:rgb(255,119,0);--font-display:"Orbitron",sans-serif;--font-body:"Rajdhani",sans-serif;--font-mono:"Share Tech Mono","JetBrains Mono",monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px;--transition-fast:0.15s ease;--transition-base:0.2s ease;--transition-slow:0.3s ease;--transition-reveal:0.65s ease;--glow-neon:0 0 12px var(--neon-glow),0 0 30px rgba(0,255,136,0.1);--glow-cyan:0 0 12px rgba(0,229,255,0.2),0 0 30px rgba(0,229,255,0.08);--glow-card:0 16px 40px rgba(0,0,0,0.5),0 0 20px rgba(0,255,136,0.06);--z-navbar:50;--z-overlay:9000;--z-modal:9001;--z-cursor:9999;--nav-height:72px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--void);color:var(--pearl);font-family:var(--font-body);overflow-x:hidden;cursor:none;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{background:none;border:none;cursor:none}img,svg{display:block}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:var(--void)}::-webkit-scrollbar-thumb{background:var(--smoke);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--neon)}.cursor{width:6px;height:6px;background:var(--neon);border-radius:50%;z-index:var(--z-cursor);box-shadow:0 0 8px var(--neon),0 0 16px var(--neon)}.cursor,.cursorRing{position:fixed;pointer-events:none;display:none}.cursorRing{width:28px;height:28px;border:1px solid var(--neon);border-radius:50%;z-index:calc(var(--z-cursor) - 1);transition:all .12s ease;opacity:.5}.gridBg{background-image:linear-gradient(rgba(0,255,136,.04) 1px,transparent 0),linear-gradient(90deg,rgba(0,255,136,.04) 1px,transparent 0),linear-gradient(rgba(0,229,255,.015) 1px,transparent 0),linear-gradient(90deg,rgba(0,229,255,.015) 1px,transparent 0);background-size:48px 48px,48px 48px,12px 12px,12px 12px}.scanline{position:relative}.scanline:before{display:none;position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--neon),transparent);animation:scanDown 4s linear infinite;z-index:1}.noise:after,.scanline:before{content:"";opacity:.25;pointer-events:none}.noise:after{position:relative;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");z-index:9990}@media (min-width:800px){.noise:after{position:fixed}.cursor,.cursorRing{display:block}}.textGradientNeon{background:linear-gradient(90deg,var(--neon) 0,var(--cyan) 50%,var(--acid) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.textGradientCyber{background:linear-gradient(135deg,var(--neon) 0,var(--neon-bright) 40%,var(--cyan) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sectionReveal{opacity:0;transform:translateY(24px);transition:opacity var(--transition-reveal),transform var(--transition-reveal)}.sectionReveal.visible{opacity:1;transform:translateY(0)}.techTag{display:inline-flex;align-items:center;padding:3px 10px;border:1px solid rgba(0,255,136,.25);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:11px;color:var(--neon);background:rgba(0,255,136,.05);letter-spacing:.05em;transition:all var(--transition-base)}.techTag:hover{background:rgba(0,255,136,.12);border-color:rgba(0,255,136,.6);box-shadow:0 0 8px rgba(0,255,136,.2)}.techTagCyan{border-color:rgba(0,229,255,.25);color:var(--cyan);background:rgba(0,229,255,.05)}.techTagCyan:hover{background:rgba(0,229,255,.12);border-color:rgba(0,229,255,.6);box-shadow:0 0 8px rgba(0,229,255,.2)}.techTagAcid{border-color:rgba(170,255,0,.25);color:var(--acid);background:rgba(170,255,0,.05)}.techTagAcid:hover{background:rgba(170,255,0,.12);border-color:rgba(170,255,0,.6)}.linkUnderline{position:relative}.linkUnderline:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--neon);transition:width var(--transition-slow)}.linkUnderline:hover:after{width:100%}.bracketCorner{position:relative}.bracketCorner:after,.bracketCorner:before{content:"";position:absolute;width:14px;height:14px}.bracketCorner:before{top:0;left:0;border-top:1px solid var(--neon);border-left:1px solid var(--neon)}.bracketCorner:after{bottom:0;right:0;border-bottom:1px solid var(--neon);border-right:1px solid var(--neon)}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes scanDown{0%{top:0}to{top:100%}}@keyframes neonPulse{0%,to{text-shadow:0 0 8px var(--neon),0 0 20px rgba(0,255,136,.4)}50%{text-shadow:0 0 20px var(--neon),0 0 50px rgba(0,255,136,.7),0 0 80px rgba(0,255,136,.3)}}@keyframes borderGlow{0%,to{box-shadow:0 0 5px rgba(0,255,136,.2)}50%{box-shadow:0 0 15px rgba(0,255,136,.5),0 0 30px rgba(0,255,136,.2)}}@keyframes flicker{0%,to{opacity:1}92%{opacity:1}93%{opacity:.8}95%{opacity:1}97%{opacity:.9}}.animFadeUp{animation:fadeUp .6s ease forwards}.animFadeIn{animation:fadeIn .4s ease forwards}.animBlink{animation:blink 1s step-end infinite}.animFloat{animation:float 5s ease-in-out infinite}.animNeon{animation:neonPulse 2.5s ease-in-out infinite}.animBorder{animation:borderGlow 2.5s ease-in-out infinite}.animFlicker{animation:flicker 6s infinite}@media (min-width:800px){.scanline:before{display:block}}[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}[data-reveal].visible{opacity:1;transform:translateY(0)}[data-card]{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}[data-card].visible{opacity:1;transform:translateY(0)}