/* Édition 20 — le poids se lit dans le relief, pas dans une nouvelle palette.
   Couche additive à charger après ui19.css : aucun contrôle fonctionnel modifié. */

/* Les surfaces ajoutées restent dans leur boîte et ne déplacent pas les voisins. */
:where(button, .appui-select-trigger, .tu-layout .tu-duration-preset,
       .settings-theme-option, .settings-close, .settings-trigger, .settings-done) {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}
:where(button, .appui-select-trigger, .tu-layout .tu-duration-preset,
       .settings-theme-option, .settings-close, .settings-trigger, .settings-done) {
  transition: transform .14s ease, box-shadow .16s ease, filter .16s ease;
}

/* Crème sculptée : céramique dense, petit talon d'ombre et lumière en bord haut. */
html:not([data-appearance]) :is(button:not(:disabled), .appui-select-trigger:not(:disabled), .tu-layout .tu-duration-preset),
html[data-appearance="cream"] :is(button:not(:disabled), .appui-select-trigger:not(:disabled), .tu-layout .tu-duration-preset) {
  box-shadow: 0 2px 0 rgba(48,76,53,.12), 0 6px 0 rgba(210,220,198,.78),
              0 11px 18px rgba(35,58,42,.10), inset 0 1px 0 rgba(255,255,255,.92);
}
html:not([data-appearance]) :is(button:active, button.ui20-pressed, .appui-select-trigger:active, .appui-select-trigger.ui20-pressed, .tu-layout .tu-duration-preset:active, .tu-layout .tu-duration-preset.ui20-pressed),
html[data-appearance="cream"] :is(button:active, button.ui20-pressed, .appui-select-trigger:active, .appui-select-trigger.ui20-pressed, .tu-layout .tu-duration-preset:active, .tu-layout .tu-duration-preset.ui20-pressed) {
  transform: translateY(3px);
  box-shadow: inset 0 2px 5px rgba(35,58,42,.16), inset 0 1px 0 rgba(255,255,255,.65),
              0 1px 1px rgba(35,58,42,.08);
}

/* Sombre sculpté : volume contenu, deux reflets doux plutôt qu'un halo dur. */
html[data-appearance="dark"] :is(button:not(:disabled), .appui-select-trigger:not(:disabled), .tu-layout .tu-duration-preset) {
  box-shadow: -2px -2px 5px rgba(255,255,255,.045), 0 4px 0 rgba(0,0,0,.30),
              0 8px 13px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.035);
}
html[data-appearance="dark"] :is(button:active, button.ui20-pressed, .appui-select-trigger:active, .appui-select-trigger.ui20-pressed, .tu-layout .tu-duration-preset:active, .tu-layout .tu-duration-preset.ui20-pressed) {
  transform: translateY(3px);
  box-shadow: inset 0 2px 6px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.025),
              0 1px 1px rgba(0,0,0,.20);
}

/* Verre : épaisseur optique, reflet supérieur et ombre bleu profond. */
html[data-appearance="glass"] :is(button:not(:disabled), .appui-select-trigger:not(:disabled), .tu-layout .tu-duration-preset) {
  box-shadow: 0 3px 0 rgba(4,35,91,.16), 0 9px 20px rgba(4,24,83,.28),
              inset 0 1px 0 rgba(255,255,255,.38), inset 0 -1px 0 rgba(255,255,255,.08);
}
html[data-appearance="glass"] :is(button:active, button.ui20-pressed, .appui-select-trigger:active, .appui-select-trigger.ui20-pressed, .tu-layout .tu-duration-preset:active, .tu-layout .tu-duration-preset.ui20-pressed) {
  transform: translateY(3px);
  box-shadow: inset 0 3px 8px rgba(3,27,78,.30), inset 0 1px 0 rgba(255,255,255,.16),
              0 1px 2px rgba(4,24,83,.18);
}

