/* Showdown Duel — shared tokens and resets. Dark, matches Showdown Tracker's colour language. */
:root {
  --bg: #0a0d1a; --panel: #131828; --panel-2: #1a2135; --line: #263049;
  --text: #eef1f8; --muted: #8a93a8; --accent: #37c6ff; --accent-2: #b56cff; --gold: #f2b63d;
  --pos: #22b55f; --neg: #e23b47; --warn: #e8bd2d;
  --c-bureaucrat: #7f8ca3; --c-cheater: #49d3d9; --c-gambler: #f2b63d; --c-inventor: #67d36b; --c-protector: #4d8cff; --c-rebel: #ff5c5c;
  --radius: 12px; --shadow: 0 10px 30px rgba(0, 0, 0, .35);
  --t-fast: 140ms; --t-med: 260ms;
  --tap: 44px;
}
* { box-sizing: border-box; }
html { background: var(--bg); color-scheme: dark; }
body {
  margin: 0; min-height: 100vh; color: var(--text);
  background: radial-gradient(1200px 600px at 50% -200px, #182046 0%, var(--bg) 60%) fixed;
  font: 15px/1.4 system-ui, -apple-system, "Segoe UI", Roboto, Inter, sans-serif;
  -webkit-font-smoothing: antialiased; overflow-x: hidden;
}
button, input, textarea, select { font: inherit; color: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
[hidden] { display: none !important; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.icon-btn { width: 40px; height: 40px; border-radius: 10px; border: 1px solid transparent; background: transparent; font-size: 20px; display: grid; place-items: center; transition: background var(--t-fast), border-color var(--t-fast), transform var(--t-fast); }
.icon-btn:hover, .icon-btn:focus-visible { background: var(--panel); border-color: var(--line); outline: none; }
.icon-btn[aria-pressed="true"] { background: var(--panel-2); border-color: var(--accent); }
.icon-btn:active { transform: scale(.94); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 1ms !important; transition-duration: 1ms !important; } }
