:root{
  --bg:#08101f; --card:rgba(255,255,255,.07); --line:rgba(255,255,255,.12);
  --txt:rgba(255,255,255,.95); --muted:rgba(255,255,255,.68); --accent:#7c5cff;
  --accent2:#00d4ff; --good:#3cff9a; --bad:#ff5b7f; --warn:#ffd166;
  --gold:#f6c453; --silver:#d8dee9; --bronze:#d99667; --shadow:0 25px 60px rgba(0,0,0,.45);
  --radius:22px; --safe-top:env(safe-area-inset-top,0px); --safe-bottom:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%;background:radial-gradient(circle at top,#162447 0%,#0d1429 35%,#08101f 100%);color:var(--txt);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;-webkit-text-size-adjust:100%;overflow-x:hidden}
body{display:flex;justify-content:center;align-items:flex-start;padding:calc(10px + var(--safe-top)) 10px calc(10px + var(--safe-bottom))}
.viewport-frame{width:min(100%,1120px);min-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 20px);padding:8px;border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 60px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(10px)}
.app{width:100%;min-height:100%;border-radius:24px;padding:16px 14px calc(28px + var(--safe-bottom));background:linear-gradient(180deg,rgba(8,16,31,.96),rgba(12,20,39,.94));border:1px solid rgba(255,255,255,.08)}
.hidden{display:none!important}.card{background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.04));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(10px)}
.setup{max-width:860px;margin:0 auto;padding:28px 22px 22px}.setup h1{margin:0 0 6px;font-size:clamp(30px,5vw,46px);line-height:1.05;letter-spacing:-.03em}.setup p{margin:0 0 20px;color:var(--muted);font-size:15px}
.grid{display:grid;gap:14px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.wide{grid-column:1/-1}.field{display:flex;flex-direction:column;gap:8px}.field label{font-size:13px;color:var(--muted);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.field small{color:var(--muted);font-size:12px;line-height:1.35}
.field input,.field select,.field textarea{width:100%;background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:14px 16px;font-size:16px;outline:none;appearance:none;-webkit-appearance:none}.field select option{color:#111;background:#fff}.field textarea{resize:vertical;min-height:116px;line-height:1.45}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.btn,.ghost-btn{border:0;cursor:pointer;color:var(--txt);border-radius:16px;padding:12px 16px;font-weight:900;font-size:15px}.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 12px 30px rgba(124,92,255,.35)}.btn.secondary,.ghost-btn{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}.ghost-btn.warn{background:rgba(255,209,102,.10);border-color:rgba(255,209,102,.24)}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.game-picker-field{position:relative}.game-picker{position:relative}.game-picker-button{width:100%;min-height:72px;display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:18px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(135deg,rgba(124,92,255,.18),rgba(0,212,255,.09));color:#fff;text-align:left;cursor:pointer}.game-picker-button:focus-visible{outline:3px solid rgba(0,212,255,.55);outline-offset:2px}.game-picker-icon{flex:0 0 auto;width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:rgba(255,255,255,.10);font-size:24px}.game-picker-selection{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.game-picker-selection strong{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-picker-selection small{color:var(--muted);font-size:12px}.game-picker-chevron{font-size:24px;line-height:1;transition:transform .2s ease}.game-picker-button[aria-expanded="true"] .game-picker-chevron{transform:rotate(180deg)}
.game-picker-panel{position:absolute;z-index:30;top:calc(100% + 8px);left:0;right:0;padding:12px;border-radius:20px;background:linear-gradient(180deg,#111a2f,#091226);border:1px solid rgba(255,255,255,.16);box-shadow:0 24px 60px rgba(0,0,0,.58)}.game-picker-toolbar{display:flex;align-items:center;gap:10px}.game-picker-toolbar input{min-width:0;flex:1;background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:12px 14px;font-size:16px;outline:none}.game-picker-toolbar input:focus{border-color:rgba(0,212,255,.65)}.game-count{flex:0 0 auto;color:var(--muted);font-size:12px;font-weight:900;white-space:nowrap}.game-categories{display:flex;gap:7px;overflow-x:auto;padding:10px 0 8px;scrollbar-width:thin}.game-category-btn{flex:0 0 auto;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#fff;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:900;cursor:pointer}.game-category-btn.active{background:linear-gradient(135deg,rgba(124,92,255,.62),rgba(0,212,255,.35));border-color:transparent}.game-menu{max-height:340px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding:2px}.game-menu-item{width:100%;display:flex;align-items:center;gap:11px;padding:11px;border:1px solid transparent;border-radius:15px;background:transparent;color:#fff;text-align:left;cursor:pointer}.game-menu-item:hover,.game-menu-item:focus-visible{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.10);outline:none}.game-menu-item.active{background:linear-gradient(135deg,rgba(124,92,255,.20),rgba(0,212,255,.10));border-color:rgba(124,92,255,.34)}.game-menu-icon{width:38px;height:38px;flex:0 0 auto;border-radius:12px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;font-size:20px}.game-menu-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:3px}.game-menu-copy strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-menu-copy small{color:var(--muted);font-size:11px}.game-menu-check{opacity:0;color:var(--good);font-weight:1000}.game-menu-item.active .game-menu-check{opacity:1}.game-menu-empty{padding:22px 12px;text-align:center;color:var(--muted);font-size:13px}
.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.titlebox h2{margin:0;font-size:clamp(24px,4vw,38px);line-height:1.05;letter-spacing:-.03em}.subtitle{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);font-size:13px;white-space:nowrap}.chip.rule{background:linear-gradient(135deg,rgba(124,92,255,.18),rgba(0,212,255,.12));border-color:rgba(124,92,255,.25)}.chip.goal{background:linear-gradient(135deg,rgba(255,209,102,.16),rgba(255,255,255,.06));border-color:rgba(255,209,102,.20)}.small-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.score-layout{display:grid;grid-template-columns:minmax(260px,330px) 1fr;gap:14px;align-items:start}.score-card,.calculator-card{padding:16px}.score-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.score-head h3,.calc-title{margin:0;font-size:22px;letter-spacing:-.02em}.calc-intro{color:var(--muted);font-size:14px;line-height:1.45;margin:6px 0 16px}.rank-list,.history-list{display:flex;flex-direction:column;gap:10px}.rank-item,.history-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px;border-radius:17px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10)}.rank-left,.history-left{display:flex;align-items:center;gap:12px;min-width:0}.place{min-width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:1000;background:rgba(255,255,255,.08)}.place.gold{background:rgba(246,196,83,.14);color:var(--gold)}.place.silver{background:rgba(216,222,233,.13);color:var(--silver)}.place.bronze{background:rgba(217,150,103,.14);color:var(--bronze)}.maintext{min-width:0}.name{font-weight:1000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sub{color:var(--muted);font-size:12px;margin-top:3px}.rank-score,.history-delta{font-size:26px;font-weight:1000;letter-spacing:-.04em}.good{color:var(--good)}.bad{color:var(--bad)}.neutral{color:#fff}.empty{color:var(--muted);text-align:center;padding:24px 10px}
.calc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.calc-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.calc-row{display:grid;grid-template-columns:1.2fr repeat(3,minmax(72px,1fr));gap:8px;align-items:end;padding:12px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);margin-bottom:10px}.calc-row.two{grid-template-columns:1.2fr repeat(2,minmax(72px,1fr))}.calc-row.four{grid-template-columns:1.2fr repeat(4,minmax(62px,1fr))}.calc-name{font-weight:1000;color:#fff;overflow:hidden;text-overflow:ellipsis}.calc-label{font-size:12px;color:var(--muted);font-weight:800;margin-bottom:5px}.calc-input,input.calc-input,select.calc-input{width:100%;background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:13px;padding:11px 10px;font-size:15px;outline:none}.calc-input option{color:#111}.checkline{display:flex;align-items:center;gap:8px;color:var(--muted);font-weight:800;font-size:13px}.checkline input{width:18px;height:18px}.calc-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.notice{padding:12px 14px;border-radius:16px;border:1px solid rgba(255,209,102,.22);background:rgba(255,209,102,.08);color:rgba(255,255,255,.86);font-size:13px;line-height:1.4;margin:12px 0}.total-preview{margin-top:10px;color:var(--muted);font-size:13px}.sheet{position:fixed;inset:0;z-index:50;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.52);backdrop-filter:blur(8px)}.sheet.show{display:flex}.sheet-card{width:min(100%,880px);max-height:min(86vh,900px);overflow:auto;border-radius:28px;background:linear-gradient(180deg,#111a2f,#0a1327);border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow);padding:20px}.sheet-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.sheet-head h3{margin:0;font-size:clamp(22px,4vw,30px)}.close-btn{width:42px;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:#fff;font-size:20px;cursor:pointer}.podium{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:end;margin-top:10px}.pod{border-radius:22px;padding:18px;text-align:center;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.05)}.pod.first{min-height:220px;background:linear-gradient(180deg,rgba(246,196,83,.16),rgba(255,255,255,.05));border-color:rgba(246,196,83,.26)}.pod.second{min-height:185px;background:linear-gradient(180deg,rgba(216,222,233,.15),rgba(255,255,255,.05));border-color:rgba(216,222,233,.22)}.pod.third{min-height:160px;background:linear-gradient(180deg,rgba(217,150,103,.15),rgba(255,255,255,.05));border-color:rgba(217,150,103,.22)}.trophy-icon{display:block;width:70px;height:70px;margin:0 auto 8px;filter:drop-shadow(0 8px 14px rgba(0,0,0,.28))}.trophy-icon.gold{color:var(--gold)}.trophy-icon.silver{color:var(--silver)}.trophy-icon.bronze{color:var(--bronze)}.trophy-icon.small{display:inline-block;width:28px;height:28px;margin:0;vertical-align:middle;filter:none}.pod-rank{color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.pod-name{margin-top:8px;font-size:21px;font-weight:1000;overflow-wrap:anywhere}.pod-score{margin-top:6px;font-size:40px;font-weight:1000;letter-spacing:-.05em}.pod-score small{font-size:14px;letter-spacing:0;color:var(--muted)}.pod-detail{margin-top:8px;color:var(--muted);font-size:12px;line-height:1.35;min-height:32px}.empty-pod{opacity:.72}.final-rank-cell{width:62px;text-align:center!important}.final-rank-number{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:9px;background:rgba(255,255,255,.08);font-weight:1000}.final-detail-cell{color:var(--muted);font-size:12px!important}.saved-podium{margin:18px 0}.table-mini{width:100%;border-collapse:collapse;margin-top:18px}.table-mini th,.table-mini td{text-align:left;padding:12px 10px;border-bottom:1px solid rgba(255,255,255,.09);font-size:14px}.table-mini th{color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.06em;font-size:12px}
.yams-table-wrap{overflow:auto}.yams-table{min-width:760px;width:100%;border-collapse:collapse}.yams-table th,.yams-table td{padding:8px;border-bottom:1px solid rgba(255,255,255,.08);font-size:13px}.yams-table th{text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase}.yams-table input{width:86px;background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:9px}.yams-total{font-weight:1000;color:var(--good)}
@media(max-width:860px){.grid-2,.score-layout,.calc-grid,.calc-grid.three{grid-template-columns:1fr}.topbar{flex-direction:column}.small-actions,.actions{width:100%}.small-actions .btn,.actions .btn{flex:1 1 auto}.podium{grid-template-columns:1fr}.calc-row,.calc-row.two,.calc-row.four{grid-template-columns:1fr 1fr}.calc-name{grid-column:1/-1}.sheet{align-items:flex-end}}
@media(max-width:520px){body{padding:calc(6px + var(--safe-top)) 6px calc(8px + var(--safe-bottom))}.viewport-frame{padding:5px;border-radius:24px}.app{padding:12px 10px calc(12px + var(--safe-bottom));border-radius:20px}.setup{padding:22px 14px}.btn,.ghost-btn{padding:11px 12px;font-size:13px}.score-card,.calculator-card{padding:13px}.rank-score{font-size:23px}.calc-row,.calc-row.two,.calc-row.four{grid-template-columns:1fr}.game-picker-panel{position:fixed;top:auto;left:10px;right:10px;bottom:calc(10px + var(--safe-bottom));max-height:78dvh}.game-menu{max-height:48dvh}.game-picker-toolbar{align-items:stretch}.game-picker-toolbar input{width:100%}.sheet-card{padding:16px;border-radius:24px}}
@supports not (backdrop-filter:blur(10px)){.card,.viewport-frame,.sheet{background:rgba(10,19,39,.96)}}


/* Couleurs des doigts pour le tirage au sort */












/* Bloc lien page indépendante premier joueur */
.finger-start-card{
  margin:24px auto;
  padding:18px;
  border-radius:18px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 12px 30px rgba(0,0,0,.14);
  max-width:720px;
}
.finger-start-card h2{
  margin:0 0 8px;
}
.finger-start-card p{
  margin:0 0 12px;
  opacity:.86;
}
.finger-start-card a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}


/* Correction ciblée iPhone : anti-glissement horizontal sans modifier l'apparence */
html{
  width:100%;
  overflow-x:hidden;
}
body{
  width:100%;
  overflow-x:hidden;
}
.score-shell,
.score-app,
.app-shell,
.app,
main{
  max-width:100%;
  overflow-x:clip;
}
@supports not (overflow: clip){
  .score-shell,
  .score-app,
  .app-shell,
  .app,
  main{
    overflow-x:hidden;
  }
}



/* Correction lisibilité lien Définir le premier joueur */
.finger-start-card a,
.finger-start-card a:visited,
.finger-start-card a:hover,
.finger-start-card a:active{
  color:#ffffff !important;
  background:linear-gradient(135deg,#7c3aed,#06b6d4) !important;
  border-radius:14px;
  padding:12px 16px;
  font-weight:900;
  text-decoration:none !important;
}

/* Suivi fiable des manches Scout */
.round-status{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 12px;
  padding:13px 14px;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(124,92,255,.18),rgba(0,212,255,.10));
  border:1px solid rgba(124,92,255,.28);
}
.round-status > div{display:flex;flex-direction:column;gap:3px}
.round-status strong{font-size:16px}
.round-status span{color:var(--muted);font-size:12px}
.round-status.complete{background:rgba(63,226,138,.09);border-color:rgba(63,226,138,.25)}
.round-badge{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  padding:9px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  color:#fff !important;
  font-size:14px !important;
  font-weight:1000;
}
.scout-safe-field{margin:12px 0 14px}
.scout-safe-field small{color:var(--muted);font-size:12px;line-height:1.4}


/* Tirage du premier joueur avec retour du prénom choisi */
#firstPlayerStatus strong{
  font-size:1.08em;
}
.finger-start-card a{
  min-height:48px;
  text-align:center;
}
@media(max-width:520px){
  .finger-start-card a{
    width:100%;
  }
}

/* Catalogue de jeux extensible V3 */
@media(max-width:520px){
  .game-picker-button{min-height:68px;padding:10px 12px}
  .game-picker-icon{width:42px;height:42px}
  .game-picker-selection strong{font-size:17px}
}

/* Calculateurs modulaires V4 */
.game-score-stack{display:flex;flex-direction:column;gap:12px}
.game-score-entry{padding:14px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09)}
.game-score-entry-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.game-score-entry-head strong{font-size:17px}
.game-live-score{display:inline-flex;align-items:center;justify-content:center;min-width:68px;padding:8px 10px;border-radius:999px;background:rgba(60,255,154,.10);border:1px solid rgba(60,255,154,.22);color:var(--good);font-weight:1000}
.game-checks{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px}
.game-inline-total{align-self:center;color:var(--muted);font-size:13px}
.game-inline-total strong{color:#fff;font-size:18px}
.game-notice-warning{border-color:rgba(255,91,127,.30);background:rgba(255,91,127,.09)}
.molkky-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:12px 0}
.molkky-player-status{display:flex;flex-direction:column;gap:4px;padding:11px 12px;border-radius:15px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09)}
.molkky-player-status span{color:var(--muted);font-size:12px}
.molkky-player-status.eliminated{opacity:.56;border-color:rgba(255,91,127,.22)}
.btn:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:620px){
  .game-score-entry .calc-grid.three{grid-template-columns:1fr}
  .game-checks{flex-direction:column;gap:10px}
  .game-inline-total{align-self:flex-start}
}

