/* Dragon vs Tiger, Andar Bahar, Keno, Tower, Limbo (games.js "more games"). Drawn with CSS, no pictures needed. */
.mg-stage{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;padding:18px 14px 20px;min-height:100%;box-sizing:border-box;color:#fff}
.mg-title{display:flex;align-items:center;gap:10px;font:700 clamp(22px,5vw,32px)/1 var(--f-display,system-ui);letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(180deg,#fff7c2,#fbbf24 60%,#d97706);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 rgba(0,0,0,.6))}
.mg-title span{-webkit-text-fill-color:initial;filter:none;font-size:.9em}
.mg-title em{font-style:normal;color:#f472b6;-webkit-text-fill-color:#f472b6}
.mg-note{margin:0;text-align:center;font-size:13px;color:rgba(255,255,255,.7);max-width:44ch}
.mg-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mg-seg.two{grid-template-columns:repeat(2,1fr)}
.mg-seg button{display:flex;flex-direction:column;align-items:center;gap:2px}
.mg-seg button small{font:600 11px var(--f-mono,monospace);opacity:.85}
.gv-seg.four{grid-template-columns:repeat(4,1fr)}
.gv-dragontiger .gv-stage{--stage-tint:rgba(239,68,68,.3)}
.gv-andarbahar .gv-stage{--stage-tint:rgba(234,179,8,.28)}
.gv-keno .gv-stage{--stage-tint:rgba(59,130,246,.3)}
.gv-tower .gv-stage{--stage-tint:rgba(168,85,247,.3)}
.gv-limbo .gv-stage{--stage-tint:rgba(34,211,238,.28)}

/* playing cards */
.mg-card{position:relative;width:96px;aspect-ratio:5/7;border-radius:10px;background:linear-gradient(160deg,#fff,#f1f5f9);color:#0f172a;box-shadow:0 8px 18px rgba(0,0,0,.5),inset 0 0 0 1px rgba(0,0,0,.08);display:grid;place-items:center;flex:none}
.mg-card.red{color:#dc2626}
.mg-card b{position:absolute;left:8px;top:6px;font:700 20px/1 var(--f-display,system-ui)}
.mg-card i{font-style:normal;font-size:42px;line-height:1}
.mg-card small{position:absolute;right:8px;bottom:6px;font:700 13px/1 var(--f-display,system-ui);transform:rotate(180deg)}
.mg-card.back{background:repeating-linear-gradient(45deg,#7f1d1d 0 8px,#991b1b 8px 16px);border:4px solid #fff;color:#fde047}
.mg-card.back i{font-size:30px}
.mg-card.flip{animation:mgflip .45s ease-out}
@keyframes mgflip{0%{transform:rotateY(90deg) scale(.9)}100%{transform:none}}
.mg-card.mini{width:42px;border-radius:6px}
.mg-card.mini b{left:4px;top:3px;font-size:12px}.mg-card.mini i{font-size:18px}.mg-card.mini small{display:none}
.mg-card.deal{animation:mgdeal .25s ease-out}
@keyframes mgdeal{from{transform:translateY(-30px);opacity:0}}
.mg-card.match{box-shadow:0 0 0 3px #fde047,0 0 18px #fde047}

/* Dragon vs Tiger */
.dt-table{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;width:100%;max-width:460px}
.dt-side{display:flex;flex-direction:column;align-items:center;gap:10px}
.dt-name{font:700 16px var(--f-display,system-ui);letter-spacing:.08em;padding:4px 12px;border-radius:999px}
.dt-name.d{background:linear-gradient(180deg,#2563eb,#1e3a8a)} .dt-name.t{background:linear-gradient(180deg,#ef4444,#7f1d1d)}
.dt-slot{padding:10px;border-radius:16px;background:rgba(0,0,0,.35);border:2px dashed rgba(255,255,255,.2);transition:transform .2s,box-shadow .2s}
.dt-slot.dragon{border-color:rgba(96,165,250,.5)} .dt-slot.tiger{border-color:rgba(248,113,113,.5)}
.dt-slot.win{transform:scale(1.06);box-shadow:0 0 0 3px #fde047,0 0 28px rgba(253,224,71,.6);border-style:solid}
.dt-slot.lose{opacity:.55;filter:grayscale(.5)}
.dt-vs{font:700 28px var(--f-display,system-ui);color:#fde047;text-shadow:0 0 14px rgba(253,224,71,.6)}
.dt-road{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;max-width:460px}
.dt-road small{opacity:.6;font-size:12px}
.dt-road .rd{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font:700 11px var(--f-display,system-ui)}
.rd.dragon{background:#2563eb}.rd.tiger{background:#dc2626}.rd.tie{background:#16a34a}

/* Andar Bahar */
.ab-top{display:flex;flex-direction:column;align-items:center;gap:6px}
.ab-top small{font:700 12px var(--f-display,system-ui);letter-spacing:.2em;color:#fde047}
.ab-count{font:600 12px var(--f-mono,monospace);opacity:.75;min-height:1em}
.mg-card.joker{box-shadow:0 0 0 3px #fde047,0 0 22px rgba(253,224,71,.6)}
.ab-lane{width:100%;max-width:520px;display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:8px;padding:8px;border-radius:14px;background:rgba(0,0,0,.3);border:2px solid transparent}
.ab-lane>b{font:700 15px var(--f-display,system-ui);letter-spacing:.08em;text-align:center;padding:6px 0;border-radius:10px}
.ab-lane.a>b{background:linear-gradient(180deg,#16a34a,#14532d)} .ab-lane.b>b{background:linear-gradient(180deg,#9333ea,#4c1d95)}
.ab-row{display:flex;flex-wrap:wrap;gap:4px;min-height:60px;align-items:center}
.ab-lane.win{border-color:#fde047;box-shadow:0 0 20px rgba(253,224,71,.4)} .ab-lane.lose{opacity:.6}

/* Keno */
.kn-info{display:flex;gap:16px;font:600 14px var(--f-display,system-ui);color:rgba(255,255,255,.8)}
.kn-info b{color:#fde047}
.kn-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;width:100%;max-width:480px}
.kn-c{aspect-ratio:1;border-radius:50%;border:2px solid rgba(255,255,255,.18);background:radial-gradient(circle at 35% 30%,#334155,#0f172a);color:#e2e8f0;font:700 clamp(12px,3.4vw,16px) var(--f-mono,monospace);cursor:pointer;padding:0;transition:transform .12s}
.kn-c:hover:not(:disabled){transform:scale(1.08)}
.kn-c.pick{background:radial-gradient(circle at 35% 30%,#fde68a,#d97706);color:#451a03;border-color:#fde047}
.kn-c.drawn{background:radial-gradient(circle at 35% 30%,#93c5fd,#1d4ed8);color:#fff;border-color:#60a5fa}
.kn-c.hit{background:radial-gradient(circle at 35% 30%,#86efac,#15803d);color:#fff;border-color:#4ade80;box-shadow:0 0 14px rgba(74,222,128,.8)}
.kn-c.pop{animation:knpop .35s}
@keyframes knpop{50%{transform:scale(1.3)}}
.kn-c:disabled{cursor:default}
.kn-pays{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:480px}
.kn-pays>small{opacity:.7}
.kp{display:flex;flex-direction:column;align-items:center;padding:4px 10px;border-radius:10px;background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.15)}
.kp small{font-size:11px;opacity:.75}.kp b{font:700 14px var(--f-mono,monospace);color:#fde047}
.kp.on{border-color:#4ade80;box-shadow:0 0 12px rgba(74,222,128,.6)}

/* Tower */
.tw-board{display:flex;flex-direction:column;gap:6px;width:100%;max-width:440px}
.tw-row{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:8px;padding:5px;border-radius:12px;background:rgba(0,0,0,.25);transition:background .2s}
.tw-row.cur{background:rgba(250,204,21,.12);box-shadow:inset 0 0 0 2px rgba(250,204,21,.55)}
.tw-row.up{opacity:.55}
.tw-m{font:700 13px var(--f-mono,monospace);color:#fde047;text-align:right}
.tw-doors{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:6px}
.tw-d{height:38px;border-radius:9px;border:2px solid rgba(255,255,255,.15);background:linear-gradient(180deg,#4c1d95,#2e1065);color:#fff;font-size:20px;cursor:pointer;padding:0}
.tw-row.cur .tw-d{border-color:rgba(250,204,21,.7);background:linear-gradient(180deg,#7c3aed,#4c1d95);animation:twglow 1.2s ease-in-out infinite}
@keyframes twglow{50%{box-shadow:0 0 14px rgba(250,204,21,.5)}}
.tw-d:disabled{cursor:default}
.tw-d.safe{background:linear-gradient(180deg,#15803d,#14532d);border-color:#4ade80}
.tw-d.trap{background:linear-gradient(180deg,#b91c1c,#450a0a);border-color:#f87171}
.tw-d.picked{box-shadow:0 0 0 3px #fff}
.tw-d:not(.picked).safe,.tw-d:not(.picked).trap{opacity:.6}

/* Limbo */
.lb-sky{position:relative;width:100%;max-width:480px;aspect-ratio:16/10;border-radius:18px;overflow:hidden;display:grid;place-items:center;background:radial-gradient(circle at 50% 120%,#0e7490,transparent 60%),radial-gradient(rgba(255,255,255,.7) 1px,transparent 1.5px) 0 0/34px 34px,linear-gradient(180deg,#020617,#0c1a3a);border:2px solid rgba(34,211,238,.4)}
.lb-big{font:700 clamp(44px,13vw,76px)/1 var(--f-mono,monospace);color:#fff;text-shadow:0 0 24px rgba(34,211,238,.6);font-variant-numeric:tabular-nums}
.lb-big.win{color:#4ade80;text-shadow:0 0 28px rgba(74,222,128,.8)} .lb-big.lose{color:#f87171;text-shadow:0 0 24px rgba(248,113,113,.6)}
.lb-tgt{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);padding:4px 12px;border-radius:999px;background:rgba(0,0,0,.6);border:1px solid rgba(34,211,238,.6);font:700 13px var(--f-mono,monospace);color:#a5f3fc}
.lb-rocket{position:absolute;left:12%;bottom:-40px;font-size:44px;transform:rotate(-45deg)}
.lb-rocket.fly{animation:lbfly .9s ease-out forwards}
@keyframes lbfly{to{transform:translate(260px,-260px) rotate(-45deg);opacity:0}}
.lb-in{width:110px;text-align:center;font:700 20px var(--f-mono,monospace);padding:8px;border-radius:10px;border:2px solid rgba(255,255,255,.2);background:rgba(0,0,0,.35);color:#fff}
.lb-stats{display:flex;justify-content:space-between;gap:8px;font-size:14px}
.lb-stats b{color:#fde047}
@media (prefers-reduced-motion:reduce){.lb-rocket.fly,.tw-row.cur .tw-d,.mg-card.flip,.mg-card.deal{animation:none}}

/* lobby tiles for these games (no pictures needed) */
.gl-dragontiger{--g1:radial-gradient(circle at 30% 30%,#2563eb,transparent 55%),radial-gradient(circle at 75% 60%,#dc2626,transparent 55%),#1c0b12;--gs:#f87171}
.gl-andarbahar{--g1:radial-gradient(circle at 50% 30%,#a16207,#3f1d0b 75%);--gs:#fbbf24}
.gl-keno{--g1:radial-gradient(circle at 50% 30%,#1d4ed8,#0b1437 75%);--gs:#60a5fa}
.gl-tower{--g1:radial-gradient(circle at 50% 30%,#7c3aed,#1e0b3a 75%);--gs:#c084fc}
.gl-limbo{--g1:radial-gradient(circle at 50% 30%,#0891b2,#06192a 75%);--gs:#22d3ee}
.cz-tile .gl-deco.mini{gap:6%}.cz-tile .gl-deco.mini .gl-e{font-size:clamp(26px,8vw,42px)}
.gl-dragontiger .gl-emoji,.gl-andarbahar .gl-emoji,.gl-keno .gl-emoji,.gl-tower .gl-emoji,.gl-limbo .gl-emoji{display:none}

/* Teen Patti 20-20 */
.gv-teenpatti .gv-stage{--stage-tint:rgba(16,185,129,.28)}
.gv-sevenup .gv-stage{--stage-tint:rgba(249,115,22,.28)}
.gv-scratch .gv-stage{--stage-tint:rgba(234,179,8,.3)}
.tp-box{width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px;border-radius:16px;background:rgba(0,0,0,.3);border:2px solid rgba(255,255,255,.12);transition:transform .2s,box-shadow .2s}
.tp-box.a .tp-who{background:linear-gradient(180deg,#0ea5e9,#075985)} .tp-box.b .tp-who{background:linear-gradient(180deg,#f43f5e,#881337)}
.tp-who{font:700 14px var(--f-display,system-ui);letter-spacing:.1em;padding:3px 14px;border-radius:999px}
.tp-hand{display:flex;gap:8px}
.tp-hand .mg-card{width:72px}
.tp-rank{font:700 14px var(--f-display,system-ui);color:#fde047;min-height:1.2em}
.tp-box.win{border-color:#fde047;box-shadow:0 0 24px rgba(253,224,71,.5);transform:scale(1.03)} .tp-box.lose{opacity:.55}
.tp-stage .dt-vs{font-size:20px}

/* 7 Up 7 Down */
.su-table{display:flex;align-items:center;gap:18px;padding:18px 22px;border-radius:20px;background:radial-gradient(circle at 50% 40%,#166534,#052e16);border:3px solid #a16207;box-shadow:inset 0 0 30px rgba(0,0,0,.5)}
.su-dice{display:flex;gap:12px}
.su-die{width:64px;height:64px;padding:8px;box-sizing:border-box;border-radius:14px;background:linear-gradient(160deg,#fff,#e2e8f0);display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);box-shadow:0 6px 12px rgba(0,0,0,.5)}
.su-die i{border-radius:50%;margin:2px}
.su-die i.on{background:#b91c1c}
.su-die.roll{transform:rotate(14deg)} .su-die.land{animation:knpop .4s}
.su-sum{min-width:62px;text-align:center;font:700 44px var(--f-mono,monospace);color:#fff}
.su-sum.up{color:#4ade80}.su-sum.down{color:#60a5fa}.su-sum.seven{color:#fde047}
.su-zones{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;width:100%;max-width:440px}
.su-zones .z{display:flex;flex-direction:column;align-items:center;padding:10px 6px;border-radius:14px;background:rgba(0,0,0,.35);border:2px solid rgba(255,255,255,.12);font:700 20px var(--f-mono,monospace)}
.su-zones .z small{font:700 11px var(--f-display,system-ui);letter-spacing:.12em;opacity:.8}
.su-zones .z.seven{padding:10px 16px;color:#fde047}
.su-zones .z.pick{border-color:rgba(251,191,36,.7)}
.su-zones .z.hit{background:rgba(74,222,128,.2);border-color:#4ade80;box-shadow:0 0 16px rgba(74,222,128,.5)}
.rd.su-up{background:#16a34a}.rd.su-down{background:#2563eb}.rd.su-seven{background:#ca8a04}

/* Scratch & Win */
.sc-card{padding:14px;border-radius:18px;background:linear-gradient(160deg,#fde68a,#f59e0b 55%,#b45309);box-shadow:0 10px 26px rgba(0,0,0,.5)}
.sc-grid{display:grid;grid-template-columns:repeat(3,84px);gap:10px}
.sc-c{position:relative;width:84px;height:84px;border-radius:14px;background:#fffbeb;border:0;padding:0;cursor:pointer;display:grid;place-items:center;overflow:hidden;box-shadow:inset 0 0 0 2px rgba(120,53,15,.25)}
.sc-sym{font-size:44px}
.sc-cov{position:absolute;inset:0;display:grid;place-items:center;font:700 26px var(--f-display,system-ui);color:#64748b;background:repeating-linear-gradient(135deg,#cbd5e1 0 6px,#e2e8f0 6px 12px);transition:opacity .35s,transform .35s}
.sc-c.open .sc-cov{opacity:0;transform:scale(1.3)}
.sc-c.win{box-shadow:0 0 0 3px #16a34a,0 0 18px rgba(22,163,74,.7)}
.sc-pays{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:440px}
.sc-pays span{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:10px;background:rgba(0,0,0,.4);font-size:14px}
.sc-pays b{font:700 13px var(--f-mono,monospace);color:#fde047}
@media (max-width:420px){.sc-grid{grid-template-columns:repeat(3,72px)}.sc-c{width:72px;height:72px}.tp-hand .mg-card{width:60px}}
.gl-teenpatti{--g1:radial-gradient(circle at 50% 30%,#059669,#022c22 75%);--gs:#34d399}
.gl-sevenup{--g1:radial-gradient(circle at 50% 30%,#ea580c,#2a0d03 75%);--gs:#fb923c}
.gl-scratch{--g1:radial-gradient(circle at 50% 30%,#ca8a04,#2a1a03 75%);--gs:#fde047}
.gl-teenpatti .gl-emoji,.gl-sevenup .gl-emoji,.gl-scratch .gl-emoji{display:none}
/* painted scenes behind the card & mini games */
.mg-stage{background:linear-gradient(180deg,rgba(4,6,18,.45),rgba(4,6,18,.78)),var(--mg-bg,none) center/cover no-repeat;border-radius:inherit}
.dt-stage{--mg-bg:url(/img/slots/bg_landscape.webp?v=2)}
.ab-stage{--mg-bg:url(/img/bc/hall.webp?v=2)}
.tp-stage{--mg-bg:url(/img/ro/hall.webp?v=2)}
.kn-stage{--mg-bg:url(/img/pk/space.webp?v=2)}
.tw-stage{--mg-bg:url(/img/mn/hall.webp?v=2)}
.lb-stage{--mg-bg:url(/img/rush/bg_land.webp?v=2)}
.su-stage{--mg-bg:url(/img/dc/lounge.webp?v=2)}
.sc-stage{--mg-bg:url(/img/wh/stage.webp?v=2)}
.mg-card.back{background:#7f1d1d url(/img/bc/back.webp?v=2) center/cover;border:2px solid #fde68a}
.mg-card.back i{display:none}
.tp-box,.ab-lane,.dt-slot{background:linear-gradient(rgba(0,40,20,.25),rgba(0,20,10,.45)),url(/img/ro/felt.webp?v=2) center/cover;border-color:rgba(253,230,138,.55);box-shadow:0 10px 24px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.08)}
.dt-slot{border-radius:14px;padding:8px}
/* 🍎 Fortune Apple (Tower engine on an apple tree) */
.ap-stage{--mg-bg:url(/img/thumb/apple.webp?v=1)}
.tw-board.ap{max-width:460px;gap:5px}
.tw-board.ap .tw-row{grid-template-columns:58px minmax(0,1fr);background:linear-gradient(90deg,rgba(92,51,23,.55),rgba(120,72,30,.35));border-radius:999px}
.tw-board.ap .tw-row.cur{background:linear-gradient(90deg,rgba(132,204,22,.35),rgba(120,72,30,.35));box-shadow:inset 0 0 0 2px rgba(190,242,100,.7)}
.tw-board.ap .tw-d{height:40px;border-radius:50%;aspect-ratio:1;justify-self:center;width:auto;max-width:44px;background:radial-gradient(circle at 40% 35%,rgba(255,255,255,.25),rgba(22,101,52,.6));border-color:rgba(255,255,255,.18);display:grid;place-items:center}
.tw-board.ap .tw-d img{width:84%;height:84%;object-fit:contain}
.tw-board.ap .tw-row.cur .tw-d{background:radial-gradient(circle at 40% 35%,rgba(255,255,255,.35),rgba(77,124,15,.75));border-color:rgba(217,249,157,.8);animation:twglow 1.2s ease-in-out infinite}
.tw-board.ap .tw-d.safe{background:radial-gradient(circle,rgba(254,202,202,.5),rgba(127,29,29,.4));border-color:#fca5a5}
.tw-board.ap .tw-d.trap{background:radial-gradient(circle,rgba(120,53,15,.6),rgba(41,20,5,.8));border-color:#a16207}
.tw-board.ap .tw-m{color:#d9f99d}
/* 🎲 Ludo */
.ld-stage{--mg-bg:url(/img/thumb/ludo.webp?v=1)}
.ld-wrap{position:relative;width:min(100%,430px);aspect-ratio:1;border-radius:14px;box-shadow:0 14px 34px rgba(0,0,0,.55);border:4px solid #1f2937}
.ld-svg{position:absolute;inset:0;width:100%;height:100%;border-radius:10px}
.ld-pieces{position:absolute;inset:0}
.ld-p{position:absolute;width:5.2%;aspect-ratio:1;padding:0;border-radius:50%;transform:translate(calc(-50% + var(--k,0) * 18%),calc(-50% - var(--k,0) * 18%));background:radial-gradient(circle at 35% 30%,#fff 0 12%,var(--c) 40%,color-mix(in srgb,var(--c) 60%,#000));border:2px solid #fff;box-shadow:0 3px 6px rgba(0,0,0,.5);transition:left .1s linear,top .1s linear;cursor:default}
.ld-p.can{cursor:pointer;animation:ldpulse .7s ease-in-out infinite;z-index:2;box-shadow:0 0 0 3px #fde047,0 0 14px #fde047}
@keyframes ldpulse{50%{transform:translate(-50%,-50%) scale(1.25)}}
.ld-bar{display:flex;align-items:center;gap:12px;width:min(100%,430px)}
.ld-dice{width:58px;height:58px;flex:none;border-radius:14px;display:grid;place-items:center;background:#fff;color:#111;border:4px solid var(--c,#94a3b8);box-shadow:0 6px 16px rgba(0,0,0,.45)}
.ld-dice b{font-size:44px;line-height:1}
.ld-dice.roll{animation:ldroll .35s ease-out}
@keyframes ldroll{0%{transform:rotate(-30deg) scale(.8)}60%{transform:rotate(15deg) scale(1.1)}100%{transform:none}}
.ld-status{flex:1;font:600 15px var(--f-display,system-ui);color:#fff}
.ld-players{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.ld-pl{display:flex;flex-direction:column;align-items:center;padding:4px 10px;border-radius:10px;border:2px solid var(--c);background:rgba(0,0,0,.4);font:700 12px var(--f-display,system-ui);color:#fff;opacity:.6}
.ld-pl small{font:500 10.5px var(--f-mono,monospace);opacity:.8}
.ld-pl.on{opacity:1;box-shadow:0 0 12px var(--c)}
.mg-quit{align-self:center;border:0;background:none;color:rgba(255,255,255,.6);text-decoration:underline;font-size:13px;cursor:pointer;padding:6px}
/* Fortune Apple: compact rows so all 10 fit on a phone */
.ap-stage{gap:8px;padding-top:12px}
.ap-stage .mn-hud{margin:0}
.tw-board.ap{gap:3px}
.tw-board.ap .tw-row{padding:2px 4px;grid-template-columns:50px minmax(0,1fr)}
.tw-board.ap .tw-d{height:min(34px,7.2vw);max-width:min(34px,7.2vw)}
.tw-board.ap .tw-m{font-size:12px}
.ap-stage .mg-note{font-size:12px}
.tw-board.ap .tw-d{height:min(30px,6.6vw);max-width:min(30px,6.6vw);border-width:1.5px}
.tw-board.ap .tw-row{padding:1px 4px}
.ap-stage .mg-note{display:none}
.ap-stage .mg-title{font-size:clamp(20px,4.5vw,26px)}
.ap-stage .mn-hud div{padding:4px 10px}
/* Andar Bahar: one tidy row per side (last 5 cards + "+N" earlier cards) */
.ab-row{flex-wrap:nowrap;overflow:hidden}
.ab-more{flex:none;font:700 13px var(--f-mono,monospace);font-style:normal;color:#fde68a;background:rgba(0,0,0,.45);border:1px solid rgba(253,230,138,.5);border-radius:8px;padding:4px 6px}
/* Fortune Apple: bigger apples that use the free height; rows above the max multiplier are hidden */
.tw-board.ap .tw-d{height:clamp(26px,calc((100svh - 470px) / var(--rows,10) - 6px),44px);max-width:clamp(26px,calc((100svh - 470px) / var(--rows,10) - 6px),44px);width:auto}
.tw-board.ap .tw-row.up{opacity:.8}
.tw-board.ap .tw-d img{width:90%;height:90%}
.ab-row .mg-card.mini{width:38px;flex:none}
/* ---- fit every mini game inside its stage (the stage is a size container: 100cqh = its height) ---- */
.gs .mg-stage{height:100%;min-height:0;gap:8px;padding:10px 10px 12px;justify-content:center;overflow:hidden}
.gs .mg-title{font-size:clamp(18px,min(5vw,4.6cqh),30px)}
@container (max-height:640px){ .gs .mg-stage .mg-note{display:none} }
/* Ludo: the board takes what is left after title, players and the dice bar */
.gs .ld-wrap{width:min(100%,460px,calc(100cqh - 125px));flex:none}
.gs .ld-stage:has(.ld-players:not(:empty)) .ld-wrap{width:min(100%,460px,calc(100cqh - 178px))}
.gv-ctrl.ld-playing>.gv-box{display:none}
.gs .ld-bar{width:min(100%,430px)}
/* Teen Patti: cards shrink so both hands fit */
.gs .tp-box{padding:6px 8px;gap:4px}
.gs .tp-hand .mg-card{width:clamp(44px,calc((100cqh - 250px) / 2.8),72px)}
/* Andar Bahar: smaller joker on short screens */
.gs .ab-top .mg-card{width:clamp(54px,calc((100cqh - 300px) / 1.4),96px)}
/* Tower and Fortune Apple: rows share the height */
.gs .tw-board{flex:none}
.gs .tw-board:not(.ap) .tw-d{height:clamp(22px,calc((100cqh - 130px) / var(--rows,8) - 16px),38px)}
.gs .tw-board.ap .tw-d{height:clamp(20px,calc((100cqh - 124px) / var(--rows,10) - 6px),44px);max-width:clamp(20px,calc((100cqh - 124px) / var(--rows,10) - 6px),44px)}

/* ===================== 🔴 LIVE tables: round bar ===================== */
.lv-bar{position:absolute;left:8px;right:8px;top:8px;z-index:5;margin:0;padding:7px 10px 6px;border-radius:14px;background:linear-gradient(180deg,rgba(15,10,35,.92),rgba(30,15,60,.85));border:1px solid rgba(255,255,255,.14);box-shadow:0 4px 14px rgba(0,0,0,.35);color:#fff;font-size:12px}
.lv-top{display:flex;align-items:center;gap:8px}
.lv-dot{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:99px;background:#dc2626;font:800 10px/1.4 system-ui;letter-spacing:.08em}
.lv-dot::before{content:'';width:7px;height:7px;border-radius:50%;background:#fff;animation:lvblink 1s infinite}
@keyframes lvblink{50%{opacity:.25}}
.lv-no{font-weight:700;color:#c7d2fe}
.lv-ph{flex:1;text-align:right;color:#e2e8f0;opacity:.9}
.lv-sec{min-width:34px;text-align:center;padding:2px 6px;border-radius:8px;background:rgba(255,255,255,.12);font:800 14px/1.2 "IBM Plex Mono",monospace;color:#fde047}
.lv-bar[data-ph="hurry"] .lv-sec{background:#dc2626;color:#fff;animation:lvblink .5s infinite}
.lv-bar[data-ph="res"] .lv-sec{color:#86efac}
.lv-prog{height:4px;margin:6px 0 5px;border-radius:9px;background:rgba(255,255,255,.12);overflow:hidden}
.lv-prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,#22c55e,#fde047);transition:width .25s linear}
.lv-bar[data-ph="hurry"] .lv-prog i{background:linear-gradient(90deg,#ef4444,#f97316)}
.lv-hist{display:flex;gap:4px;overflow:hidden;flex-wrap:nowrap}
.lv-h{flex:none;min-width:20px;height:20px;padding:0 5px;display:inline-grid;place-items:center;border-radius:6px;background:rgba(255,255,255,.1);font:700 11px/1 system-ui;color:#e2e8f0}
.lv-h.new{background:#fde047;color:#1f1300}
.lv-h[data-l="D"]{background:#b91c1c;color:#fff}.lv-h[data-l="T"]{background:#c2410c;color:#fff}.lv-h[data-l="="]{background:#15803d;color:#fff}
.lv-h[data-l="A"]{background:#1d4ed8;color:#fff}.lv-h[data-l="B"]{background:#b91c1c;color:#fff}
.lv-h.new[data-l]{outline:2px solid #fde047}
.lv-img{width:18px;height:18px;object-fit:contain}
.lv-mine{margin-top:5px;padding:4px 8px;border-radius:8px;background:rgba(34,197,94,.18);border:1px solid rgba(34,197,94,.5);color:#bbf7d0;font-weight:700;text-align:center}

.gv-stage.lv-on .mg-stage{padding-top:84px}
.gv-stage.lv-on .mg-title{display:none}
.gv-stage.lv-on .cr-ring{width:min(100%,calc(100cqh - 100px),460px)}
.lv-mine{font-size:11.5px;padding:3px 8px}
.lv-bar:has(.lv-mine:not([hidden])) .lv-hist{display:none}
.lv-mine{margin-top:0}
/* ===== live card tables: chip spots (Dragon / Tie / Tiger, Andar / Bahar) ===== */
.st-board{display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}
.st-board.n3{grid-template-columns:1.25fr .9fr 1.25fr}
.st-spot{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:92px;padding:12px 6px 10px;border-radius:16px;border:2px solid rgba(255,255,255,.18);color:#fff;cursor:pointer;
  background:var(--sb);box-shadow:inset 0 2px 0 rgba(255,255,255,.18),inset 0 -10px 24px rgba(0,0,0,.35),0 6px 14px rgba(0,0,0,.35);transition:transform .12s,box-shadow .2s,opacity .2s;-webkit-tap-highlight-color:transparent}
.st-spot:active{transform:scale(.97)}
.st-spot.pop{animation:stPop .25s}
@keyframes stPop{50%{transform:scale(1.05)}}
.st-spot .st-n{font:900 18px/1 var(--f-display,system-ui);letter-spacing:.05em;text-shadow:0 2px 0 rgba(0,0,0,.4)}
.st-spot em{font:800 14px var(--f-mono,monospace);font-style:normal;color:#ffe08a;background:rgba(0,0,0,.3);padding:2px 10px;border-radius:999px}
.st-spot .st-w{font:700 11.5px system-ui;color:#bbf7d0}
.st-spot .st-stack{position:absolute;top:-10px;right:-6px;min-width:30px;height:30px;padding:0 6px;border-radius:15px;display:grid;place-items:center;font:800 12px var(--f-mono,monospace);font-style:normal;color:#3a1a00;
  background:radial-gradient(circle at 35% 30%,#fff7c2,#fbbf24 60%,#b45309);border:2px dashed #fff3b0;box-shadow:0 3px 8px rgba(0,0,0,.5)}
.st-spot.dragon{--sb:linear-gradient(180deg,#e0452b,#8a1406)}
.st-spot.tiger{--sb:linear-gradient(180deg,#2f6fe0,#0f2f7a)}
.st-spot.tie{--sb:linear-gradient(180deg,#1fa35a,#0b5a2e)}
.st-spot.andar{--sb:linear-gradient(180deg,#1fa35a,#0b5a2e)}
.st-spot.bahar{--sb:linear-gradient(180deg,#8b3fe0,#43127a)}
.st-spot.has{border-color:#fde68a;box-shadow:inset 0 2px 0 rgba(255,255,255,.2),inset 0 -10px 24px rgba(0,0,0,.35),0 0 0 2px rgba(253,230,138,.35),0 6px 16px rgba(0,0,0,.4)}
.st-spot.won{border-color:#fde047;box-shadow:0 0 0 3px #fde047,0 0 26px rgba(253,224,71,.65);animation:stWin 1s ease-in-out infinite}
@keyframes stWin{50%{transform:scale(1.03)}}
.st-spot.lost{opacity:.45;filter:grayscale(.4)}
.st-spot.closed:not(.won):not(.lost){opacity:.8}
.st-lock{border-radius:16px}
.dt-pro .dt-slot .mg-card,.ab-pro .ab-joker .mg-card{box-shadow:0 10px 22px rgba(0,0,0,.55)}
.dt-pro .dt-name{box-shadow:0 3px 0 rgba(0,0,0,.35)}
.dt-pro .dt-name.d{background:linear-gradient(180deg,#e0452b,#8a1406)}.dt-pro .dt-name.t{background:linear-gradient(180deg,#2f6fe0,#0f2f7a)}
.dt-pro .dt-slot.dragon{border-color:rgba(248,113,113,.7)}.dt-pro .dt-slot.tiger{border-color:rgba(96,165,250,.7)}
.dt-road .rd.dragon{background:#c2321c}.dt-road .rd.tiger{background:#1d4fb8}.dt-road .rd.tie{background:#15803d}
.ab-jnote{font:700 13px var(--f-body,system-ui)!important;letter-spacing:0!important;color:#fff!important;text-align:center;max-width:300px;background:rgba(0,0,0,.4);padding:5px 12px;border-radius:10px}
.ab-pro .ab-joker .mg-card{outline:3px solid #fde047;outline-offset:2px}
.st-lock{inset:auto!important;top:-16px!important;left:50%!important;right:auto!important;bottom:auto!important;transform:translateX(-50%);flex-direction:row!important;gap:8px!important;padding:5px 14px!important;border-radius:999px!important;white-space:nowrap;z-index:3;pointer-events:none}
.st-lock small{font-size:11.5px}
.st-box .crl-bwrap{padding-top:12px}
.st-board.n6{grid-template-columns:repeat(3,1fr)}
.st-board.n2{grid-template-columns:1fr 1fr}
.st-spot .st-n small{display:block;font:700 11px var(--f-mono,monospace);opacity:.85;margin-top:3px;letter-spacing:0}
.st-spot .st-t{font:600 10.5px var(--f-mono,monospace);color:#fde68a;opacity:.9}
.st-spot.tpa{--sb:linear-gradient(180deg,#2f6fe0,#0f2f7a)}.st-spot.tpb{--sb:linear-gradient(180deg,#e0452b,#8a1406)}
.st-spot.sudown{--sb:linear-gradient(180deg,#2f6fe0,#0f2f7a)}.st-spot.suseven{--sb:linear-gradient(180deg,#d4a017,#7a4f00)}.st-spot.suup{--sb:linear-gradient(180deg,#e0452b,#8a1406)}
.st-spot.jm{--sb:linear-gradient(180deg,#5b1530,#2a0812);min-height:96px}
.st-sym{display:flex;flex-direction:column;align-items:center;gap:2px}.st-sym img{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(0,0,0,.5))}
.st-spot.mw{--sb:linear-gradient(180deg,#3a1a4a,#1a0a24);min-height:80px}
.st-spot .mw-n{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--c);color:#1a1000;font:900 18px var(--f-display,system-ui);box-shadow:inset 0 -4px 0 rgba(0,0,0,.25),0 3px 6px rgba(0,0,0,.4);text-shadow:none}
.st-board.moneywheel{grid-template-columns:repeat(3,1fr)}
.st-seats{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}
.st-seats[hidden]{display:none}
.st-watch{font:600 12px var(--f-body,system-ui);color:rgba(255,255,255,.7);margin-right:2px}
.st-seat{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:6px;align-items:center;padding:3px 8px 3px 3px;border-radius:999px;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.1)}
.st-seat.me{border-color:#fde68a}
.st-seat i{grid-row:1/3;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:800 12px system-ui;font-style:normal;color:#fff;background:hsl(var(--h) 45% 42%)}
.st-seat b{font:700 11.5px system-ui;line-height:1.1}.st-seat small{font:600 10px var(--f-mono,monospace);color:#fde68a;line-height:1.1}
.st-box .crl-bwrap{padding-top:20px}
.st-lock{top:-4px!important}
.st-box .crl-bwrap{padding-top:0;display:flex;flex-direction:column}
.st-box .crl-bwrap .st-lock{position:relative!important;top:auto!important;left:auto!important;transform:none!important;margin:0 auto 8px;width:max-content;order:-1}
.st-box .crl-bwrap .st-lock[hidden]{display:none}
