/* ==========================================================
   Ludéales — Dudo
   ========================================================== */

.peru-play{padding:28px 0 64px}
body.peru-modal-open{overflow:hidden}
.peru-playhead{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:18px;flex-wrap:wrap;margin-bottom:22px;
}
.peru-playhead h1{font-size:clamp(28px,4vw,42px);letter-spacing:-.015em}
.peru-playhead .origin{
  font-size:11px;text-transform:uppercase;letter-spacing:.13em;
  color:var(--lavande-fonce);font-weight:700;
}
.peru-playhead-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

.peru-setup{
  background:var(--blanc);
  border:1px solid var(--ligne);
  border-radius:calc(var(--rayon) + 2px);
  box-shadow:var(--ombre);
  padding:28px 24px 32px;
  max-width:560px;
}
.peru-setup h2{font-size:22px;margin-bottom:8px}
.peru-setup > p{color:var(--encre-doux);font-size:15px;margin-bottom:18px}
.peru-setup-block{margin-bottom:22px}
.peru-setup-block h3{
  font-size:11px;text-transform:uppercase;letter-spacing:.12em;
  color:var(--encre-doux);font-weight:700;margin-bottom:10px;
}
.peru-mode-desc{
  font-size:13.5px;color:var(--encre-doux);margin-top:10px;min-height:2.6em;
}

.peru-board{
  background:var(--blanc);
  border:1px solid var(--ligne);
  border-radius:calc(var(--rayon) + 2px);
  box-shadow:var(--ombre);
  padding:22px 20px 26px;
  position:relative;
}
.peru-board::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  border-radius:inherit;overflow:hidden;
  background:
    radial-gradient(ellipse 70% 50% at 10% 0%, rgba(212,196,240,.35), transparent 55%),
    radial-gradient(ellipse 60% 45% at 100% 100%, rgba(232,146,90,.2), transparent 50%);
}

.peru-toolbar{
  position:relative;z-index:1;
  display:flex;flex-direction:column;gap:8px;
  margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--ligne);
}
.peru-status{font-size:14px;color:var(--encre-doux);font-weight:600}
.peru-status strong{color:var(--encre)}
.peru-status em{font-style:normal;color:var(--corail);font-weight:700}
.peru-ai-thinking{
  font-size:13px;font-weight:700;color:var(--lavande-fonce);
  font-style:italic;margin:0;
}

.peru-players{
  position:relative;z-index:1;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  gap:16px;
  margin-bottom:22px;
}

.peru-player{
  border:1.5px solid var(--ligne);
  border-radius:var(--rayon);
  padding:14px 12px 16px;
  background:rgba(245,241,250,.45);
  transition:border-color .2s, box-shadow .2s;
}
.peru-player.active{
  border-color:var(--corail);
  box-shadow:0 0 0 3px rgba(232,146,90,.15);
}
.peru-player.eliminated{opacity:.45}
.peru-player-head{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:10px;gap:8px;
}
.peru-player-name{font-weight:700;font-size:14px}
.peru-player-meta{font-size:12px;color:var(--encre-doux);font-weight:600}
.peru-player-dice{
  display:flex;flex-wrap:wrap;gap:10px;justify-content:center;
  min-height:72px;align-items:center;
}
.peru-player-dice .die{--size:56px;cursor:default}
.peru-player-dice .die:not(:disabled):hover .die-motion{transform:none}

.peru-die-hidden{
  width:48px;height:48px;border-radius:12px;
  background:linear-gradient(145deg, var(--lavande) 0%, var(--lavande-fonce) 100%);
  border:2px solid rgba(61,53,88,.12);
  box-shadow:inset 0 2px 4px rgba(255,255,255,.25);
}

.peru-reveal-panel{
  position:relative;z-index:1;
  margin-bottom:20px;padding:16px 14px;
  border:1.5px solid rgba(232,146,90,.35);
  border-radius:var(--rayon);
  background:rgba(232,146,90,.08);
}
.peru-reveal-panel[hidden]{display:none !important}
.peru-reveal-intro{
  font-size:14px;font-weight:600;color:var(--encre);
  margin:0 0 10px;line-height:1.5;
}
.peru-reveal-outcome{
  font-size:14px;color:var(--encre-doux);
  margin:10px 0 0;line-height:1.5;
}
.peru-reveal-outcome strong{color:var(--encre)}
.peru-reveal-actions{
  display:flex;justify-content:flex-end;margin-top:14px;
}
.peru-reveal-panel .peru-count-dice{margin:0}