/* Forêt Mixte — calculateur du jeu de base V5 */
.forest-player-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:9px;margin:12px 0 14px}
.forest-player-tab{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:58px;padding:10px 12px;border-radius:15px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.045);color:#fff;text-align:left;cursor:pointer}
.forest-player-tab span{font-weight:1000}.forest-player-tab small{color:var(--muted)}
.forest-player-tab.active{border-color:rgba(60,255,154,.42);background:rgba(60,255,154,.10)}
.forest-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0 0 14px}
.forest-summary>div{display:flex;flex-direction:column;gap:4px;padding:11px 12px;border-radius:15px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09)}
.forest-summary span{color:var(--muted);font-size:12px}.forest-summary strong{font-size:19px}
.forest-section{margin:14px 0;padding:14px;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.085)}
.forest-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.forest-section h4{margin:0 0 3px;font-size:17px}.forest-section p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.forest-card-search{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(170px,.7fr);gap:9px;margin-bottom:10px}
.forest-card-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin-bottom:12px;max-height:260px;overflow:auto;padding-right:3px}
.forest-card-result{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border-radius:14px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.045);color:#fff;text-align:left;cursor:pointer}
.forest-card-result:hover{border-color:rgba(0,194,255,.38)}.forest-card-result span{display:flex;flex-direction:column;gap:3px}.forest-card-result small{color:var(--muted)}.forest-card-result b{color:var(--good);font-size:12px;white-space:nowrap}
.forest-selected-cards{display:flex;flex-direction:column;gap:9px}
.forest-card-row{display:grid;grid-template-columns:minmax(0,1fr) 110px auto;align-items:center;gap:10px;padding:11px;border-radius:15px;background:rgba(0,0,0,.13);border:1px solid rgba(255,255,255,.08)}
.forest-card-copy{display:flex;flex-direction:column;gap:3px}.forest-card-copy small{color:var(--muted);font-size:11px}.forest-card-copy span{color:#d6d9e5;font-size:12px;line-height:1.4}
.forest-qty-label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:11px}.forest-qty-label input{text-align:center}
.forest-details summary{font-weight:1000;cursor:pointer}.forest-details[open] summary{margin-bottom:12px}
.forest-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.forest-metric{display:flex;flex-direction:column;gap:5px;padding:10px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07)}
.forest-metric>span{font-weight:800}.forest-metric small{color:var(--muted);font-size:11px;line-height:1.35}
.forest-breakdown-list{display:flex;flex-direction:column;gap:6px}
.forest-breakdown-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:12px;background:rgba(255,255,255,.035)}
.forest-breakdown-row>div{display:flex;flex-direction:column;gap:2px}.forest-breakdown-row small{color:var(--muted);font-size:11px}.forest-breakdown-row b{font-size:18px;color:var(--good)}
.forest-total-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border-radius:999px;background:rgba(60,255,154,.10);border:1px solid rgba(60,255,154,.24)}
.forest-total-pill span{color:var(--muted);font-size:11px}.forest-total-pill b{font-size:20px;color:var(--good)}
.forest-empty{padding:14px;border-radius:14px;border:1px dashed rgba(255,255,255,.16);color:var(--muted);text-align:center;font-size:13px}
@media(max-width:720px){.forest-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.forest-card-search{grid-template-columns:1fr}.forest-card-row{grid-template-columns:minmax(0,1fr) 92px}.forest-card-row .forest-remove-card{grid-column:1/-1;width:100%}}
@media(max-width:420px){.forest-player-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.forest-summary strong{font-size:17px}.forest-card-results{grid-template-columns:1fr;max-height:230px}}


/* V6 - sauvegarde de toutes les parties */
.resume-panel{margin-top:16px;padding:14px;border-radius:18px;border:1px solid rgba(0,194,255,.25);background:rgba(0,194,255,.08);display:flex;align-items:center;justify-content:space-between;gap:14px}
.resume-panel>div{min-width:0;display:flex;flex-direction:column;gap:4px}.resume-panel strong{font-size:15px}.resume-panel span,.sheet-intro{color:var(--muted);font-size:12px;line-height:1.45;margin:4px 0 0}
.session-toolbar{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:14px}.file-import-label{display:inline-flex;align-items:center;justify-content:center}
.session-list{display:flex;flex-direction:column;gap:10px}.session-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09)}
.session-main{display:flex;align-items:center;gap:12px;min-width:0}.session-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:14px;background:rgba(255,255,255,.08);font-size:23px}.session-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.session-copy strong{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-copy span,.session-copy small{font-size:12px;color:var(--muted)}.session-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.history-list.detailed{gap:8px}.history-entry{border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(255,255,255,.04);overflow:hidden}.history-entry summary{list-style:none;display:flex;align-items:center;gap:11px;padding:11px;cursor:pointer}.history-entry summary::-webkit-details-marker{display:none}.history-entry-title{min-width:0;display:flex;flex:1;flex-direction:column;gap:3px}.history-entry-title strong{font-size:14px}.history-entry-title small{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-entry-check{color:var(--good);font-weight:1000}.history-entry-body{padding:0 11px 11px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px}.history-player-line{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:9px;border-radius:12px;background:rgba(0,0,0,.14)}.history-player-line span{font-weight:900;overflow:hidden;text-overflow:ellipsis}.history-player-line b{font-size:17px}.history-player-line small{grid-column:1/-1;color:var(--muted);font-size:10px}.history-meta{grid-column:1/-1;max-height:220px;overflow:auto;white-space:pre-wrap;padding:10px;border-radius:12px;background:rgba(0,0,0,.2);color:#dfe6f5;font-size:10px}
.session-detail-meta{display:flex;gap:7px;flex-wrap:wrap}.session-detail-meta span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);font-size:11px}.session-detail-actions{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0}.session-detail-heading{margin:18px 0 10px;font-size:17px}

/* La Scopette */
.scopette-preview{font-size:22px;font-weight:1000;color:var(--good)}

/* Château Combo */
.combo-player-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:8px;margin:10px 0 14px}.combo-player-tab{padding:10px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#fff;cursor:pointer;text-align:left}.combo-player-tab.active{border-color:rgba(0,194,255,.48);background:rgba(0,194,255,.1)}.combo-player-tab strong,.combo-player-tab small{display:block}.combo-player-tab small{color:var(--muted);margin-top:3px}.combo-tableau{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0}.combo-card-cell{padding:10px;border-radius:15px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.04)}.combo-card-cell>span{display:block;margin-bottom:7px;color:var(--muted);font-size:11px;font-weight:900}.combo-card-fields{display:grid;grid-template-columns:minmax(0,1fr) 86px;gap:7px}.combo-card-cell .checkline{margin-top:7px}.combo-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}.combo-total-card{padding:12px;border-radius:15px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09)}.combo-total-card span,.combo-total-card small{display:block;color:var(--muted);font-size:11px}.combo-total-card strong{display:block;margin-top:4px;font-size:24px}
@media(max-width:720px){.session-item{align-items:flex-start;flex-direction:column}.session-actions{width:100%;justify-content:stretch}.session-actions .btn,.session-actions .ghost-btn{flex:1}.combo-tableau{grid-template-columns:1fr}.combo-totals{grid-template-columns:1fr}.resume-panel{align-items:stretch;flex-direction:column}.resume-panel .btn{width:100%}}
.history-input-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:6px}.history-input-grid>div{padding:8px 9px;border-radius:11px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07)}.history-input-grid span,.history-input-grid b{display:block}.history-input-grid span{color:var(--muted);font-size:10px}.history-input-grid b{margin-top:3px;font-size:12px}.history-technical{grid-column:1/-1}.history-technical summary{padding:8px 0;color:var(--muted);font-size:11px}.history-technical .history-meta{margin:0}


/* V7 - Nidavellir */
.nidavellir-stack,.everdell-stack{display:flex;flex-direction:column;gap:14px}.nid-class-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.nid-class-card{position:relative;padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035)}.nid-class-card h4{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px;font-size:15px}.nid-majority{min-height:18px;padding:3px 7px;border-radius:999px;font-size:10px;color:transparent}.nid-majority.active{color:var(--good);background:rgba(60,255,154,.10);border:1px solid rgba(60,255,154,.24)}.nid-subtotal{position:absolute;right:11px;bottom:9px;font-size:20px;color:var(--good)}.nid-class-card .calc-grid{padding-bottom:25px}.nid-class-card .checkline{padding-bottom:25px}
/* V7 - Everdell */
.everdell-score-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.75fr);gap:10px;margin-top:10px}.everdell-score-section{padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035)}.everdell-score-section h4{margin:0 0 10px;font-size:15px}.calc-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.everdell-resource-total{display:flex;align-items:center;justify-content:space-between;margin-top:9px;padding:9px 10px;border-radius:12px;background:rgba(0,0,0,.14);color:var(--muted)}.everdell-resource-total strong{font-size:20px;color:var(--good)}
@media(max-width:820px){.nid-class-grid,.everdell-score-grid{grid-template-columns:1fr}}@media(max-width:520px){.nid-class-card .calc-grid.three,.everdell-score-section .calc-grid.three,.calc-grid.four{grid-template-columns:1fr}.nid-subtotal{position:static;display:block;margin-top:8px;text-align:right}}


/* Everdell V8 — ville assistée et images optionnelles */
.ever-mode-switch{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.ever-mode-switch button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;padding:9px 14px;font-weight:800;cursor:pointer}.ever-mode-switch button.active{background:var(--accent);border-color:var(--accent);color:#fff}.ever-city-panel{display:grid;gap:14px}.ever-city-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.ever-city-head h3,.ever-city-head p{margin:0}.ever-search-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.35fr);gap:10px}.ever-card-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:390px;overflow:auto;padding:2px}.ever-card-result{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:9px;text-align:left;border:1px solid var(--line);border-left-width:6px;background:var(--surface);color:var(--text);border-radius:12px;padding:8px;cursor:pointer}.ever-card-result:disabled{opacity:.58;cursor:not-allowed}.ever-card-result span{display:grid;min-width:0}.ever-card-result strong,.ever-card-result small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ever-card-result small,.ever-selected-info small{color:var(--muted);font-size:.78rem}.ever-card-result b{font-size:.78rem;color:var(--accent)}.ever-card-placeholder,.ever-card-thumb{width:38px;height:50px;border-radius:7px;display:grid;place-items:center;object-fit:cover;font-weight:900;color:#fff;border:1px solid rgba(255,255,255,.25)}.ever-color-green{background:#557a39}.ever-color-blue{background:#095068}.ever-color-red{background:#763033}.ever-color-tan{background:#786850}.ever-color-purple{background:#5f39a5}.ever-color-border-green{border-left-color:#557a39}.ever-color-border-blue{border-left-color:#095068}.ever-color-border-red{border-left-color:#763033}.ever-color-border-tan{border-left-color:#786850}.ever-color-border-purple{border-left-color:#5f39a5}.ever-selected-cards{display:grid;gap:8px}.ever-selected-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--line);border-left-width:6px;border-radius:12px;padding:8px;background:var(--surface)}.ever-selected-info{display:grid;min-width:0}.ever-qty{display:flex;align-items:center;gap:8px}.ever-qty button{width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--text);font-weight:900;cursor:pointer}.ever-qty button:disabled{opacity:.45}.ever-score-breakdown{display:grid;gap:6px}.ever-score-breakdown>div{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:1px dashed var(--line);padding:7px 2px}.ever-score-breakdown span{display:grid}.ever-score-breakdown small{color:var(--muted);font-size:.78rem}.ever-breakdown-total{font-size:1.08rem;border-bottom:0!important;border-top:2px solid var(--line);margin-top:4px}.notice.warning{border-color:#c98700;background:rgba(201,135,0,.12)}
@media(max-width:680px){.ever-card-results{grid-template-columns:1fr;max-height:330px}.ever-search-tools{grid-template-columns:1fr}.ever-city-head{align-items:flex-start}.ever-card-result{grid-template-columns:40px minmax(0,1fr) auto}.ever-selected-row{grid-template-columns:40px minmax(0,1fr);}.ever-selected-row .ever-qty{grid-column:2;justify-content:flex-end}}


/* Nidavellir V9 — armée assistée par cartes et Héros nommés */
.nid-army-panel{display:grid;gap:14px}.nid-army-panel h3{margin:8px 0 0}.nid-standard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.nid-card-group{border:1px solid var(--line);border-radius:16px;padding:12px;background:var(--surface)}.nid-card-group h4,.nid-card-group p{margin:0}.nid-card-group p{margin-top:4px;color:var(--muted);font-size:.82rem}.nid-chip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.nid-card-chip{display:flex;justify-content:space-between;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;padding:8px;background:var(--surface-2)}.nid-card-chip>div:first-child{display:grid;min-width:0}.nid-card-chip small{color:var(--muted);font-size:.72rem}.nid-card-stepper{display:flex;align-items:center;gap:7px}.nid-card-stepper button{width:32px;height:32px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);font-weight:900;cursor:pointer}.nid-card-stepper button:disabled{opacity:.4;cursor:not-allowed}.nid-hero-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:390px;overflow:auto;padding:2px}.nid-hero-result{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:9px;text-align:left;border:1px solid var(--line);border-left-width:6px;background:var(--surface);color:var(--text);border-radius:12px;padding:8px;cursor:pointer}.nid-hero-result:disabled{opacity:.58;cursor:not-allowed}.nid-hero-result span{display:grid;min-width:0}.nid-hero-result strong,.nid-hero-result small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nid-hero-result small,.nid-selected-hero small{color:var(--muted);font-size:.76rem}.nid-hero-result b{font-size:.78rem;color:var(--accent)}.nid-hero-placeholder{width:38px;height:50px;border-radius:7px;display:grid;place-items:center;font-weight:900;color:#fff;border:1px solid rgba(255,255,255,.25)}.nid-group-neutral{background:#7356a8}.nid-group-warrior{background:#8b3030}.nid-group-hunter{background:#39734d}.nid-group-miner{background:#80633c}.nid-group-blacksmith{background:#9a542f}.nid-group-explorer{background:#376d89}.nid-group-border-neutral{border-left-color:#7356a8}.nid-group-border-warrior{border-left-color:#8b3030}.nid-group-border-hunter{border-left-color:#39734d}.nid-group-border-miner{border-left-color:#80633c}.nid-group-border-blacksmith{border-left-color:#9a542f}.nid-group-border-explorer{border-left-color:#376d89}.nid-selected-heroes{display:grid;gap:8px}.nid-selected-hero{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--line);border-left-width:6px;border-radius:12px;padding:8px;background:var(--surface)}.nid-selected-hero>div:nth-child(2){display:grid;min-width:0}.nid-ylud-field{max-width:520px}.nid-checks{display:flex;gap:10px;flex-wrap:wrap}.nid-checks .checkline{flex:1 1 250px}
@media(max-width:760px){.nid-standard-grid,.nid-hero-results{grid-template-columns:1fr}.nid-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.nid-chip-grid{grid-template-columns:1fr}.nid-hero-result{grid-template-columns:40px minmax(0,1fr) auto}.nid-selected-hero{grid-template-columns:40px minmax(0,1fr)}.nid-selected-hero .ever-qty{grid-column:2;justify-content:flex-end}}


/* Château Combo V10 — tableau assisté */
.game-mode-switch{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.game-mode-switch button{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#fff;border-radius:999px;padding:9px 13px;font-weight:800;cursor:pointer}.game-mode-switch button.active{border-color:rgba(0,194,255,.55);background:rgba(0,194,255,.14)}
.combo-assisted-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0}.combo-assisted-slot{min-height:210px;padding:11px;border-radius:16px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035);cursor:pointer}.combo-assisted-slot.selected{border-color:rgba(0,194,255,.58);box-shadow:inset 0 0 0 1px rgba(0,194,255,.18)}.combo-assisted-slot.face-down{opacity:.65}.combo-assisted-slot header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;color:var(--muted);font-size:11px;font-weight:900}.combo-assisted-slot header strong{color:var(--good);font-size:17px}.combo-card-title b,.combo-card-title small{display:block}.combo-card-title small{color:var(--muted);margin-top:2px}.combo-assisted-slot p{min-height:46px;margin:9px 0;color:var(--muted);font-size:12px;line-height:1.35}.combo-assisted-slot label:not(.checkline){display:block;color:var(--muted);font-size:11px}.combo-assisted-slot .ghost-btn.small{width:100%;margin-top:8px;padding:7px}.combo-empty-slot{width:100%;min-height:150px;border:1px dashed rgba(255,255,255,.18);border-radius:13px;background:rgba(255,255,255,.025);color:var(--muted);font-weight:800;cursor:pointer}.combo-shields{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.combo-shield{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:900;border:1px solid rgba(255,255,255,.13)}.combo-shield-red{background:rgba(255,80,80,.14)}.combo-shield-orange{background:rgba(255,159,28,.14)}.combo-shield-blue{background:rgba(0,194,255,.14)}.combo-shield-purple{background:rgba(155,93,229,.16)}.combo-shield-green{background:rgba(60,255,154,.12)}.combo-shield-yellow{background:rgba(255,212,59,.14)}
.combo-card-picker,.combo-assisted-bottom{margin-top:12px;padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.03)}.combo-card-picker h3{margin:0 0 10px}.combo-search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:9px}.combo-search-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-radius:13px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035);color:#fff;text-align:left;cursor:pointer}.combo-search-card:disabled{opacity:.42;cursor:not-allowed}.combo-search-card span strong,.combo-search-card span small{display:block}.combo-search-card span small{color:var(--muted);font-size:11px;margin-top:2px}.combo-search-meta{display:flex;justify-content:flex-end;gap:4px;flex-wrap:wrap;max-width:48%}.combo-search-meta b{display:block;width:100%;text-align:right;color:var(--good);font-size:11px}.combo-assisted-bottom .ever-score-breakdown{margin-top:12px}
@media(max-width:820px){.combo-assisted-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.combo-search-results{grid-template-columns:1fr}}@media(max-width:520px){.combo-assisted-grid{grid-template-columns:1fr}.combo-assisted-slot{min-height:0}.combo-search-meta{max-width:42%}}

