:root,[data-theme=light]{--bg-primary: #fafaf9;--bg-secondary: #f3f2f0;--bg-tertiary: #e8e6e3;--text-primary: #1c1917;--text-secondary: #57534e;--text-muted: #78716c;--accent: #4f46e5;--accent-hover: #4338ca;--accent-light: rgba(79, 70, 229, .08);--accent-glow: rgba(79, 70, 229, .25);--accent-gradient: linear-gradient(135deg, #4f46e5, #7c3aed);--success: #16a34a;--warning: #ea580c;--danger: #dc2626;--info: #0891b2;--card-bg: #ffffff;--card-shadow: 0 1px 3px rgba(0, 0, 0, .04), 0 4px 16px rgba(0, 0, 0, .06);--card-shadow-hover: 0 4px 12px rgba(0, 0, 0, .08), 0 12px 32px rgba(0, 0, 0, .1);--border: #e7e5e4;--border-strong: #d6d3d1;--navbar-bg: rgba(250, 250, 249, .8);--glass-bg: rgba(255, 255, 255, .65);--glass-border: rgba(0, 0, 0, .05);--code-bg: #f5f5f4;--heatmap-0: #ebedf0;--heatmap-1: #c6dbef;--heatmap-2: #6baed6;--heatmap-3: #3182bd;--heatmap-4: #4f46e5;--scrollbar-thumb: #d6d3d1;--selection-bg: rgba(79, 70, 229, .15);--glow-color: rgba(79, 70, 229, .15)}[data-theme=dark]{--bg-primary: #0a0e1a;--bg-secondary: #111827;--bg-tertiary: #1e293b;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #7d8ca3;--accent: #22d3ee;--accent-hover: #67e8f9;--accent-light: rgba(34, 211, 238, .1);--accent-glow: rgba(34, 211, 238, .3);--accent-gradient: linear-gradient(135deg, #22d3ee, #818cf8);--success: #34d399;--warning: #fbbf24;--danger: #f87171;--info: #60a5fa;--card-bg: #111827;--card-shadow: 0 1px 3px rgba(0, 0, 0, .3), 0 4px 16px rgba(0, 0, 0, .4);--card-shadow-hover: 0 4px 12px rgba(0, 0, 0, .4), 0 12px 32px rgba(34, 211, 238, .08);--border: #1e293b;--border-strong: #334155;--navbar-bg: rgba(10, 14, 26, .85);--glass-bg: rgba(255, 255, 255, .03);--glass-border: rgba(255, 255, 255, .06);--code-bg: #1e293b;--heatmap-0: #111827;--heatmap-1: #0e3a4a;--heatmap-2: #0e7490;--heatmap-3: #06b6d4;--heatmap-4: #22d3ee;--scrollbar-thumb: #334155;--selection-bg: rgba(34, 211, 238, .2);--glow-color: rgba(34, 211, 238, .12)}[data-theme=synthwave]{--bg-primary: #1a1025;--bg-secondary: #241734;--bg-tertiary: #2e1f42;--text-primary: #f5e6ff;--text-secondary: #b794d6;--text-muted: #a58cc4;--accent: #ff6ec7;--accent-hover: #ff94d7;--accent-light: rgba(255, 110, 199, .15);--accent-glow: rgba(255, 110, 199, .4);--accent-gradient: linear-gradient(135deg, #ff6ec7, #fede5d);--success: #72f1b8;--warning: #fede5d;--danger: #fe4450;--info: #36f9f6;--card-bg: #241734;--card-shadow: 0 4px 20px rgba(0, 0, 0, .4);--card-shadow-hover: 0 4px 30px rgba(255, 110, 199, .2);--border: #3d2957;--border-strong: #5a3d7a;--navbar-bg: rgba(26, 16, 37, .9);--glass-bg: rgba(255, 110, 199, .05);--glass-border: rgba(255, 110, 199, .1);--code-bg: #2e1f42;--heatmap-0: #241734;--heatmap-1: #4a1942;--heatmap-2: #8b2c6e;--heatmap-3: #c44298;--heatmap-4: #ff6ec7;--scrollbar-thumb: #5a3d7a;--selection-bg: rgba(255, 110, 199, .3);--glow-color: rgba(255, 110, 199, .15)}[data-theme=nord]{--bg-primary: #2e3440;--bg-secondary: #3b4252;--bg-tertiary: #434c5e;--text-primary: #eceff4;--text-secondary: #d8dee9;--text-muted: #94a3b8;--accent: #88c0d0;--accent-hover: #8fbcbb;--accent-light: rgba(136, 192, 208, .15);--accent-glow: rgba(136, 192, 208, .3);--accent-gradient: linear-gradient(135deg, #88c0d0, #a3be8c);--success: #a3be8c;--warning: #ebcb8b;--danger: #bf616a;--info: #81a1c1;--card-bg: #3b4252;--card-shadow: 0 4px 20px rgba(0, 0, 0, .25);--card-shadow-hover: 0 8px 30px rgba(0, 0, 0, .35);--border: #434c5e;--border-strong: #4c566a;--navbar-bg: rgba(46, 52, 64, .9);--glass-bg: rgba(136, 192, 208, .05);--glass-border: rgba(136, 192, 208, .1);--code-bg: #434c5e;--heatmap-0: #3b4252;--heatmap-1: #4c6a5e;--heatmap-2: #6b9e7e;--heatmap-3: #8fbf9e;--heatmap-4: #a3be8c;--scrollbar-thumb: #4c566a;--selection-bg: rgba(136, 192, 208, .2);--glow-color: rgba(136, 192, 208, .12)}[data-theme=dracula]{--bg-primary: #282a36;--bg-secondary: #343746;--bg-tertiary: #44475a;--text-primary: #f8f8f2;--text-secondary: #bd93f9;--text-muted: #8b9dc9;--accent: #ff79c6;--accent-hover: #ff92d0;--accent-light: rgba(255, 121, 198, .15);--accent-glow: rgba(255, 121, 198, .4);--accent-gradient: linear-gradient(135deg, #ff79c6, #bd93f9);--success: #50fa7b;--warning: #f1fa8c;--danger: #ff5555;--info: #8be9fd;--card-bg: #343746;--card-shadow: 0 4px 20px rgba(0, 0, 0, .35);--card-shadow-hover: 0 8px 30px rgba(0, 0, 0, .45);--border: #44475a;--border-strong: #6272a4;--navbar-bg: rgba(40, 42, 54, .9);--glass-bg: rgba(189, 147, 249, .05);--glass-border: rgba(189, 147, 249, .1);--code-bg: #44475a;--heatmap-0: #343746;--heatmap-1: #3d5a3e;--heatmap-2: #44804a;--heatmap-3: #4aab58;--heatmap-4: #50fa7b;--scrollbar-thumb: #6272a4;--selection-bg: rgba(189, 147, 249, .3);--glow-color: rgba(255, 121, 198, .12)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;tab-size:4}body{min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease;overflow-x:hidden}img,svg,video,canvas{display:block;max-width:100%;height:auto}p,li,h1,h2,h3,h4,h5,h6,span,div{overflow-wrap:break-word;word-wrap:break-word}pre,code{overflow-wrap:anywhere;word-break:break-word}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{font-size:max(16px,1rem)}button{cursor:pointer;border:none;background:none}ul,ol{list-style:none}a{color:inherit;text-decoration:none}table{border-collapse:collapse}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-weight:400;line-height:1.6;color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:Space Grotesk,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:700;line-height:1.2;color:var(--text-primary)}h1{font-size:3rem}h2{font-size:2.5rem}h3{font-size:2rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1.125rem}code,pre,kbd{font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:.875rem}a{color:var(--accent);text-decoration:none;transition:color .15s ease}a:hover{color:var(--accent-hover)}::selection{background:var(--selection-bg)}@property --gradient-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes gradientSpin{to{--gradient-angle: 360deg}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes typewriter-cursor{0%,to{border-right-color:var(--accent)}50%{border-right-color:transparent}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn .3s ease forwards}.animate-fade-in-up{animation:fadeInUp .5s ease forwards}.animate-slide-in-left{animation:slideInLeft .5s ease forwards}.animate-slide-in-right{animation:slideInRight .5s ease forwards}.animate-scale-in{animation:scaleIn .3s ease forwards}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-float{animation:float 3s ease-in-out infinite}.container{width:100%;max-width:1200px;margin-inline:auto;padding-inline:1.5rem}@media (max-width: 480px){.container{padding-inline:1rem}}.container-narrow{width:100%;max-width:800px;margin-inline:auto;padding-inline:1.5rem}@media (max-width: 480px){.container-narrow{padding-inline:1rem}}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-col{display:flex;flex-direction:column}.section{padding-block:6rem}@media (max-width: 768px){.section{padding-block:3rem}}@media (max-width: 480px){.section{padding-block:2rem}}.section-header{margin-bottom:3rem;text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.text-accent{color:var(--accent)}.text-muted{color:var(--text-muted)}.text-center{text-align:center}.text-gradient{background:linear-gradient(135deg,var(--accent),var(--accent-hover));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.5rem;font-weight:500;font-size:.875rem;border-radius:8px;transition:all .15s ease;cursor:pointer}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn--outline{border:1px solid var(--border);color:var(--text-primary);background:transparent}.btn--outline:hover{border-color:var(--accent);color:var(--accent)}.btn--ghost{color:var(--text-secondary);background:transparent}.btn--ghost:hover{color:var(--text-primary);background:var(--accent-light)}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:9999px;background:var(--accent-light);color:var(--accent)}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;box-shadow:var(--card-shadow);padding:1.5rem;transition:transform .3s ease,box-shadow .3s ease}.card:hover{transform:translateY(-2px);box-shadow:var(--card-shadow-hover, var(--card-shadow))}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-secondary) 50%,var(--bg-tertiary) 75%);background-size:400% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:8px}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.018;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;mix-blend-mode:overlay}.gradient-border{position:relative;border-radius:12px;overflow:hidden}.gradient-border:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;background:linear-gradient(135deg,var(--accent),var(--glow-color, var(--accent)),transparent,var(--accent));background-size:300% 300%;animation:gradient-shift 5s ease infinite;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.gradient-border--rainbow:before{background:linear-gradient(135deg,#ff6b6b,#feca57,#48dbfb,#ff9ff3,#54a0ff,#5f27cd,#ff6b6b);background-size:400% 400%;animation:gradient-shift 6s ease infinite}.glass-card{background:var(--glass-bg, rgba(255, 255, 255, .05));backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid var(--glass-border, rgba(255, 255, 255, .08));border-radius:16px;box-shadow:0 8px 32px #0000001f,inset 0 1px #ffffff0d;transition:all .3s ease}.glass-card:hover{border-color:#ffffff1f;box-shadow:0 12px 40px #00000029,inset 0 1px #ffffff14;transform:translateY(-2px)}.glow-accent{box-shadow:0 0 20px rgba(var(--accent-rgb, 99, 102, 241),.2),0 0 60px rgba(var(--accent-rgb, 99, 102, 241),.08)}.glow-soft{box-shadow:0 0 40px rgba(var(--accent-rgb, 99, 102, 241),.06)}.hover-glow{transition:box-shadow .3s ease}.hover-glow:hover{box-shadow:0 0 30px rgba(var(--accent-rgb, 99, 102, 241),.15),0 8px 25px #0000001a}.scroll-progress{position:fixed;top:0;left:0;height:3px;background:var(--accent-gradient, var(--accent));z-index:10000;transition:width .05s linear;border-radius:0 2px 2px 0}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--card-shadow),0 12px 24px #00000014}::selection{background:var(--selection-bg, var(--accent));color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.link-fancy{position:relative;display:inline}.link-fancy:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--accent-gradient, var(--accent));border-radius:1px;transition:width .3s cubic-bezier(.4,0,.2,1)}.link-fancy:hover:after{width:100%}.shimmer-text{background:linear-gradient(90deg,var(--text-primary) 0%,var(--accent) 50%,var(--text-primary) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 2s ease infinite}