.peru-count-dice{
  display:flex;flex-direction:column;gap:0;
  padding:12px 14px;border-radius:10px;background:var(--lavande-pale);
}
.peru-count-player{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:8px 0;
}
.peru-count-player.separated{
  border-bottom:1px dashed rgba(61,53,88,.18);
  margin-bottom:2px;
}
.peru-count-player-name{
  font-size:12px;font-weight:700;color:var(--encre-doux);
  min-width:4.5em;flex-shrink:0;
}
.peru-count-player-dice{
  display:flex;flex-wrap:wrap;gap:6px;align-items:center;
}
.peru-count-die{
  display:flex;width:26px;height:26px;flex-shrink:0;
}
.peru-count-die svg,.peru-count-die .peru-mini-svg{
  display:block;width:100%;height:100%;
}
.peru-count-die .pip{fill:var(--encre)}
.peru-count-empty{
  font-size:13px;color:var(--encre-doux);margin:0;text-align:center;
}
.peru-count-total{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  padding-top:10px;margin-top:4px;border-top:1px solid rgba(61,53,88,.12);
  font-size:13px;font-weight:700;color:var(--encre);
}
.peru-count-total-label{
  font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;
  color:var(--encre-doux);
}
.peru-count-total-qty{font-size:16px}
.peru-count-total-face{
  display:flex;width:24px;height:24px;
}
.peru-count-total-face svg,.peru-count-total-face .peru-mini-svg{
  display:block;width:100%;height:100%;
}
.peru-count-palafico{
  font-size:11px;font-weight:700;color:var(--corail);
  text-transform:uppercase;letter-spacing:.06em;
}

.peru-bid-panel{
  position:relative;z-index:1;
  border-top:1px solid var(--ligne);
  padding-top:18px;
  display:flex;flex-direction:column;gap:14px;
}
.peru-bid-panel[hidden]{display:none !important}

.peru-bid-row{
  display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start;
}
.peru-bid-field{display:flex;flex-direction:column;gap:8px;flex:1 1 200px}
.peru-bid-label{
  font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;
  font-weight:700;color:var(--encre-doux);
}
.peru-pick-row{
  display:flex;flex-wrap:wrap;gap:8px;
}
.peru-pick{
  font-family:inherit;font-weight:700;
  border:1.5px solid var(--ligne);background:var(--blanc);
  color:var(--encre);cursor:pointer;
  transition:border-color .15s, background .15s, box-shadow .15s;
}
.peru-pick-qty{
  min-width:40px;height:40px;padding:0 10px;
  border-radius:10px;font-size:15px;
}
.peru-pick-face{
  width:44px;height:44px;padding:4px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
}
.peru-pick-face svg,.peru-pick-face .peru-mini-svg{
  display:block;width:100%;height:100%;
}
.peru-pick-face .pip{fill:var(--encre)}
.peru-pick:hover{border-color:var(--lavande-fonce)}
.peru-pick.selected{
  border-color:var(--corail);
  background:rgba(232,146,90,.12);
  box-shadow:0 0 0 3px rgba(232,146,90,.15);
}
.peru-pick-face.paco.selected{background:rgba(232,146,90,.18)}
.peru-bid-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}