/* Score Party V11 — sélecteur direct de cartes */
.sp-card-picker-overlay{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.68);backdrop-filter:blur(8px)}
.sp-card-picker-dialog{width:min(920px,100%);max-height:min(88dvh,920px);overflow:auto;border-radius:24px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,#182238,#0c1529);box-shadow:0 24px 80px rgba(0,0,0,.48);padding:18px}
.sp-card-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.sp-card-picker-head h3,.sp-card-picker-head p{margin:0}.sp-card-picker-head p{margin-top:4px;color:var(--muted);font-size:13px}.sp-picker-results{max-height:58dvh;overflow:auto;margin-top:10px}.sp-picker-remove{margin:10px 0 0}

/* Everdell V11 — ville par emplacements */
.ever-city-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.ever-city-slot{min-height:148px;padding:9px;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:rgba(255,255,255,.035);display:flex;flex-direction:column;gap:7px}.ever-city-slot.filled{background:rgba(255,255,255,.05)}.ever-city-slot header{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:11px;font-weight:900}.ever-city-slot header strong{color:var(--good);font-size:14px}.ever-empty-slot{width:100%;flex:1;min-height:102px;border:1px dashed rgba(255,255,255,.2);border-radius:12px;background:rgba(255,255,255,.02);color:var(--muted);font-weight:850;cursor:pointer;display:grid;place-items:center;align-content:center;gap:5px}.ever-empty-slot span{font-size:24px;color:var(--accent)}.ever-city-slot-cards{display:grid;gap:6px;flex:1}.ever-city-slot-card{display:grid;grid-template-columns:30px minmax(0,1fr) 26px;align-items:center;gap:6px;border-left:4px solid var(--line);padding-left:6px;min-width:0}.ever-city-slot-card .ever-card-placeholder,.ever-city-slot-card .ever-card-thumb{width:28px;height:38px;border-radius:6px;font-size:12px}.ever-city-slot-card span{display:grid;min-width:0}.ever-city-slot-card b,.ever-city-slot-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ever-city-slot-card b{font-size:12px}.ever-city-slot-card small{color:var(--muted);font-size:10px}.ever-city-slot-card>button{width:26px;height:26px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(255,255,255,.06);color:var(--muted);cursor:pointer}.ever-slot-change{width:100%;border:0;border-top:1px solid rgba(255,255,255,.08);background:transparent;color:var(--accent);padding:7px 4px 0;font-weight:800;cursor:pointer}.ever-outside-panel{padding:12px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(255,255,255,.03)}.ever-outside-panel h4,.ever-outside-panel p{margin:0}.ever-outside-panel p{margin-top:4px;color:var(--muted);font-size:12px}.ever-outside-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.ever-outside-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid var(--line);border-left-width:5px;border-radius:12px;padding:8px;background:var(--surface)}.ever-outside-card span{display:grid;min-width:0}.ever-outside-card small{color:var(--muted);font-size:11px}.ever-outside-card button{border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--text);padding:7px;cursor:pointer}.ever-outside-card.warning{border-left-color:#c98700}
@media(max-width:680px){.sp-card-picker-overlay{align-items:flex-end;padding:8px}.sp-card-picker-dialog{max-height:92dvh;border-radius:22px;padding:14px}.sp-picker-results{max-height:55dvh}.ever-city-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ever-city-slot{min-height:132px}.ever-outside-list{grid-template-columns:1fr}}
@media(max-width:390px){.ever-city-grid{grid-template-columns:1fr}.ever-city-slot{min-height:112px}}


/* Score Party V11.1 — sécurisation des bourses Château Combo */
.combo-purse-field{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 10px;margin-top:8px;padding:8px;border-radius:11px;background:rgba(255,212,59,.06);border:1px solid rgba(255,212,59,.16)}
.combo-purse-field>span{font-weight:850;color:var(--text)}.combo-purse-field>small{color:var(--muted);font-weight:800}.combo-purse-field>small.limit{color:#ffd45a}.combo-purse-field input{grid-column:1/-1}
.combo-gold-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:12px;padding:10px 12px;border-radius:13px;background:rgba(255,212,59,.07);border:1px solid rgba(255,212,59,.17);font-size:12px}.combo-gold-summary span{color:var(--muted)}


/* Score Party V11.2 — correctifs mobile et sélecteurs en portail */
#cardPickerPortal{position:relative;z-index:1000}
body.sp-picker-open{overflow:hidden;touch-action:none}
#cardPickerPortal .sp-card-picker-overlay{position:fixed!important;inset:0!important;z-index:1000!important;width:100vw!important;height:100dvh!important;margin:0!important;transform:none!important;contain:none!important}
#cardPickerPortal .sp-card-picker-dialog{position:relative;isolation:isolate}
.player-dot{display:block;flex:0 0 auto;width:9px;height:9px;border-radius:999px}
.forest-player-tab .player-name,.combo-player-tab .player-name{display:block;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:1000}
.forest-player-tab,.combo-player-tab{min-width:0;overflow:hidden}
.forest-player-tab small,.combo-player-tab small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:520px){
  .forest-player-tabs,.combo-player-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px}
  .forest-player-tab,.combo-player-tab{width:100%;min-height:58px;padding:9px 10px;line-height:1.2}
  .forest-player-tab{display:grid;grid-template-columns:10px minmax(0,1fr);grid-template-rows:auto auto;column-gap:7px;row-gap:4px;align-items:center}
  .forest-player-tab .player-dot{grid-column:1;grid-row:1}
  .forest-player-tab .player-name{grid-column:2;grid-row:1}
  .forest-player-tab small{grid-column:1/-1;grid-row:2}
  .rank-item{min-width:0;padding:11px}
  .rank-left{min-width:0;flex:1}
  .rank-item .maintext{min-width:0;overflow:hidden}
  .rank-item .name,.rank-item .sub{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #cardPickerPortal .sp-card-picker-overlay{align-items:flex-end!important;padding:6px!important}
  #cardPickerPortal .sp-card-picker-dialog{width:100%!important;max-height:94dvh!important;border-radius:20px 20px 12px 12px!important;padding:13px!important;overscroll-behavior:contain}
  #cardPickerPortal .sp-picker-results{max-height:56dvh!important}
}
@media(max-width:340px){.forest-player-tabs,.combo-player-tabs{grid-template-columns:1fr!important}}

/* V11.2 — empêcher les calculateurs d'élargir la page sur mobile */
.score-layout,.score-layout>* ,.calculator-card,#calculatorArea,#calculatorArea>*{min-width:0;max-width:100%}
@media(max-width:860px){
  .score-layout{grid-template-columns:minmax(0,1fr)!important}
  .calculator-card,.score-card{width:100%;min-width:0;max-width:100%;overflow:hidden}
  #calculatorArea{width:100%;min-width:0;max-width:100%;overflow:hidden}
  .game-score-entry,.combo-assisted-bottom,.combo-player-tabs,.forest-player-tabs,.calc-actions,.notice{min-width:0;max-width:100%}
}


/* Score Party V11.3 — menu des jeux sorti du panneau translucide sur iOS */
#gamePickerPortal{display:none}
body.game-picker-open{overflow:hidden;touch-action:none}
@media(max-width:520px){
  body.game-picker-open #gamePickerPortal{
    display:block;
    position:fixed;
    inset:0;
    z-index:1600;
    padding:0;
    background:#050b18;
    isolation:isolate;
  }
  body.game-picker-open #gamePickerPortal .game-picker-panel{
    display:block!important;
    position:absolute!important;
    z-index:1601!important;
    top:auto!important;
    left:10px!important;
    right:10px!important;
    bottom:calc(10px + var(--safe-bottom))!important;
    width:auto!important;
    max-height:calc(100dvh - 20px - var(--safe-top) - var(--safe-bottom))!important;
    margin:0!important;
    overflow:hidden!important;
    opacity:1!important;
    background:#091226!important;
    background-image:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    transform:translateZ(0)!important;
    contain:paint;
  }
  body.game-picker-open #gamePickerPortal .game-menu{
    max-height:calc(100dvh - 190px - var(--safe-top) - var(--safe-bottom))!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  /* Safari iOS peut dessiner le texte d'un textarea au-dessus d'un calque fixe. */
  body.game-picker-open #playersInput{
    visibility:hidden!important;
  }
}

/* Score Party V11.5 — listes complètes et verrouillage horizontal mobile */
html,body{
  width:100%;
  max-width:100%;
  overflow-x:hidden!important;
  overscroll-behavior-x:none;
}
body{position:relative}
.viewport-frame,.app,.setup,#setupScreen,#gameScreen,.score-layout,.score-card,.calculator-card,#calculatorArea,
.grid,.field,.game-picker,.game-picker-panel,.game-picker-toolbar,.game-menu,
.combo-player-tabs,.combo-assisted-grid,.combo-assisted-slot,.combo-search-results,.combo-search-card,
.ever-city-panel,.ever-city-grid,.ever-city-slot,.ever-card-results,.ever-card-result,
.sp-card-picker-dialog,.sp-picker-results{
  min-width:0;
  max-width:100%;
}
.viewport-frame,.app,#setupScreen,#gameScreen{overflow-x:hidden}
#gamePickerPortal,#cardPickerPortal{max-width:100%;overflow-x:hidden}
#cardPickerPortal .sp-card-picker-overlay{
  width:auto!important;
  max-width:100%!important;
  overflow-x:hidden!important;
}
.game-picker-toolbar>*{min-width:0}
.combo-search-card>span:first-child,.combo-search-meta,.ever-card-result>span{
  min-width:0;
  overflow:hidden;
}
.combo-search-card strong,.combo-search-card small,.ever-card-result strong,.ever-card-result small{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}
@supports (overflow:clip){
  html,body,.viewport-frame,.app,#setupScreen,#gameScreen{overflow-x:clip!important}
}
@media(max-width:520px){
  .viewport-frame,.app,.setup,#setupScreen,#gameScreen{width:100%;max-width:100%}
  .game-picker-panel,.sp-card-picker-dialog{max-width:calc(100vw - 12px)!important}
  .game-categories{max-width:100%;overscroll-behavior-x:contain}
  .combo-search-card,.ever-card-result{width:100%;max-width:100%;overflow:hidden}
  .combo-search-meta{flex:0 1 42%;max-width:42%;min-width:0}
  .combo-search-card>span:first-child{flex:1 1 auto}
  .ever-card-result{grid-template-columns:40px minmax(0,1fr) minmax(0,auto)}
  .ever-card-result>b{max-width:76px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

/* V11.6 — podium universel */
@media(max-width:860px){.podium{grid-template-columns:1fr}.pod.first{order:1}.pod.second{order:2}.pod.third{order:3}.pod{min-height:auto!important}.trophy-icon{width:58px;height:58px}.pod-detail{min-height:0}}
@media(max-width:520px){.final-detail-cell,.table-mini th:last-child{display:none}.final-rank-cell{width:46px}.pod-score{font-size:34px}.saved-podium .pod{padding:14px}}

/* Score Party V11.7 — verrouillage global anti-débordement iPhone */
html{
  inline-size:100%;
  max-inline-size:100%;
  overflow-x:hidden!important;
  overscroll-behavior-x:none;
}
body{
  inline-size:auto!important;
  min-inline-size:0!important;
  max-inline-size:100%!important;
  overflow-x:hidden!important;
  overscroll-behavior-x:none;
  touch-action:pan-y pinch-zoom;
}
.viewport-frame{
  width:min(100%,1120px)!important;
  inline-size:min(100%,1120px)!important;
  min-inline-size:0!important;
  max-inline-size:1120px!important;
  margin-inline:auto;
  contain:none;
}
.app,#setupScreen,#gameScreen,.topbar,.titlebox,.subtitle,.small-actions,
.score-layout,.score-layout>*,.score-head,.rank-list,.rank-item,.rank-left,.maintext,
.calculator-card,#calculatorArea,#calculatorArea>*,.game-score-stack,.game-score-entry,
.finger-start-card,.round-status,.notice,.calc-actions,.sheet,.sheet-card,.podium,.pod,
.table-mini,.yams-table-wrap,.session-list,.history-list{
  min-inline-size:0;
  max-inline-size:100%;
}
img,svg,canvas,video{max-inline-size:100%;height:auto}
.rank-item,.history-item,.game-score-entry,.round-status,.finger-start-card{overflow:hidden}
.rank-left,.maintext{flex:1 1 auto}
.rank-score,.history-delta,.place,.round-badge{flex:0 0 auto}
.titlebox h2,.chip,.btn,.ghost-btn,.name,.sub,.calc-title,.calc-intro{
  overflow-wrap:anywhere;
}
.table-mini{table-layout:fixed}
.table-mini th,.table-mini td{overflow-wrap:anywhere}

@supports (overflow:clip){
  html,body,.viewport-frame,.app,#setupScreen,#gameScreen{overflow-x:clip!important}
}

@media(max-width:860px){
  body{
    display:block!important;
    margin:0!important;
  }
  .viewport-frame{
    inline-size:auto!important;
    margin-inline:auto!important;
  }
  .topbar{inline-size:100%;max-inline-size:100%}
  .titlebox{inline-size:100%}
  .small-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    inline-size:100%;
    gap:8px;
  }
  .small-actions .btn{
    inline-size:100%;
    min-inline-size:0;
    max-inline-size:100%;
    margin:0;
    white-space:normal;
    line-height:1.25;
  }
  .small-actions #finishBtn{
    grid-column:1/-1;
  }
  .score-layout{
    inline-size:100%;
    grid-template-columns:minmax(0,1fr)!important;
  }
  .score-card,.calculator-card{inline-size:100%;overflow:hidden}
  .subtitle{inline-size:100%}
  .chip{max-inline-size:100%;white-space:normal}
  .sheet{inline-size:100%;max-inline-size:100%;overflow:hidden}
  .sheet-card{inline-size:100%;max-inline-size:100%;overscroll-behavior:contain}
  .podium{inline-size:100%;grid-template-columns:minmax(0,1fr)!important}
  .pod{inline-size:100%}
  .table-mini{display:table;inline-size:100%}
}

@media(max-width:360px){
  .small-actions{grid-template-columns:minmax(0,1fr)}
  .small-actions #finishBtn{grid-column:1}
  .score-head{align-items:flex-start}
  .score-head .ghost-btn{flex:0 0 auto}
}


/* Score Party V11.8 — podium et feuilles fixes dans un portail hors des panneaux floutés */
#sheetPortal{
  position:relative;
  z-index:1000;
  inline-size:0;
  block-size:0;
}
#sheetPortal .sheet{
  position:fixed!important;
  inset:0!important;
  z-index:1000!important;
  inline-size:100%!important;
  max-inline-size:none!important;
  block-size:100dvh;
  min-block-size:100dvh;
  margin:0!important;
  padding:
    max(12px,var(--safe-top))
    12px
    max(12px,var(--safe-bottom));
  overflow:hidden!important;
  transform:none!important;
  contain:none!important;
  isolation:isolate;
}
#sheetPortal .sheet-card{
  inline-size:min(100%,880px)!important;
  max-inline-size:100%!important;
  max-block-size:calc(100dvh - max(24px,var(--safe-top)) - max(24px,var(--safe-bottom)));
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  transform:none!important;
}
body.sheet-open{
  position:fixed!important;
  inset-inline:0!important;
  top:calc(-1 * var(--sp-sheet-scroll-y,0px))!important;
  inline-size:100%!important;
  overflow:hidden!important;
}
body.sheet-open #sheetPortal{
  position:fixed;
  inset:0;
  z-index:1000;
  inline-size:100%;
  block-size:100dvh;
  pointer-events:none;
}
body.sheet-open #sheetPortal .sheet.show{pointer-events:auto}
@media(max-width:860px){
  #sheetPortal .sheet{
    align-items:center!important;
    justify-content:center!important;
  }
  #sheetPortal .sheet-card{
    border-radius:22px;
    max-block-size:calc(100dvh - max(24px,var(--safe-top)) - max(24px,var(--safe-bottom)));
  }
}


/* Score Party V11.9 — affichage ordinateur restauré et catalogue alphabétique */
.game-categories{display:none!important}
@media(min-width:861px){
  body{display:flex!important;inline-size:100%!important;max-inline-size:none!important}
  .viewport-frame{width:min(100%,1120px)!important;inline-size:min(100%,1120px)!important;contain:none!important}
}

/* Score Party V11.10 — centrage mobile strict et calculateur Clank! */
:root{
  --safe-left:env(safe-area-inset-left,0px);
  --safe-right:env(safe-area-inset-right,0px);
}
.clank-extension-panel{margin-bottom:12px}
.clank-preview{font-size:20px;font-weight:1000;color:var(--good);white-space:nowrap}
.clank-status-field{grid-column:1/-1}
.clank-status-note{margin-top:10px;color:var(--muted);font-size:12px;font-weight:850}

@media(max-width:860px){
  html,body{
    inline-size:100%!important;
    width:100%!important;
    max-inline-size:100%!important;
    max-width:100%!important;
  }
  body{
    padding-left:max(6px,var(--safe-left))!important;
    padding-right:max(6px,var(--safe-right))!important;
  }
  .viewport-frame{
    inline-size:100%!important;
    width:100%!important;
    max-inline-size:100%!important;
    max-width:100%!important;
    margin-inline:0!important;
  }
}
@media(max-width:520px){
  .clank-grid{grid-template-columns:minmax(0,1fr)!important}
  .clank-preview{font-size:18px}
}


