/* Généré depuis public/themes.mjs — ne pas modifier à la main. */
:root, :root[data-theme='nuit'] {
  color-scheme: dark;
  --bg: #07110d;
  --bg-2: #0b1813;
  --card: rgba(18, 34, 27, 0.82);
  --card-2: #13251d;
  --sheet: #0e1c16;
  --bar: rgba(7, 17, 13, 0.92);
  --line: rgba(255, 255, 255, 0.08);
  --line-2: rgba(255, 255, 255, 0.14);
  --ink: #eef5ee;
  --muted: #8ea79a;
  --accent: #d7ff3f;
  --on-accent: #0b1400;
  --accent-text: #d7ff3f;
  --warn: #ffb020;
  --on-warn: #1a1000;
  --danger: #ff4d5e;
  --ok: #6dffb0;
  --ring-bg: rgba(255, 255, 255, 0.07);
  --glow: rgba(215, 255, 63, 0.08);
  --grid: rgba(255, 255, 255, 0.025);
}
:root[data-theme='gazon'] {
  color-scheme: dark;
  --bg: #0f3d22;
  --bg-2: #14492a;
  --card: rgba(26, 90, 52, 0.86);
  --card-2: #1e6139;
  --sheet: #154a2c;
  --bar: rgba(15, 61, 34, 0.94);
  --line: rgba(255, 255, 255, 0.12);
  --line-2: rgba(255, 255, 255, 0.24);
  --ink: #ffffff;
  --muted: #cde8d3;
  --accent: #ffe14d;
  --on-accent: #1f1a00;
  --accent-text: #ffe14d;
  --warn: #ffc35c;
  --on-warn: #1f1400;
  --danger: #ffc4ca;
  --ok: #a8ffd0;
  --ring-bg: rgba(255, 255, 255, 0.14);
  --glow: rgba(255, 225, 77, 0.08);
  --grid: rgba(255, 255, 255, 0.05);
}
:root[data-theme='craie'] {
  color-scheme: light;
  --bg: #f5f3ec;
  --bg-2: #fbfaf6;
  --card: rgba(255, 255, 255, 0.94);
  --card-2: #ebe8de;
  --sheet: #ffffff;
  --bar: rgba(245, 243, 236, 0.96);
  --line: rgba(20, 30, 25, 0.14);
  --line-2: rgba(20, 30, 25, 0.28);
  --ink: #17201b;
  --muted: #4b5750;
  --accent: #2f6b12;
  --on-accent: #ffffff;
  --accent-text: #2f6b12;
  --warn: #8a5200;
  --on-warn: #ffffff;
  --danger: #b0122a;
  --ok: #0d6b35;
  --ring-bg: rgba(0, 0, 0, 0.1);
  --glow: rgba(47, 107, 18, 0.05);
  --grid: rgba(0, 0, 0, 0.03);
}
:root[data-theme='plein-soleil'] {
  color-scheme: light;
  --bg: #ffffff;
  --bg-2: #ffffff;
  --card: #ffffff;
  --card-2: #e6e6e6;
  --sheet: #ffffff;
  --bar: rgba(255, 255, 255, 0.97);
  --line: rgba(0, 0, 0, 0.3);
  --line-2: rgba(0, 0, 0, 0.55);
  --ink: #000000;
  --muted: #1f1f1f;
  --accent: #174d00;
  --on-accent: #ffffff;
  --accent-text: #174d00;
  --warn: #6b3d00;
  --on-warn: #ffffff;
  --danger: #9e0016;
  --ok: #005c26;
  --ring-bg: rgba(0, 0, 0, 0.14);
  --glow: rgba(0, 0, 0, 0);
  --grid: rgba(0, 0, 0, 0);
}
:root[data-theme='raso'] {
  color-scheme: dark;
  --bg: #0a0a0a;
  --bg-2: #111111;
  --card: rgba(24, 24, 24, 0.9);
  --card-2: #1f1f1f;
  --sheet: #141414;
  --bar: rgba(10, 10, 10, 0.94);
  --line: rgba(255, 255, 255, 0.1);
  --line-2: rgba(255, 255, 255, 0.18);
  --ink: #ffffff;
  --muted: #b3b3b3;
  --accent: #d7ff3f;
  --on-accent: #0a0a0a;
  --accent-text: #d7ff3f;
  --warn: #ffb020;
  --on-warn: #1a1000;
  --danger: #ff6b78;
  --ok: #6dffb0;
  --ring-bg: rgba(255, 255, 255, 0.08);
  --glow: rgba(215, 255, 63, 0.06);
  --grid: rgba(255, 255, 255, 0);
}
:root[data-theme='plage'] {
  color-scheme: light;
  --bg: #f6ecd9;
  --bg-2: #fbf5ea;
  --card: rgba(255, 251, 243, 0.95);
  --card-2: #efe2c8;
  --sheet: #fffaf1;
  --bar: rgba(246, 236, 217, 0.96);
  --line: rgba(16, 40, 58, 0.15);
  --line-2: rgba(16, 40, 58, 0.3);
  --ink: #10283a;
  --muted: #475866;
  --accent: #0a6f93;
  --on-accent: #ffffff;
  --accent-text: #0a6788;
  --warn: #8a5200;
  --on-warn: #ffffff;
  --danger: #b0122a;
  --ok: #0d6b35;
  --ring-bg: rgba(16, 40, 58, 0.1);
  --glow: rgba(10, 111, 147, 0.06);
  --grid: rgba(16, 40, 58, 0.03);
}
:root[data-theme='salamandres'] {
  color-scheme: dark;
  --bg: #153f32;
  --bg-2: #102f26;
  --card: #254c3f;
  --card-2: #32574a;
  --sheet: #20483b;
  --bar: rgba(21, 63, 50, 0.95);
  --line: #426356;
  --line-2: #5d796c;
  --ink: #f7f4e8;
  --muted: #bcc4b9;
  --accent: #f6c445;
  --on-accent: #000000;
  --accent-text: #f6c445;
  --warn: #ffc247;
  --on-warn: #000000;
  --danger: #ffacb3;
  --ok: #4ade80;
  --ring-bg: rgba(247, 244, 232, 0.12);
  --glow: rgba(246, 196, 69, 0.1);
  --grid: rgba(255, 255, 255, 0.02);
}
:root[data-theme='bellatrix'] {
  color-scheme: dark;
  --bg: #18382f;
  --bg-2: #122a23;
  --card: #27453c;
  --card-2: #345046;
  --sheet: #234138;
  --bar: rgba(24, 56, 47, 0.95);
  --line: #435c53;
  --line-2: #5d7268;
  --ink: #f1ede2;
  --muted: #b6bcb2;
  --accent: #aca678;
  --on-accent: #000000;
  --accent-text: #c1bc9a;
  --warn: #ffc247;
  --on-warn: #000000;
  --danger: #ff9fa7;
  --ok: #4ade80;
  --ring-bg: rgba(241, 237, 226, 0.12);
  --glow: rgba(172, 166, 120, 0.1);
  --grid: rgba(255, 255, 255, 0.02);
}
:root[data-theme='maasai'] {
  color-scheme: dark;
  --bg: #0b0b0b;
  --bg-2: #080808;
  --card: #1b1b1a;
  --card-2: #292827;
  --sheet: #171616;
  --bar: rgba(11, 11, 11, 0.95);
  --line: #393835;
  --line-2: #55534f;
  --ink: #f3eddf;
  --muted: #b2aea4;
  --accent: #c99b3c;
  --on-accent: #000000;
  --accent-text: #c99b3c;
  --warn: #ffc247;
  --on-warn: #000000;
  --danger: #ff7a85;
  --ok: #4ade80;
  --ring-bg: rgba(243, 237, 223, 0.12);
  --glow: rgba(201, 155, 60, 0.1);
  --grid: rgba(255, 255, 255, 0.02);
}
:root[data-theme='seagulls'] {
  color-scheme: dark;
  --bg: #081c35;
  --bg-2: #061528;
  --card: #182b43;
  --card-2: #26384e;
  --sheet: #14273f;
  --bar: rgba(8, 28, 53, 0.95);
  --line: #36475c;
  --line-2: #526073;
  --ink: #eef2f6;
  --muted: #aeb6c0;
  --accent: #d1ad51;
  --on-accent: #000000;
  --accent-text: #d1ad51;
  --warn: #ffc247;
  --on-warn: #000000;
  --danger: #ff7a85;
  --ok: #4ade80;
  --ring-bg: rgba(238, 242, 246, 0.12);
  --glow: rgba(209, 173, 81, 0.1);
  --grid: rgba(255, 255, 255, 0.02);
}
:root[data-theme='canners'] {
  color-scheme: dark;
  --bg: #090909;
  --bg-2: #070707;
  --card: #191918;
  --card-2: #272624;
  --sheet: #151413;
  --bar: rgba(9, 9, 9, 0.95);
  --line: #373633;
  --line-2: #53514c;
  --ink: #f1ead9;
  --muted: #b0ab9f;
  --accent: #d5ab45;
  --on-accent: #000000;
  --accent-text: #d5ab45;
  --warn: #ffc247;
  --on-warn: #000000;
  --danger: #ff7a85;
  --ok: #4ade80;
  --ring-bg: rgba(241, 234, 217, 0.12);
  --glow: rgba(213, 171, 69, 0.1);
  --grid: rgba(255, 255, 255, 0.02);
}
:root[data-theme='mavericks'] {
  color-scheme: dark;
  --bg: #1b3167;
  --bg-2: #14254d;
  --card: #2a3f71;
  --card-2: #364a7a;
  --sheet: #263b6e;
  --bar: rgba(27, 49, 103, 0.95);
  --line: #455884;
  --line-2: #5e6f95;
  --ink: #edf2f7;
  --muted: #b2bccf;
  --accent: #f5d53a;
  --on-accent: #000000;
  --accent-text: #f5d53a;
  --warn: #ffc247;
  --on-warn: #000000;
  --danger: #ffa2aa;
  --ok: #4ade80;
  --ring-bg: rgba(237, 242, 247, 0.12);
  --glow: rgba(245, 213, 58, 0.1);
  --grid: rgba(255, 255, 255, 0.02);
}
:root[data-theme='reapers'] {
  color-scheme: dark;
  --bg: #32152d;
  --bg-2: #261022;
  --card: #40243b;
  --card-2: #4b3147;
  --sheet: #3c2037;
  --bar: rgba(50, 21, 45, 0.95);
  --line: #594055;
  --line-2: #71596d;
  --ink: #f6eaf4;
  --muted: #bfaebc;
  --accent: #65c49b;
  --on-accent: #000000;
  --accent-text: #65c49b;
  --warn: #ffc247;
  --on-warn: #000000;
  --danger: #ff7a85;
  --ok: #4ade80;
  --ring-bg: rgba(246, 234, 244, 0.12);
  --glow: rgba(101, 196, 155, 0.1);
  --grid: rgba(255, 255, 255, 0.02);
}
:root[data-theme='citizens'] {
  color-scheme: dark;
  --bg: #5a3796;
  --bg-2: #442971;
  --card: #65449d;
  --card-2: #6e4fa3;
  --sheet: #62409b;
  --bar: rgba(90, 55, 150, 0.95);
  --line: #795caa;
  --line-2: #8c73b6;
  --ink: #ffffff;
  --muted: #ded6eb;
  --accent: #ffffff;
  --on-accent: #000000;
  --accent-text: #ffffff;
  --warn: #ffd47e;
  --on-warn: #000000;
  --danger: #ffcdd1;
  --ok: #97ecb6;
  --ring-bg: rgba(245, 241, 251, 0.12);
  --glow: rgba(255, 255, 255, 0.1);
  --grid: rgba(255, 255, 255, 0.02);
}
:root[data-theme='spicy-ducks-rose'] {
  color-scheme: dark;
  --bg: #321225;
  --bg-2: #260e1c;
  --card: #402234;
  --card-2: #4d2f40;
  --sheet: #3c1d30;
  --bar: rgba(50, 18, 37, 0.95);
  --line: #5b3f4f;
  --line-2: #745968;
  --ink: #fff1f7;
  --muted: #c6b3bc;
  --accent: #ec65a1;
  --on-accent: #000000;
  --accent-text: #ef7caf;
  --warn: #ffc247;
  --on-warn: #000000;
  --danger: #ff7a85;
  --ok: #4ade80;
  --ring-bg: rgba(255, 241, 247, 0.12);
  --glow: rgba(236, 101, 161, 0.1);
  --grid: rgba(255, 255, 255, 0.02);
}
:root[data-theme='spicy-ducks-orange'] {
  color-scheme: dark;
  --bg: #321c0e;
  --bg-2: #26150b;
  --card: #402b1d;
  --card-2: #4d382a;
  --sheet: #3c2719;
  --bar: rgba(50, 28, 14, 0.95);
  --line: #5b473a;
  --line-2: #746154;
  --ink: #fff4e9;
  --muted: #c6b8ac;
  --accent: #f18b3c;
  --on-accent: #000000;
  --accent-text: #f18e41;
  --warn: #ffc247;
  --on-warn: #000000;
  --danger: #ff818b;
  --ok: #4ade80;
  --ring-bg: rgba(255, 244, 233, 0.12);
  --glow: rgba(241, 139, 60, 0.1);
  --grid: rgba(255, 255, 255, 0.02);
}
:root[data-theme='black-pearlz'] {
  color-scheme: dark;
  --bg: #071a20;
  --bg-2: #051418;
  --card: #18282f;
  --card-2: #26353b;
  --sheet: #13242a;
  --bar: rgba(7, 26, 32, 0.95);
  --line: #37434a;
  --line-2: #535c63;
  --ink: #f5e9f1;
  --muted: #b2afb6;
  --accent: #27b3aa;
  --on-accent: #000000;
  --accent-text: #27b3aa;
  --warn: #ffc247;
  --on-warn: #000000;
  --danger: #ff7a85;
  --ok: #4ade80;
  --ring-bg: rgba(245, 233, 241, 0.12);
  --glow: rgba(39, 179, 170, 0.1);
  --grid: rgba(255, 255, 255, 0.02);
}
:root[data-theme='martinique'] {
  color-scheme: dark;
  --bg: #0d0d0d;
  --bg-2: #0a0a0a;
  --card: #1d1d1d;
  --card-2: #2b2b2a;
  --sheet: #191918;
  --bar: rgba(13, 13, 13, 0.95);
  --line: #3b3b3a;
  --line-2: #575755;
  --ink: #f5f3ee;
  --muted: #b4b3af;
  --accent: #c8102e;
  --on-accent: #ffffff;
  --accent-text: #de7082;
  --warn: #ffc247;
  --on-warn: #000000;
  --danger: #ff7a85;
  --ok: #4ade80;
  --ring-bg: rgba(245, 243, 238, 0.12);
  --glow: rgba(200, 16, 46, 0.1);
  --grid: rgba(255, 255, 255, 0.02);
}
:root[data-theme='maroc'] {
  color-scheme: dark;
  --bg: #b7312c;
  --bg-2: #892521;
  --card: #bc3f3a;
  --card-2: #c04b46;
  --sheet: #ba3b36;
  --bar: rgba(183, 49, 44, 0.95);
  --line: #c55853;
  --line-2: #cd706b;
  --ink: #ffffff;
  --muted: #fcf5f5;
  --accent: #006341;
  --on-accent: #ffffff;
  --accent-text: #f9fbfa;
  --warn: #fff6e3;
  --on-warn: #000000;
  --danger: #fff5f6;
  --ok: #edfcf2;
  --ring-bg: rgba(251, 246, 241, 0.12);
  --glow: rgba(0, 99, 65, 0.1);
  --grid: rgba(255, 255, 255, 0.02);
}
:root[data-theme='upgear'] {
  color-scheme: dark;
  --bg: #0e0e0e;
  --bg-2: #0b0b0b;
  --card: #1e1e1e;
  --card-2: #2c2c2c;
  --sheet: #1a1a1a;
  --bar: rgba(14, 14, 14, 0.95);
  --line: #3c3c3c;
  --line-2: #585858;
  --ink: #f4f4f4;
  --muted: #b4b4b4;
  --accent: #ffffff;
  --on-accent: #000000;
  --accent-text: #ffffff;
  --warn: #ffc247;
  --on-warn: #000000;
  --danger: #ff7a85;
  --ok: #4ade80;
  --ring-bg: rgba(244, 244, 244, 0.12);
  --glow: rgba(255, 255, 255, 0.1);
  --grid: rgba(255, 255, 255, 0.02);
}
:root[data-theme='craie'] .card, :root[data-theme='plein-soleil'] .card, :root[data-theme='plage'] .card, :root[data-theme='craie'] .board-team, :root[data-theme='plein-soleil'] .board-team, :root[data-theme='plage'] .board-team, :root[data-theme='craie'] .tabbar, :root[data-theme='plein-soleil'] .tabbar, :root[data-theme='plage'] .tabbar, :root[data-theme='craie'] .rasoflag, :root[data-theme='plein-soleil'] .rasoflag, :root[data-theme='plage'] .rasoflag { backdrop-filter: none; }
:root[data-theme='craie'] .banner.pause strong, :root[data-theme='plein-soleil'] .banner.pause strong, :root[data-theme='plage'] .banner.pause strong, :root[data-theme='craie'] .kind b, :root[data-theme='plein-soleil'] .kind b, :root[data-theme='plage'] .kind b, :root[data-theme='craie'] .game-clock strong, :root[data-theme='plein-soleil'] .game-clock strong, :root[data-theme='plage'] .game-clock strong, :root[data-theme='craie'] .board-game, :root[data-theme='plein-soleil'] .board-game, :root[data-theme='plage'] .board-game { color: var(--ink); }
:root[data-theme='craie'] .game-clock strong.running, :root[data-theme='plein-soleil'] .game-clock strong.running, :root[data-theme='plage'] .game-clock strong.running { text-shadow: none; }
:root[data-theme='craie'] input, :root[data-theme='plein-soleil'] input, :root[data-theme='plage'] input, :root[data-theme='craie'] select, :root[data-theme='plein-soleil'] select, :root[data-theme='plage'] select { background: var(--card); }
:root[data-theme='plein-soleil'] .team, :root[data-theme='plein-soleil'] .game-clock, :root[data-theme='plein-soleil'] .play-clock, :root[data-theme='plein-soleil'] .board-team, :root[data-theme='plein-soleil'] .card, :root[data-theme='plein-soleil'] .rule { border-width: 2px; }
:root[data-theme='plein-soleil'] .team::before { height: 8px; }
[data-swatch='nuit'] { --sw-a: #13251d; --sw-b: #d7ff3f; }
[data-swatch='gazon'] { --sw-a: #1e6139; --sw-b: #ffe14d; }
[data-swatch='craie'] { --sw-a: #ebe8de; --sw-b: #2f6b12; }
[data-swatch='plein-soleil'] { --sw-a: #e6e6e6; --sw-b: #174d00; }
[data-swatch='raso'] { --sw-a: #1f1f1f; --sw-b: #d7ff3f; }
[data-swatch='plage'] { --sw-a: #efe2c8; --sw-b: #0a6f93; }
[data-swatch='salamandres'] { --sw-a: #153f32; --sw-b: #f6c445; }
[data-swatch='bellatrix'] { --sw-a: #18382f; --sw-b: #aca678; }
[data-swatch='maasai'] { --sw-a: #0b0b0b; --sw-b: #c99b3c; }
[data-swatch='seagulls'] { --sw-a: #081c35; --sw-b: #d1ad51; }
[data-swatch='canners'] { --sw-a: #090909; --sw-b: #d5ab45; }
[data-swatch='mavericks'] { --sw-a: #1b3167; --sw-b: #f5d53a; }
[data-swatch='reapers'] { --sw-a: #32152d; --sw-b: #65c49b; }
[data-swatch='citizens'] { --sw-a: #5a3796; --sw-b: #ffffff; }
[data-swatch='spicy-ducks-rose'] { --sw-a: #321225; --sw-b: #ec65a1; }
[data-swatch='spicy-ducks-orange'] { --sw-a: #321c0e; --sw-b: #f18b3c; }
[data-swatch='black-pearlz'] { --sw-a: #071a20; --sw-b: #27b3aa; }
[data-swatch='martinique'] { --sw-a: #c8102e; --sw-b: #00843d; }
[data-swatch='maroc'] { --sw-a: #b7312c; --sw-b: #006341; }
[data-swatch='upgear'] { --sw-a: #0e0e0e; --sw-b: #ffffff; }
:root[data-theme='martinique'] .rasoflag, :root[data-theme='martinique'] .board-top { border-bottom: 4px solid transparent; border-image: linear-gradient(90deg, #c8102e 0% 33%, #00843d 33% 67%, #0d0d0d 67% 100%) 1; }
:root[data-theme='maroc'] .rasoflag, :root[data-theme='maroc'] .board-top { border-bottom: 4px solid transparent; border-image: linear-gradient(90deg, #b7312c 0% 50%, #006341 50% 100%) 1; }
:root[data-theme='upgear'] .brand-logo[data-brand='upgear'] { display: inline-block; -webkit-mask-image: url('/upgear-logo-horizontal.svg'); mask-image: url('/upgear-logo-horizontal.svg'); }