/* Brutal : plaque nette, ombre noire décalée et retour de pression franc. */
html[data-appearance="brutal"] :is(button:not(:disabled), .appui-select-trigger:not(:disabled), .tu-layout .tu-duration-preset) {
  box-shadow: 4px 5px 0 #111, inset 0 1px 0 rgba(255,255,255,.85);
}
html[data-appearance="brutal"] :is(button:active, button.ui20-pressed, .appui-select-trigger:active, .appui-select-trigger.ui20-pressed, .tu-layout .tu-duration-preset:active, .tu-layout .tu-duration-preset.ui20-pressed) {
  transform: translateY(4px);
  box-shadow: 0 1px 0 #111, inset 0 2px 0 rgba(0,0,0,.12);
}

/* Retour/annulation : petite commande réelle, jamais un grand bouton transparent. */
:is(#home, #two-choice, #three-choice, #four-choice, #game, #timesup) .text-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 14px;
  border-radius: 13px;
  font-weight: 750;
  line-height: 1.2;
}
html:not([data-appearance]) :is(#home, #two-choice, #three-choice, #four-choice, #game, #timesup) .text-button,
html[data-appearance="cream"] :is(#home, #two-choice, #three-choice, #four-choice, #game, #timesup) .text-button {
  color: var(--ink);
  background: #f0f0e5;
  box-shadow: 0 2px 0 rgba(48,76,53,.10), 0 4px 0 #d8dfce, 0 8px 13px rgba(35,58,42,.08), inset 0 1px 0 #fff;
}
html[data-appearance="dark"] :is(#home, #two-choice, #three-choice, #four-choice, #game, #timesup) .text-button {
  color: #81c784;
  background: #151515;
  box-shadow: -2px -2px 5px rgba(255,255,255,.045), 0 4px 0 rgba(0,0,0,.30), 0 7px 12px rgba(0,0,0,.22);
}
html[data-appearance="glass"] :is(#home, #two-choice, #three-choice, #four-choice, #game, #timesup) .text-button {
  color: #e1fff2;
  background: rgba(255,255,255,.13);
  box-shadow: 0 3px 0 rgba(4,35,91,.15), 0 8px 16px rgba(4,24,83,.23), inset 0 1px 0 rgba(255,255,255,.30);
}
html[data-appearance="brutal"] :is(#home, #two-choice, #three-choice, #four-choice, #game, #timesup) .text-button {
  color: #111;
  background: #fff;
  box-shadow: 3px 4px 0 #111;
}
/* ui19 has deliberately specific glass/brutal return-button rules; match them here. */
html[data-appearance="glass"] :is(#home, #two-choice, #three-choice, #four-choice, #game, #timesup) button.text-button {
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 13px;
  background: rgba(255,255,255,.13);
  color: #e1fff2;
  box-shadow: 0 3px 0 rgba(4,35,91,.15), 0 8px 16px rgba(4,24,83,.23), inset 0 1px 0 rgba(255,255,255,.30);
}
html[data-appearance="brutal"] :is(#home, #two-choice, #three-choice, #four-choice, #game, #timesup) button.text-button {
  min-height: 44px;
  padding: 10px 14px;
  border: 2px solid #111;
  border-radius: 6px;
  background: #fff;
  color: #111;
  box-shadow: 3px 4px 0 #111;
}
html:not([data-appearance]) :is(#home, #two-choice, #three-choice, #four-choice, #game, #timesup) button.text-button:is(:active, .ui20-pressed),
html[data-appearance="cream"] :is(#home, #two-choice, #three-choice, #four-choice, #game, #timesup) button.text-button:is(:active, .ui20-pressed) {
  transform: translateY(3px);
  box-shadow: inset 0 2px 5px rgba(35,58,42,.16), 0 1px 1px rgba(35,58,42,.08);
}
html[data-appearance="dark"] :is(#home, #two-choice, #three-choice, #four-choice, #game, #timesup) button.text-button:is(:active, .ui20-pressed) {
  transform: translateY(3px);
  box-shadow: inset 0 2px 6px rgba(0,0,0,.45), 0 1px 1px rgba(0,0,0,.20);
}
html[data-appearance="glass"] :is(#home, #two-choice, #three-choice, #four-choice, #game, #timesup) button.text-button:is(:active, .ui20-pressed) {
  transform: translateY(3px);
  box-shadow: inset 0 3px 8px rgba(3,27,78,.30), 0 1px 2px rgba(4,24,83,.18);
}
html[data-appearance="brutal"] :is(#home, #two-choice, #three-choice, #four-choice, #game, #timesup) button.text-button:is(:active, .ui20-pressed) {
  transform: translateY(4px);
  box-shadow: 0 1px 0 #111, inset 0 2px 0 rgba(0,0,0,.12);
}

/* Choix de préparation Time's Up : rangées cadrées, arrow gardée, sélection lisible. */
#timesup :is(.tu-level-choice, .tu-category-choice) {
  box-sizing: border-box;
  min-height: 68px;
  border-color: rgba(51,82,56,.24);
  box-shadow: 0 2px 0 rgba(48,76,53,.10), 0 5px 0 rgba(210,220,198,.75),
              0 10px 16px rgba(35,58,42,.09), inset 0 1px 0 rgba(255,255,255,.92);
  transition: transform .14s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
}
#timesup :is(.tu-level-choice, .tu-category-choice):active,
#timesup :is(.tu-level-choice, .tu-category-choice).ui20-pressed {
  transform: translateY(3px);
  box-shadow: inset 0 2px 6px rgba(35,58,42,.15), 0 1px 1px rgba(35,58,42,.08);
}
:is(#timesup, #universe-public) .universe-tile {
  box-sizing: border-box;
  box-shadow: 0 2px 0 rgba(48,76,53,.10), 0 6px 0 rgba(210,220,198,.72),
              0 12px 19px rgba(35,58,42,.10), inset 0 1px 0 rgba(255,255,255,.86);
}
:is(#timesup, #universe-public) .universe-tile:active,
:is(#timesup, #universe-public) .universe-tile.ui20-pressed {
  transform: translateY(3px);
}
html[data-appearance="dark"] #timesup :is(.tu-level-choice, .tu-category-choice),
html[data-appearance="dark"] :is(#timesup, #universe-public) .universe-tile {
  border-color: rgba(255,255,255,.09);
  box-shadow: -2px -2px 5px rgba(255,255,255,.045), 0 4px 0 rgba(0,0,0,.30),
              0 8px 13px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.035);
}
html[data-appearance="dark"] #timesup :is(.tu-level-choice, .tu-category-choice):is(:active, .ui20-pressed),
html[data-appearance="dark"] :is(#timesup, #universe-public) .universe-tile:is(:active, .ui20-pressed) {
  transform: translateY(3px);
  box-shadow: inset 0 2px 6px rgba(0,0,0,.45), 0 1px 1px rgba(0,0,0,.20);
}
html[data-appearance="glass"] #timesup :is(.tu-level-choice, .tu-category-choice),
html[data-appearance="glass"] :is(#timesup, #universe-public) .universe-tile {
  box-shadow: 0 3px 0 rgba(4,35,91,.16), 0 9px 19px rgba(4,24,83,.27),
              inset 0 1px 0 rgba(255,255,255,.38), inset 0 -1px 0 rgba(255,255,255,.08);
}
html[data-appearance="glass"] #timesup :is(.tu-level-choice, .tu-category-choice):is(:active, .ui20-pressed),
html[data-appearance="glass"] :is(#timesup, #universe-public) .universe-tile:is(:active, .ui20-pressed) {
  transform: translateY(3px);
  box-shadow: inset 0 3px 8px rgba(3,27,78,.30), 0 1px 2px rgba(4,24,83,.18);
}
html[data-appearance="brutal"] #timesup :is(.tu-level-choice, .tu-category-choice),
html[data-appearance="brutal"] :is(#timesup, #universe-public) .universe-tile {
  border-width: 2px;
  box-shadow: 4px 5px 0 #111;
}
html[data-appearance="brutal"] #timesup :is(.tu-level-choice, .tu-category-choice):is(:active, .ui20-pressed),
html[data-appearance="brutal"] :is(#timesup, #universe-public) .universe-tile:is(:active, .ui20-pressed) {
  transform: translateY(4px);
  box-shadow: 0 1px 0 #111;
}