/* 7 Wonders */
.seven-extension-panel{margin-bottom:14px}.seven-extension-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:12px}.seven-extension-option{display:flex;align-items:center;gap:9px;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035);font-weight:900;cursor:pointer}.seven-extension-option input{width:19px;height:19px;accent-color:var(--accent)}.seven-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.seven-section-title h4,.seven-section-title strong{margin:0}.seven-section-title small{color:var(--muted);text-align:right}.seven-score-stack{display:flex;flex-direction:column;gap:14px}.seven-player-card{padding:0;overflow:hidden}.seven-player-card>summary{list-style:none}.seven-player-card>summary::-webkit-details-marker{display:none}.seven-player-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;cursor:pointer;background:rgba(255,255,255,.025)}.seven-player-summary::before{content:"▸";color:var(--muted);font-size:15px;transition:transform .15s ease}.seven-player-card[open]>.seven-player-summary::before{transform:rotate(90deg)}.seven-player-name{font-size:18px;font-weight:1000;min-width:0;overflow:hidden;text-overflow:ellipsis}.seven-summary-meta{display:flex;align-items:flex-end;gap:12px;margin-left:auto}.seven-summary-meta small{color:var(--muted);font-weight:850}.seven-summary-meta strong{font-size:21px;color:var(--good);white-space:nowrap}.seven-score-section{margin:0 14px 14px;padding:13px;border-radius:16px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.025)}.seven-score-section h4{margin:0 0 11px;font-size:15px}.seven-science-section{border-color:rgba(60,255,154,.18);background:rgba(60,255,154,.035)}.seven-science-section>.seven-section-title{margin-bottom:11px}.seven-science-section>.seven-section-title strong{color:var(--good)}.seven-total-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 14px 14px;padding:12px 13px;border-radius:14px;background:rgba(0,194,255,.08);border:1px solid rgba(0,194,255,.18);font-weight:900}.seven-total-line strong{font-size:20px;color:var(--good)}
@media(max-width:760px){.seven-extension-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.seven-summary-meta{gap:7px}.seven-summary-meta small{display:none}.seven-score-section{margin-left:10px;margin-right:10px}.seven-total-line{margin-left:10px;margin-right:10px}}
@media(max-width:430px){.seven-extension-grid{grid-template-columns:1fr}.seven-player-summary{padding:14px 12px}.seven-player-name{font-size:17px}.seven-summary-meta strong{font-size:19px}.seven-section-title{align-items:flex-start;flex-direction:column}.seven-section-title small{text-align:left}}

