/* Édition 51 — source centrale des tokens partagés.
   Les tokens --a28-* et --ui22-* restent locaux à leurs composants historiques. */
:root {
  color-scheme: light;
  --cream: #f5f1e6;
  --ink: #193b31;
  --green: #205642;
  --lime: #dfe9ad;
  --muted: #52675c;
  --line: #d8dfd1;
  --paper: #fffdf7;
  --gold: #b77a2c;
  --surface: #fffdf7;
  --surface-hi: #ffffff;
  --surface-low: rgba(25, 59, 49, .08);
  --accent: #205642;
  --accent-container: #dfe9ad;
  --glass: rgba(255, 253, 247, .78);
  --shadow-soft: 0 16px 42px rgba(25, 59, 49, .10), inset 0 1px rgba(255, 255, 255, .82);

  --radius-sm: 7px;
  --radius-md: 13px;
  --radius-lg: 24px;
  --radius-pill: 999px;
  --touch-target: 48px;
  --control-min-height: 50px;
  --focus-ring: 3px solid #b47a26;
  --base-font-family: ui-rounded, 'Trebuchet MS', system-ui, sans-serif;
  --display-font-family: var(--base-font-family);
  --motion-duration-fast: 150ms;
  --motion-duration: 250ms;
  --motion-duration-slow: 600ms;
  --motion-easing: ease-out;
  --motion-transition: transform var(--motion-duration) var(--motion-easing), opacity var(--motion-duration) var(--motion-easing);

  /* Compatibilité avec les tokens v51 déjà consommés par le splash. */
  --v51-motion-duration: var(--motion-duration);
  --v51-motion-easing: var(--motion-easing);
  --v51-motion-transition: var(--motion-transition);
  --v51-touch-target: var(--touch-target);
  --v51-focus-ring: var(--focus-ring);
  --v51-splash-surface: var(--paper);
  --v51-splash-ink: var(--ink);
  --v51-splash-muted: var(--muted);
}

html[data-appearance="cream"] {
  color-scheme: light;
}
html[data-appearance="dark"] {
  color-scheme: dark;
  --cream: #0d0d0d;
  --ink: rgba(255,255,255,.87);
  --green: #004d40;
  --lime: #81c784;
  --muted: rgba(255,255,255,.60);
  --line: transparent;
  --paper: #151515;
  --gold: #81c784;
  --surface: #151515;
  --surface-hi: #2a2a2a;
  --surface-low: rgba(0,0,0,.4);
  --accent: #81c784;
  --accent-container: #004d40;
  --focus-ring: 3px solid #81c784;
  --v51-focus-ring: var(--focus-ring);
  --v51-splash-surface: var(--paper);
  --v51-splash-ink: var(--ink);
  --v51-splash-muted: var(--muted);
}
html[data-appearance="glass"] {
  color-scheme: dark;
  --cream: #0b426f;
  --ink: #fff;
  --green: #a9f5d8;
  --lime: #b8ffdc;
  --muted: rgba(255,255,255,.78);
  --line: rgba(255,255,255,.25);
  --paper: rgba(255,255,255,.13);
  --surface: rgba(255,255,255,.12);
  --accent: #a9f5d8;
  --accent-container: #12567a;
  --focus-ring: 3px solid #e1fff2;
  --v51-focus-ring: var(--focus-ring);
  --v51-splash-surface: #f5fbf7;
  --v51-splash-ink: #163e31;
  --v51-splash-muted: #385b4b;
}
html[data-appearance="brutal"] {
  color-scheme: light;
  --cream: #fff8dc;
  --ink: #111;
  --green: #ffd000;
  --lime: #39ff14;
  --muted: #3c3420;
  --line: #111;
  --paper: #fff;
  --surface: #fff;
  --accent: #ffd000;
  --accent-container: #fff8dc;
  --focus-ring: 3px solid #111;
  --v51-focus-ring: var(--focus-ring);
  --v51-splash-surface: #fff4b6;
  --v51-splash-ink: #171717;
  --v51-splash-muted: #343015;
}

/* Centralized CSS custom properties relocated from their former stylesheets. */

