/* Games tab */
.gm-main{max-width:1180px;margin:0 auto;padding:24px 16px 60px;position:relative;z-index:1}
.gm-head{margin-bottom:8px}
.gm-app{display:flex;flex-direction:column;gap:22px}
.gm-sec h2{font-size:15px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 12px;color:#9fd8ea}
.gm-login{text-align:center;padding:28px}
.gm-big{font-size:30px;line-height:1}
.gm-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.gm-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;padding:16px;border-radius:14px;border:1px solid rgba(0,229,255,.18);background:linear-gradient(160deg,rgba(0,229,255,.07),rgba(7,17,28,.85));color:#e6f4ff;cursor:pointer;font:inherit;transition:transform .15s,border-color .15s,box-shadow .15s}
.gm-card:hover,.gm-card:focus-visible{transform:translateY(-2px);border-color:rgba(0,229,255,.55);box-shadow:0 8px 26px rgba(0,229,255,.12)}
.gm-card b{font-size:16px}.gm-card small{color:#9fb3c8;font-size:12.5px;line-height:1.45}.gm-card em{font-style:normal;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#00e5ff;margin-top:auto}
.gm-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}
.gm-item,.gm-inv{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid rgba(0,229,255,.14);background:rgba(7,17,28,.8);color:#e6f4ff;text-decoration:none}
.gm-item:hover{border-color:rgba(0,229,255,.45)}
.gm-item.turn{border-color:#3ddc84;box-shadow:0 0 0 1px rgba(61,220,132,.3) inset}
.gm-ico{font-size:24px;width:32px;text-align:center;flex:none}
.gm-it{display:flex;flex-direction:column;min-width:0;flex:1}.gm-it small{color:#8aa3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gm-st{font-size:12.5px;color:#9fb3c8;white-space:nowrap}.gm-item.turn .gm-st{color:#3ddc84;font-weight:700}
.gm-acts{display:flex;gap:6px;flex-wrap:wrap}
.gm-setup{padding:20px;display:flex;flex-direction:column;gap:14px;scroll-margin-top:80px}
.gm-sh{display:flex;gap:14px;align-items:flex-start}.gm-sh h2{margin:0 0 4px}.gm-sh>div{flex:1}
.gm-x{background:none;border:0;color:#9fb3c8;font-size:18px;cursor:pointer;padding:4px 8px}
.gm-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.gm-row>label{min-width:80px;color:#9fb3c8;font-size:13px}
.gm-row.gm-col{flex-direction:column;align-items:stretch;gap:6px}.gm-row.gm-col small{color:#7d93a8}
.gm-row input{padding:10px 12px;border-radius:10px;border:1px solid rgba(0,229,255,.2);background:#030a12;color:#e6f4ff;font:inherit}
.gm-seg{display:inline-flex;flex-wrap:wrap;gap:6px}
.gm-seg button{padding:8px 14px;border-radius:9px;border:1px solid rgba(0,229,255,.22);background:#030a12;color:#cfe3f3;cursor:pointer;font:inherit;font-size:13px}
.gm-seg button.on,.gm-seg button:hover{border-color:#00e5ff;color:#fff;background:rgba(0,229,255,.12)}
.gm-seg.wrap button{min-width:46px}
.gm-seats{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.gm-seat{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:11px;border:1px solid rgba(0,229,255,.14);background:#030a12;flex-wrap:wrap}
.gm-seat>span:not(.gm-av){font-size:12px;color:#8aa3b8;min-width:70px}
.gm-empty{background:transparent;border:1px dashed rgba(0,229,255,.3)}.gm-seat b{flex:1}.gm-seat em{color:#7d93a8;font-weight:400}
.gm-seat select{padding:7px 9px;border-radius:8px;border:1px solid rgba(0,229,255,.22);background:#07111c;color:#e6f4ff;font:inherit;font-size:13px;max-width:100%}
.gm-btns{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.nbtn.sm{padding:7px 12px;font-size:11px}
.gm-av{width:34px;height:34px;border-radius:50%;object-fit:cover;flex:none;display:inline-grid;place-items:center;font-weight:700}
.gm-avl{background:color-mix(in srgb,var(--ac) 25%,#07111c);color:var(--ac);border:1px solid var(--ac)}
.gm-bot{background:#122233;font-size:17px}
.gm-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:3000;padding:11px 16px;border-radius:11px;background:#07111c;border:1px solid rgba(0,229,255,.4);color:#e6f4ff;font-size:14px;max-width:min(92vw,520px);transition:.2s}
.gm-toast.on{opacity:1;transform:translate(-50%,0)}.gm-toast.bad{border-color:#ff5a6a}

/* table */
.gm-game{display:flex;flex-direction:column;gap:14px}
.gm-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.gm-back{color:#9fb3c8;text-decoration:none;font-size:22px;padding:4px 8px}
.gm-tt{flex:1;min-width:180px}.gm-tt h2{margin:0;font-size:20px}.gm-tt h2 small{font-size:13px;color:#8aa3b8;font-weight:400}
.gm-status{margin:2px 0 0;color:#9fb3c8;font-size:14px}.gm-status.go{color:#3ddc84;font-weight:700}.gm-status.won{color:#ffd166;font-weight:700}.gm-status.lost{color:#ff8a95}
.gm-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.gm-pill{font-size:12px;padding:5px 10px;border-radius:999px;border:1px solid rgba(0,229,255,.25);color:#cfe3f3}
.gm-invbox{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:10px;border-radius:12px;border:1px solid rgba(0,229,255,.2);background:rgba(7,17,28,.85)}
.gm-invbox input{flex:1;min-width:160px;padding:9px 11px;border-radius:9px;border:1px solid rgba(0,229,255,.22);background:#030a12;color:#e6f4ff;font:inherit}
.gm-idle:empty{display:none}.gm-idle{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 12px;border-radius:12px;border:1px solid #ffb02066;background:rgba(255,176,32,.08)}.gm-idle p{margin:0;color:#ffd38a;font-size:14px}
.gm-players{display:flex;gap:8px;flex-wrap:wrap}
.gm-p{display:flex;align-items:center;gap:9px;padding:7px 12px 7px 8px;border-radius:999px;border:1px solid rgba(0,229,255,.12);background:rgba(7,17,28,.8);transition:.2s}
.gm-p span{display:flex;flex-direction:column;line-height:1.2}.gm-p small{color:#8aa3b8;font-size:11.5px}
.gm-p.on{border-color:#3ddc84;box-shadow:0 0 0 2px rgba(61,220,132,.25)}
.gm-p.t1{border-left:3px solid #4d8dff}.gm-p.t2{border-left:3px solid #ff5fd2}
.gm-lobby{padding:18px;display:flex;flex-direction:column;gap:14px}.gm-lobby h3{margin:0}
.gm-board{display:flex;justify-content:center}
.gm-boardwrap{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap;justify-content:center;width:100%}
.gm-side{min-width:160px;max-width:240px;flex:1}.gm-side h4{margin:0 0 6px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#8aa3b8}
.gm-sans{margin:0;padding-left:22px;max-height:360px;overflow:auto;font:13px/1.7 ui-monospace,monospace;color:#cfe3f3}

/* chess + checkers */
.gm-chess,.gm-ck{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);width:min(92vw,560px);aspect-ratio:1;border-radius:10px;overflow:hidden;border:2px solid rgba(0,229,255,.3);box-shadow:0 10px 40px rgba(0,0,0,.5)}
.gm-chess .sq,.gm-ck .sq{position:relative;border:0;border-radius:0;padding:0;margin:0;min-width:0;min-height:0;width:auto;height:auto;display:grid;place-items:center;cursor:default;font:inherit;background-image:none;box-shadow:none;clip-path:none;transform:none;filter:none;text-transform:none;letter-spacing:0}
.gm-chess .sq::before,.gm-ck .sq::before{content:none}
.gm-chess .gl{background:#d9e4ee}.gm-chess .gd{background:#5b7a99}
.gm-chess.live .sq{cursor:pointer}
.sq.last{box-shadow:inset 0 0 0 100px rgba(255,214,0,.28)}
.sq.sel{box-shadow:inset 0 0 0 100px rgba(0,229,255,.45)}
.sq.chk{box-shadow:inset 0 0 0 100px rgba(255,40,60,.55)}
.sq.tgt::after{content:"";width:28%;height:28%;border-radius:50%;background:rgba(0,40,60,.45)}
.sq.cap::after{content:"";position:absolute;inset:6%;border-radius:50%;border:4px solid rgba(0,40,60,.45)}
.pc{font-size:min(9vw,52px);line-height:1;user-select:none;position:relative;z-index:1}
.pc.w{color:#fff;text-shadow:0 0 1px #000,0 0 1px #000,0 1px 2px #000,0 0 6px rgba(0,0,0,.4)}
.pc.b{color:#101820;text-shadow:0 0 1px #fff,0 1px 0 rgba(255,255,255,.35)}
.sq i{position:absolute;font-style:normal;font-size:10px;font-weight:700;opacity:.65;color:#0b1a28}
.sq .fl{right:3px;bottom:1px}.sq .rk{left:3px;top:1px}
.gm-promo{display:flex;gap:8px;align-items:center;justify-content:center;margin-top:10px;padding:10px;border-radius:12px;background:#07111c;border:1px solid #00e5ff}
.gm-promo p{margin:0 8px 0 0}.gm-promo button{width:56px;height:56px;border-radius:10px;border:1px solid rgba(0,229,255,.3);background:#d9e4ee;cursor:pointer}
.gm-ck .gl{background:#e9d8b4}.gm-ck .gd{background:#3b5a40}
.gm-ck.live .gd{cursor:pointer}
.ckp{width:78%;height:78%;border-radius:50%;display:grid;place-items:center;font-size:min(4.6vw,26px);box-shadow:inset 0 -5px 0 rgba(0,0,0,.3),0 3px 6px rgba(0,0,0,.4);position:relative;z-index:1}
.ckp.r{background:radial-gradient(circle at 35% 30%,#ff7a7a,#c4161c);color:#ffe9a8}
.ckp.b{background:radial-gradient(circle at 35% 30%,#555,#111);color:#ffd166;border:1px solid #444}
.gm-ck .sq.can .ckp{box-shadow:0 0 0 3px #00e5ff,0 0 14px #00e5ff}
.gm-ck .sq.tgt::after{width:34%;height:34%;background:rgba(0,229,255,.6)}

/* connect four */
.gm-c4{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;padding:12px;width:min(92vw,520px);border-radius:16px;background:linear-gradient(#1747b8,#0e2f86);box-shadow:0 10px 40px rgba(0,0,0,.5)}
.gm-c4 .col{display:grid;grid-template-rows:repeat(6,1fr);gap:6px;border:0;background:none;padding:4px;border-radius:12px;cursor:pointer}
.gm-c4 .col:disabled{cursor:default}
.gm-c4.live .col:not(:disabled):hover{background:rgba(255,255,255,.12)}
.hole{aspect-ratio:1;border-radius:50%;background:#05122a;box-shadow:inset 0 4px 6px rgba(0,0,0,.6)}
.hole.p1{background:radial-gradient(circle at 35% 30%,#ff8080,#d4111d)}.hole.p2{background:radial-gradient(circle at 35% 30%,#fff38a,#e8b400)}
.hole.drop{animation:gm-drop .35s cubic-bezier(.3,1.4,.6,1)}
.hole.win{box-shadow:0 0 0 3px #fff,0 0 16px #fff}
@keyframes gm-drop{from{transform:translateY(-160%)}to{transform:none}}

/* tic-tac-toe */
.gm-t3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:min(86vw,360px)}
.gm-t3 .cell{aspect-ratio:1;border-radius:14px;border:1px solid rgba(0,229,255,.25);background:#07111c;font-size:min(16vw,80px);cursor:pointer;display:grid;place-items:center}
.gm-t3 .cell:disabled{cursor:default}.gm-t3 .cell:not(:disabled):hover{background:#0b1d2e}
.gm-t3 .x{color:#ff5fd2;text-shadow:0 0 12px #ff5fd2}.gm-t3 .o{color:#00e5ff;text-shadow:0 0 12px #00e5ff}
.gm-t3 .cell.win{border-color:#ffd166;box-shadow:0 0 18px rgba(255,209,102,.5)}

/* Color Clash cards */
.gm-clash,.gm-spades{display:flex;flex-direction:column;gap:16px;width:100%;align-items:center}
.ccard{--cc:#555;position:relative;width:62px;height:92px;border-radius:10px;border:3px solid #fff;background:var(--cc);color:#fff;font:800 22px/1 system-ui,sans-serif;display:grid;place-items:center;flex:none;box-shadow:0 4px 10px rgba(0,0,0,.45);transition:transform .15s,box-shadow .15s;padding:0}
.ccard .cv{width:72%;height:62%;border-radius:50%;background:rgba(255,255,255,.92);color:var(--cc);display:grid;place-items:center;transform:rotate(-18deg);text-shadow:none}
.ccard .cs{position:absolute;top:4px;left:6px;font-size:11px}
.ccard.c-r{--cc:#e3242b}.ccard.c-y{--cc:#f5c400}.ccard.c-g{--cc:#1fa64a}.ccard.c-b{--cc:#1f6fd6}
.ccard.c-w{background:conic-gradient(#e3242b 0 25%,#f5c400 0 50%,#1fa64a 0 75%,#1f6fd6 0)}.ccard.c-w .cv{color:#111}
.ccard.big{width:84px;height:124px;font-size:30px}
.ccard.cback,.cback{background:repeating-linear-gradient(45deg,#1b1b1b 0 6px,#2a2a2a 6px 12px);border-color:#fff}
.ccard.cback span{background:#e3242b;color:#fff;border-radius:8px;padding:6px 8px;font-size:16px;transform:rotate(-14deg)}
.ccard[data-draw]:not(:disabled){cursor:pointer;box-shadow:0 0 0 3px #00e5ff,0 6px 16px rgba(0,229,255,.4)}
.gm-hand{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:100%;padding:6px}
.gm-hand .ccard{margin:0}.gm-hand .ccard:disabled{filter:brightness(.6)}
.gm-hand .ccard.ok:not(:disabled){cursor:pointer;transform:translateY(-6px);box-shadow:0 0 0 3px #fff,0 0 18px rgba(255,255,255,.55)}
.gm-hand .ccard.ok:not(:disabled):hover{transform:translateY(-12px)}
.gm-pile{display:flex;gap:16px;align-items:center;justify-content:center;flex-wrap:wrap}
.gm-color{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 14px;border-radius:12px;border:2px solid var(--cc,#fff);min-width:96px}
.gm-color.c-r{--cc:#e3242b}.gm-color.c-y{--cc:#f5c400}.gm-color.c-g{--cc:#1fa64a}.gm-color.c-b{--cc:#1f6fd6}
.gm-color b{color:var(--cc);font-size:18px}.gm-color small{color:#9fb3c8;font-size:11px}
.gm-opps{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.gm-opp{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 14px;border-radius:12px;border:1px solid rgba(0,229,255,.14);background:rgba(7,17,28,.8);min-width:140px}
.gm-opp.on{border-color:#3ddc84;box-shadow:0 0 0 2px rgba(61,220,132,.25)}.gm-opp.out{opacity:.4}.gm-opp.mate{border-style:dashed}
.gm-opp small{color:#8aa3b8;font-size:12px}
.gm-backs{display:flex;height:34px}.gm-backs .cback{width:22px;height:34px;border-radius:4px;border:2px solid #fff;margin-left:-12px;box-shadow:0 1px 3px rgba(0,0,0,.4)}.gm-backs .cback:first-child{margin-left:0}
.gm-log{list-style:none;margin:0;padding:10px 14px;border-radius:12px;background:rgba(7,17,28,.7);border:1px solid rgba(0,229,255,.1);font-size:13px;color:#9fb3c8;width:min(100%,560px)}
.gm-log li{padding:2px 0}.gm-log b{color:#e6f4ff}
.gm-wild{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center;padding:12px;border-radius:12px;background:#07111c;border:1px solid #fff}
.gm-wild p{margin:0 6px 0 0;font-weight:700}
.gm-wild [data-wc]{padding:10px 16px;border-radius:10px;border:2px solid #fff;color:#fff;font-weight:800;cursor:pointer}
.gm-wild .c-r{background:#e3242b}.gm-wild .c-y{background:#f5c400;color:#222}.gm-wild .c-g{background:#1fa64a}.gm-wild .c-b{background:#1f6fd6}

/* Spades */
.pcard{width:58px;height:84px;border-radius:8px;background:#fff;color:#111;border:1px solid #bbb;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:800 19px/1 system-ui,sans-serif;box-shadow:0 3px 8px rgba(0,0,0,.4);padding:0;flex:none;transition:transform .15s}
.pcard i{font-style:normal;font-size:24px}.pcard.s-h,.pcard.s-d{color:#d0182a}
.gm-hand.pc{gap:0}.gm-hand.pc .pcard{margin-left:-18px}.gm-hand.pc .pcard:first-child{margin-left:0}
.gm-hand.pc .pcard:disabled{filter:brightness(.62)}
.gm-hand.pc .pcard.ok:not(:disabled){cursor:pointer;transform:translateY(-10px);box-shadow:0 0 0 2px #00e5ff,0 6px 16px rgba(0,229,255,.4)}
.gm-hand.pc .pcard.ok:not(:disabled):hover{transform:translateY(-18px)}
.gm-score{display:flex;gap:10px;align-items:stretch;justify-content:center;flex-wrap:wrap}
.gm-score>div{display:flex;flex-direction:column;align-items:center;padding:8px 18px;border-radius:12px;border:1px solid rgba(0,229,255,.15);background:rgba(7,17,28,.8);min-width:110px}
.gm-score>div.us{border-color:#00e5ff}.gm-score b{font-size:24px}.gm-score small{color:#8aa3b8;font-size:11.5px}
.gm-round{justify-content:center;text-align:center;color:#cfe3f3;font-size:13px}
.gm-table{position:relative;width:min(92vw,520px);aspect-ratio:1.35;border-radius:50%/42%;background:radial-gradient(ellipse at center,#1d6b45,#0f3d27 70%);border:6px solid #3a2414;box-shadow:inset 0 0 40px rgba(0,0,0,.5),0 12px 40px rgba(0,0,0,.5)}
.gm-tslot{position:absolute;display:flex;flex-direction:column;align-items:center;padding:4px 10px;border-radius:10px;background:rgba(0,0,0,.45);font-size:13px;white-space:nowrap}
.gm-tslot small{color:#bfe8cf;font-size:11px}.gm-tslot.on{box-shadow:0 0 0 2px #3ddc84}
.gm-tslot.bottom{bottom:6px;left:50%;transform:translateX(-50%)}.gm-tslot.top{top:6px;left:50%;transform:translateX(-50%)}
.gm-tslot.left{left:6px;top:50%;transform:translateY(-50%)}.gm-tslot.right{right:6px;top:50%;transform:translateY(-50%)}
.gm-trick{position:absolute;inset:22% 24%}
.gm-tc{position:absolute}.gm-tc .pcard{width:50px;height:72px;font-size:16px}.gm-tc .pcard i{font-size:20px}
.gm-tc.bottom{bottom:0;left:50%;transform:translateX(-50%)}.gm-tc.top{top:0;left:50%;transform:translateX(-50%)}
.gm-tc.left{left:0;top:50%;transform:translateY(-50%)}.gm-tc.right{right:0;top:50%;transform:translateY(-50%)}
.gm-lt{position:absolute;inset:0;display:grid;place-items:center;margin:0;color:#d6f5e2}
.gm-bid{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;border-radius:12px;border:1px solid #00e5ff;background:rgba(0,229,255,.06)}
.gm-bid p{margin:0}

@media (max-width:640px){
  .gm-main{padding:16px 12px 70px}
  .ccard{width:50px;height:74px;font-size:18px}.ccard.big{width:70px;height:104px;font-size:24px}
  .pcard{width:46px;height:68px;font-size:15px}.pcard i{font-size:19px}.gm-hand.pc .pcard{margin-left:-20px}
  .gm-tc .pcard{width:40px;height:58px;font-size:13px}.gm-tc .pcard i{font-size:16px}
  .gm-tslot{font-size:11px;padding:3px 6px}
  .gm-opp{min-width:110px;padding:8px}
  .gm-side{max-width:none;flex-basis:100%}
}

/* ===== Color Clash: round table (console style) ===== */
.cx{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}
.cx-table{--cc:#1f6fd6;position:relative;width:min(100%,980px);aspect-ratio:16/9.4;min-height:430px;user-select:none}
.cx-table.c-r{--cc:#e3242b}.cx-table.c-y{--cc:#f5c400}.cx-table.c-g{--cc:#1fa64a}.cx-table.c-b{--cc:#1f6fd6}
.cx-felt{position:absolute;inset:7% 9%;border-radius:50%;background:radial-gradient(ellipse at 50% 45%,color-mix(in srgb,var(--cc) 30%,#0b1c3a) 0%,#081530 55%,#040b1c 100%);
  border:3px solid color-mix(in srgb,var(--cc) 55%,#0a1630);box-shadow:0 0 0 10px rgba(4,11,28,.75),0 0 60px color-mix(in srgb,var(--cc) 40%,transparent),inset 0 0 80px rgba(0,0,0,.6);transition:background .5s,border-color .5s,box-shadow .5s}
.cx-felt::after{content:"";position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.035) 0 6deg,transparent 6deg 12deg);mask:radial-gradient(ellipse,transparent 30%,#000 70%)}
.cx-ring{position:absolute;left:50%;top:48%;width:min(46%,330px);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none}
.cx-ring svg{width:100%;height:100%;animation:cx-spin 9s linear infinite}
.cx-ring.ccw svg{animation-direction:reverse;transform:scaleX(-1)}
.cx-ring path{fill:none;stroke:var(--cc);stroke-width:2.2;stroke-linecap:round;opacity:.85;filter:drop-shadow(0 0 3px var(--cc));transition:stroke .5s}
.cx-ring marker path{fill:var(--cc);stroke:none}
@keyframes cx-spin{to{transform:rotate(360deg)}}
.cx-ring.ccw svg{animation-name:cx-spin-r}@keyframes cx-spin-r{from{transform:scaleX(-1) rotate(0)}to{transform:scaleX(-1) rotate(360deg)}}
.cx-center{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);display:flex;gap:26px;align-items:center}
.cx-pile{position:relative;width:84px;height:124px}
.cx-pile .ccard{position:absolute;inset:0;transform:rotate(var(--t,0deg));cursor:default}
.cx-pile .ccard:not(.top){filter:brightness(.75)}
.cx-pile .ccard.top{box-shadow:0 8px 24px rgba(0,0,0,.6),0 0 22px color-mix(in srgb,var(--cc) 50%,transparent)}
.cx-deck{position:relative;width:84px;height:124px;border:0;background:none;padding:0;cursor:default}
.cx-deck .cx-back{position:absolute;inset:0;width:auto;height:auto}
.cx-deck .d1{transform:translate(4px,4px)}.cx-deck .d2{transform:translate(2px,2px)}
.cx-deck .d3{display:grid;place-items:center}
.cx-deck span{background:#e3242b;color:#fff;border-radius:8px;padding:5px 8px;font:900 15px system-ui;transform:rotate(-14deg);box-shadow:0 2px 6px rgba(0,0,0,.5)}
.cx-deck.can{cursor:pointer}.cx-deck.can .d3{box-shadow:0 0 0 3px #fff,0 0 24px #fff;animation:cx-pulse 1.2s ease-in-out infinite}
.cx-deck.can:hover .d3{transform:translateY(-6px)}
@keyframes cx-pulse{50%{box-shadow:0 0 0 3px #fff,0 0 8px #fff}}
.cx-back{display:block;width:34px;height:50px;border-radius:7px;border:2px solid #fff;background:radial-gradient(ellipse at center,#e3242b 0 36%,transparent 37%),#141414;box-shadow:0 2px 6px rgba(0,0,0,.5)}
.cx-color{position:absolute;left:50%;top:76%;transform:translateX(-50%);display:flex;align-items:center;gap:7px;padding:5px 14px;border-radius:999px;background:rgba(0,0,0,.55);border:2px solid var(--cc);color:#fff;font:800 13px system-ui;letter-spacing:.08em;text-transform:uppercase;transition:border-color .5s}
.cx-color i{width:12px;height:12px;border-radius:50%;background:var(--cc);box-shadow:0 0 8px var(--cc)}
.cx-seat{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:4px;width:140px;z-index:2;transition:opacity .3s}
.cx-who{position:relative}
.cx-who .gm-av,.cx-seat.me-spec .gm-av{width:56px;height:56px;font-size:22px;border:3px solid rgba(255,255,255,.25);box-shadow:0 4px 14px rgba(0,0,0,.5)}
.cx-seat.on .gm-av{border-color:#fff;box-shadow:0 0 0 4px var(--cc),0 0 26px var(--cc);animation:cx-turn 1.4s ease-in-out infinite}
@keyframes cx-turn{50%{box-shadow:0 0 0 2px var(--cc),0 0 10px var(--cc)}}
.cx-cnt{position:absolute;right:-8px;bottom:-4px;min-width:24px;height:24px;padding:0 6px;border-radius:12px;background:#fff;color:#111;font:900 13px/24px system-ui;text-align:center;box-shadow:0 2px 6px rgba(0,0,0,.5)}
.cx-one{position:absolute;left:50%;top:-22px;transform:translateX(-50%) rotate(-8deg);background:#e3242b;color:#fff;font:900 13px system-ui;padding:3px 9px;border-radius:7px;border:2px solid #fff;white-space:nowrap;animation:cx-bounce .8s ease-in-out infinite alternate;box-shadow:0 3px 10px rgba(0,0,0,.5)}
@keyframes cx-bounce{to{transform:translateX(-50%) rotate(-8deg) scale(1.12)}}
.cx-name{font-size:13px;padding:2px 10px;border-radius:8px;background:rgba(0,0,0,.6);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cx-seat.mate .cx-name{border:1px dashed rgba(255,255,255,.5)}
.cx-seat.out{opacity:.35}.cx-seat.won .cx-name{background:#ffd166;color:#111}
.cx-fan{position:relative;height:40px;width:100px;margin-bottom:-6px}
.cx-fan .cx-back{position:absolute;left:50%;bottom:0;width:26px;height:38px;border-radius:5px;margin-left:-13px;transform-origin:50% 140%;transform:rotate(var(--r))}
.cx-me{width:min(100%,980px);overflow-x:clip;padding-top:40px;display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:-74px;position:relative;z-index:3}
.cx-bar{display:flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;border-radius:999px;background:rgba(4,11,28,.85);border:1px solid rgba(255,255,255,.15);position:relative;flex-wrap:wrap;justify-content:center}
.cx-me.on .cx-bar{border-color:#fff;box-shadow:0 0 0 2px var(--cc,#00e5ff)}
.cx-bar .gm-av{width:40px;height:40px}.cx-bar .cx-one{position:static;transform:rotate(-6deg)}
.cx-hand{position:relative;height:150px;width:100%;display:flex;justify-content:center}
.cx-hand .ccard{position:absolute;bottom:0;left:50%;margin-left:-42px;width:84px;height:124px;font-size:28px;transform-origin:50% 100%;
  transform:translateX(calc(var(--i) * var(--step))) rotate(calc(var(--i) * var(--rot))) translateY(var(--y,0px));transition:transform .2s,filter .2s,box-shadow .2s}
.cx-hand .ccard:disabled{filter:brightness(.62) saturate(.8)}
.cx-hand .ccard.ok:not(:disabled){cursor:pointer;filter:none;box-shadow:0 0 0 3px #fff,0 0 20px rgba(255,255,255,.7);transform:translateX(calc(var(--i) * var(--step))) rotate(calc(var(--i) * var(--rot))) translateY(calc(var(--y,0px) - 16px))}
.cx-hand .ccard.ok:not(:disabled):hover,.cx-hand .ccard.ok:not(:disabled):focus-visible{transform:translateX(calc(var(--i) * var(--step))) rotate(0deg) translateY(-34px) scale(1.08);z-index:5}
#cx-fx{position:absolute;inset:0;pointer-events:none;z-index:6}
.cx-fly{position:absolute;margin:0;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .5s}
#cx-fx .ccard.cx-fly{width:84px;height:124px}
.cx-log{width:min(100%,560px)}.cx-log summary{cursor:pointer;color:#8aa3b8;font-size:13px;padding:4px}
@media (max-width:700px){
  .cx-table{aspect-ratio:3/3.6;min-height:0}
  .cx-felt{inset:9% 4%}
  .cx-center{gap:12px}
  .cx-pile,.cx-deck{width:62px;height:92px}.cx-pile .ccard{width:62px;height:92px;font-size:22px}
  .cx-seat{width:96px}.cx-who .gm-av{width:44px;height:44px;font-size:18px}.cx-fan{width:70px;height:30px}.cx-fan .cx-back{width:20px;height:30px;margin-left:-10px}
  .cx-name{font-size:11.5px;max-width:96px}
  .cx-ring{width:62%}
  .cx-color{top:74%;font-size:11px}
  .cx-me{margin-top:-58px}
  .cx-hand{height:124px}.cx-hand .ccard{width:62px;height:92px;margin-left:-31px;font-size:21px}
  #cx-fx .ccard.cx-fly{width:62px;height:92px}
}

/* remove from your list */
.gm-irow{display:flex;gap:6px;align-items:stretch}.gm-irow .gm-item{flex:1;min-width:0}
.gm-rm{flex:none;width:44px;border-radius:12px;border:1px solid rgba(255,90,106,.25);background:rgba(7,17,28,.8);color:#ff8a95;font-size:15px;cursor:pointer}
.gm-rm:hover,.gm-rm:focus-visible{border-color:#ff5a6a;background:rgba(255,90,106,.12)}
.gm-h2row{display:flex;align-items:center;justify-content:space-between;gap:10px}

/* ===== Battleship ===== */
.bs{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%}
.bs-boards{display:flex;gap:22px;flex-wrap:wrap;justify-content:center;align-items:flex-start;width:100%}
.bs-wrap{display:flex;flex-direction:column;gap:6px;align-items:center}
.bs-label{margin:0;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#8fc7e8}
.bs-grid{display:grid;grid-template-columns:20px repeat(10,1fr);gap:2px;padding:8px;border-radius:12px;background:linear-gradient(160deg,#0a3a66,#06233f);border:2px solid rgba(0,229,255,.35);box-shadow:0 10px 30px rgba(0,0,0,.45),inset 0 0 40px rgba(0,0,0,.35)}
.bs-enemy .bs-grid,.bs-place .bs-grid{width:min(92vw,470px)}
.bs-own .bs-grid{width:min(92vw,300px)}
.bs-hd{font-style:normal;font-size:10px;color:#8fc7e8;display:grid;place-items:center;font-weight:700}
.bs-c0{display:block}
.bs-cell{aspect-ratio:1;border:0;padding:0;margin:0;border-radius:3px;background:rgba(120,200,255,.10);position:relative;display:block;min-width:0;transition:background .15s}
button.bs-cell{cursor:default}
.bs-enemy.live button.bs-cell:not(:disabled){cursor:crosshair}
.bs-enemy.live button.bs-cell:not(:disabled):hover{background:rgba(255,80,80,.35);box-shadow:inset 0 0 0 2px #ff5a6a}
.bs-place button.bs-cell{cursor:pointer}.bs-place button.bs-cell:hover{background:rgba(0,229,255,.25)}
.bs-cell.ship{background:linear-gradient(#8ea3b5,#5e7385);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.bs-cell.ship.h.first{border-radius:50% 4px 4px 50%}.bs-cell.ship.h.last{border-radius:4px 50% 50% 4px}
.bs-cell.ship.v.first{border-radius:50% 50% 4px 4px}.bs-cell.ship.v.last{border-radius:4px 4px 50% 50%}
.bs-cell.ship.picked{background:linear-gradient(#5ff0ff,#00a9c2);box-shadow:0 0 10px #00e5ff}
.bs-cell.ship.sunk{background:linear-gradient(#5a2a2a,#341515)}
.bs-cell.miss::after{content:"";position:absolute;inset:34%;border-radius:50%;background:#dff4ff;box-shadow:0 0 6px rgba(223,244,255,.8)}
.bs-cell.hit::after{content:"🔥";position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(9px,2.6vw,20px);filter:drop-shadow(0 0 4px #ff4a00)}
.bs-cell.hit{background:rgba(255,60,40,.35)}
.bs-cell.ship.hit{background:linear-gradient(#a0442e,#5a1f12)}
.bs-cell.just{animation:bs-boom .7s ease-out}
.bs-cell.just.miss::after{animation:bs-splash .6s ease-out}
@keyframes bs-boom{0%{box-shadow:0 0 0 0 #ffb020,0 0 30px 10px #ff5a00;transform:scale(1.35);z-index:2}100%{box-shadow:none;transform:none}}
@keyframes bs-splash{0%{inset:0;opacity:.2}100%{inset:34%;opacity:1}}
.bs-news{margin:0;padding:8px 16px;border-radius:999px;background:rgba(7,17,28,.85);border:1px solid rgba(0,229,255,.25);font-weight:600}
.bs-news.hit{border-color:#ff5a3a;color:#ffd0c4}
.bs-status{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.bs-left{display:flex;flex-direction:column;gap:3px;padding:10px 14px;border-radius:12px;background:rgba(7,17,28,.8);border:1px solid rgba(0,229,255,.14);font-size:13px;min-width:200px}
.bs-left span{display:flex;justify-content:space-between;gap:10px;color:#cfe3f3}.bs-left i{font-style:normal;color:#8ea3b5;letter-spacing:-1px}
.bs-left span.gone{color:#6b7c8c;text-decoration:line-through}.bs-left span.gone i{color:#a0442e}
.bs-side{display:flex;flex-direction:column;gap:10px;min-width:220px}
.bs-ships{display:flex;flex-direction:column;gap:6px}
.bs-ship{display:flex;justify-content:space-between;gap:10px;padding:8px 12px;border-radius:10px;border:1px solid rgba(0,229,255,.2);background:#030a12;color:#e6f4ff;cursor:pointer;font:inherit}
.bs-ship span{color:#8ea3b5;letter-spacing:-1px}.bs-ship.on{border-color:#00e5ff;background:rgba(0,229,255,.12)}.bs-ship.on span{color:#00e5ff}
.bs:has(.bs-place){flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:flex-start}
.bs-wait{padding:30px;border-radius:14px;background:rgba(7,17,28,.85);border:1px solid rgba(0,229,255,.2);font-size:16px}

/* ===== playing-card games on the round table (Crazy Eights) ===== */
.cx-table.felt-green .cx-felt{background:radial-gradient(ellipse at 50% 45%,#1d7a4c 0%,#0f4a2e 60%,#08301d 100%);border-color:#3a2414;box-shadow:0 0 0 10px rgba(30,16,8,.85),0 0 40px rgba(0,0,0,.5),inset 0 0 80px rgba(0,0,0,.5)}
.cx-table.felt-green .cx-felt::after{display:none}
.cx-back.pb{background:repeating-linear-gradient(45deg,#1f4fa8 0 5px,#173d86 5px 10px);border-color:#fff}
.cx-deck .cx-back.pb span{background:#fff;color:#173d86}
.ce .cx-pile .pcard{position:absolute;inset:0;width:84px;height:124px;font-size:26px;transform:rotate(var(--t,0deg))}.ce .cx-pile .pcard i{font-size:34px}
.ce-suit{top:72%;border-color:#fff}.ce-suit b{font-size:20px;line-height:1}.ce-suit.s-h b,.ce-suit.s-d b{color:#ff4a5a}
.cx-hand.pcs .pcard{position:absolute;bottom:0;left:50%;margin-left:-37px;width:74px;height:108px;font-size:22px;transform-origin:50% 100%;
  transform:translateX(calc(var(--i) * var(--step))) rotate(calc(var(--i) * var(--rot))) translateY(var(--y,0px));transition:transform .2s,filter .2s,box-shadow .2s}
.cx-hand.pcs .pcard i{font-size:28px}
.cx-hand.pcs .pcard:disabled{filter:brightness(.6)}
.cx-hand.pcs .pcard.ok:not(:disabled){cursor:pointer;box-shadow:0 0 0 3px #00e5ff,0 0 18px rgba(0,229,255,.6);transform:translateX(calc(var(--i) * var(--step))) rotate(calc(var(--i) * var(--rot))) translateY(calc(var(--y,0px) - 14px))}
.cx-hand.pcs .pcard.ok:not(:disabled):hover{transform:translateX(calc(var(--i) * var(--step))) translateY(-30px) scale(1.06);z-index:5}
#cx-fx .pcard.cx-fly{width:84px;height:124px}
.gm-wild .ws{width:52px;height:52px;border-radius:10px;border:2px solid #fff;background:#fff;color:#111;font-size:28px;cursor:pointer}.gm-wild .ws.s-h,.gm-wild .ws.s-d{color:#d0182a}
.gm-hand.pc .pcard.picked{transform:translateY(-22px);box-shadow:0 0 0 3px #ffd166,0 6px 18px rgba(255,209,102,.5)}
@media (max-width:700px){.ce .cx-pile .pcard{width:62px;height:92px;font-size:20px}.cx-hand.pcs .pcard{width:56px;height:82px;margin-left:-28px;font-size:17px}.cx-hand.pcs .pcard i{font-size:21px}}

/* ===== Go Fish ===== */
.gf{display:flex;flex-direction:column;gap:14px;align-items:center;width:100%}
.gf-ocean{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 24px;border-radius:50%/40%;background:radial-gradient(ellipse,#1a6aa8,#0b3a66);border:2px solid #4fb3ff55;min-width:min(92vw,420px)}
.gf-deck{display:flex;flex-direction:column;align-items:center}.gf-deck b{font-size:24px}.gf-deck small{color:#bfe3ff}
.gf-players{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.gf-p{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:14px;border:1px solid rgba(0,229,255,.15);background:rgba(7,17,28,.85);color:#e6f4ff;font:inherit;text-align:left;position:relative}
.gf-p span{display:flex;flex-direction:column}.gf-p small{color:#8aa3b8}.gf-p.on{border-color:#3ddc84}
.gf-p.ask{cursor:pointer;border-color:#ffd166;box-shadow:0 0 0 2px rgba(255,209,102,.3)}.gf-p.ask:hover{background:rgba(255,209,102,.1)}
.gf-p em{font-style:normal;font-size:11px;color:#ffd166;margin-left:6px}
.gf-me{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}
.gf-books{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:13px}.gf-book{padding:3px 9px;border-radius:999px;background:rgba(61,220,132,.15);border:1px solid #3ddc84;color:#bff5d6}

/* ===== Blackjack ===== */
.bj{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}
.bj-felt{width:min(100%,900px);padding:22px 16px 26px;border-radius:0 0 50% 50%/0 0 30% 30%;background:radial-gradient(ellipse at 50% 0%,#1d7a4c,#0f4a2e 70%);border:6px solid #3a2414;border-top-width:3px;box-shadow:inset 0 0 50px rgba(0,0,0,.5),0 12px 40px rgba(0,0,0,.5);display:flex;flex-direction:column;align-items:center;gap:12px}
.bj-dealer{display:flex;flex-direction:column;align-items:center;gap:6px}.bj-dealer small{font-size:15px;font-weight:700;color:#e9ffef}
.bj-round{margin:0;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#bfe8cf}
.bj-cards{display:flex;min-height:84px}.bj-cards .pcard{margin-left:-24px;cursor:default}.bj-cards .pcard:first-child{margin-left:0}
.bjb{width:58px;height:84px;margin-left:-24px;border-radius:8px}
.bj-seats{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.bj-seat{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 12px;border-radius:14px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.12);min-width:140px}
.bj-seat.on{border-color:#ffd166;box-shadow:0 0 0 2px rgba(255,209,102,.35)}.bj-seat.me b{color:#00e5ff}.bj-seat.out{opacity:.4}
.bj-seat small{color:#e9ffef;font-weight:600}.bj-chips{font-size:12.5px;color:#ffd166}
.bj-acts{justify-content:center}

/* ===== Ludo ===== */
.ld{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;align-items:flex-start;width:100%}
.ld-board{position:relative;display:grid;grid-template-columns:repeat(15,1fr);grid-template-rows:repeat(15,1fr);width:min(94vw,560px);aspect-ratio:1;border-radius:12px;overflow:hidden;background:#f4f1e8;border:3px solid #2a2a2a;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.lc{display:block;border:.5px solid rgba(0,0,0,.08)}
.lc.base{border:0}.lc.b0{background:#e3242b}.lc.b1{background:#1fa64a}.lc.b2{background:#f5c400}.lc.b3{background:#1f6fd6}
.lc.path{background:#fff}.lc.safe{background:#fff radial-gradient(circle,#c9c9c9 0 22%,transparent 24%)}
.lc.start.s0{background:#e3242b}.lc.start.s1{background:#1fa64a}.lc.start.s2{background:#f5c400}.lc.start.s3{background:#1f6fd6}
.lc.lane.l0{background:#ef6b70}.lc.lane.l1{background:#5cc483}.lc.lane.l2{background:#f8d94d}.lc.lane.l3{background:#5d97e3}
.lc.mid{background:conic-gradient(from 225deg,#1fa64a 0 25%,#f5c400 0 50%,#1f6fd6 0 75%,#e3242b 0)}
.ld-pad{position:absolute;width:calc(100%/15*4);height:calc(100%/15*4);background:#fff;border-radius:14%;box-shadow:inset 0 2px 6px rgba(0,0,0,.15)}
.ld-pad.p0{top:calc(100%/15);left:calc(100%/15)}.ld-pad.p1{top:calc(100%/15);left:calc(100%/15*10)}.ld-pad.p2{top:calc(100%/15*10);left:calc(100%/15*10)}.ld-pad.p3{top:calc(100%/15*10);left:calc(100%/15)}
.ltok{position:absolute;z-index:2;width:calc(100%/15*.78);height:calc(100%/15*.78);transform:translate(calc(-50% + var(--o,0px)),calc(-50% - var(--o,0px)));border-radius:50%;border:3px solid #fff;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--c) 55%,#fff),var(--c));box-shadow:0 3px 6px rgba(0,0,0,.45);padding:0;transition:top .35s,left .35s}
.ltok.can{cursor:pointer;animation:ld-bob .9s ease-in-out infinite;box-shadow:0 0 0 3px #111,0 0 16px var(--c)}
.ltok.just{box-shadow:0 0 0 3px #111,0 3px 6px rgba(0,0,0,.45)}
@keyframes ld-bob{50%{transform:translate(calc(-50% + var(--o,0px)),calc(-50% - var(--o,0px) - 5px))}}
.ld-side{display:flex;flex-direction:column;gap:12px;min-width:220px;max-width:300px;flex:1}
.ld-players{display:flex;flex-direction:column;gap:6px}
.ld-p{display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:10px;background:rgba(7,17,28,.8);border:1px solid rgba(255,255,255,.1)}.ld-p i{width:14px;height:14px;border-radius:50%;background:var(--c)}
.ld-p small{margin-left:auto;color:#8aa3b8}.ld-p.on{border-color:var(--c);box-shadow:0 0 0 2px color-mix(in srgb,var(--c) 40%,transparent)}.ld-p.out{opacity:.4}
.ld-dice{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.die{width:56px;height:56px;border-radius:12px;background:#fff;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:8px;box-shadow:0 4px 10px rgba(0,0,0,.4);gap:2px}
.die i{width:10px;height:10px;border-radius:50%;background:#111;place-self:center}
.die.d1 i{grid-area:2/2}.die.d2 i:nth-child(1){grid-area:1/1}.die.d2 i:nth-child(2){grid-area:3/3}
.die.d3 i:nth-child(1){grid-area:1/1}.die.d3 i:nth-child(2){grid-area:2/2}.die.d3 i:nth-child(3){grid-area:3/3}
.die.d4 i:nth-child(1){grid-area:1/1}.die.d4 i:nth-child(2){grid-area:1/3}.die.d4 i:nth-child(3){grid-area:3/1}.die.d4 i:nth-child(4){grid-area:3/3}
.die.d5 i:nth-child(1){grid-area:1/1}.die.d5 i:nth-child(2){grid-area:1/3}.die.d5 i:nth-child(3){grid-area:2/2}.die.d5 i:nth-child(4){grid-area:3/1}.die.d5 i:nth-child(5){grid-area:3/3}
.die.d6 i:nth-child(1){grid-area:1/1}.die.d6 i:nth-child(2){grid-area:2/1}.die.d6 i:nth-child(3){grid-area:3/1}.die.d6 i:nth-child(4){grid-area:1/3}.die.d6 i:nth-child(5){grid-area:2/3}.die.d6 i:nth-child(6){grid-area:3/3}

/* ===== Mancala ===== */
.mc{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}
.mc-who{margin:0}
.mc-board{display:flex;gap:10px;align-items:stretch;padding:16px;border-radius:60px;background:linear-gradient(#8a5a32,#5e3a1e);box-shadow:inset 0 3px 8px rgba(255,255,255,.2),inset 0 -6px 12px rgba(0,0,0,.4),0 12px 34px rgba(0,0,0,.5);width:min(96vw,780px)}
.mc-rows{flex:1;display:flex;flex-direction:column;gap:10px}
.mc-row{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.mc-pit,.mc-store{position:relative;border-radius:50%;background:radial-gradient(circle at 50% 40%,#3a2210,#24140a);box-shadow:inset 0 4px 10px rgba(0,0,0,.6);display:grid;place-items:center;border:0;padding:0;color:#ffe9c9;font:inherit}
.mc-pit{aspect-ratio:1}
.mc-store{width:min(13vw,92px);border-radius:46px}
.mc-pit b,.mc-store b{position:absolute;bottom:-2px;right:4px;font-size:13px;background:rgba(0,0,0,.55);padding:1px 6px;border-radius:8px}
.mc-store b{right:50%;transform:translateX(50%);bottom:8px;font-size:16px}
.mc-seeds{position:absolute;inset:0;pointer-events:none}
.mc-seeds i{position:absolute;left:50%;top:50%;width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#d6f5ff,#5aa9d6);transform:rotate(var(--a)) translate(var(--d)) translate(-50%,-50%);box-shadow:0 1px 2px rgba(0,0,0,.5)}
.mc-pit.can{cursor:pointer;box-shadow:inset 0 4px 10px rgba(0,0,0,.6),0 0 0 3px #ffd166}
.mc-pit.can:hover{filter:brightness(1.25)}
.mc-pit.just,.mc-store.just{box-shadow:inset 0 4px 10px rgba(0,0,0,.6),0 0 0 3px #00e5ff}

/* ===== Othello ===== */
.ot{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);gap:2px;padding:8px;width:min(92vw,520px);aspect-ratio:1;border-radius:12px;background:#0b3d22;border:3px solid #2a2a2a;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.ot-c{background:#1a7a43;border:0;padding:0;border-radius:3px;display:grid;place-items:center;position:relative}
.ot.live .ot-c.can{cursor:pointer}.ot-c.can::after{content:"";width:22%;height:22%;border-radius:50%;background:rgba(0,0,0,.3)}.ot.live .ot-c.can:hover{background:#22924f}
.disc{display:block;width:82%;height:82%;border-radius:50%;box-shadow:0 3px 5px rgba(0,0,0,.5)}
.disc.k{background:radial-gradient(circle at 35% 30%,#555,#0a0a0a)}.disc.w{background:radial-gradient(circle at 35% 30%,#fff,#cfcfcf)}
.disc.last{box-shadow:0 0 0 3px #ffd166,0 3px 5px rgba(0,0,0,.5)}.disc.flip{animation:ot-flip .45s ease}
@keyframes ot-flip{0%{transform:scaleX(1)}50%{transform:scaleX(0)}100%{transform:scaleX(1)}}
.ot-count{display:flex;gap:18px;font-size:20px;font-weight:700}.ot-count span{display:flex;align-items:center;gap:8px}.ot-count .disc{width:24px;height:24px}
.gm-side .disc{display:inline-block}

/* ===== Dots & Boxes ===== */
.dots{width:min(92vw,520px);background:rgba(7,17,28,.85);border-radius:14px;border:1px solid rgba(0,229,255,.2);padding:6px}
.dots .dd{fill:#e6f4ff}
.dots .dl{stroke:rgba(255,255,255,.08);stroke-width:2.6;stroke-linecap:round}
.dots.live .dl.can{cursor:pointer}.dots.live .dl.can:hover{stroke:rgba(0,229,255,.6)}
.dots .dl.on{stroke-width:2.2}.dots .dl.just{animation:dl-pop .5s ease}
@keyframes dl-pop{0%{stroke-width:4.5}100%{stroke-width:2.2}}
.dt-p{display:flex;align-items:center;gap:8px;margin:4px 0;padding:6px 10px;border-radius:9px;border:1px solid transparent}.dt-p i{width:12px;height:12px;border-radius:3px;background:var(--c)}.dt-p b{margin-left:auto}
.dt-p.on{border-color:var(--c)}

/* ===== Texas Hold'em ===== */
.pk-center{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:6px}
.pk-board{display:flex;gap:6px}.pk-board .pcard{width:58px;height:84px;cursor:default}
.pk-slot{display:block;width:58px;height:84px;border-radius:8px;border:2px dashed rgba(255,255,255,.18)}
.pk-pot{margin:0;padding:4px 14px;border-radius:999px;background:rgba(0,0,0,.45);font-size:14px}.pk-pot b{color:#ffd166}
.pk-meta{margin:0;font-size:11px;color:#bfe8cf;letter-spacing:.08em;text-transform:uppercase}
.cx-seat.pk{gap:3px}.cx-seat.pk.folded{opacity:.5}.cx-seat.pk.out{opacity:.25}
.pk-hole{display:flex;gap:2px;height:44px;align-items:flex-end}.pk-hole .cx-back{width:28px;height:40px;border-radius:5px}
.pcard.sm{width:30px;height:44px;font-size:12px;border-radius:5px}.pcard.sm i{font-size:13px}
.pk-btn{position:absolute;left:-10px;top:-6px;width:22px;height:22px;border-radius:50%;background:#fff;color:#111;font:900 12px/22px system-ui;text-align:center;box-shadow:0 2px 6px rgba(0,0,0,.5)}
.pk-info .pk-btn{position:static;display:inline-block}
.pk-stack{font-size:12px;color:#ffd166}
.pk-bet{font-size:12px;padding:1px 8px;border-radius:999px;background:#ffd166;color:#111;font-weight:800}
.pk-tag{font-size:10.5px;padding:1px 7px;border-radius:6px;background:rgba(0,0,0,.6);text-transform:uppercase;letter-spacing:.06em}.pk-tag.f{color:#9fb3c8}.pk-tag.w{background:#3ddc84;color:#06210f;font-weight:800}
.pk-me{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:-30px;position:relative;z-index:3;padding:10px 16px;border-radius:18px;background:rgba(4,11,28,.85);border:1px solid rgba(255,255,255,.12)}
.pk-me.on{border-color:#ffd166;box-shadow:0 0 0 2px rgba(255,209,102,.3)}
.pk-mine{display:flex;gap:6px}.pk-mine .pcard.big{width:74px;height:106px;font-size:24px;cursor:default}.pk-mine .pcard.big i{font-size:30px}
.pk-acts{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;align-items:center}
.pk-raise{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center}.pk-raise input[type=range]{width:170px;accent-color:#ffd166}
.pk-raise .gm-seg button{padding:6px 10px;font-size:12px}
@media (max-width:700px){.pk-board .pcard,.pk-slot{width:42px;height:62px;font-size:14px}.pk-board .pcard i{font-size:17px}.pk-me{margin-top:-14px}}

/* ===== Trivia ===== */
.tv{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%}
.tv-scores{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.tv-scores span{padding:6px 12px;border-radius:999px;background:rgba(7,17,28,.85);border:1px solid rgba(0,229,255,.15);font-size:13px}.tv-scores span.me{border-color:#00e5ff}.tv-scores span.on{border-color:#3ddc84}.tv-scores span.out{opacity:.4}.tv-scores b{color:#ffd166;margin-left:4px}
.tv-card{width:min(100%,640px);padding:22px;border-radius:18px;background:linear-gradient(160deg,rgba(166,107,255,.18),rgba(7,17,28,.9));border:1px solid rgba(166,107,255,.4);display:flex;flex-direction:column;gap:12px}
.tv-card h3{margin:0;font-size:22px;line-height:1.3}
.tv-num{margin:0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#c9a6ff}
.tv-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tv-o{display:flex;align-items:center;gap:10px;padding:14px;border-radius:12px;border:1px solid rgba(255,255,255,.15);background:rgba(4,11,28,.7);color:#e6f4ff;font:inherit;font-size:15px;text-align:left;cursor:pointer}
.tv-o i{font-style:normal;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:rgba(166,107,255,.3);font-weight:800;flex:none}
.tv-o:not(:disabled):hover{border-color:#a66bff;background:rgba(166,107,255,.15)}.tv-o:disabled{cursor:default}.tv-o.picked{border-color:#ffd166;box-shadow:0 0 0 2px rgba(255,209,102,.3)}
.tv-reveal{width:min(100%,640px);padding:12px 16px;border-radius:12px;background:rgba(61,220,132,.08);border:1px solid rgba(61,220,132,.35)}.tv-reveal p{margin:4px 0}
@media (max-width:560px){.tv-opts{grid-template-columns:1fr}}

/* ===== Hangman ===== */
.hm{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%}
.hm-top{display:flex;gap:20px;align-items:center;flex-wrap:wrap;justify-content:center}
.hm-gallows{width:150px;height:150px;fill:none;stroke:#e6f4ff;stroke-width:3;stroke-linecap:round}.hm-gallows .hm-wood{stroke:#c08a52;stroke-width:4}
.hm-word{display:flex;flex-direction:column;gap:10px;align-items:center}
.hm-letters{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.hm-letters span{width:34px;height:44px;border-bottom:3px solid #00e5ff;display:grid;place-items:center;font:800 26px system-ui;color:#fff}
.hm-keys{display:grid;grid-template-columns:repeat(13,1fr);gap:5px;width:min(100%,620px)}
.hm-keys button{aspect-ratio:1;border-radius:8px;border:1px solid rgba(0,229,255,.25);background:#07111c;color:#e6f4ff;font:700 15px system-ui;cursor:pointer;padding:0}
.hm-keys button:disabled{cursor:default;opacity:.55}.hm-keys button.hit{background:rgba(61,220,132,.25);border-color:#3ddc84;opacity:1}.hm-keys button.miss{background:rgba(255,90,106,.15);border-color:#ff5a6a;color:#ff8a95;opacity:.8}
.hm-keys button:not(:disabled):hover{background:rgba(0,229,255,.15)}
.hm-solve{width:min(100%,420px)}
@media (max-width:560px){.hm-keys{grid-template-columns:repeat(7,1fr)}.hm-letters span{width:26px;height:36px;font-size:20px}}

/* ===== Snakes & Ladders ===== */
.sl-board{position:relative;display:grid;grid-template-columns:repeat(10,1fr);width:min(94vw,560px);aspect-ratio:1;border-radius:12px;overflow:hidden;border:3px solid #2a2a2a;box-shadow:0 10px 40px rgba(0,0,0,.5);margin-bottom:22px}
.sl-c{display:block;background:#ffe9b8;position:relative}.sl-c.alt{background:#ffd27a}.sl-c:nth-child(20n+1),.sl-c:nth-child(20n+3),.sl-c:nth-child(20n+5),.sl-c:nth-child(20n+7),.sl-c:nth-child(20n+9){filter:hue-rotate(8deg)}
.sl-c small{position:absolute;left:3px;top:2px;font:700 10px system-ui;color:#7a4a12}
.sl-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.sl-lad line{stroke:#7a4a12;stroke-width:1;stroke-linecap:round}
.sl-snake{fill:none;stroke:#1fa64a;stroke-width:2.2;stroke-linecap:round;opacity:.9}.sl-head{fill:#0d6b2c}
.sl-tok{position:absolute;width:5.2%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--c) 50%,#fff),var(--c));border:2px solid #111;transform:translate(calc(-50% + var(--o,0px)),calc(-50% + var(--o,0px)));transition:top .5s,left .5s;z-index:2;box-shadow:0 2px 5px rgba(0,0,0,.5)}

/* ===== Gomoku ===== */
.gk{display:grid;grid-template-columns:repeat(var(--n),1fr);width:min(94vw,600px);aspect-ratio:1;padding:10px;border-radius:12px;background:#d8a85a;box-shadow:0 10px 40px rgba(0,0,0,.5),inset 0 0 30px rgba(120,70,20,.35)}
.gk-c{position:relative;border:0;padding:0;background:none;display:grid;place-items:center}
.gk-c::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(60,30,5,.6)}.gk-c::after{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:rgba(60,30,5,.6)}
.gk.live .gk-c:not(:disabled){cursor:pointer}.gk.live .gk-c:not(:disabled):hover .stone,.gk.live .gk-c:not(:disabled):hover::before{opacity:1}
.stone{position:relative;z-index:1;width:84%;height:84%;border-radius:50%;box-shadow:0 2px 3px rgba(0,0,0,.5)}
.stone.k{background:radial-gradient(circle at 35% 30%,#666,#050505)}.stone.w{background:radial-gradient(circle at 35% 30%,#fff,#cfcfcf)}
.stone.last{box-shadow:0 0 0 2px #e3242b,0 2px 3px rgba(0,0,0,.5)}.stone.win{box-shadow:0 0 0 3px #00e5ff,0 0 10px #00e5ff}

/* ===== Rock Paper Scissors ===== */
.rp{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%}
.rp-score{display:flex;align-items:center;gap:18px}.rp-score>div{display:flex;flex-direction:column;align-items:center;padding:10px 22px;border-radius:14px;background:rgba(7,17,28,.85);border:1px solid rgba(0,229,255,.2)}.rp-score b{font-size:34px}.rp-score small{color:#8aa3b8}.rp-score span{color:#8aa3b8;font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.rp-last{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center}.rp-last span{font-size:56px;animation:rp-pop .4s ease}.rp-last p{flex-basis:100%;text-align:center;margin:0;font-weight:700}
@keyframes rp-pop{from{transform:scale(.4) rotate(-20deg)}to{transform:none}}
.rp-picks{display:flex;gap:12px}
.rp-picks button{display:flex;flex-direction:column;align-items:center;gap:4px;width:104px;padding:14px 8px;border-radius:16px;border:1px solid rgba(0,229,255,.3);background:#07111c;color:#e6f4ff;font:600 13px system-ui;text-transform:capitalize;cursor:pointer}
.rp-picks button span{font-size:44px}.rp-picks button:hover{border-color:#00e5ff;transform:translateY(-3px)}

/* ===== Worms arena ===== */
.gm-live{max-width:520px;text-decoration:none;background:linear-gradient(160deg,rgba(61,220,132,.14),rgba(7,17,28,.85));border-color:rgba(61,220,132,.4)}
.gm-beta{font-style:normal;font-size:10px;letter-spacing:.12em;padding:2px 7px;border-radius:6px;background:#3ddc84;color:#06210f;margin-left:6px;vertical-align:middle}
.wm-main{position:relative;z-index:1;padding:0}
.wm{position:fixed;inset:0;z-index:80;height:100vh;height:100dvh;min-height:0;overflow:hidden;background:#05080f;user-select:none;touch-action:none}
#wm-cv{display:block;width:100%;height:100%;cursor:crosshair}
.wm-back{position:absolute;left:12px;top:12px;color:#cfe3f3;text-decoration:none;font-size:14px;padding:6px 12px;border-radius:999px;background:rgba(5,10,20,.7);border:1px solid rgba(255,255,255,.15)}
.wm-lb{position:absolute;right:12px;top:calc(64px + env(safe-area-inset-top,0px));min-width:180px;padding:10px 12px;border-radius:12px;background:rgba(5,10,20,.7);border:1px solid rgba(255,255,255,.12);font-size:13px;pointer-events:none}
.wm-lb h4{margin:0 0 6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8aa3b8}
.wm-lb ol{list-style:none;margin:0;padding:0}.wm-lb li{display:flex;gap:8px;padding:1px 0}.wm-lb li span{width:16px;color:#8aa3b8}.wm-lb li b{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px}.wm-lb li em{font-style:normal;color:#ffd166}.wm-lb li.me b{color:#00e5ff;font-weight:700}
.wm-score{position:absolute;left:14px;bottom:14px;font:800 18px system-ui;color:#fff;text-shadow:0 2px 6px #000}
.wm-status{position:absolute;left:50%;top:calc(66px + env(safe-area-inset-top,0px));transform:translateX(-50%);color:#ffd166;font-size:13px}
.wm-over{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:20px;background:radial-gradient(circle,rgba(5,8,15,.55),rgba(5,8,15,.85))}
.wm-over[hidden]{display:none}.wm-over h2{margin:0;font-size:clamp(28px,6vw,46px)}.wm-over p{margin:0;max-width:420px;color:#cfe3f3}.wm-over b{color:#ffd166;font-size:22px}
.wm-boost{display:none;position:absolute;right:16px;bottom:150px;width:78px;height:78px;border-radius:50%;border:2px solid #fff;background:rgba(255,60,80,.6);color:#fff;font:800 13px system-ui}
@media (hover:none){.wm.playing .wm-boost{display:block}}
.wm-toast{position:absolute;left:50%;bottom:60px;transform:translateX(-50%);padding:8px 14px;border-radius:999px;background:rgba(5,10,20,.8);color:#fff;opacity:0;transition:.2s;pointer-events:none}.wm-toast.on{opacity:1}
@media (max-width:640px){.wm-lb{min-width:0;font-size:11px;padding:6px 8px}.wm-lb li b{max-width:80px}}
.wm-btns{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.wm-skin{display:flex;flex-direction:column;gap:10px;align-items:center;padding:14px;border-radius:16px;background:rgba(5,10,20,.85);border:1px solid rgba(255,255,255,.14);width:min(94vw,440px)}
.wm-skin[hidden]{display:none}
#wm-prev{width:100%;max-width:360px;border-radius:10px;border:1px solid rgba(255,255,255,.1)}
.wm-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:center;font-size:13px;color:#cfe3f3}.wm-row>span{min-width:52px;color:#8aa3b8}
.wm-row input[type=color]{width:44px;height:30px;border:0;padding:0;background:none;cursor:pointer;vertical-align:middle}
.wm-row .gm-seg button{padding:6px 10px;font-size:12.5px}.wm-hats button{font-size:18px;padding:4px 8px;min-width:38px}

/* ===== Word Duel ===== */
.wd{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}
.wd-boards{display:flex;gap:22px;flex-wrap:wrap;justify-content:center;align-items:flex-start}
.wd-grid{display:flex;flex-direction:column;gap:5px}.wd-row{display:flex;gap:5px}
.wd-t{width:52px;height:52px;display:grid;place-items:center;border:2px solid #2a3a4a;border-radius:6px;font:800 24px system-ui;color:#fff;text-transform:uppercase}
.wd-t.f2{background:#3a9d4a;border-color:#3a9d4a}.wd-t.f1{background:#c9a227;border-color:#c9a227}.wd-t.f0{background:#3a4654;border-color:#3a4654}.wd-t.ftyping{border-color:#8aa3b8;animation:rp-pop .12s}
.wd-grid.sm .wd-t{width:18px;height:18px;border-width:1px;border-radius:3px;font-size:0}.wd-grid.sm .wd-row,.wd-grid.sm{gap:3px}
.wd-others{display:flex;gap:12px;flex-wrap:wrap}.wd-mini{display:flex;flex-direction:column;gap:4px;align-items:center}.wd-mini small{color:#8aa3b8}
.wd-kb{display:flex;flex-direction:column;gap:6px;align-items:center;width:min(100%,520px)}.wd-kb>div{display:flex;gap:5px;width:100%;justify-content:center}
.wd-kb button{flex:1;max-width:44px;height:52px;border:0;border-radius:6px;background:#56636f;color:#fff;font:700 15px system-ui;cursor:pointer;padding:0}.wd-kb button.wide{max-width:70px;flex:1.5;font-size:12px}
.wd-kb button.k2{background:#3a9d4a}.wd-kb button.k1{background:#c9a227}.wd-kb button.k0{background:#2a323b;color:#7d8a96}
@media (max-width:420px){.wd-t{width:44px;height:44px;font-size:20px}.wd-kb button{height:46px}}

/* ===== Yacht ===== */
.yt{display:flex;gap:20px;flex-wrap:wrap;justify-content:center;align-items:flex-start;width:100%}
.yt-top{display:flex;flex-direction:column;gap:12px;align-items:center;min-width:300px}
.yt-dice{display:flex;gap:10px}
.yt-die{position:relative;border:0;background:none;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px}.yt-die:disabled{cursor:default}
.yt-die .die{width:60px;height:60px;transition:transform .2s}.yt-die.held .die{box-shadow:0 0 0 3px #00e5ff,0 0 16px rgba(0,229,255,.6);transform:translateY(-6px)}
.yt-die small{font-size:10px;font-weight:800;letter-spacing:.1em;color:#00e5ff}
.die.blank{background:#1a2634;box-shadow:inset 0 0 0 2px #2a3a4a}
.yt-sheet{overflow-x:auto;max-width:100%}
.yt-sheet table{border-collapse:collapse;font-size:14px;background:rgba(7,17,28,.85);border-radius:12px;overflow:hidden}
.yt-sheet th,.yt-sheet td{padding:5px 12px;border-bottom:1px solid rgba(255,255,255,.07);text-align:center;white-space:nowrap}.yt-sheet td:first-child{text-align:left;color:#cfe3f3}
.yt-sheet th{font-size:12px;color:#8aa3b8}.yt-sheet th.on{color:#3ddc84}.yt-sheet th.out{opacity:.4}
.yt-sub td{font-size:12px;color:#8aa3b8}.yt-tot td{font-weight:800;color:#ffd166;border-bottom:0}
.yt-pick{min-width:38px;padding:3px 8px;border-radius:7px;border:1px dashed #00e5ff;background:rgba(0,229,255,.1);color:#00e5ff;font:700 13px system-ui;cursor:pointer}.yt-pick.zero{border-color:#56636f;color:#8aa3b8;background:none}.yt-pick:hover{background:rgba(0,229,255,.25)}

/* ===== Pig ===== */
.pg{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%}
.pg-bars{display:flex;flex-direction:column;gap:6px;width:min(100%,560px);position:relative}
.pg-b{display:flex;align-items:center;gap:10px}.pg-b span{width:110px;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pg-b em{font-style:normal;width:36px;text-align:right;font-weight:800}
.pg-b i{flex:1;height:16px;border-radius:8px;background:rgba(255,255,255,.07);position:relative;overflow:hidden}.pg-b i b{position:absolute;left:0;top:0;bottom:0;background:var(--c);border-radius:8px;transition:width .4s}
.pg-b i b.pot{background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--c) 50%,transparent) 0 6px,transparent 6px 12px);border-radius:0}
.pg-b.on span{color:var(--c);font-weight:700}.pg-b.out{opacity:.4}
.pg-goal{align-self:flex-end;font-size:12px;color:#8aa3b8}
.pg-mid{display:flex;align-items:center;gap:16px}.pg-mid .die{width:72px;height:72px}.pg-pot{margin:0;font-size:18px}.pg-pot b{color:#ffd166;font-size:26px}

/* ===== Code Breaker ===== */
.cb{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%}
.cb-cols{display:flex;gap:18px;flex-wrap:wrap;justify-content:center}
.cb-col{min-width:240px;padding:12px;border-radius:14px;background:rgba(7,17,28,.85);border:1px solid rgba(0,229,255,.15)}.cb-col h4{margin:0 0 8px;font-size:13px}.cb-col h4 small{color:#8aa3b8;font-weight:400}
.cb-row{display:flex;gap:6px;align-items:center;padding:4px 0}
.cb-peg{display:inline-block;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--c) 45%,#fff),var(--c));box-shadow:0 2px 4px rgba(0,0,0,.5);border:0;padding:0;vertical-align:middle}
.cb-peg.big{width:40px;height:40px;cursor:pointer}.cb-peg.empty{background:#1a2634;box-shadow:inset 0 0 0 2px #2a3a4a;cursor:default}
.cb-keys{display:grid;grid-template-columns:repeat(2,9px);gap:3px;margin-left:8px}.cb-keys i{width:9px;height:9px;border-radius:50%;background:#2a3a4a}.cb-keys i.b{background:#111;box-shadow:0 0 0 1px #888}.cb-keys i.w{background:#fff}
.cb-pick{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px;border-radius:14px;border:1px solid #00e5ff;background:rgba(0,229,255,.05)}.cb-pick p{margin:0}
.cb-pal{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.cb-row.cur{gap:10px}
.cb-mine .cb-peg{width:18px;height:18px}
.gm-pts{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:99px;background:rgba(255,209,102,.15);color:#ffd166;font-size:12px;font-weight:700}

/* ===== Party (never floats: it sits in the page so it can't cover game buttons) ===== */
.gm-party{margin:0 0 22px}.gm-party.below{margin:26px 0 0}.gm-party[hidden]{display:none}
.pty{border:1px solid rgba(0,229,255,.22);border-radius:16px;background:rgba(7,17,28,.88);padding:14px;display:flex;flex-direction:column;gap:12px}
.pty-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pty-hd b{font-size:16px}.pty-hd small{color:#8aa3b8;margin-left:4px}
.pty-none .pty-hd>div{display:flex;flex-direction:column;gap:3px;flex:1;min-width:220px}.pty-none .pty-hd small{margin:0;font-size:13px}
.pty-invite{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:12px;background:rgba(0,229,255,.07);border:1px solid rgba(0,229,255,.25)}.pty-invite span:last-child{display:flex;gap:8px}.pty-invite small{color:#8aa3b8}
.pty-game{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;background:linear-gradient(90deg,rgba(61,220,132,.16),rgba(61,220,132,.04));border:1px solid rgba(61,220,132,.45);color:#d8ffe7;text-decoration:none}.pty-game span{color:#8fd9ae;font-size:13px}
/* tiles: --tw shrinks as the party grows (set by party.js) */
.pty-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(var(--tw,170px),42vw),1fr));gap:8px}
.pty-t{position:relative;border-radius:12px;background:#0b1622;border:1px solid rgba(255,255,255,.07);overflow:hidden;transition:box-shadow .15s}
.pty-t.talking{box-shadow:0 0 0 2px #3ddc84,0 0 14px rgba(61,220,132,.5)}
.pty-v{position:relative;aspect-ratio:4/3;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#13263a,#08111b)}
.pty-v img,.pty-v .pty-l{width:44%;max-width:72px;aspect-ratio:1;border-radius:50%;object-fit:cover}
.pty-l{display:grid;place-items:center;font:700 clamp(14px,3vw,24px) system-ui;color:var(--ac);background:#0b1a29;border:1px solid var(--ac)}
.pty-v video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}.pty-v video.self{transform:scaleX(-1)}.pty-v video[hidden]{display:none}
.pty-n{position:absolute;left:6px;bottom:5px;max-width:calc(100% - 40px);padding:1px 7px;border-radius:99px;background:rgba(0,0,0,.6);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pty-n i{font-style:normal;margin-right:3px}
.pty-ic{position:absolute;right:6px;bottom:5px;font-size:12px}.pty-ic i{font-style:normal;display:inline-block;padding:1px 4px;border-radius:99px;background:rgba(0,0,0,.6)}
.pty-here{width:9px;height:9px;padding:0!important;background:#3ddc84!important;border-radius:50%;box-shadow:0 0 6px #3ddc84}
.pty-adm{position:absolute;top:5px;right:5px;display:flex;gap:4px;opacity:0;transition:opacity .15s}.pty-t:hover .pty-adm,.pty-t:focus-within .pty-adm{opacity:1}
.pty-adm button{width:26px;height:26px;border-radius:50%;border:0;background:rgba(0,0,0,.65);color:#fff;cursor:pointer;font-size:12px;padding:0}.pty-adm button:hover{background:#ff3b4e}
@media (hover:none){.pty-adm{opacity:1}}
.pty-ctl{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.pty-ctl small{color:#8aa3b8;font-size:12px}.pty-ctl .nbtn.warn{background:#ff3b4e;color:#fff}.pty-ctl .nbtn.danger{background:transparent;color:#ff8a96;border-color:#ff3b4e;box-shadow:none}.pty-ctl .nbtn.danger:hover{background:rgba(255,59,78,.15)}
.pty-cols{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px}
@media (max-width:720px){.pty-cols{grid-template-columns:1fr}}
.pty-chat{display:flex;flex-direction:column;gap:8px;min-width:0}
.pty-log{height:170px;overflow-y:auto;padding:8px 10px;border-radius:10px;background:rgba(0,0,0,.25);font-size:14px;display:flex;flex-direction:column;gap:4px;overscroll-behavior:contain}
.pty-log p{margin:0;overflow-wrap:anywhere}.pty-log p b{color:#00e5ff;margin-right:4px}.pty-log p.mine b{color:#ffd166}.pty-log .pty-sys{color:#7d93a8;font-size:12px;font-style:italic}
.pty-say,.pty-inv{display:flex;gap:6px}.pty-say input,.pty-inv input{flex:1;min-width:0;padding:9px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.3);color:inherit;font:inherit}
.pty-side{display:flex;flex-direction:column;gap:8px}.pty-side .help{margin:0}
.pty-seats .gm-seat.t1{border-left:3px solid #00e5ff}.pty-seats .gm-seat.t2{border-left:3px solid #ff5fa2}
.pty-link{display:flex;flex-direction:column;gap:5px}.pty-link label{font-size:13px;color:#cfe3f3}.pty-link label small{color:#8aa3b8}
.pty-link>div{display:flex;gap:6px}.pty-link input{flex:1;min-width:0;padding:8px 10px;border-radius:10px;border:1px solid rgba(0,229,255,.25);background:rgba(0,0,0,.3);color:#8fe9ff;font:12px "Share Tech Mono",monospace}
.pty-link-in{border-color:#ffd166;background:rgba(255,209,102,.08)}
.gm-card.gm-off{filter:grayscale(1);opacity:.55;cursor:not-allowed;pointer-events:none}.gm-off .gm-mt{background:#56636f!important;color:#fff!important;animation:none!important}.gm-off>em:last-child{color:#cfd8e0}
.wm-maint{max-width:520px;margin:40px auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.wm-maint h1{margin:0;font-size:24px}.wm-maint p{margin:0 0 6px;color:#9fb4c6}
.wm-share{display:flex;flex-direction:column;gap:8px;width:min(100%,420px);margin:6px auto 0}.wm-share textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:rgba(0,0,0,.4);color:inherit;font:inherit;resize:none}
.wm-share div{display:flex;gap:8px;justify-content:center}.wm-shared{margin:6px 0 0;font-size:14px}.wm-shared a{color:#3ddc84}
.pty-hdr{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pty-priv{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:99px;font-size:11px;font-weight:700;vertical-align:middle;background:rgba(255,255,255,.08);color:#cfe3f3}
.pty-priv.p-open{background:rgba(61,220,132,.15);color:#8fe9b4}.pty-priv.p-closed{background:rgba(255,59,78,.15);color:#ff9aa5}
.pty-pseg button{font-size:12px;padding:6px 10px}
.pty-closed{margin:0;padding:8px 10px;border-radius:10px;background:rgba(255,59,78,.08);border:1px solid rgba(255,59,78,.25)}
.pty-open{display:flex;flex-direction:column;gap:6px;margin-top:4px}.pty-oh{margin:0;font-size:13px;color:#8fe9b4;font-weight:700}
.pty-orow{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:rgba(61,220,132,.06);border:1px solid rgba(61,220,132,.2)}
.pty-oav img,.pty-oav .pty-l{width:34px;height:34px;border-radius:50%;object-fit:cover}.pty-on{flex:1;min-width:0;display:flex;flex-direction:column}.pty-on small{color:#8aa3b8}
.pty-t{transition:box-shadow .3s ease-out}.pty-t.talking{transition-duration:.08s}
/* party volume: per person (on their tile) and for everyone */
.pty-vol{position:absolute;top:6px;left:6px;right:40px;display:flex;align-items:center;gap:4px;padding:3px 6px;border-radius:99px;background:rgba(0,0,0,.6);opacity:0;transition:opacity .15s}
.pty-t:hover .pty-vol,.pty-vol:focus-within{opacity:1}
@media (hover:none){.pty-vol{opacity:.9}}
.pty-vol span{font-size:11px}.pty-vol input,.pty-mvol input{flex:1;min-width:0;accent-color:#3ddc84;height:14px}
.pty-mvol{display:inline-flex;align-items:center;gap:6px;padding:0 10px;height:36px;border-radius:10px;border:1px solid rgba(255,255,255,.12);min-width:150px}
/* age check */
.pty-age{position:fixed;inset:0;z-index:800;display:grid;place-items:center;background:rgba(0,0,0,.65);padding:16px}
.pty-agebox{width:min(400px,100%);padding:20px;border-radius:16px;background:#07111c;border:1px solid rgba(0,229,255,.3);box-shadow:0 20px 60px rgba(0,0,0,.6)}
.pty-agebox h3{margin:0 0 6px}.pty-agebox p{margin:0 0 12px;color:#a9bccd;font-size:14px}
.pty-agerow{display:flex;gap:8px;margin-bottom:12px}.pty-agerow select{flex:1;padding:10px;border-radius:10px;background:#03070c;color:inherit;border:1px solid rgba(255,255,255,.15);font:inherit}
.pty-ageerr{color:#ff9aa5!important}.pty-ageact{display:flex;gap:8px;justify-content:flex-end}
.pty-adm button[data-pa=report]:hover{background:#ffb020;color:#111}
/* Top games: three across */
.gm-top{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.gm-top .gm-live{max-width:none;height:100%}
.gm-t-tycoon{background:linear-gradient(160deg,rgba(255,79,184,.16),rgba(7,17,28,.85))!important;border-color:rgba(255,79,184,.45)!important}
.gm-t-blaster{background:linear-gradient(160deg,rgba(239,68,68,.16),rgba(7,17,28,.85))!important;border-color:rgba(239,68,68,.45)!important}
.gm-t-drift{background:linear-gradient(160deg,rgba(61,220,132,.16),rgba(7,17,28,.85))!important;border-color:rgba(61,220,132,.45)!important}
.gm-t-pool{background:linear-gradient(160deg,rgba(124,92,255,.18),rgba(7,17,28,.85))!important;border-color:rgba(124,92,255,.5)!important}
.gm-t-lifetime{background:linear-gradient(160deg,rgba(255,210,63,.16),rgba(7,17,28,.85))!important;border-color:rgba(255,210,63,.45)!important}
@media (max-width:760px){.gm-top{grid-template-columns:minmax(0,1fr)}}
.gm-card em.gm-beta{color:#06210f;font-weight:800}.gm-card em.gm-beta.gm-mt{color:#2a1a00}
.pty-paste{display:flex;gap:6px;margin:10px 0 0}.pty-paste input{flex:1;min-width:0;padding:9px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:#06101a;color:#e6f4ff;font:inherit;font-size:14px}
.pty-side .pty-paste{margin:0 0 8px}

/* Worms full screen: the shared game top bar sits above the arena; the start screen stays under it */
.wm .wm-top{z-index:6}.wm .wm-over{z-index:4;padding-top:70px}.wm-score{bottom:calc(14px + env(safe-area-inset-bottom,0px))}
/* battleship: drag-to-place */
.bs-place .bs-cell{touch-action:none}
.bs-place .bs-cell.ship{cursor:grab}
.bs-cell.ghost{background:rgba(61,220,132,.45)!important;box-shadow:inset 0 0 0 2px #3ddc84!important}
.bs-cell.ghost-bad{background:rgba(255,90,110,.4)!important;box-shadow:inset 0 0 0 2px #ff5a6e!important}
