@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";
:root{--blue:#007aff;--blue-light:#007aff14;--green:#34c759;--orange:#ff9500;--red:#ff3b30;--purple:#af52de;--teal:#5ac8fa;--accent:#007aff;--gray-50:#fafafa;--gray-100:#f5f5f7;--gray-200:#e8e8ed;--gray-300:#d2d2d7;--gray-400:#86868b;--gray-500:#6e6e73;--gray-600:#515154;--gray-900:#1d1d1f;--black:#000;--white:#fff;--text-primary:var(--gray-900);--text-secondary:var(--gray-500);--text-tertiary:var(--gray-400);--bg-primary:var(--white);--bg-secondary:var(--gray-100);--bg-tertiary:var(--gray-50);--glass-bg:#ffffffb3;--glass-border:#ffffff80;--glass-blur:20px;--card-shadow:0 4px 24px #0000000f;--card-shadow-hover:0 12px 40px #0000001f;--glow-blue:0 0 60px #007aff33;--glow-purple:0 0 60px #af52de33;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, sans-serif;--section-padding:120px;--container-max:1200px;--container-narrow:800px;--border-radius:20px;--border-radius-sm:12px}[data-theme=dark]{--gray-50:#1c1c1e;--gray-100:#2c2c2e;--gray-200:#3a3a3c;--gray-300:#48484a;--gray-400:#636366;--gray-500:#8e8e93;--gray-600:#aeaeb2;--gray-900:#f5f5f7;--black:#fff;--white:#000;--text-primary:#f5f5f7;--text-secondary:#a1a1a6;--text-tertiary:#8e8e93;--bg-primary:#000;--bg-secondary:#1c1c1e;--bg-tertiary:#2c2c2e;--blue-light:#007aff26;--glass-bg:#1c1c1ecc;--glass-border:#ffffff1a;--card-shadow:0 4px 24px #0000004d;--card-shadow-hover:0 12px 40px #00000080;--glow-blue:0 0 80px #007aff4d;--glow-purple:0 0 80px #af52de4d}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-primary);font-size:17px;line-height:1.5;overflow-x:hidden}::selection{background:#007aff26}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.reveal{opacity:0;will-change:opacity, transform;transition:opacity .8s,transform .8s;transform:translateY(40px)}.reveal-visible{opacity:1;transform:translateY(0)}.reveal-scale{opacity:0;transition:opacity .8s,transform .8s;transform:scale(.95)translateY(20px)}.reveal-scale.reveal-visible{opacity:1;transform:scale(1)translateY(0)}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.animate-fade-up{animation:.9s both fadeUp}.animate-fade-up-1{animation:.9s .1s both fadeUp}.animate-fade-up-2{animation:.9s .2s both fadeUp}.animate-fade-up-3{animation:.9s .3s both fadeUp}.animate-fade-up-4{animation:.9s .4s both fadeUp}.animate-fade-up-5{animation:.9s .5s both fadeUp}.animate-fade-up-6{animation:.9s .6s both fadeUp}.animate-scale-in{animation:1s .3s both scaleIn}.animate-float{animation:5s ease-in-out infinite float}.animate-pulse{animation:2s ease-in-out infinite pulse}
