/* Console de calage — la feuille de l'outil, pas celle d'un jeu.
 *
 * Elle vivait dans hub.css, du temps où seule MECHAVILLAGE avait la console.
 * Depuis le 16 août 2026 les cartes de combat l'ouvrent aussi (Ctrl+Maj+D en
 * arène) et index.html ne charge pas hub.css : le panneau y sortait sans
 * aucun style, c'est-à-dire illisible. Une seule feuille, chargée par les
 * deux pages — recopier le bloc aurait garanti qu'ils divergent.
 */
/* ---- Console de calage du décor (Ctrl+Maj+D)
   Outil d'auteur, pas d'interface de jeu : elle assume d'être dense et de
   couvrir un coin de l'écran. Masquée par défaut — `display:none` plutôt
   qu'une opacité, pour qu'elle ne capte aucun clic quand elle dort. */
#decor-fit{display:none;position:fixed;top:12px;left:12px;z-index:60;width:268px;
  padding:9px 10px 10px;border:1px solid #1d4d5e;border-radius:9px;
  background:rgba(6,16,21,.94);color:#cfe9f2;font:11px/1.45 'Segoe UI',system-ui,sans-serif;
  box-shadow:0 12px 34px rgba(0,0,0,.55);backdrop-filter:blur(3px)}
#decor-fit.visible{display:block}
#decor-fit header{display:flex;align-items:center;justify-content:space-between;
  margin:0 0 8px;font-weight:700;font-size:10px;letter-spacing:.13em;color:#8edff0}
#decor-fit header button{border:0;background:none;color:#7fa8b8;font-size:15px;line-height:1;cursor:pointer;padding:0 2px}
#decor-fit header button:hover{color:#eaf7fb}
#decor-fit label{display:block;margin:0 0 7px;font-size:10px;letter-spacing:.06em;color:#8fb6c4}
#decor-fit select{width:100%;margin-top:3px;padding:4px 5px;border:1px solid #1d4d5e;border-radius:5px;
  background:#08181f;color:#dff1f8;font:11px/1.3 inherit}
.decor-fit-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:0 0 7px}
.decor-fit-modes button{padding:5px 2px;border:1px solid #1d4d5e;border-radius:5px;background:#0b1f27;
  color:#9dc6d4;font:10px/1.2 inherit;cursor:pointer}
.decor-fit-modes button:hover{border-color:#2f7d95;color:#e6f6fb}
.decor-fit-modes button.actif{background:#12414f;border-color:#4bb6d4;color:#eaf9ff}
.decor-fit-lignes{display:flex;gap:12px;margin:0 0 7px}
.decor-fit-ligne{display:flex;align-items:center;gap:5px;margin:0;font-size:10px}
.decor-fit-ligne input{margin:0}
.decor-fit-grille{display:grid;grid-template-columns:64px repeat(3,1fr);gap:3px;align-items:center;margin:0 0 8px}
.decor-fit-grille span{font-size:9px;letter-spacing:.05em;color:#7fa8b8}
.decor-fit-grille input{width:100%;padding:3px 4px;border:1px solid #1a3f4d;border-radius:4px;
  background:#08181f;color:#dff1f8;font:10px/1.25 ui-monospace,Consolas,monospace}
.decor-fit-grille input:disabled{opacity:.35}
.decor-fit-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:0 0 7px}
.decor-fit-actions button{padding:5px 2px;border:1px solid #1d4d5e;border-radius:5px;background:#0b1f27;
  color:#9dc6d4;font:9px/1.2 inherit;cursor:pointer}
.decor-fit-actions button:hover:not(:disabled){border-color:#2f7d95;color:#e6f6fb}
/* Annuler et Rétablir se grisent quand leur pile est vide : un bouton qui ne
   fait rien doit dire qu'il ne fera rien, sinon on croit l'outil cassé. */
.decor-fit-actions button:disabled{opacity:.34;cursor:default}
/* La suppression porte la couleur de ce qu'elle fait. Elle est annulable, donc
   pas d'alerte rouge criarde — un ambre d'avertissement suffit. */
.decor-fit-actions button[data-act="supprimer"]{border-color:#6d4326;color:#f0b083}
.decor-fit-actions button[data-act="supprimer"]:hover{border-color:#b8702f;color:#ffd7b0}
#decor-fit pre{margin:0;padding:6px 7px;border-radius:5px;background:#08181f;
  color:#8fb6c4;font:9px/1.4 ui-monospace,Consolas,monospace;white-space:pre-wrap}

/* Les deux couleurs de la place. Elles n'appartiennent à aucune pièce — elles
   règlent le sol, les rampes et les rues d'un coup — d'où leur bloc à part,
   séparé du calage par un filet. Caché tant qu'aucun pavage n'est chargé : la
   console sert aussi les cartes de combat, qui n'en ont pas. */
.decor-fit-teintes{margin:9px 0 7px;padding-top:8px;border-top:1px solid #1a3f4d}
.decor-fit-teintes header{position:static;padding:0 0 6px;background:none;border:0;
  font-size:9px;letter-spacing:.09em;color:#7fa8b8}
.decor-fit-teintes label{display:flex;align-items:center;gap:7px;margin:0 0 5px}
.decor-fit-teintes input[type=color]{width:34px;height:20px;padding:0;border:1px solid #1d4d5e;
  border-radius:4px;background:#08181f;cursor:pointer}
.decor-fit-teintes input[type=range]{flex:1;accent-color:#4bb6d4}
.decor-fit-teintes b{min-width:30px;color:#dff1f8;font:10px/1.2 ui-monospace,Consolas,monospace}
.decor-fit-teintes .decor-fit-actions{grid-template-columns:repeat(2,1fr);margin:2px 0 0}
.decor-fit-teintes .decor-fit-verrou{grid-column:1/-1}
.decor-fit-teintes .decor-fit-verrou[aria-pressed="true"]{color:#bff8df;border-color:#4ebd8b;background:#102c25}
.decor-fit-teintes.is-locked>label{opacity:.42}
