:root{--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-secondary:#64748b;--color-background:#fff;--color-surface:#f8fafc;--color-text:#0f172a;--color-text-muted:#475569;--color-border:#e2e8f0;--color-success:#16a34a;--color-error:#dc2626;--font-family:"DM Sans",system-ui,-apple-system,sans-serif;--font-weight-regular:400;--font-weight-semibold:600;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--leading-tight:1.2;--leading-normal:1.5;--leading-relaxed:1.75;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-full:9999px;--shadow-sm:0 1px 2px rgb(0 0 0/5%);--shadow-md:0 4px 6px rgb(0 0 0/7%);--shadow-lg:0 10px 15px rgba(0,0,0,.1);--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s ease;--max-width:1200px;--max-width-narrow:800px}html.dark{--color-primary:#60a5fa;--color-primary-hover:#93c5fd;--color-secondary:#94a3b8;--color-background:#0f172a;--color-surface:#1e293b;--color-text:#f1f5f9;--color-text-muted:#94a3b8;--color-border:#334155;--color-success:#4ade80;--color-error:#f87171;--shadow-sm:0 1px 2px rgba(0,0,0,.2);--shadow-md:0 4px 6px rgba(0,0,0,.3);--shadow-lg:0 10px 15px rgba(0,0,0,.4)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{background-color:var(--color-background);color:var(--color-text);font-family:var(--font-family);font-size:var(--text-base);font-weight:var(--font-weight-regular);line-height:var(--leading-normal);transition:background-color var(--transition-normal),color var(--transition-normal)}canvas,img,picture,svg,video{display:block;height:auto;max-width:100%}button,input,select,textarea{color:inherit;font:inherit}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--leading-tight)}h1,h2{letter-spacing:-.02em}ol,ul{list-style:none}.fade-enter-active,.fade-leave-active{transition:opacity var(--transition-slow)}.fade-enter-from,.fade-leave-to{opacity:0}
