/* gcp:css/tokens.css v0.1014 */
:root,
html[data-theme="midnight"] {
  --bg: #0f172a;
  --bg-deep: #0c1220;
  --bg-mid: #152033;
  --surface: #1e293b;
  --surface-2: #334155;
  --fg: #f1f5f9;
  --muted: #94a3b8;
  --accent: #38bdf8;
  --accent-fg: #0f172a;
  --border: #334155;
  --success: #4ade80;
  --danger: #f87171;
  --warn: #fbbf24;
  --felt: rgba(22, 101, 52, 0.32);
  --felt-cloth: #1a6b3c;
  --felt-rail: #2a1810;
  --team-us: #38bdf8;
  --team-them: #fb923c;
  --card-face: #fffef8;
  --card-edge: #c8c8c8;
  --table-scale: 1;
  --ui-scale: 1;
  --card-scale: 1;
  --hand-size: 1;
  --felt-size: 1.25;
  --card-base-w: 60px;
  --card-base-h: 84px;
  --card-w: calc(var(--card-base-w) * var(--table-scale));
  --card-h: calc(var(--card-base-h) * var(--table-scale));
  --card-mini-w: var(--card-w);
  --card-mini-h: var(--card-h);
  --type-xs: calc(10px * var(--ui-scale));
  --type-sm: calc(12px * var(--ui-scale));
  --type-md: calc(14px * var(--ui-scale));
  --type-lg: calc(16px * var(--ui-scale));
  --type-xl: calc(20px * var(--ui-scale));
  --space-1: calc(4px * var(--ui-scale));
  --space-2: calc(8px * var(--ui-scale));
  --space-3: calc(12px * var(--ui-scale));
  --tap: max(32px, calc(38px * var(--ui-scale)));
  --radius: 12px;
  --motion-quick: 150ms;
  --motion-fast: 250ms;
  --gulf-wave: url("../brand/gulf-wave.svg");
  --sat: env(safe-area-inset-top, 0px);
  --sar: env(safe-area-inset-right, 0px);
  --sab: env(safe-area-inset-bottom, 0px);
  --sal: env(safe-area-inset-left, 0px);
}
html[data-theme="emerald"] {
  --bg: #052e1c; --bg-deep: #031a10; --bg-mid: #0a3d28;
  --surface: #064e3b; --surface-2: #065f46;
  --fg: #ecfdf5; --muted: #6ee7b7;
  --accent: #34d399; --accent-fg: #052e1c; --border: #065f46;
  --felt: rgba(16, 185, 129, 0.32);
  --felt-cloth: #047857;
  --felt-rail: #052e1c;
}
html[data-theme="royal"] {
  --bg: #1e1033; --bg-deep: #12091f; --bg-mid: #2a1648;
  --surface: #2e1065; --surface-2: #4c1d95;
  --fg: #f5f3ff; --muted: #c4b5fd;
  --accent: #a78bfa; --accent-fg: #1e1033; --border: #4c1d95;
  --felt: rgba(124, 58, 237, 0.28);
  --felt-cloth: #4c1d95;
  --felt-rail: #1a0d2e;
}
html[data-theme="sunset"] {
  --bg: #1c1008; --bg-deep: #120a04; --bg-mid: #2a180c;
  --surface: #3b1f0e; --surface-2: #5c2e12;
  --fg: #fff7ed; --muted: #fdba74;
  --accent: #fb923c; --accent-fg: #1c1008; --border: #5c2e12;
  --felt: rgba(234, 88, 12, 0.26);
  --felt-cloth: #9a3412;
  --felt-rail: #1c1008;
}
html[data-theme="gold"],
html[data-theme="crimson"] {
  --bg: #1c1406; --bg-deep: #120c04; --bg-mid: #2a1c08;
  --surface: #3d2a0c; --surface-2: #5c3d10;
  --fg: #fffbeb; --muted: #fcd34d;
  --accent: #facc15; --accent-fg: #1c1406; --border: #78530f;
  --felt: rgba(202, 138, 4, 0.28);
  --felt-cloth: #4d7c0f;
  --felt-rail: #1c1406;
  --warn: #fde68a;
}
html[data-theme="diwaniya"] {
  --bg: #e4d5bc;
  --bg-deep: #cbb89a;
  --bg-mid: #efe4d0;
  --surface: #f6eee0;
  --surface-2: #ddccb0;
  --fg: #24180f;
  --muted: #5c4634;
  --accent: #2f6b45;
  --accent-fg: #f6eee0;
  --border: #b39470;
  --success: #166534;
  --danger: #b91c1c;
  --warn: #b45309;
  --felt: rgba(47, 107, 69, 0.28);
  --felt-cloth: #2f6b45;
  --felt-rail: #7a4e2a;
  --felt-ink: #f4efe4;
  --team-us: #1e4e6a;
  --team-them: #c2410c;
  --card-face: #fffdf4;
  --card-edge: #5c4634;
}
html[data-theme="diwbrown"] {
  --bg: #1c140e;
  --bg-deep: #120c08;
  --bg-mid: #2a1c14;
  --surface: #3a281c;
  --surface-2: #4e3826;
  --fg: #f4e8d4;
  --muted: #c4a574;
  --accent: #3d8a58;
  --accent-fg: #f6eee0;
  --border: #6b4a30;
  --success: #4ade80;
  --danger: #f87171;
  --warn: #eab308;
  --felt: rgba(47, 107, 69, 0.32);
  --felt-cloth: #2f6b45;
  --felt-rail: #5c3317;
  --felt-ink: #f4efe4;
  --team-us: #7eb8c9;
  --team-them: #fb923c;
  --card-face: #fffdf4;
  --card-edge: #c8b89a;
}
html[data-theme="white"] {
  --bg: #e6edf5;
  --bg-deep: #cfd8e6;
  --bg-mid: #f3f6fb;
  --surface: #ffffff;
  --surface-2: #d5deea;
  --fg: #0b1220;
  --muted: #3b4d63;
  --accent: #1d4ed8;
  --accent-fg: #ffffff;
  --border: #7b8ea4;
  --felt: rgba(21, 128, 61, 0.28);
  --felt-cloth: #157a3a;
  --felt-rail: #1c1917;
  --felt-ink: #f4f1e8;
  --danger: #b91c1c;
  --success: #15803d;
  --warn: #b45309;
  --card-face: #fffdf6;
  --card-edge: #4b5563;
  --team-us: #1d4ed8;
  --team-them: #c2410c;
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
* {
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--fg) 32%, var(--surface)) var(--bg-deep);
}
*::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
*::-webkit-scrollbar-track {
  background: var(--bg-deep);
}
*::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--fg) 28%, var(--surface));
  border-radius: 999px;
  border: 2px solid var(--bg-deep);
}
*::-webkit-scrollbar-thumb:hover {
  background: color-mix(in srgb, var(--fg) 42%, var(--surface));
}
*::-webkit-scrollbar-corner {
  background: var(--bg-deep);
}
html, body {
  margin: 0;
  min-height: 100%;
  min-height: 100dvh;
  background: var(--bg);
  color: var(--fg);
  font-family: "IBM Plex Sans Arabic", "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;
}
button { font-family: inherit; cursor: pointer; }
button:disabled { cursor: default; }
.hidden { display: none !important; }