/* Score Party V11.12 — 7 Wonders : Score basic / Score + */
.seven-mode-switch{margin-top:0;margin-bottom:10px}.seven-mode-switch button{min-width:132px}.seven-mode-notice strong{color:#fff}.seven-extension-panel{margin-bottom:14px}.seven-extension-panel>.seven-section-title>div{display:flex;flex-direction:column;gap:3px}.seven-extension-count{flex:0 0 auto;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);font-size:12px;font-weight:900;color:var(--muted)}.seven-extension-option{align-items:flex-start}.seven-extension-option>span{display:flex;flex-direction:column;gap:3px;min-width:0}.seven-extension-option>span strong{font-size:14px}.seven-extension-option>span small{font-size:11px;line-height:1.25;color:var(--muted);font-weight:700}.seven-extension-option.active{border-color:rgba(0,194,255,.55);background:rgba(0,194,255,.12);box-shadow:inset 0 0 0 1px rgba(0,194,255,.08)}.seven-extension-option.active>span strong{color:#fff}.seven-extension-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:11px;padding:10px 12px;border-radius:13px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.025)}.seven-extension-status strong{font-size:13px}.seven-extension-status span{font-size:12px;color:var(--muted);text-align:right}.seven-extension-status.active{border-color:rgba(60,255,154,.2);background:rgba(60,255,154,.045)}.seven-extension-status.active strong{color:var(--good)}.seven-extension-section{border-color:rgba(0,194,255,.17);background:rgba(0,194,255,.035)}.seven-extension-section h4{color:#fff}
@media(max-width:560px){.seven-mode-switch{display:grid;grid-template-columns:1fr 1fr}.seven-mode-switch button{width:100%;min-width:0}.seven-extension-status{align-items:flex-start;flex-direction:column}.seven-extension-status span{text-align:left}.seven-extension-panel>.seven-section-title{align-items:flex-start}.seven-extension-count{margin-top:2px}}

/* Score Party V11.13 — 7 Wonders Score+ guidé */
.seven-player-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:9px;margin:14px 0}.seven-player-tabs button{display:grid;grid-template-columns:10px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;align-items:center;text-align:left;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035);color:var(--text);cursor:pointer}.seven-player-tabs button>span{grid-row:1/3;width:9px;height:32px;border-radius:999px}.seven-player-tabs button strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.seven-player-tabs button small{color:var(--muted);font-size:11px;font-weight:800}.seven-player-tabs button.active{border-color:rgba(0,194,255,.65);background:rgba(0,194,255,.13);box-shadow:inset 0 0 0 1px rgba(0,194,255,.1)}
.seven-wizard{padding:0;overflow:hidden}.seven-wizard-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 18px 14px;background:linear-gradient(135deg,rgba(0,194,255,.13),rgba(60,255,154,.045));border-bottom:1px solid rgba(255,255,255,.08)}.seven-wizard-head>div{min-width:0}.seven-wizard-head h3{margin:3px 0 0;font-size:21px}.seven-wizard-kicker{display:block;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.seven-wizard-head>strong{flex:0 0 auto;font-size:23px;color:var(--good);white-space:nowrap}
.seven-stepper{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.07);background:rgba(0,0,0,.08)}.seven-stepper button{min-width:0;border:0;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:5px;padding:3px;cursor:pointer}.seven-stepper button span{display:grid;place-items:center;width:27px;height:27px;border:1px solid rgba(255,255,255,.15);border-radius:50%;font-size:12px;font-weight:950;background:rgba(255,255,255,.03)}.seven-stepper button small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:850}.seven-stepper button.active{color:#fff}.seven-stepper button.active span{border-color:var(--accent);background:rgba(0,194,255,.18);box-shadow:0 0 0 3px rgba(0,194,255,.08)}.seven-stepper button.done span{border-color:rgba(60,255,154,.38);background:rgba(60,255,154,.1);color:var(--good)}
.seven-step-content{padding:16px}.seven-wizard-actions{display:grid;grid-template-columns:minmax(105px,1fr) auto minmax(170px,1fr);align-items:center;gap:12px;padding:13px 16px;border-top:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02)}.seven-wizard-actions>div{text-align:center}.seven-wizard-actions>div span{display:block;color:var(--muted);font-size:11px;font-weight:800}.seven-wizard-actions>div strong{font-size:15px}.seven-wizard-actions>button:last-child{justify-self:end}.seven-wizard-actions>button:first-child{justify-self:start}.seven-wizard-actions button:disabled{opacity:.35;cursor:not-allowed}
.seven-wonder-stages{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:10px;margin:14px 0}.seven-wonder-stage{padding:12px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.025)}.seven-wonder-stage.built{border-color:rgba(60,255,154,.32);background:rgba(60,255,154,.055)}.seven-wonder-stage>label{display:flex;align-items:center;gap:9px;margin-bottom:10px;cursor:pointer}.seven-wonder-stage>label input{width:20px;height:20px;accent-color:var(--good)}.seven-wonder-stage>label span{display:flex;flex-direction:column}.seven-wonder-stage>label small{color:var(--muted);font-size:11px}.seven-wonder-stage .field{margin:0}
.seven-live-result{display:flex;flex-direction:column;justify-content:center;min-height:92px;padding:13px 15px;border:1px solid rgba(0,194,255,.2);border-radius:15px;background:rgba(0,194,255,.07)}.seven-live-result span{font-size:12px;color:var(--muted);font-weight:850}.seven-live-result strong{font-size:29px;color:var(--good);line-height:1.05}.seven-live-result small{margin-top:4px;color:var(--muted)}
.seven-calculation-box{display:flex;flex-direction:column;gap:0;margin-top:14px;border:1px solid rgba(255,255,255,.1);border-radius:15px;overflow:hidden}.seven-calculation-box>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;border-bottom:1px solid rgba(255,255,255,.07)}.seven-calculation-box>div:last-child{border-bottom:0}.seven-calculation-box span{color:var(--muted);font-size:13px;font-weight:800}.seven-calculation-box strong{font-size:16px}.seven-calculation-box .total{background:rgba(60,255,154,.06)}.seven-calculation-box .total strong{font-size:21px;color:var(--good)}
.seven-method-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0 0 14px}.seven-method-switch.three{grid-template-columns:repeat(3,minmax(0,1fr))}.seven-method-switch button{border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);color:var(--muted);padding:10px 12px;font-weight:900;cursor:pointer}.seven-method-switch button.active{border-color:rgba(0,194,255,.55);background:rgba(0,194,255,.12);color:#fff}
.seven-age-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.seven-age-grid section{padding:13px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.025)}.seven-age-grid h4{display:flex;justify-content:space-between;gap:8px;margin:0 0 11px}.seven-age-grid h4 span{font-size:11px;color:var(--muted)}.seven-age-grid .field{margin-bottom:9px}.seven-age-grid .field:last-child{margin-bottom:0}
.seven-subsection{padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.02);margin-bottom:13px}.seven-subsection:last-child{margin-bottom:0}.seven-subsection>.seven-section-title{margin-bottom:12px}.seven-subsection>.seven-section-title strong{color:var(--good)}.seven-formula-result{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;padding:12px 13px;border:1px solid rgba(60,255,154,.18);border-radius:13px;background:rgba(60,255,154,.045);font-weight:900}.seven-formula-result span{color:var(--muted)}.seven-formula-result strong{color:var(--good);font-size:19px}
.seven-science-breakdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid rgba(60,255,154,.18);border-radius:15px;overflow:hidden;margin-top:14px}.seven-science-breakdown>div{padding:12px;border-right:1px solid rgba(255,255,255,.07);background:rgba(60,255,154,.035)}.seven-science-breakdown>div:nth-child(4){border-right:0}.seven-science-breakdown>div span{display:block;color:var(--muted);font-size:11px;font-weight:800}.seven-science-breakdown>div strong{font-size:16px}.seven-science-breakdown .total{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.08);border-right:0;background:rgba(60,255,154,.08)}.seven-science-breakdown .total strong{font-size:23px;color:var(--good)}.seven-science-choice{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:11px;padding:11px 13px;border-radius:13px;background:rgba(0,194,255,.055);border:1px solid rgba(0,194,255,.16)}.seven-science-choice>div{display:flex;flex-direction:column;gap:2px}.seven-science-choice span{color:var(--muted);font-size:12px}
.seven-extension-editors{display:flex;flex-direction:column;gap:13px}.seven-extension-editor{padding:14px;border:1px solid rgba(0,194,255,.17);border-radius:16px;background:rgba(0,194,255,.03)}.seven-extension-editor>.seven-section-title{margin-bottom:12px}.seven-extension-editor>.seven-section-title>div{display:flex;flex-direction:column;gap:3px}.seven-extension-editor h4{margin:0}.seven-extension-editor>.seven-section-title>strong{color:var(--good);font-size:19px}.seven-dynamic-list{display:flex;flex-direction:column;gap:9px}.seven-leader-row{position:relative;display:grid;grid-template-columns:1.2fr 1.15fr .75fr .75fr .75fr;gap:8px;padding:11px 42px 11px 11px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.025)}.seven-leader-row .field{margin:0}.seven-remove-row{position:absolute;top:9px;right:9px;width:28px;height:28px;border:1px solid rgba(255,122,122,.28);border-radius:50%;background:rgba(255,122,122,.08);color:#ff9c9c;font-size:20px;cursor:pointer}.seven-row-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.seven-empty-list{padding:16px}
.seven-check-card{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025);cursor:pointer}.seven-check-card.inline{margin-top:12px}.seven-check-card input{flex:0 0 auto;width:20px;height:20px;accent-color:var(--accent)}.seven-check-card span{display:flex;flex-direction:column;gap:2px}.seven-check-card small{color:var(--muted);font-size:11px}.seven-fleet-table{border:1px solid rgba(255,255,255,.09);border-radius:14px;overflow:hidden;margin-bottom:12px}.seven-fleet-table .head,.seven-fleet-table .row{display:grid;grid-template-columns:1fr 120px 120px;align-items:center;gap:9px;padding:9px 11px}.seven-fleet-table .head{background:rgba(255,255,255,.045);color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.seven-fleet-table .row{border-top:1px solid rgba(255,255,255,.06)}.seven-fleet-table input{min-width:0}
.seven-global-project{margin-bottom:14px}.seven-global-project>.seven-section-title{margin-bottom:12px}.seven-global-project>.seven-section-title>div{display:flex;flex-direction:column;gap:3px}.seven-empty-extensions{display:flex;flex-direction:column;gap:5px;padding:28px}.seven-empty-extensions span{color:var(--muted)}
.seven-review-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.seven-review-head>div{display:flex;flex-direction:column;gap:3px}.seven-review-head span{color:var(--muted);font-size:12px}.seven-ready-badge{padding:6px 10px;border:1px solid rgba(60,255,154,.25);border-radius:999px;background:rgba(60,255,154,.07);color:var(--good)!important;font-size:11px!important;font-weight:900}.seven-ready-badge.attention{border-color:rgba(255,190,64,.3);background:rgba(255,190,64,.08);color:#ffd078!important}.seven-breakdown-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:14px}.seven-breakdown-grid>div{display:flex;flex-direction:column;gap:3px;padding:10px 11px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.025)}.seven-breakdown-grid span{color:var(--muted);font-size:11px;font-weight:800}.seven-breakdown-grid strong{font-size:18px}.seven-breakdown-grid .total{border-color:rgba(60,255,154,.23);background:rgba(60,255,154,.06)}.seven-breakdown-grid .total strong{color:var(--good);font-size:24px}.seven-warning-list{display:flex;flex-direction:column;gap:8px;margin:13px 0}.seven-warning-list>div{display:grid;grid-template-columns:25px minmax(0,1fr);gap:8px;align-items:start;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025)}.seven-warning-list>div>span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-size:12px;font-weight:950;background:rgba(255,255,255,.06)}.seven-warning-list p{margin:2px 0 0;font-size:13px}.seven-warning-list .ok{border-color:rgba(60,255,154,.2);background:rgba(60,255,154,.04)}.seven-warning-list .ok>span{color:var(--good)}.seven-warning-list .warn,.seven-warning-list .error{border-color:rgba(255,190,64,.22);background:rgba(255,190,64,.04)}.seven-warning-list .error{border-color:rgba(255,122,122,.24);background:rgba(255,122,122,.045)}
.seven-live-final{margin-top:14px}.seven-live-final>.seven-section-title,.seven-final-details>.seven-section-title{margin-bottom:11px}.seven-live-final>.seven-section-title>div,.seven-final-details>.seven-section-title>div{display:flex;flex-direction:column;gap:3px}.seven-table-scroll{width:100%;overflow-x:auto;border:1px solid rgba(255,255,255,.09);border-radius:14px}.seven-detailed-table{width:100%;min-width:900px;border-collapse:collapse;background:rgba(255,255,255,.018)}.seven-detailed-table th,.seven-detailed-table td{padding:10px 9px;border-bottom:1px solid rgba(255,255,255,.065);text-align:center;white-space:nowrap}.seven-detailed-table thead th{position:sticky;top:0;background:#18202c;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.03em}.seven-detailed-table tbody th{text-align:left}.seven-detailed-table tbody th small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.seven-detailed-table tbody tr:last-child th,.seven-detailed-table tbody tr:last-child td{border-bottom:0}.seven-detailed-table tbody td:last-child{color:var(--good);font-size:17px;background:rgba(60,255,154,.035)}.seven-final-details{margin:20px 0 14px;padding:14px;border:1px solid rgba(0,194,255,.17);border-radius:16px;background:rgba(0,194,255,.03)}.seven-tie-note{margin-top:11px}

@media(max-width:900px){.seven-leader-row{grid-template-columns:repeat(2,minmax(0,1fr))}.seven-leader-row .field:first-child{grid-column:1/-1}.seven-breakdown-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.seven-age-grid{grid-template-columns:1fr}.seven-science-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}.seven-science-breakdown>div:nth-child(2){border-right:0}.seven-science-breakdown>div:nth-child(3),.seven-science-breakdown>div:nth-child(4){border-top:1px solid rgba(255,255,255,.07)}.seven-science-breakdown>div:nth-child(4){border-right:0}}
@media(max-width:680px){.seven-wizard-head{align-items:flex-start;padding:15px 13px}.seven-wizard-head h3{font-size:19px}.seven-wizard-head>strong{font-size:19px}.seven-stepper{display:flex;overflow-x:auto;justify-content:flex-start;padding:10px 9px;scrollbar-width:none}.seven-stepper::-webkit-scrollbar{display:none}.seven-stepper button{flex:0 0 72px}.seven-step-content{padding:13px 10px}.seven-wizard-actions{grid-template-columns:1fr 1fr;padding:11px 10px}.seven-wizard-actions>div{display:none}.seven-wizard-actions>button{width:100%;justify-self:stretch!important}.seven-player-tabs{display:flex;overflow-x:auto;grid-template-columns:none;padding-bottom:2px;scrollbar-width:none}.seven-player-tabs::-webkit-scrollbar{display:none}.seven-player-tabs button{flex:0 0 145px}.seven-method-switch.three{grid-template-columns:1fr}.seven-science-choice{align-items:flex-start;flex-direction:column}.seven-fleet-table .head,.seven-fleet-table .row{grid-template-columns:1fr 86px 86px}.seven-breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.seven-leader-row{grid-template-columns:1fr;padding-right:42px}.seven-leader-row .field:first-child{grid-column:auto}.seven-review-head{align-items:flex-start;flex-direction:column}.seven-global-project{padding:13px}}
@media(max-width:430px){.seven-wizard-head{flex-direction:column;gap:8px}.seven-wizard-head>strong{align-self:flex-start}.seven-wonder-stages{grid-template-columns:1fr}.seven-method-switch{grid-template-columns:1fr}.seven-science-breakdown{grid-template-columns:1fr}.seven-science-breakdown>div{border-right:0!important;border-top:1px solid rgba(255,255,255,.07)}.seven-science-breakdown>div:first-child{border-top:0}.seven-fleet-table .head,.seven-fleet-table .row{grid-template-columns:minmax(70px,1fr) 72px 72px;padding-left:8px;padding-right:8px}.seven-breakdown-grid{grid-template-columns:1fr 1fr}.seven-wizard-actions{grid-template-columns:90px 1fr}.seven-wizard-actions .btn{font-size:12px;padding-left:8px;padding-right:8px}}

/* Score Party V11.14 — Life of the Amazonia Photo Score+ */
.amazonia-app{display:grid;gap:16px;min-width:0}
.amazonia-player-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.amazonia-player-tab{display:grid;gap:2px;text-align:left;border:1px solid var(--line);background:rgba(255,255,255,.045);color:var(--txt);border-radius:14px;padding:10px 12px;cursor:pointer;min-width:0}
.amazonia-player-tab.active{border-color:var(--accent);box-shadow:0 0 0 2px rgba(124,92,255,.22)}
.amazonia-player-tab span,.amazonia-player-tab strong,.amazonia-player-tab small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.amazonia-player-tab small{color:var(--muted)}
.amazonia-guide-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid var(--line)}
.amazonia-guide-head>div{display:grid;gap:3px;min-width:0}.amazonia-guide-head span{color:var(--muted)}
.amazonia-live-total{flex:0 0 auto!important;color:var(--accent2)!important;font-weight:900;font-size:1.2rem}
.amazonia-progress{height:8px;border-radius:999px;background:rgba(255,255,255,.045);overflow:hidden;border:1px solid var(--line)}
.amazonia-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:inherit;transition:width .2s ease}
.amazonia-step-panel{display:grid;gap:14px;min-width:0}.amazonia-step-panel h4{margin:4px 0 0;font-size:1rem}
.amazonia-photo-actions,.amazonia-nav-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.amazonia-file-label{cursor:pointer;margin:0}
.amazonia-photo-stage{position:relative;width:100%;max-width:900px;margin-inline:auto;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#111;touch-action:manipulation;cursor:crosshair}
.amazonia-photo-stage img{display:block;width:100%;height:auto;max-height:70vh;object-fit:contain;user-select:none;-webkit-user-drag:none}
.amazonia-photo-overlay{position:absolute;inset:0;pointer-events:none}
.amazonia-photo-marker{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:34px;height:34px;border-radius:999px;border:2px solid #fff;background:rgba(12,18,15,.82);font-size:18px;line-height:1;cursor:pointer;pointer-events:auto;box-shadow:0 2px 8px rgba(0,0,0,.38)}
.amazonia-photo-marker:focus-visible{outline:3px solid var(--accent2);outline-offset:2px}
.amazonia-photo-empty{width:100%;min-height:190px;border:2px dashed var(--line);border-radius:16px;background:rgba(255,255,255,.045);color:var(--txt);display:grid;place-items:center;align-content:center;gap:8px;padding:24px;cursor:pointer;text-align:center}
.amazonia-photo-empty>span{font-size:2rem}.amazonia-photo-empty small{max-width:540px;color:var(--muted)}
.amazonia-marker-toolbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:8px}
.amazonia-marker-choice{display:grid;place-items:center;gap:3px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.045);color:var(--txt);padding:8px 5px;cursor:pointer;min-width:0}
.amazonia-marker-choice span{font-size:1.25rem}.amazonia-marker-choice small{overflow:hidden;text-overflow:ellipsis;max-width:100%}
.amazonia-marker-choice.active{border-color:var(--accent);background:rgba(124,92,255,.16);box-shadow:0 0 0 2px rgba(124,92,255,.18)}
.amazonia-count-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:8px}
.amazonia-count-chip{display:grid;grid-template-columns:auto auto;align-items:center;justify-content:center;gap:2px 8px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.045);padding:8px;text-align:center}
.amazonia-count-chip small{grid-column:1/-1;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.amazonia-count-chip strong{font-size:1.1rem}
.amazonia-photo-tip{color:var(--muted);font-size:.92rem}
.amazonia-animal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.amazonia-formula-block{display:grid;align-content:start;gap:10px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035);padding:13px;min-width:0}
.amazonia-formula-block.wide{grid-column:1/-1}.amazonia-formula-block p{margin:0;color:var(--muted)}
.amazonia-tier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:10px;min-width:0}
.amazonia-manual-animal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.amazonia-scenery-list{display:grid;gap:10px}.amazonia-scenery-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(110px,1fr);gap:10px;padding:10px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.035)}
.amazonia-final-check{padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.035)}
.amazonia-review-total{display:grid;gap:4px;text-align:center;border:1px solid var(--accent);border-radius:16px;background:rgba(124,92,255,.10);padding:18px}
.amazonia-review-total strong{font-size:1.75rem;color:var(--accent2)}.amazonia-review-total small{color:var(--muted)}
.amazonia-breakdown-list{display:grid;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.amazonia-breakdown-list>div{display:flex;justify-content:space-between;gap:12px;padding:10px 13px;border-bottom:1px solid var(--line)}
.amazonia-breakdown-list>div:last-child{border-bottom:0}.amazonia-breakdown-list .sub{padding-left:30px;color:var(--muted);font-size:.92rem}
.amazonia-warning-list{display:grid;gap:7px;padding:12px;border:1px solid rgba(255,209,102,.35);border-radius:13px;background:rgba(255,209,102,.08);color:var(--txt)}
.amazonia-ok{padding:12px;border:1px solid rgba(60,255,154,.28);border-radius:13px;background:rgba(60,255,154,.07)}
.amazonia-validate-player{width:100%}.amazonia-nav-actions{justify-content:space-between}.amazonia-final-actions{display:flex;flex-wrap:wrap;align-items:center}.amazonia-final-actions small{width:100%;color:var(--muted)}
.amazonia-final-table-wrap{margin:14px 0;overflow-x:auto}.amazonia-final-table{min-width:620px}.amazonia-tiebreak-note{color:var(--muted);font-size:.92rem}
@media(max-width:680px){.amazonia-animal-grid,.amazonia-manual-animal-grid{grid-template-columns:1fr}.amazonia-formula-block.wide{grid-column:auto}.amazonia-scenery-row{grid-template-columns:1fr}.amazonia-photo-marker{width:30px;height:30px;font-size:16px}.amazonia-guide-head{align-items:flex-start}.amazonia-live-total{font-size:1.05rem}}

/* Score Party V11.15 — Life of the Amazonia Photo Score+ IA */
.amazonia-ai-status{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.04)}
.amazonia-ai-status span,.amazonia-ai-status li{color:var(--muted)}
.amazonia-ai-status ul{margin:4px 0 0;padding-left:20px;display:grid;gap:4px}
.amazonia-ai-status.done{border-color:rgba(60,255,154,.32);background:rgba(60,255,154,.07)}
.amazonia-ai-status.error{border-color:rgba(255,107,107,.38);background:rgba(255,107,107,.08)}
.amazonia-ai-status.loading{border-color:rgba(255,209,102,.35);background:rgba(255,209,102,.08)}
.amazonia-ai-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.amazonia-ai-summary span{display:grid;gap:2px;text-align:center;padding:9px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.035);color:var(--muted)}
.amazonia-ai-summary strong{color:var(--txt);font-size:1.05rem}.amazonia-ai-summary .warn{border-color:rgba(255,209,102,.4)}
.amazonia-photo-marker{grid-template-columns:1fr;gap:0;padding:0}
.amazonia-photo-marker>span{display:block;line-height:1}
.amazonia-photo-marker>small{position:absolute;left:50%;top:100%;transform:translate(-50%,-2px);padding:1px 4px;border-radius:999px;background:rgba(12,18,15,.92);color:#fff;font-size:9px;line-height:1.25;white-space:nowrap}
.amazonia-photo-marker.ai.high{border-color:#5ee59a}.amazonia-photo-marker.ai.medium{border-color:#ffd166}.amazonia-photo-marker.ai.low{border-color:#ff7b7b}
.amazonia-photo-marker.manual{border-color:#fff}.amazonia-photo-marker.selected{outline:3px solid var(--accent2);outline-offset:3px;z-index:3}
.amazonia-marker-editor{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(170px,1fr) auto;gap:12px;align-items:end;padding:13px;border:1px solid var(--accent);border-radius:14px;background:rgba(124,92,255,.09)}
.amazonia-marker-editor>div{display:grid;gap:3px;align-self:center}.amazonia-marker-editor small{color:var(--muted)}
.amazonia-marker-editor label{display:grid;gap:5px;font-size:.92rem}
.amazonia-ai-spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:999px;vertical-align:-2px;animation:amazonia-spin .75s linear infinite}
@keyframes amazonia-spin{to{transform:rotate(360deg)}}
@media(max-width:680px){.amazonia-ai-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.amazonia-marker-editor{grid-template-columns:1fr}.amazonia-marker-editor .ghost-btn{width:100%}.amazonia-photo-marker>small{font-size:8px}}

/* Score Party V11.16 — Life of the Amazonia : analyse locale sans API */
.amazonia-local-panel{display:grid;gap:12px;padding:14px;border:1px solid rgba(80,190,255,.34);border-radius:14px;background:rgba(80,190,255,.065)}
.amazonia-local-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.amazonia-local-head>div{display:grid;gap:4px}.amazonia-local-head span{color:var(--muted)}
.amazonia-local-badge{display:inline-flex;align-items:center;white-space:nowrap;padding:5px 9px;border:1px solid rgba(80,190,255,.32);border-radius:999px;background:rgba(80,190,255,.08);font-size:.86rem}
.amazonia-local-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.amazonia-local-actions .active{box-shadow:0 0 0 3px rgba(255,209,102,.2);border-color:#ffd166}
.amazonia-sensitivity{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;gap:9px;align-items:center}
.amazonia-sensitivity input{width:100%}.amazonia-sensitivity small{grid-column:1/-1;color:var(--muted)}
.amazonia-calibration-chips{display:flex;flex-wrap:wrap;gap:7px}
.amazonia-calibration-chips span{display:inline-flex;gap:6px;align-items:center;padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.04)}
.amazonia-calibration-chips strong{display:grid;place-items:center;min-width:20px;height:20px;border-radius:999px;background:rgba(80,190,255,.16)}
.amazonia-local-help{margin:0;color:var(--muted)}
.amazonia-local-status{display:grid;gap:4px;padding:12px 14px;border:1px solid rgba(80,190,255,.34);border-radius:13px;background:rgba(80,190,255,.07)}
.amazonia-local-status span,.amazonia-local-status li{color:var(--muted)}
.amazonia-local-status ul{margin:4px 0 0;padding-left:20px;display:grid;gap:4px}
.amazonia-local-status.done{border-color:rgba(60,255,154,.32);background:rgba(60,255,154,.07)}
.amazonia-local-status.error{border-color:rgba(255,107,107,.38);background:rgba(255,107,107,.08)}
.amazonia-local-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.amazonia-local-summary span{display:grid;gap:2px;text-align:center;padding:9px;border:1px solid rgba(80,190,255,.28);border-radius:12px;background:rgba(80,190,255,.05);color:var(--muted)}
.amazonia-local-summary strong{color:var(--txt);font-size:1.05rem}
.amazonia-photo-marker.local.high{border-color:#62d6ff}.amazonia-photo-marker.local.medium{border-color:#9edfff}.amazonia-photo-marker.local.low{border-color:#ffd166}
.amazonia-photo-stage.calibrating{outline:3px solid #ffd166;outline-offset:3px;cursor:cell}
.amazonia-calibration-hint{position:absolute;left:50%;top:10px;transform:translateX(-50%);z-index:4;pointer-events:none;padding:7px 11px;border-radius:999px;background:rgba(12,18,15,.9);color:#fff;font-weight:700;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.amazonia-marker-choice{position:relative}.amazonia-marker-choice em{position:absolute;right:5px;top:4px;min-width:18px;height:18px;display:grid;place-items:center;border-radius:999px;background:rgba(80,190,255,.18);color:var(--txt);font-size:.72rem;font-style:normal}
@media(max-width:680px){.amazonia-local-head{display:grid}.amazonia-local-badge{justify-self:start}.amazonia-local-actions>*{flex:1 1 145px}.amazonia-local-summary{grid-template-columns:1fr}.amazonia-sensitivity{grid-template-columns:1fr auto}.amazonia-sensitivity input{grid-column:1/-1}.amazonia-calibration-hint{max-width:calc(100% - 20px);white-space:normal;text-align:center}}

/* Score Party V11.17 — Life of the Amazonia : profils de calibration persistants */
.amazonia-profile-manager{display:grid;grid-template-columns:minmax(190px,1fr) auto auto auto;gap:8px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.035)}
.amazonia-profile-manager label{display:grid;gap:5px;font-size:.9rem;min-width:0}
.amazonia-profile-manager .ghost-btn{white-space:nowrap}
.amazonia-profile-note{padding:9px 11px;border-radius:11px;background:rgba(60,255,154,.06);border:1px solid rgba(60,255,154,.18);color:var(--muted);font-size:.9rem}
.amazonia-profile-note strong{color:var(--txt)}
.amazonia-marker-editor-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.amazonia-marker-editor-actions .ghost-btn{flex:1 1 145px}
@media(max-width:800px){.amazonia-profile-manager{grid-template-columns:1fr 1fr}.amazonia-profile-manager label{grid-column:1/-1}}
@media(max-width:480px){.amazonia-profile-manager{grid-template-columns:1fr}.amazonia-profile-manager label{grid-column:auto}.amazonia-profile-manager .ghost-btn{width:100%}}

/* V11.18 — Château Combo Photo Score+ */
.combo-photo-assist{margin:16px 0;padding:16px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}
.combo-photo-head,.combo-photo-controls{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.combo-photo-head>div{display:grid;gap:3px}.combo-photo-head small{color:var(--muted)}
.combo-photo-stage{position:relative;margin-top:14px;overflow:hidden;border-radius:16px;background:#111}.combo-photo-stage img{display:block;width:100%;height:auto;max-height:680px;object-fit:contain}.combo-photo-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);pointer-events:none}.combo-photo-grid button{pointer-events:auto;position:relative;border:1px solid rgba(255,255,255,.8);background:rgba(0,0,0,.04);color:white;text-shadow:0 1px 3px #000}.combo-photo-grid button>span{position:absolute;top:4px;left:5px;background:rgba(0,0,0,.62);border-radius:999px;padding:2px 7px}.combo-photo-grid button small{position:absolute;left:4px;right:4px;bottom:4px;display:flex;justify-content:space-between;gap:4px;padding:4px 6px;border-radius:8px;background:rgba(0,0,0,.72);font-weight:600}.combo-photo-grid button b{white-space:nowrap}.combo-photo-empty{margin-top:14px;padding:28px 16px;text-align:center;border:2px dashed var(--border);border-radius:16px;color:var(--muted)}.combo-photo-controls{justify-content:flex-start;margin-top:12px}.combo-photo-status{margin-top:12px;padding:10px 12px;border-radius:12px;background:var(--surface-2)}.combo-photo-status.error{color:var(--danger)}.combo-crop-details{margin-top:12px}.combo-crop-details summary{cursor:pointer;font-weight:700}.calc-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:700px){.calc-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.combo-photo-head .btn{width:100%}.combo-photo-grid button small{font-size:10px}}

/* V11.19 — Château Combo bibliothèque centrale et scan individuel */
.combo-single-trainer{margin:16px 0;padding:16px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,rgba(0,194,255,.055),rgba(255,255,255,.025))}
.combo-single-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.combo-single-head>div{display:grid;gap:3px}.combo-single-head small,.combo-central-message{color:var(--muted)}
.combo-central-badge{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);font-size:12px;font-weight:800}.combo-central-badge.loading{opacity:.7}.combo-central-badge.error{border-color:rgba(255,90,90,.35)}
.combo-single-fields{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(190px,.6fr);gap:12px;margin-top:14px}.combo-single-fields .field{display:grid;align-content:start;gap:7px}.combo-single-fields .field>span{font-size:12px;font-weight:800;color:var(--muted)}.combo-single-file{display:flex;justify-content:center;width:100%}
.combo-single-preview{display:grid;grid-template-columns:minmax(120px,220px) 1fr;align-items:center;gap:14px;margin-top:14px;padding:12px;border-radius:15px;background:var(--surface-2)}.combo-single-preview img{display:block;width:100%;max-height:300px;object-fit:contain;border-radius:11px;background:#111}.combo-single-preview p{margin:0;color:var(--muted);line-height:1.45}.combo-photo-empty.compact{padding:18px 14px}.combo-central-message{display:block;margin-top:10px}.combo-central-message.error{color:var(--danger)}
@media(max-width:700px){.combo-single-fields,.combo-single-preview{grid-template-columns:1fr}.combo-single-preview img{max-height:420px}.combo-central-badge{width:100%;justify-content:center}}

/* V11.21 — calibration perspective Château Combo */
.combo-perspective-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}.combo-perspective-overlay line{stroke:rgba(255,255,255,.95);stroke-width:4;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px #000)}.combo-perspective-overlay circle{fill:#ffcf33;stroke:#111;stroke-width:4;vector-effect:non-scaling-stroke}.combo-photo-grid.calibrated{z-index:3}.combo-photo-grid.calibrated button{border:0;background:transparent}.combo-photo-grid button.photo-match-ok small{background:rgba(20,110,55,.9)}.combo-photo-grid button.photo-match-check small{background:rgba(145,80,0,.92);flex-wrap:wrap}.combo-photo-grid button small em{display:block;width:100%;font-style:normal;font-size:9px;opacity:.9}.combo-photo-grid button.photo-match-check>span{background:rgba(145,80,0,.92)}

/* V11.22 — Château Combo scan individuel guidé */
.combo-precise-scan{margin:16px 0;padding:18px;border:1px solid rgba(77,221,163,.35);border-radius:20px;background:linear-gradient(180deg,rgba(77,221,163,.09),rgba(255,255,255,.025));box-shadow:0 14px 36px rgba(0,0,0,.12)}
.combo-precise-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.combo-precise-head>div{display:grid;gap:4px}.combo-precise-head small{color:var(--muted)}
.combo-precise-progress{display:inline-flex;align-items:center;min-height:34px;padding:6px 12px;border-radius:999px;background:rgba(77,221,163,.14);border:1px solid rgba(77,221,163,.28);font-size:13px;font-weight:900}
.combo-precise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.combo-precise-slot{display:grid;gap:4px;min-height:76px;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2);color:var(--txt);text-align:left;cursor:pointer}.combo-precise-slot>span{font-size:11px;color:var(--muted);font-weight:900}.combo-precise-slot>b{font-size:13px;line-height:1.2}.combo-precise-slot>small{font-size:10px;color:var(--muted)}.combo-precise-slot.active{outline:2px solid var(--accent);border-color:transparent}.combo-precise-slot.done{border-color:rgba(77,221,163,.38);background:rgba(77,221,163,.08)}.combo-precise-slot.error{border-color:rgba(255,90,90,.4)}
.combo-precise-current{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(0,1.25fr);gap:16px;margin-top:16px;padding:14px;border-radius:16px;background:var(--surface-2)}.combo-precise-photo img{display:block;width:100%;max-height:440px;object-fit:contain;border-radius:13px;background:#111}.combo-precise-actions{display:grid;align-content:start;gap:10px}.combo-precise-actions h4{margin:0}.combo-precise-actions>.btn{justify-self:start}.combo-precise-choices{display:flex;flex-wrap:wrap;gap:8px}.combo-precise-choices .btn{padding:10px 12px;font-size:13px}.combo-photo-status.ready,.combo-photo-status.done{color:#6fe3ad}.combo-photo-status.check{color:#ffd166}
.combo-alternative-scan{margin:14px 0}.combo-alternative-scan>summary{cursor:pointer;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2);font-weight:800}.combo-alternative-scan[open]>summary{margin-bottom:10px}.combo-alternative-scan .combo-photo-assist,.combo-alternative-scan .combo-single-trainer{margin-left:0;margin-right:0}
@media(max-width:700px){.combo-precise-current{grid-template-columns:1fr}.combo-precise-grid{gap:6px}.combo-precise-slot{min-height:70px;padding:8px}.combo-precise-actions>.btn{width:100%}.combo-precise-choices{display:grid}.combo-precise-choices .btn{width:100%}}


/* Score Party V11.23 — Fantasy Realms */
.fr-picker,.fr-hand{display:grid;gap:14px;margin-top:14px}.fr-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;max-height:520px;overflow:auto}.fr-result{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;border:1px solid var(--line,#d9e1e8);background:var(--surface,#fff);border-radius:14px;padding:10px}.fr-result>span{display:grid;gap:2px}.fr-result small{opacity:.72}.fr-result:disabled{opacity:.5}.fr-hand-list{display:grid;gap:10px}.fr-card{border:1px solid var(--line,#d9e1e8);border-radius:16px;padding:12px;background:var(--surface,#fff);display:grid;gap:8px}.fr-card.blanked{opacity:.58}.fr-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px}.fr-card-head>span{display:grid;gap:2px}.fr-card p{margin:0;font-size:.9rem;opacity:.82}.fr-suit{display:inline-flex;width:max-content;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:700;background:rgba(127,127,127,.14)}.fr-cleared{font-weight:700}.fr-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.game-menu-icon,.session-icon,#selectedGameIcon{white-space:nowrap}.game-menu-icon{min-width:2.8rem;text-align:center}
@media(max-width:620px){.fr-results{grid-template-columns:1fr;max-height:none}.fr-card-head{grid-template-columns:minmax(0,1fr) auto}.fr-card-head .ghost-btn{grid-column:1/-1}.fr-action-grid{grid-template-columns:1fr}}

/* Score Party V11.24 — Faraway */
.far-route,.far-sanctuaries,.far-breakdown{display:grid;gap:14px;margin-top:16px;padding:15px;border:1px solid var(--line,var(--border));border-radius:18px;background:var(--surface)}
.far-route-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px}
.far-region-chip{display:grid;gap:4px;min-width:0;padding:9px 6px;border:1px solid var(--line,var(--border));border-radius:13px;background:var(--surface-2);color:var(--txt);text-align:center;cursor:pointer}
.far-region-chip span,.far-region-chip small{font-size:.72rem;color:var(--muted)}.far-region-chip b{font-size:.82rem}.far-region-chip.active{outline:2px solid var(--accent);border-color:transparent}.far-region-chip small{line-height:1.2}
.far-quest-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.far-prereq{grid-column:1/-1;display:grid;gap:8px;padding:11px;border:1px dashed var(--line,var(--border));border-radius:13px;background:rgba(255,255,255,.025)}
.far-sanctuary-list{display:grid;gap:12px}.far-sanctuary{display:grid;gap:10px;padding:13px;border:1px solid var(--line,var(--border));border-radius:15px;background:var(--surface-2)}
.far-unmet{opacity:.62}.far-unmet strong{color:var(--danger)}
@media(max-width:850px){.far-route-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:620px){.far-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.far-quest-editor{grid-template-columns:1fr}.far-prereq{grid-column:auto}}

/* Score Party V11.25 — Harmonies */
.harm-subtitle{margin:14px 0 8px;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.05em}
.harm-spacer{margin-top:12px}
.harm-animal-list{display:flex;flex-direction:column;gap:9px}
.harm-animal-row{display:grid;grid-template-columns:minmax(150px,1.35fr) minmax(115px,.7fr) minmax(115px,.7fr) auto;gap:9px;align-items:end;padding:11px;border-radius:15px;background:rgba(0,0,0,.13);border:1px solid rgba(255,255,255,.08)}
.harm-remove-animal{min-height:43px}
.harm-grand-total{border:1px solid rgba(60,255,154,.22);background:rgba(60,255,154,.08)}
.harm-grand-total b{font-size:23px}
@media(max-width:760px){.harm-animal-row{grid-template-columns:1fr 1fr}.harm-animal-row>label:first-child{grid-column:1/-1}.harm-remove-animal{grid-column:1/-1}}
@media(max-width:430px){.harm-animal-row{grid-template-columns:1fr}.harm-animal-row>label:first-child,.harm-remove-animal{grid-column:auto}}

/* Score Party V11.27 — stabilisation, fiabilité et correction des saisies */
.sp-calculator-header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;margin:0 0 16px;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.035)}
.sp-calculator-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,.07);font-size:25px;line-height:1}
.sp-calculator-copy{min-width:0}.sp-calculator-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.sp-calculator-title-row h3{margin:0;font-size:18px}.sp-calculator-copy>p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.sp-quality-note{margin-top:8px;color:var(--muted);font-size:11px;font-weight:750}.sp-quality-badges,.game-menu-quality{display:flex;gap:5px;flex-wrap:wrap}.sp-quality-badge{display:inline-flex;align-items:center;gap:4px;width:max-content;padding:4px 7px;border:1px solid rgba(255,255,255,.12);border-radius:999px;font-size:10px;font-weight:900;line-height:1.2;white-space:nowrap}.sp-quality-badge.controlled{color:#9fffc9;background:rgba(60,255,154,.08);border-color:rgba(60,255,154,.24)}.sp-quality-badge.standard{color:#ffe195;background:rgba(255,212,59,.08);border-color:rgba(255,212,59,.23)}.sp-quality-badge.testing{color:#ffd19a;background:rgba(255,159,28,.09);border-color:rgba(255,159,28,.25)}.sp-quality-badge.manual{color:#b9dfff;background:rgba(0,194,255,.08);border-color:rgba(0,194,255,.23)}.sp-quality-badge.photo{color:#ffc3e4;background:rgba(247,37,133,.08);border-color:rgba(247,37,133,.22)}
.game-menu-quality{margin-top:6px}.game-menu-quality .sp-quality-badge{font-size:9px;padding:3px 6px}.game-menu-item{align-items:flex-start}.game-menu-copy{min-width:0}
.sp-consistency{margin-top:10px;padding:10px 12px;border:1px solid rgba(255,159,28,.28);border-radius:12px;background:rgba(255,159,28,.08);font-size:12px}.sp-consistency strong{display:block;color:#ffd19a}.sp-consistency ul{margin:6px 0 0;padding-left:18px;color:var(--text)}.sp-consistency li+li{margin-top:3px}
#undoBtn{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#undoBtn:disabled{opacity:.45;cursor:not-allowed}
.history-input-section{margin-top:12px}.history-input-section h5{margin:0 0 7px;font-size:12px;color:var(--muted)}.history-friendly,.history-technical{margin-top:11px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.025);overflow:hidden}.history-friendly>summary,.history-technical>summary{padding:10px 12px;cursor:pointer;font-weight:900;font-size:12px}.history-friendly>.sp-meta-grid,.history-friendly>.sp-meta-list,.history-friendly>.sp-meta-value{margin:0 10px 10px}.sp-meta-grid{display:grid;gap:6px}.sp-meta-row{display:grid;grid-template-columns:minmax(105px,.7fr) minmax(0,1.3fr);gap:9px;align-items:start;padding:7px 8px;border-radius:9px;background:rgba(255,255,255,.035)}.sp-meta-row>span:first-child{color:var(--muted);font-size:11px;font-weight:800}.sp-meta-row>.sp-meta-grid{grid-column:1/-1;margin-top:3px}.sp-meta-value{font-size:12px;font-weight:800;word-break:break-word}.sp-meta-value.muted{color:var(--muted);font-weight:700}.sp-meta-list{display:grid;gap:5px}.sp-meta-item{display:grid;grid-template-columns:24px minmax(0,1fr);gap:7px;align-items:start}.sp-meta-item>span:first-child{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:rgba(255,255,255,.06);color:var(--muted);font-size:10px;font-weight:900}
.history-correction{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.history-correction small{flex:1;min-width:180px;color:var(--muted);font-size:11px;line-height:1.4}
/* Unifie les sélecteurs Score assisté / Score rapide des modules historiques. */
.game-mode-switch,.ever-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:13px;padding:5px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.035)}.game-mode-switch button,.ever-mode-switch button{min-height:40px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-weight:900;cursor:pointer}.game-mode-switch button.active,.ever-mode-switch button.active{background:var(--accent);color:#07101e}
@media(max-width:560px){.sp-calculator-header{grid-template-columns:1fr;padding:12px}.sp-calculator-icon{width:42px;height:42px}.sp-calculator-title-row{display:grid;grid-template-columns:1fr}.sp-meta-row{grid-template-columns:1fr}.sp-meta-row>.sp-meta-grid{grid-column:auto}.history-correction{display:grid}.history-correction small{min-width:0}.game-mode-switch,.ever-mode-switch{grid-template-columns:1fr 1fr}}


/* Score Party V11.28 — Faraway normal + avancé */
.game-mode-switch.far-mode-switch{grid-template-columns:repeat(3,minmax(0,1fr))}
.far-direction{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 10px;border-radius:10px;background:rgba(255,255,255,.035);color:var(--muted);font-size:11px;font-weight:850}
.far-card-slot{position:relative;align-content:start;min-height:154px;padding:28px 8px 10px;border-radius:12px 12px 16px 16px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025));overflow:hidden}
.far-card-slot::after{content:"";position:absolute;inset:6px;border:1px solid rgba(255,255,255,.07);border-radius:8px 8px 12px 12px;pointer-events:none}
.far-card-position{position:absolute;top:7px;left:8px;display:grid!important;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#07101e!important;font-size:11px!important;font-weight:950;z-index:1}
.far-card-slot>b{display:-webkit-box;min-height:34px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.78rem;line-height:1.25}
.far-card-slot>em{font-style:normal;font-size:.73rem;color:var(--muted)}
.far-card-slot>small{margin-top:auto}
.far-selected-card{margin-top:14px}
.far-score-input{font-size:1.15rem;font-weight:900}
@media(max-width:850px){.far-card-slot{min-height:132px}}
@media(max-width:620px){.game-mode-switch.far-mode-switch{grid-template-columns:repeat(3,minmax(0,1fr))}.game-mode-switch.far-mode-switch button{font-size:12px;padding-inline:4px}.far-card-slot{min-height:126px}.far-direction{display:grid;grid-template-columns:1fr 1fr}}

/* Score Party V11.29 — catalogues */
.sp-quality-badge.catalog-complete{border-color:rgba(76,201,240,.45);background:rgba(76,201,240,.12);color:#bfefff}
.sp-quality-badge.catalog-partial{border-color:rgba(255,190,92,.45);background:rgba(255,190,92,.12);color:#ffe0a3}
.sp-catalog-note{margin-top:8px;padding:9px 11px;border:1px solid var(--line,var(--border));border-radius:12px;background:rgba(255,255,255,.025);color:var(--muted);font-size:.82rem;line-height:1.45}
.sp-catalog-note strong{color:var(--txt)}
.far-catalog-select{margin-bottom:12px}
.far-catalog-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line,var(--border));border-radius:13px;background:rgba(255,255,255,.03)}
.far-catalog-summary strong{font-size:1rem}.far-catalog-summary span{color:var(--muted);font-size:.82rem;text-align:right}
.far-manual-details,.far-catalog-audit{border:1px solid var(--line,var(--border));border-radius:14px;background:rgba(255,255,255,.025);overflow:hidden}
.far-manual-details>summary,.far-catalog-audit>summary{padding:11px 13px;cursor:pointer;font-weight:850;color:var(--txt)}
.far-manual-details[open]>summary,.far-catalog-audit[open]>summary{border-bottom:1px solid var(--line,var(--border))}
.far-manual-details>div,.far-manual-details>h4{margin-inline:12px}.far-manual-details>div:first-of-type{margin-top:12px}.far-manual-details>h4{margin-top:14px}
.far-manual-details>.far-quest-editor{margin:0 12px 12px}
.far-catalog-audit{margin-top:12px}
.far-catalog-audit-body{display:grid;gap:12px;padding:12px}.far-catalog-audit-body p{margin:0;color:var(--muted);font-size:.85rem;line-height:1.45}
.far-catalog-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}.far-catalog-list>div{display:grid;gap:8px}
.far-catalog-chips{display:flex;flex-wrap:wrap;gap:5px}.far-catalog-chips span{display:grid;place-items:center;min-width:30px;height:28px;padding:0 6px;border:1px solid var(--line,var(--border));border-radius:8px;background:var(--surface-2);font-size:.72rem;font-weight:800;color:var(--txt)}
@media(max-width:620px){.far-catalog-list{grid-template-columns:1fr}.far-catalog-summary{align-items:flex-start;flex-direction:column}.far-catalog-summary span{text-align:left}.sp-catalog-note{font-size:.78rem}}