/* Options de partie : label-plaque, champ encastré, sans toucher aux commandes natives. */
#timesup .panel > label[for^="appui-select-"],
#timesup .panel > label[for="tu-size"],
#timesup .panel > label[for="tu-duration"],
#timesup .panel > label[for="tu-limit"],
#timesup .panel > label[for="tu-starter"],
#timesup .panel > label[for="tu-multiplayer"] {
  box-sizing: border-box;
  margin: 20px 0 8px;
  padding: 8px 11px;
  border-inline-start: 3px solid #7f9a69;
  border-radius: 8px;
  background: rgba(222,232,204,.55);
  line-height: 1.35;
}
#timesup .panel > :is(select, .appui-select-trigger) {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
  border-radius: 13px;
  box-shadow: inset 0 2px 5px rgba(30,58,41,.12), 0 1px 0 rgba(255,255,255,.8), 0 4px 9px rgba(35,58,42,.07);
}
#timesup .panel > :is(select, .appui-select-wrap) {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}
#timesup .appui-select-wrap > .appui-select-trigger {
  min-height: 50px;
  padding-inline: 14px;
  border-radius: 13px;
  box-shadow: inset 0 2px 5px rgba(30,58,41,.12), 0 1px 0 rgba(255,255,255,.8), 0 4px 9px rgba(35,58,42,.07);
}
#timesup .appui-select-wrap > .appui-select-trigger:is(:active, .ui20-pressed) {
  transform: translateY(3px);
  box-shadow: inset 0 2px 6px rgba(30,58,41,.18), 0 1px 1px rgba(35,58,42,.08);
}
#timesup .panel > select {
  padding-inline: 14px;
  border-color: rgba(51,82,56,.26);
}
html[data-appearance="dark"] #timesup .panel > label[for^="appui-select-"],
html[data-appearance="dark"] #timesup .panel > label[for^="tu-"] {
  border-inline-start-color: #81c784;
  background: rgba(129,199,132,.08);
}
html[data-appearance="dark"] #timesup .panel > :is(select, .appui-select-trigger) {
  box-shadow: inset 0 2px 6px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.025), 0 1px 0 rgba(255,255,255,.025);
}
html[data-appearance="dark"] #timesup .appui-select-wrap > .appui-select-trigger {
  box-shadow: inset 0 2px 6px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.025), 0 1px 0 rgba(255,255,255,.025);
}
html[data-appearance="dark"] #timesup .appui-select-wrap > .appui-select-trigger:is(:active, .ui20-pressed) {
  transform: translateY(3px);
  box-shadow: inset 0 2px 6px rgba(0,0,0,.50), 0 1px 1px rgba(0,0,0,.20);
}
html[data-appearance="glass"] #timesup .panel > label[for^="appui-select-"],
html[data-appearance="glass"] #timesup .panel > label[for^="tu-"] {
  border-inline-start-color: #c4ffe5;
  background: rgba(255,255,255,.10);
}
html[data-appearance="glass"] #timesup .panel > :is(select, .appui-select-trigger) {
  box-shadow: inset 0 3px 8px rgba(3,27,78,.24), 0 1px 0 rgba(255,255,255,.22);
}
html[data-appearance="glass"] #timesup .appui-select-wrap > .appui-select-trigger {
  border-color: rgba(255,255,255,.46);
  box-shadow: inset 0 3px 8px rgba(3,27,78,.24), 0 1px 0 rgba(255,255,255,.22);
}
html[data-appearance="glass"] #timesup .appui-select-wrap > .appui-select-trigger:is(:active, .ui20-pressed) {
  transform: translateY(3px);
  box-shadow: inset 0 3px 8px rgba(3,27,78,.32), 0 1px 2px rgba(4,24,83,.18);
}
html[data-appearance="brutal"] #timesup .panel > label[for^="appui-select-"],
html[data-appearance="brutal"] #timesup .panel > label[for^="tu-"] {
  border-inline-start: 3px solid #111;
  border-radius: 4px;
  background: #fff3b0;
}
html[data-appearance="brutal"] #timesup .panel > select {
  border: 2px solid #111;
  border-radius: 6px;
  box-shadow: inset 0 2px 0 rgba(0,0,0,.08), 3px 4px 0 #111;
}
html[data-appearance="brutal"] #timesup .appui-select-wrap > .appui-select-trigger {
  border: 2px solid #111;
  border-radius: 6px;
  box-shadow: inset 0 2px 0 rgba(0,0,0,.08), 3px 4px 0 #111;
}
html[data-appearance="brutal"] #timesup .appui-select-wrap > .appui-select-trigger:is(:active, .ui20-pressed) {
  transform: translateY(4px);
  box-shadow: 0 1px 0 #111, inset 0 2px 0 rgba(0,0,0,.12);
}

