/* ======================================================================
   MÉGAGAMES — thème manga (encre noire, trames, lignes de vitesse) décoré pour Halloween
   ====================================================================== */
:root {
  --ink: #120826; --night: #1b0a3d; --purple: #3a1470; --violet: #8a3dff; --orange: #ff7a12; --amber: #ffb21f;
  --green: #7dff4f; --ice: #f4f1ff; --gold: #ffd23f; --cyan: #5fe0ff; --red: #ff3355; --silver: #dcd3ff;
  --f-display: 'Bangers', Impact, 'Arial Black', sans-serif;
  --f-body: 'Rubik', system-ui, 'Segoe UI', Arial, sans-serif;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { width: 100%; height: 100%; overflow: hidden; background: #0a0418; font-family: var(--f-body); color: #fff; }
.off { display: none !important; }

/* ---------- Scène (taille fixe, mise à l'échelle par JS) ---------- */
#stage {
  position: absolute; left: 0; top: 0; transform-origin: 0 0; overflow: hidden; display: grid; gap: 20px;
  background: radial-gradient(circle at 50% 38%, #5a1fa6 0%, #331069 38%, #1b0a3d 72%, #0d0422 100%);
}
#stage.l169 {
  width: 1920px; height: 1080px; padding: 22px 32px 18px;
  grid-template-columns: 600px minmax(0, 1fr) 520px; grid-template-rows: 124px minmax(0, 1fr) 190px minmax(0, 1fr) 36px;
  grid-template-areas: "head head head" "sem plk board" "pronos plk board" "earth plk board" "foot foot foot";
}
#stage.l916 {
  width: 1080px; height: 1920px; padding: 20px 28px 16px; gap: 16px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: 132px 450px 230px minmax(0, 1fr) 390px 34px;
  grid-template-areas: "head head" "sem earth" "pronos pronos" "plk plk" "board board" "foot foot";
}
#stage > * { position: relative; z-index: 2; }
#stage > .bg-lines, #stage > .bg-moon, #stage > .bg-dots, #stage > #bats, #stage > .web, #stage > #fxCanvas, #stage > #banner, #stage > #wheelWrap, #stage > #bossBox, #stage > #fishWrap { position: absolute; }