/* V11.29.1 — Faraway : vraie rangée de 8 emplacements de cartes */
.far-route-scroller{width:100%;overflow-x:auto;overscroll-behavior-inline:contain;padding:2px 2px 8px;scrollbar-width:thin}
.far-route-grid{display:grid;grid-template-columns:repeat(8,minmax(104px,1fr));gap:8px;min-width:880px}
.far-card-slot{aspect-ratio:5/7;min-height:0;padding:31px 8px 10px;grid-template-rows:auto auto auto 1fr;justify-items:center;border-width:2px}
.far-card-slot.empty{border-style:dashed;opacity:.88}
.far-card-slot.empty:hover,.far-card-slot.empty:focus-visible{opacity:1}
.far-card-art{display:grid!important;place-items:center;width:44px;height:44px;margin:4px auto 2px;border-radius:50%;background:rgba(255,255,255,.06);font-size:1.45rem!important;color:var(--txt)!important}
.far-card-slot.empty .far-card-art{background:var(--accent);color:#07101e!important;font-weight:950}
.far-card-slot.active{outline:3px solid var(--accent);outline-offset:2px}
.far-route-help{margin:0;color:var(--muted);font-size:.78rem;text-align:center}
@media(max-width:850px){.far-route-grid{grid-template-columns:repeat(8,112px);min-width:max-content}.far-card-slot{width:112px;min-height:157px}.far-route-scroller{scroll-snap-type:x proximity}.far-card-slot{scroll-snap-align:start}}
@media(max-width:620px){.far-route-grid{grid-template-columns:repeat(8,104px)}.far-card-slot{width:104px;min-height:146px}.far-route{padding-inline:11px}.far-route-help{text-align:left}}


/* V11.29.3 — Faraway : huit fiches de cartes autonomes, toujours visibles */
.far-board-visible{overflow:visible}
.far-route-scroller{width:100%;overflow:visible}
.far-direct-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;min-width:0!important;width:100%;gap:12px}
.far-direct-slot{display:grid;align-content:start;gap:9px;min-width:0;width:auto;aspect-ratio:auto;min-height:0;padding:12px 10px;border:2px dashed var(--line,var(--border));border-radius:16px;background:var(--surface-2);overflow:hidden}
.far-direct-slot.filled{border-style:solid}
.far-direct-slot.far-unmet{opacity:1;border-color:var(--danger)}
.far-direct-slot::after{content:none}
.far-slot-head{position:static;display:flex;align-items:center;gap:7px;width:100%;padding:0;border:0;background:transparent;color:var(--txt);text-align:left}
.far-slot-head .far-card-position{position:static;display:grid!important;place-items:center;flex:0 0 26px;width:26px;height:26px;border-radius:999px;background:var(--accent);color:#07101e!important;font-size:12px!important;font-weight:950}
.far-slot-head .far-card-art{width:auto;height:auto;margin:0;background:none;font-size:1.2rem!important}
.far-slot-title{font-size:.9rem;font-weight:900}
.far-slot-field{display:grid;gap:5px;min-width:0}
.far-slot-field>span{font-size:.72rem;font-weight:800;color:var(--muted)}
.far-slot-field .calc-input{width:100%;max-width:100%;min-width:0;min-height:44px;box-sizing:border-box;font-size:.8rem;padding:8px}
.far-slot-score .calc-input{text-align:center;font-size:1rem;font-weight:900}
.far-slot-summary{display:grid;gap:3px;min-width:0;padding-top:6px;border-top:1px solid var(--line,var(--border))}
.far-slot-summary b,.far-slot-summary small{overflow-wrap:anywhere}
.far-slot-summary b{font-size:.82rem}
.far-slot-summary small{font-size:.7rem;line-height:1.25;color:var(--muted)}
.far-auto-facts{display:grid;gap:3px;margin:0;padding:8px;border-radius:10px;background:rgba(255,255,255,.035)}
.far-auto-facts>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}
.far-auto-facts dt{flex:0 0 auto;font-size:.66rem;font-weight:800;color:var(--muted)}
.far-auto-facts dd{margin:0;font-size:.7rem;font-weight:750;text-align:right;overflow-wrap:anywhere}
.far-slot-auto-score{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border-radius:10px;background:rgba(255,255,255,.05)}
.far-slot-auto-score span{font-size:.7rem;font-weight:800;color:var(--muted)}
.far-slot-auto-score strong{font-size:1rem;font-weight:950}
.far-slot-warn{margin:0;font-size:.68rem;line-height:1.3;color:var(--danger)}
.far-slot-details>summary{padding:9px 10px;font-size:.74rem}
.far-slot-details .calc-grid{display:grid;grid-template-columns:1fr;gap:8px}
.far-slot-details .calc-input{width:100%;max-width:100%;min-width:0;min-height:44px;box-sizing:border-box}
.far-slot-clear{width:100%;min-height:44px}
.far-route-help{margin:0;color:var(--muted);font-size:.78rem;text-align:center}
/* Ordinateur large : les huit fiches sur une seule ligne. */
@media(min-width:1500px){.far-direct-grid{grid-template-columns:repeat(8,minmax(0,1fr))!important}}
/* Tablette et téléphone : grille de deux fiches par ligne, sans défilement horizontal. */
@media(max-width:900px){.far-direct-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.far-direct-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px}.far-direct-slot{padding:10px 8px}.far-route{padding-inline:10px}.far-route-help{text-align:left}}
@media(max-width:430px){.far-direct-grid{gap:8px}.far-direct-slot{padding:9px 7px;gap:8px}.far-slot-head .far-card-position{flex-basis:24px;width:24px;height:24px}.far-slot-field .calc-input{font-size:.76rem;padding:8px 5px}.far-auto-facts dt{font-size:.62rem}.far-auto-facts dd{font-size:.66rem}}