/* Select custom accessible, pills de durée éventuelles et choix radio labelisés. */
.appui-select-trigger {
  box-sizing: border-box;
  min-width: 0;
  border-radius: 14px;
  border-color: rgba(51,82,56,.23);
  font-weight: 700;
}
.appui-option[aria-selected="true"] {
  box-shadow: inset 0 0 0 2px currentColor, inset 0 0 0 5px rgba(255,255,255,.34),
              inset 0 3px 7px rgba(20,55,39,.12);
}
html[data-appearance="dark"] .appui-option[aria-selected="true"] {
  box-shadow: inset 0 0 0 2px rgba(129,199,132,.9), inset 0 0 0 5px rgba(0,0,0,.12), var(--ux-inset);
}
html[data-appearance="glass"] .appui-select-trigger { border-color: rgba(255,255,255,.42); }
html[data-appearance="brutal"] .appui-select-trigger { border: 2px solid #111; border-radius: 6px; }
.tu-layout .tu-duration-preset,
.tu-layout label:has(input[type="radio"]),
.settings-dialog label:has(input[type="radio"]) {
  box-sizing: border-box;
  min-width: 0;
  border-radius: 13px;
}
.tu-layout .tu-duration-preset[aria-pressed="true"],
.tu-layout label:has(input[type="radio"]:checked),
.settings-dialog label:has(input[type="radio"]:checked) {
  outline: 2px solid currentColor;
  outline-offset: -5px;
  box-shadow: inset 0 0 0 2px currentColor, inset 0 4px 9px rgba(20,55,39,.12);
  font-weight: 800;
}
html[data-appearance="glass"] .tu-layout :is(.tu-duration-preset, label:has(input[type="radio"]:checked)),
html[data-appearance="glass"] .settings-dialog label:has(input[type="radio"]:checked) {
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.88), inset 0 4px 9px rgba(3,27,78,.24);
}
html[data-appearance="brutal"] .tu-layout :is(.tu-duration-preset, label:has(input[type="radio"]:checked)),
html[data-appearance="brutal"] .settings-dialog label:has(input[type="radio"]:checked) {
  border: 2px solid #111;
  border-radius: 6px;
  box-shadow: inset 0 0 0 2px #111, 4px 5px 0 #111;
}

