@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&family=Righteous&display=swap");:root{--color-bg:#0a0a1a;--color-surface:#12121f;--color-surface-2:#1a1a2e;--color-surface-3:#22223a;--color-border:#312e81;--color-border-subtle:#1e1b4b40;--color-primary:#1e1b4b;--color-secondary:#4338ca;--color-accent:#22c55e;--color-accent-dim:#16a34a;--color-accent-glow:rgba(34,197,94,0.25);--color-text:#f8fafc;--color-text-muted:#94a3b8;--color-text-dim:#64748b;--color-destructive:#ef4444;--color-warning:#f59e0b;--color-success:#22c55e;--font-display:"Righteous","Georgia",serif;--font-body:"Poppins",system-ui,sans-serif;--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;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;--radius-pill:9999px;--shadow-sm:0 1px 3px rgba(0,0,0,0.4);--shadow-md:0 4px 16px rgba(0,0,0,0.5);--shadow-lg:0 8px 32px rgba(0,0,0,0.6);--shadow-glow-green:0 0 24px var(--color-accent-glow),0 0 48px rgba(34,197,94,0.12);--shadow-glow-violet:0 0 24px rgba(67,56,202,0.4),0 0 48px rgba(67,56,202,0.15);--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--duration-fast:150ms;--duration-normal:250ms;--duration-slow:400ms}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);line-height:1.2;letter-spacing:.01em}h1{font-size:clamp(2rem,5vw,3.5rem)}h2{font-size:clamp(1.5rem,3.5vw,2.25rem)}h3{font-size:clamp(1.25rem,2.5vw,1.75rem)}h4{font-size:1.25rem}p{max-width:65ch}a{color:var(--color-accent);text-decoration:none;transition:opacity var(--duration-fast) var(--ease-out)}a:hover{opacity:.8}a:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:4px}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:4px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-surface)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--color-secondary)}::-moz-selection{background:rgba(34,197,94,.3);color:var(--color-text)}::selection{background:rgba(34,197,94,.3);color:var(--color-text)}.container{width:100%;max-width:1280px;margin-inline:auto;padding-inline:var(--space-6)}@media (max-width:480px){.container{padding-inline:var(--space-4)}}a,button{touch-action:manipulation}.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}.bg-mesh{background:radial-gradient(ellipse 80% 50% at 20% 20%,rgba(67,56,202,.15) 0,transparent 60%),radial-gradient(ellipse 60% 60% at 80% 80%,rgba(34,197,94,.08) 0,transparent 60%),var(--color-bg)}.glass{background:rgba(18,18,31,.7);backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%);border:1px solid rgba(49,46,129,.4);border-radius:var(--radius-lg)}.text-glow-green{text-shadow:0 0 20px var(--color-accent-glow),0 0 40px rgba(34,197,94,.1)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--color-surface) 25%,var(--color-surface-2) 50%,var(--color-surface) 75%);background-size:200% 100%;animation:shimmer 1.8s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes pulse-ring{0%{transform:scale(1);opacity:1}to{transform:scale(1.8);opacity:0}}@keyframes pulse-dot{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-fade-in-up{animation:fade-in-up var(--duration-slow) var(--ease-out) both}.animate-fade-in{animation:fade-in var(--duration-normal) var(--ease-out) both}.animate-scale-in{animation:scale-in var(--duration-slow) var(--ease-spring) both}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}