/* Score Party V11.30 — Château Combo reconnaissance assistée */
.combo-photo-primary{border-color:rgba(77,221,163,.45);background:linear-gradient(180deg,rgba(77,221,163,.08),var(--surface))}
.combo-photo-primary>.notice{margin-top:12px}
.combo-photo-stage{touch-action:none;user-select:none}
.combo-perspective-overlay{pointer-events:none}
.combo-perspective-overlay .combo-corner-handle{pointer-events:auto;cursor:grab;touch-action:none;fill:#ffcf33;stroke:#111;stroke-width:5;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 4px rgba(0,0,0,.75))}
.combo-perspective-overlay .combo-corner-handle:active{cursor:grabbing;fill:#fff176}
.combo-photo-review-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 10px}.combo-photo-review-head span{display:inline-flex;padding:6px 11px;border-radius:999px;background:var(--surface-2);font-size:13px;font-weight:900}
.combo-photo-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.combo-photo-review-card{min-width:0;padding:11px;border:1px solid var(--border);border-radius:16px;background:var(--surface-2);box-shadow:0 8px 22px rgba(0,0,0,.08)}
.combo-photo-review-card.confirmed{border-color:rgba(77,221,163,.55);background:rgba(77,221,163,.07)}
.combo-photo-review-card>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.combo-photo-review-card>header span{font-weight:900}.combo-photo-review-card>header b{font-size:11px;color:var(--muted)}.combo-photo-review-card.confirmed>header b{color:#6fe3ad}
.combo-photo-review-card canvas{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:11px;background:#111;border:1px solid rgba(255,255,255,.08)}
.combo-review-current{min-height:38px;margin:8px 0;padding:7px 8px;border-radius:9px;background:rgba(0,0,0,.15);font-size:12px;font-weight:800;line-height:1.3}
.combo-table-suggestions{display:grid;gap:6px}.combo-table-suggestions button{display:grid;gap:2px;width:100%;padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--txt);text-align:left;cursor:pointer}.combo-table-suggestions button:hover:not(:disabled){border-color:var(--accent)}.combo-table-suggestions button.primary-suggestion{border-color:rgba(77,221,163,.42)}.combo-table-suggestions button:disabled{opacity:.45;cursor:not-allowed}.combo-table-suggestions span{font-size:12px;font-weight:800;line-height:1.2}.combo-table-suggestions small{font-size:9px;color:var(--muted)}
.combo-suggestion-empty{padding:9px;border:1px dashed var(--border);border-radius:10px;color:var(--muted);font-size:11px}
.combo-review-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.combo-review-actions .ghost-btn{padding:6px 8px;font-size:10px}
.combo-cell-adjust{margin-top:8px}.combo-cell-adjust summary{cursor:pointer;font-size:10px;font-weight:800;color:var(--muted)}.combo-cell-adjust>div{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:6px}.combo-cell-adjust button{min-height:30px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--txt);font-size:10px;cursor:pointer}.combo-cell-adjust>small{display:block;margin-top:5px;color:var(--muted);font-size:9px}
.combo-diagnostic{margin-top:14px;padding:10px 12px;border:1px solid var(--border);border-radius:13px}.combo-diagnostic summary{cursor:pointer;font-weight:800}.combo-diagnostic .calc-grid{margin-top:10px}.combo-diagnostic .calc-grid>div{display:grid;gap:3px;padding:8px;border-radius:10px;background:var(--surface-2)}.combo-diagnostic span,.combo-diagnostic small{color:var(--muted);font-size:11px}
@media(max-width:900px){.combo-photo-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.combo-photo-review-grid{gap:8px}.combo-photo-review-card{padding:8px}.combo-table-suggestions button{padding:7px 6px}.combo-review-actions{display:grid;grid-template-columns:1fr}.combo-review-actions .ghost-btn{width:100%}.combo-photo-stage{margin-left:-8px;margin-right:-8px;border-radius:12px}.combo-perspective-overlay .combo-corner-handle{stroke-width:7}}

/* Score Party V11.31 — publication propriétaire Château Combo */
.combo-owner-publish{margin:14px 0;padding:10px 12px;border:1px solid rgba(255,207,51,.42);border-radius:14px;background:rgba(255,207,51,.055)}
.combo-owner-publish>summary{cursor:pointer;font-weight:900}
.combo-owner-body{display:grid;gap:10px;margin-top:10px}.combo-owner-body p,.combo-owner-body>small{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.combo-owner-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.combo-owner-controls .calc-input{flex:1 1 260px;min-width:0}.combo-owner-active{display:inline-flex;align-items:center;min-height:42px;padding:8px 11px;border-radius:10px;background:rgba(77,221,163,.12);color:#6fe3ad;font-weight:900}
.combo-owner-controls button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:620px){.combo-owner-controls{display:grid;grid-template-columns:1fr}.combo-owner-controls>*{width:100%}}

/* Score Party V11.32 — synchronisation Château Combo visible */
.combo-sync-panel{display:grid;gap:12px;margin:14px 0;padding:13px;border:1px solid rgba(96,165,250,.42);border-radius:15px;background:rgba(96,165,250,.055)}
.combo-sync-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.combo-sync-head>div{display:grid;gap:3px}.combo-sync-head small{color:var(--muted);font-size:12px;line-height:1.4}
.combo-sync-state{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 9px;border-radius:999px;background:var(--surface-2);font-size:11px;font-weight:900;white-space:nowrap}.combo-sync-state.done{color:#6fe3ad;background:rgba(77,221,163,.12)}.combo-sync-state.loading{color:#ffcf33;background:rgba(255,207,51,.12)}.combo-sync-state.error{color:#ff9b9b;background:rgba(255,91,91,.12)}
.combo-sync-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.combo-sync-grid>div{display:grid;gap:3px;min-width:0;padding:10px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}.combo-sync-grid span,.combo-sync-grid small{color:var(--muted);font-size:10px}.combo-sync-grid strong{font-size:18px}
.combo-sync-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.combo-sync-dates span{padding:8px 10px;border-radius:10px;background:rgba(0,0,0,.13);color:var(--muted);font-size:11px}.combo-sync-dates b{color:var(--txt)}
@media(max-width:760px){.combo-sync-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.combo-sync-dates{grid-template-columns:1fr}}
@media(max-width:480px){.combo-sync-head{display:grid}.combo-sync-state{justify-self:start}.combo-sync-grid{grid-template-columns:1fr 1fr}.combo-sync-panel .combo-photo-controls{display:grid;grid-template-columns:1fr}.combo-sync-panel .combo-photo-controls>*{width:100%}}


/* Score Party V11.32.1 — correctif mobile global et page Château Combo compacte */
html{min-height:100%;background:#08101f}@supports(-webkit-touch-callout:none){html{min-height:-webkit-fill-available}body{min-height:-webkit-fill-available}}
body{min-height:100dvh;background-color:#08101f;background-image:radial-gradient(circle at top,#162447 0%,#0d1429 35%,#08101f 100%);overscroll-behavior-y:none}
.combo-photo-instructions{margin:12px 0;border:1px solid rgba(255,209,102,.28);border-radius:14px;background:rgba(255,209,102,.055);overflow:hidden}
.combo-photo-instructions>summary{padding:11px 13px;cursor:pointer;font-weight:900}
.combo-photo-instructions>.notice{margin:0 10px 10px}
.combo-sync-panel{display:block;padding:0;overflow:hidden}
.combo-sync-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:12px 13px;cursor:pointer;list-style:none}
.combo-sync-summary::-webkit-details-marker{display:none}
.combo-sync-summary::before{content:"▸";flex:0 0 auto;color:var(--muted);transition:transform .15s ease}
.combo-sync-panel[open]>.combo-sync-summary::before{transform:rotate(90deg)}
.combo-sync-summary>span{display:grid;gap:3px;min-width:0;flex:1 1 auto}
.combo-sync-summary small{color:var(--muted);font-size:11px;line-height:1.35;overflow-wrap:anywhere}
.combo-sync-body{display:grid;gap:12px;padding:0 13px 13px}
.combo-sync-body>p{margin:0;color:var(--muted);font-size:12px;line-height:1.4}
.combo-sync-grid>div{border-color:var(--line)}
@media(max-width:860px){
  html,body{width:100%!important;min-height:100%!important;height:auto!important;overflow-x:hidden!important}
  body{min-height:100dvh!important;padding-left:max(4px,var(--safe-left))!important;padding-right:max(4px,var(--safe-right))!important;padding-bottom:max(8px,var(--safe-bottom))!important}
  .viewport-frame{min-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 8px)!important;height:auto!important;padding:5px!important;border-radius:20px!important}
  .app{min-height:0!important;height:auto!important;padding:12px 9px calc(16px + var(--safe-bottom))!important;border-radius:16px!important}
  #setupScreen,#gameScreen,#calculatorArea,.calculator-card,.score-card{height:auto!important;min-height:0!important}
  .score-card,.calculator-card{padding:11px!important}
  input,select,textarea,.calc-input,input.calc-input,select.calc-input{font-size:16px!important}
}
@media(max-width:520px){
  .combo-assisted-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .combo-assisted-slot{min-width:0!important;min-height:0!important;padding:9px!important}
  .combo-assisted-slot p{min-height:0!important;font-size:11px!important;overflow-wrap:anywhere}
  .combo-empty-slot{min-height:108px!important;padding:8px!important}
  .combo-card-title b,.combo-card-title small{overflow-wrap:anywhere}
  .combo-sync-summary{align-items:flex-start}
  .combo-sync-summary .combo-sync-state{flex:0 0 auto}
  .combo-sync-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:340px){.combo-assisted-grid{grid-template-columns:minmax(0,1fr)!important}}


/* Score Party V11.32.2 — correctif global du scroll blanc iOS/Safari
   Le viewport racine reste fixe et le cadre de l’application est l’unique scroller. */
html{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#08101f!important;
  color-scheme:dark;
}
body{
  display:flex!important;
  width:100%!important;
  height:var(--sp-visual-height,100dvh)!important;
  min-height:0!important;
  max-height:var(--sp-visual-height,100dvh)!important;
  margin:0!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
  background:#08101f!important;
  background-image:radial-gradient(circle at top,#162447 0%,#0d1429 35%,#08101f 100%)!important;
}
.viewport-frame{
  flex:0 1 1120px!important;
  width:min(100%,1120px)!important;
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-x:none!important;
  overscroll-behavior-y:contain!important;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
  touch-action:pan-y pinch-zoom;
  overflow-anchor:none;
}
.app{
  width:100%!important;
  min-height:100%!important;
  height:auto!important;
}
body.sheet-open,
body.game-picker-open,
body.sp-picker-open{
  position:static!important;
  inset:auto!important;
  top:auto!important;
  overflow:hidden!important;
}
body.sheet-open>.viewport-frame,
body.game-picker-open>.viewport-frame,
body.sp-picker-open>.viewport-frame{
  overflow-y:hidden!important;
}
#gamePickerPortal,#cardPickerPortal,#sheetPortal{
  max-height:var(--sp-visual-height,100dvh)!important;
}
@supports(height:100svh){
  body{height:var(--sp-visual-height,100svh)!important;max-height:var(--sp-visual-height,100svh)!important}
}
@media(max-width:860px){
  body{
    padding:calc(4px + var(--safe-top)) max(4px,var(--safe-left)) calc(5px + var(--safe-bottom)) max(4px,var(--safe-right))!important;
  }
  .viewport-frame{
    height:100%!important;
    min-height:0!important;
    padding:4px!important;
    border-radius:18px!important;
    scrollbar-gutter:auto;
  }
  .app{
    min-height:100%!important;
    padding-bottom:calc(14px + var(--safe-bottom))!important;
  }
}

/* Score Party V11.33 — publication des références locales Château Combo */
.combo-local-publish{margin-top:12px;border:1px solid rgba(86,214,164,.28);border-radius:14px;background:rgba(86,214,164,.055);overflow:hidden}
.combo-local-publish>summary{padding:11px 13px;cursor:pointer;font-weight:900;list-style:none}
.combo-local-publish>summary::-webkit-details-marker{display:none}
.combo-local-publish>summary::before{content:"▸";display:inline-block;margin-right:7px;color:var(--muted);transition:transform .15s ease}
.combo-local-publish[open]>summary::before{transform:rotate(90deg)}
.combo-local-publish-body{display:grid;gap:10px;padding:0 12px 12px}
.combo-local-publish-body>p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.combo-local-publish-tools{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.combo-local-publish-tools>span{margin-left:auto;color:var(--muted);font-size:12px}
.combo-local-publish-list{display:grid;gap:6px;max-height:280px;overflow:auto;padding:4px;border:1px solid var(--line);border-radius:12px;background:rgba(0,0,0,.12);overscroll-behavior:contain}
.combo-local-publish-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 9px;border-radius:9px;background:rgba(255,255,255,.035);cursor:pointer}
.combo-local-publish-row input{width:18px;height:18px;margin:0}
.combo-local-publish-row span{display:grid;min-width:0}
.combo-local-publish-row b,.combo-local-publish-row small{overflow-wrap:anywhere}
.combo-local-publish-row small{color:var(--muted);font-size:10px}
.combo-local-publish-row strong{font-size:13px}
.combo-local-progress{padding:9px 10px;border-radius:10px;background:rgba(86,214,164,.09);color:var(--txt);font-size:12px;font-weight:800}
@media(max-width:520px){.combo-local-publish-tools{display:grid;grid-template-columns:1fr 1fr}.combo-local-publish-tools>span{grid-column:1/-1;margin-left:0}.combo-local-publish-list{max-height:240px}.combo-local-publish-body>.btn{width:100%}}


/* Score Party V11.33.1 — sélecteurs de cartes stables avec clavier mobile
   Le dialogue conserve une hauteur fixe : filtrer la liste ne le fait plus
   descendre ou disparaître sous le clavier Safari. */
#cardPickerPortal .sp-card-picker-overlay{
  height:var(--sp-visual-height,100dvh)!important;
  min-height:0!important;
  max-height:var(--sp-visual-height,100dvh)!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  padding:max(6px,var(--safe-top)) max(6px,var(--safe-right)) max(6px,var(--safe-bottom)) max(6px,var(--safe-left))!important;
}
#cardPickerPortal .sp-card-picker-dialog{
  display:flex!important;
  flex-direction:column!important;
  width:min(920px,100%)!important;
  height:min(820px,calc(var(--sp-visual-height,100dvh) - max(12px,var(--safe-top)) - max(12px,var(--safe-bottom))))!important;
  min-height:0!important;
  max-height:calc(var(--sp-visual-height,100dvh) - max(12px,var(--safe-top)) - max(12px,var(--safe-bottom)))!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
#cardPickerPortal .sp-card-picker-head,
#cardPickerPortal .ever-search-tools,
#cardPickerPortal .sp-picker-remove{
  flex:0 0 auto!important;
}
#cardPickerPortal .sp-picker-results{
  flex:1 1 auto!important;
  min-height:80px!important;
  max-height:none!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch;
  overflow-anchor:none;
}
#cardPickerPortal input[type="text"],
#cardPickerPortal input[type="search"],
#cardPickerPortal select{
  font-size:16px!important;
}
@media(max-width:520px){
  #cardPickerPortal .sp-card-picker-overlay{
    align-items:flex-start!important;
    padding:calc(5px + var(--safe-top)) 6px calc(5px + var(--safe-bottom))!important;
  }
  #cardPickerPortal .sp-card-picker-dialog{
    width:100%!important;
    height:calc(var(--sp-visual-height,100dvh) - var(--safe-top) - var(--safe-bottom) - 10px)!important;
    max-height:calc(var(--sp-visual-height,100dvh) - var(--safe-top) - var(--safe-bottom) - 10px)!important;
    border-radius:18px!important;
  }
  #cardPickerPortal .sp-card-picker-head{margin-bottom:9px!important}
  #cardPickerPortal .sp-card-picker-head p{display:none}
  #cardPickerPortal .ever-search-tools{gap:7px!important}
  #cardPickerPortal .sp-picker-results{margin-top:7px!important;min-height:64px!important}
}

