@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap";
@font-face{font-family:geistSans;src:url(../media/GeistVF-s.p.0e569l9b0bre8.woff)format("woff");font-display:swap}@font-face{font-family:geistSans Fallback;src:local(Arial);ascent-override:85.83%;descent-override:20.52%;line-gap-override:9.33%;size-adjust:107.19%}.geistsans_d025f23b-module__yrDP5a__className{font-family:geistSans,geistSans Fallback}.geistsans_d025f23b-module__yrDP5a__variable{--font-geist-sans:"geistSans", "geistSans Fallback"}
@font-face{font-family:geistMono;src:url(../media/GeistMonoVF-s.p.1lv5tp2fpjxdz.woff)format("woff");font-display:swap}@font-face{font-family:geistMono Fallback;src:local(Arial);ascent-override:69.97%;descent-override:16.73%;line-gap-override:7.61%;size-adjust:131.49%}.geistmono_df95d851-module__IijRYa__className{font-family:geistMono,geistMono Fallback}.geistmono_df95d851-module__IijRYa__variable{--font-geist-mono:"geistMono", "geistMono Fallback"}
:root{--bg-primary:#0b0d1a;--accent-primary:#7c4dff;--mix-color:white;--fg-primary:#e8eaf6;--shadow-color:#0006;--nebula-bg-visible:1;--bg-secondary:color-mix(in srgb, var(--bg-primary) 96%, var(--mix-color));--bg-tertiary:color-mix(in srgb, var(--bg-primary) 92%, var(--mix-color));--glass-bg:color-mix(in srgb, var(--bg-primary) 80%, transparent);--card-bg:color-mix(in srgb, var(--bg-primary) 90%, transparent);--scrollbar-track:var(--bg-primary);--accent-1:var(--accent-primary);--accent-2:color-mix(in srgb, var(--accent-primary) 70%, white);--accent-3:color-mix(in srgb, var(--accent-primary) 50%, black);--accent-gradient:linear-gradient(135deg, var(--accent-1) 0%, var(--accent-2) 50%, var(--accent-3) 100%);--card-border:color-mix(in srgb, var(--accent-primary) 15%, transparent);--card-hover-border:color-mix(in srgb, var(--accent-primary) 40%, transparent);--card-glow:color-mix(in srgb, var(--accent-primary) 8%, transparent);--badge-bg:color-mix(in srgb, var(--accent-primary) 12%, transparent);--badge-border:color-mix(in srgb, var(--accent-primary) 25%, transparent);--badge-text:color-mix(in srgb, var(--accent-primary) 80%, white);--timeline-line:color-mix(in srgb, var(--accent-primary) 30%, transparent);--timeline-node:var(--accent-primary);--timeline-node-glow:color-mix(in srgb, var(--accent-primary) 40%, transparent);--glass-border:color-mix(in srgb, var(--accent-primary) 12%, transparent);--section-divider:color-mix(in srgb, var(--accent-primary) 8%, transparent);--scrollbar-thumb:color-mix(in srgb, var(--accent-primary) 80%, black);--fg-secondary:color-mix(in srgb, var(--accent-primary) 30%, color-mix(in srgb, var(--fg-primary) 75%, var(--bg-primary)));--fg-muted:color-mix(in srgb, var(--accent-primary) 40%, var(--fg-secondary))}[data-theme=nebula]{--bg-primary:#0b0d1a;--accent-primary:#7c4dff;--mix-color:white;--fg-primary:#e8eaf6;--shadow-color:#0006;--nebula-bg-visible:1}[data-theme=dark-glitch]{--bg-primary:#050505;--accent-primary:#00ffc8;--mix-color:white;--fg-primary:#e0e0e0;--shadow-color:#0009;--nebula-bg-visible:0}[data-theme=light]{--bg-primary:#f8f9fc;--accent-primary:#5c4dff;--mix-color:black;--fg-primary:#1a1a2e;--shadow-color:#00001e14;--nebula-bg-visible:0}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-padding-top:2rem}body{font-family:"Inter", var(--font-geist-sans), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--fg-primary);background:var(--bg-primary);line-height:1.6;transition:background-color .5s,color .4s;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}body:before{content:"";z-index:-2;opacity:var(--nebula-bg-visible);background:radial-gradient(80% 60% at 20% 30%,#7c4dff1f 0%,#0000 70%),radial-gradient(60% 80% at 80% 70%,#00e5ff14 0%,#0000 70%),radial-gradient(50% 50%,#ea80fc0f 0%,#0000 70%);transition:opacity .8s;animation:20s ease-in-out infinite alternate nebulaShift;position:fixed;inset:0}body:after{content:"";z-index:-1;opacity:var(--nebula-bg-visible);background-image:radial-gradient(1px 1px at 10% 20%,#fff6 0%,#0000 100%),radial-gradient(1px 1px at 30% 60%,#ffffff4d 0%,#0000 100%),radial-gradient(1.5px 1.5px at 50% 10%,#ffffff80 0%,#0000 100%),radial-gradient(1px 1px at 70% 40%,#ffffff59 0%,#0000 100%),radial-gradient(1px 1px at 90% 80%,#ffffff40 0%,#0000 100%),radial-gradient(1.5px 1.5px at 15% 85%,#ffffff73 0%,#0000 100%),radial-gradient(1px 1px at 45% 75%,#ffffff4d 0%,#0000 100%),radial-gradient(1px 1px at 65% 25%,#fff6 0%,#0000 100%),radial-gradient(1.5px 1.5px at 85% 55%,#ffffff59 0%,#0000 100%),radial-gradient(1px 1px at 25% 45%,#ffffff4d 0%,#0000 100%);transition:opacity .8s;animation:8s ease-in-out infinite alternate starTwinkle;position:fixed;inset:0}@keyframes nebulaShift{0%{background:radial-gradient(80% 60% at 20% 30%,#7c4dff1f 0%,#0000 70%),radial-gradient(60% 80% at 80% 70%,#00e5ff14 0%,#0000 70%),radial-gradient(50% 50%,#ea80fc0f 0%,#0000 70%)}to{background:radial-gradient(70% 70% at 70% 60%,#7c4dff26 0%,#0000 70%),radial-gradient(80% 60% at 20% 20%,#00e5ff1a 0%,#0000 70%),radial-gradient(60% 60% at 60% 30%,#ea80fc14 0%,#0000 70%)}}@keyframes starTwinkle{0%{opacity:var(--nebula-bg-visible)}50%{opacity:calc(var(--nebula-bg-visible) * .6)}to{opacity:var(--nebula-bg-visible)}}@keyframes glitchFlicker{0%,93%,to{opacity:1}94%{opacity:.8;transform:translate(-2px)}95%{opacity:1;transform:translate(1px)}96%{opacity:.9;transform:translate(-1px)}97%{opacity:1;transform:translate(0)}}@keyframes gradientText{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 8px var(--timeline-node-glow)}50%{box-shadow:0 0 16px var(--timeline-node-glow), 0 0 32px var(--timeline-node-glow)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.gradient-text{background:var(--accent-gradient);-webkit-text-fill-color:transparent;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;animation:6s infinite gradientText}.section-container{max-width:1100px;margin:0 auto;padding:0 2rem}