/* ---------- Décor : lignes de vitesse manga, trame de points, lune, chauves-souris, toiles ---------- */
.bg-lines {
  left: 50%; top: 40%; width: 260%; aspect-ratio: 1; margin: -130% 0 0 -130%; z-index: 0; pointer-events: none;
  background: repeating-conic-gradient(rgba(255,140,40,.16) 0deg 1.4deg, transparent 1.4deg 7deg);
  -webkit-mask-image: radial-gradient(circle, transparent 14%, #000 62%); mask-image: radial-gradient(circle, transparent 14%, #000 62%);
  animation: spin 120s linear infinite;
}
.bg-dots { inset: 0; z-index: 0; pointer-events: none; background-image: radial-gradient(rgba(255,255,255,.12) 2px, transparent 2.6px); background-size: 16px 16px;
  -webkit-mask-image: linear-gradient(180deg, #000 0%, transparent 38%, transparent 62%, #000 100%); mask-image: linear-gradient(180deg, #000 0%, transparent 38%, transparent 62%, #000 100%); }
.bg-moon { width: 360px; height: 360px; border-radius: 50%; right: 8%; top: -90px; z-index: 0; pointer-events: none;
  background: radial-gradient(circle at 40% 40%, #fff6c9 0%, #ffe38a 55%, #ffb64d 100%); opacity: .5; box-shadow: 0 0 120px 40px rgba(255,200,90,.35);
  -webkit-mask-image: radial-gradient(#000 60%, rgba(0,0,0,.4)); }
#stage.l916 .bg-moon { width: 300px; height: 300px; right: -40px; }
@keyframes spin { to { transform: rotate(360deg); } }
#bats { inset: 0; z-index: 1; pointer-events: none; overflow: hidden; }
.bat { position: absolute; width: 70px; height: 35px; opacity: .85; animation: fly linear infinite; }
@keyframes fly { 0% { transform: translate(-120px, 0) scale(var(--s, 1)); } 25% { transform: translate(25vw, var(--dy, -30px)) scale(var(--s, 1)) rotate(-4deg); } 50% { transform: translate(50vw, 0) scale(var(--s, 1)) rotate(3deg); } 75% { transform: translate(75vw, var(--dy, -30px)) scale(var(--s, 1)); } 100% { transform: translate(112vw, 0) scale(var(--s, 1)); } }
.web { width: 210px; height: 210px; z-index: 1; pointer-events: none; opacity: .5; }
.web-l { left: 0; top: 0; } .web-r { right: 0; top: 0; transform: scaleX(-1); }

/* ---------- En-tête ---------- */
#head { grid-area: head; display: flex; align-items: center; justify-content: center; gap: 36px; }
.logo { display: flex; flex-direction: column; align-items: center; line-height: 1; transform: skew(-7deg); }
.logo-main { font-family: var(--f-display); font-size: 104px; letter-spacing: 5px; color: #fff;
  text-shadow: 6px 6px 0 var(--ink), -3px -3px 0 var(--ink), 3px -3px 0 var(--ink), -3px 3px 0 var(--ink), 0 6px 0 var(--ink), 0 -3px 0 var(--ink), 6px 0 0 var(--ink), -4px 0 0 var(--ink); }
.logo-main span { color: var(--orange); }
.logo-sub { margin-top: 2px; font-family: var(--f-display); font-size: 30px; letter-spacing: 4px; color: var(--ink); background: linear-gradient(90deg, var(--orange), var(--amber)); padding: 1px 20px 0; border: 4px solid var(--ink); box-shadow: 4px 4px 0 var(--ink); }
.logo-sub i { margin: 0 14px; font-style: normal; color: var(--purple); }
.pump { width: 110px; height: 100px; flex: none; filter: drop-shadow(5px 5px 0 var(--ink)); animation: bobp 3.2s ease-in-out infinite; }
.pump.p2 { transform: scaleX(-1); animation-delay: -1.4s; }
@keyframes bobp { 50% { translate: 0 -8px; } }
.ghost { position: absolute; width: 74px; height: 92px; opacity: .85; filter: drop-shadow(4px 4px 0 var(--ink)); animation: float 5s ease-in-out infinite; }
.ghost.g1 { left: 14%; top: 8px; } .ghost.g2 { right: 12%; top: 22px; animation-delay: -2.4s; transform: scale(.8); }
@keyframes float { 50% { translate: 0 -14px; } }
#stage.l916 .logo-main { font-size: 84px; }
#stage.l916 .pump { width: 84px; height: 76px; }
#stage.l916 .ghost.g1 { left: 2%; } #stage.l916 .ghost.g2 { right: 3%; }
.conn { position: absolute; right: 0; top: 0; background: var(--red); color: #fff; font-weight: 800; padding: 4px 12px; border: 3px solid var(--ink); z-index: 40; }

/* ---------- Panneaux ---------- */
.panel {
  position: relative; border: 6px solid var(--ink); background: linear-gradient(180deg, rgba(42,14,88,.94), rgba(22,8,52,.96));
  box-shadow: 8px 8px 0 var(--ink), inset 0 0 0 3px rgba(255,140,40,.55); padding: 12px 18px 14px; display: flex; flex-direction: column; min-height: 0; min-width: 0; overflow: hidden;
}
.panel::before { content: ''; position: absolute; right: 0; top: 0; width: 140px; height: 90px; pointer-events: none; opacity: .5;
  background-image: radial-gradient(rgba(255,140,40,.75) 2px, transparent 2.6px); background-size: 9px 9px;
  -webkit-mask-image: linear-gradient(225deg, #000, transparent 70%); mask-image: linear-gradient(225deg, #000, transparent 70%); }
.panel-title { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; font-family: var(--f-display); font-size: 46px; letter-spacing: 3px; color: #fff; line-height: 1; margin-bottom: 6px;
  text-shadow: 3px 3px 0 var(--ink), -2px -2px 0 var(--ink), 2px -2px 0 var(--ink), -2px 2px 0 var(--ink); }
.panel-title span { color: var(--orange); }
.panel-title small { font-family: var(--f-body); font-weight: 700; font-size: 18px; letter-spacing: 0; color: var(--silver); text-shadow: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.panel-title small b { color: var(--gold); }
/* ---- Cagnotte MegaGames : compteur mécanique façon cadenas ---- */
.board-heading { align-items: center; }
.board-heading-right { display:flex; align-items:center; justify-content:flex-end; gap:10px; min-width:0; }
.cagnotte-display { display:flex; align-items:center; gap:3px; flex:none; padding:4px 7px; border:2px solid rgba(255,211,70,.8); border-radius:6px; background:linear-gradient(180deg,rgba(9,5,24,.98),rgba(43,15,68,.98)); box-shadow:0 0 9px rgba(255,190,35,.24), inset 0 0 0 1px rgba(255,255,255,.08); color:#ffe27a; font-family:var(--f-display); letter-spacing:.4px; line-height:1; }
.cagnotte-display .cg-label { color:#fff0b3; font-family:var(--f-body); font-size:10px; font-weight:900; letter-spacing:.5px; color:#fff0b3; margin-right:3px; }
.cg-reels { display:inline-flex; align-items:center; gap:1px; font-size:23px; font-variant-numeric:tabular-nums; }
.cg-reel { position:relative; display:inline-block; width:.61em; height:1em; overflow:hidden; border-radius:2px; background:linear-gradient(180deg,#100b20,#302044 48%,#100b20); box-shadow:inset 0 0 0 1px rgba(255,255,255,.12); }
.cg-reel-track { position:absolute; left:0; top:0; width:100%; transform:translateY(0); transition:transform .72s cubic-bezier(.18,.78,.2,1); }
.cg-reel-track span { color:#ffe27a; display:block; height:1em; line-height:1em; text-align:center; }
.cagnotte-display .cg-separator { color:#fff; display:inline-block; width:.28em; text-align:center; color:#fff; font-size:20px; }
.cagnotte-display .cg-euro { color:#fff; font-family:var(--f-body); font-size:15px; font-weight:900; color:#fff; margin-left:2px; }
@media (prefers-reduced-motion: reduce) { .cg-reel-track { transition:none; } }
#stage.l916 .board-heading-right { gap:4px; }
#stage.l916 .cagnotte-display { padding:3px 4px; gap:2px; }
#stage.l916 .cg-label { display:none; }
#stage.l916 .cg-reels { font-size:17px; }
#stage.l916 .cg-euro { font-size:12px; }
#stage.l916 .panel-title { gap:4px; }

.sub-title { font-family: var(--f-display); font-size: 22px; letter-spacing: 2px; color: var(--silver); margin: 8px 0 4px; opacity: .85; }
#sem { grid-area: sem; } #pronosLive { grid-area: pronos; min-height:0; display:flex; flex-direction:column; padding:10px 12px; } #earth { grid-area: earth; } #center { grid-area: plk; display: flex; flex-direction: column; gap: 20px; min-height: 0; min-width: 0; } #plk { flex: 1; } #board { grid-area: board; }
#foot { grid-area: foot; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 19px; color: var(--silver); letter-spacing: .5px; text-shadow: 2px 2px 0 var(--ink); white-space: nowrap; }

/* ---------- Sémantique ---------- */
.timer { height: 10px; background: #0d0422; border: 3px solid var(--ink); margin: 2px 0 8px; }
.timer > div { height: 100%; width: 100%; background: linear-gradient(90deg, var(--green), var(--amber), var(--red)); transform-origin: left; }
.sem-hint { font-weight: 700; font-size: 19px; line-height: 1.2; color: var(--ice); background: rgba(255,255,255,.08); border-left: 6px solid var(--gold); padding: 6px 10px; margin-bottom: 8px; }
.sem-hint b { color: var(--gold); }
#semBest { display: flex; flex-direction: column; gap: 5px; min-height: 0; }
.bw { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 10px; height: 44px; padding: 0 10px; background: rgba(255,255,255,.07); border: 3px solid var(--ink); overflow: hidden; }
.bw::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: var(--w, 5%); background: var(--bar, #5fe0ff); opacity: .9; transition: width .4s; }
.bw > * { position: relative; }
.bw .w { font-weight: 900; font-size: 25px; color: #fff; text-shadow: 2px 2px 0 var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bw .w small { font-weight: 700; font-size: 14px; color: rgba(255,255,255,.85); margin-left: 8px; }
.bw .t { font-family: var(--f-display); font-size: 27px; letter-spacing: 1px; color: #fff; text-shadow: 2px 2px 0 var(--ink); }
.bw .rk { font-weight: 900; font-size: 14px; color: var(--ink); background: var(--gold); border: 2px solid var(--ink); padding: 1px 6px; min-width: 62px; text-align: center; }
.bw .rk.none { background: rgba(255,255,255,.2); color: var(--silver); }
.bw.new { animation: newrow .9s ease-out; }
@keyframes newrow { 0% { transform: translateX(-30px) scale(1.04); filter: brightness(1.8); } 100% { transform: none; filter: none; } }
#semLast { display: flex; flex-wrap: wrap; gap: 7px; }
.lw { font-weight: 800; font-size: 19px; padding: 3px 10px; border: 3px solid var(--ink); color: #fff; text-shadow: 1px 1px 0 var(--ink); background: var(--bar, #3a2a77); }
.lw b { font-family: var(--f-display); font-weight: normal; margin-left: 6px; letter-spacing: .5px; }
.sem-end { position: absolute; inset: 0; z-index: 5; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-align: center; padding: 20px;
  background: rgba(14,4,36,.985); }
.sem-end .big { font-family: var(--f-display); font-size: 76px; letter-spacing: 3px; color: var(--gold); text-shadow: 4px 4px 0 var(--ink); line-height: 1; }
.sem-end .ans { font-family: var(--f-display); font-size: 90px; letter-spacing: 4px; color: #fff; text-shadow: 5px 5px 0 var(--ink), 0 0 30px var(--orange); line-height: 1; text-transform: uppercase; }
.sem-end .who { font-weight: 800; font-size: 25px; color: var(--ice); }
.sem-end .nb { font-weight: 700; font-size: 18px; color: var(--silver); max-width: 92%; line-height: 1.35; margin-top: 8px; }
.sem-end .nx { font-family: var(--f-display); font-size: 26px; color: var(--orange); letter-spacing: 2px; margin-top: 8px; }
#semToasts { position: absolute; left: 14px; right: 14px; top: 86px; display: flex; flex-direction: column; gap: 6px; pointer-events: none; z-index: 6; }
.toast { font-weight: 800; font-size: 20px; padding: 6px 12px; border: 3px solid var(--ink); background: var(--amber); color: var(--ink); box-shadow: 4px 4px 0 var(--ink); animation: toast 4.2s ease-out forwards; }
.toast.hot { background: #ff5a36; color: #fff; text-shadow: 1px 1px 0 var(--ink); }
.toast.win { background: var(--green); }
.toast.hint { background: var(--cyan); }
@keyframes toast { 0% { transform: translateX(-60px); opacity: 0; } 8% { transform: none; opacity: 1; } 85% { opacity: 1; } 100% { opacity: 0; transform: translateY(-10px); } }




/* ---------- Plinko ---------- */
.plk-wrap { flex: 1; min-height: 0; position: relative; }
#plkCanvas { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
#plkFeed { position: absolute; left: 14px; right: 14px; top: 10px; display: flex; flex-direction: column; gap: 5px; pointer-events: none; z-index: 5; }
.plk-win { align-self: flex-start; font-weight: 800; font-size: 22px; padding: 4px 12px; border: 3px solid var(--ink); background: var(--ice); color: var(--ink); box-shadow: 4px 4px 0 var(--ink); animation: toast 3.6s ease-out forwards; }
.plk-win b { color: #c4560a; }
.plk-win.big { background: var(--gold); font-size: 26px; }

/* ---------- Classement ---------- */
#tabs { display: flex; gap: 6px; margin-bottom: 8px; }
.tab { flex: 1; font-family: var(--f-display); font-size: 25px; letter-spacing: 2px; padding: 2px 0 0; color: var(--silver); background: rgba(255,255,255,.08); border: 3px solid var(--ink); cursor: default; position: relative; overflow: hidden; }
.tab.on { color: var(--ink); background: linear-gradient(180deg, var(--amber), var(--orange)); }
.tab .prog { position: absolute; left: 0; bottom: 0; height: 4px; background: var(--ink); width: 0; }
#list { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 5px; }
.row { position: relative; flex: 1; min-height: 0; max-height: 62px; display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 0 12px 0 8px; font-size: 25px; font-weight: 800;
  background: rgba(255,255,255,.09); border-left: 8px solid var(--violet); border-top: 2px solid rgba(255,255,255,.07); }
.row .rk { font-family: var(--f-display); font-size: 34px; text-align: center; color: var(--silver); }
.row .nm { min-width: 0; overflow: hidden; white-space: nowrap; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; line-height: 1.12; }
.row .nmr { min-width: 0; max-width: 100%; display: flex; align-items: center; overflow: hidden; }
.row .inc { font-size: .6em; font-weight: 900; letter-spacing: .5px; color: #5dff6a; text-shadow: 2px 2px 0 var(--ink); line-height: 1; margin-top: 1px; }
.row .nm .pn { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; padding-right: 4px; }
.row .pg { font-family: var(--f-display); font-size: 33px; letter-spacing: 1px; color: var(--amber); text-shadow: 2px 2px 0 var(--ink); white-space: nowrap; }
.row.r1 { border-left-color: var(--gold); background: linear-gradient(90deg, rgba(255,210,63,.3), rgba(255,255,255,.08)); } .row.r1 .rk { color: var(--gold); }
.row.r2 { border-left-color: var(--silver); } .row.r2 .rk { color: #fff; }
.row.r3 { border-left-color: #ff9d5c; } .row.r3 .rk { color: #ff9d5c; }
.row.bump .pg { animation: bump .7s ease-out; }
@keyframes bump { 30% { transform: scale(1.25); color: #fff; } }
.row .ic { font-size: 22px; margin-left: 6px; }
#champ { margin-top: 8px; font-weight: 800; font-size: 20px; color: var(--gold); text-align: center; min-height: 26px; text-shadow: 2px 2px 0 var(--ink); }
#tabsub { }
#stage.l916 #list { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: repeat(5, minmax(0, 1fr)); grid-auto-flow: column; column-gap: 12px; row-gap: 5px; }
#stage.l916 .row { font-size: 22px; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 6px; max-height: 56px; padding: 0 8px 0 6px; border-left-width: 6px; }
#stage.l916 .row .rk { font-size: 26px; } #stage.l916 .row .pg { font-size: 25px; }
#stage.l916 .panel-title { font-size: 40px; }

/* ---------- Roue ---------- */
#wheelWrap { inset: 0; z-index: 25; display: flex; align-items: center; justify-content: center; background: rgba(8,2,22,.78); }
.wheel-card { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.wheel-title { font-family: var(--f-display); font-size: 80px; letter-spacing: 4px; color: var(--gold); text-shadow: 5px 5px 0 var(--ink), -3px -3px 0 var(--ink), 3px -3px 0 var(--ink), -3px 3px 0 var(--ink); text-align: center; line-height: 1; max-width: 1500px; }
.wheel-stage { position: relative; width: 760px; height: 760px; }
#stage.l916 .wheel-stage { width: 900px; height: 900px; }
#wheelCanvas { width: 100%; height: 100%; border-radius: 50%; border: 10px solid var(--ink); box-shadow: 0 0 0 8px var(--orange), 0 0 70px 14px rgba(255,122,18,.65), 10px 10px 0 12px var(--ink); transition: transform 8s cubic-bezier(.08,.62,.08,1); }
.wheel-pointer { position: absolute; left: 50%; top: -34px; width: 0; height: 0; margin-left: -34px; z-index: 3; border-left: 34px solid transparent; border-right: 34px solid transparent; border-top: 78px solid var(--gold); filter: drop-shadow(4px 4px 0 var(--ink)); }
.wheel-hub { position: absolute; left: 50%; top: 50%; width: 120px; height: 120px; margin: -60px 0 0 -60px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff1a8, var(--amber) 60%, #b86b00); border: 8px solid var(--ink); box-shadow: 4px 4px 0 var(--ink); z-index: 2; }
.wheel-result { min-height: 90px; font-family: var(--f-display); font-size: 74px; letter-spacing: 3px; color: #fff; text-align: center; text-shadow: 5px 5px 0 var(--ink), 0 0 36px var(--orange); max-width: 1500px; line-height: 1; }
.wheel-result.pop { animation: pop .8s cubic-bezier(.2,1.5,.4,1); }
@keyframes pop { 0% { transform: scale(.2) rotate(-8deg); opacity: 0; } 100% { transform: none; opacity: 1; } }

/* ---------- Bannière manga ---------- */
#bossBox { left: 50%; top: 50%; width: 10px; height: 10px; pointer-events: none; }
.banner { left: 0; right: 0; top: 50%; z-index: 20; transform: translateY(-50%); height: 380px; display: flex; align-items: center; justify-content: center; pointer-events: none; filter: drop-shadow(10px 10px 0 var(--ink)); }
.banner .burst { position: absolute; inset: 0; background: var(--gold); opacity: .98; }
.banner .burst::after { content: ''; position: absolute; inset: 0; background: var(--ice); clip-path: inherit; transform: scale(.9); }
.banner-txt { position: relative; text-align: center; transform: rotate(-4deg); max-width: 92%; }
#bnMain { font-family: var(--f-display); font-size: 120px; line-height: 1; letter-spacing: 5px; color: var(--orange); text-shadow: 6px 6px 0 var(--ink), -4px -4px 0 var(--ink), 4px -4px 0 var(--ink), -4px 4px 0 var(--ink); }
#bnSub { font-family: var(--f-display); font-size: 46px; letter-spacing: 2px; color: var(--ink); margin-top: 6px; }
.banner.show { animation: bannerIn 2.9s ease-out forwards; }
@keyframes bannerIn {
  0% { opacity: 0; transform: translateY(-50%) scale(.3) rotate(-10deg); } 10% { opacity: 1; transform: translateY(-50%) scale(1.08) rotate(0); }
  16% { transform: translateY(-50%) scale(1); } 86% { opacity: 1; transform: translateY(-50%) scale(1); } 100% { opacity: 0; transform: translateY(-50%) scale(1.15); }
}
#stage.l916 .banner { height: 320px; } #stage.l916 #bnMain { font-size: 84px; } #stage.l916 #bnSub { font-size: 36px; padding: 0 60px; }
.banner.k-super .burst { background: #ffb800; } .banner.k-super .burst::after { background: #fff7c2; }
.banner.k-super #bnMain { color: #e08a00; font-size: 140px; text-shadow: 0 0 24px #ffd23f, 6px 6px 0 var(--ink), -4px -4px 0 var(--ink), 4px -4px 0 var(--ink), -4px 4px 0 var(--ink); }
.banner.k-pistol .burst { background: #ff3b1f; } .banner.k-pistol .burst::after { background: #fff1cf; } .banner.k-pistol #bnMain { color: #ff3b1f; } .banner.k-pistol #bnSub { color: #4a0e08; }
.banner.k-saber .burst { background: #5fe0ff; } .banner.k-saber .burst::after { background: #fff; } .banner.k-saber #bnMain { color: #0b6ad8; }
.banner.k-swap .burst { background: #b78bff; } .banner.k-swap .burst::after { background: #fff7d6; } .banner.k-swap #bnMain { color: #7a2bd6; } .banner.k-swap #bnSub { color: #2a0a5e; }
.banner.k-yellow .burst { background: #ffd23f; } .banner.k-yellow #bnMain { color: #d9a300; }
.banner.k-red .burst { background: #ff2f3f; } .banner.k-red .burst::after { background: #ffe1e4; } .banner.k-red #bnMain { color: #e0001a; }
.banner.k-pack .burst { background: #8a3dff; } .banner.k-pack .burst::after { background: #f6eaff; } .banner.k-pack #bnMain { color: #7a2bd6; }
.banner.k-pump .burst { background: #39e07a; } .banner.k-pump .burst::after { background: #eafff1; } .banner.k-pump #bnMain { color: #0a8f3f; } .banner.k-pump #bnSub { color: #05361a; }
.banner.k-ice .burst { background: #5fe0ff; } .banner.k-ice #bnMain { color: #0b8ad8; }
.banner.k-thaw .burst { background: #ffb04a; } .banner.k-thaw #bnMain { color: #e0560a; }
.inv-row.t-thaw { border-left-color: #ff8a1f; }

/* ---------- Effets des armes du panel (fx.js) ---------- */
#fxCanvas { left: 0; top: 0; width: 100%; height: 100%; pointer-events: none; z-index: 30; }
#stage.shk1 > #head, #stage.shk1 > #earth, #stage.shk1 > #sem, #stage.shk1 > #center, #stage.shk1 > #board, #stage.shk1 > #foot { animation: shk1 .55s linear; }
#stage.shk2 > #head, #stage.shk2 > #earth, #stage.shk2 > #sem, #stage.shk2 > #center, #stage.shk2 > #board, #stage.shk2 > #foot { animation: shk2 .85s linear; }
@keyframes shk1 { 0%, 100% { transform: translate(0, 0); } 15% { transform: translate(-12px, 6px); } 30% { transform: translate(11px, -7px); } 45% { transform: translate(-8px, -4px); } 60% { transform: translate(7px, 5px); } 80% { transform: translate(-3px, 2px); } }
@keyframes shk2 { 0%, 100% { transform: translate(0, 0) rotate(0); } 8% { transform: translate(-26px, 14px) rotate(-.6deg); } 18% { transform: translate(24px, -16px) rotate(.6deg); } 30% { transform: translate(-20px, -10px) rotate(-.4deg); } 42% { transform: translate(17px, 12px) rotate(.4deg); } 56% { transform: translate(-11px, 7px); } 72% { transform: translate(7px, -5px); } 88% { transform: translate(-3px, 2px); } }
#list .row.hurt { animation: rowHurt 1.1s ease-out; }
@keyframes rowHurt { 0% { background: rgba(255,80,40,.9); transform: translateX(-14px); } 20% { transform: translateX(12px); } 40% { transform: translateX(-8px); } 100% { background: rgba(255,255,255,.09); transform: none; } }
#list .row.pumped { animation: rowPump 1.2s ease-out; }
@keyframes rowPump { 0% { background: rgba(57,224,122,.95); transform: scale(1.06); } 100% { background: rgba(255,255,255,.09); transform: none; } }
#list .row.swap { animation: rowSwap 1.2s ease-out; }
@keyframes rowSwap { 0% { background: rgba(183,139,255,.95); transform: scale(1.06); } 50% { background: rgba(255,210,63,.6); } 100% { background: rgba(255,255,255,.09); transform: none; } }

#stage.l916 #foot { font-size: 15px; letter-spacing: 0; }

.row .lv { margin-left: 8px; flex: none; font: 700 .55em var(--f-body, Rubik, sans-serif); letter-spacing: .5px; padding: 1px 6px; border-radius: 4px; background: rgba(255,255,255,.14); color: #ffd23f; align-self: center; }
#banner.k-first .burst, .banner.k-first .burst { background: #ffd23f; } .banner.k-first .burst::after { background: #fff7c2; } .banner.k-first #bnMain { color: #e08a00; } .banner.k-first #bnSub { font-size: 38px; }

/* ---------- Compteur fou ---------- */
#stage > #rushWrap { position: absolute; }
#rushWrap { inset: 0; z-index: 24; display: flex; align-items: center; justify-content: center; background: rgba(8,2,22,.8); }
.rush-card { position: relative; width: 1200px; max-width: 94%; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 26px 40px 34px; background: linear-gradient(180deg, #2a0f55, #14062e); border: 8px solid var(--ink); border-radius: 14px; box-shadow: 0 0 0 8px var(--orange), 0 0 70px 14px rgba(255,122,18,.55), 10px 10px 0 12px var(--ink); }
.rush-title { font-family: var(--f-display); font-size: 66px; letter-spacing: 4px; color: var(--gold); text-shadow: 4px 4px 0 var(--ink); }
.rush-name { max-width: 100%; font-family: var(--f-display); font-size: 88px; letter-spacing: 2px; color: #fff; text-shadow: 5px 5px 0 var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rush-arrow { font-size: 84px; line-height: 1; color: #39e07a; text-shadow: 4px 4px 0 var(--ink); transition: color .2s; }
.rush-arrow.down { color: #ff4b3a; }
.rush-count { font-family: var(--f-display); font-size: 200px; line-height: 1.05; color: #fff; white-space: nowrap; font-variant-numeric: tabular-nums; text-shadow: 8px 8px 0 var(--ink), 0 0 50px var(--orange); }
#stage.l916 .rush-count { font-size: 118px; }
#stage.l916 .rush-name { font-size: 64px; }
.rush-count.up { animation: rushUp .45s ease-out; }
.rush-count.down { animation: rushDown .45s ease-out; }
@keyframes rushUp { 0% { color: #39e07a; transform: scale(1.07); } 100% { color: #fff; transform: none; } }
@keyframes rushDown { 0% { color: #ff4b3a; transform: scale(.94); } 100% { color: #fff; transform: none; } }
.rush-delta { min-height: 62px; font-family: var(--f-display); font-size: 54px; letter-spacing: 2px; color: var(--silver); text-shadow: 3px 3px 0 var(--ink); }
.rush-delta.up { color: #39e07a; } .rush-delta.down { color: #ff4b3a; }
.rush-delta.pop { animation: pop .8s cubic-bezier(.2,1.5,.4,1); }
.rush-bar { width: 100%; height: 22px; margin-top: 8px; background: rgba(255,255,255,.12); border: 4px solid var(--ink); border-radius: 12px; overflow: hidden; }
#rushBar { height: 100%; width: 100%; background: linear-gradient(90deg, var(--orange), var(--gold)); transition: width .25s linear; }
.rush-time { min-height: 50px; font-family: var(--f-display); font-size: 44px; color: #fff; text-shadow: 3px 3px 0 var(--ink); }
#rushFloat { position: absolute; inset: 0; pointer-events: none; }
.rush-fl { position: absolute; bottom: 34%; font-family: var(--f-display); font-size: 92px; white-space: nowrap; text-shadow: 5px 5px 0 var(--ink); animation: rushFl 1.5s ease-out forwards; }
.rush-fl.up { color: #39e07a; } .rush-fl.down { color: #ff4b3a; } .rush-fl.zero { color: var(--silver); }
@keyframes rushFl { 0% { opacity: 0; transform: translateY(30px) scale(.6); } 15% { opacity: 1; transform: translateY(0) scale(1.15); } 100% { opacity: 0; transform: translateY(-240px) scale(1); } }
.banner.k-rushup .burst { background: #39e07a; } .banner.k-rushup #bnMain { color: #0a8f3f; }
.banner.k-rushdown .burst { background: #ff4b3a; } .banner.k-rushdown #bnMain { color: #c01f10; }

/* ---------- Inventaire (case qui s'ouvre au-dessus du classement) ---------- */
#invBox { position: absolute; left: 10px; right: 10px; top: 10px; z-index: 9; transform-origin: 50% 0; padding: 12px 16px 14px; background: linear-gradient(180deg, #2f1160, #14062e); border: 5px solid var(--ink); border-radius: 10px; box-shadow: 0 0 0 5px var(--orange), 0 0 40px 8px rgba(255,122,18,.5), 6px 6px 0 8px var(--ink); }
#invBox.open { animation: invOpen .6s cubic-bezier(.2,1.2,.4,1) both; }
#invBox.closing { animation: invClose .55s cubic-bezier(.5,0,.8,.4) both; pointer-events: none; }
@keyframes invOpen { 0% { transform: scaleY(0) translateY(-20px); opacity: 0; } 55% { transform: scaleY(1.07); opacity: 1; } 100% { transform: scaleY(1); opacity: 1; } }
@keyframes invClose { 0% { transform: scaleY(1); opacity: 1; } 100% { transform: scaleY(0) translateY(-20px); opacity: 0; } }
.inv-head { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.inv-bag { width: 58px; height: 58px; flex: none; animation: invWiggle 1.6s ease-in-out infinite; }
@keyframes invWiggle { 0%, 100% { transform: rotate(-6deg); } 50% { transform: rotate(6deg); } }
.inv-title { font-family: var(--f-display); font-size: 38px; line-height: 1; letter-spacing: 3px; color: var(--gold); text-shadow: 3px 3px 0 var(--ink); }
.inv-name { font-family: var(--f-display); font-size: 30px; line-height: 1.05; color: #fff; text-shadow: 3px 3px 0 var(--ink); max-width: 400px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#invList { display: flex; flex-direction: column; gap: 6px; }
.inv-row { display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 4px 12px 4px 8px; background: rgba(255,255,255,.09); border-left: 8px solid var(--violet); }
.inv-row.fresh { animation: invRow .45s ease-out both; animation-delay: calc(var(--i) * .09s + .25s); }
@keyframes invRow { 0% { opacity: 0; transform: translateX(-30px); } 100% { opacity: 1; transform: none; } }
.inv-row svg { width: 50px; height: 50px; }
.inv-row .nm { font-family: var(--f-display); font-size: 36px; letter-spacing: 1.5px; color: #fff; text-shadow: 3px 3px 0 var(--ink); }
.inv-row .qt { font-family: var(--f-display); font-size: 42px; color: var(--amber); text-shadow: 3px 3px 0 var(--ink); }
.inv-row.t-pistol { border-left-color: #ff7a3a; } .inv-row.t-saber { border-left-color: #5fe0ff; } .inv-row.t-pump { border-left-color: #39e07a; } .inv-row.t-swap { border-left-color: #b78bff; } .inv-row.t-freeze { border-left-color: #8fe8ff; }
.inv-empty { padding: 18px 8px; text-align: center; font-family: var(--f-display); font-size: 34px; color: var(--silver); text-shadow: 3px 3px 0 var(--ink); }
.inv-bar { height: 12px; margin-top: 10px; background: rgba(255,255,255,.14); border: 3px solid var(--ink); border-radius: 8px; overflow: hidden; }
#invBar { height: 100%; width: 100%; background: linear-gradient(90deg, var(--orange), var(--gold)); transition: width .25s linear; }
.inv-queue { min-height: 24px; margin-top: 4px; text-align: right; font-weight: 800; font-size: 18px; color: var(--silver); text-shadow: 2px 2px 0 var(--ink); }
#stage.l916 #invBox { left: 14px; right: 14px; }
#stage.l916 #invList { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 10px; }
#stage.l916 .inv-row .nm { font-size: 28px; } #stage.l916 .inv-row .qt { font-size: 34px; } #stage.l916 .inv-row svg { width: 40px; height: 40px; }
#stage.l916 .inv-row { grid-template-columns: 44px minmax(0, 1fr) auto; }
.banner.k-gift .burst { background: #ffb21f; } .banner.k-gift #bnMain { color: #b34a00; }

/* ---------- Sémantique compacte (elle partage la colonne avec la Planète) ---------- */
#sem .timer { margin: 0 0 6px; height: 9px; }
#sem .sem-hint { font-size: 17px; padding: 4px 8px; margin-bottom: 6px; }
#sem #semBest { gap: 4px; }
#sem .bw { height: 37px; }
#sem .bw .w { font-size: 22px; } #sem .bw .w small { font-size: 12px; }
#sem .bw .t { font-size: 23px; } #sem .bw .rk { font-size: 12px; min-width: 56px; }
#semBest .bw:nth-child(n+5) { display: none; }
#sem .sub-title { font-size: 18px; margin: 5px 0 3px; }
#semLast { max-height: 33px; overflow: hidden; gap: 6px; }
#sem .lw { font-size: 16px; padding: 2px 8px; }
#sem .sem-end .big { font-size: 52px; } #sem .sem-end .ans { font-size: 62px; } #sem .sem-end .who { font-size: 20px; }
#sem .sem-end .nb { font-size: 15px; margin-top: 2px; } #sem .sem-end .nx { font-size: 21px; margin-top: 4px; }
#semToasts { top: 70px; }
#stage.l916 #sem .bw .w { font-size: 20px; } #stage.l916 #sem .bw .t { font-size: 20px; } #stage.l916 #sem .bw .rk { display: none; }
#stage.l916 #sem .panel-title small { display: none; }
#stage.l916 #semLast .lw:nth-child(n+5) { display: none; }

/* ---------- PLANÈTE ---------- */
#earth { padding-bottom: 10px; }
#earth .panel-title small { font-size: 13px; }
#stage.l916 #earth .panel-title small { font-size: 11px; }
#earthWrap { position: relative; flex: 1; min-height: 0; border: 4px solid var(--ink); border-radius: 8px; overflow: hidden;
  background: radial-gradient(ellipse at 50% 55%, #1d1058 0%, #0b0528 58%, #03010c 100%); box-shadow: inset 0 0 0 3px rgba(255,140,40,.35); }
#earthCanvas { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
#earthToasts { position: absolute; right: 8px; bottom: 6px; max-width: 62%; display: flex; flex-direction: column; gap: 4px; pointer-events: none; z-index: 6; align-items: flex-end; }
.etoast { max-width: 100%; font-weight: 800; font-size: 15px; line-height: 1.15; padding: 3px 9px; border: 3px solid var(--ink); background: var(--ice); color: var(--ink); box-shadow: 3px 3px 0 var(--ink); animation: toast 5.2s ease-out forwards; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.etoast i { font-style: normal; color: #0a8f3f; } .etoast u { text-decoration: none; color: #7a2bd6; }
.etoast.up { background: #ffe9a8; } .etoast.sell { background: #ffd0d0; }
#plotCard { position: absolute; left: 8px; top: 8px; bottom: 8px; width: 38%; z-index: 5; display: flex; flex-direction: column; transform-origin: 0 50%; padding: 8px 10px 8px;
  background: linear-gradient(180deg, #2f1160, #14062e); border: 4px solid var(--ink); border-radius: 8px; box-shadow: 0 0 0 3px var(--orange), 5px 5px 0 3px var(--ink); }
#plotCard.open { animation: pcOpen .55s cubic-bezier(.2,1.2,.4,1) both; }
#plotCard.closing { animation: pcClose .5s cubic-bezier(.5,0,.8,.4) both; pointer-events: none; }
@keyframes pcOpen { 0% { transform: scaleX(0); opacity: 0; } 60% { transform: scaleX(1.05); opacity: 1; } 100% { transform: scaleX(1); opacity: 1; } }
@keyframes pcClose { 0% { transform: scaleX(1); opacity: 1; } 100% { transform: scaleX(0); opacity: 0; } }
.pc-title { font-family: var(--f-display); font-size: 25px; letter-spacing: 3px; line-height: 1; color: var(--gold); text-shadow: 2px 2px 0 var(--ink); }
.pc-name { font-family: var(--f-display); font-size: 24px; line-height: 1.1; color: #fff; text-shadow: 2px 2px 0 var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 4px; }
#pcList { display: flex; flex-direction: column; gap: 5px; flex: 1; min-height: 0; justify-content: center; }
.pc-row { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; gap: 6px; padding: 3px 8px 3px 5px; background: rgba(255,255,255,.09); border-left: 7px solid var(--rc, #888); }
.pc-row b { font-family: var(--f-display); font-size: 22px; font-weight: normal; color: var(--silver); text-shadow: 2px 2px 0 var(--ink); }
.pc-ty { font-family: var(--f-display); font-size: 23px; letter-spacing: 1px; line-height: 1; color: #fff; text-shadow: 2px 2px 0 var(--ink); min-width: 0; }
.pc-ty small { display: block; font-family: var(--f-body); font-weight: 800; font-size: 12px; letter-spacing: 0; color: var(--rc, var(--silver)); text-shadow: 1px 1px 0 var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pc-inc { font-family: var(--f-display); font-size: 26px; color: #5dff6a; text-shadow: 2px 2px 0 var(--ink); white-space: nowrap; }
.pc-inc small { font-size: 14px; }
.pc-row.free { border-left-color: #555; opacity: .8; } .pc-row.free .pc-ty small { color: var(--silver); font-size: 11px; }
.pc-total { margin-top: 4px; font-weight: 800; font-size: 15px; color: var(--ice); text-shadow: 2px 2px 0 var(--ink); text-align: center; } .pc-total b { color: #5dff6a; font-size: 19px; }
.pc-bar { height: 8px; margin-top: 4px; background: rgba(255,255,255,.14); border: 2px solid var(--ink); border-radius: 6px; overflow: hidden; }
#pcBar { height: 100%; width: 100%; background: linear-gradient(90deg, var(--orange), var(--gold)); transition: width .25s linear; }
.pc-queue { min-height: 14px; font-weight: 800; font-size: 12px; text-align: right; color: var(--silver); }
#stage.l916 #plotCard { width: 38%; } #stage.l916 .pc-ty { font-size: 19px; } #stage.l916 .pc-inc { font-size: 21px; } #stage.l916 .pc-row { grid-template-columns: 26px minmax(0, 1fr) auto; }
.banner.k-land .burst { background: #39b6ff; } .banner.k-land #bnMain { color: #0b6ad8; }
.banner.k-landup .burst { background: #b25bff; } .banner.k-landup #bnMain { color: #7a2bd6; }

/* ---------- Tableau des biens (à gauche du globe) ---------- */
#priceBox { position: absolute; left: 8px; top: 8px; bottom: 8px; width: 38%; z-index: 3; display: flex; flex-direction: column; padding: 6px 8px 6px;
  background: linear-gradient(180deg, rgba(47,17,96,.92), rgba(20,6,46,.92)); border: 4px solid var(--ink); border-radius: 8px; box-shadow: 0 0 0 2px rgba(255,140,40,.6), 4px 4px 0 2px var(--ink); }
#priceBox.hide { display: none; }
.pb-title { font-family: var(--f-display); font-size: 22px; letter-spacing: 3px; line-height: 1; color: var(--gold); text-shadow: 2px 2px 0 var(--ink); margin-bottom: 2px; }
#priceTab { width: 100%; border-collapse: collapse; flex: 1; }
#priceTab th { font-family: var(--f-body); font-weight: 800; font-size: 11px; text-align: right; color: var(--silver); padding: 0 2px 2px; letter-spacing: .3px; }
#priceTab td { padding: 0 2px; border-top: 1px solid rgba(255,255,255,.12); text-align: right; white-space: nowrap; }
#priceTab .pn { text-align: left; font-family: var(--f-display); font-size: 19px; letter-spacing: .8px; color: #fff; text-shadow: 2px 2px 0 var(--ink); }
#priceTab .pp { font-family: var(--f-display); font-size: 18px; color: var(--amber); text-shadow: 2px 2px 0 var(--ink); }
#priceTab .pi { font-family: var(--f-display); font-size: 19px; color: #5dff6a; text-shadow: 2px 2px 0 var(--ink); }
#priceTab .pi small { font-size: 11px; }
.pb-foot { margin-top: 3px; font-weight: 700; font-size: 10.5px; line-height: 1.25; color: var(--silver); } .pb-foot b { color: var(--gold); }
#stage.l916 #priceBox { width: 41%; } #stage.l916 #priceTab .pn { font-size: 15px; letter-spacing: 0; } #stage.l916 #priceTab .pp, #stage.l916 #priceTab .pi { font-size: 15px; }

/* ---------- Bandeau d'annonces défilant (par-dessus « Sémantique • Plinko • Planète ») ---------- */
.logo { position: relative; }
#ticker { position: absolute; left: -16px; right: -16px; bottom: -7px; height: 56px; z-index: 5; overflow: hidden; transform: skewX(7deg); border: 4px solid var(--ink); border-radius: 6px;
  background: rgba(14,5,40,.55); -webkit-backdrop-filter: blur(9px) saturate(1.2); backdrop-filter: blur(9px) saturate(1.2); box-shadow: 4px 4px 0 var(--ink), inset 0 0 0 2px rgba(255,255,255,.12); }
#tkTrack { position: absolute; left: 0; top: 0; height: 100%; display: flex; align-items: center; white-space: nowrap; will-change: transform; }
.tk-unit { display: inline-flex; align-items: center; }
.tk-msg { font-family: var(--f-display); font-size: 31px; letter-spacing: 2px; color: #fff; text-shadow: 3px 3px 0 var(--ink), -2px -2px 0 var(--ink), 2px -2px 0 var(--ink), -2px 2px 0 var(--ink); }
.tk-msg .tk-t { font-weight: normal; color: var(--gold); font-variant-numeric: tabular-nums; }
.tk-sep { margin: 0 26px; font-size: 24px; color: var(--orange); text-shadow: 2px 2px 0 var(--ink); }
#stage.l916 #ticker { height: 46px; } #stage.l916 .tk-msg { font-size: 25px; }


/* ---------- Jetons dorés ---------- */
.row .nm { /* (inchangé) */ }
.row .sub { display: flex; align-items: center; gap: 10px; line-height: 1; margin-top: 1px; min-width: 0; }
.row .sub .inc { margin-top: 0; }
.row .sub .tk { display: inline-flex; align-items: center; gap: 3px; font-size: .6em; font-weight: 900; letter-spacing: .3px; line-height: 1; color: #ffe27a; text-shadow: 2px 2px 0 var(--ink), 0 0 8px rgba(255,200,40,.55); white-space: nowrap; }
.row .sub .tk svg { width: 1.15em; height: 1.15em; flex: none; filter: drop-shadow(1px 1px 0 var(--ink)); }
.row .sub .tk.zero { opacity: .55; text-shadow: 2px 2px 0 var(--ink); }
.coin-s { width: 1.05em; height: 1.05em; vertical-align: -0.17em; flex: none; filter: drop-shadow(1px 1px 0 var(--ink)); }
#tokTab { width: 100%; border-collapse: collapse; flex: 1; }
#tokTab th { font-family: var(--f-body); font-weight: 800; font-size: 11px; text-align: right; color: var(--silver); padding: 0 2px 2px; }
#tokTab th:first-child { text-align: left; }
#tokTab td { padding: 0 2px; border-top: 1px solid rgba(255,255,255,.12); white-space: nowrap; }
#tokTab .pn { text-align: left; font-family: var(--f-display); font-size: 19px; letter-spacing: .8px; text-shadow: 2px 2px 0 var(--ink); }
#tokTab .pn.rb { animation: rainbowTxt 3s linear infinite; }
#tokTab .pt { text-align: right; font-family: var(--f-display); font-size: 20px; color: #ffe27a; text-shadow: 2px 2px 0 var(--ink); }
@keyframes rainbowTxt { 0% { color: #ff5c8a; } 25% { color: #ffd23f; } 50% { color: #38e08a; } 75% { color: #5fe0ff; } 100% { color: #ff5c8a; } }
#pbBiens, #pbTok { display: flex; flex-direction: column; flex: 1; min-height: 0; }
.pb-title .coin-s { width: 1.1em; height: 1.1em; }
#stage.l916 #tokTab .pn, #stage.l916 #tokTab .pt { font-size: 15px; letter-spacing: 0; }
.pc-more { margin-top: 2px; text-align: center; font-weight: 800; font-size: 13px; color: var(--silver); text-shadow: 1px 1px 0 var(--ink); }
.pc-sub { font-size: 13px; color: var(--silver); } .pc-sub .gold, .gold { color: #ffe27a; }
#invBox.wallet { box-shadow: 0 0 0 5px var(--gold), 0 0 40px 8px rgba(255,210,63,.55), 6px 6px 0 8px var(--ink); }
.inv-row.t-coin { border-left-color: var(--gold); } .inv-row.t-plots { border-left-color: #3aa0ff; } .inv-row.t-eur { border-left-color: #2fbf6a; }
.inv-row .qt.gold { color: #ffe27a; text-shadow: 3px 3px 0 var(--ink), 0 0 14px rgba(255,200,40,.7); }
.banner.k-tokens .burst { background: #ffb800; } .banner.k-tokens .burst::after { background: #fff7c2; } .banner.k-tokens #bnMain { color: #d98200; }


/* ---------- Mini-jeu du pêcheur ---------- */
#fishWrap { inset: 0; z-index: 24; display: flex; align-items: center; justify-content: center; background: rgba(8,2,22,.82); }
.fish-card { position: relative; width: 1320px; max-width: 96%; padding: 18px 28px 20px; background: linear-gradient(180deg, #2a0f55, #14062e); border: 8px solid var(--ink); border-radius: 14px; box-shadow: 0 0 0 8px var(--gold), 0 0 70px 14px rgba(255,200,40,.45), 10px 10px 0 12px var(--ink); display: flex; flex-direction: column; gap: 8px; }
.fish-head { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; }
.fish-title { font-family: var(--f-display); font-size: 58px; letter-spacing: 4px; color: var(--gold); text-shadow: 4px 4px 0 var(--ink); line-height: 1; }
.fish-name { font-family: var(--f-display); font-size: 70px; letter-spacing: 2px; color: #fff; text-shadow: 5px 5px 0 var(--ink); line-height: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 62%; }
.fish-stage { position: relative; border: 6px solid var(--ink); border-radius: 10px; overflow: hidden; line-height: 0; background: #0b0528; }
#fishSvg { width: 100%; height: auto; display: block; }
.fish-msg { min-height: 56px; text-align: center; font-family: var(--f-display); font-size: 46px; letter-spacing: 2px; color: var(--silver); text-shadow: 3px 3px 0 var(--ink); line-height: 1.15; }
.fish-msg.hot { color: #ff5a36; animation: fishHot .35s ease-in-out infinite alternate; }
@keyframes fishHot { from { transform: scale(1); } to { transform: scale(1.1); } }
.fish-prize { position: absolute; right: 24px; top: 16px; width: 440px; padding: 14px 16px; text-align: center; background: var(--ice); border: 6px solid var(--ink); box-shadow: 8px 8px 0 var(--ink); transform: rotate(3deg) scale(0); opacity: 0; transition: none; line-height: 1; }
.fish-prize.show { animation: fishPrize .7s cubic-bezier(.2,1.4,.4,1) forwards; }
@keyframes fishPrize { to { transform: rotate(3deg) scale(1); opacity: 1; } }
.fp-what { font-family: var(--f-display); font-size: 50px; letter-spacing: 2px; color: #0b6ad8; line-height: 1.05; }
.fp-gain { font-family: var(--f-display); font-size: 112px; color: #d98200; text-shadow: 4px 4px 0 var(--ink); line-height: 1.05; display: flex; align-items: center; justify-content: center; gap: 8px; }
.fp-gain svg { width: 96px; height: 96px; filter: drop-shadow(3px 3px 0 var(--ink)); }
.fp-bal { margin-top: 4px; font-weight: 800; font-size: 24px; color: #4a3a77; }
.fish-prize.break .fp-what { color: #c01f10; } .fish-prize.break .fp-gain { color: #8d8aa6; font-size: 76px; }
.fish-prize.shark { background: #ffe9a8; } .fish-prize.shark .fp-what { color: #c01f10; }
.fish-prize.big .fp-what { color: #7a2bd6; }
#stage.l916 .fish-card { width: 1000px; } #stage.l916 .fish-name { font-size: 54px; } #stage.l916 .fish-title { font-size: 44px; }
/* fiche !parcelles compacte (jusqu'à 5 lignes + totaux sans débordement) */
#plotCard { padding: 6px 9px 6px; overflow: hidden; }
.pc-title { font-size: 20px; letter-spacing: 2px; }
.pc-name { font-size: 20px; margin-bottom: 3px; }
#pcList { gap: 3px; justify-content: flex-start; overflow: hidden; }
.pc-row { padding: 1px 6px 1px 4px; grid-template-columns: 28px minmax(0, 1fr) auto; }
.pc-row b { font-size: 16px; }
.pc-ty { font-size: 17px; letter-spacing: .5px; }
.pc-ty small { font-size: 10px; }
.pc-inc { font-size: 19px; } .pc-inc small { font-size: 11px; }
.pc-row.free .pc-ty small { font-size: 10px; }
.pc-more { font-size: 11px; margin-top: 0; }
.pc-total { margin-top: 2px; font-size: 12px; line-height: 1.25; } .pc-total b { font-size: 15px; }
.pc-sub { font-size: 11px; }
.pc-bar { margin-top: 3px; height: 6px; }
.pc-queue { min-height: 10px; font-size: 10px; }
#stage.l916 .pc-ty { font-size: 15px; } #stage.l916 .pc-inc { font-size: 16px; }


/* ---------- Mini-jeu du tiercé ---------- */
#stage > #raceWrap { position: absolute; }
#raceWrap { inset: 0; z-index: 24; display: flex; align-items: center; justify-content: center; background: rgba(8,2,22,.86); }
.race-card { position: relative; width: 1840px; max-width: 98%; padding: 14px 22px 14px; background: linear-gradient(180deg, #2a0f55, #14062e); border: 8px solid var(--ink); border-radius: 14px; box-shadow: 0 0 0 8px var(--gold), 0 0 70px 14px rgba(255,200,40,.4), 10px 10px 0 12px var(--ink); display: flex; flex-direction: column; gap: 8px; }
.race-head { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; }
.race-title { font-family: var(--f-display); font-size: 56px; letter-spacing: 4px; color: var(--gold); text-shadow: 4px 4px 0 var(--ink); line-height: 1; }
.race-timer { font-family: var(--f-display); font-size: 50px; letter-spacing: 2px; color: #fff; text-shadow: 4px 4px 0 var(--ink); line-height: 1; }
.race-body { display: flex; gap: 14px; align-items: stretch; }
.race-stage { flex: 0 0 auto; width: 1230px; border: 6px solid var(--ink); border-radius: 10px; overflow: hidden; line-height: 0; background: #0b0528; }
#raceCv { width: 100%; height: auto; display: block; }
.race-side { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.race-side-t { font-family: var(--f-display); font-size: 30px; letter-spacing: 1.5px; color: var(--ice); text-shadow: 2px 2px 0 var(--ink); line-height: 1.05; min-height: 34px; }
#raceList { list-style: none; display: flex; flex-direction: column; gap: 4px; flex: 1; }
#raceList li { flex: 1; display: flex; align-items: center; gap: 10px; padding: 0 12px 0 8px; background: rgba(255,255,255,.09); border-left: 10px solid var(--c, #888); font-weight: 800; font-size: 24px; color: #fff; text-shadow: 2px 2px 0 var(--ink); min-height: 0; white-space: nowrap; overflow: hidden; }
#raceList li i { font-style: normal; flex: 0 0 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; font-family: var(--f-display); font-size: 26px; background: var(--c, #888); color: #120826; text-shadow: none; border: 3px solid var(--ink); }
#raceList li span { flex: 1; overflow: hidden; text-overflow: ellipsis; }
#raceList li em { font-style: normal; font-size: 19px; color: #ffe27a; }
#raceList li b { font-family: var(--f-display); font-weight: normal; font-size: 30px; color: var(--silver); flex: 0 0 34px; text-align: right; }
#raceList li.pod { background: rgba(255,210,63,.18); } #raceList li.p1 b { color: #ffd23f; } #raceList li.p2 b { color: #e4e8f5; } #raceList li.p3 b { color: #ff9a4a; }
.race-msg { min-height: 56px; text-align: center; font-weight: 800; font-size: 28px; color: var(--silver); text-shadow: 2px 2px 0 var(--ink); line-height: 1.25; display: block; }
.race-msg b { color: #ffd23f; }
.rm-pod { font-family: var(--f-display); font-weight: normal; font-size: 38px; letter-spacing: 1px; color: #fff; } .rm-pod b { color: #ffd23f; }
.rm-win { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 22px; font-size: 24px; } .rm-win span { white-space: nowrap; } .rm-win b { color: #5dff6a; }
#stage.l916 .race-card { width: 1040px; } #stage.l916 .race-body { flex-direction: column; } #stage.l916 .race-stage { width: 100%; } #stage.l916 #raceList { flex-direction: row; flex-wrap: wrap; } #stage.l916 #raceList li { flex: 1 1 30%; min-height: 44px; font-size: 20px; }


/* ---------- PLANNING DES ÉVÉNEMENTS (sous le Plinko) ---------- */
#plan { flex: none; height: 318px; padding: 6px 14px 10px; }
#plan .panel-title { font-size: 27px; letter-spacing: 1px; margin-bottom: 4px; white-space: nowrap; line-height: 1.1; } #plan .panel-title small { display: none; }
#stage.l916 #plan { height: 318px; }
#planList { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 5px; }
.ev { position: relative; flex: 1; min-height: 0; display: flex; align-items: center; gap: 10px; padding: 0 14px 0 8px;
  border: 3px solid var(--ink); border-left-width: 8px; border-radius: 6px; overflow: hidden; color: #fff; background: var(--evbg); border-color: var(--ink); border-left-color: var(--evc); box-shadow: 3px 3px 0 var(--ink); }
.ev::before { content: ''; position: absolute; inset: 0; background: var(--evpat, none); opacity: .55; pointer-events: none; }
.ev::after { content: attr(data-deco); position: absolute; right: 150px; top: 50%; transform: translateY(-50%) rotate(-10deg); font-size: 54px; opacity: .22; letter-spacing: 8px; white-space: nowrap; pointer-events: none; filter: saturate(1.4); }
.ev > * { position: relative; z-index: 1; }
.ev .ic { flex: none; width: 46px; font-size: 30px; text-align: center; filter: drop-shadow(0 2px 0 rgba(0,0,0,.5)); }
.ev .nm { font-family: var(--f-display); font-size: 22px; letter-spacing: 1px; line-height: 1; text-shadow: 2px 2px 0 var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ev .dt { font: 600 13px var(--f-body, Rubik, sans-serif); letter-spacing: .4px; color: #fff; opacity: .9; text-shadow: 1px 1px 0 var(--ink); margin-top: 2px; }
.ev .tx { flex: 1 1 0; min-width: 0; }
.ev .evcd { display: flex; flex: none; gap: 5px; align-items: stretch; white-space: nowrap; }
.ev .evcd span { min-width: 48px; text-align: center; background: rgba(8,2,26,.72); border: 2px solid var(--evc); border-radius: 5px; padding: 1px 3px 0; font: 700 22px/1.05 var(--f-display); letter-spacing: 1px; font-variant-numeric: tabular-nums; }
.ev .evcd span small { display: block; font: 700 9px/1 var(--f-body, Rubik, sans-serif); letter-spacing: 1px; color: var(--evc); padding-bottom: 2px; }
.ev.now { animation: evNow 1s ease-in-out infinite alternate; }
.ev.now .evcd { display: block; text-align: right; font-family: var(--f-display); font-size: 28px; letter-spacing: 2px; color: #fff; text-shadow: 0 0 10px var(--evc), 2px 2px 0 var(--ink); }
@keyframes evNow { from { box-shadow: 3px 3px 0 var(--ink), 0 0 6px var(--evc); } to { box-shadow: 3px 3px 0 var(--ink), 0 0 22px 3px var(--evc); } }
.ev-empty { margin: auto; font: 600 18px var(--f-body, Rubik, sans-serif); color: #b9a8e8; text-align: center; }

/* décorations de fond par événement */
.ev-peche { --evc: #5fd3ff; --evbg: linear-gradient(100deg, #0b3a7a, #1668c4 60%, #29a3e6); --evpat: repeating-radial-gradient(circle at 20% 130%, transparent 0 14px, rgba(255,255,255,.22) 15px 17px); }
.ev-tierce { --evc: #7dff8a; --evbg: linear-gradient(100deg, #0f4a1e, #1f7a34 60%, #35a34a); --evpat: repeating-linear-gradient(90deg, rgba(255,255,255,.10) 0 38px, transparent 38px 76px), linear-gradient(180deg, transparent 80%, rgba(255,255,255,.35) 80% 84%, transparent 84%); }
.ev-roue { --evc: #ff8a3d; --evbg: linear-gradient(100deg, #5a0a0a, #b3200f 55%, #ff6a00); --evpat: repeating-conic-gradient(from 0deg at 82% 50%, rgba(255,210,63,.28) 0 10deg, transparent 10deg 20deg); }
.ev-compteur { --evc: #ffe14a; --evbg: linear-gradient(100deg, #1a1405, #3a2e08); --evpat: repeating-linear-gradient(-45deg, rgba(255,210,0,.5) 0 14px, rgba(0,0,0,.55) 14px 28px); }
.ev-boost2 { --evc: #5fd3ff; --evbg: linear-gradient(100deg, #06304f, #0d6fa8 60%, #3cc2ff); --evpat: repeating-linear-gradient(115deg, transparent 0 24px, rgba(200,240,255,.35) 24px 26px, transparent 26px 52px); }
.ev-boost5 { --evc: #c58bff; --evbg: linear-gradient(100deg, #2a0a58, #6a22c4 60%, #a05bff); --evpat: repeating-linear-gradient(115deg, transparent 0 24px, rgba(235,210,255,.35) 24px 26px, transparent 26px 52px); }
.ev-boost10 { --evc: #ffd23f; --evbg: linear-gradient(100deg, #5a3500, #c27a00 60%, #ffcc33); --evpat: repeating-linear-gradient(115deg, transparent 0 24px, rgba(255,246,200,.45) 24px 26px, transparent 26px 52px); }
.ev-eva { --evc: #ff7ad9; --evbg: linear-gradient(100deg, #1a0a4a, #4a1c9a 55%, #1fb6c9); --evpat: radial-gradient(circle at 12% 30%, rgba(255,255,255,.5) 0 2px, transparent 3px), radial-gradient(circle at 40% 70%, rgba(255,255,255,.4) 0 2px, transparent 3px), radial-gradient(circle at 70% 25%, rgba(255,255,255,.5) 0 2px, transparent 3px), radial-gradient(circle at 90% 65%, rgba(255,255,255,.4) 0 2px, transparent 3px); }
.ev-soiree { --evc: #ffb21f; --evbg: linear-gradient(100deg, #12062e, #3a1170 55%, #7a2a9c); --evpat: radial-gradient(circle at 15% 25%, #ff4d6d 0 3px, transparent 4px), radial-gradient(circle at 35% 75%, #ffd23f 0 3px, transparent 4px), radial-gradient(circle at 58% 30%, #5fd3ff 0 3px, transparent 4px), radial-gradient(circle at 78% 70%, #7dff8a 0 3px, transparent 4px), radial-gradient(circle at 92% 28%, #ff4d6d 0 3px, transparent 4px); }

/* ===== Case GIVRÉE (joueur gelé) ===== */
#list .row.frozen { border-left-color: #bdf3ff; color: #e9fbff; overflow: hidden;
  background:
    radial-gradient(circle at 12% 20%, rgba(255,255,255,.75) 0 2px, transparent 3px),
    radial-gradient(circle at 38% 78%, rgba(255,255,255,.6) 0 2px, transparent 3px),
    radial-gradient(circle at 63% 30%, rgba(255,255,255,.7) 0 1.5px, transparent 3px),
    radial-gradient(circle at 86% 70%, rgba(255,255,255,.65) 0 2px, transparent 3px),
    linear-gradient(100deg, rgba(190,240,255,.72), rgba(120,205,245,.55) 45%, rgba(215,248,255,.75));
  box-shadow: inset 0 0 18px rgba(255,255,255,.85), inset 0 0 3px 1px #fff, 0 0 14px rgba(110,215,255,.75); }
#list .row.frozen::before { content: ''; position: absolute; inset: 0; pointer-events: none; z-index: 2;
  background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,.75) 50%, transparent 65%); background-size: 250% 100%;
  animation: frostShine 3.2s linear infinite; }
#list .row.frozen::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 9px; pointer-events: none; z-index: 2;
  background: linear-gradient(135deg, #fff 25%, transparent 25%) 0 0/14px 9px, linear-gradient(225deg, #fff 25%, transparent 25%) 0 0/14px 9px; opacity: .9; }
#list .row.frozen .pn, #list .row.frozen .rk { color: #0a5f8f; text-shadow: 0 0 6px #fff, 1px 1px 0 rgba(255,255,255,.9); }
#list .row.frozen .pg { color: #0b7bb8; text-shadow: 0 0 6px #fff; }
#list .row.frozen .inc { color: #3a8aa8; text-shadow: none; }
#list .row.frozen .ic { filter: drop-shadow(0 0 4px #fff); }
@keyframes frostShine { from { background-position: 150% 0; } to { background-position: -100% 0; } }

/* ===== Coffres ===== */
.row .sub .chs { display: inline-flex; align-items: center; gap: 4px; font-size: .68em; font-weight: 900; letter-spacing: .3px; line-height: 1; white-space: nowrap; color: #fff; text-shadow: 2px 2px 0 var(--ink); }
.row .sub .chs svg { width: 1.6em; height: 1.6em; flex: none; filter: drop-shadow(1px 1px 0 var(--ink)); }
.row .sub .chs.t-wood { color: #ffcf99; } .row .sub .chs.t-bronze { color: #ffb36b; } .row .sub .chs.t-silver { color: #e6ecf7; } .row .sub .chs.t-gold { color: #ffe266; text-shadow: 2px 2px 0 var(--ink), 0 0 8px rgba(255,200,40,.7); }
#invBox.chestbox { box-shadow: 0 0 0 5px #b97a3c, 0 0 36px 6px rgba(255,170,60,.45), 6px 6px 0 8px var(--ink); }
.inv-row .nm small { display: block; font-family: var(--f-body, Rubik, sans-serif); font-size: .42em; font-weight: 700; letter-spacing: .5px; color: #cdbdf5; text-shadow: none; margin-top: -2px; }
.inv-row.t-ch-wood { border-left-color: #b97a3c; } .inv-row.t-ch-bronze { border-left-color: #e09a5a; } .inv-row.t-ch-silver { border-left-color: #dfe6f2; } .inv-row.t-ch-gold { border-left-color: #ffd23f; }
.inv-row.t-ch-gold { background: linear-gradient(90deg, rgba(255,210,63,.28), rgba(255,255,255,.07)); }
.inv-row.t-ch-in { border-left-color: var(--gold); } .inv-row.t-ch-free { border-left-color: #8a6fe0; }
.inv-row.mine { outline: 3px solid #5dff6a; outline-offset: -3px; }
.inv-row .qt.chp { display: inline-flex; align-items: center; gap: 4px; font-size: 38px; }
.inv-row .qt.chp svg { width: 36px; height: 36px; }
.inv-row .own { font-family: var(--f-display); font-size: 24px; color: #5dff6a; letter-spacing: 1px; text-shadow: 2px 2px 0 var(--ink); } .inv-row .own.dim { color: #8a7fb0; font-size: 34px; }
.ch-bar { height: 22px; margin: 2px 8px; border-radius: 12px; background: rgba(0,0,0,.45); border: 3px solid var(--ink); overflow: hidden; }
.ch-bar.fresh { animation: invRow .45s ease-out both; animation-delay: calc(var(--i) * .09s + .25s); }
.ch-bar i { display: block; height: 100%; background: linear-gradient(90deg, #ffb800, #fff2a0 60%, #ffb800); box-shadow: 0 0 14px rgba(255,200,40,.8); transition: width .8s ease; }
.ch-hint { text-align: center; font-size: 19px; font-weight: 800; color: #e6dcff; padding: 4px 0 0; letter-spacing: .3px; } .ch-hint b { color: #ffd23f; }
#stage.l916 .inv-row .qt.chp { font-size: 30px; } #stage.l916 .ch-hint { font-size: 15px; }
.banner.k-chest .burst { background: #ffb21f; } .banner.k-chest .burst::after { background: #fff4c2; } .banner.k-chest #bnMain { color: #b36200; }
.banner.k-chestopen .burst { background: #b9863f; } .banner.k-chestopen .burst::after { background: #fff0d4; } .banner.k-chestopen #bnMain { color: #7a4a14; }

#invBox.chestbox .inv-row .nm { font-size: 29px; white-space: nowrap; letter-spacing: 1px; } #invBox.chestbox .inv-row { grid-template-columns: 48px minmax(0, 1fr) auto; }
#invBox.chestbox .ch-hint { font-size: 16px; white-space: nowrap; }
#invBox.chestbox .inv-row .own { font-size: 20px; }

/* Tiercé à côtes */
#raceList li em b.cote { flex: none; font-size: 27px; color: #5dff6a; text-align: left; text-shadow: 2px 2px 0 var(--ink); }
.rm-win small { font-size: .7em; color: #cdbdf5; }

/* ===== Mini-jeux plein écran : Juste Prix, Machine à sous ===== */
#stage > #banner { z-index: 30; }
#stage > #jpWrap, #stage > #slotWrap { position: absolute; }
#jpWrap, #slotWrap { inset: 0; z-index: 24; display: flex; align-items: center; justify-content: center; background: rgba(8,2,22,.86); }
.mg-card { position: relative; width: 1700px; max-width: 97%; padding: 16px 26px 18px; background: linear-gradient(180deg, #2a0f55, #14062e); border: 8px solid var(--ink); border-radius: 14px; box-shadow: 0 0 0 8px var(--gold), 0 0 70px 14px rgba(255,200,40,.45), 10px 10px 0 12px var(--ink); display: flex; flex-direction: column; gap: 8px; }
.mg-head { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; }
.mg-title { font-family: var(--f-display); font-size: 56px; letter-spacing: 4px; color: var(--gold); text-shadow: 4px 4px 0 var(--ink); line-height: 1; display: flex; align-items: center; gap: 12px; }
.mg-timer { font-family: var(--f-display); font-size: 52px; letter-spacing: 2px; color: #fff; text-shadow: 4px 4px 0 var(--ink); line-height: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 60%; }
.mg-msg { min-height: 54px; text-align: center; font-family: var(--f-display); font-size: 40px; letter-spacing: 2px; color: var(--silver); text-shadow: 3px 3px 0 var(--ink); line-height: 1.15; }
.mg-msg b { color: #ffd23f; font-weight: normal; }
.mg-side { width: 400px; flex: none; display: flex; flex-direction: column; gap: 6px; }
.mg-side-t { font-family: var(--f-display); font-size: 30px; letter-spacing: 2px; color: var(--gold); text-shadow: 3px 3px 0 var(--ink); }
.mg-side ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 5px; flex: 1; }

/* Juste Prix */
.jp-body { display: flex; gap: 18px; height: 720px; }
.jp-stage { position: relative; flex: 1; border: 6px solid var(--ink); border-radius: 10px; overflow: hidden; background: radial-gradient(ellipse at 50% 120%, #7a1fc4, #2a0a58 55%, #12062e); }
.jp-beam { position: absolute; left: 50%; top: -40px; width: 760px; height: 820px; transform: translateX(-50%); background: conic-gradient(from 180deg at 50% 0, transparent 160deg, rgba(255,246,200,.30) 172deg, rgba(255,246,200,.42) 180deg, rgba(255,246,200,.30) 188deg, transparent 200deg); filter: blur(2px); animation: jpBeam 4s ease-in-out infinite alternate; pointer-events: none; }
@keyframes jpBeam { from { transform: translateX(-52%) rotate(-3deg); } to { transform: translateX(-48%) rotate(3deg); } }
.jp-lights { position: absolute; inset: 0 0 auto 0; height: 26px; display: flex; justify-content: space-around; align-items: center; background: rgba(0,0,0,.35); }
.jp-lights i { width: 14px; height: 14px; border-radius: 50%; background: #ffd23f; box-shadow: 0 0 12px 3px #ffb800; animation: jpBulb 1s steps(2) infinite; } .jp-lights i:nth-child(even) { animation-delay: .5s; background: #ff5a8a; box-shadow: 0 0 12px 3px #ff2a6a; }
@keyframes jpBulb { 0% { opacity: 1; } 50% { opacity: .25; } }
.jp-itemwrap { position: absolute; left: 50%; top: 82px; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; }
.jp-emoji { font-size: 300px; line-height: 1; filter: drop-shadow(10px 14px 0 rgba(0,0,0,.45)); animation: jpBob 2.4s ease-in-out infinite; }
@keyframes jpBob { 0%,100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-16px) rotate(2deg); } }
.jp-pedestal { width: 420px; height: 34px; margin-top: 4px; border-radius: 50%; background: radial-gradient(ellipse, #ffe27a, #b8730a 70%); border: 5px solid var(--ink); box-shadow: 0 10px 0 var(--ink); }
.jp-name { position: absolute; left: 0; right: 0; top: 462px; text-align: center; font-family: var(--f-display); font-size: 62px; letter-spacing: 3px; color: #fff; text-shadow: 5px 5px 0 var(--ink); padding: 0 20px; line-height: 1.05; }
.jp-price { position: absolute; left: 50%; bottom: 22px; transform: translateX(-50%); display: flex; align-items: center; gap: 10px; padding: 8px 26px 6px; background: #120826; border: 6px solid var(--gold); border-radius: 12px; box-shadow: 0 0 24px rgba(255,200,40,.6), 6px 6px 0 var(--ink); font-family: var(--f-display); font-size: 96px; color: #ff4b3a; line-height: 1; text-shadow: 0 0 18px #ff2a1a; }
.jp-price span { display: inline-block; min-width: 62px; text-align: center; animation: jpDigit .9s steps(3) infinite; } .jp-price span:nth-child(2) { animation-delay: .3s; } .jp-price span:nth-child(3) { animation-delay: .6s; }
@keyframes jpDigit { 50% { opacity: .35; } }
.jp-price i { font-style: normal; color: var(--gold); text-shadow: 0 0 14px #ffb800; margin-left: 4px; }
.jp-price.found { color: #5dff6a; text-shadow: 0 0 22px #1aff3a; border-color: #5dff6a; animation: jpFound .5s ease-out; }
.jp-price.found span { animation: none; } .jp-price.lost { color: #ffd23f; text-shadow: 0 0 18px #ffb800; } .jp-price.lost span { animation: none; }
@keyframes jpFound { 0% { transform: translateX(-50%) scale(.6); } 60% { transform: translateX(-50%) scale(1.18); } 100% { transform: translateX(-50%) scale(1); } }
.jp-hint { position: absolute; right: 24px; top: 48px; max-width: 360px; padding: 12px 20px; font-family: var(--f-display); font-size: 54px; line-height: 1; border: 6px solid var(--ink); box-shadow: 7px 7px 0 var(--ink); transform: rotate(4deg); display: none; text-align: center; }
.jp-hint.up { display: block; background: #5dff6a; color: #07511a; } .jp-hint.down { display: block; background: #ff6a5a; color: #5a0a00; }
.jp-hint small { display: block; font-family: var(--f-body, Rubik, sans-serif); font-weight: 800; font-size: 20px; margin-top: 4px; }
.jp-hint.pop { animation: jpPop .4s cubic-bezier(.2,1.5,.4,1); } @keyframes jpPop { from { transform: rotate(4deg) scale(.3); } to { transform: rotate(4deg) scale(1); } }
.jp-bracket { font-family: var(--f-display); font-size: 30px; letter-spacing: 1px; color: #fff; text-shadow: 3px 3px 0 var(--ink); background: rgba(255,255,255,.1); border: 3px solid var(--ink); padding: 6px 10px; text-align: center; line-height: 1.1; }
.jp-bracket b { color: #ffd23f; font-weight: normal; }
#jpList li { display: flex; align-items: center; gap: 10px; padding: 6px 12px; background: rgba(255,255,255,.09); border-left: 10px solid var(--c, #888); font-weight: 800; font-size: 25px; color: #fff; text-shadow: 2px 2px 0 var(--ink); overflow: hidden; animation: jpIn .35s ease-out; }
@keyframes jpIn { from { transform: translateX(40px); opacity: 0; } }
#jpList li.up { --c: #5dff6a; } #jpList li.down { --c: #ff6a5a; }
#jpList li span { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } #jpList li em { font-style: normal; font-family: var(--f-display); font-size: 30px; color: #ffe27a; } #jpList li u { text-decoration: none; font-size: 24px; }

/* Machine à sous */
.slot-bet-hint { margin: 8px 0 14px; padding: 10px 14px; border: 2px solid #ffd23f; border-radius: 8px; background: linear-gradient(90deg, rgba(255,210,63,.16), rgba(125,69,255,.16)); color: #f8edff; font-size: clamp(14px, 1.2vw, 22px); font-weight: 800; text-align: center; text-shadow: 2px 2px 0 var(--ink); }
.slot-bet-hint b { color: #ffd23f; }
.slot-body { display: flex; gap: 18px; }
.slot-stage { border: 6px solid var(--ink); border-radius: 10px; overflow: hidden; line-height: 0; background: #0b0528; flex: 1; }
#slotCv { width: 100%; height: auto; display: block; }
.slot-side { width: 330px; }
#slotChance li { display: flex; justify-content: space-between; align-items: center; padding: 4px 12px; background: rgba(255,255,255,.09); border-left: 10px solid #8a8fa3; font-weight: 800; font-size: 25px; color: #fff; text-shadow: 2px 2px 0 var(--ink); } #slotChance li em { font-style: normal; font-family: var(--f-display); font-size: 29px; color: #ffe27a; }
#slotChance li.hot { border-left-color: #5dff6a; } #slotChance li.hot em { color: #5dff6a; }
.slot-queue { font-weight: 800; font-size: 21px; color: #cdbdf5; line-height: 1.3; text-shadow: 2px 2px 0 var(--ink); } .slot-queue b { color: #ffd23f; }
.ev-justeprix { --evc: #ffe14a; --evbg: linear-gradient(100deg, #3a0a5e, #a41f8a 55%, #ff7a3d); --evpat: radial-gradient(circle at 12% 30%, rgba(255,255,255,.6) 0 2px, transparent 3px), radial-gradient(circle at 36% 72%, rgba(255,230,120,.7) 0 2px, transparent 3px), radial-gradient(circle at 64% 28%, rgba(255,255,255,.5) 0 2px, transparent 3px), repeating-linear-gradient(100deg, transparent 0 30px, rgba(255,255,255,.08) 30px 33px); }
.ev-machine { --evc: #ffd23f; --evbg: linear-gradient(100deg, #4a0a2a, #b3124e 55%, #ff5a3a); --evpat: radial-gradient(circle at 10% 50%, #ffd23f 0 4px, transparent 5px), radial-gradient(circle at 30% 50%, #ffd23f 0 4px, transparent 5px), radial-gradient(circle at 50% 50%, #ffd23f 0 4px, transparent 5px), radial-gradient(circle at 70% 50%, #ffd23f 0 4px, transparent 5px), radial-gradient(circle at 90% 50%, #ffd23f 0 4px, transparent 5px); }

/* ---- Boucliers (classement + inventaire + bandeau) ---- */
.row .sub .shd { display: inline-flex; align-items: center; gap: 1px; margin-left: 0; }
.row .sub .shd .sh { width: 1em; height: 1em; flex: none; transition: filter .3s, opacity .3s; }
.row .sub .shd .sh.on { filter: drop-shadow(1px 1px 0 var(--ink)) drop-shadow(0 0 6px rgba(90,190,255,.95)); }
.row .sub .shd .sh.dim { filter: grayscale(1) brightness(.75) drop-shadow(1px 1px 0 var(--ink)); opacity: .55; }
.banner.k-shield .burst { background: #3aa0ff; } .banner.k-shield #bnMain { color: #0b6fd0; } .banner.k-shield #bnSub { color: #06284f; }
.inv-row.t-shield { border-left-color: #3aa0ff; }

.ev-mine { --evc: #ffd23f; --evbg: linear-gradient(100deg, #1d1208, #5b3a1a 55%, #8a5a26); --evpat: radial-gradient(circle at 15% 50%, #ffd23f 0 3px, transparent 4px), radial-gradient(circle at 45% 50%, #ffb43a 0 3px, transparent 4px), radial-gradient(circle at 75% 50%, #ffd23f 0 3px, transparent 4px); }

/* ---- La Mine (bande sous le Plinko) ---- */
#mine { flex: none; height: 190px; padding: 0; position: relative; overflow: hidden; }
#mine .mine-wrap { position: absolute; left: 8px; right: 8px; top: 8px; bottom: 8px; border-radius: 6px; overflow: hidden; box-shadow: inset 0 0 0 2px rgba(0,0,0,.45); }
#mineCv { display: block; width: 100%; height: 100%; }
#mine.hid { display: none; }
#plan { height: 252px; }
#stage.l916 #mine { height: 190px; } #stage.l916 #plan { height: 252px; }

/* ---- Bombe nucléaire ---- */
.banner.k-nuke .burst { background: #b6ff3a; } .banner.k-nuke #bnMain { color: #3a6a00; } .banner.k-nuke #bnSub { color: #1f3300; }
.inv-row.t-nuke { border-left-color: #b6ff3a; }

.inv-row.t-mt { border-left-color: #cfd8ea; } .inv-row.t-mt.mine { border-left-color: #5dff6a; } .inv-row.t-mt .nm small { display: block; font-size: 17px; color: #ffd23f; letter-spacing: 0; } #invBox.chestbox .inv-row.t-mt .nm { font-size: 24px; } #invBox.chestbox .inv-row.t-mt .qt.chp { font-size: 26px; }
#invBox.chestbox .inv-row.t-mt .nm { font-size: 20px; letter-spacing: .3px; } #invBox.chestbox .inv-row.t-mt .nm small { font-size: 15px; }
#invBox.chestbox .inv-row.t-mt .qt.chp { font-size: 21px; } #invBox.chestbox .inv-row.t-mt .own { font-size: 17px; }
#invBox.chestbox .inv-row.t-mt svg { width: 40px; height: 40px; }
#invBox.chestbox .ch-hint.mt { white-space: normal; font-size: 14px; line-height: 1.3; }
#invBox.chestbox .inv-row.t-mt .nm { font-size: 18px; } #invBox.chestbox .inv-row.t-mt .qt.chp { font-size: 19px; }

/* !parcelles : la liste défile, les lignes ne s'écrasent pas */
#pcList .pc-row { flex: none; }

/* ===== Paliers de cagnotte au classement (le compteur ne masque jamais coffre, boucliers, jetons ni loyers : il reste dans sa colonne) ===== */
.row .pg { position: relative; display: inline-block; z-index: 1; }
.row .pg.g1 { color: #ff9a1f; text-shadow: 0 0 6px rgba(255,170,60,.6), 2px 2px 0 var(--ink); animation: pgG1 2.4s ease-in-out infinite; }
.row .pg.g2 { color: #7a22d6; text-shadow: 0 0 2px rgba(210,170,255,.7), 0 0 8px rgba(150,70,240,.65), 2px 2px 0 var(--ink); animation: pgG2 2.2s ease-in-out infinite; }
.row .pg.g3 { color: #c4161c; font-size: 34px; letter-spacing: 0; text-shadow: 0 0 2px rgba(255,170,170,.7), 0 0 8px rgba(230,40,40,.6), 2px 2px 0 var(--ink); animation: pgG3 2s ease-in-out infinite; }
.row .pg.g4 { font-size: 35px; letter-spacing: 0; color: #f5b800; text-shadow: none; background: linear-gradient(100deg, #e8a200 0%, #ffcc1a 30%, #ffe27a 45%, #f5b800 60%, #d99500 100%); background-size: 220% 100%;
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  filter: drop-shadow(1.5px 1.5px 0 #1a0e00) drop-shadow(0 0 5px rgba(255,200,40,.5)); animation: pgShine 2.6s linear infinite; }
@keyframes pgG1 { 50% { filter: drop-shadow(0 0 3px rgba(255,160,40,.7)); } }
@keyframes pgG2 { 50% { filter: drop-shadow(0 0 4px rgba(160,80,240,.7)); } }
@keyframes pgG3 { 50% { filter: drop-shadow(0 0 5px rgba(230,40,40,.7)); } }
@keyframes pgShine { to { background-position: -220% 0; } }
/* Paillettes : petites étoiles qui scintillent autour du compteur (par-dessus le fond de ligne, jamais sur le nom ni les infos) */
.row .sp { position: absolute; z-index: 3; pointer-events: none; font-style: normal; font-size: 15px; line-height: 1; color: #fff; opacity: 0; animation: pgSp 1.1s ease-in-out infinite; }
.row .sp.g3 { color: #ffb0b0; text-shadow: 0 0 5px #e02020; } .row .sp.g4 { color: #fff3b0; text-shadow: 0 0 5px #ffc400; font-size: 17px; }
@keyframes pgSp { 0%, 100% { opacity: 0; transform: scale(.3) rotate(0); } 50% { opacity: 1; transform: scale(1.15) rotate(40deg); } }
#stage.l916 .row .pg.g3 { font-size: 27px; } #stage.l916 .row .pg.g4 { font-size: 29px; }

/* Ligne à gros compteur : colonnes resserrées et infos compactes pour que coffre, boucliers, jetons et loyers/s restent TOUJOURS lisibles (seul le pseudo se tronque si besoin) */
#list .row.big { grid-template-columns: 38px minmax(0, 1fr) auto; gap: 6px; padding-right: 8px; }
#list .row.big .rk { font-size: 30px; }
#list .row.big .nm { overflow: visible; }
#list .row.big .sub { gap: 6px; flex: none; }
#list .row.big .sub .inc, #list .row.big .sub .tk { font-size: .5em; }
#list .row.big .sub .chs { font-size: .55em; }
#list .row.big .nmr { overflow: hidden; }
#list .row.big .pg.g3, #list .row.big .pg.g4 { margin-left: 2px; }
/* Détourage blanc très léger des scores à partir de 10 M (le trait est peint derrière les chiffres : il ne les amincit pas) */
.row .pg.g1, .row .pg.g2, .row .pg.g3, .row .pg.g4 { -webkit-text-stroke: 1.6px rgba(255,255,255,.8); paint-order: stroke fill; }
/* Lisibilité du violet et du rouge : teintes un peu plus vives (toujours foncées) + contour blanc plus net */
.row .pg.g2 { color: #9a3cf2; text-shadow: 0 0 3px rgba(235,210,255,.9), 0 0 10px rgba(170,90,255,.8), 2px 2px 0 var(--ink); -webkit-text-stroke: 2.4px rgba(255,255,255,.95); }
.row .pg.g3 { color: #e5222a; text-shadow: 0 0 3px rgba(255,210,210,.9), 0 0 10px rgba(255,70,70,.75), 2px 2px 0 var(--ink); -webkit-text-stroke: 2.4px rgba(255,255,255,.95); }

/* Classement séparé des cagnottes personnelles sous le TOP 10 */
#board { display:flex; flex-direction:column; min-height:0; overflow:hidden; }
#board #list { flex:1 1 auto; min-height:0; }
#moneyBoard { flex:0 0 auto; margin-top:6px; padding:6px 8px 5px; border:2px solid rgba(255,210,63,.75); border-radius:5px; background:linear-gradient(135deg,rgba(12,5,30,.96),rgba(57,21,83,.96)); box-shadow:inset 0 0 0 1px rgba(255,255,255,.06); }
.money-board-title { font-family:var(--f-display); font-size:19px; letter-spacing:.6px; color:#ffe27a; margin-bottom:3px; white-space:nowrap; }
#moneyList { display:flex; flex-direction:column; gap:2px; }
.money-row { min-height:20px; display:grid; grid-template-columns:22px minmax(0,1fr) auto; align-items:center; gap:6px; padding:1px 5px; background:rgba(255,255,255,.06); border-left:3px solid var(--gold); font-size:14px; font-weight:800; }
.money-rank { color:var(--gold); text-align:center; font-family:var(--f-display); font-size:16px; }
.money-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.money-amount { color:#ffe27a; font-variant-numeric:tabular-nums; white-space:nowrap; }
.money-empty { font-size:12px; color:#d9c8ff; padding:3px 4px; }
#champ { flex:0 0 auto; margin-top:4px; font-size:15px; min-height:18px; }
#stage.l916 .money-board-title { font-size:22px; }
#stage.l916 .money-row { font-size:15px; min-height:24px; }



/* ===== Correctif de mise en page TOP 10 + cagnotte ===== */
#board { min-width:0; }
#board .board-heading {
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:space-between;
  gap:5px;
  min-width:0;
  margin-bottom:5px;
  line-height:1;
}
#board .board-heading > span {
  flex:0 0 auto;
  white-space:nowrap;
  font-size:32px;
  letter-spacing:1px;
  line-height:1;
  min-width:0;
}
#board .board-heading-right {
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:flex-end;
  gap:4px;
}
#board .cagnotte-display {
  flex:0 1 auto;
  min-width:0;
  max-width:100%;
  padding:3px 4px;
  gap:2px;
  border-width:1px;
  overflow:hidden;
}
#board .cagnotte-display .cg-label { font-size:8px; letter-spacing:0; margin-right:1px; }
#board .cagnotte-display .cg-reels { font-size:17px; gap:0; }
#board .cagnotte-display .cg-euro { font-size:11px; }
#board #tabsub {
  display:block;
  flex:0 1 68px;
  max-width:68px;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:11px;
  line-height:1;
}
#board #tabs { flex:0 0 auto; margin-bottom:4px; }
#board #list { flex:1 1 auto; min-height:0; gap:3px; }
#board #list .row { min-width:0; gap:5px; padding-right:5px; }
#board #moneyBoard { flex:0 0 auto; margin-top:4px; padding:4px 5px; }
#board .money-board-title { font-size:14px; letter-spacing:0; line-height:1.1; margin-bottom:2px; }
#board #moneyList { gap:1px; }
#board .money-row { min-height:16px; grid-template-columns:18px minmax(0,1fr) auto; gap:4px; padding:0 3px; font-size:11px; }
#board .money-rank { font-size:12px; }
#board #champ { margin-top:2px; font-size:12px; min-height:0; }
#stage.l916 #board .board-heading > span { font-size:27px; }
#stage.l916 #board .cagnotte-display .cg-reels { font-size:16px; }
#stage.l916 #board .money-board-title { font-size:16px; }
#stage.l916 #board .money-row { font-size:12px; min-height:18px; }
@media (max-width: 900px) {
  #board .board-heading > span { font-size:26px; }
  #board .cagnotte-display .cg-label { display:none; }
  #board #tabsub { display:none; }
}


/* ===== Ajustement demandé : précision 6 décimales + classement équilibré ===== */
#board #list { flex: 0 1 64%; min-height:0; gap:2px; }
#board #list .row { min-height:0; max-height:54px; padding-top:0; padding-bottom:0; gap:4px; grid-template-columns:34px minmax(0,1fr) auto; font-size:22px; }
#board #list .row .rk { font-size:29px; }
#board #moneyBoard { flex:1 0 0; min-height:0; margin-top:5px; padding:6px 7px; display:flex; flex-direction:column; justify-content:flex-start; }
#board .money-board-title { font-size:15px; margin-bottom:4px; }
#board #moneyList { gap:2px; }
#board .money-row { min-height:20px; padding:1px 5px; grid-template-columns:20px minmax(0,1fr) auto; gap:5px; font-size:12px; }
#board .money-rank { font-size:13px; }
#board .money-amount { font-size:12px; letter-spacing:-.15px; }
#board .cagnotte-display .cg-reels { font-size:13px; }
#board .cagnotte-display .cg-separator { font-size:13px; }
#stage.l916 #board .cagnotte-display .cg-reels { font-size:12px; }
#stage.l916 #board .money-row { min-height:21px; font-size:12px; }
@media (max-width: 900px) {
  #board #list { flex-basis:62%; }
  #board .money-amount { font-size:11px; }
}

/* ===== Agrandissement des cases du TOP 5 des cagnottes personnelles ===== */
#board #moneyBoard { padding:8px 8px 7px; }
#board .money-board-title { font-size:16px; margin-bottom:6px; line-height:1.2; }
#board #moneyList { gap:4px; }
#board .money-row { min-height:27px; padding:3px 7px; grid-template-columns:24px minmax(0,1fr) auto; gap:7px; font-size:14px; border-left-width:4px; }
#board .money-rank { font-size:15px; }
#board .money-amount { font-size:14px; letter-spacing:0; }
#stage.l916 #board #moneyBoard { padding:9px 9px 8px; }
#stage.l916 #board .money-board-title { font-size:17px; margin-bottom:6px; }
#stage.l916 #board .money-row { min-height:29px; padding:3px 7px; font-size:14px; }
#stage.l916 #board .money-rank { font-size:16px; }
#stage.l916 #board .money-amount { font-size:14px; }
@media (max-width: 900px) {
  #board .money-row { min-height:24px; font-size:12px; }
  #board .money-amount { font-size:12px; }
}


/* Détail des cagnottes personnelles : valeur des jetons et des points */
#board .money-row { grid-template-columns:22px minmax(0,1fr) auto; align-items:center; min-height:39px; }
#board .money-player-details { display:flex; min-width:0; flex-direction:column; justify-content:center; gap:2px; }
#board .money-player-details .money-name { display:block; font-size:12px; line-height:1.05; }
#board .money-breakdown { display:block; min-width:0; color:#d9c8ff; font-size:8px; line-height:1.1; font-weight:600; white-space:normal; overflow-wrap:anywhere; }
#board .money-amount { font-size:11px; }
#stage.l916 #board .money-row { min-height:42px; }
#stage.l916 #board .money-player-details .money-name { font-size:13px; }
#stage.l916 #board .money-breakdown { font-size:9px; }
#stage.l916 #board .money-amount { font-size:12px; }
@media (max-width: 900px) { #board .money-row { min-height:38px; } #board .money-breakdown { font-size:8px; } }


/* ===== Lisibilité du TOP 5 : détails sur deux lignes, colonnes nettes ===== */
#board #list { flex: 0 1 55% !important; gap: 2px !important; }
#board #list .row { min-height: 0 !important; max-height: 38px !important; padding-top: 0 !important; padding-bottom: 0 !important; font-size: 20px !important; }
#board #list .row .rk { font-size: 25px !important; }
#board #moneyBoard { flex: 1 1 45% !important; min-height: 0 !important; margin-top: 5px !important; padding: 7px 7px 6px !important; overflow: hidden !important; }
#board .money-board-title { font-size: 16px !important; line-height: 1.15 !important; margin-bottom: 5px !important; white-space: nowrap !important; }
#board #moneyList { gap: 3px !important; min-height: 0 !important; }
#board .money-row { min-height: 0 !important; height: auto !important; padding: 4px 5px !important; grid-template-columns: 20px minmax(0,1fr) auto !important; gap: 5px !important; align-items: center !important; }
#board .money-rank { font-size: 15px !important; }
#board .money-player-details { min-width: 0 !important; gap: 3px !important; }
#board .money-player-details .money-name { font-size: 13px !important; line-height: 1.1 !important; }
#board .money-breakdown { display: flex !important; flex-direction: column !important; gap: 2px !important; color: #e5d8ff !important; font-size: 10px !important; line-height: 1.15 !important; font-weight: 650 !important; white-space: normal !important; overflow-wrap: normal !important; }
#board .money-breakdown span { display: block !important; }
#board .money-amount { align-self: center !important; font-size: 12px !important; line-height: 1.15 !important; letter-spacing: 0 !important; }
#stage.l916 #board .money-player-details .money-name { font-size: 13px !important; }
#stage.l916 #board .money-breakdown { font-size: 10px !important; }
#stage.l916 #board .money-amount { font-size: 12px !important; }
@media (max-width: 900px) {
  #board #list { flex-basis: 53% !important; }
  #board .money-breakdown { font-size: 9px !important; }
  #board .money-amount { font-size: 11px !important; }
}


/* ===== Ajustement fin demandé : moins de vide sous le TOP 5, TOP 10 légèrement plus lisible ===== */
#board #moneyBoard {
  flex: 0 0 auto !important;
  align-self: stretch !important;
  padding-bottom: 3px !important;
}
#board #moneyList { gap: 2px !important; }
#board .money-row { padding-bottom: 3px !important; }
/* Agrandir légèrement les éléments textuels du TOP 10, sans modifier les scores .pg */
#board #list .row .rk { font-size: 26px !important; }
#board #list .row .nm .pn { font-size: 1.05em !important; }
#board #list .row .nm .lv { font-size: 1.04em !important; }
#board #list .row .sub .inc,
#board #list .row .sub .tk,
#board #list .row .sub .shd,
#board #list .row .sub .chs { font-size: .54em !important; }
/* Les compteurs de points .pg gardent volontairement leur taille actuelle. */


/* Ajustement fin demandé après retour visuel : garder la taille du TOP 5, réduire seulement le vide inférieur et agrandir très légèrement les libellés du TOP 10. */
#board #moneyBoard {
  flex: 0 0 auto !important;
  padding-top: 5px !important;
  padding-bottom: 2px !important;
}
#board #moneyList { gap: 2px !important; }
#board .money-row { padding-top: 3px !important; padding-bottom: 3px !important; }
/* Libellés du TOP 10 : petite hausse, sans toucher aux scores .pg ni aux compteurs de cagnotte. */
#board #list .row .rk { font-size: 26px !important; }
#board #list .row .nm .pn { font-size: 1.03em !important; }
#board #list .row .nm .lv { font-size: 1.02em !important; }
/* Explicitement conserver les tailles des valeurs de points et des détails de cagnotte. */
#board .money-player-details .money-name { font-size: 13px !important; }
#board .money-breakdown { font-size: 10px !important; line-height: 1.15 !important; }
#board .money-amount { font-size: 12px !important; }


/* ===== Ajustement ciblé après validation visuelle : deux classements compacts et lisibles ===== */
/* Le TOP 5 prend uniquement la hauteur nécessaire à ses 5 lignes : pas de grand bloc vide dessous. */
#board { min-height:0 !important; }
#board #list {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  gap: 3px !important;
}
#board #list .row {
  flex: 1 1 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  padding-top: 1px !important;
  padding-bottom: 1px !important;
  grid-template-columns: 34px minmax(0,1fr) auto !important;
  gap: 5px !important;
}
/* Plus grands rangs, pseudos et niveaux pour lecture sur téléphone ; scores .pg inchangés. */
#board #list .row .rk { font-size: 28px !important; }
#board #list .row .nm .pn { font-size: 22px !important; line-height:1.05 !important; }
#board #list .row .nm .lv { font-size: 18px !important; line-height:1 !important; }
#board #list .row .sub { gap: 5px !important; }
#board #list .row .sub .inc,
#board #list .row .sub .tk,
#board #list .row .sub .shd,
#board #list .row .sub .chs { font-size: 12px !important; }
/* Le bloc argent est compact et suit directement le TOP 10. */
#board #moneyBoard {
  flex: 0 0 auto !important;
  align-self: stretch !important;
  margin-top: 4px !important;
  padding: 5px 6px 4px !important;
  overflow: hidden !important;
}
#board .money-board-title { font-size: 15px !important; line-height:1.1 !important; margin-bottom:3px !important; }
#board #moneyList { gap: 2px !important; }
#board .money-row {
  min-height: 0 !important;
  height: auto !important;
  padding: 3px 5px !important;
  grid-template-columns: 20px minmax(0,1fr) auto !important;
  gap: 5px !important;
}
/* Ne pas modifier la taille des détails ni des montants de cagnotte du TOP 5. */
#board .money-player-details .money-name { font-size: 13px !important; }
#board .money-breakdown { font-size: 10px !important; line-height:1.15 !important; }
#board .money-amount { font-size: 12px !important; }
#board #champ { flex:0 0 auto !important; margin-top:2px !important; min-height:0 !important; }
@media (max-width: 900px) {
  #board #list .row .nm .pn { font-size: 22px !important; }
  #board #list .row .nm .lv { font-size: 18px !important; }
  #board #list .row .sub .inc,
  #board #list .row .sub .tk,
  #board #list .row .sub .shd,
  #board #list .row .sub .chs { font-size: 12px !important; }
}


/* ===== Ajustement strict demandé : agrandir uniquement les montants des cagnottes ===== */
/* Mise à l'échelle visuelle uniquement : ne modifie ni la grille ni la position des autres éléments. */
#board #cagnotteDisplay .cg-reels,
#board #cagnotteDisplay .cg-separator,
#board #cagnotteDisplay .cg-euro {
  transform: scale(1.16);
  transform-origin: center center;
  position: relative;
  z-index: 2;
}
#board #cagnotteDisplay .cg-euro {
  transform: scale(1.14);
  transform-origin: left center;
}
#board #moneyBoard .money-amount {
  transform: scale(1.16);
  transform-origin: right center;
  position: relative;
  z-index: 2;
}


/* CORRECTIF FINAL : agrandir uniquement les montants des deux cagnottes.
   Aucun changement de grille, de marge, de position ou de taille des autres éléments. */
#board #cagnotteDisplay .cg-reels,
#board #cagnotteDisplay .cg-separator,
#board #cagnotteDisplay .cg-euro {
  transform: scale(1.45) !important;
  transform-origin: center center !important;
  position: relative !important;
  z-index: 5 !important;
}
#board #cagnotteDisplay .cg-euro {
  transform: scale(1.4) !important;
  transform-origin: left center !important;
}
#board #moneyBoard .money-amount {
  transform: scale(1.4) !important;
  transform-origin: right center !important;
  position: relative !important;
  z-index: 5 !important;
}


/* Correctif ciblé : chiffres de la cagnotte commune plus grands,
   séparateur décimal plus discret pour qu'il ne masque plus les rouleaux. */
#board #cagnotteDisplay .cg-reels {
  font-size: 20px !important;
  transform: none !important;
  gap: 1px !important;
}
#board #cagnotteDisplay .cg-separator {
  font-size: 12px !important;
  width: .24em !important;
  transform: none !important;
  position: static !important;
  line-height: 1 !important;
}
#board #cagnotteDisplay .cg-euro {
  font-size: 12px !important;
  transform: none !important;
  margin-left: 2px !important;
}


/* Marché des jetons de la Mine — remplace visuellement le planning */
#plan.mine-market-panel { flex:none; height:318px; padding:6px 14px 10px; display:flex; flex-direction:column; min-height:0; }
#plan.mine-market-panel .panel-title { font-size:24px; letter-spacing:1px; margin-bottom:3px; white-space:nowrap; line-height:1.1; }
#plan.mine-market-panel .panel-title small { display:block; font-size:12px; letter-spacing:0; }
.mine-market-head { display:flex; align-items:baseline; justify-content:space-between; gap:8px; padding:0 2px 3px; flex-wrap:wrap; }
#mineMarketCirculation { color:#e8c56a; font-size:clamp(12px,1.05vw,17px); font-weight:800; font-variant-numeric:tabular-nums; white-space:nowrap; }
#mineMarketPrice { color:#43e39b; font-size:clamp(20px,2.2vw,30px); font-weight:900; font-variant-numeric:tabular-nums; }
#mineMarketStatus { color:var(--muted,#9caec5); font-size:12px; font-weight:700; }
#mineMarketChart { display:block; width:100%; height:205px; min-height:100px; flex:1; }
#stage.l916 #plan.mine-market-panel { height:318px; }


/* Alarme de cours de la Mine : flash rouge et message global, sans bloquer les interactions */
#mineAlarmFlash { position:fixed; inset:0; z-index:9998; pointer-events:none; background:rgba(255,0,24,.58); mix-blend-mode:screen; animation:mineAlarmBlink .62s steps(2,end) infinite; }
#mineAlarmAlert { position:fixed; inset:0; z-index:9999; pointer-events:none; display:flex; align-items:flex-start; justify-content:center; padding:clamp(16px,3vh,48px) 20px; }
#mineAlarmAlert.off, #mineAlarmFlash.off { display:none !important; }
.mine-alarm-message { max-width: min(1250px, 96vw); padding:clamp(12px,1.4vw,24px) clamp(18px,2.5vw,40px); border:4px solid #fff; border-radius:16px; color:#fff; background:rgba(155,0,18,.96); box-shadow:0 0 0 5px rgba(255,0,24,.45), 0 0 36px 12px rgba(255,0,24,.9); font-family:var(--f-body); font-weight:900; text-align:center; font-size:clamp(24px,3.3vw,58px); line-height:1.15; text-shadow:0 3px 0 #4d0008, 0 0 14px rgba(255,255,255,.45); animation:mineAlarmText .62s steps(2,end) infinite; }

/* Variante verte pour l'alerte de hausse du cours de la Mine. */
body.mine-alarm-green #mineAlarmFlash { background:rgba(0,255,105,.50); mix-blend-mode:screen; }
body.mine-alarm-green .mine-alarm-message { background:rgba(0,105,44,.97); box-shadow:0 0 0 5px rgba(0,255,105,.45), 0 0 36px 12px rgba(0,255,105,.85); text-shadow:0 3px 0 #003b19, 0 0 14px rgba(255,255,255,.45); }
@keyframes mineAlarmBlink { 0%,100% { opacity:.08; } 50% { opacity:.72; } }
@keyframes mineAlarmText { 0%,100% { filter:brightness(1); transform:scale(1); } 50% { filter:brightness(1.28); transform:scale(1.015); } }
@media (prefers-reduced-motion:reduce) { #mineAlarmFlash, .mine-alarm-message { animation-duration:1.2s; } }

/* MegaGames Pronos — six prochains matchs avec cotes pour les rencontres à venir et en direct */
#pronosLive .panel-title { font-size:30px; letter-spacing:1px; margin-bottom:5px; }
#pronosLive .panel-title small { font-size:13px; }
.pronos-live-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(3,minmax(0,1fr)); gap:5px 8px; min-height:0; flex:1; overflow:hidden; }
.pronos-live-card { display:flex; flex-direction:column; justify-content:center; gap:2px; padding:4px 7px; min-width:0; min-height:0; overflow:hidden; background:rgba(10,4,24,.78); border:1px solid rgba(255,178,31,.65); border-radius:7px; box-shadow:inset 0 0 12px rgba(138,61,255,.2); }
.pronos-live-card.is-live { border-color:rgba(255,65,85,.9); }
.pronos-live-match { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:5px; min-width:0; }
.pronos-live-team { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; font-weight:800; }
.pronos-live-team.away { text-align:right; }
.pronos-live-score { min-width:32px; text-align:center; color:var(--gold); font:bold 18px var(--f-display); white-space:nowrap; }
.pronos-live-meta { display:flex; justify-content:center; gap:6px; margin:0; color:var(--silver); font-size:9px; font-weight:800; white-space:nowrap; overflow:hidden; }
.pronos-live-badge { color:var(--red); }
.pronos-live-badge.upcoming { color:#79c9ff; }
.pronos-live-odds { display:flex; justify-content:center; align-items:center; gap:5px; }
.pronos-live-odds span { display:flex; align-items:center; gap:3px; padding:1px 5px; border-radius:4px; background:rgba(255,255,255,.08); font-size:10px; }
.pronos-live-odds small { color:var(--silver); font-weight:800; }
.pronos-live-odds b { color:var(--gold); font-size:11px; }
.pronos-live-empty { grid-column:1/-1; color:var(--silver); font-size:16px; text-align:center; padding:14px; }
#stage.l916 #pronosLive .panel-title { font-size:30px; }
#stage.l916 .pronos-live-list { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(3,minmax(0,1fr)); }
#stage.l916 .pronos-live-team { font-size:15px; }
#stage.l916 .pronos-live-score { font-size:21px; }


/* ================= MODE SPÉCIALE FOOTBALL ================= */
#stage.football-mode {
  --f-display: 'Bangers', Impact, 'Arial Black', sans-serif;
  --f-body: 'Rubik', system-ui, sans-serif;
  position:relative; isolation:isolate; overflow:hidden; background-color:#06101d;
  /* Stade nocturne : tribunes en étages, projecteurs et pelouse en perspective. */
  background-image:
    radial-gradient(ellipse at 50% 18%,rgba(255,255,255,.2),transparent 32%),
    radial-gradient(ellipse at 4% 16%,rgba(180,229,255,.32),transparent 23%),
    radial-gradient(ellipse at 96% 16%,rgba(180,229,255,.3),transparent 23%),
    linear-gradient(180deg,#020713 0%,#081b32 17%,#142b43 36%,#061522 46%,#0a3e2a 47%,#08723e 100%);
}
#stage.football-mode::before {
  content:""; position:absolute; z-index:0; inset:0; pointer-events:none; opacity:.95;
  background-image:
    /* faisceaux des projecteurs */
    conic-gradient(from 166deg at 4% 12%,transparent 0deg,rgba(194,239,255,.16) 7deg,transparent 17deg),
    conic-gradient(from 174deg at 96% 12%,transparent 0deg,rgba(194,239,255,.15) 7deg,transparent 17deg),
    /* lignes de tribunes / gradins */
    repeating-linear-gradient(180deg,rgba(2,6,15,.94) 0 5px,rgba(30,54,76,.9) 6px 9px,rgba(5,13,26,.95) 10px 14px,transparent 15px 20px),
    /* pelouse rayée en perspective */
    repeating-linear-gradient(90deg,rgba(0,0,0,.1) 0 7.5%,rgba(115,255,166,.1) 7.5% 15%),
    /* ligne médiane et cercle central stylisés */
    radial-gradient(ellipse at 50% 105%,transparent 0 12%,rgba(255,255,255,.36) 12.15% 12.35%,transparent 12.5% 100%),
    linear-gradient(90deg,transparent 49.85%,rgba(255,255,255,.3) 49.9% 50.1%,transparent 50.15%),
    linear-gradient(180deg,transparent 0 43%,rgba(0,0,0,.35) 44%,transparent 50%);
  background-size:100% 100%;
  mask-image:linear-gradient(180deg,#000 0%,#000 70%,rgba(0,0,0,.65) 100%);
}
#stage.football-mode::after { content:""; position:absolute; z-index:0; inset:0; pointer-events:none; opacity:.45;
  background:radial-gradient(circle at 8% 8%,#fff 0 1px,rgba(124,222,255,.8) 2px,transparent 24px),radial-gradient(circle at 12% 8%,#fff 0 1px,rgba(124,222,255,.65) 2px,transparent 22px),radial-gradient(circle at 88% 8%,#fff 0 1px,rgba(124,222,255,.8) 2px,transparent 24px),radial-gradient(circle at 92% 8%,#fff 0 1px,rgba(124,222,255,.65) 2px,transparent 22px),linear-gradient(180deg,transparent 0 48%,rgba(0,0,0,.18) 100%);
  animation:football-stadium-glow 5s ease-in-out infinite alternate; }
/* Ne pas repositionner les enfants du stage : leurs positions absolues et zones de grille sont gérées par la feuille principale. */
@keyframes football-stadium-glow { from{opacity:.28} to{opacity:.62} }
#stage.football-mode .panel { border-color:#71d9ff; box-shadow:0 0 0 2px rgba(3,16,30,.85),0 0 18px rgba(32,190,255,.3),inset 0 0 0 1px rgba(255,255,255,.12); background:linear-gradient(145deg,rgba(5,25,45,.97),rgba(7,50,61,.95)); }
#stage.football-mode .panel-title, #stage.football-mode .sub-title, #stage.football-mode .money-name, #stage.football-mode .sem-word { font-family:'Bangers',Impact,'Arial Black',sans-serif; letter-spacing:1.5px; }
#stage.football-mode .logo-main { text-shadow:3px 3px 0 #06101c,0 0 20px rgba(80,210,255,.5); }
#stage.football-mode #pronosLive { background:linear-gradient(145deg,rgba(2,17,32,.97),rgba(5,52,60,.96)); }
#stage.football-mode .pronos-live-list { gap:7px; }
#stage.football-mode .pronos-live-card { position:relative; border:2px solid rgba(128,209,255,.75); border-radius:8px; background:linear-gradient(135deg,rgba(4,20,37,.98),rgba(10,45,55,.98)); box-shadow:0 3px 0 #020a12; padding:7px 8px 5px; overflow:hidden; }
#stage.football-mode .pronos-live-card.is-live { border-color:#ff3048; animation:football-live-pulse 1s steps(2,end) infinite; }
#stage.football-mode .pronos-live-card.is-halftime { border-color:#c7cbd1; animation:football-half-pulse 1.4s ease-in-out infinite; }
#stage.football-mode .pronos-live-card.is-finished { border-color:#50f18b; animation:football-finished-pulse 2.4s ease-in-out infinite; }
#stage.football-mode .pronos-live-status { display:block; text-align:center; font-family:'Bangers',Impact,sans-serif; font-size:15px; letter-spacing:1.5px; line-height:1; margin:0 0 5px; text-shadow:1px 2px #000; }
#stage.football-mode .pronos-live-match { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:7px; }
#stage.football-mode .pronos-live-team { font-family:'Bangers',Impact,sans-serif; font-size:18px; letter-spacing:.4px; line-height:1; }
#stage.football-mode .pronos-live-team.away { text-align:right; }
#stage.football-mode .pronos-live-score { font-family:'Bangers',Impact,sans-serif; font-size:24px; color:#fff; padding:2px 7px; background:#020c17; border:1px solid rgba(255,255,255,.35); border-radius:5px; white-space:nowrap; }
#stage.football-mode .pronos-live-meta { justify-content:center; font-size:11px; margin-top:3px; }
#stage.football-mode .pronos-live-badge { display:none; }
#stage.football-mode .pronos-live-odds span { border-radius:4px; background:rgba(0,0,0,.42); }
#stage.football-mode .pronos-live-odds b.odds-up { color:#68ff9b; text-shadow:0 0 8px #17d86a; }
#stage.football-mode .pronos-live-odds b.odds-down { color:#ff5268; text-shadow:0 0 8px #ff1e42; }
#stage.football-mode .pronos-live-redcards { color:#ff4b5e; font-weight:1000; text-align:center; font-size:12px; }
@keyframes football-live-pulse { 0%,100%{box-shadow:0 0 5px rgba(255,30,60,.2),inset 0 0 0 1px rgba(255,30,60,.12)} 50%{box-shadow:0 0 20px rgba(255,30,60,.85),inset 0 0 0 2px rgba(255,30,60,.55)} }
@keyframes football-half-pulse { 0%,100%{box-shadow:0 0 3px rgba(220,225,230,.12)} 50%{box-shadow:0 0 13px rgba(220,225,230,.55)} }
@keyframes football-finished-pulse { 0%,100%{box-shadow:0 0 3px rgba(80,241,139,.12)} 50%{box-shadow:0 0 12px rgba(80,241,139,.32)} }
#footballFxOverlay { position:fixed; inset:0; z-index:1000000; display:flex; align-items:center; justify-content:center; pointer-events:none; overflow:hidden; background:radial-gradient(ellipse,rgba(0,0,0,.1),rgba(0,0,0,.72)); }
#footballFxOverlay.is-hidden { display:none; }
.football-fx-burst { position:relative; width:min(92vw,1500px); text-align:center; padding:4vh 3vw; transform:rotate(-2deg) scale(.3); animation:football-fx-pop .55s cubic-bezier(.18,1.55,.4,1) forwards; filter:drop-shadow(0 14px 0 rgba(0,0,0,.65)); }
.football-fx-burst::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(135deg,#fff 0 3%,#ffde38 3% 7%,#ff4c20 7% 92%,#fff 92%); clip-path:polygon(4% 0,94% 5%,100% 24%,95% 86%,83% 100%,10% 93%,0 70%,3% 24%); border:8px solid #08101d; }
.football-fx-kicker { display:block; font-family:'Bangers',Impact,sans-serif; font-size:clamp(20px,3vw,54px); color:#06152a; letter-spacing:5px; text-shadow:1px 2px #fff; }
.football-fx-burst strong { display:block; font-family:'Bangers',Impact,'Arial Black',sans-serif; font-size:clamp(58px,12vw,190px); line-height:.95; color:#fff; -webkit-text-stroke:3px #08101d; text-shadow:7px 8px 0 #08101d,0 0 20px rgba(255,255,255,.8); letter-spacing:2px; }
.football-fx-sub { display:block; font-family:'Bangers',Impact,sans-serif; font-size:clamp(20px,4vw,60px); color:#07182a; text-shadow:1px 2px rgba(255,255,255,.7); }
#footballFxOverlay.is-goal .football-fx-burst { animation:football-fx-pop .55s cubic-bezier(.18,1.55,.4,1) forwards,football-fx-shake .18s 3 .6s; }
#footballFxOverlay.is-goal .football-fx-burst::before { background:linear-gradient(135deg,#fff 0 3%,#ffef39 3% 10%,#ff4a1c 10% 90%,#fff 90%); }
#footballFxOverlay.is-red .football-fx-burst::before { background:linear-gradient(135deg,#fff 0 3%,#ff4b63 3% 10%,#a60020 10% 90%,#fff 90%); }
#footballFxOverlay.is-var { animation:football-var-blink .65s steps(2,end) infinite; }
#footballFxOverlay.is-var .football-fx-burst { animation:football-fx-pop .4s cubic-bezier(.18,1.55,.4,1) forwards; }
#footballFxOverlay.is-var .football-fx-burst::before { background:linear-gradient(135deg,#eafaff,#23bfff 25%,#1045a8 70%,#eafaff); }
#footballFxOverlay.is-var .football-fx-burst strong { color:#fff; }
@keyframes football-fx-pop { to { transform:rotate(-2deg) scale(1); } }
@keyframes football-fx-shake { 0%,100%{transform:translateX(0) rotate(-2deg)} 25%{transform:translateX(-18px) rotate(-3deg)} 75%{transform:translateX(18px) rotate(-1deg)} }
@keyframes football-var-blink { 0%,100%{opacity:1} 50%{opacity:.12} }

#footballFxOverlay.is-kickoff .football-fx-burst::before { background:linear-gradient(135deg,#fff 0 4%,#69ffad 4% 10%,#087a42 10% 90%,#fff 90%); }
#footballFxOverlay.is-kickoff .football-fx-burst strong { color:#fff; text-shadow:7px 8px 0 #00391e,0 0 24px #8bffc0; }
#footballFxOverlay.is-fulltime .football-fx-burst::before { background:linear-gradient(135deg,#fff 0 4%,#ffe66a 4% 10%,#ef8b00 10% 90%,#fff 90%); }
#footballFxOverlay.is-fulltime .football-fx-burst strong { color:#fff; text-shadow:7px 8px 0 #713700,0 0 24px #ffe66a; }
#footballFxOverlay.is-kickoff .football-fx-burst { animation:football-fx-pop .55s cubic-bezier(.18,1.55,.4,1) forwards,football-fx-shake .2s 2 .6s; }
#footballFxOverlay.is-fulltime .football-fx-burst { animation:football-fx-pop .55s cubic-bezier(.18,1.55,.4,1) forwards,football-fx-shake .2s 2 .6s; }

/* Correctifs lisibilité overlay : pronostics complets et mots Sémantique non tronqués */
#pronosLive { padding: 7px 9px 8px; }
#pronosLive .panel-title { font-size: clamp(20px, 1.55vw, 30px); margin-bottom: 4px; gap: 6px; }
#pronosLive .panel-title small { font-size: clamp(9px, .65vw, 13px); }
.pronos-live-list { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(3, minmax(0, 1fr)); gap: 4px 6px; min-height: 0; overflow: hidden; }
.pronos-live-card { display:grid; grid-template-rows:auto auto auto; align-content:center; justify-content:stretch; gap:2px; padding:3px 5px; min-width:0; min-height:0; }
.pronos-live-status { font-size:9px; line-height:1.05; text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pronos-live-match { gap:3px; }
.pronos-live-team { font-size:clamp(9px, .65vw, 13px); line-height:1.05; }
.pronos-live-score { min-width:25px; font-size:clamp(12px, .8vw, 16px); }
.pronos-live-meta { display:none; }
.pronos-live-odds { gap:3px; min-width:0; }
.pronos-live-odds span { padding:0 3px; gap:2px; font-size:9px; min-width:0; }
.pronos-live-odds small, .pronos-live-odds b { font-size:9px; }
.pronos-live-redcards { font-size:9px !important; line-height:1; }
#stage.football-mode #pronosLive .panel-title { font-size:clamp(20px, 1.55vw, 30px); }
#stage.football-mode .pronos-live-list { gap:4px 6px; }
#stage.football-mode .pronos-live-card { display:grid; grid-template-rows:auto auto auto; gap:2px; padding:3px 5px; }
#stage.football-mode .pronos-live-status { font-size:clamp(9px, .62vw, 12px); margin:0 0 1px; letter-spacing:.6px; }
#stage.football-mode .pronos-live-team { font-size:clamp(10px, .72vw, 14px); line-height:1.05; letter-spacing:0; }
#stage.football-mode .pronos-live-score { font-size:clamp(13px, .9vw, 18px); padding:1px 4px; }
#stage.football-mode .pronos-live-odds span, #stage.football-mode .pronos-live-odds small, #stage.football-mode .pronos-live-odds b { font-size:9px; }
/* Les mots du Sémantique peuvent se répartir sur deux lignes au lieu d'être coupés */
#sem .bw { grid-template-columns:minmax(0, 1fr) auto auto; gap:5px; padding:2px 6px; height:auto; min-height:34px; }
#sem .bw .w { white-space:normal; overflow:visible; text-overflow:clip; overflow-wrap:anywhere; word-break:normal; line-height:1.02; font-size:clamp(12px, 1.05vw, 20px); }
#sem .bw .w small { display:inline-block; font-size:clamp(8px, .58vw, 11px); margin-left:3px; white-space:normal; }
#sem .bw .t { font-size:clamp(13px, 1.05vw, 20px); white-space:nowrap; }
#sem .bw .rk { min-width:0; padding:0 3px; font-size:clamp(8px, .55vw, 11px); }
#semLast { max-height:none; min-height:0; overflow:hidden; gap:3px; }
#sem .lw { font-size:clamp(10px, .65vw, 13px); padding:1px 5px; line-height:1.15; }
#stage.football-mode #sem .bw .w { letter-spacing:.3px; }
@media (max-width: 1100px) {
  #sem .bw .w { font-size:15px; }
  #sem .bw .t { font-size:16px; }
  #sem .bw .w small { font-size:9px; }
}