/* Tuiles d'apparence : relief aussi dans la sélection, double cadre non chromatique. */
.settings-theme-option[aria-pressed="true"],
.appearance-option[aria-pressed="true"] {
  outline: 2px solid currentColor;
  outline-offset: -5px;
}
html[data-appearance="dark"] .settings-theme-option[aria-pressed="true"] { outline-color: #81c784; }
html[data-appearance="glass"] .settings-theme-option[aria-pressed="true"] { outline-color: rgba(255,255,255,.9); }
html[data-appearance="brutal"] .settings-theme-option[aria-pressed="true"] { outline-color: #111; }

/* Modales et actions de dialogue : relief de surface seulement, pas d'animation ajoutée. */
.appui-dialog, .appui-picker, .settings-dialog, .appearance-dialog {
  box-sizing: border-box;
  box-shadow: 0 16px 34px rgba(17,39,29,.17), inset 0 1px 0 rgba(255,255,255,.24);
}
html[data-appearance="dark"] :is(.appui-dialog, .appui-picker, .settings-dialog, .appearance-dialog) {
  box-shadow: 0 16px 34px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.035);
}
html[data-appearance="glass"] :is(.appui-dialog, .appui-picker, .settings-dialog, .appearance-dialog) {
  box-shadow: 0 18px 38px rgba(4,24,83,.32), inset 0 1px 0 rgba(255,255,255,.30);
}
html[data-appearance="brutal"] :is(.appui-dialog, .appui-picker, .settings-dialog, .appearance-dialog) {
  box-shadow: 7px 8px 0 #111;
}
.appui-actions .appui-button, .appui-close, .settings-close, .settings-trigger, .settings-done,
.settings-audio-section .sound-controls #test-sound {
  box-sizing: border-box;
}