/* Score Party V11.34 — liste Château Combo lisible sur mobile + diagnostic OCR */
#cardPickerPortal .combo-search-results.sp-picker-results{
  display:flex!important;
  flex-direction:column!important;
  align-content:initial!important;
  align-items:stretch!important;
  gap:8px!important;
  padding:2px 3px 10px!important;
}
#cardPickerPortal .combo-search-card{
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  flex:0 0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(120px,auto)!important;
  align-items:center!important;
  width:100%!important;
  height:auto!important;
  min-height:66px!important;
  max-height:none!important;
  margin:0!important;
  padding:10px 11px!important;
  line-height:1.2!important;
  overflow:visible!important;
  contain:none!important;
}
#cardPickerPortal .combo-search-card>span:first-child{
  display:block!important;
  min-width:0!important;
}
#cardPickerPortal .combo-search-card strong{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:15px!important;
  line-height:1.25!important;
}
#cardPickerPortal .combo-search-card small{
  display:block!important;
  margin-top:4px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:11px!important;
  line-height:1.25!important;
}
#cardPickerPortal .combo-search-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:4px!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
}
#cardPickerPortal .combo-search-meta .combo-shield,
#cardPickerPortal .combo-search-meta .shield-chip{
  flex:0 0 auto!important;
  position:static!important;
  transform:none!important;
}
#cardPickerPortal .combo-search-meta>b{
  flex:0 0 100%!important;
  width:auto!important;
  margin-top:2px!important;
  text-align:right!important;
  line-height:1.15!important;
}
.combo-ocr-diagnostic{
  display:grid;
  gap:3px;
  margin:9px 0;
  padding:9px 10px;
  border:1px solid rgba(0,194,255,.28);
  border-radius:11px;
  background:rgba(0,194,255,.07);
}
.combo-ocr-diagnostic span{color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.combo-ocr-diagnostic strong{font-size:16px;overflow-wrap:anywhere}
.combo-ocr-diagnostic small{color:var(--muted);font-size:11px;line-height:1.35}
.combo-precise-choices button{display:grid!important;gap:2px!important;text-align:left!important}
.combo-precise-choices button small{font-size:10px;opacity:.82}
@media(max-width:520px){
  #cardPickerPortal .sp-card-picker-dialog{padding:12px!important}
  #cardPickerPortal .combo-search-results.sp-picker-results{gap:7px!important}
  #cardPickerPortal .combo-search-card{
    grid-template-columns:minmax(0,1fr)!important;
    align-items:start!important;
    min-height:78px!important;
    padding:10px!important;
  }
  #cardPickerPortal .combo-search-card strong{font-size:16px!important}
  #cardPickerPortal .combo-search-card small{font-size:12px!important;white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  #cardPickerPortal .combo-search-meta{
    width:100%!important;
    justify-content:flex-start!important;
    margin-top:7px!important;
  }
  #cardPickerPortal .combo-search-meta>b{
    flex:0 0 auto!important;
    margin-left:auto!important;
    margin-top:0!important;
    text-align:right!important;
  }
}

/* Score Party V11.35 — planche multi-cartes Château Combo */
.combo-library-sheet{margin:16px 0}
.combo-library-sheet>details{overflow:hidden;border:1px solid rgba(0,194,255,.28);border-radius:18px;background:rgba(0,194,255,.045)}
.combo-library-sheet>details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;cursor:pointer;list-style:none}
.combo-library-sheet>details>summary::-webkit-details-marker{display:none}
.combo-library-sheet>details>summary>span{display:grid;gap:3px;min-width:0}
.combo-library-sheet>details>summary strong{font-weight:950}
.combo-library-sheet>details>summary small{color:var(--muted);line-height:1.35}
.combo-library-sheet>details>summary>b{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:rgba(0,194,255,.1);font-size:12px}
.combo-library-sheet-body{display:grid;gap:13px;padding:0 15px 15px}
.combo-sheet-stage{margin-top:0}
.combo-sheet-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.combo-sheet-overlay rect{fill:rgba(0,194,255,.08);stroke:#ffd43b;stroke-width:5;vector-effect:non-scaling-stroke}
.combo-sheet-overlay text{fill:#111;stroke:#ffd43b;stroke-width:8;paint-order:stroke fill;font-size:34px;font-weight:950}
.combo-sheet-settings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.combo-sheet-review-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px}
.combo-sheet-review-head span{color:var(--muted);font-size:12px;font-weight:800}
.combo-sheet-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.combo-sheet-card{display:grid;align-content:start;gap:9px;min-width:0;padding:11px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.035)}
.combo-sheet-card.confirmed{border-color:rgba(86,214,164,.48);background:rgba(86,214,164,.065)}
.combo-sheet-card.error{border-color:rgba(255,107,107,.46)}
.combo-sheet-card>header{display:flex;align-items:center;justify-content:space-between;gap:8px}
.combo-sheet-card>header span{font-size:12px;font-weight:900}
.combo-sheet-card>header b{font-size:11px;color:var(--muted)}
.combo-sheet-card>img{display:block;width:100%;aspect-ratio:63/88;object-fit:cover;border-radius:10px;background:#111}
.combo-sheet-card .field{margin:0}
.combo-sheet-card select{width:100%;min-width:0}
.combo-sheet-suggestions{display:grid;gap:6px}
.combo-sheet-suggestions button{display:grid;gap:2px;width:100%;padding:8px 9px;border:1px solid var(--border);border-radius:9px;background:rgba(255,255,255,.035);color:var(--txt);text-align:left;cursor:pointer}
.combo-sheet-suggestions button.primary-suggestion{border-color:rgba(86,214,164,.48);background:rgba(86,214,164,.08)}
.combo-sheet-suggestions button:disabled{cursor:default;opacity:.7}
.combo-sheet-suggestions button span{font-weight:850}
.combo-sheet-suggestions button small{color:var(--muted);font-size:10px}
.combo-sheet-card .combo-photo-status{margin:0;padding:8px;font-size:11px;line-height:1.35}
.combo-sheet-confirmed-name{color:var(--muted);font-size:10px;line-height:1.35}
.combo-sheet-publish{display:grid;gap:10px;padding:12px;border:1px solid rgba(86,214,164,.28);border-radius:14px;background:rgba(86,214,164,.05)}
.combo-sheet-publish h4{margin:0}
.combo-sheet-publish>small{color:var(--muted);font-size:11px;line-height:1.4}
@media(max-width:860px){.combo-sheet-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){
  .combo-library-sheet>details>summary{align-items:flex-start;padding:13px}
  .combo-library-sheet>details>summary>b{font-size:10px}
  .combo-library-sheet-body{padding:0 11px 12px}
  .combo-sheet-settings{grid-template-columns:repeat(2,minmax(0,1fr))}
  .combo-sheet-review-grid{grid-template-columns:1fr}
  .combo-sheet-card{grid-template-columns:92px minmax(0,1fr);align-items:start}
  .combo-sheet-card>header,.combo-sheet-card>.combo-photo-empty,.combo-sheet-card>.combo-sheet-suggestions,.combo-sheet-card>.field,.combo-sheet-card>.combo-photo-controls,.combo-sheet-card>.combo-photo-status,.combo-sheet-card>.combo-ocr-diagnostic,.combo-sheet-card>.combo-sheet-confirmed-name{grid-column:2}
  .combo-sheet-card>header{grid-row:1}
  .combo-sheet-card>img{grid-column:1;grid-row:1/8;width:92px}
  .combo-sheet-card>.combo-photo-empty{min-height:110px}
}
@media(max-width:390px){.combo-sheet-card{grid-template-columns:76px minmax(0,1fr)}.combo-sheet-card>img{width:76px}.combo-library-sheet>details>summary small{display:none}}

/* V11.38 — lecture OCR des noms dans la photo globale Château Combo */
.combo-table-ocr{display:grid;gap:2px;margin:0 0 8px;padding:7px 8px;border:1px solid rgba(93,180,255,.28);border-radius:9px;background:rgba(93,180,255,.08);font-size:11px;line-height:1.3}
.combo-table-ocr span{overflow-wrap:anywhere}.combo-table-ocr small{color:var(--muted);font-size:9px}
.combo-table-ocr.exact{border-color:rgba(77,221,163,.55);background:rgba(77,221,163,.11)}
.combo-table-ocr.error{border-color:rgba(255,104,112,.38);background:rgba(255,104,112,.08)}
.combo-table-ocr.muted{border-color:var(--border);background:rgba(255,255,255,.025)}
.combo-table-suggestions button.ocr-exact{box-shadow:inset 0 0 0 1px rgba(77,221,163,.3)}

/* V11.41.1 — choix explicite du profil de reconnaissance Château Combo */
.combo-recognition-settings{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;gap:12px;align-items:end;margin:12px 0;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}
.combo-recognition-settings .field{margin:0}.combo-recognition-settings .ghost-btn{white-space:nowrap;justify-self:end}
@media(max-width:760px){.combo-recognition-settings{grid-template-columns:1fr}.combo-recognition-settings .ghost-btn{width:100%;justify-self:stretch}}

/* Score Party V11.43.2 — Dewan, décompte officiel détaillé */
.dewan-story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.dewan-story-row{display:grid;grid-template-columns:minmax(160px,1.2fr) repeat(2,minmax(110px,.8fr));gap:10px;align-items:end;padding:11px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}
.dewan-story-row.validated{border-color:rgba(77,221,163,.55);box-shadow:inset 0 0 0 1px rgba(77,221,163,.12)}
.dewan-story-row .checkline{align-self:center;margin:0}
.dewan-camp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
@media(max-width:820px){.dewan-story-grid{grid-template-columns:1fr}.dewan-story-row{grid-template-columns:1fr 1fr}.dewan-story-row .checkline{grid-column:1/-1}.dewan-camp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:460px){.dewan-story-row,.dewan-camp-grid{grid-template-columns:1fr}}

/* V11.44 — reconnaissance guidée Forêt Mixte reliée au décompte */
.forest-guide-recognition-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.forest-guide-recognition-actions small{color:var(--muted)}
.forest-guide-recognition-empty{padding:11px 12px;border:1px dashed var(--border);border-radius:11px;color:var(--muted);text-align:center}
.forest-guide-recognition{display:grid;gap:10px;padding:11px;border:1px solid rgba(101,181,255,.28);border-radius:12px;background:rgba(101,181,255,.06)}
.forest-guide-recognition-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.forest-guide-recognition-head small{max-width:65%;color:var(--muted);text-align:right;line-height:1.35}
.forest-guide-progress{padding:8px 10px;border-radius:9px;background:rgba(255,207,51,.1);font-size:12px}
.forest-guide-recognition-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.forest-guide-recognition-grid section{display:grid;align-content:start;gap:6px;min-width:0;padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.forest-guide-recognition-grid header{display:flex;align-items:center;justify-content:space-between;gap:6px}
.forest-guide-recognition-grid header small{color:var(--muted);font-size:9px}
.forest-guide-recognition-grid button{display:grid;gap:2px;width:100%;padding:7px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--txt);text-align:left;cursor:pointer}
.forest-guide-recognition-grid button:hover,.forest-guide-recognition-grid button:focus-visible{border-color:#ffcf33}
.forest-guide-recognition-grid button span{font-size:11px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.forest-guide-recognition-grid button small{color:var(--muted);font-size:9px}
.forest-guide-recognition-grid p{margin:0;color:var(--muted);font-size:10px;line-height:1.35}
.forest-guide-recognition-grid em{display:block;color:var(--muted);font-size:9px;overflow-wrap:anywhere}
@media(max-width:760px){
  .forest-guide-recognition-actions>*{width:100%}
  .forest-guide-recognition-head{display:grid}.forest-guide-recognition-head small{max-width:none;text-align:left}
  .forest-guide-recognition-grid{grid-template-columns:1fr 1fr}
  .forest-guide-recognition-grid section:first-child{grid-column:1/-1}
}


/* V11.45 — Forêt Mixte sans photo, arbre par arbre */
.forest-guide-manual{overflow:visible}
.forest-guide-toolbar-primary{margin:12px 0}
.forest-tree-board{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.75fr) minmax(0,1fr);grid-template-areas:"top top top" "left center right" "bottom bottom bottom";gap:10px;align-items:stretch;margin:14px 0}
.forest-guide-slot{display:grid;gap:8px;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}
.forest-guide-slot-top{grid-area:top}.forest-guide-slot-left{grid-area:left}.forest-guide-slot-right{grid-area:right}.forest-guide-slot-bottom{grid-area:bottom}
.forest-guide-slot header{display:flex;justify-content:space-between;gap:8px}.forest-guide-slot header small{color:var(--muted)}
.forest-guide-center{grid-area:center;display:grid;place-items:center;align-content:center;gap:9px;min-height:180px;padding:12px;border:2px solid rgba(77,221,163,.45);border-radius:18px;background:rgba(77,221,163,.07);text-align:center}
.forest-guide-center label{display:grid;gap:6px;width:100%}.forest-guide-center label>span{font-weight:900}.forest-guide-center>strong{font-size:1.05rem}
.forest-stack-list{display:flex;gap:6px;flex-wrap:wrap;min-height:30px;align-items:center}.forest-stack-empty{color:var(--muted);font-size:.82rem}
.forest-stack-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 6px 5px 9px;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-size:.76rem}.forest-stack-chip button{display:grid;place-items:center;width:23px;height:23px;border:0;border-radius:50%;background:rgba(255,107,107,.12);color:var(--txt);font-size:1rem;cursor:pointer}
.forest-stack-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.forest-stack-add select{min-width:0}
.forest-photo-experimental{margin-top:15px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}.forest-photo-experimental>summary{padding:12px 13px;cursor:pointer;list-style:none}.forest-photo-experimental>summary::-webkit-details-marker{display:none}.forest-photo-experimental>summary span{display:grid;gap:2px}.forest-photo-experimental>summary small{color:var(--muted)}.forest-photo-experimental-body{padding:0 12px 12px}
.forest-quick-count>summary{cursor:pointer}.forest-quick-count-body{padding-top:12px}
@media(max-width:720px){.forest-tree-board{grid-template-columns:1fr;grid-template-areas:"center" "top" "right" "bottom" "left"}.forest-guide-center{min-height:120px}.forest-stack-add{grid-template-columns:1fr}.forest-stack-add button{width:100%}}


/* V11.49 / V23.6 — liens discrets vers l'écosystème Le KubenBois. */
.kb-ecosystem-footer{max-width:1120px;margin:18px auto 8px;padding:10px 16px;text-align:center;color:#9aa7bb;font-size:12px;opacity:.88}
.kb-ecosystem-footer nav{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-bottom:5px}
.kb-ecosystem-footer a{color:inherit;text-decoration:none}
.kb-ecosystem-footer a:hover{text-decoration:underline}
.kb-ecosystem-footer small{font-size:11px}


/* Score Party V11.50 / Le KubenBois V23.7 — footer intégré au scroller principal.
   Important sur iPhone : le body reste le conteneur fixe prévu par V11.32.2 ;
   le footer ne doit donc jamais être un second enfant flex à côté du viewport. */
.kb-ecosystem-footer{width:100%;max-width:100%;margin:18px auto 2px;padding:12px 8px 4px;flex:0 0 auto}
@media(max-width:520px){
  .kb-ecosystem-footer{margin-top:14px;padding:10px 4px 2px;font-size:11px}
  .kb-ecosystem-footer nav{gap:10px}
  .kb-ecosystem-footer small{font-size:10px}
  .setup{max-width:none!important;width:100%!important}
}
