/* EstrelaGames · tela de jogo: match-top · tabuleiro 375×649 · match-nav · chamada de truco · resultado (DS EstrelaGames) */
.game-scr{background:var(--bg-default)}
/* ---------- match-top (HUD) ---------- */
.hud{position:relative;flex:none;display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:var(--bg-subtle);box-shadow:inset 0 -1px 0 var(--border-muted);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);z-index:5}
.sala .hud{background:var(--bga-strong-75)}
.hud .row{display:flex;align-items:center;justify-content:space-between;min-height:37px}
.hud .side{display:flex;align-items:center;gap:8px;min-width:92px}
.hud .side.r{justify-content:flex-end}
.hud .side .stack{display:flex;align-items:center}
.hud .side .stack>*+*{margin-left:-12px}
.hud .side .pts{display:flex;flex-direction:column}
.hud .side .pts .label{font:500 10px/1 var(--f-ui);color:var(--text-muted);white-space:nowrap}
.hud .side .pts b{display:block;font:700 20px/24px var(--f-display);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.hud .side.r .pts{align-items:flex-end;text-align:right}
.hud .timer{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 12px;border-radius:12px;background:var(--bga-strong-50);min-width:92px}
.hud .timer .tt{display:flex;align-items:center;gap:4px;font:600 16px/19px var(--f-display);font-variant-numeric:tabular-nums}
.hud .timer .tt img{width:16px;height:16px}
.hud .timer .label{font:500 10px/1 var(--f-ui);color:var(--text-muted)}
.rounds{display:flex;gap:4px;margin-top:2px;height:10px;align-items:center}
.rounds i{width:7px;height:7px;border-radius:50%;background:#ffffff2e}
.rounds i.a{background:var(--sys-success);box-shadow:0 0 6px var(--sys-success)} .rounds i.b{background:var(--game-truco);box-shadow:0 0 6px var(--game-truco)} .rounds i.e{background:#9aa6b6}
.hud .info{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px;box-shadow:inset 0 1px 0 var(--border-muted);min-height:33px}
.hud .info .g{display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap;overflow:hidden}
.hud .info .g img{width:20px;height:20px;flex:none}
.hud .info .g b{font:700 12px/18px var(--f-ui)}
.hud .info .g .label{font:500 10px/1 var(--f-ui);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis}
.hud .prize{display:flex;align-items:center;gap:4px;padding:2px 8px 2px 6px;border-radius:999px;background:var(--bga-strong-50);box-shadow:inset 0 0 0 1px var(--border-muted);font:700 12px/18px var(--f-ui);color:var(--text-success);flex:none;white-space:nowrap}
.hud .prize img{width:16px;height:16px}
.vale-tag{color:var(--text-prize);font-weight:700}
/* ---------- match-nav ---------- */
.mnav{position:relative;flex:none;display:flex;height:calc(64px + env(safe-area-inset-bottom,0px));padding:4px 4px calc(4px + env(safe-area-inset-bottom,0px));background:var(--bg-subtle);box-shadow:inset 0 1px 0 var(--border-muted);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);z-index:5}
.sala .mnav{background:var(--bga-strong-75)}
.mnav button{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 0;border-radius:20px;font:500 10px/1 var(--f-ui);color:var(--text-subtle)}
.mnav button .ic{width:32px;height:32px}
.mnav button .back{width:32px;height:32px;display:grid;place-items:center}
.mnav button .back svg{width:13px;height:20px;fill:var(--text-default)}
.mnav button:active{background:var(--bga-strong-50)}
/* ---------- área do jogo ---------- */
.jogo{flex:1;position:relative;overflow:hidden;background:var(--bg-default);min-height:0}
.board{position:absolute;left:50%;top:0;width:375px;height:649px;transform-origin:top center}
.board .mesa{position:absolute;inset:0;background-size:cover;background-position:center}
.mesa-bg{position:absolute;inset:0;background-size:cover;background-position:center}
/* pílulas do jogo (hint-estrela-games) e rótulos */
#scr-game .pill,.call .pill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:var(--bga-strong-75);box-shadow:inset 0 0 0 1px var(--hl-subtle);font:500 10px/1.2 var(--f-ui);color:var(--text-default);white-space:nowrap;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
#scr-game .label{font:500 10px/1.2 var(--f-ui);color:var(--text-muted)}
/* botões do jogo (button-glass) */
#scr-game .btn,.call .btn{height:40px;padding:0 20px;border-radius:20px;font:600 14px/1.2 var(--f-display)}
.btn.primary{background:linear-gradient(180deg,var(--btn-primary-top),var(--btn-primary-bg));box-shadow:inset 0 0 0 1px var(--hl),0 0 20px var(--glow-info);color:#fff}
.btn.secondary{background:var(--bga-strong-75);box-shadow:inset 0 0 0 1px var(--border-muted);color:var(--text-default);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.call .btn.danger,.btn.danger{height:48px;border-radius:24px;font:600 16px/1.2 var(--f-display);background:linear-gradient(180deg,#ef4452,#c72c3d);box-shadow:inset 0 0 0 1px var(--hl),0 0 20px #ef445266;color:#fff}
#scr-game .btn:disabled,#scr-game .btn[disabled]{background:var(--btn-disabled-bg);box-shadow:none;color:var(--btn-disabled-text);opacity:1;filter:none}
/* seat (assento) */
.seat .nick{font:500 12px/1 var(--f-ui);color:var(--text-default);text-shadow:0 1px 2px rgba(0,0,0,.6);white-space:nowrap}
.seat .ring{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;transform:rotate(-90deg);pointer-events:none;opacity:0;transition:opacity .2s}
.seat.turn .ring{opacity:1}
.seat .ring circle{fill:none;stroke-width:4}
.seat .ring .tr{stroke:var(--seat-timer-track)} .seat .ring .pg{stroke:var(--seat-timer);stroke-linecap:round;filter:drop-shadow(0 0 4px #009c577a)}
.seat .avbox{position:relative;width:84px;height:84px;display:grid;place-items:center}
.seat .secs{position:absolute;left:50%;bottom:0;transform:translateX(-50%);opacity:0;transition:opacity .2s;padding:2px 8px!important;font-size:10px}
.seat.turn .secs{opacity:1}
.gtoast .pill{font-size:11px!important;padding:6px 14px!important}
.call .content .pill{animation:fade .2s .45s both}
/* table-message (Cacheta) */
.tmsg{border-radius:16px!important;background:var(--bga-strong-75)!important;box-shadow:inset 0 0 0 1px var(--border-muted)!important;-webkit-backdrop-filter:blur(16px)!important;backdrop-filter:blur(16px)!important;gap:6px!important;padding:10px 16px!important}
.tmsg .tx{font:500 12px/1.25 var(--f-ui)!important}

/* ---------- resultado (R01 Vitória · R02 Derrota · minimal) ---------- */
.res2{position:absolute;inset:0;z-index:75;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:16px;padding:64px 16px calc(32px + env(safe-area-inset-bottom,0px));text-align:center;background:var(--bga-default-75);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:fade .3s both;overflow:hidden}
.res2 .rglow{position:absolute;left:50%;top:120px;width:320px;height:320px;margin-left:-160px;border-radius:50%;filter:blur(100px);pointer-events:none}
.res2.win .rglow{background:var(--glow-gold);opacity:.8}
.res2.loss .rglow,.res2.tie .rglow{background:var(--gc);opacity:.35}
.res2 .ctx{position:relative;font:500 12px/1.3 var(--f-ui);color:var(--text-muted)}
.rblock{position:relative;display:flex;flex-direction:column;align-items:center;gap:24px;width:100%;min-height:0}
.rblock .big{width:128px;height:128px;animation:pop .5s .1s cubic-bezier(.2,1.5,.4,1) both}
.rt{display:flex;flex-direction:column;align-items:center;gap:6px}
.rt h1{margin:0;font:700 48px/1.2 var(--f-display);letter-spacing:-.02em}
.rt span{font:500 12px/1.3 var(--f-ui);color:var(--text-muted)}
.rv{display:flex;flex-direction:column;align-items:center;gap:4px}
.rv b{font:700 40px/1.2 var(--f-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.rv b.prize{color:var(--text-prize)} .rv b.muted{color:var(--text-muted)}
.rv small{font:500 10px/1.2 var(--f-ui);color:var(--text-muted)}
.score{width:100%;max-width:343px;height:52px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;border-radius:16px;background:var(--bg-raised);box-shadow:inset 0 0 0 1px var(--border-muted)}
.score .sc{font:700 20px/1.2 var(--f-display);font-variant-numeric:tabular-nums;flex:none}
.team{display:flex;align-items:center;gap:8px;min-width:0;flex:1}
.team.r{justify-content:flex-end}
.team .avs{display:flex;flex:none}
.team .avs>*+*{margin-left:-8px}
.team .tx{display:flex;flex-direction:column;gap:2px;text-align:left;min-width:0}
.team.r .tx{text-align:right}
.team .tx b{font:600 14px/1.2 var(--f-display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.team .tx small{font:500 10px/1 var(--f-ui);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ractions{position:relative;display:flex;gap:12px;width:100%;max-width:343px}
.ractions .btn{flex:1;min-width:0}
.rlines{margin:-8px 0 0;max-width:330px;font:500 10px/1.5 var(--f-ui);color:var(--text-muted)}
.pkranks{display:flex;flex-direction:column;gap:2px;width:100%;max-width:343px;margin-top:-8px}
.pkrank{display:flex;align-items:center;gap:10px;padding:6px 12px;border-radius:12px;background:var(--bga-strong-50);font:500 12px/1 var(--f-ui)}
.pkrank b{width:22px;font:700 14px/1 var(--f-display)} .pkrank span{flex:1;text-align:left} .pkrank i{font-style:normal;color:var(--text-prize);font-weight:700}
.pkrank.me{box-shadow:inset 0 0 0 1px var(--btn-primary-top);background:#02a9632e}
@media (max-height:700px){.res2{padding-top:32px}.rblock{gap:16px}.rblock .big{width:96px;height:96px}.rt h1{font-size:40px}}

/* ---------- customize-sheet (Personalizar) ---------- */
.cgrp{display:flex;flex-direction:column;gap:8px;flex:none}
.cgrp>b{font:500 12px/1 var(--f-ui);color:var(--text-default)}
.copts{gap:12px;margin:0 -12px;padding:0 12px}
.ctile{flex:none;width:72px;display:flex;flex-direction:column;align-items:center;gap:6px}
.ctile .mini{position:relative;width:72px;height:72px;border-radius:12px;overflow:hidden;display:grid;place-items:center;background:var(--bga-strong-50);box-shadow:inset 0 0 0 1px var(--hl-subtle)}
.ctile .mini img.tb{width:100%;height:100%;object-fit:cover}
.ctile .mini .tag{position:absolute;left:50%;bottom:4px;transform:translateX(-50%);padding:1px 8px}
.ctile .lb{font:500 10px/1.2 var(--f-ui);color:var(--text-subtle);text-align:center;max-width:76px}
.ctile.on .mini{box-shadow:inset 0 0 0 2px var(--btn-secondary-border),0 0 12px var(--glow-info)}
.ctile.on .lb{color:var(--text-default)}
.ctile.locked .mini>*:not(.tag){opacity:.4}

/* ---------- motor (cartas, tabuleiro, chamada) · base do protótipo testado, tokens do DS ---------- */
/* cards */
.card{position:absolute;border-radius:var(--r);background:var(--card-face);box-shadow:inset 0 0 0 1px var(--card-border),0 4px 12px rgba(0,0,0,.35);width:var(--w);height:var(--h)}
.card .rk{position:absolute;left:var(--p);top:calc(var(--p) - 2px);font:700 var(--fs)/1 var(--f-display);color:var(--sc)}
.card .sm{position:absolute;left:var(--p);top:calc(var(--fs) + var(--p) + 1px);width:var(--ss);height:var(--ss)}
.card .bg{position:absolute;right:var(--p);bottom:var(--p);width:var(--bs);height:var(--bs)}
.card svg{fill:var(--sc);display:block;width:100%;height:100%}
.card.L{--w:64px;--h:88px;--r:8px;--p:6px;--fs:18px;--ss:12px;--bs:28px}
.card.S{--w:40px;--h:56px;--r:6px;--p:4px;--fs:14px;--ss:10px;--bs:16px}
.card.XS{--w:32px;--h:44px;--r:6px;--p:3px;--fs:12px;--ss:8px;--bs:12px}
.card.red{--sc:var(--suit-red)} .card.black{--sc:var(--suit-black)}
.card.back{background:linear-gradient(180deg,var(--back-top),var(--back-bottom));box-shadow:0 4px 12px rgba(0,0,0,.35)}
.card.back::before{content:"";position:absolute;inset:3px;border-radius:calc(var(--r) - 2px);box-shadow:inset 0 0 0 1px var(--hl)}
.card.back .logo{position:absolute;left:50%;top:50%;width:62%;transform:translate(-50%,-50%)}


/* ---------- GAME ---------- */
.rounds{display:flex;gap:4px;margin-top:2px}
.rounds i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.18)}
.rounds i.a{background:var(--sys-success);box-shadow:0 0 6px var(--sys-success)} .rounds i.b{background:var(--game-truco);box-shadow:0 0 6px var(--game-truco)} .rounds i.e{background:#9aa6b6}
.vale-tag{color:var(--text-prize);font-weight:700}
.jogo{flex:1;position:relative;overflow:hidden;background:var(--bg-subtle)}
.board{position:absolute;left:50%;top:0;width:375px;height:649px;transform-origin:top center}
.board .mesa{position:absolute;inset:0;background-size:cover;background-position:center}
#scr-game .seat{position:absolute;display:flex;flex-direction:column;align-items:center;gap:4px;width:72px}
#scr-game .seat .bubble{position:absolute;top:-6px;left:50%;transform:translate(-50%,-100%) scale(.6);opacity:0;transition:all .25s cubic-bezier(.2,1.4,.4,1);font:800 13px/1 var(--f-display);padding:6px 10px;border-radius:10px;background:var(--game-truco);color:#fff;white-space:nowrap;z-index:6}
#scr-game .seat .bubble.show{opacity:1;transform:translate(-50%,-100%) scale(1)}
#scr-game .seat .bubble.ok{background:var(--sys-success);color:#05210f}
#scr-game .seat .bubble.no{background:#4a5568}
#scr-game .seat.top .bubble{top:30px;left:-6px;transform:translate(-100%,-50%) scale(.6)} .seat.top .bubble.show{transform:translate(-100%,-50%) scale(1)}
#scr-game .tagp{position:absolute;padding:3px 8px;border-radius:999px;background:rgba(59,116,245,.85);font:700 10px/1 var(--f-ui)}
#scr-game .pote{position:absolute;width:56px;height:80px}
#scr-game .pote .card{transition:none}
#scr-game .pote .cnt{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);z-index:3}
#scr-game .seq{position:absolute;left:0;right:0;top:370px;display:flex;justify-content:center;gap:16px;font:700 12px/1 var(--f-display);letter-spacing:.08em;color:rgba(255,255,255,.32)}
#scr-game .seq.dark{color:rgba(0,0,0,.32)}
#scr-game .seq span{display:inline-flex;align-items:center;gap:2px}
#scr-game .seq svg{width:10px;height:10px;fill:currentColor}
#scr-game .seq .man{display:flex;gap:6px}
#scr-game .played{position:absolute;transition:left .35s cubic-bezier(.2,.8,.3,1), top .35s cubic-bezier(.2,.8,.3,1), transform .35s cubic-bezier(.2,.8,.3,1), opacity .3s;z-index:4}
#scr-game .played.win{filter:drop-shadow(0 0 10px var(--text-prize))}
#scr-game .handcard{position:absolute;transition:transform .2s, left .25s, top .25s, opacity .2s;touch-action:manipulation;z-index:8}
#scr-game .handcard.press{transform-origin:center}
#scr-game .handcard.disabled{filter:brightness(.7)}
#scr-game .handcard .card{position:relative}
#scr-game .hint{position:absolute;left:50%;top:584px;transform:translateX(-50%);z-index:9;transition:opacity .2s}
#scr-game .acts{position:absolute;left:16px;right:16px;top:604px;display:flex;justify-content:space-between;z-index:9}
#scr-game .acts .btn{width:120px}
#scr-game .gtoast{position:absolute;left:50%;top:148px;transform:translate(-50%,-6px);opacity:0;transition:all .2s;z-index:12;pointer-events:none}
#scr-game .gtoast.show{opacity:1;transform:translate(-50%,0)}
/* call overlay */
.call{position:absolute;inset:0;z-index:70;overflow:hidden;pointer-events:auto}
.call .veil2{position:absolute;inset:0;background:rgba(0,0,0,.7);animation:fade .15s ease-out both}
.call .glow{position:absolute;left:0;right:0;top:56%;bottom:0;background:linear-gradient(180deg,rgba(255,90,54,0),rgba(255,90,54,.5));mix-blend-mode:screen;animation:fade .3s .06s ease-out both}
/* fogo com transparência de verdade (o preto do arquivo virou alfa): sem blend, para o overlay não esconder a mesa embaixo */
.call .fire{position:absolute;left:-13%;width:126%;background-size:100% auto;background-repeat:no-repeat;background-position:top center}
.call .fireA{top:52%;height:113%;background-image:url(../assets/fx/fogo-A-alpha.webp);animation:rise .5s ease-out both, breathe 1.6s .5s ease-in-out infinite alternate}
.call .fireB{top:58%;height:100%;background-image:url(../assets/fx/fogo-B-alpha.webp);transform:scaleX(-1);animation:riseB .55s .03s ease-out both, breatheB 1.4s .55s ease-in-out infinite alternate}
@keyframes rise{from{transform:translateY(100%)}70%{transform:translateY(-2%)}to{transform:none}}
@keyframes riseB{from{transform:scaleX(-1) translateY(100%)}70%{transform:scaleX(-1) translateY(-3%)}to{transform:scaleX(-1)}}
@keyframes breathe{from{transform:translateY(0)}to{transform:translateY(-1.4%)}}
@keyframes breatheB{from{transform:scaleX(-1) translateY(0)}to{transform:scaleX(-1) translateY(-1.8%)}}
@keyframes fade{from{opacity:0}}
.ember{position:absolute;bottom:-10px;width:5px;height:5px;border-radius:50%;background:#ff7a36;box-shadow:0 0 6px #ff7a36;mix-blend-mode:screen;animation:ember 1.6s ease-out infinite;opacity:0}
@keyframes ember{0%{opacity:0;transform:translate(0,0)}15%{opacity:1}100%{opacity:0;transform:translate(var(--dx),-420px)}}
.call .who{position:absolute;left:50%;top:18%;width:200px;height:200px;margin-left:-100px;border-radius:50%;background:var(--bg-inset);box-shadow:inset 0 0 0 4px #ff6b6e,0 0 32px rgba(239,68,82,.55);animation:pop .42s .1s cubic-bezier(.2,1.5,.4,1) both;display:grid;place-items:center;overflow:hidden}
.call .who video,.call .who img.ph{width:184px;height:184px;border-radius:50%;object-fit:cover}
.call .who img.empty{width:96px;height:96px}
@keyframes pop{from{transform:scale(.3);opacity:0}}
.call .content{position:absolute;left:0;right:0;top:calc(18% + 214px);display:flex;flex-direction:column;align-items:center;gap:4px}
.call .word{height:78px;animation:slam .34s .28s cubic-bezier(.3,.9,.4,1.2) both, shake .24s .6s linear both}
@keyframes slam{from{transform:scale(1.8);opacity:0}60%{transform:scale(.95);opacity:1}to{transform:none}}
@keyframes shake{20%{transform:translateX(-7px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(2px)}}
.call .vale{font:700 16px/1 var(--f-display);padding:6px 16px;animation:fade .2s .55s both}
.call .resp{position:absolute;left:16px;right:16px;bottom:calc(84px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:center;gap:16px;animation:fade .25s .7s both}
.call .resp .row{display:flex;justify-content:space-between;width:100%}
.call .resp .row .btn{width:140px}
.call .wait{position:absolute;left:50%;bottom:calc(110px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);animation:fade .25s .7s both}
/* resposta ao truco (mesmo overlay do pedido) · aceitou: o fogo cresce · correu: apaga, fumaça e a palavra cai */
.call .fire{transform-origin:50% 100%}
.call .word.ans{height:auto;max-height:78px;max-width:calc(100% - 32px);object-fit:contain}
.call.acc .veil2{background:rgba(0,0,0,.62);transition:background .4s}
.call.acc .fireA{animation:growA .6s cubic-bezier(.2,1.2,.4,1) forwards, flickA 1s .6s ease-in-out infinite alternate}
.call.acc .fireB{animation:growB .65s .04s cubic-bezier(.2,1.2,.4,1) forwards, flickB .9s .65s ease-in-out infinite alternate}
.call.acc .glow{top:34%;background:linear-gradient(180deg,rgba(255,110,54,0),rgba(255,110,54,.72));transition:top .5s ease-out}
.call.acc .who{box-shadow:inset 0 0 0 4px #ff9a3c,0 0 48px rgba(255,122,54,.8);animation:pop .4s cubic-bezier(.2,1.5,.4,1) both, hotring 1s .4s ease-in-out infinite alternate}
.call.acc .word.ans{animation:slam .34s cubic-bezier(.3,.9,.4,1.2) both, shake .24s .32s linear both;filter:drop-shadow(0 0 18px rgba(255,122,54,.7))}
.call.acc .content .pill{animation:fade .2s .25s both}
.ember.hot{width:6px;height:6px;background:#ffb347;box-shadow:0 0 8px #ff7a36;animation:emberHot 1.1s ease-out infinite}
@keyframes growA{from{transform:translateY(0)}to{transform:translateY(-18%) scale(1.16);filter:brightness(1.25) saturate(1.2)}}
@keyframes growB{from{transform:scaleX(-1) translateY(0)}to{transform:scaleX(-1) translateY(-20%) scale(1.16);filter:brightness(1.25) saturate(1.2)}}
@keyframes flickA{from{transform:translateY(-18%) scale(1.16);filter:brightness(1.25) saturate(1.2)}to{transform:translateY(-20%) scale(1.19);filter:brightness(1.4) saturate(1.25)}}
@keyframes flickB{from{transform:scaleX(-1) translateY(-20%) scale(1.16);filter:brightness(1.25) saturate(1.2)}to{transform:scaleX(-1) translateY(-22%) scale(1.2);filter:brightness(1.4) saturate(1.25)}}
@keyframes hotring{to{box-shadow:inset 0 0 0 4px #ffc06a,0 0 64px rgba(255,140,60,.95)}}
@keyframes emberHot{0%{opacity:0;transform:translate(0,0)}10%{opacity:1}100%{opacity:0;transform:translate(var(--dx),-560px)}}
.call.run .veil2{background:rgba(5,8,12,.82);transition:background .6s}
.call.run .fireA,.call.run .fireB{animation:dieA .9s ease-in forwards}
.call.run .fireB{animation-name:dieB}
.call.run .glow{opacity:0;transition:opacity .6s}
.call.run .ember{display:none}
.call.run .who{animation:sinkWho .5s ease-out forwards;box-shadow:inset 0 0 0 4px #46484f,0 0 0 transparent}
.call.run .who video,.call.run .who img{filter:grayscale(1) brightness(.7);transition:filter .5s}
.call.run .word.ans{filter:grayscale(1) brightness(.78);animation:dropWord .5s .2s cubic-bezier(.3,1.5,.5,1) both, sag .7s .75s ease-in-out forwards}
.call.run .content .pill{animation:fade .25s .45s both}
.call .pill.pos{background:var(--sysa-success-25);box-shadow:inset 0 0 0 1px var(--border-muted);color:var(--text-success)}
.call .smoke{position:absolute;left:0;right:0;bottom:0;height:80%;pointer-events:none;overflow:hidden}
.call .smoke i{position:absolute;width:240px;height:240px;margin-left:-120px;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(190,194,200,.7),rgba(140,148,160,.38) 42%,rgba(120,130,144,0) 70%);filter:blur(12px);opacity:0;animation:smoke 2.4s ease-out forwards}
@keyframes dieA{to{transform:translateY(34%) scale(.86);opacity:.22;filter:grayscale(.85) brightness(.55)}}
@keyframes dieB{to{transform:scaleX(-1) translateY(38%) scale(.86);opacity:.2;filter:grayscale(.85) brightness(.55)}}
@keyframes sinkWho{to{transform:scale(.92) translateY(10px)}}
@keyframes dropWord{from{transform:translateY(-48px) rotate(3deg);opacity:0}60%{opacity:1}}
@keyframes sag{to{transform:translateY(8px) rotate(-3deg)}}
@keyframes smoke{0%{opacity:0;transform:translate(0,60px) scale(.4)}22%{opacity:.95}70%{opacity:.6}100%{opacity:0;transform:translate(var(--dx),-440px) scale(var(--s))}}
/* personalizar */
/* result */
/* ---------- PIF-PAF ---------- */
.card.M{--w:48px;--h:68px;--r:6px;--p:5px;--fs:15px;--ss:10px;--bs:20px}
#scr-game .avplus{position:absolute;right:-2px;bottom:0;width:16px;height:16px;border-radius:50%;background:var(--sys-success);color:#06200f;font:700 13px/16px var(--f-ui);text-align:center;box-shadow:0 0 0 2px var(--bg-subtle)}
#scr-game .tmsg{position:absolute;left:48px;top:176px;width:280px;height:60px;border-radius:16px;background:rgba(40,60,82,.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 1px 0 var(--hl-subtle);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;z-index:6;text-align:center;padding:0 12px}
#scr-game .tmsg .su{display:flex;gap:8px}
#scr-game .tmsg .su svg{width:11px;height:11px}
#scr-game .tmsg .tx{font:500 12px/1.25 var(--f-ui);text-wrap:balance}
#scr-game .pile{position:absolute;z-index:5;transition:filter .2s}
#scr-game .pile .cnt{position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);z-index:3;padding:2px 8px}
#scr-game .pile.can{filter:drop-shadow(0 0 10px rgba(94,149,255,.85))}
#scr-game .pile .slot{position:absolute;inset:0;border-radius:6px;border:2px dashed rgba(255,255,255,.18)}
#scr-game .pile .target{position:absolute;inset:-8px;border-radius:12px;border:2px dashed var(--btn-primary-top);box-shadow:0 0 12px rgba(94,149,255,.6);z-index:4}
#scr-game .pile .pop{animation:pop .3s cubic-bezier(.2,1.5,.4,1) both}
#scr-game .pile .card{position:absolute}
#scr-game .pdica{position:absolute;left:0;right:0;top:344px;text-align:center;font:500 10px/1 var(--f-ui);color:rgba(255,255,255,.72);z-index:5;pointer-events:none}
#scr-game .pcard{position:absolute;width:64px;height:88px;transition:left .22s, top .22s, transform .22s, filter .2s;touch-action:manipulation}
#scr-game .pcard .card{position:relative}
#scr-game .pcard.sel .card{box-shadow:inset 0 0 0 1px var(--card-border),0 0 0 3px var(--sys-info),0 0 16px rgba(59,116,245,.7)}
#scr-game .pcard.dim{filter:brightness(.55)}
#scr-game .pcard.enter{animation:fade .3s both}
#scr-game .ptag{position:absolute;z-index:30;padding:3px 8px;border-radius:999px;font:700 10px/1 var(--f-ui);white-space:nowrap;transform:translateX(-50%);pointer-events:none}
#scr-game .ptag.ok{background:var(--sys-success);color:#05210f}
#scr-game .ptag.neutral{background:rgba(40,60,82,.92);color:var(--text-default);box-shadow:inset 0 0 0 1px var(--hl-subtle)}
#scr-game .ptag.info{background:var(--sys-info)}
#scr-game .pacts{position:absolute;left:16px;right:16px;display:flex;justify-content:space-between;z-index:31;pointer-events:none}
#scr-game .pacts .btn{width:120px;pointer-events:auto}
#scr-game .pacts .btn[hidden]{display:inline-flex!important;visibility:hidden}
#scr-game .stag{position:absolute;left:50%;top:104px;transform:translateX(-50%);background:var(--sys-success);color:#05210f;font:700 10px/1 var(--f-ui);padding:3px 8px;border-radius:999px;white-space:nowrap}
#scr-game .meld{position:absolute;z-index:6;animation:pop .35s cubic-bezier(.2,1.5,.4,1) both}
#scr-game .meld .card{position:relative}
/* ---------- BURACO ---------- */
#scr-game .ptag.gold{background:var(--text-prize);color:#2a1a00}
#scr-game .seat.m{transform:scale(.8);transform-origin:top center}
#scr-game .brow{position:absolute;left:0;width:375px;height:44px;z-index:6}
#scr-game .brow .in{position:absolute;top:0;height:44px;transform-origin:center top}
#scr-game .bjogo{position:absolute;top:0;height:44px}
#scr-game .bjogo.mine{cursor:pointer}
#scr-game .bjogo .card-at{position:absolute;top:0}
#scr-game .bjogo.target::after{content:'';position:absolute;inset:-6px;border-radius:10px;border:2px dashed var(--btn-primary-top);box-shadow:0 0 12px rgba(94,149,255,.6);pointer-events:none}
#scr-game .bjogo .bbadge{position:absolute;right:-8px;top:-8px;padding:1px 6px;z-index:2}
#scr-game .bjogo .ptag{z-index:2}
#scr-game .pile .lk{position:absolute;right:-10px;top:-6px;width:24px;height:24px;z-index:3}
/* ---------- POKER ---------- */
#scr-game .pkpot{position:absolute;left:50%;top:176px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;z-index:6;pointer-events:none}
#scr-game .pkpot .l{font:600 10px/1 var(--f-ui);color:var(--text-subtle)}
#scr-game .chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 4px;border-radius:999px;background:var(--bga-strong-75);box-shadow:inset 0 0 0 1px var(--hl-subtle);font:600 11px/1.3 var(--f-ui);color:var(--text-default);white-space:nowrap}
#scr-game .chip img{width:16px;height:16px}
#scr-game .chip.big{padding:4px 12px 4px 8px;font:700 15px/1.2 var(--f-display);color:var(--text-prize)}
#scr-game .chip.big img{width:20px;height:20px}
#scr-game .pkbet{position:absolute;transform:translate(-50%,-50%);z-index:7;animation:fade .25s both}
#scr-game .pkslot{position:absolute;width:48px;height:68px;border-radius:6px;border:1.5px dashed rgba(255,255,255,.32);box-sizing:border-box}
#scr-game .pkc{position:absolute;z-index:12;transform-origin:center}
#scr-game .pkc .card{position:relative}
#scr-game .pkc.win .card{box-shadow:inset 0 0 0 1px var(--card-border),0 0 0 2px var(--btn-primary-top),0 0 16px rgba(94,149,255,.65)}
#scr-game .pkc.dim{opacity:.45}
#scr-game .pkc.pop{animation:pkpop .4s cubic-bezier(.2,1.2,.4,1) both}
@keyframes pkpop{from{opacity:0;transform:translateY(-18px) scale(.9)}}
#scr-game .pkc.hole{z-index:20}
#scr-game #pkHint{z-index:25}
#scr-game .pkdealer{position:absolute;width:22px;height:22px;border-radius:50%;background:#fff;color:#14202b;font:800 11px/22px var(--f-ui);text-align:center;box-shadow:0 2px 6px rgba(0,0,0,.32);z-index:8;transition:left .4s,top .4s}
#scr-game .seat .pkst{position:absolute;left:50%;top:calc(100% + 2px);transform:translateX(-50%);padding:2px 8px;font:600 10px/1.2 var(--f-ui);white-space:nowrap}
#scr-game .seat .pkst.allin{background:var(--game-truco);box-shadow:none;color:#fff}
#scr-game .seat.fold{opacity:.45}
#scr-game .pkacts{position:absolute;left:16px;right:16px;top:604px;display:flex;gap:8px;z-index:31}
#scr-game .pkacts .btn{flex:1;min-width:0;padding:0 8px;font-size:14px}
#scr-game .pkacts .btn:disabled{opacity:.4}
#scr-game .pkraise{position:absolute;left:8px;top:380px;width:359px;box-sizing:border-box;padding:16px;border-radius:20px;background:var(--bg-subtle);box-shadow:inset 0 0 0 1px var(--hl-subtle),0 -8px 32px rgba(0,0,0,.45);z-index:40;display:flex;flex-direction:column;gap:12px}
#scr-game .pkraise .hd{display:flex;justify-content:space-between;align-items:center}
#scr-game .pkraise .hd b{font:700 16px/1 var(--f-display)} .pkraise .hd .v{font:700 20px/1 var(--f-display);color:var(--text-prize)}
#scr-game .pktabs{display:flex;gap:2px;padding:4px;border-radius:12px;background:var(--bga-strong-50)}
#scr-game .pktabs button{flex:1;height:34px;border-radius:9px;color:var(--text-subtle);font:600 12px/1 var(--f-ui)}
#scr-game .pktabs button.on{background:rgba(31,154,74,.24);color:#fff;box-shadow:inset 0 -2px 0 var(--game-buraco)}
#scr-game .pkraise input[type=range]{width:100%;accent-color:var(--game-poker)}
#scr-game .pkraise .mm{display:flex;justify-content:space-between;font:500 10px/1 var(--f-ui);color:var(--text-subtle);margin-top:-6px}
#scr-game .pkraise .row{display:flex;gap:8px} .pkraise .row .btn{flex:1;min-width:0;padding:0 8px;white-space:nowrap;font-size:14px} .pkraise .row .btn.primary{flex:1.6}

.hud .timer:not(:has(.rounds)):not(:has(.label))::after{content:"tempo";font:500 10px/1 var(--f-ui);color:var(--text-muted)}
.ctile.on .mini::after{content:"";position:absolute;inset:0;border-radius:12px;box-shadow:inset 0 0 0 2px var(--btn-secondary-border);pointer-events:none}

/* Caze Games: logo da marca no centro do pano de todas as mesas */
.board .mesa::after{content:"";position:absolute;left:50%;top:47%;width:132px;height:132px;transform:translate(-50%,-50%);background:url(../assets/ui/logo-mark.svg) center/contain no-repeat;filter:brightness(0) invert(1);opacity:.1;pointer-events:none}
.board .mesa[style*="mesa/truco-"]::after{top:41%}

.card.back::before{box-shadow:none;padding:1px;background:linear-gradient(180deg,#06c1ff52,#feb40552 41%,#fe8c0352 75%,#fe163252 99%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
