:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius-sm:6px;--radius-md:10px;--radius-lg:18px;--radius-pill:999px;--font-display:"Baloo 2", "Trebuchet MS", system-ui, sans-serif;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--text-xs:.75rem;--text-sm:.85rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.6rem;--text-2xl:2.2rem;--text-3xl:2.5rem;--shadow-1:0 2px 6px #00000026;--shadow-2:0 6px 18px #00000040;--color-bg:#f4f4f8;--color-surface:#fff;--color-screen:#e8f0e6;--color-primary:#e63946;--color-on-primary:#fff;--color-text:#1a1a2e;--color-muted:#5b5b6b;--color-border:#d8d8e0;--accent:#ffcb05}[data-theme=pokedex]{--color-bg:#c0202e;--color-surface:#f6f7fb;--color-screen:#dfeae0;--color-primary:#e63946;--color-on-primary:#fff;--color-text:#1a1a2e;--color-muted:#5b5b6b;--color-border:#2b2b3a;--accent:#ffcb05}[data-theme=default]{--color-bg:#f4f4f8;--color-surface:#fff;--color-screen:#eef0f6;--color-primary:#5b6cff;--color-on-primary:#fff;--color-text:#1a1a2e;--color-muted:#5b5b6b;--color-border:#d8d8e0;--accent:#ff8c42}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);margin:0 0 var(--space-3)}button{font-family:var(--font-display);font-size:var(--text-md);color:var(--color-on-primary);background:var(--color-primary);border-radius:var(--radius-pill);padding:var(--space-3) var(--space-5);box-shadow:var(--shadow-1);cursor:pointer;border:none;font-weight:700;transition:transform 80ms,filter 80ms}button:hover{filter:brightness(1.05)}button:active{transform:translateY(1px)scale(.99)}button.ghost,.btn--ghost{color:var(--color-text);box-shadow:none;border:2px solid var(--color-border);background:0 0}.panel{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-2)}input[type=number],input[type=text],input[type=password],select{font-family:var(--font-body);font-size:var(--text-md);padding:var(--space-2) var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text)}