/* from theme.css */
html[data-appearance="dark"]{--shadow-raised: -6px -6px 12px #2A2A2A, 8px 8px 16px rgba(0,0,0,.4);--shadow-inset: inset -4px -4px 9px rgba(42,42,42,.72), inset 5px 5px 10px rgba(0,0,0,.52);}
html[data-appearance="dark"]{--shadow-inset: inset -6px -6px 12px #2A2A2A, inset 8px 8px 16px rgba(0,0,0,.40);}

/* from ux.css */
:root{--ux-paper: #f6f3e9;--ux-ink: #163d31;--ux-muted: #52675c;--ux-accent: #174e3c;--ux-line: rgba(22,61,49,.12);--ux-raised: -5px -5px 12px rgba(255,255,255,.94), 7px 7px 16px rgba(22,61,49,.15);--ux-inset: inset -3px -3px 8px rgba(255,255,255,.8), inset 4px 4px 9px rgba(22,61,49,.13);--ux-danger: #a23b32;}
html[data-appearance="dark"], html[data-theme="dark"]{--ux-paper: #151515;--ux-ink: rgba(255,255,255,.9);--ux-muted: rgba(255,255,255,.64);--ux-accent: #004d40;--ux-line: rgba(255,255,255,.09);--ux-raised: -5px -5px 11px #292929, 7px 7px 16px rgba(0,0,0,.48);--ux-inset: inset -3px -3px 8px rgba(42,42,42,.75), inset 4px 4px 9px rgba(0,0,0,.48);--ux-danger: #ffb4ab;}

/* from ui19.css */
html[data-appearance="glass"]{--ux-paper:#154c80;--ux-ink:#fff;--ux-muted:#d1e5f1;--ux-accent:#c4ffe5;--ux-line:rgba(255,255,255,.3);--ux-raised:0 8px 22px rgba(0,20,60,.25);--ux-inset:inset 0 2px 6px rgba(0,20,60,.18);--ux-danger:#ffd0c8;}
html[data-appearance="brutal"]{--ux-paper:#fff;--ux-ink:#111;--ux-muted:#3c3420;--ux-accent:#111;--ux-line:#111;--ux-raised:4px 4px 0 #111;--ux-inset:inset 0 0 0 1px #111;--ux-danger:#a23b32;}

/* from ui20.css */
:root{--ui20-plate:0 2px 0 rgba(65,88,60,.09),0 9px 0 rgba(215,224,204,.62),0 18px 34px rgba(35,58,42,.12),inset 0 1px 0 rgba(255,255,255,.95);--ui20-well:inset 0 2px 7px rgba(35,58,42,.1),0 1px 0 rgba(255,255,255,.9);}
html[data-appearance="dark"]{--ui20-plate:0 7px 0 #080a09,0 20px 36px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.065);--ui20-well:inset 0 3px 8px rgba(0,0,0,.4),0 1px 0 rgba(255,255,255,.045);}
html[data-appearance="glass"]{--ui20-plate:0 6px 0 rgba(2,24,65,.18),0 20px 36px rgba(2,24,65,.32),inset 0 1px 0 rgba(255,255,255,.48);--ui20-well:inset 0 3px 8px rgba(2,24,65,.25),0 1px 0 rgba(255,255,255,.28);}
html[data-appearance="brutal"]{--ui20-plate:6px 8px 0 #111;--ui20-well:inset 0 2px 0 rgba(0,0,0,.12);}

/* from ui22.css */
:is(html:not([data-appearance]), html[data-appearance="cream"]){--ui22-edge: #174e3c;--ui22-shadow: #163d31;--ui22-highlight: #fff;}
html[data-appearance="dark"]{--ui22-edge: #81c784;--ui22-shadow: #000;--ui22-highlight: #fff;}
html[data-appearance="glass"]{--ui22-edge: #fff;--ui22-shadow: #041853;--ui22-highlight: #fff;}

/* from link23.css */
#link-panel{--link23-paper: var(--paper);--link23-soft: var(--cream);--link23-ink: var(--ink);--link23-muted: var(--muted);--link23-primary: var(--green);--link23-primary-ink: #fff;--link23-edge: var(--ui22-edge, #111);--link23-shadow: var(--ui22-shadow, #111);--link23-focus: var(--ui22-edge, #111);--link23-danger-bg: #fff0ed;--link23-danger-ink: #8b3125;}
html[data-appearance="dark"] #link-panel{--link23-soft: var(--surface-hi);--link23-danger-bg: #4c2523;--link23-danger-ink: #ffd9d2;}
html[data-appearance="glass"] #link-panel{--link23-paper: var(--cream);--link23-soft: var(--paper);--link23-muted: var(--ink);--link23-primary-ink: #062e45;--link23-danger-bg: #4c2523;--link23-danger-ink: #ffd9d2;}
html[data-appearance="brutal"] #link-panel{--link23-primary-ink: var(--ink);}

/* from covered26.css */
#covered26{--amc26-edge:var(--ui22-edge,var(--ink));--amc26-shadow:var(--ui22-shadow,var(--ink));--amc26-surface:var(--paper);}
html[data-appearance="glass"] #covered26{--amc26-surface:#092b54;}

/* from appearance28.css */
#link-panel,
#team-link24-lobby,
#covered-link26-lobby{--paper: #fffef8;--cream: #f6f3e9;--ink: #163d31;--muted: #536559;--green: #174e3c;--gold: #174e3c;--ui22-edge: #174e3c;--ui22-shadow: #163d31;--a28-soft: #f6f3e9;--a28-accent: #174e3c;--a28-on-accent: #fff;--a28-edge: #174e3c;--a28-shadow: #163d31;}
html[data-appearance="dark"] #link-panel,
html[data-appearance="dark"] #team-link24-lobby,
html[data-appearance="dark"] #covered-link26-lobby{--paper: #151515;--cream: #0d0d0d;--ink: #ededed;--muted: #c2c9c4;--green: #004d40;--gold: #81c784;--ui22-edge: #81c784;--ui22-shadow: #000;--a28-soft: #2a2a2a;--a28-accent: #004d40;--a28-on-accent: #fff;--a28-edge: #81c784;--a28-shadow: #000;}
html[data-appearance="glass"] #link-panel,
html[data-appearance="glass"] #team-link24-lobby,
html[data-appearance="glass"] #covered-link26-lobby{--paper: #0b426f;--cream: #087e9b;--ink: #fff;--muted: #e4f3f5;--green: #a9f5d8;--gold: #a9f5d8;--ui22-edge: #fff;--ui22-shadow: #041853;--a28-soft: #12567a;--a28-accent: #a9f5d8;--a28-on-accent: #062e45;--a28-edge: #fff;--a28-shadow: #041853;}
html[data-appearance="brutal"] #link-panel,
html[data-appearance="brutal"] #team-link24-lobby,
html[data-appearance="brutal"] #covered-link26-lobby{--paper: #fff;--cream: #fff8dc;--ink: #111;--muted: #3c3420;--green: #ffd000;--gold: #111;--ui22-edge: #111;--ui22-shadow: #111;--a28-soft: #fff8dc;--a28-accent: #ffd000;--a28-on-accent: #111;--a28-edge: #111;--a28-shadow: #111;}
:root{--a28-global-paper: #fffef8;--a28-global-soft: #f6f3e9;--a28-global-ink: #163d31;--a28-global-muted: #536559;--a28-global-edge: #174e3c;--a28-global-focus: #174e3c;}
html[data-appearance="brutal"]{--a28-global-paper: #fff;--a28-global-soft: #fff8dc;--a28-global-ink: #111;--a28-global-muted: #3c3420;--a28-global-edge: #111;--a28-global-focus: #111;}
html[data-appearance="dark"]{--a28-global-paper: #151515;--a28-global-soft: #2a2a2a;--a28-global-ink: #ededed;--a28-global-muted: #c2c9c4;--a28-global-edge: #81c784;--a28-global-focus: #81c784;}
html[data-appearance="glass"]{--a28-global-paper: #0b426f;--a28-global-soft: #12567a;--a28-global-ink: #fff;--a28-global-muted: #e4f3f5;--a28-global-edge: #fff;--a28-global-focus: #fff;}

/* from diagnostic28.css */
.linkdiag28-card{--ld28-paper: var(--paper, #fff);--ld28-ink: var(--ink, #111);--ld28-muted: var(--muted, #514a3d);--ld28-edge: var(--lime, var(--accent, #174e3c));--ld28-accent: var(--accent, #ffd000);--ld28-good: #174e3c;--ld28-good-bg: #e8f5e9;--ld28-bad: #823a20;--ld28-bad-bg: #fff0e5;}
html[data-appearance="dark"] .linkdiag28-card{--ld28-good: #b9eac0;--ld28-good-bg: #20382d;--ld28-bad: #ffd9d2;--ld28-bad-bg: #4c2523;}
html[data-appearance="glass"] .linkdiag28-card{--ld28-edge: var(--lime, #fff);--ld28-good: #c6fbdc;--ld28-good-bg: #124f56;--ld28-bad: #ffd9d2;--ld28-bad-bg: #4c2523;}

/* from link29.css */
.appui-picker-shade[data-link-picker29]{--ux-paper:var(--a28-global-paper);--ux-ink:var(--a28-global-ink);--ux-muted:var(--a28-global-muted);--ux-line:var(--a28-global-edge);--ux-accent:var(--a28-global-ink);}

/* from theme-refine30.css */
html[data-appearance="dark"]{--ui22-highlight: #2a2a2a;--shadow-raised: 6px 6px 0 #000;--shadow-inset: inset 0 0 0 1px #2a2a2a, 1px 1px 0 #000;}
html[data-appearance="glass"]{--ui22-highlight: #12567a;--a30-matte: #0b426f;--a30-matte-soft: #12567a;}

/* from game-motion31.css */
:where(.tu-countdown) .tu-countdown-number,
#taboo-countdown .countdown-number{--orbit31-beam: #26785a;--orbit31-head: #d9efb5;--orbit31-tail: rgba(38, 120, 90, .24);--orbit31-track: rgba(38, 120, 90, .16);}
html:not([data-appearance]) #taboo-countdown .countdown-number,
html[data-appearance="cream"] #taboo-countdown .countdown-number{--orbit31-beam: #c9eaa8;--orbit31-head: #fffdf4;--orbit31-tail: rgba(201, 234, 168, .25);--orbit31-track: rgba(201, 234, 168, .22);}
html[data-appearance="dark"] :is(.tu-countdown-number, #taboo-countdown .countdown-number){--orbit31-beam: #81c784;--orbit31-head: #e0f4d5;--orbit31-tail: rgba(129, 199, 132, .25);--orbit31-track: rgba(129, 199, 132, .2);}
html[data-appearance="glass"] :is(.tu-countdown-number, #taboo-countdown .countdown-number){--orbit31-beam: #a9f5d8;--orbit31-head: #ffffff;--orbit31-tail: rgba(169, 245, 216, .26);--orbit31-track: rgba(169, 245, 216, .23);}
html[data-appearance="brutal"] :is(.tu-countdown-number, #taboo-countdown .countdown-number){--orbit31-beam: #d89b16;--orbit31-head: #ffdf55;--orbit31-tail: rgba(216, 155, 22, .28);--orbit31-track: rgba(17, 17, 17, .13);}

/* from mode-rules32.css */
:root{--rules32-fill: #174e3c;--rules32-ink: #fff;--rules32-edge: #174e3c;--rules32-shadow: #163d31;}
html[data-appearance="dark"]{--rules32-fill: #81c784;--rules32-ink: #0d0d0d;--rules32-edge: #0d0d0d;--rules32-shadow: #000;}
html[data-appearance="glass"]{--rules32-fill: #c4ffe5;--rules32-ink: #154c80;--rules32-edge: #041853;--rules32-shadow: #041853;}
html[data-appearance="brutal"]{--rules32-fill: #ffd000;--rules32-ink: #111;--rules32-edge: #111;--rules32-shadow: #111;}

/* from special-modes48.css */
#mode-duo46{--mode-accent48: #28664b;}
#mode-solo46{--mode-accent48: #a86822;}
#mode-teams46{--mode-accent48: #3a6470;}
#mode-timesup46{--mode-accent48: #a94e39;}
#mode-relay46{--mode-accent48: #426846;}
#mode-duel46{--mode-accent48: #65528a;}
#mode-covered26{--mode-accent48: #dceca1;}
#home .pending-mode48 .pending-logo48{--mode-accent48: #65528a;}

/* from cercle-secret50.css */
:root{--cs50-ink:#eaf1eb;--cs50-soft:#b9c9c0;--cs50-dim:#8da39a;--cs50-night:#07151a;--cs50-slate:#0e252b;--cs50-deep:#123b35;--cs50-panel:rgba(14,35,40,.91);--cs50-panel-2:rgba(17,48,45,.78);--cs50-line:rgba(193,221,207,.18);--cs50-line-strong:rgba(193,221,207,.33);--cs50-lunar:#edf0d8;--cs50-copper:#d4a47d;--cs50-order:#9fd0ba;--cs50-chaos:#df9c83;--cs50-focus:#f1c789;}
#cercle-secret50-screen #cercle-secret50-root .cs50-shell{--a28-global-muted:var(--cs50-soft);--muted:var(--cs50-soft);--cs-bg:var(--cs50-night);--cs-panel:var(--cs50-panel);--cs-line:var(--cs50-line);--cs-muted:var(--cs50-dim);--cs-lime:var(--cs50-lunar);--cs-copper:var(--cs50-copper);--cs-order:var(--cs50-order);--cs-chaos:var(--cs50-chaos);}
#home #mode-cercle-secret50{--mode-accent48:#916239;}
html .app #home .special-mode-grid48 button#mode-undercover48.mode-card.special-mode-card48{--mode-accent48:#b9d5dc;}
html .app #home .special-mode-grid48 button#mode-identities48.mode-card.special-mode-card48{--mode-accent48:#d8c6ea;}
html .app #home .special-mode-grid48 button#mode-cercle-secret50.mode-card.special-mode-card48{--mode-accent48:#e7c894;}

/* from motion51.css */
:root{--motion51-duration: 250ms;--motion51-ease: ease-out;--motion51-enter-offset: 8px;}
@media (prefers-reduced-motion: reduce){:root{--motion51-duration: 1ms;--motion51-enter-offset: 0;}}
html[data-motion="reduce"]{--motion51-duration: 1ms;--motion51-enter-offset: 0;}
