/* ===================================================
   KURO ARCANA — Café Anteiku (classes .an-* uniquement)
   Mobile d'abord : texte ≥ 16 px, zones tactiles ≥ 44 px. Visuels provisoires (emojis) remplaçables
   par des images (IMAGES de anteiku-donnees.js → .an-image).
   =================================================== */

.an {
  --an-bois: #3b2416;
  --an-creme: #f5e6d3;
  --an-cuivre: #c2410c;
  max-width: 560px;
  margin: 0 auto;
  font-family: 'Raleway', sans-serif;
  font-size: 1rem;
  color: var(--an-creme);
}

.an-emoji { font-size: 1.6rem; line-height: 1; }
.an-image { width: 36px; height: 36px; object-fit: contain; }

/* ---------- ACCUEIL ---------- */
.an-facade {
  position: relative;
  display: grid;
  gap: 8px;
  justify-items: center;
  padding: 16px 14px;
  border: 1px solid rgba(194, 65, 12, 0.6);
  border-radius: 14px;
  background:
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.03) 0 2px, transparent 2px 28px),
    linear-gradient(180deg, #2a1810, #120a06);
  text-align: center;
}

.an-caisse { display: grid; gap: 2px; margin: 0; font-family: 'Cinzel', serif; font-size: 1.6rem; color: var(--or-dore); }
.an-caisse small, .an-ligne-texte small, .an-recette small { font-family: 'Raleway', sans-serif; font-size: 1rem; color: rgba(245, 230, 211, 0.75); }
.an-rep, .an-texte { margin: 0; }
.an-jauge { width: 100%; max-width: 280px; height: 10px; border-radius: 5px; background: rgba(255, 255, 255, 0.12); overflow: hidden; }
.an-jauge span { display: block; height: 100%; background: linear-gradient(90deg, var(--an-cuivre), var(--or-dore)); }
.an-ouvrir { min-height: 48px; }
.an-deco { position: absolute; top: 10px; }
.an-deco-masque { left: 12px; }
.an-deco-tablier { right: 12px; }

.an-message { margin: 12px 0 0; text-align: center; color: var(--or-lumineux); min-height: 1.2em; }
.an-sous-titre { margin: 18px 0 8px; font-family: 'Cinzel', serif; font-size: 1.1rem; color: var(--or-lumineux); }

.an-recettes { display: grid; grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); gap: 6px; margin: 0; padding: 0; list-style: none; }
.an-recette { display: grid; justify-items: center; gap: 2px; padding: 6px 0; border-radius: 10px; background: rgba(59, 36, 22, 0.8); }
.an-recette-verrou { opacity: 0.45; }

.an-liste, .an-objectifs { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.an-ligne {
  display: grid;
  grid-template-columns: 44px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(59, 36, 22, 0.8);
}
.an-ligne-texte { display: grid; }
.an-ligne-acquise { border: 1px solid rgba(255, 215, 0, 0.4); }
.an-acheter { min-height: 44px; padding: 8px 12px; letter-spacing: 0; font-size: 1rem; }
.an-acheter:disabled { opacity: 0.5; cursor: default; }
.an-max, .an-verrou { font-size: 1rem; color: rgba(245, 230, 211, 0.8); }

.an-objectif { display: flex; justify-content: space-between; gap: 10px; padding: 8px 10px; border-radius: 10px; background: rgba(18, 10, 6, 0.8); }
.an-objectif-fait { color: var(--or-dore); }

/* ---------- SERVICE ---------- */
.an-bandeau {
  position: relative;
  display: flex;
  justify-content: space-around;
  gap: 8px;
  padding: 10px;
  border-radius: 12px;
  background: rgba(18, 10, 6, 0.85);
  font-weight: 700;
}
.an-envolee { position: absolute; top: 0; left: 50%; color: var(--or-dore); pointer-events: none; }
.an-alerte { margin: 8px 0 0; padding: 8px; border-radius: 10px; background: rgba(127, 29, 29, 0.85); text-align: center; }

.an-comptoir {
  display: grid;
  grid-template-columns: repeat(var(--an-places, 3), 1fr);
  gap: 8px;
  margin: 12px 0 0;
  padding: 12px 8px;
  border-bottom: 8px solid var(--an-bois);
  border-radius: 12px 12px 0 0;
  background: linear-gradient(180deg, rgba(42, 24, 16, 0.6), rgba(59, 36, 22, 0.9));
  list-style: none;
}
.an-client, .an-place-vide {
  display: grid;
  justify-items: center;
  gap: 4px;
  width: 100%;
  min-height: 96px;
  padding: 6px 4px;
  border: 1px solid rgba(245, 230, 211, 0.25);
  border-radius: 12px;
  background: rgba(18, 10, 6, 0.7);
  color: inherit;
  font: inherit;
  cursor: pointer;
}
.an-place-vide { place-items: center; color: rgba(245, 230, 211, 0.35); cursor: default; }
.an-client-goule { border-color: rgba(220, 38, 38, 0.8); box-shadow: inset 0 0 12px rgba(220, 38, 38, 0.35); }
.an-client-ccg { border-color: rgba(147, 197, 253, 0.8); }
.an-presse { animation: an-presse 0.8s ease-in-out infinite alternate; }
@keyframes an-presse { to { border-color: #ef4444; } }

.an-commande { display: flex; flex-wrap: wrap; justify-content: center; gap: 2px; font-size: 1.2rem; }
.an-fait { opacity: 0.3; }
.an-patience { width: 90%; height: 6px; border-radius: 3px; background: rgba(255, 255, 255, 0.15); overflow: hidden; }
.an-patience span { display: block; height: 100%; background: #22c55e; }
.an-presse .an-patience span { background: #ef4444; }

.an-plateau-zone { display: flex; align-items: center; gap: 10px; margin-top: 10px; }
.an-plateau-titre { font-family: 'Cinzel', serif; }
.an-plateau { display: flex; gap: 8px; margin: 0; padding: 0; list-style: none; }
.an-tasse {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(245, 230, 211, 0.3);
  border-radius: 50%;
  background: rgba(59, 36, 22, 0.9);
  cursor: pointer;
}
.an-tasse-vide { border-style: dashed; background: transparent; cursor: default; }

.an-postes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 12px; }
.an-poste {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 2px;
  min-height: 72px;
  padding: 8px 4px 10px;
  border: 1px solid var(--an-cuivre);
  border-radius: 12px;
  background: linear-gradient(180deg, #4a2c1a, #2a1810);
  color: inherit;
  font: inherit;
  overflow: hidden;
  cursor: pointer;
}
.an-poste small { font-size: 1rem; }
.an-poste-actif { border-color: var(--or-dore); }
.an-prep { position: absolute; left: 0; bottom: 0; height: 5px; width: 0; background: var(--or-dore); }

/* ---------- BILAN ---------- */
.an-chiffres { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin: 0; padding: 0; list-style: none; }
.an-chiffres li { padding: 10px; border-radius: 10px; background: rgba(59, 36, 22, 0.8); text-align: center; }
.an-recompense { margin: 12px 0 0; text-align: center; font-weight: 700; color: var(--or-dore); }
.an-boutons { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 16px; }
.an-boutons .mj-btn { min-height: 48px; }

@media (prefers-reduced-motion: reduce) {
  .an-presse { animation: none; border-color: #ef4444; }
}
