/* theme.css — tokeny motywu szachów. Ciemny: gabinet wieczorem (mosiądz na orzechu).
   Jasny: gabinet za dnia (mosiądz na pergaminie). Jedna drabina promieni (10/14/18)
   i odstępów (6/10/16/24), jedno światło z góry: jasna krawędź u góry, własny cień
   u dołu, cień rzucony niżej (§1h). */
:root {
  --font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --serif: Georgia, "Times New Roman", "Noto Serif", "DejaVu Serif", serif;
  --r-s: 10px; --r-m: 14px; --r-l: 18px;
  --sp-1: 6px; --sp-2: 10px; --sp-3: 16px; --sp-4: 24px;
  --t-fast: 140ms; --t-med: 220ms;
  --ease: cubic-bezier(.2, .8, .2, 1);
}
body[data-theme="dark"] {
  --bg: #140c06;
  --veil: rgba(16, 9, 4, .6);
  --card: #24160c;
  --card-2: #2e1d10;
  --card-3: #3a2515;
  --bar: rgba(26, 16, 8, .82);
  --edge: rgba(214, 170, 82, .24);
  --edge-strong: rgba(214, 170, 82, .5);
  --text: #f6ecd8;
  --text-2: #d6c3a4;
  --text-3: #a88f6d;
  --gold: #d6aa52;
  --gold-2: #f2d38b;
  --gold-3: #a37a2f;
  --gold-ink: #2a1a06;
  --red: #ff8d7a;
  --good: #8fd6a3;
  --lift: inset 0 1px 0 rgba(255, 230, 190, .10), inset 0 -2px 0 rgba(0, 0, 0, .3), 0 10px 26px rgba(0, 0, 0, .5);
  --lift-s: inset 0 1px 0 rgba(255, 230, 190, .10), inset 0 -2px 0 rgba(0, 0, 0, .28), 0 4px 12px rgba(0, 0, 0, .38);
  --track: rgba(255, 240, 210, .12);
  color-scheme: dark;
}
body[data-theme="light"] {
  --bg: #efe4cf;
  --veil: rgba(240, 229, 207, .64);
  --card: #fbf5e8;
  --card-2: #f3e9d4;
  --card-3: #e8dbc0;
  --bar: rgba(251, 245, 232, .92);
  --edge: rgba(130, 90, 30, .24);
  --edge-strong: rgba(130, 90, 30, .46);
  --text: #2a1a0c;
  --text-2: #5a4128;
  --text-3: #7d6344;
  --gold: #b88630;
  --gold-2: #e3b862;
  --gold-3: #8a5f1c;
  --gold-ink: #fffaf0;
  --red: #b8321f;
  --good: #2f8a4f;
  --lift: inset 0 1px 0 rgba(255, 255, 255, .95), inset 0 -2px 0 rgba(120, 80, 20, .1), 0 10px 24px rgba(60, 35, 10, .2);
  --lift-s: inset 0 1px 0 rgba(255, 255, 255, .95), inset 0 -2px 0 rgba(120, 80, 20, .1), 0 4px 10px rgba(60, 35, 10, .16);
  --track: rgba(60, 35, 10, .12);
  color-scheme: light;
}
*, *::before, *::after { box-sizing: border-box; }
html, body {
  margin: 0; height: 100%; overflow: hidden; background: var(--bg); color: var(--text);
  font-family: var(--font); -webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none; user-select: none; overscroll-behavior: none; touch-action: manipulation;
}
button { font: inherit; color: inherit; }
.ic { width: 22px; height: 22px; flex: none; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
