/* gcp:css/tokens.css v0.635 */
: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;
  --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");
}
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="white"] {
  --bg: #ffffff; --bg-deep: #f1f5f9; --bg-mid: #f8fafc;
  --surface: #ffffff; --surface-2: #e2e8f0;
  --fg: #0f172a; --muted: #64748b;
  --accent: #2563eb; --accent-fg: #ffffff; --border: #e2e8f0;
  --felt: rgba(22, 101, 52, 0.22);
  --felt-cloth: #15803d;
  --felt-rail: #292524;
  --danger: #dc2626; --success: #16a34a; --warn: #d97706;
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
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; }
