:root{--felt-1:#13533f;--felt-2:#0c3a2c;--cream:#fbf7ee;--ink:#1b1714;--ink-soft:#5a5048;
  --marigold:#f4a229;--marigold-deep:#d9851a;--talavera:#c1432e;--talavera-deep:#9c3322;--sky:#2f7fb0;
  --line:rgba(251,247,238,.16);--shadow:0 14px 34px rgba(0,0,0,.34);--card-red:#c1432e;--card-black:#1b1714;
  --cardW:96px;--cardH:138px;--rk:20px;--pip:44px;--fs:16px;--sliver:42px;}
body.xl{--cardW:140px;--cardH:200px;--rk:30px;--pip:66px;--fs:20px;--sliver:60px;}
*{box-sizing:border-box}html,body{margin:0;height:100%}
body{font-family:'Outfit',system-ui,sans-serif;color:var(--cream);font-size:var(--fs);
  background:radial-gradient(120% 90% at 50% -10%,#19654c 0%,var(--felt-1) 38%,var(--felt-2) 100%);min-height:100%;-webkit-font-smoothing:antialiased}
.picado{height:14px;width:100%;background:linear-gradient(var(--talavera),var(--talavera-deep));-webkit-mask:radial-gradient(circle at 12px 14px,transparent 8px,#000 8px) 0 0/24px 14px repeat-x;mask:radial-gradient(circle at 12px 14px,transparent 8px,#000 8px) 0 0/24px 14px repeat-x;opacity:.9}
.hidden{display:none !important}
.screen{max-width:1180px;margin:0 auto;padding:18px 16px 30px}
.brand-big{text-align:center;margin:18px 0 22px}
.brand-big b{font-family:'Fraunces',serif;font-weight:900;font-size:40px;display:block}
.brand-big small{color:var(--marigold);letter-spacing:.16em;text-transform:uppercase;font-size:13px}
.card-panel{max-width:460px;margin:0 auto;background:rgba(0,0,0,.22);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow)}
.card-panel label{display:block;font-size:13px;color:#bfe0d2;margin:8px 0 5px;font-weight:600}
input{width:100%;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.08);color:var(--cream);padding:14px 14px;font-family:inherit;font-size:18px;margin-bottom:6px}
input::placeholder{color:#8fb6a6}
.row2{display:flex;gap:10px;margin-top:8px}.row2>*{flex:1}
.or{text-align:center;color:#8fb6a6;margin:16px 0 4px;font-size:13px}
.err{color:#ffcaba;min-height:20px;margin:8px 2px 0;font-size:14px}
.hint{text-align:center;color:#bfe0d2;font-size:14px;margin-top:16px}
.share{font-size:15px;margin-bottom:12px}.share b{color:var(--marigold);font-size:22px;letter-spacing:.1em}
.seats{list-style:none;padding:0;margin:6px 0 16px;display:flex;flex-direction:column;gap:8px}
.seats li{background:rgba(255,255,255,.06);border-radius:12px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;font-weight:600}
.seats li .you{color:var(--marigold);font-size:12px}
.seats li .off{color:#e88;font-size:12px}
button{font-family:inherit;font-weight:600;font-size:15px;border:none;border-radius:12px;padding:13px 18px;cursor:pointer;transition:.15s;color:var(--ink)}
button.big{font-size:17px;padding:15px 20px;width:100%}
button.sm{padding:9px 13px;font-size:14px}
button.primary{background:linear-gradient(180deg,#ffc24d,var(--marigold-deep));color:#3a2400;box-shadow:0 6px 0 #a9650f}
button.primary:active{transform:translateY(3px);box-shadow:0 3px 0 #a9650f}
button.ghost{background:rgba(251,247,238,.12);color:var(--cream);border:1px solid var(--line)}
button.ghost:hover{background:rgba(251,247,238,.2)}
button.go{background:linear-gradient(180deg,#7be3a6,#2f9d62);color:#06311c;box-shadow:0 6px 0 #1d6e43}
button.go:active{transform:translateY(3px);box-shadow:0 3px 0 #1d6e43}
button.rob{background:linear-gradient(180deg,#ef6a52,var(--talavera-deep));color:#fff;box-shadow:0 6px 0 #6e2316}
button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}
/* game header */
.ghead{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 4px 6px;max-width:1180px;margin:0 auto}
.brand b{font-family:'Fraunces',serif;font-weight:900;font-size:26px}
.contract{background:linear-gradient(180deg,#fffdf7,var(--cream));color:var(--ink);border-radius:14px;padding:8px 16px;border:2px solid var(--marigold);box-shadow:var(--shadow)}
.contract .lbl{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--talavera);font-weight:700}
.contract .val{font-family:'Fraunces',serif;font-weight:600;font-size:20px}
.contract .sub{font-size:12px;color:var(--ink-soft)}
.pill{background:rgba(0,0,0,.25);border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-weight:600;font-size:14px}
.pill b{color:var(--marigold)}
.ghead-actions{margin-left:auto;display:flex;gap:8px}
.voicebar{max-width:1180px;margin:6px auto;display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:rgba(0,0,0,.2);border:1px solid var(--line);border-radius:14px;padding:8px 12px}
.vpeers{display:flex;gap:8px;flex-wrap:wrap}
.vpeer{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.07);border-radius:999px;padding:5px 11px;font-size:13px}
.vpeer .vd{width:9px;height:9px;border-radius:50%;background:#5fd08a}
.vpeer.muted .vd{background:#888}
.glayout{display:grid;grid-template-columns:1fr 330px;gap:16px;max-width:1180px;margin:0 auto;align-items:start}
@media(max-width:900px){.glayout{grid-template-columns:1fr}}
.opps{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0 12px}
.opp{background:rgba(0,0,0,.22);border:1px solid var(--line);border-radius:16px;padding:12px 16px;min-width:160px;position:relative}
.opp.turn{border-color:var(--marigold);box-shadow:0 0 0 2px rgba(244,162,41,.35),var(--shadow)}
.opp .nm{font-weight:700;font-size:17px;display:flex;align-items:center;gap:8px}
.opp .nm .dot{width:10px;height:10px;border-radius:50%;background:#6b6b6b}
.opp.turn .nm .dot{background:var(--marigold);box-shadow:0 0 8px var(--marigold)}
.opp .off{color:#e88;font-size:12px;margin-left:4px}
.opp .count{font-family:'Fraunces',serif;font-size:30px;font-weight:700;margin-top:4px;line-height:1}
.opp .count small{font-family:'Outfit';font-size:13px;font-weight:500;color:#bfe0d2}
.opp .meta{display:flex;gap:12px;margin-top:6px;font-size:14px;color:#d8e8df}
.opp .pts{color:var(--marigold);font-weight:700}
.opp .badge{font-size:11px;font-weight:700;background:var(--marigold);color:#3a2a00;padding:2px 8px;border-radius:999px;text-transform:uppercase}
.board{background:rgba(0,0,0,.18);border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin:4px 0 14px;min-height:60px}
.board-h{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#bfe0d2;font-weight:700;margin-bottom:8px;display:flex;justify-content:space-between;gap:8px}
.board .empty{color:#8fb6a6;font-style:italic}
.meld-wrap{display:flex;flex-wrap:wrap;gap:12px}
.meld{background:rgba(255,255,255,.05);border:1.5px solid var(--line);border-radius:12px;padding:8px 10px 10px}
.meld.target{border-color:#7be3a6;box-shadow:0 0 0 2px rgba(123,227,166,.5);cursor:pointer}
.meld .ml{font-size:12px;color:#bfe0d2;margin-bottom:6px}
.meld .row{display:flex}
.mcard{width:calc(var(--cardW)*.5);height:calc(var(--cardH)*.5);border-radius:7px;background:linear-gradient(180deg,#fff,var(--cream));color:var(--ink);border:1px solid #e7ddca;margin-right:-10px;box-shadow:0 2px 6px rgba(0,0,0,.25);position:relative;font-family:'Fraunces',serif;font-weight:600}
.mcard.red{color:var(--card-red)}.mcard.black{color:var(--card-black)}
.mcard.wild{background:radial-gradient(circle at 50% 35%,#fff 0 40%,#fdeccb 40% 62%,#fff 62%);border-color:var(--marigold)}
.mcard span{position:absolute;top:4px;left:5px;font-size:calc(var(--rk)*.7)}
.mcard small{position:absolute;bottom:4px;right:5px;font-size:calc(var(--rk)*.6)}
.table-mid{display:flex;gap:36px;justify-content:center;align-items:flex-start;margin:4px 0 14px;flex-wrap:wrap}
.pile{display:flex;flex-direction:column;align-items:center;gap:8px}
.pile .cap{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#bfe0d2;font-weight:700}
.slot{width:var(--cardW);height:var(--cardH);border-radius:13px}
.stock-back{background:repeating-linear-gradient(45deg,#1f6e54,#1f6e54 6px,#176046 6px,#176046 12px);border:2px solid rgba(0,0,0,.34);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;color:#bfe0d2;font-weight:700;cursor:pointer}
.empty-slot{border:2px dashed var(--line);display:flex;align-items:center;justify-content:center;color:var(--line)}
.card{width:var(--cardW);height:var(--cardH);border-radius:13px;background:linear-gradient(180deg,#fff,var(--cream));color:var(--ink);box-shadow:0 7px 16px rgba(0,0,0,.3);position:relative;border:1px solid #e7ddca;user-select:none;flex:0 0 auto}
.card .corner{position:absolute;font-family:'Fraunces',serif;font-weight:600;line-height:1}
.card .tl{top:8px;left:9px;text-align:center}.card .br{bottom:8px;right:9px;transform:rotate(180deg);text-align:center}
.card .rk{font-size:var(--rk);display:block}.card .st{font-size:calc(var(--rk)*.8);display:block}
.card .pip{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:var(--pip);opacity:.92}
.card.red{color:var(--card-red)}.card.black{color:var(--card-black)}
.card.wild{background:radial-gradient(circle at 50% 35%,#fff 0 38%,#fdeccb 38% 60%,#fff 60%);border-color:var(--marigold)}
.card .wtag{position:absolute;top:8px;right:9px;font-size:10px;font-weight:700;color:var(--marigold-deep)}
.turn-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:6px 2px 8px;font-size:15px}
.turn-head .who{font-family:'Fraunces',serif;font-weight:600;font-size:20px}
.turn-head b{color:var(--marigold)}
.hand{position:relative;display:flex;align-items:center;justify-content:center;overflow-x:auto;overflow-y:hidden;padding:0 12px;min-height:calc(var(--cardH) + 24px);background:rgba(0,0,0,.16);border-radius:16px;border:1px solid var(--line)}
.hand.cards{display:block}
.hand .card{cursor:pointer;will-change:transform}
.hand .card.sel{box-shadow:0 0 0 3px var(--marigold),0 16px 26px rgba(0,0,0,.5)}
.hand .card.dragging{opacity:.5}
.hand .wait{width:100%;text-align:center;color:#cfe3da;font-family:'Fraunces',serif;font-size:22px}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 2px;align-items:center}
.actions .grp{display:flex;gap:8px;align-items:center;background:rgba(0,0,0,.18);border:1px solid var(--line);border-radius:12px;padding:6px 8px}
.actions .grp .gl{font-size:12px;color:#bfe0d2}
.side{display:flex;flex-direction:column;background:rgba(0,0,0,.2);border:1px solid var(--line);border-radius:16px;overflow:hidden;height:560px}
@media(max-width:900px){.side{height:320px;margin-top:8px}}
.side h4{margin:0;padding:12px 14px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#bfe0d2;border-bottom:1px solid var(--line)}
.feed{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:6px;font-size:14px}
.feed .ev{color:#cfe3da}.feed .ev b{color:var(--marigold)}
.feed .ev.rob{color:#ffd2c6}.feed .ev.out{color:#9ff0bf;font-weight:600}
.feed .ch{background:rgba(255,255,255,.06);border-radius:9px;padding:7px 10px;align-self:flex-start;max-width:92%}
.feed .ch b{color:#ffd98a}
.chatbar{display:flex;gap:6px;padding:10px;border-top:1px solid var(--line)}
.chatbar input{margin:0;font-size:15px;padding:11px}
.scrim{position:fixed;inset:0;background:rgba(6,16,12,.66);display:none;align-items:center;justify-content:center;z-index:40;padding:18px}
.scrim.on{display:flex}
.modal{background:linear-gradient(180deg,#fffdf7,var(--cream));color:var(--ink);border-radius:18px;max-width:620px;width:100%;box-shadow:var(--shadow);border:2px solid var(--marigold);overflow:hidden;max-height:90vh;display:flex;flex-direction:column}
.modal .top{background:linear-gradient(180deg,var(--talavera),var(--talavera-deep));color:#fff;padding:16px 22px}
.modal .top h2{font-family:'Fraunces',serif;margin:0;font-size:24px;font-weight:900}
.modal .body{padding:18px 22px;font-size:15px;line-height:1.5;overflow:auto}
.modal .body h3{font-family:'Fraunces',serif;margin:14px 0 6px;color:var(--talavera);font-size:16px}
.modal .foot{padding:14px 22px;display:flex;gap:10px;justify-content:flex-end;background:#f3ecdd;flex-wrap:wrap}
.standings{width:100%;border-collapse:collapse;margin-top:6px}
.standings td,.standings th{padding:8px 10px;text-align:left;border-bottom:1px solid #e7ddca}
.standings th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.standings .win{background:#fff4dd}.standings .neg{color:var(--talavera)}

/* opponent hand fan (countable) + card-motion animation */
.fan{display:flex;flex-wrap:wrap;margin-top:8px;max-width:250px;gap:3px 0}
.fan .bk{width:18px;height:26px;border-radius:3px;display:inline-block;margin-right:-7px;background:repeating-linear-gradient(45deg,#1f6e54,#1f6e54 3px,#176046 3px,#176046 6px);border:1px solid rgba(0,0,0,.4);box-shadow:0 1px 2px rgba(0,0,0,.3)}
.flycard{position:fixed;width:30px;height:42px;border-radius:5px;z-index:60;pointer-events:none;background:repeating-linear-gradient(45deg,#1f6e54,#1f6e54 4px,#176046 4px,#176046 8px);border:1px solid rgba(0,0,0,.45);box-shadow:0 5px 12px rgba(0,0,0,.45);transition:transform .65s cubic-bezier(.4,.05,.2,1),opacity .65s;opacity:1}
.flycard.face{background:linear-gradient(180deg,#fff,#fbf7ee)}

/* shared radio */
.radio-now{font-size:13px;color:#ffd9a8;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.radio-vol{width:90px;accent-color:var(--marigold);vertical-align:middle}
.radio-search{display:flex;gap:8px;margin:6px 0}
.radio-search input{flex:1;border-radius:10px;border:1px solid #e1d8c6;background:#fff;color:var(--ink,#2a2118);padding:9px 11px;font-family:inherit;font-size:15px}
.radio-genres{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px}
.radio-results{max-height:46vh;overflow-y:auto;display:flex;flex-direction:column;gap:6px}
.radio-results .muted{opacity:.7;padding:14px 4px;font-size:14px}
.radio-row{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.04)}
.radio-row .rf{font-size:18px}
.radio-row .rn{font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.radio-row .rmeta{font-size:12px;opacity:.65;max-width:38%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.radio-row .rplay{flex:0 0 auto}

/* table grouped by the player who laid each card */
.laidp{flex:1 1 240px;min-width:220px;border:1px solid var(--line);border-left:4px solid var(--pc,#f4a73b);border-radius:10px;padding:8px 10px;background:rgba(255,255,255,.03)}
.laidp-h{font-size:12px;font-weight:700;color:#e9f3ee;margin-bottom:6px;display:flex;align-items:center;gap:7px}
.laidp-h .pcdot{width:10px;height:10px;border-radius:50%;background:var(--pc,#f4a73b);display:inline-block;flex:0 0 auto}
.laidp-h .laidpts{margin-left:auto;font-weight:600;color:#bfe0d2;font-size:11px}
.laidgs{display:flex;flex-wrap:wrap;gap:10px}
.laidg{background:rgba(255,255,255,.05);border:1.5px solid var(--line);border-radius:10px;padding:6px 8px 8px}
.laidg.lay{border-style:dashed;border-color:#9fd6bf;background:rgba(123,227,166,.07)}
.laidg-l{font-size:10px;color:#bfe0d2;margin-bottom:5px}
.laidg .row{display:flex}
.pegarbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 10px;padding:8px 10px;background:rgba(123,227,166,.08);border:1px solid rgba(123,227,166,.4);border-radius:10px}
.pegarbar .pl{font-size:12px;color:#cdeede;font-weight:600}
.pchip{background:#1f6e54;color:#eafff5;border:1px solid #7be3a6;border-radius:999px;padding:6px 12px;font-size:12px;cursor:pointer;font-family:inherit}
.pchip:hover{background:#268063}

/* tappable groups (no hint about validity) + almost-out effect */
.laidg.tappable{cursor:pointer}
.opp{position:relative}
.opp .lasttag{position:absolute;top:-9px;left:8px;background:#e0483a;color:#fff;font-size:10px;font-weight:800;padding:2px 8px;border-radius:999px;box-shadow:0 4px 12px rgba(0,0,0,.4)}
.opp.lastone{border-color:#ffd24b;animation:lastpulse 1s ease-in-out infinite}
.lastbanner{background:linear-gradient(90deg,#e0483a,#f4a73b);color:#fff;font-weight:800;font-size:12px;padding:4px 11px;border-radius:999px;display:inline-block;animation:lastpulse 1s ease-in-out infinite}
@keyframes lastpulse{0%,100%{box-shadow:0 0 0 2px rgba(255,210,75,.55),0 0 14px rgba(255,210,75,.45)}50%{box-shadow:0 0 0 3px rgba(255,210,75,.95),0 0 26px rgba(255,210,75,.85)}}

/* round-end card breakdown */
.rewrap{max-height:54vh;overflow-y:auto;display:flex;flex-direction:column;gap:8px;margin-top:6px}
.reblk{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:rgba(255,255,255,.03)}
.reblk.win{border-color:var(--marigold);background:rgba(244,162,41,.12)}
.reh{display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:6px}
.reh .renet{margin-left:auto;font-size:12px;color:#bfe0d2;font-weight:700}
.reline{display:flex;align-items:flex-start;gap:8px;margin:3px 0}
.reline .rel{font-size:11px;font-weight:700;min-width:80px;padding-top:4px}
.rel.pos{color:#7be3a6}.rel.neg{color:#ff9d8a}
.recards{display:flex;flex-wrap:wrap;gap:3px 0}
.recards .mcard{margin-right:3px}
.renone{font-size:12px;color:#bfe0d2;opacity:.8;padding-top:4px}
.resum{font-size:14px;color:#e9f3ee;margin-top:6px;border-top:1px dashed var(--line);padding-top:6px}

/* ===== Las Chonas AKYMC — brand tag + camera tiles ===== */
.akymc{font-family:'Outfit',sans-serif;font-weight:700;font-size:.5em;letter-spacing:.22em;color:var(--marigold);vertical-align:middle;background:rgba(244,162,41,.14);border:1px solid rgba(244,162,41,.5);padding:.18em .5em;border-radius:.5em;margin-left:.15em}
.akymc-sm{font-family:'Outfit',sans-serif;font-weight:700;font-size:12px;letter-spacing:.2em;color:var(--marigold);background:rgba(244,162,41,.14);border:1px solid rgba(244,162,41,.45);padding:2px 7px;border-radius:7px;vertical-align:middle}

.cams{max-width:1180px;margin:0 auto 12px;display:flex;gap:12px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x proximity}
.cams::-webkit-scrollbar{height:7px}.cams::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:99px}
.cam{position:relative;flex:0 0 auto;width:172px;height:150px;border-radius:16px;overflow:hidden;
  background-size:cover;background-position:center;box-shadow:var(--shadow);border:2px solid rgba(255,255,255,.12);scroll-snap-align:start}
.cam.turn{border-color:var(--marigold);box-shadow:0 0 0 2px rgba(244,162,41,.5),var(--shadow)}
.cam video{position:absolute;left:8px;top:8px;width:calc(100% - 16px);height:calc(100% - 44px);object-fit:cover;
  border-radius:11px;background:#0a0a0a;box-shadow:0 6px 16px rgba(0,0,0,.45);transition:opacity .2s}
.cam.self video{transform:scaleX(-1)} /* mirror own preview */
.cam .who{position:absolute;left:10px;top:12px;z-index:2;font-size:12px;font-weight:700;color:#fff;
  background:rgba(0,0,0,.5);padding:2px 9px;border-radius:999px;max-width:80%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cam .city{position:absolute;left:0;right:0;bottom:0;z-index:2;font-size:11.5px;color:#f4ead2;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.72));padding:14px 10px 6px;letter-spacing:.02em}
.cam .city b{color:#fff;font-weight:800}
.cam .camoff{position:absolute;inset:8px 8px 44px 8px;z-index:1;display:none;align-items:center;justify-content:center;
  font-size:34px;border-radius:11px;background:rgba(0,0,0,.55);color:#cbb990}
.cam.nocam video{opacity:0}
.cam.nocam .camoff{display:flex}

/* draw-first prompt in the turn banner */
.drawprompt{display:inline-block;margin-left:8px;background:var(--marigold);color:#3a2a00;font-weight:700;font-size:13px;padding:4px 12px;border-radius:999px;animation:dpPulse 1.6s ease-in-out infinite}
@keyframes dpPulse{0%,100%{box-shadow:0 0 0 0 rgba(244,162,41,.5)}50%{box-shadow:0 0 0 6px rgba(244,162,41,0)}}

/* video-only tiles (casino/city backgrounds removed by request) */
.cam{background:#0c1a14}
.cam video{left:0;top:0;inset:0;width:100%;height:100%;border-radius:14px}
.cam .city{display:none}
.cam .camoff{inset:0}
.cam .who{bottom:8px;top:auto}
.micbadge{position:absolute;top:8px;right:8px;z-index:3;font-size:12px;line-height:1;background:rgba(0,0,0,.55);border-radius:999px;padding:4px 7px}
.micbadge.off{background:rgba(224,72,58,.9)}

/* fix: ghost buttons inside the light modal footer were cream-on-cream (invisible) */
.modal .foot button.ghost{background:#fff;color:var(--ink);border:1.5px solid var(--talavera)}
.modal .foot button.ghost:hover{background:#faf0e2}

/* Las Chonas AKYMC logo placement */
.logo-lobby{display:block;width:min(300px,72vw);height:auto;margin:0 auto 6px;filter:drop-shadow(0 8px 20px rgba(0,0,0,.35))}
.logo-head{height:58px;width:auto;display:block}

/* large brand watermark on the felt during play (behind cards, never blocks taps) */
#game{position:relative}
.gwatermark{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:0}
.gwatermark img{width:min(66vw,560px);height:auto;opacity:.15;filter:drop-shadow(0 10px 30px rgba(0,0,0,.4))}
#game .ghead,#game .voicebar,#game .cams,#game .glayout{position:relative;z-index:1}
@media(max-width:900px){ .logo-head{height:50px} .gwatermark img{width:82vw;opacity:.13} }

/* shareable invite link in the waiting room */
.joinlink{display:inline-block;font-size:12px;color:#bfe0d2;word-break:break-all;margin-top:4px;max-width:100%}
