@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";
:root{--color-bg-primary:#f8f9fc;--color-bg-secondary:#fff;--color-bg-tertiary:#f1f3f8;--color-bg-accent:#eef1f8;--color-bg-hero:linear-gradient(135deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%);--color-bg-hero-card:#ffffff0f;--color-bg-input:#f4f6fa;--color-bg-hover:#f0f2f7;--color-text-primary:#1a1d29;--color-text-secondary:#5a6178;--color-text-tertiary:#8e95a9;--color-text-inverse:#fff;--color-text-accent:#3b63f7;--color-border:#e4e7ef;--color-border-light:#eef0f6;--color-border-focus:#3b63f7;--color-accent:#3b63f7;--color-accent-hover:#2b4fd4;--color-accent-light:#eef1ff;--color-accent-subtle:#3b63f714;--color-success:#10b981;--color-success-bg:#ecfdf5;--color-danger:#ef4444;--color-danger-bg:#fef2f2;--color-warning:#f59e0b;--color-card-shadow:0 1px 3px #0000000a,0 1px 2px #0000000f;--color-card-shadow-hover:0 10px 30px #00000014,0 4px 12px #0000000a;--color-elevated-shadow:0 20px 60px #00000014,0 8px 20px #0000000a;--skeleton-base:#e8ebf0;--skeleton-shine:#f4f6fa;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono","SF Mono","Fira Code",monospace;--fs-xs:.75rem;--fs-sm:.8125rem;--fs-base:.9375rem;--fs-md:1rem;--fs-lg:1.125rem;--fs-xl:1.25rem;--fs-2xl:1.5rem;--fs-3xl:2rem;--fs-4xl:2.5rem;--fs-5xl:3.25rem;--fw-normal:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;--lh-tight:1.2;--lh-normal:1.5;--lh-relaxed:1.7;--space-xs:.25rem;--space-sm:.5rem;--space-md:.75rem;--space-base:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--max-width:1200px;--header-height:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s cubic-bezier(.4,0,.2,1);--z-header:100;--z-overlay:200;--z-modal:300}[data-theme=dark]{--color-bg-primary:#0d1117;--color-bg-secondary:#161b22;--color-bg-tertiary:#1c2333;--color-bg-accent:#1a2236;--color-bg-hero:linear-gradient(135deg,#0d1117 0%,#101827 50%,#0f2044 100%);--color-bg-hero-card:#ffffff0a;--color-bg-input:#1c2333;--color-bg-hover:#21283b;--color-text-primary:#e6edf3;--color-text-secondary:#8b949e;--color-text-tertiary:#6e7681;--color-text-inverse:#fff;--color-text-accent:#6b8aff;--color-border:#2d333b;--color-border-light:#21262d;--color-border-focus:#6b8aff;--color-accent:#6b8aff;--color-accent-hover:#8ba4ff;--color-accent-light:#1a2744;--color-accent-subtle:#6b8aff1a;--color-success:#3fb950;--color-success-bg:#0d2818;--color-danger:#f85149;--color-danger-bg:#3d1214;--color-card-shadow:0 1px 3px #0003,0 1px 2px #0000004d;--color-card-shadow-hover:0 10px 30px #0000004d,0 4px 12px #0003;--color-elevated-shadow:0 20px 60px #0006,0 8px 20px #0000004d;--skeleton-base:#21262d;--skeleton-shine:#2d333b}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);min-height:100vh;transition:background-color .3s,color .3s;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit;font-size:inherit;background:0 0;border:none}input,select{font-family:inherit;font-size:inherit;background:0 0;border:none;outline:none}img{max-width:100%;height:auto}ul,ol{list-style:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-text-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}::selection{background-color:var(--color-accent);color:#fff}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:4px}