/* Keep the v19 spatial safeguards explicit; no new gaps or panel movement. */
#home > .mode-grid { gap: 20px; }
#home .special-mode { margin-top: 38px; padding-top: 25px; }
#home #mode-6 { box-sizing: border-box; }
#three-choice .mode-card { min-height: 108px; }
#timesup .tu-turn-actions { gap: 40px !important; row-gap: 40px !important; }
#timesup .tu-turn-actions .tu-action-found { margin-bottom: 0; }
#timesup .tu-turn-actions .tu-action-pass { margin-top: 0; }
#timesup .step-actions { gap: max(24px, 6vw); }
#timesup .panel, #timesup .panel :is(button, select, input:not([type="checkbox"]):not([type="radio"]):not([type="range"])) { box-sizing: border-box; }

@media (max-width: 350px) {
  #timesup .step-actions { gap: 24px; }
  #timesup .panel > label[for^="tu-"] { padding: 7px 9px; }
}
@media (prefers-reduced-motion: reduce) {
  :where(button, .appui-select-trigger, .tu-layout .tu-duration-preset,
         .settings-theme-option, .settings-close, .settings-trigger, .settings-done) { transition: none !important; }
}
html[data-motion="reduce"] :where(button, .appui-select-trigger, .tu-layout .tu-duration-preset,
                                  .settings-theme-option, .settings-close, .settings-trigger, .settings-done) {
  transition: none !important;
}

/* Les écrans forment des plateaux : mêmes dimensions, volume et lumière plus présents. */
: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)}
:is(#game,#timesup) .panel{box-shadow:var(--ui20-plate)}
:is(#game,#timesup) :is(.word-card,.tu-round-announcement){box-shadow:var(--ui20-plate)}
:is(#game,#timesup) .setup-progress{box-shadow:var(--ui20-well)}
.settings-section,.backup-card{box-shadow:var(--ui20-well)}
html[data-appearance="brutal"] :is(#game,#timesup) .panel{border-color:#111}

/* La sélection garde un repère de forme, le focus clavier conserve son anneau extérieur. */
html .appui-option[aria-selected="true"]:not(:focus-visible){outline:2px solid currentColor;outline-offset:-5px}

/* Petit cabochon de commande : la flèche reste visible même sur les surfaces sombres. */
.appui-select-chevron{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:9px;background:rgba(127,154,105,.13);box-shadow:inset 0 1px 0 rgba(255,255,255,.3);font-size:23px}
html[data-appearance="dark"] :is(.appui-select-chevron,.appui-option-check){color:#a6dfab}
html[data-appearance="dark"] .appui-select-chevron{background:rgba(129,199,132,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
html[data-appearance="glass"] .appui-select-chevron{color:#c4ffe5;background:rgba(196,255,229,.14)}
html[data-appearance="brutal"] .appui-select-chevron{color:#111;border:1px solid #111;border-radius:4px;background:#fff3b0;box-shadow:1px 2px 0 #111}

/* Accueil APK/PWA installée : aucun emplacement vide quand Installer disparaît. */
#home .home-tools.ui20-compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#home .home-tools.ui20-compact #join-qr { grid-column: auto; }
@media (max-width: 600px) {
  #home .home-tools.ui20-compact { grid-template-columns: minmax(0, 1fr); }
  #home .home-tools.ui20-compact :is(#join-qr, #open-bank) { grid-column: 1 / -1; }
}
/* Le cache reste actif ; son état technique n'est plus affiché sur l'accueil. */
#home #offline-status { display: none !important; }