.peru-history{
  position:relative;z-index:1;
  margin-top:16px;padding-top:14px;border-top:1px dashed var(--ligne);
}
.peru-history h3{
  font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;
  color:var(--encre-doux);font-weight:700;margin-bottom:8px;
}
.peru-history-list{
  display:flex;flex-wrap:wrap;gap:8px;
}
.peru-history-item{
  display:inline-flex;align-items:center;gap:6px;
  font-size:12.5px;font-weight:600;
  padding:6px 10px;border-radius:999px;
  background:var(--lavande-pale);color:var(--encre);
  border:1px solid var(--ligne);
}
.peru-history-name{white-space:nowrap}
.peru-history-bid{
  display:inline-flex;align-items:center;gap:4px;
}
.peru-history-qty{
  font-weight:700;font-size:13px;min-width:1ch;
}
.peru-history-face{
  display:flex;align-items:center;justify-content:center;
  width:20px;height:20px;flex-shrink:0;
}
.peru-history-face svg,.peru-history-face .peru-mini-svg{
  display:block;width:100%;height:100%;
}
.peru-history-face .pip{fill:var(--encre)}
.peru-reveal-bid{
  display:inline-flex;align-items:center;gap:6px;vertical-align:middle;
}
.peru-reveal-bid .peru-history-face{width:24px;height:24px}
.peru-history-item:last-child{
  background:rgba(232,146,90,.15);
  border-color:rgba(232,146,90,.35);
}

/* Paco — face spéciale */
.die.paco .paco-bg{fill:#E8925A}
.die.paco{filter:drop-shadow(0 3px 6px rgba(232,146,90,.35))}
.die.paco .face-bg:not(.paco-bg){fill:var(--blanc)}

/* Overlays — fixed pour éviter le contenu coupé */
.peru-overlay{
  position:fixed;inset:0;z-index:200;
  display:flex;align-items:center;justify-content:center;
  padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));
  background:rgba(61,53,88,.45);backdrop-filter:blur(4px);
  overflow-y:auto;
}
.peru-overlay[hidden]{display:none !important}
.peru-modal{
  background:var(--blanc);border-radius:calc(var(--rayon) + 4px);
  width:min(440px, 100%);
  max-height:calc(100dvh - 32px);
  box-shadow:0 20px 50px rgba(61,53,88,.22);
  text-align:center;
  display:flex;flex-direction:column;
  margin:auto;
}
.peru-modal-compact{max-height:none}
.peru-modal h2{
  font-size:24px;margin:0;
  padding:22px 22px 0;flex-shrink:0;
}
.peru-modal-body{
  overflow-y:auto;
  padding:12px 22px 8px;
  text-align:left;
  -webkit-overflow-scrolling:touch;
}
.peru-modal > p,.peru-modal-body > p{
  color:var(--encre-doux);margin-bottom:12px;font-size:15px;line-height:1.5;
}
.peru-modal .pass-name{
  font-size:22px;font-weight:700;color:var(--encre);
  padding:8px 22px 0;margin:0;
}
.peru-modal-actions{
  display:flex;gap:10px;justify-content:center;flex-wrap:wrap;
  padding:14px 22px 20px;flex-shrink:0;
  border-top:1px solid var(--ligne);
  background:var(--blanc);
  border-radius:0 0 calc(var(--rayon) + 4px) calc(var(--rayon) + 4px);
}
.peru-modal-compact .peru-modal-actions{border-top:0;padding-top:8px}
.peru-modal-compact #passNote,.peru-modal-compact #gameOverBody{padding:0 22px}

.peru-reveal-dice{
  display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-start;
  margin:8px 0 0;
}
.peru-reveal-dice .die{--size:40px;cursor:default}
.peru-reveal-player{margin-bottom:12px;text-align:left}
.peru-reveal-player strong{display:block;margin-bottom:4px;font-size:13px}
.peru-count-detail{
  font-size:13.5px;color:var(--encre-doux);margin:14px 0 8px;
  padding:10px 12px;border-radius:10px;background:var(--lavande-pale);
  text-align:center;
}
.peru-count-detail strong{color:var(--encre)}

.peru-help{
  display:grid;grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:18px;margin-top:36px;
}
.peru-help-card{
  background:var(--blanc);border:1px solid var(--ligne);
  border-radius:var(--rayon);padding:20px 22px;
}
.peru-help-card h2{font-size:18px;margin-bottom:10px}
.peru-help-card p,.peru-help-card li{
  font-size:14px;color:var(--encre-doux);line-height:1.55;
}
.peru-help-card ul{padding-left:18px;margin:0}

@media (max-width:600px){
  .peru-player-dice .die{--size:48px}
  .peru-bid-actions .btn{flex:1 1 auto}
  .peru-pick-qty{min-width:36px;height:36px;font-size:14px}
  .peru-pick-face{width:40px;height:40px}
  .peru-reveal-dice .die{--size:36px}
}
