/* =========================================================
   GainBet — folha de estilo única (site, casino, /fair e admin)
   Cor principal: vermelho bordeaux.
   Tema ESCURO = padrão. Tema CLARO = fundo branco (data-theme="light" no <html>).
   Todas as cores vivem nas variáveis abaixo: para mudar o aspeto, mexe só aqui.
   ========================================================= */
/* Letra: Plus Jakarta Sans (fonte variável, pesos 200–800; licença SIL OFL em /fonts). O ficheiro "latin" cobre
   português e inglês; o "latin-ext" só é descarregado se aparecer uma letra de outra língua (ex.: nomes de equipas). */
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin-wght-normal.woff2) format("woff2-variations"),url(/fonts/plus-jakarta-sans-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin-ext-wght-normal.woff2) format("woff2-variations"),url(/fonts/plus-jakarta-sans-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --r-xs:5px; --r-sm:9px; --r-md:14px; --r-lg:20px; /* cantos: etiquetas · botões e campos · cartões · janelas */
  color-scheme:dark;
  --font:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-head:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  --bg:#161113; --bg-2:#0f0b0d; --surface:#1e1719; --surface-2:#292023; --surface-3:#352a2e;
  --line:#352b2f; --line-strong:#4a3c41;
  --text:#f5eff1; --muted:#ac9fa4; --faint:#7d7177;

  --brand:#8f1636; --brand-hi:#b01c42; --brand-strong:#6d0f28;
  --bar:#5a0a20; --bar-ink:#fff;
  --btn:#a3173c; --btn-hover:#bd1f48;
  --link:#f08ba2; --focus:#f08ba2;
  --odd-bg:#2d2326; --odd-hover:#3e2e33; --odd-on:#a3173c;
  --input-bg:#130e10;
  --stage:#120d0f; --strip:#0b0809;

  --ok:#35c98d; --warn:#f2a93b; --live:#ff5a72; --cash:#1fa971;
  --ok-bg:rgba(53,201,141,.13); --warn-bg:rgba(242,169,59,.13); --live-bg:rgba(255,90,114,.14);
  --coin:#d9b45e; --coin-ring:#b48f3c;
  --shadow:0 10px 30px rgba(0,0,0,.5);
  --scrim:rgba(0,0,0,.66);

  --pk-lo:#3a2e33; --pk-mid:#8a3347; --pk-hi:#b2264a; --pk-top:#d8213f;
  --rl-red:#b3243f; --rl-black:#1b1a1f; --rl-green:#17804f;

  /* nomes antigos, usados por admin.css e fair.css */
  --chip:var(--surface-2); --gold:var(--link); --brand-soft:var(--brand-hi);
  --card-sh:none;     /* sombra das caixas (só o tema claro a usa) */
}
:root[data-theme="light"]{
  color-scheme:light;
  /* fundo rosado-acinzentado, mais escuro do que tudo o que é caixa: cartões, palco do jogo e janelas são
     brancos, com contorno e sombra (--card-sh), para nunca se confundirem com o fundo da página.
     Dentro dos cartões, os elementos secundários levam tons de bordeaux e dourado. */
  --bg:#ebe2e5; --bg-2:#e1d4d9; --surface:#ffffff; --surface-2:#f8eef1; --surface-3:#efdfe5;
  --line:#dbc6ce; --line-strong:#c4a3ae;
  --text:#21151a; --muted:#63505a; --faint:#8d7a83;
  --card-sh:0 1px 2px rgba(70,15,35,.08),0 10px 24px -16px rgba(70,15,35,.38);

  --brand:#7b1230; --brand-hi:#951a3d; --brand-strong:#650e27;
  --bar:#7b1230; --bar-ink:#fff;
  --btn:#7b1230; --btn-hover:#951a3d;
  --link:#8c1537; --focus:#8c1537;
  --odd-bg:#f9eff2; --odd-hover:#f1dfe5; --odd-on:#7b1230;
  --input-bg:#ffffff;
  --stage:#ffffff; --strip:#e1d4d9;

  --ok:#11845a; --warn:#9a5b00; --live:#c41e3a; --cash:#11845a;
  --ok-bg:#e3f4ec; --warn-bg:#fbf0dc; --live-bg:#fbe5e9;
  --coin:#e0bb62; --coin-ring:#b88f34;
  --shadow:0 12px 32px rgba(70,15,35,.2);
  --scrim:rgba(28,8,15,.62);
  --gold-bg:#fbf3e2; --gold-line:#e6cf98; --gold-ink:#7d5717;

  --pk-lo:#e6dfe2; --pk-mid:#b8576b; --pk-hi:#b2264a; --pk-top:#c41e3a;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;color:var(--text);background:var(--bg);font:15px/1.45 var(--font);font-variant-numeric:tabular-nums}
button{font:inherit;color:inherit;cursor:pointer}
input,select{font:inherit;color:inherit}
h1,h2,h3,p{margin-top:0}
a{color:inherit}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ic{width:1.25em;height:1.25em;flex:none;vertical-align:-.22em}
.muted{color:var(--muted)}

/* ---------- Faixa de modo de teste + barra de topo ---------- */
.demo-strip{background:var(--strip);color:var(--muted);font-size:12.5px;text-align:center;padding:5px 12px;border-bottom:1px solid var(--line)}
.topbar{position:sticky;top:0;z-index:40;background:var(--bar);color:var(--bar-ink);box-shadow:0 1px 0 rgba(0,0,0,.28),0 3px 10px rgba(0,0,0,.14)}
.topbar-in{max-width:1400px;margin:0 auto;padding:0 16px;min-height:58px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:9px;color:#fff;text-decoration:none}
.logo-img{display:block;height:30px;width:auto}
.mainnav{display:flex;align-self:stretch;gap:2px}
.navbtn{background:none;border:0;padding:0 16px;font:700 16px/1 var(--font-head);letter-spacing:.03em;text-transform:uppercase;color:rgba(255,255,255,.72);border-bottom:3px solid transparent;margin-bottom:-0px}
.navbtn:hover{color:#fff}
.navbtn.is-active{color:#fff}
.acct{margin-left:auto;display:flex;align-items:center;gap:8px;padding:9px 0}
.wallet{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1;padding:4px 12px;border-radius:var(--r-sm);background:rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.14)}
.wallet-label{font:600 10.5px/1.2 var(--font-head);text-transform:uppercase;letter-spacing:.055em;color:rgba(255,255,255,.7);white-space:nowrap}
.wallet strong{font:700 17px/1.15 var(--font-head);letter-spacing:.01em}
.userchip{display:inline-flex;align-items:center;padding:7px 12px;border-radius:var(--r-sm);background:rgba(255,255,255,.1);font-weight:600;font-size:14px;max-width:160px}
.userchip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.theme-btn{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--r-sm);border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;padding:0}
.theme-btn:hover{background:rgba(255,255,255,.14)}
.theme-btn .ic{width:19px;height:19px}
.theme-btn .i-moon{display:none}
:root[data-theme="light"] .theme-btn .i-sun{display:none}
:root[data-theme="light"] .theme-btn .i-moon{display:block}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line-strong);background:transparent;color:var(--text);padding:8px 16px;border-radius:var(--r-sm);font:700 14px/1.2 var(--font-head);letter-spacing:.025em;text-transform:uppercase;text-decoration:none;transition:background .12s,border-color .12s,color .12s}
.btn--ghost:hover{background:var(--surface-2)}
.btn--primary{background:var(--btn);border-color:var(--btn);color:#fff}
.btn--primary:hover{background:var(--btn-hover);border-color:var(--btn-hover)}
.btn--gold{background:var(--cash);border-color:var(--cash);color:#fff}
.btn--gold:hover{filter:brightness(1.1)}
.btn[disabled]{opacity:.45;cursor:not-allowed;filter:none}
.topbar .btn{padding:8px 14px}
.topbar .btn--ghost{border-color:rgba(255,255,255,.4);color:#fff}
.topbar .btn--ghost:hover{background:rgba(255,255,255,.14)}
.topbar .btn--primary{background:#fff;border-color:#fff;color:var(--brand-strong)}
.topbar .btn--primary:hover{background:#f7e3e8;border-color:#f7e3e8}
:root[data-theme="light"] .topbar .btn--primary{color:#650e27}
.btn--block{width:100%;padding:12px;font-size:15px}
.btn--place{width:100%;padding:13px;font-size:17px}

/* ---------- Layout do desporto ---------- */
.layout{max-width:1400px;margin:0 auto;padding:16px 16px 110px;display:grid;gap:16px;grid-template-columns:minmax(0,1fr);grid-template-areas:"left" "center"}
.left{grid-area:left;min-width:0}
.center{grid-area:center;min-width:0}
.slip{grid-area:slip}
@media(min-width:900px){.layout{grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:"left left" "center slip";padding-bottom:40px}}
@media(min-width:1180px){
  .layout{grid-template-columns:232px minmax(0,1fr) 340px;grid-template-areas:"left center slip"}
  .left{position:sticky;top:74px;align-self:start;max-height:calc(100vh - 90px);overflow:auto;scrollbar-width:thin}
}

/* navegação lateral (desktop) e separadores (telemóvel) */
.sports-nav{display:flex;gap:0;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none}
.sports-nav::-webkit-scrollbar{display:none}
.snav{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:11px 14px;background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-1px;font:600 14.5px/1 var(--font-head);letter-spacing:.02em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.snav:hover{color:var(--text)}
.snav.is-active{color:var(--text);border-bottom-color:var(--brand-hi)}
.snav .ic{width:20px;height:20px}
.snav-n{font:600 12px/1 var(--font);color:var(--faint);font-variant-numeric:tabular-nums}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--live)}
.nav-h,.lnav{display:none}
@media(min-width:1180px){
  .sports-nav{flex-direction:column;overflow:visible;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}
  .snav{border:0;margin:0;border-left:3px solid transparent;padding:11px 14px 11px 12px;border-top:1px solid var(--line);width:100%}
  .snav:first-child{border-top:0}
  .snav:hover{background:var(--surface-2)}
  .snav.is-active{background:var(--surface-2);border-left-color:var(--brand-hi)}
  .snav-n{margin-left:auto}
  .nav-h{display:block;margin:18px 2px 6px;font:700 12px/1 var(--font-head);letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
  .leagues-nav{display:block;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);overflow:hidden}
  .lnav{display:flex;align-items:center;gap:8px;width:100%;padding:9px 14px 9px 12px;background:none;border:0;border-left:3px solid transparent;border-top:1px solid var(--line);text-align:left;font-size:14px;color:var(--muted)}
  .lnav:first-child{border-top:0}
  .lnav:hover{background:var(--surface-2);color:var(--text)}
  .lnav.is-active{background:var(--surface-2);color:var(--text);font-weight:600;border-left-color:var(--brand-hi)}
  .lnav .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .lnav .snav-n{margin-left:auto}
}
.leagues-nav{display:none}
@media(min-width:1180px){.leagues-nav{display:block}}
.info-card{display:none}
@media(min-width:1180px){
  .info-card{display:block;margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);font-size:13.5px;color:var(--muted)}
  .info-card h2{margin:0 0 4px;font:700 12px/1.2 var(--font-head);letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
  .info-card dl{margin:0}
  .info-card dt{color:var(--text);font-weight:700;margin-top:10px}
  .info-card dd{margin:2px 0 0}
}

/* cabeçalho de secção + pesquisa */
.toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px}
.toolbar h1{margin:0;font:800 28px/1.05 var(--font-head);letter-spacing:.01em;text-transform:uppercase}
.toolbar p{margin:4px 0 0;color:var(--muted);font-size:14.5px;max-width:62ch}
.toolbar p strong{color:var(--text)}
.search{display:flex;align-items:center;gap:8px;padding:0 12px;border-radius:var(--r-sm);background:var(--input-bg);border:1px solid var(--line-strong);flex:0 1 280px;min-width:220px;color:var(--muted)}
.search input{flex:1;min-width:0;background:none;border:0;outline:0;padding:10px 0;color:var(--text)}
.search:focus-within{border-color:var(--focus)}

/* faixas promocionais (sem promessas de bónus: só atalhos) */
.promos{display:grid;gap:12px;grid-template-columns:minmax(0,1fr);margin-bottom:18px}
@media(min-width:700px){.promos{grid-template-columns:1fr 1fr}}
.promo{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;min-height:116px;padding:16px 18px;border-radius:var(--r-md);overflow:hidden;color:#fff;background:var(--brand)}
.promo--b{background:#2a1a20}
:root[data-theme="light"] .promo--b{background:#3a1b25}
.promo-art{position:absolute;right:-6px;bottom:-14px;width:150px;height:auto;opacity:.95;pointer-events:none}
.promo h2{position:relative;margin:0;font:800 22px/1.05 var(--font-head);text-transform:uppercase;letter-spacing:.01em;max-width:62%}
.promo p{position:relative;margin:0 0 6px;font-size:13.5px;max-width:58%;color:rgba(255,255,255,.86)}
.promo .btn{position:relative;background:#fff;border-color:#fff;color:#650e27;padding:6px 12px;font-size:13px}
.promo .btn:hover{background:#f7e3e8}
@media(max-width:480px){.promo-art{width:110px}.promo h2{font-size:19px}}

/* ---------- Eventos ---------- */
.league{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;margin-bottom:12px}
.league-head{display:flex;align-items:center;gap:9px;margin:0;padding:9px 14px;font:700 15px/1.2 var(--font-head);letter-spacing:.025em;text-transform:uppercase;background:var(--surface-2);border-bottom:1px solid var(--line)}
.league-head .ic{width:19px;height:19px;color:var(--brand-hi)}
:root:not([data-theme="light"]) .league-head .ic{color:var(--link)}
.league-head small{font:500 13px/1 var(--font);letter-spacing:0;text-transform:none;color:var(--muted)}
.event{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:14px;align-items:center;padding:10px 14px;border-top:1px solid var(--line)}
.league-head+.event{border-top:0}
.event:hover{background:var(--surface-2)}
.meta{font-size:13px;color:var(--muted);line-height:1.25;padding-right:10px;border-right:1px solid var(--line)}
.meta strong{display:block;color:var(--text);font:700 14px/1.2 var(--font-head);letter-spacing:.02em}
.live-tag{display:inline-flex;align-items:center;gap:6px;color:var(--live);font:800 11.5px/1.2 var(--font-head);letter-spacing:.1em}
.live-tag::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--live);animation:pulse 1.5s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,90,114,.6)}70%{box-shadow:0 0 0 7px rgba(255,90,114,0)}100%{box-shadow:0 0 0 0 rgba(255,90,114,0)}}
.teams{display:grid;gap:6px;min-width:0}
.team{display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:600;font-size:15.5px}
.team .tn{display:flex;align-items:center;gap:9px;min-width:0}
.team .tn>span:last-child,.team>span:first-child:not(.tn){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.score{font:800 17px/1 var(--font-head);color:var(--link);min-width:16px;text-align:right}
.crest{display:inline-grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;font:700 9.5px/1 var(--font-head);letter-spacing:.02em;color:#fff;background:#7b1230}
.crest.c1{background:#2f4a63}.crest.c2{background:#8a5a14}.crest.c3{background:#2a6a55}.crest.c4{background:#5b3a82}.crest.c5{background:#a1392b}.crest.c6{background:#3d3d46}.crest.c7{background:#0f6a78}
.odds{display:grid;grid-template-columns:repeat(3,76px);gap:6px}
.odd{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;height:46px;padding:0;border-radius:var(--r-sm);border:1px solid transparent;background:var(--odd-bg);color:var(--text);transition:background .12s,border-color .12s}
.odd-label{font:600 11px/1 var(--font-head);color:var(--muted);letter-spacing:.06em}
.odd-val{font:700 17px/1.1 var(--font-head);letter-spacing:.01em}
button.odd:hover{background:var(--odd-hover);border-color:var(--line-strong)}
button.odd:active{transform:translateY(1px)}
.odd.is-on{background:var(--odd-on);border-color:var(--odd-on);color:#fff}
.odd.is-on .odd-label{color:rgba(255,255,255,.82)}
.odd--na{opacity:.35;cursor:default}
.empty{padding:34px 16px;text-align:center;color:var(--muted);border:1px dashed var(--line-strong);border-radius:var(--r-md)}
@media(max-width:640px){
  .event{grid-template-columns:minmax(0,1fr);gap:8px;padding:11px 12px}
  .meta{display:flex;gap:8px;align-items:baseline;border:0;padding:0}
  .meta strong{display:inline}
  .odds{grid-template-columns:repeat(3,1fr)}
  .odd{height:48px}
}

/* ---------- Boletim ---------- */
.slip{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
@media(min-width:900px){.slip{position:sticky;top:74px;align-self:start;max-height:calc(100vh - 90px)}}
@media(max-width:899px){
  .slip{position:fixed;left:0;right:0;bottom:0;z-index:60;max-height:88vh;border-radius:var(--r-lg) var(--r-lg) 0 0;transform:translateY(105%);visibility:hidden;box-shadow:0 -16px 48px rgba(0,0,0,.45);transition:transform .26s ease,visibility 0s .26s}
  .slip.is-open{transform:none;visibility:visible;transition:transform .26s ease,visibility 0s}
}
.slip-head{display:flex;align-items:stretch;background:var(--bar);color:#fff}
.slip-tabs{display:flex;flex:1}
.stab{flex:1;display:flex;justify-content:center;align-items:center;gap:8px;padding:13px 8px 10px;background:none;border:0;border-bottom:3px solid transparent;font:700 14.5px/1 var(--font-head);letter-spacing:.03em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.stab[aria-selected="true"]{color:#fff;border-bottom-color:#fff}
.count{min-width:21px;padding:2px 6px;border-radius:var(--r-xs);background:rgba(255,255,255,.2);font:700 12px/1.1 var(--font);text-align:center}
.slip-close{display:none;width:46px;background:none;border:0;font-size:26px;line-height:1;color:#fff}
@media(max-width:899px){.slip-close{display:block}}
.slip-body{overflow:auto;padding:12px;flex:1;min-height:90px}
.slip-foot{padding:12px 12px 14px;border-top:1px solid var(--line);background:var(--surface-2)}
.mode{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line-strong);border-radius:var(--r-sm);overflow:hidden}
.mode button{border:0;background:var(--input-bg);padding:8px;font:700 13.5px/1.2 var(--font-head);letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}
.mode button+button{border-left:1px solid var(--line-strong)}
.mode button[aria-pressed="true"]{background:var(--btn);color:#fff}
.mode-desc{font-size:13px;color:var(--muted);margin:8px 2px 12px}
.slip-empty{padding:26px 10px;text-align:center;color:var(--muted);font-size:14px}
.slip-empty strong{display:block;color:var(--text);font:700 16px/1.2 var(--font-head);text-transform:uppercase;letter-spacing:.02em;margin-bottom:4px}
.sels{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.sel{display:flex;gap:10px;padding:10px 10px 10px 10px;background:var(--surface-2);border:1px solid var(--line);border-left:3px solid var(--brand-hi);border-radius:var(--r-sm)}
.sel-x{flex:none;width:22px;height:22px;border-radius:50%;border:0;background:var(--surface-3);color:var(--muted);line-height:1;font-size:16px;padding:0}
.sel-x:hover{background:var(--brand-hi);color:#fff}
.sel-main{flex:1;min-width:0}
.sel-pick{display:flex;gap:8px;align-items:center;font-weight:700}
.sel-pick .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pick-tag{display:inline-grid;place-items:center;min-width:28px;height:20px;padding:0 6px;border-radius:var(--r-xs);background:var(--brand);color:#fff;font:800 12px/1 var(--font-head);letter-spacing:.03em}
.sel-odd{margin-left:auto;font:800 17px/1 var(--font-head);color:var(--text)}
.sel-match{font-size:13px;color:var(--muted);margin-top:2px}
.sel-stake{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;font-size:13px;color:var(--muted)}
.sel-stake b{color:var(--text)}
.field{display:flex;align-items:center;gap:6px;padding:0 10px;background:var(--input-bg);border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--muted)}
.field input{width:84px;background:none;border:0;outline:0;padding:8px 0;text-align:right;font-weight:700;color:var(--text)}
.field:focus-within{border-color:var(--focus)}
.field-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;font-weight:600}
.field-row .field input{width:110px}
.chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.chips-label{font-size:13px;color:var(--muted);margin-right:2px}
.chip{padding:5px 10px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--input-bg);font:700 13.5px/1.2 var(--font-head)}
.chip:hover{border-color:var(--brand-hi)}
.rows{display:grid;gap:6px;margin:12px 0 4px}
.row{display:flex;justify-content:space-between;gap:10px;font-size:14.5px;color:var(--muted)}
.row b{color:var(--text)}
.row--ret b{color:var(--text);font:800 21px/1 var(--font-head)}
.slip-msg{min-height:18px;margin:6px 0 8px;font-size:13px;color:var(--muted)}
.slip-msg.is-warn{color:var(--warn)}
.foot-actions{display:flex;justify-content:center;margin-top:6px}
.linkbtn{background:none;border:0;padding:4px 6px;color:var(--muted);text-decoration:underline;font-size:13px}
.linkbtn:hover{color:var(--text)}
.receipt{text-align:center;padding:14px 4px}
.receipt-ic{width:50px;height:50px;margin:0 auto 10px;display:grid;place-items:center;border-radius:50%;background:var(--ok-bg);color:var(--ok)}
.receipt-ic .ic{width:26px;height:26px}
.receipt h3{margin:0 0 2px;font:800 20px/1.1 var(--font-head);text-transform:uppercase}
.receipt .muted{color:var(--muted);font-size:14px}
.receipt .rows{text-align:left;margin:14px 0}
.receipt .btn{margin-bottom:6px}
.bet{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px;margin-bottom:8px}
.bet-top{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.tag{padding:2px 8px;border-radius:var(--r-xs);font:700 11.5px/1.3 var(--font-head);letter-spacing:.035em;text-transform:uppercase;background:var(--brand);color:#fff}
.tag--pending{background:var(--warn-bg);color:var(--warn)}
.tag--won{background:var(--ok-bg);color:var(--ok)}
.tag--lost{background:var(--live-bg);color:var(--live)}
.tag--void{background:var(--surface-3);color:var(--muted)}
.bet-legs{list-style:none;margin:8px 0;padding:0;display:grid;gap:5px;font-size:14px}
.bet-legs li{display:flex;justify-content:space-between;gap:10px}
.bet-legs small{display:block;color:var(--muted)}
.bet-legs .o{font:800 15px/1.2 var(--font-head)}
.bet-foot{display:flex;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px dashed var(--line-strong);font-size:13.5px;color:var(--muted)}
.bet-foot b{color:var(--text)}
.bet-date{margin-top:6px}
.sel-warn{margin-top:6px;padding:4px 8px;border-radius:var(--r-xs);background:var(--warn-bg);color:var(--warn);font-size:12.5px;font-weight:700}
.meta .susp{display:inline-block;padding:1px 7px;border-radius:var(--r-xs);background:var(--warn-bg);color:var(--warn);font:800 11px/1.4 var(--font-head);letter-spacing:.035em;text-transform:uppercase}
.odd--lock{opacity:.45;cursor:not-allowed}
.odd--lock .odd-val{display:grid;place-items:center}
.odd--lock .ic{width:16px;height:16px}
.slip-empty .btn,.empty .btn{margin-top:12px}
.pos{color:var(--ok)}
.mk{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:7px;border-radius:50%;vertical-align:-3px}
.mk .ic{width:11px;height:11px;stroke-width:3}
.mk--won{background:var(--ok-bg);color:var(--ok)}
.mk--lost{background:var(--live-bg);color:var(--live)}
.mk--void{background:var(--surface-3);color:var(--muted)}
.slip-backdrop{position:fixed;inset:0;z-index:55;background:var(--scrim)}
.slip-bar{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:50;display:none;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:var(--r-md);border:0;background:var(--bar);color:#fff;font:700 16px/1 var(--font-head);letter-spacing:.025em;text-transform:uppercase;box-shadow:0 8px 26px rgba(0,0,0,.4)}
@media(max-width:899px){.slip-bar{display:flex}}
.slip-bar .l{display:flex;align-items:center;gap:8px}

/* ---------- Rodapé ---------- */
.footer{border-top:1px solid var(--line);background:var(--bg-2);color:var(--muted);font-size:13.5px}
.footer-in{max-width:1400px;margin:0 auto;padding:24px 16px}
.footer-links{display:flex;flex-wrap:wrap;gap:6px 20px;margin:0 0 14px;padding:0;list-style:none}
.footer-links a{text-decoration:none}
.footer-links a:hover{color:var(--text);text-decoration:underline}
.footer p{margin:0 0 8px;max-width:900px}
.age{display:inline-grid;place-items:center;min-width:34px;height:22px;margin-right:8px;padding:0 6px;border:2px solid var(--muted);border-radius:50%;color:var(--text);font:800 12px/1 var(--font-head)}
@media(max-width:899px){.footer-in{padding-bottom:96px}}

/* ---------- Aviso rápido ---------- */
.toast{position:fixed;left:50%;bottom:24px;z-index:90;max-width:min(92vw,440px);padding:11px 16px;border-radius:var(--r-sm);background:#1c1214;border-left:4px solid var(--brand-hi);color:#fff;font-size:14.5px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translate(-50%,16px);transition:opacity .22s,transform .22s}
.toast.is-on{opacity:1;transform:translate(-50%,0)}
@media(max-width:899px){.toast{bottom:86px}}

/* ---------- Cabeçalho em qualquer largura ----------
   Largo (> 1240 px): tudo numa linha. Até 1240 px: língua, tema, nome, Admin e Sair passam para o menu ☰
   (fica à vista o saldo, o depósito e o menu). Até 860 px: duas linhas fixas — em cima o logótipo, o saldo,
   o depósito e o menu; em baixo os separadores Casino e Desporto. Até 430 px, o depósito fica só com o "+". */
.wallet-label{white-space:nowrap}
.topbar-in{position:relative;flex-wrap:nowrap}
.mainnav{flex:none}
.acct{flex:none}
.acct-more{display:contents}
.acct-more .lang,.acct-more .theme-btn{order:-1}
.acct-menu-btn{display:none;place-items:center;width:38px;height:38px;padding:0;border-radius:var(--r-sm);border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;cursor:pointer}
.acct-menu-btn:hover,.acct.is-open .acct-menu-btn{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.6)}
.acct-menu-btn .ic{width:20px;height:20px}
.acct-lbl,.uc-ic,.acct-ri,.dep-ic{display:none}
.btn-dep{white-space:nowrap}
@media(max-width:1240px){
  .acct-menu-btn{display:grid}
  .acct-more{display:none;position:absolute;right:16px;top:calc(100% + 6px);z-index:70;flex-direction:column;align-items:stretch;gap:6px;width:240px;max-width:calc(100vw - 32px);padding:10px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--text);text-align:left}
  .acct.is-open .acct-more{display:flex;animation:lang-in .14s ease-out}
  .acct-more .userchip{order:-3}
  .acct-more .lang{order:-2}
  .acct-more .theme-btn{order:-1}
  :root .topbar .acct-more .userchip{display:flex;align-items:center;gap:9px;max-width:none;padding:4px 6px 10px;margin-bottom:2px;border-bottom:1px solid var(--line);border-radius:0;background:none;color:var(--text);font:700 15px/1.2 var(--font)}
  .acct-more .uc-ic{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:var(--surface-3);color:var(--text)}
  .acct-more .uc-ic .ic{width:18px;height:18px}
  :root .topbar .acct-more .lang-btn{width:100%;height:40px;justify-content:flex-start;gap:9px;padding:0 12px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font:600 14px/1 var(--font);letter-spacing:0}
  .acct-more .lang-btn .ic{display:block}
  .acct-more .lang-btn .lang-caret{display:block;margin-left:auto}
  .acct-more .lang-menu{left:0;right:auto;width:100%}
  :root .topbar .acct-more .theme-btn{display:flex;align-items:center;gap:9px;width:100%;height:40px;padding:0 12px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font:600 14px/1 var(--font)}
  .acct-more .lbl-to-light{display:inline}
  :root[data-theme="light"] .acct-more .lbl-to-light{display:none}
  :root[data-theme="light"] .acct-more .lbl-to-dark{display:inline}
  :root .topbar .acct .acct-more .acct-row{display:flex;align-items:center;justify-content:flex-start;gap:9px;width:100%;padding:10px 12px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font:600 14px/1.2 var(--font);letter-spacing:0;text-transform:none}
  :root .topbar .acct .acct-more .acct-row[hidden],:root .topbar .acct-more .userchip[hidden]{display:none}
  .acct-more .acct-ri{display:grid}
  .acct-more .acct-ri .ic{width:17px;height:17px}
  :root .topbar .acct .acct-more .acct-row:hover,:root .topbar .acct-more .theme-btn:hover,:root .topbar .acct-more .lang-btn:hover{border-color:var(--line-strong);background:var(--surface-3)}
  :root .topbar .acct-more #btnLogout{color:var(--live)}
}
@media(max-width:860px){
  .topbar-in{flex-wrap:wrap;gap:0 10px;min-height:0}
  .logo{padding:10px 0}
  .logo-img{height:26px}
  .mainnav{order:3;width:calc(100% + 32px);margin:0 -16px;padding:0 16px;border-top:1px solid rgba(255,255,255,.16)}
  .navbtn{flex:1;text-align:center;padding:12px 0 10px}
  .acct{gap:6px;padding:8px 0}
  .acct .long{display:none}
  .acct-more{right:12px}
}
@media(max-width:700px){
  .toolbar h1{font-size:24px}
  .search{flex:1 1 100%}
}
@media(max-width:430px){
  .topbar .acct .btn{padding:7px 11px;font-size:13.5px}
  .topbar .btn-dep{display:grid;place-items:center;width:38px;height:38px;padding:0}
  .btn-dep .dep-t{display:none}
  .btn-dep .dep-ic{display:grid}
  .btn-dep .dep-ic .ic{width:21px;height:21px}
  .wallet{padding:3px 9px}
}
@media(max-width:380px){
  .logo-img{height:22px}
  .acct{gap:5px}
  .topbar .acct .btn:not(.btn-dep){padding:7px 9px;font-size:13px}
  .wallet strong{font-size:15.5px}
}
@media(max-width:340px){
  .logo-img{height:19px}
  .topbar-in{gap:0 6px}
  .topbar .acct .btn:not(.btn-dep){padding:6px 7px;font-size:12.5px;letter-spacing:.01em}
  .acct-menu-btn,.topbar .btn-dep{width:34px;height:34px}
  .topbar .acct > .lang .lang-btn{padding:0 7px}
  .topbar .acct > .lang .lang-btn .ic{display:none}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* ---------- Janelas (entrar, registar, depósito) ---------- */
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px}
.modal-backdrop{position:absolute;inset:0;background:var(--scrim)}
.modal-card{position:relative;width:100%;max-width:420px;max-height:calc(100vh - 32px);overflow:auto;padding:22px 22px 20px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.modal-card h2{margin:0 0 14px;font:800 24px/1.1 var(--font-head);letter-spacing:.01em;text-transform:uppercase}
.modal-x{position:absolute;top:10px;right:12px;width:34px;height:34px;border:0;border-radius:var(--r-sm);background:transparent;font-size:24px;line-height:1;color:var(--muted);padding:0}
.modal-x:hover{background:var(--surface-2);color:var(--text)}
.auth-tabs,.dep-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);margin-bottom:14px}
.dep-tabs{grid-template-columns:repeat(3,1fr)}
.auth-tabs button,.dep-tabs button{border:0;background:none;padding:10px 6px;border-bottom:3px solid transparent;margin-bottom:-1px;font:700 14.5px/1 var(--font-head);letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}
.auth-tabs button:hover,.dep-tabs button:hover{color:var(--text)}
.auth-tabs button[aria-selected="true"],.dep-tabs button[aria-selected="true"]{color:var(--text);border-bottom-color:var(--brand-hi)}
.auth-note{margin:0 0 12px;padding:9px 12px;border-radius:var(--r-sm);background:var(--warn-bg);border-left:3px solid var(--warn);color:var(--text);font-size:14px}
.form{display:grid;gap:12px}
.form label.f{display:grid;gap:5px;font:700 13px/1.2 var(--font-head);letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}
.form input[type=text],.form input[type=email],.form input[type=password],.form input[type=date],.form input[type=datetime-local],.form input[type=number],.form select{width:100%;padding:11px 12px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--input-bg);color:var(--text);font:500 15px/1.3 var(--font);letter-spacing:0;text-transform:none}
.form input:focus,.form select:focus{outline:0;border-color:var(--focus);box-shadow:0 0 0 1px var(--focus)}
.form .check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.4;color:var(--muted);font-weight:500}
.form .check input{margin-top:2px;width:18px;height:18px;flex:none;accent-color:var(--brand-hi)}
.form-err{min-height:20px;margin:10px 0 0;color:var(--live);font-size:14px}
.form-hint{font:500 12.5px/1.3 var(--font);color:var(--muted);letter-spacing:0;text-transform:none}
.pw-rules{list-style:none;margin:-4px 0 0;padding:10px 12px;display:grid;gap:4px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);font-size:13px;color:var(--muted)}
.pw-rules li{display:flex;gap:8px;align-items:baseline}
.pw-rules li.is-ok{color:var(--ok)}
.pw-rules li.is-bad{color:var(--warn)}

/* depósito em cripto */
.modal-card--wide{max-width:540px}
.dep-net{margin:0 0 12px;padding:9px 12px;border-radius:var(--r-sm);font-size:13.5px;font-weight:600}
.dep-net--test{background:var(--warn-bg);border-left:3px solid var(--warn);color:var(--text)}
.dep-net--live{background:var(--ok-bg);border-left:3px solid var(--ok);color:var(--text)}
.dep-lead{margin:0 0 10px}
.dep-addr{display:flex;gap:8px;align-items:stretch}
.dep-addr-in{flex:1;min-width:0;display:flex;align-items:center;padding:10px 12px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--input-bg);color:var(--text);font:600 13px/1.35 var(--mono);overflow-wrap:anywhere;word-break:break-all;user-select:all;cursor:copy}
.dep-qr{width:168px;height:168px;margin:14px auto;padding:6px;border-radius:var(--r-sm);background:#fff;border:1px solid var(--line)}
.dep-qr svg{display:block;width:100%;height:100%}
.dep-notes{margin:0 0 6px;padding-left:18px;display:grid;gap:6px;font-size:13.5px;color:var(--muted)}
.dep-notes .dep-warn{color:var(--warn);font-weight:700}
.dep-h{margin:18px 0 8px;font:700 16px/1.2 var(--font-head);letter-spacing:.025em;text-transform:uppercase}
.dep-sim{margin-top:14px;padding:12px 14px;border-radius:var(--r-sm);background:var(--surface-2);border:1px dashed var(--line-strong)}
.dep-sim .dep-h{margin-top:0}
.dep-sim-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}
.dep-sim-form .f{display:grid;gap:5px;font:700 13px/1.2 var(--font-head);letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}
.dep-sim-form input,.dep-sim-form select{width:100%;padding:10px 12px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--input-bg);color:var(--text);font:500 15px/1.3 var(--font);text-transform:none;letter-spacing:0}
.dep-history{display:grid;gap:8px}
.dep-row{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:10px 12px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);font-size:14px}
.dep-chain{color:var(--muted);font-weight:500;font-size:13px}
.dep-st{text-align:right;font-weight:700}
.dep-st--ok{color:var(--ok)}
.dep-st--sim{color:var(--link)}
.dep-st--warn{color:var(--warn)}
.dep-meta{grid-column:1/-1;font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}
.dep-meta a{color:var(--link)}
@media(max-width:480px){
  .dep-sim-form{grid-template-columns:1fr 1fr}
  .dep-sim-form .btn{grid-column:1/-1}
}

/* =========================================================
   Casino
   ========================================================= */
.wrap{max-width:1400px;margin:0 auto;padding:16px 16px 40px}
.link-gold{color:var(--link);text-underline-offset:3px}
.link-gold:hover{text-decoration-thickness:2px}

/* mosaicos dos jogos */
.cg-games{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px;margin-bottom:18px}
@media(max-width:1180px){.cg-games{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:520px){.cg-games{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
.cg-tab{display:grid;grid-template-rows:auto auto;padding:0;overflow:hidden;border-radius:var(--r-md);border:2px solid var(--line);background:var(--surface);text-align:left;transition:transform .12s,border-color .12s}
.cg-tab:hover{transform:translateY(-2px);border-color:var(--line-strong)}
.cg-tab[aria-selected="true"]{border-color:var(--brand-hi);box-shadow:0 0 0 1px var(--brand-hi)}
.gt-art{display:block;aspect-ratio:4/3;background:var(--tile,#7b1230);--ink:var(--tile,#7b1230)}
.gt-art .art{display:block;width:100%;height:100%}
.gt--poker{--tile:#0d4a32}.gt--poker .gt-art{--ink:#1c1416}
.gt--chess{--tile:#4a2e1c}
.gt--train{--tile:#1d3f6e}.gt--train .a-c{fill:#f4c443}
.gt--dice{--tile:#7b1230}.gt--limbo{--tile:#2a1a20}.gt--coinflip{--tile:#e8d9c6}.gt--plinko{--tile:#a3213f}.gt--mines{--tile:#3d1b27}.gt--roulette{--tile:#5a0f25}.gt--crash{--tile:#1c1215}.gt--blackjack{--tile:#6a1029}
.gt-cap{display:flex;flex-direction:column;gap:1px;padding:9px 11px 10px;min-width:0}
.cg-tn{font:800 16px/1.15 var(--font-head);letter-spacing:.02em;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cg-te{font-size:12.5px;color:var(--muted)}
.cg-tab[aria-selected="true"] .cg-te{color:var(--link)}
.art .a-p{fill:#fff}.art .a-c{fill:#f1e3d3}.art .a-i{fill:var(--ink)}
.art .a-dimfill{fill:rgba(255,255,255,.22)}
.art .a-shadow{fill:rgba(0,0,0,.22)}
.art .a-ring{fill:none;stroke:var(--ink);stroke-width:3;opacity:.28}
.art .a-s{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.art .a-ink{stroke:var(--ink)}
.art .a-thick{stroke-width:6}
.art .a-dim{opacity:.4}
.art .a-t{fill:#fff;font:800 64px/1 var(--font-head)}
.gt--coinflip .a-dimfill{fill:rgba(0,0,0,.1)}
.gt--coinflip .a-s:not(.a-ink){stroke:#7b1230}
.gt--coinflip .a-c{fill:#fff8ee}
.promo-art .art{width:100%;height:auto;display:block}

.cg-main{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);margin-bottom:16px}
@media(min-width:900px){.cg-main{grid-template-columns:340px minmax(0,1fr);align-items:start}}
.cg-controls,.cg-card{padding:18px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line)}
.cg-stage{padding:18px;border-radius:var(--r-md);background:var(--stage);border:1px solid var(--line)}
.cg-controls form{display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}
.cg-controls.is-busy,.cg-stage.is-busy{pointer-events:none}
.cg-stage.is-busy .rps-choose{pointer-events:auto}   /* pedra, papel, tesoura: a ronda está a meio, mas é a tua vez de escolher */
.cg-controls.is-busy .cg-play{opacity:.55}
.cg-f{display:grid;gap:6px;font:700 13px/1.2 var(--font-head);letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}
.cg-money{display:flex;align-items:center;gap:8px;padding:0 12px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--input-bg);color:var(--muted);font-weight:700}
.cg-money:focus-within{border-color:var(--focus)}
.cg-money input{flex:1;min-width:0;padding:11px 0;border:0;background:none;outline:0;color:var(--text);font:700 16px/1.2 var(--font);letter-spacing:0;text-transform:none}
.cg-controls input[type=text],.cg-controls select,.cg-fair input[type=text]{width:100%;padding:11px 12px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--input-bg);color:var(--text);font:600 15px/1.3 var(--font);letter-spacing:0;text-transform:none}
.cg-controls .cg-money input[type=text]{width:auto;padding:11px 0;border:0;background:none}
.cg-controls input:focus,.cg-controls select:focus,.cg-fair input:focus{outline:0;border-color:var(--focus)}
.cg-ops{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px}
.cg-ops button,.cg-seg button{padding:9px 6px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface-2);font:700 14px/1.2 var(--font-head);letter-spacing:.03em}
.cg-ops button:hover,.cg-seg button:hover{border-color:var(--brand-hi)}
.cg-ops button[disabled]{opacity:.45;cursor:not-allowed}
.cg-chipsel{grid-auto-flow:row;grid-template-columns:repeat(4,1fr)}
.cg-chipsel button[aria-pressed="true"],.cg-seg button[aria-pressed="true"]{background:var(--btn);border-color:var(--btn);color:#fff}
.cg-seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px}
.cg-range{width:100%;accent-color:var(--brand-hi)}
.cg-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}
.cg-stats>div{padding:9px 5px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);text-align:center;min-width:0}
.cg-stats dt{font:600 10px/1.25 var(--font-head);text-transform:uppercase;letter-spacing:.01em;color:var(--muted)}
.cg-stats dd{margin:3px 0 0;font:800 16px/1.15 var(--font-head);overflow-wrap:anywhere}
.cg-meta{margin:0;font-size:13px;color:var(--muted)}
.cg-meta strong{color:var(--text)}
.cg-play{font-size:17px;padding:13px}

.cg-stage{min-height:340px;display:grid;grid-template-rows:1fr auto;grid-template-columns:minmax(0,1fr);gap:14px}
.cg-viz{display:grid;grid-template-columns:minmax(0,1fr);align-content:center;justify-items:center;gap:14px;min-height:240px}
.cg-bigval{font:800 60px/1 var(--font-head);letter-spacing:.01em;color:var(--text)}
.cg-bigval--xl{font-size:80px}
@media(max-width:520px){.cg-bigval{font-size:48px}.cg-bigval--xl{font-size:60px}}
.cg-bigval.is-win,.is-win>.cg-bigval{color:var(--ok)}
.cg-bigval.is-lose{color:var(--text)}
.cg-bigval.is-idle{color:var(--faint)}
.cg-sub{margin:0;color:var(--muted);text-align:center;max-width:420px}
.cg-result{min-height:56px;display:grid;gap:2px;align-content:center;justify-items:center;padding:10px 14px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line);text-align:center;color:var(--muted);font-size:13.5px}
.cg-result strong{font:800 20px/1.1 var(--font-head);text-transform:uppercase;letter-spacing:.02em;color:var(--text)}
.cg-result.is-win{border-color:var(--ok);background:var(--ok-bg)}
.cg-result.is-win strong{color:var(--ok)}
.cg-result.is-lose strong{color:var(--live)}
.cg-result.is-lose{border-color:var(--live)}
.cg-result:empty{visibility:hidden}

/* dados */
.cg-dice{width:100%}
.cg-track{position:relative;width:100%;max-width:560px;height:16px;border-radius:var(--r-xs);background:var(--live-bg);box-shadow:inset 0 0 0 1px var(--live);margin-top:36px}
.cg-zone{position:absolute;top:0;bottom:0;border-radius:var(--r-xs);background:var(--ok);transition:left .2s,width .2s}
.cg-marker{position:absolute;top:-32px;transform:translateX(-50%);transition:left .35s cubic-bezier(.2,.8,.2,1);font:800 13px/1 var(--font-head)}
.cg-marker span{display:block;padding:4px 8px;border-radius:var(--r-xs);background:var(--text);color:var(--bg);position:relative}
.cg-marker span::after{content:"";position:absolute;left:50%;bottom:-5px;margin-left:-5px;border:5px solid transparent;border-bottom:0;border-top-color:var(--text)}
.cg-scale{display:flex;justify-content:space-between;width:100%;max-width:560px;font-size:12.5px;color:var(--muted)}

/* cara ou coroa */
.cg-coin{display:grid;place-items:center;width:128px;height:128px;border-radius:50%;background:var(--coin);border:7px solid var(--coin-ring);color:#2a1a02;font:800 24px/1 var(--font-head);text-transform:uppercase}
.cg-coin.is-flip{animation:cg-flip .9s ease-in-out}
.cg-coin.is-win{box-shadow:0 0 0 4px var(--ok)}
.cg-coin.is-lose{box-shadow:none}
@keyframes cg-flip{0%{transform:rotateY(0)}100%{transform:rotateY(1440deg)}}

/* plinko */
.pk-wrap{width:100%;max-width:520px}
.pk-svg{display:block;width:100%;height:auto}
.pk-peg{fill:var(--faint)}
.pk-ball{fill:var(--live);stroke:#fff;stroke-width:1.4}
.pk-b rect{fill:var(--pk-lo)}
.pk-b text{fill:var(--text);font-weight:800;pointer-events:none;font-family:var(--font-head)}
.pk-b.pk-mid rect{fill:var(--pk-mid)}.pk-b.pk-hi rect{fill:var(--pk-hi)}.pk-b.pk-top rect{fill:var(--pk-top)}
.pk-b.pk-mid text,.pk-b.pk-hi text,.pk-b.pk-top text{fill:#fff}
.pk-b.is-hit rect{stroke:var(--text);stroke-width:2.2}

/* minas */
.mn-status{min-height:22px;color:var(--muted);text-align:center;font-size:14px;max-width:460px}
.mn-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;width:100%;max-width:420px}
.mn-tile{aspect-ratio:1;display:grid;place-items:center;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface-3);padding:0;transition:transform .1s,border-color .12s}
.mn-tile .ic{width:46%;height:46%;stroke-width:1.7}
.mn-tile:not([disabled]):hover{transform:translateY(-2px);border-color:var(--brand-hi)}
.mn-tile[disabled]{cursor:default}
.mn-tile.is-gem{background:var(--ok-bg);border-color:var(--ok);color:var(--ok)}
.mn-tile.is-mine{background:var(--live-bg);border-color:var(--live);color:var(--live)}
.mn-tile.is-hit{box-shadow:0 0 0 3px var(--live)}
.mn-tile.is-ghost{opacity:.5}

/* roleta */
.rl-top{display:flex;align-items:center;gap:14px;width:100%;justify-content:center;flex-wrap:wrap}
.rl-pocket{display:grid;place-items:center;width:84px;height:84px;border-radius:50%;font:800 36px/1 var(--font-head);color:#fff;background:var(--surface-3);border:4px solid var(--line-strong)}
.rl-pocket.rl-spin{border-color:var(--link);animation:cg-pulse .5s infinite alternate}
@keyframes cg-pulse{to{transform:scale(1.06)}}
.rl-hist{display:flex;gap:5px;margin:0;padding:0;list-style:none;flex-wrap:wrap}
.rl-h{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font:700 13px/1 var(--font-head);color:#fff;border:1px solid rgba(255,255,255,.18)}
.rl-wrap{width:100%;overflow-x:auto;padding-bottom:4px}
.rl-board{display:grid;grid-template-columns:40px repeat(12,minmax(34px,1fr)) 44px;gap:3px;min-width:560px}
.rl-c{position:relative;display:grid;place-items:center;min-height:44px;padding:2px;border-radius:var(--r-sm);border:1px solid rgba(255,255,255,.2);background:var(--surface-3);font:700 15px/1 var(--font-head);color:var(--text)}
.rl-c:hover{border-color:var(--link)}
.rl-z{grid-row:span 3}
.rl-red{background:var(--rl-red)!important;color:#fff}
.rl-black{background:var(--rl-black)!important;color:#fff}
.rl-green{background:var(--rl-green)!important;color:#fff}
.rl-col{font-size:12.5px}
.rl-doz{grid-column:span 4;font-size:13.5px}
.rl-doz[data-v="1"]{grid-column:2/span 4}
.rl-out{grid-column:span 2;font-size:13.5px}
.rl-out[data-t="half"][data-v="low"]{grid-column:2/span 2}
.rl-amt{display:none;position:absolute;right:-3px;top:-7px;min-width:20px;padding:2px 5px;border-radius:9px;background:#fff;color:#650e27;border:1px solid #650e27;font:800 10.5px/1.2 var(--font-head)}
.rl-amt.is-on{display:block}

/* Provably Fair + histórico */
.cg-card{margin-bottom:16px}
.cg-card h2{margin:0 0 8px;font:800 22px/1.1 var(--font-head);letter-spacing:.01em;text-transform:uppercase}
.cg-lead{margin:0 0 14px;color:var(--muted);font-size:14px}
.cg-lead code,.cg-fair code{padding:1px 6px;border-radius:var(--r-xs);background:var(--surface-3);font:600 12.5px var(--mono);color:var(--text)}
.cg-seedgrid{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
@media(min-width:900px){.cg-seedgrid{grid-template-columns:minmax(0,1.5fr) minmax(0,1.2fr) auto;align-items:start}}
.cg-copyrow{display:flex;gap:8px}
.cg-copyrow input{flex:1;min-width:0}
.cg-mono{font:12.5px/1.4 var(--mono);overflow-wrap:anywhere}
.cg-nonce{font:800 30px/1 var(--font-head);color:var(--text)}
.cg-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}
.cg-h{margin:18px 0 8px;font:700 16px/1.2 var(--font-head);letter-spacing:.025em;text-transform:uppercase}
.cg-seedrow{margin-top:12px;padding:12px 14px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line)}
.cg-seedrow.is-fresh{border-color:var(--link);background:var(--surface-2)}
.cg-seedrow dl{display:grid;gap:8px;margin:0}
.cg-seedrow dt{font:600 11px/1.2 var(--font-head);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.cg-seedrow dd{margin:2px 0 0}
.cg-fresh{margin:0 0 8px;font-weight:700;color:var(--link)}
.cg-ok{margin:10px 0 0;color:var(--ok);font-weight:700}
.cg-bad{margin:10px 0 0;color:var(--live);font-weight:700}
.cg-rows{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.cg-row{border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line)}
.cg-row>summary{display:grid;grid-template-columns:1.1fr 1.3fr .9fr .8fr .9fr auto;gap:8px;align-items:center;padding:10px 12px;cursor:pointer;list-style:none;font-size:14px}
.cg-row>summary::-webkit-details-marker{display:none}
.cg-r-game{font:800 15px/1.2 var(--font-head);text-transform:uppercase;letter-spacing:.02em}
.cg-r-time{color:var(--muted);font-size:13px}
.cg-r-pay.pos{color:var(--ok);font-weight:800}
.cg-r-pay.neg{color:var(--live)}
.cg-v{padding:2px 8px;border-radius:var(--r-xs);font:700 12px/1.4 var(--font-head);letter-spacing:.025em;text-transform:uppercase;white-space:nowrap}
.cg-v .ic{width:12px;height:12px;stroke-width:3;vertical-align:-1px;margin-right:3px}
.cg-v--ok{background:var(--ok-bg);color:var(--ok)}
.cg-v--bad{background:var(--live-bg);color:var(--live)}
.cg-v--wait{background:var(--surface-3);color:var(--muted)}
.cg-detail{display:grid;gap:8px;margin:0;padding:0 12px 10px}
.cg-detail dt{font:600 11px/1.2 var(--font-head);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.cg-detail dd{margin:2px 0 0}
.cg-row>a{display:inline-block;margin:0 12px 12px}
@media(max-width:700px){
  .cg-row>summary{grid-template-columns:1fr 1fr;row-gap:4px}
  .cg-stats dd{font-size:14.5px}
}

/* ---------- Acabamentos da interface nova ---------- */
.promo{--ink:#7b1230}
.promo--b{--ink:#2a1a20}
.promo-art .art .a-t{font-family:var(--font-head)}
.pw-dot{display:inline-block;width:9px;height:9px;margin:0 .3em;border:2px solid currentColor;border-radius:50%;opacity:.7}
.cg-ok .ic,.cg-bad .ic{margin-right:6px}
.search .ic{width:18px;height:18px}

/* tabelas (admin e /fair) */
.tblwrap{overflow-x:auto;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface)}
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th,.tbl td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl th{font:700 12px/1.2 var(--font-head);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--surface-2)}
.tbl tr:last-child td{border-bottom:0}
.tbl .num{text-align:right}
.cg-mono{font-family:var(--mono);font-size:12.5px;overflow-wrap:anywhere}

/* ---------- Telemóvel: faixas compactas ---------- */
button,a{-webkit-tap-highlight-color:transparent}
@media(max-width:699px){
  .promos{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-16px;padding-right:16px;scrollbar-width:none}
  .promos::-webkit-scrollbar{display:none}
  .promo{flex:0 0 84%;min-height:112px;scroll-snap-align:start}
  .promo p{display:none}
  .promo h2{max-width:70%;font-size:20px}
  .promo-art{width:120px}
  .cg-games{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;margin-right:-16px;padding:0 16px 4px 0;scrollbar-width:none}
  .cg-games::-webkit-scrollbar{display:none}
  .cg-tab{flex:0 0 138px;scroll-snap-align:start}
  .cg-games>.empty{flex:1}
}

/* ---------- Marca de água do "G" (desenho da marca, em tons suaves) ---------- */
:root{--wm:url(/img/g-wm-vinho-escuro.png)}
:root[data-theme="light"]{--wm:url(/img/g-wm-vinho.png)}
.promo{background-image:url(/img/g-wm-sombra.png);background-repeat:no-repeat;background-position:right -34px bottom -62px;background-size:210px auto}
.promo--b{background-image:url(/img/g-wm-claro.png)}
.slip-empty{background:var(--wm) center 6px/150px auto no-repeat}
.receipt{background:var(--wm) right -34px bottom -40px/170px auto no-repeat}
.modal-card{background-image:var(--wm);background-repeat:no-repeat;background-position:right -56px bottom -66px;background-size:250px auto}
.footer{background-image:var(--wm);background-repeat:no-repeat;background-position:right 5% bottom -120px;background-size:300px auto}
.cg-stage{background-image:var(--wm);background-repeat:no-repeat;background-position:center;background-size:230px auto}
@media(max-width:699px){
  .promo{background-size:170px auto;background-position:right -30px bottom -52px}
  .modal-card{background-size:200px auto;background-position:right -50px bottom -56px}
  .footer{background-size:230px auto;background-position:right -40px bottom -100px}
}

/* ---------- Partilhar aposta (imagem) ---------- */
.btn--share{display:flex;width:100%;margin:0 0 8px}
.btn--share .ic{width:18px;height:18px}
.linkbtn--share{display:inline-flex;align-items:center;gap:6px;color:var(--link);text-decoration:none;font-weight:600}
.linkbtn--share:hover{color:var(--text);text-decoration:underline}
.linkbtn--share .ic{width:15px;height:15px}
.modal-card--share{max-width:520px}
.share-stage{position:relative;margin-bottom:14px;border-radius:var(--r-md);overflow:hidden;background:var(--stage);border:1px solid var(--line)}
.share-stage canvas{display:block;width:100%;height:auto;aspect-ratio:1/1;transition:opacity .15s}
.share-stage canvas.is-busy{opacity:.15}
.share-wait{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:16px;text-align:center;color:var(--muted);font-weight:600}
.share-actions{display:flex;gap:8px;flex-wrap:wrap}
.share-actions .btn{flex:1 1 auto;padding:11px 14px}
.modal-card--share .form-hint{margin:10px 0 0}


/* =========================================================
   Casino: animações e mesas (roleta, moeda, limbo, dados, minas, plinko, crash, blackjack)
   ========================================================= */
.cg-bigval.is-pop{animation:cg-pop .38s cubic-bezier(.2,.9,.3,1.3)}
@keyframes cg-pop{0%{transform:scale(1)}45%{transform:scale(1.13)}100%{transform:scale(1)}}
.cg-marker.is-moving{transition:none}

/* Roleta */
.rl{gap:12px}
.rl-wheelbox{position:relative;width:min(100%,340px);aspect-ratio:1}
.rw{display:block;width:100%;height:100%;filter:drop-shadow(0 10px 18px rgba(0,0,0,.45))}
.rw-track{fill:#2b1912;stroke:#8a5d2c;stroke-width:2}
.rw-trackline{fill:none;stroke:rgba(255,215,140,.32);stroke-width:1.4}
.rw-diamond{fill:url(#rwGold)}
.rw-num.rw-red{fill:#b3243f}.rw-num.rw-black{fill:#18161b}.rw-num.rw-green{fill:#17804f}
.rw-pocket.rw-red{fill:#7f1a2e}.rw-pocket.rw-black{fill:#0e0d10}.rw-pocket.rw-green{fill:#0f5c38}
.rw-num.is-win{stroke:#ffe08a;stroke-width:3;animation:rw-glow 1s ease-in-out 3}
@keyframes rw-glow{50%{stroke-width:5}}
.rw-frets line{stroke:#d8b46a;stroke-width:1.3}
.rw-labels text{fill:#fff;font:700 12.5px var(--font-head);text-anchor:middle;dominant-baseline:central}
.rw-ringin{fill:none;stroke:#d8b46a;stroke-width:2.4}
.rw-ringcone{fill:none;stroke:rgba(216,180,106,.3);stroke-width:1.2}
.rw-spoke{fill:url(#rwGold)}
.rw-ball{filter:drop-shadow(0 1.5px 1.5px rgba(0,0,0,.65))}
.rl-pocket{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;display:grid;place-items:center;font:800 34px/1 var(--font-head);color:#fff;background:#18161b;border:4px solid #d8b46a;box-shadow:0 4px 14px rgba(0,0,0,.55);transition:opacity .25s,transform .25s}
.rl-pocket:empty,.rl-pocket.rl-spin{opacity:0;transform:translate(-50%,-50%) scale(.6)}
.rl-pocket.rl-red{background:#b3243f}.rl-pocket.rl-black{background:#18161b}.rl-pocket.rl-green{background:#17804f}
.rl-hist{justify-content:center;min-height:28px}
.rl-c.is-win{box-shadow:inset 0 0 0 2px #ffe08a;animation:rl-win .9s ease-in-out 3}
@keyframes rl-win{50%{box-shadow:inset 0 0 0 4px #ffe08a}}

/* Moeda */
.coin3d{display:grid;justify-items:center;width:170px;perspective:800px}
.coin-toss{width:150px;height:150px;transform-style:preserve-3d}
.coin-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d}
.coin-face{position:absolute;inset:0;border-radius:50%;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 0 0 1px rgba(0,0,0,.18),inset 0 -6px 12px rgba(0,0,0,.18)}
.coin-tails{transform:rotateX(180deg)}
.cf{display:block;width:100%;height:100%}
.cf-rim{fill:var(--coin-ring)}
.cf-field{fill:var(--coin)}
.cf-bead{fill:#7a5310;opacity:.55}
.cf-line{fill:none;stroke:#6b470b;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.cf-ink{fill:#6b470b}
.cf-solid{fill:#7a5310}
.cf-gem{fill:var(--coin)}
.cf-cut{fill:none;stroke:var(--coin);stroke-width:1.6;opacity:.55}
.coin-shadow{width:116px;height:14px;margin-top:14px;border-radius:50%;background:rgba(0,0,0,.42);filter:blur(4px)}
.coin3d.is-win .coin-face{box-shadow:0 0 0 4px var(--ok),inset 0 -6px 12px rgba(0,0,0,.18)}
.coin3d.is-lose .coin-face{box-shadow:inset 0 -6px 12px rgba(0,0,0,.18)}

/* Limbo */
.lb-meter{position:relative;width:100%;max-width:520px;height:14px;margin:30px 0 24px;border-radius:999px;background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--line)}
.lb-fill{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:inherit;background:var(--muted)}
.lb-fill.is-over,.lb-fill.is-win{background:var(--ok)}
.lb-fill.is-lose{background:var(--line-strong)}
.lb-target{position:absolute;top:-9px;bottom:-9px;width:3px;margin-left:-1.5px;border-radius:2px;background:var(--text);transition:left .2s}
.lb-target span{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);white-space:nowrap;font:700 12px/1 var(--font-head);letter-spacing:.04em;color:var(--text)}
.lb-scale{position:absolute;top:calc(100% + 7px);left:0;right:0;display:flex;justify-content:space-between;font:600 11px/1 var(--font);color:var(--muted)}

/* Minas */
.mn-tile{position:relative;perspective:500px}
.mn-face{display:grid;place-items:center;width:100%;height:100%}
.mn-tile.is-pressed{animation:mn-wait .5s ease-in-out infinite alternate}
@keyframes mn-wait{from{transform:scale(.94)}to{transform:scale(.88)}}
.mn-tile.is-new{animation:mn-flip .46s cubic-bezier(.2,.8,.3,1.25)}
.mn-tile.is-reveal{animation:mn-flip .36s ease-out backwards}
@keyframes mn-flip{0%{transform:rotateY(90deg) scale(.86)}65%{transform:rotateY(-14deg) scale(1.08)}100%{transform:none}}
.mn-tile.is-boom{animation:mn-flip .3s ease-out,mn-boom .5s .25s ease-out}
.mn-tile.is-boom::after{content:"";position:absolute;inset:-3px;border-radius:inherit;border:3px solid var(--live);opacity:0;animation:mn-wave .7s .25s ease-out}
@keyframes mn-boom{30%{transform:scale(1.22);background:var(--live);color:#fff}100%{transform:none}}
@keyframes mn-wave{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(2.2)}}
.mn-grid.is-shake,.cr-wrap.is-boom{animation:mn-shake .45s .22s}
@keyframes mn-shake{20%{transform:translateX(-6px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}
.mn-spark{position:absolute;inset:0;pointer-events:none}
.mn-spark i{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--ok);opacity:0;animation:mn-spark .6s .12s ease-out}
.mn-spark i:nth-child(1){--dx:0px;--dy:-30px}.mn-spark i:nth-child(2){--dx:26px;--dy:-15px}.mn-spark i:nth-child(3){--dx:26px;--dy:15px}
.mn-spark i:nth-child(4){--dx:0px;--dy:30px}.mn-spark i:nth-child(5){--dx:-26px;--dy:15px}.mn-spark i:nth-child(6){--dx:-26px;--dy:-15px}
@keyframes mn-spark{0%{opacity:1;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.3)}}

/* Plinko */
.pk-peg{transform-box:fill-box;transform-origin:center;transition:transform .22s,fill .22s}
.pk-peg.is-hit{fill:var(--text);transform:scale(1.5);transition:none}
.pk-ball{fill:var(--live);stroke:#fff;stroke-width:1.2}
.pk-b{transform-box:fill-box;transform-origin:center top}
.pk-b.is-bump{animation:pk-bump .45s ease-out}
@keyframes pk-bump{30%{transform:translateY(4px)}100%{transform:none}}
.cg-play.is-pressed{transform:scale(.98)}

/* Crash */
.cr{width:100%;gap:10px}
.cr-wrap{position:relative;width:100%;height:320px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);overflow:hidden}
.cr-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.cr-over{position:absolute;inset:0 0 40px 50px;display:grid;place-content:center;justify-items:center;gap:8px;text-align:center;pointer-events:none}
.cr-mult{font:800 72px/1 var(--font-head);letter-spacing:.01em;color:var(--text);text-shadow:0 2px 12px var(--bg)}
.cr-mult.is-win{color:var(--ok)}.cr-mult.is-lose{color:var(--live)}
.cr-note{max-width:420px;text-wrap:balance;font-size:14px;color:var(--muted);text-shadow:0 1px 8px var(--bg)}
.cr-wrap.is-crashed{box-shadow:inset 0 0 0 2px var(--live)}
.cr-hist{display:flex;flex-wrap:wrap;gap:6px;width:100%;margin:0;padding:0;list-style:none;min-height:26px}
.cr-hist li{padding:4px 9px;border-radius:999px;background:var(--surface-3);font:700 12.5px/1.2 var(--font-head)}
.cr-hist li.is-hi{color:var(--ok)}.cr-hist li.is-lo{color:var(--live)}
.cr-hist li.is-won{box-shadow:inset 0 0 0 1.5px var(--ok)}
.cg-cash{font-variant-numeric:tabular-nums}
@media(max-width:520px){.cr-wrap{height:250px}.cr-mult{font-size:52px}.cr-over{inset:0 0 36px 44px}}

/* Blackjack */
.bj{width:100%;gap:10px}
.bj-table{position:relative;width:100%;min-height:380px;display:grid;grid-template-rows:auto auto 1fr;gap:12px;padding:20px 16px 24px;border-radius:160px 160px var(--r-lg) var(--r-lg)/70px 70px var(--r-lg) var(--r-lg);background:radial-gradient(ellipse at 50% 0%,#8f1b3a 0%,#5e1027 52%,#3a0817 100%);box-shadow:inset 0 0 0 5px #2a0611,inset 0 0 0 7px rgba(216,180,106,.55),0 10px 24px rgba(0,0,0,.25);color:#fff}
.bj-shoe{position:absolute;top:16px;right:22px;width:44px;height:60px;border-radius:7px;background:#2a0611;box-shadow:0 3px 8px rgba(0,0,0,.4),inset 0 0 0 2px rgba(216,180,106,.5)}
.bj-shoe span{position:absolute;inset:6px 6px 10px;border-radius:4px;background:repeating-linear-gradient(45deg,#7b1230 0 5px,#651026 5px 10px);border:2px solid #fff}
.bj-area--dealer{display:grid;justify-items:center;gap:8px}
.bj-label{display:flex;align-items:center;gap:8px;font:700 13px/1 var(--font-head);letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.bj-total{min-width:30px;padding:3px 9px;border-radius:999px;background:rgba(0,0,0,.38);color:#fff;font-size:14px;text-align:center;letter-spacing:0}
.bj-res{padding:3px 9px;border-radius:999px;font-size:12px;letter-spacing:.04em}
.bj-res--win,.bj-res--blackjack{background:#35c98d;color:#052a1a}
.bj-res--lose,.bj-res--bust{background:rgba(255,255,255,.16);color:#fff}
.bj-res--push{background:#efe6da;color:#3a2a20}
.bj-felt{margin:0;align-self:center;text-align:center;font:700 12px/1.4 var(--font-head);letter-spacing:.16em;text-transform:uppercase;color:rgba(255,224,160,.55)}
.bj-hands{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:22px}
.bj-hand{display:grid;justify-items:center;gap:8px;padding:10px 12px;border-radius:var(--r-md);transition:background .2s,box-shadow .2s}
.bj-hand.is-current{background:rgba(255,255,255,.07);box-shadow:0 0 0 2px rgba(255,224,160,.65)}
.bj-hand.is-lose{opacity:.78}
.bj-cards{display:flex;align-items:flex-start;min-height:96px}
.bj-cards .pc+.pc{margin-left:-20px}
.pc{flex:none;width:66px;height:94px;perspective:700px}
.pc-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d}
.pc-front,.pc-back{position:absolute;inset:0;border-radius:8px;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.pc-front{background:#fffdf8;color:#1b1a1f;border:1px solid rgba(0,0,0,.14);box-shadow:0 3px 8px rgba(0,0,0,.35)}
.pc--red .pc-front{color:#c0182f}
.pc-back{transform:rotateY(180deg);background:repeating-linear-gradient(45deg,#7b1230 0 6px,#651026 6px 12px);border:3px solid #fff;box-shadow:0 3px 8px rgba(0,0,0,.35)}
.pc.is-down .pc-inner{transform:rotateY(180deg)}
.pc-corner{position:absolute;display:grid;justify-items:center;gap:1px;font:700 17px/1 var(--font)}
.pc-tl{top:6px;left:6px}
.pc-br{right:6px;bottom:6px;transform:rotate(180deg)}
.pc-s{width:12px;height:12px;fill:currentColor}
.pc-big{position:absolute;left:50%;top:50%;width:30px;height:30px;transform:translate(-50%,-50%);fill:currentColor}
.pc--double{transform:rotate(90deg) translate(10px,-8px)}
.bj-acts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bj-act{position:relative;overflow:hidden;padding:12px 10px}
/* durante a mão, cada jogada tem a sua cor: pedir verde, ficar vermelho, dobrar dourado, dividir azul */
.bj-act--hit{--c:#1f9d63;--c2:#26b673}.bj-act--stand{--c:#c4344b;--c2:#d9485f}.bj-act--double{--c:#c98f16;--c2:#e0a92a}.bj-act--split{--c:#4560d1;--c2:#5a76e6}
.bj-act--insure{--c:#c98f16;--c2:#e0a92a}.bj-act--noinsure{--c:#5f4f56;--c2:#76646c}
.bj-acts.is-live .bj-act,.bj-ins .bj-act{border:0;color:#fff;background:linear-gradient(180deg,var(--c2),var(--c));box-shadow:0 6px 16px -9px var(--c),inset 0 1px 0 rgba(255,255,255,.18);text-shadow:0 1px 0 rgba(0,0,0,.18);transition:transform .14s ease,box-shadow .14s ease,filter .14s ease,opacity .2s ease}
.bj-acts.is-live .bj-act:not([disabled]):hover,.bj-ins .bj-act:hover{transform:translateY(-2px);box-shadow:0 11px 22px -9px var(--c),inset 0 1px 0 rgba(255,255,255,.22);filter:brightness(1.06)}
.bj-acts.is-live .bj-act:not([disabled]):active,.bj-ins .bj-act:active{transform:translateY(0) scale(.97)}
.bj-acts.is-live .bj-act[disabled]{opacity:.32;box-shadow:none;filter:saturate(.55)}
.bj-acts.is-enter .bj-act,.bj-ins.is-enter{animation:bj-rise .34s cubic-bezier(.2,.8,.25,1.25) both}
.bj-acts.is-enter .bj-act:nth-child(2){animation-delay:.05s}
.bj-acts.is-enter .bj-act:nth-child(3){animation-delay:.1s}
.bj-acts.is-enter .bj-act:nth-child(4){animation-delay:.15s}
.bj-acts.is-enter .bj-act:not([disabled])::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.34) 50%,transparent 70%);transform:translateX(-130%);animation:bj-sheen .85s .3s ease-out both;pointer-events:none}
@keyframes bj-rise{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}
@keyframes bj-sheen{to{transform:translateX(130%)}}
.bj-ins{display:grid;gap:8px;padding:10px 12px;border-radius:var(--r-sm);border:1px solid var(--gold);background:var(--gold-bg)}
.bj-ins p{margin:0;font:600 13px/1.45 var(--font);color:var(--text)}
.bj-ins-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media (prefers-reduced-motion: reduce){.bj-acts.is-enter .bj-act,.bj-ins.is-enter,.bj-acts.is-enter .bj-act::after{animation:none}.bj-acts.is-live .bj-act,.bj-ins .bj-act{transition:none}}
@media(max-width:520px){
  .bj-table{min-height:330px;padding:16px 8px 18px;border-radius:110px 110px var(--r-lg) var(--r-lg)/50px 50px var(--r-lg) var(--r-lg)}
  .pc{width:52px;height:74px}.bj-cards{min-height:76px}.bj-cards .pc+.pc{margin-left:-17px}
  .pc-corner{font-size:14px}.pc-big{width:22px;height:22px}.bj-shoe{width:34px;height:46px;right:14px}
  .bj-hands{gap:10px}
}
@media(prefers-reduced-motion:reduce){
  .mn-tile.is-new,.mn-tile.is-reveal,.mn-tile.is-boom,.mn-grid.is-shake,.cr-wrap.is-boom,.pk-b.is-bump,.cg-bigval.is-pop,.rw-num.is-win,.rl-c.is-win{animation:none}
  .mn-spark{display:none}
}

/* =========================================================
   Ao vivo (Crash e Roleta), "em breve" no desporto, movimento na navegação
   ========================================================= */
/* barra de estado da ronda, com relógio ao milissegundo */
.live-bar{position:relative;display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px 12px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line);overflow:hidden}
.live-dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--live);animation:pulse 1.6s infinite}
.live-phase{font:700 13px/1.2 var(--font-head);letter-spacing:.035em;text-transform:uppercase;color:var(--muted)}
.live-timer{margin-left:auto;font:800 22px/1 var(--font-head);font-variant-numeric:tabular-nums;letter-spacing:.01em;min-width:7.2ch;text-align:right}
.live-prog{position:absolute;left:0;right:0;bottom:0;height:3px;background:transparent}
.live-prog i{display:block;height:100%;width:0;background:var(--ok);transition:none}
.live-bar[data-phase="betting"]{border-color:color-mix(in srgb,var(--ok) 55%,var(--line))}
.live-bar[data-phase="betting"] .live-phase,.live-bar[data-phase="betting"] .live-timer{color:var(--ok)}
.live-bar[data-phase="betting"] .live-dot{background:var(--ok)}
.live-bar[data-phase="running"] .live-prog i,.live-bar[data-phase="closing"] .live-prog i{background:var(--brand-hi)}
.live-bar[data-phase="done"] .live-prog i{background:var(--muted)}
.live-bar[data-phase="off"] .live-dot{background:var(--faint);animation:none}
/* em pausa: a casa está a mudar a margem (a ronda seguinte espera) */
.live-bar[data-phase="held"]{border-color:color-mix(in srgb,var(--warn) 55%,var(--line));background:var(--warn-bg)}
.live-bar[data-phase="held"] .live-phase{color:var(--warn)}
.live-bar[data-phase="held"] .live-dot{background:var(--warn);animation:none}
.lv-mini[data-phase="held"]{border-color:color-mix(in srgb,var(--warn) 55%,var(--line));color:var(--warn)}
/* jogo em pausa (margem em edição no painel): aviso por cima dos controlos */
.cg-paused{display:flex;align-items:flex-start;gap:8px;margin:0 0 12px;padding:10px 12px;border-radius:var(--r-sm);background:var(--warn-bg);border:1px solid color-mix(in srgb,var(--warn) 40%,transparent);color:var(--text);font-size:13.5px;line-height:1.4}
.cg-paused .ic{flex:none;width:18px;height:18px;margin-top:1px;color:var(--warn)}
.cg-live-note{margin:10px 0 0;font-size:12.5px;line-height:1.45;color:var(--muted)}
.lv-mini{display:none;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 10px;padding:8px 12px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line);font-size:12.5px;font-weight:600;color:var(--muted)}
.lv-mini strong{font:800 18px/1 var(--font-head);font-variant-numeric:tabular-nums;color:var(--text)}
.lv-mini[data-phase="betting"]{border-color:color-mix(in srgb,var(--ok) 55%,var(--line));color:var(--ok)}
.lv-mini[data-phase="betting"] strong{color:var(--ok)}
@media(max-width:899px){.lv-mini{display:flex}}
@media(max-width:520px){.live-bar{padding:9px 12px 11px;gap:8px}.live-phase{font-size:11.5px;letter-spacing:.03em}.live-timer{font-size:20px}}
.cg-play.cg-done{opacity:1;border-color:var(--line-strong);color:var(--text)}
.cg-controls.is-closed .cg-stake-ops{opacity:.6}

/* quem apostou nesta ronda */
.lv-box{width:100%;padding:12px 14px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line)}
.lv-box h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 8px;font:800 14px/1.2 var(--font-head);letter-spacing:.035em;text-transform:uppercase}
.lv-box h3 span{font:500 12.5px/1.2 var(--font);letter-spacing:0;text-transform:none;color:var(--muted)}
.lv-bets{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:4px 16px;margin:0;padding:0;list-style:none;max-height:180px;overflow:auto}
.lv-bets li{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:baseline;padding:4px 0;border-bottom:1px solid var(--line);font-size:13px}
.lv-bets li.is-new{animation:lv-in .3s ease-out}
.lv-n{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lv-s{font-variant-numeric:tabular-nums;color:var(--muted)}
.lv-bets .pos{color:var(--ok);font-weight:700}.lv-bets .neg{color:var(--live)}.lv-bets .muted{color:var(--muted)}
@keyframes lv-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* crash ao vivo */
.cr-mult.is-wait{color:var(--faint)}
.cr-hist li.is-void{color:var(--muted)}

/* roleta: fichas confirmadas (cheias) e por confirmar (tracejado) */
.rl-amt.is-conf{background:#ffe08a;border-color:#a8792a;color:#3b2405}
.rl-amt.is-pend{background:transparent;border:1.5px dashed #fff;color:#fff}
.rl-amt.is-pend.is-2{top:auto;bottom:-7px}
:root[data-theme="light"] .rl-amt.is-pend{border-color:#650e27;color:#650e27;background:#fff}

/* cara ou coroa: espaço para a moeda subir sem sair do quadro */
.cg-stage[data-game="coinflip"] .cg-viz{min-height:400px;padding-top:96px;align-content:start}
.cg-stage[data-game="coinflip"] .cg-viz.cd{min-height:0;padding:16px 6px 4px}   /* desafios: a lista começa em cima */
.cd-duel .coin3d{margin-top:60px}   /* espaço para a moeda subir sem tapar os lados */

/* desporto: "em breve" enquanto não há eventos */
.soon-tag{display:inline-block;margin-left:6px;padding:2px 6px;border-radius:999px;background:rgba(255,255,255,.16);font:700 10px/1.2 var(--font-head);letter-spacing:.06em;vertical-align:2px}
.soon{position:relative;overflow:hidden;display:grid;justify-items:start;gap:10px;padding:34px 30px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line)}
.soon h2{margin:0;font:800 32px/1.05 var(--font-head);text-transform:uppercase;letter-spacing:.01em;max-width:24ch}
.soon p{margin:0;max-width:52ch;color:var(--muted)}
.soon .btn{margin-top:8px}
.soon-mark{position:absolute;right:-60px;bottom:-80px;width:300px;height:300px;background:url(/img/g-wm-vinho.png) center/contain no-repeat;opacity:.9;pointer-events:none}
.no-events #view-sports .left,.no-events #view-sports .slip,.no-events #view-sports .slip-bar,.no-events #view-sports .toolbar{display:none}
.no-events #view-sports .layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"center";max-width:1100px}

/* ---------- movimento na navegação ---------- */
.mainnav{position:relative}
.nav-ink{position:absolute;left:0;bottom:0;height:3px;width:0;background:#fff;border-radius:3px 3px 0 0;transition:transform .32s cubic-bezier(.3,.7,.2,1),width .32s cubic-bezier(.3,.7,.2,1);pointer-events:none}
.nav-ink.no-anim{transition:none}
.view-in{animation:view-in .34s cubic-bezier(.2,.7,.2,1)}
@keyframes view-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.cg-controls.is-swap{animation:swap-l .32s cubic-bezier(.2,.7,.2,1)}
.cg-stage.is-swap{animation:swap-s .36s cubic-bezier(.2,.7,.2,1)}
@keyframes swap-l{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
@keyframes swap-s{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}
.cg-tab .gt-art .art{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.cg-tab:hover .gt-art .art{transform:scale(1.07) translateY(-2px)}
.cg-tab[aria-selected="true"] .gt-art .art{transform:scale(1.04)}
.cg-tab:active{transform:translateY(0) scale(.97)}
.cg-games.is-intro .cg-tab{animation:tile-in .5s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0) * 45ms)}
@keyframes tile-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.btn:active:not([disabled]){transform:scale(.97)}
.btn{transition:background-color .15s,border-color .15s,color .15s,transform .12s}
.modal:not([hidden]) .modal-backdrop{animation:fade-in .22s ease-out}
.modal:not([hidden]) .modal-card{animation:modal-in .28s cubic-bezier(.2,.8,.25,1.1)}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
@keyframes modal-in{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
.promo-art{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.promo:hover .promo-art{transform:translate(-4px,-6px) rotate(-3deg)}
.soon{animation:view-in .45s .05s cubic-bezier(.2,.7,.2,1) both}
@media(prefers-reduced-motion:reduce){
  .view-in,.cg-controls.is-swap,.cg-stage.is-swap,.cg-games.is-intro .cg-tab,.modal-card,.modal-backdrop,.soon,.lv-bets li{animation:none!important}
  .nav-ink,.cg-tab .gt-art .art,.promo-art{transition:none}
  .live-dot{animation:none}
}
.cg-livetag{display:inline-flex;align-items:center;gap:4px;margin-right:6px;color:var(--live);font-weight:800;letter-spacing:.025em;text-transform:uppercase}
.cg-livetag::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;animation:pulse 1.6s infinite}

.gt-art{position:relative}
.gt-live{position:absolute;left:8px;top:8px;display:inline-flex;align-items:center;gap:5px;padding:3px 8px 3px 7px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font:800 10.5px/1.2 var(--font-head);letter-spacing:.05em;text-transform:uppercase;backdrop-filter:blur(2px)}
.gt-live::before{content:"";width:6px;height:6px;border-radius:50%;background:#ff5a72;animation:pulse 1.6s infinite}
@media(prefers-reduced-motion:reduce){.gt-live::before{animation:none}}


/* =========================================================
   v0.7 — rondas anteriores clicáveis, jogo justo simplificado, língua, tema claro com cor
   ========================================================= */
/* frase do casino numa só linha (em ecrãs largos) */
#view-casino .toolbar p{max-width:none}

/* mosaicos: só o nome (o RTP fica discreto dentro de cada jogo) */
.gt-cap{padding:9px 11px}

/* relógio ao vivo: últimos 3 segundos */
.live-bar.is-final .live-timer,.lv-mini.is-final strong{color:var(--warn);animation:lv-tick .5s ease-in-out infinite alternate}
.live-bar.is-final{border-color:var(--warn)}
.live-bar.is-final .live-prog i{background:var(--warn)}
@keyframes lv-tick{to{transform:scale(1.06)}}
.live-bar[data-phase="running"] .live-phase,.live-bar[data-phase="closing"] .live-phase{color:var(--text)}

/* rondas anteriores (cada uma abre a janela da ronda) */
.lv-histrow{display:flex;align-items:center;gap:10px;width:100%;min-height:30px}
.lv-histlbl{flex:none;font:700 12px/1.2 var(--font-head);letter-spacing:.035em;text-transform:uppercase;color:var(--muted)}
.cr-hist,.rl-hist{flex:1;min-width:0;display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;margin:0;padding:2px 0;list-style:none;justify-content:flex-start;scrollbar-width:none;contain:inline-size;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
.cr-hist::-webkit-scrollbar,.rl-hist::-webkit-scrollbar{display:none}
.cr-hist li,.rl-hist li{flex:none;padding:0;background:none}
.lv-chip{display:grid;place-items:center;min-width:30px;height:28px;padding:0 10px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface-3);font:700 12.5px/1 var(--font-head);color:var(--text);cursor:pointer;transition:transform .12s,border-color .12s,box-shadow .12s}
.lv-chip:hover{transform:translateY(-1px);border-color:var(--link);box-shadow:0 3px 10px rgba(0,0,0,.18)}
.lv-chip:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.lv-chip.is-hi{color:var(--ok)}.lv-chip.is-lo{color:var(--live)}.lv-chip.is-void{color:var(--muted)}
.lv-chip.rl-h{width:30px;min-width:30px;height:30px;padding:0;border-radius:50%;color:#fff;border-color:rgba(255,255,255,.25)}
.lv-chip.rl-red{background:var(--rl-red)}.lv-chip.rl-black{background:var(--rl-black)}.lv-chip.rl-green{background:var(--rl-green)}

/* roleta: fichas dentro das casas, como numa mesa a sério */
.rl-l{position:relative;z-index:0}
.rl-amt{left:50%;top:50%;right:auto;bottom:auto;z-index:1;display:none;place-items:center;min-width:28px;height:28px;padding:0 4px;border-radius:999px;transform:translate(-50%,-50%);background:#fff;color:#5e1027;border:2px dashed #7b1230;box-shadow:0 0 0 2px #fff,0 3px 6px rgba(0,0,0,.45);font:800 10.5px/1 var(--font-head);white-space:nowrap}
.rl-amt.is-on{display:grid}
.rl-amt.is-conf{background:#ffe08a;color:#3b2405;border-color:#a8792a;box-shadow:0 0 0 2px #ffe08a,0 3px 6px rgba(0,0,0,.45)}
.rl-amt.is-pend{background:#fff;color:#5e1027;border:2px dashed #7b1230}
.rl-amt.is-conf.is-under{transform:translate(-62%,-62%)}
.rl-amt.is-pend.is-2{top:50%;bottom:auto;transform:translate(-38%,-38%)}
.rl-c.has-chip .rl-l{opacity:.55}
.rl-doz .rl-amt,.rl-out .rl-amt{left:auto;right:8px;transform:translateY(-50%)}
.rl-doz .rl-amt.is-conf.is-under,.rl-out .rl-amt.is-conf.is-under{transform:translate(-6px,-62%)}
.rl-doz .rl-amt.is-pend.is-2,.rl-out .rl-amt.is-pend.is-2{transform:translate(0,-38%)}
.rl-doz.has-chip .rl-l,.rl-out.has-chip .rl-l{opacity:1;margin-right:26px}
:root[data-theme="light"] .rl-amt.is-pend{border-color:#7b1230;color:#5e1027;background:#fff}

/* roleta: medalhão do G no centro da roda */
.rw-cap{filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}

/* blackjack: marca GainBet no pano */
.bj-mid{display:grid;justify-items:center;align-content:center;gap:8px;pointer-events:none}
.bj-wm{display:block;width:min(46%,300px);height:auto;opacity:.16;filter:drop-shadow(0 1px 0 rgba(0,0,0,.25))}
.bj-mid .bj-felt{align-self:auto}
@media(max-width:520px){.bj-wm{width:62%}}

/* janela de uma ronda ao vivo */
.modal-card--round{max-width:560px}
.rd-kicker{margin:0 36px 6px 0;font-size:13px;color:var(--muted)}
#rdTitle{margin:0 0 6px;font:800 30px/1.1 var(--font-head);letter-spacing:.01em}
.rd-num{display:flex;align-items:center;gap:12px}
.rd-ball{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:50%;font:800 22px/1 var(--font-head);color:#fff;border:3px solid #d8b46a}
.rd-ball.rl-red{background:var(--rl-red)}.rd-ball.rl-black{background:var(--rl-black)}.rd-ball.rl-green{background:var(--rl-green)}
.rd-sub{margin:0 0 10px;color:var(--muted)}
.rd-mine{margin:8px 0 12px;padding:9px 12px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);font-weight:600}
.rd-mine.is-win{background:var(--ok-bg);border-color:var(--ok);color:var(--ok)}
.rd-mine.is-lose{color:inherit}
.rd-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}
.rd-stats>div{padding:9px 10px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);text-align:center}
.rd-stats dt{font:600 11px/1.2 var(--font-head);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.rd-stats dd{margin:3px 0 0;font:800 18px/1.1 var(--font-head)}
.rd-bets{max-height:150px;margin-bottom:14px}
.rd-fair{padding:14px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2)}
.rd-fair.is-ok{border-color:color-mix(in srgb,var(--ok) 50%,var(--line));background:var(--ok-bg)}
.rd-fair.is-bad{border-color:var(--live);background:var(--live-bg)}
.rd-fair h3{display:flex;align-items:center;gap:8px;margin:0 0 10px;font:800 16px/1.2 var(--font-head);letter-spacing:.02em}
.rd-fair h3 .ic{width:20px;height:20px;color:var(--ok)}
.rd-fair.is-bad h3 .ic{color:var(--live)}
.rd-checks{display:grid;gap:7px;margin:0 0 10px;padding:0;list-style:none;font-size:14px}
.rd-checks li{display:flex;gap:8px;align-items:flex-start}
.rd-checks .ic{flex:none;width:17px;height:17px;margin-top:1px;stroke-width:2.6}
.rd-checks .is-ok .ic{color:var(--ok)}.rd-checks .is-bad .ic{color:var(--live)}.rd-checks .is-na .ic{color:var(--muted)}
.rd-tech>summary,.cg-tech>summary,.pf-adv>summary{cursor:pointer;color:var(--link);font-weight:600;font-size:14px;list-style:none}
.rd-tech>summary::-webkit-details-marker,.cg-tech>summary::-webkit-details-marker,.pf-adv>summary::-webkit-details-marker{display:none}
.rd-tech>summary::before,.cg-tech>summary::before,.pf-adv>summary::before{content:"";display:inline-block;width:7px;height:7px;margin-right:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s;vertical-align:2px}
.rd-tech[open]>summary::before,.cg-tech[open]>summary::before,.pf-adv[open]>summary::before{transform:rotate(45deg)}
.rd-tech .cg-detail{padding:10px 0 8px}
.rd-tech>a{font-size:14px}

/* jogo justo (Provably Fair) */
.pf-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.cg-card .cg-foldh{margin:0}
.cg-fold{display:flex;align-items:center;gap:12px;width:100%;min-height:36px;padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left;cursor:pointer}
.cg-fold:focus-visible{outline:2px solid var(--focus);outline-offset:6px;border-radius:var(--r-xs)}
.cg-fold-n{display:inline-grid;place-items:center;min-width:26px;height:24px;padding:0 7px;border-radius:999px;background:var(--surface-3);color:var(--muted);font:700 12.5px/1 var(--font-head);letter-spacing:0}
.cg-fold-hint{margin-left:auto;font:600 13.5px/1 var(--font);letter-spacing:0;text-transform:none;color:var(--muted)}
.cg-fold-ic{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--line-strong);color:var(--text);transition:transform .22s cubic-bezier(.2,.7,.2,1),border-color .15s}
.cg-fold-ic .ic{width:18px;height:18px}
.cg-fold[aria-expanded="true"] .cg-fold-ic{transform:rotate(180deg)}
.cg-fold:hover .cg-fold-ic{border-color:var(--brand-hi)}
.cg-fold:hover .cg-fold-hint{color:var(--text)}
.cg-foldbody{margin-top:14px}
@media(max-width:520px){.cg-fold-hint{display:none}.cg-fold{gap:9px}.cg-fold-ic{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.cg-fold-ic{transition:none}}
.pf-head h2{margin:0}
.pf-tag{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;background:var(--ok-bg);color:var(--ok);font:700 12px/1.3 var(--font-head);letter-spacing:.04em}
.pf-tag .ic{width:14px;height:14px}
.pf-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px;padding:0;list-style:none;counter-reset:pf}
.pf-steps li{position:relative;display:grid;align-content:start;gap:3px;padding:12px 12px 12px 50px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);font-size:13.5px;color:var(--muted);counter-increment:pf}
.pf-steps li::before{content:counter(pf);position:absolute;left:12px;top:12px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--brand);color:#fff;font:800 14px/1 var(--font-head)}
.pf-steps strong{color:var(--text);font:700 14.5px/1.2 var(--font-head);letter-spacing:.02em}
@media(max-width:760px){.pf-steps{grid-template-columns:1fr}}
.pf-now{display:flex;align-items:center;gap:12px 22px;flex-wrap:wrap;padding:14px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line)}
.pf-item{display:grid;gap:3px;min-width:0}
.pf-k{font:600 11.5px/1.2 var(--font-head);letter-spacing:.035em;text-transform:uppercase;color:var(--muted)}
.pf-v{font-size:15px}
.pf-v.cg-nonce{font-size:26px}
.pf-now .btn{margin-left:auto}
@media(max-width:700px){.pf-now .btn{margin-left:0;width:100%}}
.pf-now+.form-hint{margin:10px 0 0}
.pf-adv{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.pf-adv[open]>summary{margin-bottom:12px}
.cg-tech{margin-top:8px}
.cg-tech dl{display:grid;gap:8px;margin:10px 0 4px}
.cg-tech dt{font:600 11px/1.2 var(--font-head);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.cg-tech dd{margin:2px 0 0}
.cg-seedrow .cg-ok,.cg-seedrow .cg-bad{margin:0}

/* as tuas jogadas */
.cg-row>summary,.cg-row>.cg-sum{display:grid;grid-template-columns:1.1fr 1.3fr .9fr .8fr .9fr auto;gap:8px;align-items:center;width:100%;padding:10px 12px;cursor:pointer;list-style:none;font-size:14px;text-align:left;border:0;background:none;color:inherit;border-radius:inherit}
.cg-row>.cg-sum:hover,.cg-row>summary:hover{background:var(--surface-3)}
.cg-more{padding:2px 12px 12px}
.cg-what{margin:0 0 6px;font-weight:600}
.cg-vline{display:flex;gap:7px;align-items:flex-start;margin:0;font-size:14px;color:var(--muted)}
.cg-vline .ic{flex:none;width:16px;height:16px;margin-top:2px;stroke-width:2.6}
.cg-vline.is-ok{color:var(--ok)}.cg-vline.is-bad{color:var(--live)}
.cg-more .cg-detail{padding:0}
@media(max-width:700px){.cg-row>summary,.cg-row>.cg-sum{grid-template-columns:1fr 1fr;row-gap:4px}}

/* menu de língua */
.lang{position:relative}
.lang-btn{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 10px;border-radius:var(--r-sm);border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.12);color:var(--bar-ink);font:700 13.5px/1 var(--font-head);letter-spacing:.06em}
.lang-btn:hover,.lang.is-open .lang-btn{border-color:rgba(255,255,255,.6);background:rgba(0,0,0,.22)}
.lang-btn .ic{width:17px;height:17px}
.lang-caret{width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:-3px 0 0 2px;transition:transform .15s}
.lang.is-open .lang-caret{transform:rotate(-135deg);margin-top:3px}
.lang-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:60;min-width:170px;margin:0;padding:6px;list-style:none;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);animation:lang-in .14s ease-out}
@keyframes lang-in{from{opacity:0;transform:translateY(-4px)}}
.lang-menu li{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--r-sm);cursor:pointer;color:var(--text);font-weight:600}
.lang-menu li:hover,.lang-menu li:focus{outline:0;background:var(--surface-3)}
.lang-menu li[aria-selected="true"]{color:var(--link)}
.lang-menu li[aria-selected="true"]::after{content:"";margin-left:auto;width:9px;height:5px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg) translateY(-2px)}
.lang-short{display:inline-grid;place-items:center;width:28px;height:20px;border-radius:var(--r-xs);background:var(--surface-3);font:800 11px/1 var(--font-head);letter-spacing:.05em;color:var(--text)}
@media(max-width:480px){.lang-btn{height:34px;padding:0 8px}.lang-btn .lang-caret{display:none}}
/* em ecrãs estreitos o botão fica à esquerda do cabeçalho: o menu abre para a direita, para não sair do ecrã */
@media(max-width:600px){.lang-menu{right:auto;left:0}}
@media(prefers-reduced-motion:reduce){.lang-menu{animation:none}.live-bar.is-final .live-timer,.lv-mini.is-final strong{animation:none}}

/* ---------- Tema claro: cor nos elementos (para não se confundirem com o fundo) ----------
   Regra: o fundo da página é rosado-acinzentado (--bg); tudo o que é caixa por cima dele (cartões, palco do
   jogo, mosaicos, janelas, menus) é branco, com contorno visível (--line) e sombra (--card-sh). Dentro das
   caixas brancas, os elementos secundários usam --surface-2 / --surface-3 e contornos rosados. */
:root[data-theme="light"] .cg-controls,:root[data-theme="light"] .cg-card,:root[data-theme="light"] .cg-tab,:root[data-theme="light"] .cg-stage,
:root[data-theme="light"] .sl-card,:root[data-theme="light"] .sl-chip,:root[data-theme="light"] .sl-back,:root[data-theme="light"] .soon,
:root[data-theme="light"] .share-stage{box-shadow:var(--card-sh)}
:root[data-theme="light"] .sl-card:hover{box-shadow:0 20px 36px -20px var(--glow),var(--card-sh)}
:root[data-theme="light"] .sl-chip[aria-selected="true"]{box-shadow:0 0 0 1px var(--chip-hi),var(--card-sh)}
:root[data-theme="light"] .cg-controls,:root[data-theme="light"] .cg-card,:root[data-theme="light"] .cg-stage,:root[data-theme="light"] .soon{border-color:var(--line)}
:root[data-theme="light"] .cg-tab{border-color:#e0ccd3}
:root[data-theme="light"] .cg-tab[aria-selected="true"]{box-shadow:0 0 0 1px var(--brand-hi),0 8px 20px rgba(123,18,48,.22)}
:root[data-theme="light"] .cg-stage{background-color:var(--stage)}
:root[data-theme="light"] .cg-ops button,:root[data-theme="light"] .cg-seg button{background:var(--surface-2);border-color:#dcbfca;color:var(--brand-strong)}
:root[data-theme="light"] .cg-ops button:hover,:root[data-theme="light"] .cg-seg button:hover{background:#f3dce3;border-color:var(--brand-hi)}
:root[data-theme="light"] .cg-chipsel button[aria-pressed="true"],:root[data-theme="light"] .cg-seg button[aria-pressed="true"]{background:var(--btn);border-color:var(--btn);color:#fff}
:root[data-theme="light"] .cg-stats>div,:root[data-theme="light"] .rd-stats>div{background:var(--gold-bg);border-color:var(--gold-line)}
:root[data-theme="light"] .cg-stats dt,:root[data-theme="light"] .rd-stats dt{color:var(--gold-ink)}
:root[data-theme="light"] .cg-money,:root[data-theme="light"] .cg-controls input[type=text],:root[data-theme="light"] .cg-controls select,:root[data-theme="light"] .cg-fair input[type=text]{border-color:#d3b3be}
:root[data-theme="light"] .cg-f{color:#74535e}
:root[data-theme="light"] .live-bar{background:#fff;box-shadow:0 2px 8px rgba(90,20,40,.08)}
:root[data-theme="light"] .live-bar[data-phase="betting"]{background:var(--ok-bg)}
:root[data-theme="light"] .live-bar[data-phase="running"],:root[data-theme="light"] .live-bar[data-phase="closing"]{background:var(--live-bg);border-color:#efc2cc}
:root[data-theme="light"] .live-bar[data-phase="done"]{background:var(--gold-bg);border-color:var(--gold-line)}
:root[data-theme="light"] .live-bar.is-final,:root[data-theme="light"] .live-bar[data-phase="held"]{background:var(--warn-bg)}
:root[data-theme="light"] .lv-mini{background:#fff}
:root[data-theme="light"] .lv-mini[data-phase="betting"]{background:var(--ok-bg)}
/* dentro do palco branco, as caixas secundárias levam um tom rosado */
:root[data-theme="light"] .lv-box{background:var(--surface-2);border-color:var(--line)}
:root[data-theme="light"] .lv-chip:not(.rl-h){background:#fff}
/* o ecrã do Crash é sempre escuro, como um monitor */
:root[data-theme="light"] .cr-wrap{--text:#fff;--muted:#d7b6c0;--line:rgba(255,255,255,.12);--bg:#1d0a11;--brand-hi:#ff5c7f;--ok:#3ddc97;--live:#ff5a72;background:radial-gradient(ellipse at 30% 0%,#4a1024 0%,#250b14 60%,#1a070e 100%);border-color:#3a0d1b;box-shadow:0 8px 22px rgba(60,10,25,.25)}
:root[data-theme="light"] .cr-wrap.is-crashed{box-shadow:inset 0 0 0 2px var(--live),0 8px 22px rgba(60,10,25,.25)}
:root[data-theme="light"] .rl-c:not(.rl-red):not(.rl-black):not(.rl-green){background:#f4e1e7;border-color:#dcbac6;color:var(--brand-strong)}
:root[data-theme="light"] .rl-c{border-color:rgba(0,0,0,.1)}
:root[data-theme="light"] .mn-tile:not(.is-gem):not(.is-mine){background:linear-gradient(180deg,#f6e3e9,#eaced8);border-color:#d4adba;box-shadow:inset 0 -3px 0 rgba(123,18,48,.09)}
:root[data-theme="light"] .mn-tile:not([disabled]):not(.is-gem):not(.is-mine):hover{background:linear-gradient(180deg,#f9e9ee,#efd6df);border-color:var(--brand-hi)}
:root[data-theme="light"] .lb-meter{background:#efdbe2}
:root[data-theme="light"] .pf-steps li{background:#fff;box-shadow:0 1px 3px rgba(90,20,40,.06)}
:root[data-theme="light"] .pf-now{background:linear-gradient(180deg,#fff,#fbf1f4);border-color:#e0c6cf}
:root[data-theme="light"] .cg-row{background:#fff;box-shadow:0 1px 2px rgba(90,20,40,.06)}
:root[data-theme="light"] .cg-row>summary:hover,:root[data-theme="light"] .cg-row>.cg-sum:hover{background:#fbf0f3}
:root[data-theme="light"] .cg-v--wait{background:#f0e1e6;color:#63505a}
:root[data-theme="light"] .rps-row{background:#fff;box-shadow:0 1px 2px rgba(90,20,40,.06)}
:root[data-theme="light"] .tbl th{background:#f4e5ea;color:#74495a}
:root[data-theme="light"] .footer{background-color:var(--bg-2)}
:root[data-theme="light"] .demo-strip{border-bottom-color:#d5c2c9}
:root[data-theme="light"] .modal-card{border-color:#d9c3cb;box-shadow:0 24px 60px rgba(50,8,22,.35)}
:root[data-theme="light"] .rd-mine{background:#fff}
:root[data-theme="light"] .lang-menu{background:#fff;box-shadow:0 14px 34px rgba(50,8,22,.22)}
:root[data-theme="light"] .lang-short{background:#f1e0e6;color:var(--brand-strong)}
:root[data-theme="light"] .btn--ghost{border-color:#d3b3be;color:var(--brand-strong)}
:root[data-theme="light"] .topbar .btn--ghost{color:#fff;border-color:rgba(255,255,255,.35)}

/* cabeçalho em telemóvel: ver "Cabeçalho em qualquer largura" (o menu ☰ junta língua, tema e conta) */
.acct .btn{white-space:nowrap}
/* /fair e /admin: título escondido no telemóvel e "voltar" curto (seta + Casino / Site) */
.btn-back{display:inline-flex;align-items:center;gap:6px}
.bb-ic,.bb-short{display:none}
.bb-ic .ic{width:16px;height:16px}
@media(max-width:640px){.topbar .adm-title{display:none}}
@media(max-width:480px){.btn-back .bb-long{display:none}.btn-back .bb-short,.btn-back .bb-ic{display:inline-flex}.topbar .btn-back{padding-left:9px}}

/* =========================================================
   CASINO — barra de jogos agrupada + mosaico "Slots"
   ========================================================= */
#cgGames.cg-games{display:block;margin:0 0 18px;overflow:visible;padding:0}   /* só a barra (.gr-scroll) encosta à borda do ecrã */
.gr{display:flex;gap:16px;align-items:stretch}
.gr-rail{position:relative;flex:1;min-width:0;display:flex}
.gr-scroll{flex:1;min-width:0;display:flex;gap:16px;overflow-x:auto;scrollbar-width:none;padding:2px 2px 6px;scroll-snap-type:x proximity;scroll-padding-inline:2px}
.gr-arrow{position:absolute;z-index:3;top:calc(50% + 8px);width:38px;height:38px;margin-top:-19px;display:grid;place-items:center;padding:0;border-radius:50%;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);box-shadow:0 8px 18px -8px rgba(0,0,0,.7);transition:border-color .15s,background .15s,transform .15s}
.gr-arrow[hidden]{display:none}
.gr-arrow .ic{width:20px;height:20px}
.gr-arrow--r{right:6px}
.gr-arrow--l{left:6px}
.gr-arrow--l .ic{transform:scaleX(-1)}
.gr-arrow:hover{border-color:var(--brand-hi);background:var(--surface-2)}
.gr-arrow:active{transform:scale(.92)}
.gr-arrow:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
:root[data-theme="light"] .gr-arrow{box-shadow:0 6px 16px -8px rgba(90,20,40,.45)}
.gr-scroll::-webkit-scrollbar{display:none}
.gr-group{display:flex;flex-direction:column;gap:8px;flex:0 0 auto}
.gr-group+.gr-group{padding-left:16px;border-left:1px solid var(--line)}
.gr-label{display:flex;align-items:center;gap:7px;font:800 12px/1 var(--font-head);letter-spacing:.055em;text-transform:uppercase;color:var(--muted)}
.gr-group--live .gr-label::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--live);animation:pulse 1.6s infinite}
.gr-items{display:flex;gap:10px;flex:1}
#cgGames{--tiles:9;--groups:3}
.gr-scroll{container-type:inline-size}
/* largura de cada mosaico: o espaço da barra a dividir por todos (entre 92 e 116 px), para caberem sem deslizar */
#cgGames .cg-tab{--tw:clamp(92px,calc((100cqw - 4px - (var(--groups) - 1) * 33px - (var(--tiles) - var(--groups)) * 10px) / var(--tiles)),116px);flex:0 0 var(--tw);width:var(--tw);scroll-snap-align:start}
#cgGames .gt-cap{padding:7px 6px 8px 8px}
#cgGames .cg-tn{font-size:12.5px;line-height:1.1;letter-spacing:0;white-space:normal;overflow:visible;text-overflow:clip;text-wrap:balance}
#cgGames .cg-te{font-size:11.5px}
#cgGames .gt-live{left:6px;top:6px;padding:2px 5px 2px 4px;font-size:9px;gap:3px}
#cgGames.is-intro .gr-portal{animation:tile-in .5s cubic-bezier(.2,.7,.2,1) both}

.gr-portal{order:2;flex:0 0 232px;position:relative;overflow:hidden;display:grid;grid-template-columns:86px 1fr auto;align-items:center;gap:12px;padding:12px 14px 12px 10px;border-radius:var(--r-md);border:2px solid #c9952e;background:radial-gradient(130% 150% at 0% 0%,#a8173e 0%,#5c0a22 55%,#2e0511 100%);color:#fff;text-align:left;box-shadow:0 12px 26px -16px rgba(140,12,48,.9);transition:transform .16s,box-shadow .16s}
.gr-portal:hover{transform:translateY(-2px);box-shadow:0 16px 30px -14px rgba(170,20,60,.9)}
.gr-portal:active{transform:scale(.98)}
.gr-portal::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.2) 45%,transparent 60%);transform:translateX(-120%);animation:portal-shine 5s ease-in-out 1.5s infinite;pointer-events:none}
@keyframes portal-shine{0%,72%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.gr-portal-art .art{display:block;width:100%;height:auto}
.gr-portal-txt b{display:block;font:800 24px/1 var(--font-head);letter-spacing:.03em;text-transform:uppercase}
.gr-portal-txt small{display:block;margin-top:5px;color:#f6d58b;font-weight:600;font-size:13px}
.gr-portal-go{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f4c443;color:#3a0610;transition:transform .16s}
.gr-portal-go svg{width:18px;height:18px}
.gr-portal:hover .gr-portal-go{transform:translateX(3px)}
.slp-strip{transition:transform .55s cubic-bezier(.3,.1,.2,1.3)}
.gr-portal:hover .slp-reel .slp-strip{transform:translateY(-44px)}
.gr-portal:hover .slp-reel:nth-child(2) .slp-strip{transition-delay:.08s}
.gr-portal:hover .slp-reel:nth-child(3) .slp-strip{transition-delay:.16s}
@media(max-width:760px){
  .gr{flex-direction:column;gap:12px}
  .gr-portal{order:0;flex:none;grid-template-columns:70px 1fr auto;padding:9px 12px 9px 8px}
  .gr-portal-txt b{font-size:21px}
  .gr-rail{margin-right:-16px}
  .gr-scroll{padding-right:16px}
  .gr-arrow{width:34px;height:34px;margin-top:-17px}
  .gr-arrow--r{right:10px}
  #cgGames .cg-tab{--tw:116px}
}

/* ---------- cabeçalho das páginas de slots ---------- */
.sl-nav{display:flex;align-items:center;gap:14px 18px;flex-wrap:wrap}
.sl-back{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 16px 0 10px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font-weight:600;font-size:14px;flex:0 0 auto}
.sl-back svg{width:18px;height:18px}
.sl-back:hover{border-color:var(--brand-hi);color:var(--link)}
.sl-head h2{margin:0;font:800 30px/1 var(--font-head);text-transform:uppercase;letter-spacing:.02em}
.sl-head p{margin:5px 0 0;color:var(--muted);font-size:14px}
.sl-switch{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0;padding:2px}
.sl-switch::-webkit-scrollbar{display:none}
/* pontas esbatidas quando há mais máquinas desse lado (o casino.js põe is-less / is-more conforme o deslizar) */
.sl-switch.is-more{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent)}
.sl-switch.is-less{-webkit-mask-image:linear-gradient(90deg,transparent,#000 48px);mask-image:linear-gradient(90deg,transparent,#000 48px)}
.sl-switch.is-more.is-less{-webkit-mask-image:linear-gradient(90deg,transparent,#000 48px,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(90deg,transparent,#000 48px,#000 calc(100% - 56px),transparent)}
.sl-chip{display:inline-flex;align-items:center;gap:9px;height:46px;padding:0 16px 0 6px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text);font:800 15px/1 var(--font-head);letter-spacing:.025em;text-transform:uppercase;white-space:nowrap;flex:0 0 auto;transition:border-color .15s,background .15s,transform .12s}
.sl-chip:hover{border-color:var(--chip-hi)}
.sl-chip:active{transform:scale(.97)}
.sl-chip-art{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--chip-bg)}
.sl-chip-art .sl-sym{width:27px;height:27px}
.sl-chip[aria-selected="true"]{background:var(--chip-bg);border-color:var(--chip-hi);color:#fff;box-shadow:0 0 0 1px var(--chip-hi)}
.sl-m--grandcru{--chip-bg:#4a0f22;--chip-hi:#c9a24a;--glow:rgba(201,162,74,.55)}
.sl-m--neon{--chip-bg:#1d0b3a;--chip-hi:#ff47ad;--glow:rgba(255,71,173,.5)}
.sl-m--crystal{--chip-bg:#0b2a36;--chip-hi:#3fe0c5;--glow:rgba(63,224,197,.45)}
.sl-m--sevens{--chip-bg:#8f0e1f;--chip-hi:#f4c443;--glow:rgba(244,196,67,.5)}
.sl-m--lisboa{--chip-bg:#123a73;--chip-hi:#ffd23f;--glow:rgba(255,210,63,.5)}
.sl-m--koi{--chip-bg:#0d3b3c;--chip-hi:#ff6b3d;--glow:rgba(255,107,61,.5)}
.sl-m--candy{--chip-bg:#5a2a7a;--chip-hi:#ff8cc6;--glow:rgba(255,140,198,.55)}
.sl-m--orbit{--chip-bg:#111a4a;--chip-hi:#7cf3ff;--glow:rgba(124,243,255,.45)}
.sl-m--atlantic{--chip-bg:#063a4f;--chip-hi:#f4c443;--glow:rgba(244,196,67,.45)}
.sl-m--grandtour{--chip-bg:#0e3a66;--chip-hi:#f4c443;--glow:rgba(244,196,67,.45)}
.sl-m--goal{--chip-bg:#0f4a1f;--chip-hi:#ffe14d;--glow:rgba(255,225,77,.45)}
.sl-m--savanna{--chip-bg:#6b2a0e;--chip-hi:#ffb347;--glow:rgba(255,179,71,.5)}
.sl-m--pumpkin{--chip-bg:#2a1450;--chip-hi:#ff8a1f;--glow:rgba(255,138,31,.5)}
.sl-m--goldrush{--chip-bg:#5a3214;--chip-hi:#f4c443;--glow:rgba(244,196,67,.5)}
.sl-m--scarab{--chip-bg:#0b2470;--chip-hi:#f4c443;--glow:rgba(91,140,255,.45)}
.sl-sprite{position:absolute;width:0;height:0;overflow:hidden}

/* ---------- lobby das slots ---------- */
#view-casino[data-cmode="lobby"] .cg-main,#view-casino[data-cmode="lobby"] #cgFair{display:none}
.sl-lobby{margin-bottom:28px}
/* 15 máquinas: 5 por linha no computador (3 linhas), 3 por linha em ecrãs médios e 2 no telemóvel */
.sl-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
@media(max-width:1120px){.sl-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
@media(max-width:700px){.sl-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
.sl-card{display:flex;flex-direction:column;padding:0;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);background:var(--surface);text-align:left;color:var(--text);transition:transform .22s cubic-bezier(.2,.7,.2,1),box-shadow .22s,border-color .22s}
.sl-card:hover{transform:translateY(-4px);border-color:var(--chip-hi);box-shadow:0 20px 36px -20px var(--glow)}
.sl-card:active{transform:translateY(-1px) scale(.99)}
.sl-card:disabled{opacity:.6;transform:none;box-shadow:none}
.sl-cover{position:relative;display:block;aspect-ratio:5/3;overflow:hidden;background:var(--chip-bg)}
.sl-cover-art{display:block;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.sl-card:hover .sl-cover-art{transform:scale(1.06)}
.sl-cover::after{content:"";position:absolute;inset:auto 0 0 0;height:55%;background:linear-gradient(transparent,rgba(0,0,0,.6));pointer-events:none}
.sl-cover-name{position:absolute;left:16px;bottom:12px;z-index:1;font:800 28px/1 var(--font-head);text-transform:uppercase;letter-spacing:.025em;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.35)}
.sl-off{position:absolute;right:12px;top:12px;z-index:1;padding:4px 10px;border-radius:999px;background:rgba(0,0,0,.7);color:#fff;font-size:12px;font-weight:700}
.sl-body{display:flex;flex-direction:column;gap:12px;padding:14px 16px 16px;flex:1}
.sl-tag{font-size:14px;line-height:1.45;color:var(--muted)}
.sl-facts{display:flex;flex-wrap:wrap;gap:6px}
.sl-fact{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);font-size:12.5px;font-weight:600}
.sl-vol{gap:3px}
.sl-vol i{width:5px;height:11px;border-radius:2px;background:var(--line-strong)}
.sl-vol i:first-of-type{margin-left:4px}
.sl-vol[data-v="1"] i:nth-of-type(-n+1),.sl-vol[data-v="2"] i:nth-of-type(-n+2),.sl-vol[data-v="3"] i:nth-of-type(-n+3){background:var(--brand-hi)}
.sl-cta{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;height:38px;padding:0 20px;border-radius:999px;background:var(--brand);color:#fff;font:800 15px/1 var(--font-head);letter-spacing:.035em;text-transform:uppercase;transition:background .15s}
.sl-card:hover .sl-cta{background:var(--brand-hi)}
/* cartões mais compactos quando há 5 (computador) ou 2 (telemóvel) por linha */
@media(min-width:1121px){
  .sl-cover-name{left:12px;bottom:10px;font-size:21px}
  .sl-body{gap:10px;padding:12px 12px 14px}
  .sl-tag{font-size:13px;line-height:1.4}
  .sl-facts{gap:5px}
  .sl-fact{padding:3px 8px;font-size:11.5px}
  .sl-cta{height:34px;padding:0 16px;font-size:14px}
}
@media(max-width:700px){
  .sl-cover-name{left:10px;bottom:8px;font-size:17px}
  .sl-body{gap:8px;padding:10px 10px 12px}
  .sl-tag{font-size:12.5px;line-height:1.35}
  .sl-facts{gap:4px}
  .sl-fact{padding:3px 7px;font-size:11px}
  .sl-cta{height:32px;padding:0 14px;font-size:13px}
}
.sl-lobby.is-intro .sl-card{animation:tile-in .55s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0) * 80ms)}

/* ---------- a máquina ---------- */
.cg-main .cg-stage[data-game^="slot-"]{padding:14px;background:var(--m-bg);background-image:none;border-color:var(--m-line);box-shadow:none;--text:#f5eff1;--muted:#c9b9bf;--line:rgba(255,255,255,.12);--surface:rgba(255,255,255,.05);--ok:#3ddc97;--ok-bg:rgba(61,220,151,.1);--live:#ff6b84}
.cg-stage[data-game="slot-grandcru"]{--m-bg:#2a0e17;--m-line:#4b1a28}
.cg-stage[data-game="slot-neon"]{--m-bg:#0f0720;--m-line:#2c1450}
.cg-stage[data-game="slot-crystal"]{--m-bg:#061820;--m-line:#0f3542}
.cg-stage[data-game="slot-sevens"]{--m-bg:#3a0610;--m-line:#5c0d1d}
.cg-stage[data-game="slot-lisboa"]{--m-bg:#0b2340;--m-line:#173a63}
.cg-stage[data-game="slot-koi"]{--m-bg:#06201e;--m-line:#0f3a36}
.cg-stage[data-game="slot-candy"]{--m-bg:#2a1240;--m-line:#46205f}
.cg-stage[data-game="slot-orbit"]{--m-bg:#050818;--m-line:#141c46}
.cg-stage[data-game="slot-atlantic"]{--m-bg:#04202e;--m-line:#0b3a50}
.cg-stage[data-game="slot-grandtour"]{--m-bg:#0b2a4a;--m-line:#164a7a}
.cg-stage[data-game="slot-goal"]{--m-bg:#062a14;--m-line:#0f4a22}
.cg-stage[data-game="slot-savanna"]{--m-bg:#2a1206;--m-line:#4a220c}
.cg-stage[data-game="slot-pumpkin"]{--m-bg:#140a24;--m-line:#2c1650}
.cg-stage[data-game="slot-goldrush"]{--m-bg:#2a1608;--m-line:#4a2a10}
.cg-stage[data-game="slot-scarab"]{--m-bg:#071436;--m-line:#122a66}
.sl-m--grandcru{--m-bg:#2a0e17;--m-frame:linear-gradient(160deg,#7a4520,#3d1f0c);--m-frame-hi:#c9a24a;--m-reel:linear-gradient(#f8efdc,#e6d3ae);--m-hi:#ffcf5a;--m-logo:#f3d792;--m-ink:#f7e9d7;--m-bar:#1a070d;--m-max:720px;--m-ratio:5/3}
.sl-m--neon{--m-bg:#0f0720;--m-frame:linear-gradient(160deg,#3a1260,#140629);--m-frame-hi:#ff47ad;--m-reel:linear-gradient(#1b0b36,#0d051c);--m-hi:#3cf2ff;--m-logo:#ff8fd0;--m-ink:#efe6ff;--m-bar:#0a0416;--m-max:720px;--m-ratio:5/3}
.sl-m--crystal{--m-bg:#061820;--m-frame:linear-gradient(160deg,#14505f,#06202a);--m-frame-hi:#3fe0c5;--m-reel:linear-gradient(#0d3140,#071a22);--m-hi:#62f5dc;--m-logo:#a8fff0;--m-ink:#dff9f4;--m-bar:#03111a;--m-max:600px;--m-ratio:6/5}
.sl-m--sevens{--m-bg:#3a0610;--m-frame:linear-gradient(160deg,#e3b145,#8a5a10);--m-frame-hi:#ffe7a0;--m-reel:linear-gradient(#fffaf0,#efe0c0);--m-hi:#ffd84d;--m-logo:#ffe08a;--m-ink:#fff1e0;--m-bar:#22030a;--m-max:460px;--m-ratio:1/1}
.sl-m--lisboa{--m-bg:#0b2340;--m-frame:linear-gradient(160deg,#ffd84d,#c48a00);--m-frame-hi:#fff2b0;--m-reel:linear-gradient(#fbfdff,#dce8f7);--m-hi:#ffd23f;--m-logo:#ffe48a;--m-ink:#eaf2ff;--m-bar:#06152a;--m-max:720px;--m-ratio:5/3}
.sl-m--koi{--m-bg:#06201e;--m-frame:linear-gradient(160deg,#b3261e,#5e0f0b);--m-frame-hi:#e8b04a;--m-reel:linear-gradient(#fbf6ea,#eadcbc);--m-hi:#ff6b3d;--m-logo:#ffd9a8;--m-ink:#f4ede0;--m-bar:#031312;--m-max:640px;--m-ratio:5/4}
.sl-m--candy{--m-bg:#2a1240;--m-frame:linear-gradient(160deg,#ff8cc6,#8a4fff);--m-frame-hi:#fff0a8;--m-reel:linear-gradient(#fffaff,#f1e3ff);--m-hi:#ff4fa3;--m-logo:#ffc2e6;--m-ink:#fff0f8;--m-bar:#1a0a2a;--m-max:660px;--m-ratio:7/6}
.sl-m--orbit{--m-bg:#050818;--m-frame:linear-gradient(160deg,#4b5cff,#140f3d);--m-frame-hi:#8ad8ff;--m-reel:linear-gradient(#0e1638,#060a1e);--m-hi:#7cf3ff;--m-logo:#b8c7ff;--m-ink:#e6ecff;--m-bar:#02040c;--m-max:780px;--m-ratio:2/1}
.sl-m--atlantic{--m-bg:#04202e;--m-frame:linear-gradient(160deg,#d9a441,#7a5210);--m-frame-hi:#ffe7a0;--m-reel:linear-gradient(#ecfcff,#b9e6f0);--m-hi:#ffd84d;--m-logo:#9fe8ff;--m-ink:#e0f7ff;--m-bar:#021620;--m-max:640px;--m-ratio:5/4}
.sl-m--grandtour{--m-bg:#0b2a4a;--m-frame:linear-gradient(160deg,#e9c46a,#9a6a1c);--m-frame-hi:#fff2c2;--m-reel:linear-gradient(#fdf8ee,#e8dcc2);--m-hi:#ffd84d;--m-logo:#ffe7a0;--m-ink:#eaf4ff;--m-bar:#061a30;--m-max:720px;--m-ratio:5/3}
.sl-m--goal{--m-bg:#062a14;--m-frame:linear-gradient(160deg,#2f8a3a,#0f4a1a);--m-frame-hi:#e9f5e0;--m-reel:linear-gradient(#ffffff,#e3eee3);--m-hi:#ffe14d;--m-logo:#ffe14d;--m-ink:#effff0;--m-bar:#031a0b;--m-max:520px;--m-ratio:1/1}
.sl-m--savanna{--m-bg:#2a1206;--m-frame:linear-gradient(160deg,#e08a3a,#7a3a14);--m-frame-hi:#ffd27a;--m-reel:linear-gradient(#fff4dc,#f0d9a8);--m-hi:#ffb347;--m-logo:#ffd27a;--m-ink:#fff0de;--m-bar:#1a0a03;--m-max:760px;--m-ratio:3/2}
.sl-m--pumpkin{--m-bg:#140a24;--m-frame:linear-gradient(160deg,#ff8a1f,#6b2a8a);--m-frame-hi:#ffd166;--m-reel:linear-gradient(#55407a,#2e1d4a);--m-hi:#ff8a1f;--m-logo:#ffb35a;--m-ink:#f3e8ff;--m-bar:#0b0514;--m-max:560px;--m-ratio:1/1}
.sl-m--goldrush{--m-bg:#2a1608;--m-frame:linear-gradient(160deg,#a8703a,#4a2a10);--m-frame-hi:#f4c443;--m-reel:linear-gradient(#fbf1dc,#e6cfa3);--m-hi:#ffd34d;--m-logo:#ffd34d;--m-ink:#fff3e0;--m-bar:#180c03;--m-max:720px;--m-ratio:5/3}
.sl-m--scarab{--m-bg:#071436;--m-frame:linear-gradient(160deg,#e9c46a,#8a5a10);--m-frame-hi:#5b8cff;--m-reel:linear-gradient(#fbf0d6,#e8cf98);--m-hi:#2fc4b2;--m-logo:#ffe08a;--m-ink:#e8f0ff;--m-bar:#040b20;--m-max:640px;--m-ratio:5/4}
.sl-m--orbit .sl-logo{text-shadow:0 0 6px #4b5cff,0 0 22px rgba(124,243,255,.5)}
.sl-m--pumpkin .sl-logo{text-shadow:0 0 6px #ff8a1f,0 0 22px rgba(255,138,31,.5)}
.sl-machine{position:relative;display:flex;flex-direction:column;gap:12px;min-width:0}
.sl-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sl-logo{font:800 28px/1 var(--font-head);text-transform:uppercase;letter-spacing:.035em;color:var(--m-logo);text-shadow:0 0 18px var(--glow)}
.sl-m--neon .sl-logo{text-shadow:0 0 6px #ff47ad,0 0 22px rgba(255,71,173,.6)}
.sl-pt{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px 0 10px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:var(--m-ink);font-weight:600;font-size:13px}
.sl-pt svg{width:16px;height:16px}
.sl-pt:hover{background:rgba(255,255,255,.12)}
.sl-frame{align-self:center;width:100%;max-width:var(--m-max);padding:10px;border-radius:18px;background:var(--m-frame);box-shadow:inset 0 0 0 2px var(--m-frame-hi),0 14px 32px -18px rgba(0,0,0,.7)}
.sl-window{position:relative;display:grid;grid-template-columns:repeat(var(--reels,5),minmax(0,1fr));gap:6px;aspect-ratio:var(--m-ratio)}
.sl-reel{position:relative;overflow:hidden;border-radius:10px;background:var(--m-reel);container-type:size;box-shadow:inset 0 10px 14px -10px rgba(0,0,0,.45),inset 0 -10px 14px -10px rgba(0,0,0,.45)}
.sl-strip{position:absolute;left:0;right:0;top:0;display:flex;flex-direction:column}
.sl-cell{flex:0 0 auto;height:calc(100cqh / var(--rows,3));display:grid;place-items:center;position:relative}
.sl-cell .sl-sym{position:relative;z-index:1;width:80%;height:80%;transition:opacity .25s,filter .25s}
.sl-reel.is-spin .sl-strip{filter:blur(1.5px)}
.sl-reel.is-tease{box-shadow:0 0 0 2px var(--m-hi),0 0 24px var(--m-hi)}
.sl-window.has-win .sl-cell:not(.is-win) .sl-sym{opacity:.3;filter:saturate(.35)}
.sl-cell.is-win::before{content:"";position:absolute;inset:5%;border-radius:12px;background:radial-gradient(circle,var(--m-hi) 0%,transparent 70%);animation:sl-glow 1.1s ease-in-out infinite alternate}
.sl-cell.is-win .sl-sym{animation:sl-pop 1.1s ease-in-out infinite alternate}
@keyframes sl-pop{from{transform:scale(.98)}to{transform:scale(1.1)}}
@keyframes sl-glow{from{opacity:.18}to{opacity:.55}}
.sl-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
.sl-line{fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:.95;filter:drop-shadow(0 0 3px rgba(0,0,0,.7));stroke-dasharray:3000;stroke-dashoffset:3000;animation:sl-draw .7s ease-out forwards}
@keyframes sl-draw{to{stroke-dashoffset:0}}
.sl-machine.is-on .sl-reel{animation:sl-reel-in .5s cubic-bezier(.2,.8,.2,1) both}
.sl-machine.is-on .sl-reel:nth-child(2){animation-delay:.05s}.sl-machine.is-on .sl-reel:nth-child(3){animation-delay:.1s}.sl-machine.is-on .sl-reel:nth-child(4){animation-delay:.15s}.sl-machine.is-on .sl-reel:nth-child(5){animation-delay:.2s}.sl-machine.is-on .sl-reel:nth-child(6){animation-delay:.25s}.sl-machine.is-on .sl-reel:nth-child(7){animation-delay:.3s}
@keyframes sl-reel-in{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:none}}
.sl-winbar{display:flex;align-items:center;justify-content:center;gap:14px;min-height:54px;padding:8px 16px;border-radius:14px;background:var(--m-bar);color:var(--m-ink);text-align:center;transition:box-shadow .2s}
.sl-wl{font-weight:600;font-size:15px}
.sl-wa{font:800 28px/1 var(--font-head);font-variant-numeric:tabular-nums;color:var(--m-hi)}
.sl-wa:empty{display:none}
.sl-winbar[data-state="lose"] .sl-wl,.sl-winbar[data-state="spin"] .sl-wl,.sl-winbar[data-state="idle"] .sl-wl{opacity:.75}
.sl-winbar[data-state="win"]{box-shadow:inset 0 0 0 2px var(--m-hi),0 0 22px -6px var(--m-hi)}
.sl-big{position:absolute;inset:-14px;z-index:5;display:grid;place-items:center;overflow:hidden;border-radius:var(--r-md);background:radial-gradient(circle,rgba(20,4,10,.55),rgba(10,2,6,.88));cursor:pointer;animation:sl-big-in .35s cubic-bezier(.2,.8,.2,1)}
.sl-big::before{content:"";position:absolute;width:160%;aspect-ratio:1;border-radius:50%;background:repeating-conic-gradient(rgba(255,215,110,.16) 0 9deg,transparent 9deg 18deg);animation:sl-rays 9s linear infinite}
.sl-big.is-out{animation:sl-big-out .26s ease forwards}
.sl-big-in{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.sl-big-t{font:800 46px/1 var(--font-head);text-transform:uppercase;letter-spacing:.025em;color:#ffe08a;text-shadow:0 3px 0 #8a4b00,0 0 30px rgba(255,200,80,.7);animation:sl-beat .8s ease-in-out infinite alternate}
.sl-big-a{font:800 54px/1 var(--font-head);color:#fff;font-variant-numeric:tabular-nums}
.sl-big-x{font:800 18px/1 var(--font-head);letter-spacing:.06em;color:#ffe08a}
@keyframes sl-big-in{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
@keyframes sl-big-out{to{opacity:0;transform:scale(1.04)}}
@keyframes sl-rays{to{transform:rotate(360deg)}}
@keyframes sl-beat{from{transform:scale(1)}to{transform:scale(1.07)}}

/* controlos */
.sl-turbo{display:flex;align-items:center;gap:10px;width:100%;margin:0 0 14px;padding:10px 12px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-weight:600;font-size:14px;text-align:left}
.sl-turbo-k{position:relative;flex:0 0 auto;width:36px;height:20px;border-radius:999px;background:var(--line-strong);transition:background .15s}
.sl-turbo-k::after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.3);transition:transform .15s}
.sl-turbo[aria-pressed="true"] .sl-turbo-k{background:var(--ok)}
.sl-turbo[aria-pressed="true"] .sl-turbo-k::after{transform:translateX(16px)}
.sl-autos,.pk-autos{grid-auto-flow:row;grid-template-columns:auto repeat(5,minmax(0,1fr))}
/* os números (10, 25, 50, 100) com pouco espaço dos lados, para caberem e ficarem centrados; "Desligadas" com o espaço normal */
.sl-autos button,.pk-autos button{min-width:0;padding-left:2px;padding-right:2px;letter-spacing:0;font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap;display:flex;align-items:center;justify-content:center}
.sl-autos button:first-child,.pk-autos button:first-child{padding-left:9px;padding-right:9px}
.sl-autos button[data-sl-auto="-1"],.pk-autos button[data-pk-auto="-1"]{font-size:17px;line-height:1}
/* ecrãs muito estreitos: "Desligadas" numa linha e os números todos na de baixo */
@media(max-width:380px){.sl-autos,.pk-autos{grid-template-columns:repeat(5,minmax(0,1fr))}.sl-autos button:first-child,.pk-autos button:first-child{grid-column:1/-1}}
.sl-spin{font-size:19px;letter-spacing:.06em}
.sl-spin.is-auto{background:var(--surface-3);border-color:var(--line-strong);color:var(--text)}
.sl-paylink{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;margin-top:10px;padding:8px;border:0;background:none;color:var(--link);font-weight:600;font-size:14px}
.sl-paylink svg{width:17px;height:17px}
.sl-paylink:hover{text-decoration:underline}
.cg-controls.is-spinning .cg-ops,.cg-controls.is-spinning .cg-money{pointer-events:none;opacity:.6}
@media(max-width:899px){
  #view-casino[data-cmode="slot"] .cg-stage{order:-1}
  #view-casino[data-cmode="slot"] #cgForm{display:flex;flex-direction:column}
  #view-casino[data-cmode="slot"] #cgForm>#cgPlay{order:-1;margin:0 0 14px}
}
@media(max-width:600px){
  .cg-main .cg-stage[data-game^="slot-"]{padding:10px}
  .sl-logo{font-size:22px}
  .sl-frame{padding:6px;border-radius:14px}
  .sl-window{gap:4px}
  .sl-reel{border-radius:7px}
  .sl-wa{font-size:24px}
  .sl-big-t{font-size:34px}.sl-big-a{font-size:40px}
  .sl-head h2{font-size:26px}
  .sl-switch{flex-basis:100%;margin-right:-16px;padding-right:16px}
  .sl-chip{height:42px;font-size:14px}
}

/* tabela de prémios */
.modal-card--pay{max-width:640px;padding:0;background:#160a0e;background-image:none;border-color:rgba(255,255,255,.12)}
.modal-card--pay .modal-x{color:#fff;z-index:2}
.modal-card--pay .modal-x:hover{background:rgba(255,255,255,.1);color:#fff}
.sl-pay{padding:20px 22px 22px;background:var(--m-bg);color:var(--m-ink)}
.pt-head{display:flex;align-items:baseline;gap:12px;padding-right:40px;font-size:13px;opacity:.9}
.pt-logo{font:800 22px/1 var(--font-head);text-transform:uppercase;letter-spacing:.035em;color:var(--m-logo)}
.sl-pay h2{margin:14px 0 8px;font:800 24px/1.1 var(--font-head);text-transform:uppercase;color:#fff}
.sl-pay h3{margin:18px 0 8px;font:800 15px/1.2 var(--font-head);text-transform:uppercase;letter-spacing:.035em;color:#fff}
.pt-lead{margin:0 0 8px;font-size:14px;line-height:1.5}
.pt-table{display:grid;gap:6px;margin:14px 0 0}
.pt-row{display:grid;grid-template-columns:54px 1fr;grid-template-areas:"sym name" "sym pays";gap:4px 12px;align-items:center;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.05)}
.pt-row--sp{background:rgba(255,255,255,.09)}
.pt-sym{grid-area:sym;width:54px;height:54px;border-radius:10px;background:var(--m-reel);display:grid;place-items:center}
.pt-sym .sl-sym{width:44px;height:44px}
.pt-name{grid-area:name;font-weight:700;font-size:14px;color:#fff}
.pt-name small{margin-left:8px;font-weight:500;opacity:.7}
.pt-pays{grid-area:pays;display:flex;flex-wrap:wrap;gap:6px}
.pt-pay{display:inline-flex;align-items:baseline;gap:6px;padding:3px 10px;border-radius:999px;background:rgba(0,0,0,.28);font-size:13px;font-variant-numeric:tabular-nums}
.pt-pay b{font:800 14px/1 var(--font-head);color:var(--m-hi)}
.pt-pay small{opacity:.6}
.pt-lines{display:flex;flex-wrap:wrap;gap:10px 14px}
.pt-line{display:inline-flex;align-items:center;gap:6px}
.pt-line b{width:16px;text-align:right;font:800 13px/1 var(--font-head);color:var(--m-hi)}
.pt-mini{display:grid;grid-template-columns:repeat(5,9px);gap:2px}
.pt-mini[data-reels="3"]{grid-template-columns:repeat(3,9px)}
.pt-mini i{width:9px;height:9px;border-radius:2px;background:rgba(255,255,255,.16)}
.pt-mini i.on{background:var(--m-hi)}
.pt-foot{margin:18px 0 0;font-size:12.5px;line-height:1.5;opacity:.75}

/* histórico */
.sl-hist{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-start;margin:4px 0 10px}
.sl-mini{display:grid;grid-template-columns:repeat(5,28px);gap:3px;padding:6px;border-radius:10px;background:var(--m-bg)}
.sl-mini[data-reels="3"]{grid-template-columns:repeat(3,30px)}
.sl-mini[data-reels="4"]{grid-template-columns:repeat(4,30px)}
.sl-mini[data-reels="6"]{grid-template-columns:repeat(6,24px)}
.sl-mini[data-reels="7"]{grid-template-columns:repeat(7,22px)}
.sl-mini span{aspect-ratio:1;border-radius:6px;background:var(--m-reel);display:grid;place-items:center;opacity:.4}
.sl-mini span.on,.sl-mini:not(:has(.on)) span{opacity:1}
.sl-mini span.on{box-shadow:0 0 0 2px var(--m-hi)}
.sl-mini .sl-sym{width:84%;height:84%}
.sl-wins{flex:1;min-width:200px;margin:0;padding:0;list-style:none;display:grid;gap:5px;font-size:13.5px}
.sl-wins li{display:flex;justify-content:space-between;gap:12px;padding-bottom:5px;border-bottom:1px dashed var(--line)}
.sl-wins b{color:var(--ok);font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:reduce){
  .gr-portal::after,.gr-group--live .gr-label::before,.sl-cell.is-win::before,.sl-cell.is-win .sl-sym,.sl-big::before,.sl-big-t,.sl-line,.sl-lobby.is-intro .sl-card,.sl-machine.is-on .sl-reel{animation:none!important}
  .sl-line{stroke-dashoffset:0}
  .slp-strip,.sl-card,.sl-cover-art{transition:none}
}

/* =========================================================
   Só se mostram os ganhos (sempre a verde); as perdas não aparecem
   ========================================================= */
.cg-result:empty{visibility:hidden}
.cg-r-pay.muted,.lv-bets .muted{color:var(--muted)}
.cg-done.is-won{color:var(--ok);opacity:1;border-color:var(--ok)}
.cg-main .cg-stage[data-game^="slot-"] .sl-wa{color:var(--ok)}
/* roleta: as fichas apostam logo; antes de haver fichas, uma dica no lugar do botão */
.cg-hint{display:flex;align-items:center;justify-content:center;min-height:52px;margin:0;padding:10px 14px;border-radius:var(--r-sm);border:1px dashed var(--line-strong);color:var(--muted);font-size:14px;font-weight:600;text-align:center}
.cg-ops--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cg-cancel{letter-spacing:.03em}

/* =========================================================
   COPOS — mesa de feltro vinho com foco de luz, copos de latão e bola de marfim
   ========================================================= */
.gt--cups{--tile:#a26c1c}
.gt--cups .a-c{fill:#fff8ee}
.cg-stage[data-game="cups"]{background-image:none}
.cg-viz.cu{justify-items:stretch;align-content:start;gap:12px;min-height:0}
.cu-status{margin:0;min-height:22px;text-align:center;color:var(--muted);font-size:14.5px;line-height:1.35}
.cu-status.is-win{color:var(--ok);font-weight:700}
.cu-status.is-ask{color:var(--text);font-weight:700}
.cu-table{position:relative;overflow:hidden;border-radius:28px;padding:10px 12px 8px;color:#fff;
  background:
    radial-gradient(58% 72% at 50% 40%,rgba(255,222,160,.19),rgba(255,222,160,0) 72%),
    url(/img/g-wm-claro.png) 50% 46%/auto 58% no-repeat,
    radial-gradient(130% 110% at 50% 0%,#74163a 0%,#4a0a1f 50%,#26050f 100%);
  box-shadow:inset 0 0 0 4px #1d040c,inset 0 0 0 6px rgba(216,180,106,.5),inset 0 -40px 70px rgba(0,0,0,.35),0 14px 28px -10px rgba(0,0,0,.45)}
.cu-defs{position:absolute;width:0;height:0;overflow:hidden}
.cu-row{position:relative;width:100%;height:300px}
.cu-cups{position:absolute;inset:0;isolation:isolate;transition:opacity .2s}
.cu-cups.is-fade{opacity:.2}
.cu-cup{position:absolute;left:calc(50% - var(--cw) / 2);top:calc(var(--base) - var(--ch));width:var(--cw);height:var(--ch);padding:0;margin:0;border:0;border-radius:0;background:none;color:inherit;cursor:default;-webkit-tap-highlight-color:transparent;will-change:transform;z-index:2}
.cu-cup:disabled{opacity:1;cursor:default}
.cu-cup::before{content:"";position:absolute;inset:-10px -3px -14px}
.cu-body{position:absolute;inset:0;transform-origin:50% 97%;transform:translateY(calc(var(--lift,0) * var(--liftpx) * -1 - var(--hov,0px))) rotate(calc(var(--lift,0) * -6deg))}
.cu-svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 3px 3px rgba(0,0,0,.4))}
.cu-shadow{position:absolute;left:-6%;right:-6%;bottom:calc(var(--cw) * -.09);height:calc(var(--cw) * .22);border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.62),rgba(0,0,0,0));transform:scale(calc(1 - var(--lift,0) * .34));opacity:calc(1 - var(--lift,0) * .5)}
.cu-shadow::after{content:"";position:absolute;inset:8% 10%;border-radius:50%;border:2px solid transparent}
.cu-cup.is-chosen .cu-shadow::after{border-color:#ffd56b;box-shadow:0 0 12px rgba(255,213,107,.55)}
.cu-cup.is-new{animation:cu-in .34s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--k,0) * 30ms)}
@keyframes cu-in{from{opacity:0;scale:.82}to{opacity:1;scale:1}}
.cu-cup.is-thump .cu-body{animation:cu-thump .24s ease-out}
@keyframes cu-thump{0%{scale:1.05 .93}60%{scale:.98 1.02}100%{scale:1 1}}
/* escolher: os copos dão um pequeno salto a convidar, e sobem um pouco debaixo do rato */
.cu-row.is-pick .cu-cup{cursor:pointer}
.cu-row.is-pick .cu-body{transition:transform .16s ease-out;animation:cu-hop .5s cubic-bezier(.3,.7,.3,1) both;animation-delay:calc(var(--k,0) * 70ms)}
@keyframes cu-hop{0%,100%{translate:0 0}45%{translate:0 calc(var(--ch) * -.1)}}
@media(hover:hover){.cu-row.is-pick .cu-cup:hover{--hov:calc(var(--ch) * .08)}}
.cu-row.is-pick .cu-cup:hover .cu-svg,.cu-row.is-pick .cu-cup:focus-visible .cu-svg{filter:drop-shadow(0 3px 3px rgba(0,0,0,.4)) drop-shadow(0 0 9px rgba(255,214,107,.85))}
.cu-cup:focus-visible{outline:none}
.cu-row.is-pick .cu-cup:focus-visible .cu-shadow::after{border-color:#fff}
/* a bola */
.cu-ball{position:absolute;left:calc(50% - var(--bw) / 2);top:calc(var(--base) - var(--bw));width:var(--bw);height:var(--bw);border-radius:50%;z-index:1;pointer-events:none;will-change:transform;
  background:radial-gradient(circle at 34% 30%,#fff 0,#fdf9f2 20%,#e6dac9 56%,#a8927a 100%);
  box-shadow:0 calc(var(--bw) * .14) calc(var(--bw) * .22) rgba(0,0,0,.5),inset 0 calc(var(--bw) * -.06) calc(var(--bw) * .12) rgba(90,60,30,.35)}
.cu-ball.is-in{animation:cu-pop .3s cubic-bezier(.3,1.6,.5,1) both}
@keyframes cu-pop{from{opacity:0;scale:.3}to{opacity:1;scale:1}}
.cu-ball.is-out{opacity:0;transition:opacity .16s}
.cu-ball::after{content:"";position:absolute;inset:-30%;border-radius:50%;border:2px solid transparent;opacity:0}
.cu-ball.is-win::after{border-color:#3ddc97;box-shadow:0 0 14px rgba(61,220,151,.6);animation:cu-ring 1.1s ease-out 2}
.cu-ball.is-win.is-still::after{animation:none;opacity:1}
.cu-ball.is-win{animation:cu-bounce .6s cubic-bezier(.3,1.5,.5,1) both}
.cu-ball.is-win.is-still{animation:none}
@keyframes cu-ring{0%{opacity:1;scale:.7}100%{opacity:0;scale:1.5}}
@keyframes cu-bounce{0%{translate:0 0}35%{translate:0 calc(var(--bw) * -.55)}70%{translate:0 0}85%{translate:0 calc(var(--bw) * -.12)}100%{translate:0 0}}
.cu-spark{position:absolute;inset:0;pointer-events:none}
.cu-spark i{position:absolute;left:50%;top:50%;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;background:#ffd56b;opacity:0;animation:cu-spark .7s .08s ease-out both}
.cu-spark i:nth-child(1){--dx:0;--dy:-2.3}.cu-spark i:nth-child(2){--dx:1.6;--dy:-1.6}.cu-spark i:nth-child(3){--dx:2.3;--dy:0}.cu-spark i:nth-child(4){--dx:1.6;--dy:1.6}
.cu-spark i:nth-child(5){--dx:0;--dy:2.3}.cu-spark i:nth-child(6){--dx:-1.6;--dy:1.6}.cu-spark i:nth-child(7){--dx:-2.3;--dy:0}.cu-spark i:nth-child(8){--dx:-1.6;--dy:-1.6}
.cu-spark i:nth-child(even){background:#3ddc97}
@keyframes cu-spark{0%{opacity:1;translate:0 0;scale:1}100%{opacity:0;translate:calc(var(--dx) * var(--bw)) calc(var(--dy) * var(--bw));scale:.4}}
/* o clarão no ponto mais rápido da mistura */
.cu-flash{position:absolute;inset:0;pointer-events:none;opacity:0;mix-blend-mode:screen;
  background:radial-gradient(52% 62% at 50% 56%,rgba(255,247,226,.96),rgba(255,214,140,.5) 42%,rgba(255,180,110,0) 76%),
    linear-gradient(180deg,transparent 40%,rgba(255,236,200,.35) 58%,transparent 76%)}
/* miniaturas no histórico */
.cu-mini{display:flex;gap:7px;align-items:flex-end;margin:2px 0 10px;padding:6px 10px 8px;border-radius:10px;background:#3a0817;width:max-content}
.cu-m{position:relative;width:20px;height:30px}
.cu-m::before{content:"";position:absolute;left:0;right:0;bottom:3px;height:19px;background:linear-gradient(90deg,#5e3a08,#f6d27a 42%,#c48f2c 62%,#4a2b05);clip-path:polygon(30% 0,70% 0,100% 100%,0 100%)}
.cu-m.is-ball::before{bottom:12px}
.cu-m i{position:absolute;left:50%;bottom:2px;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#d8c9b6)}
.cu-m.is-pick::after{content:"";position:absolute;left:1px;right:1px;bottom:-3px;height:2px;border-radius:2px;background:#ffd56b}
@media(max-width:600px){
  .cg-stage[data-game="cups"]{padding:12px 10px}
  .cu-table{border-radius:20px;padding:8px 4px 6px}
  .cu-status{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  .cu-cup.is-new,.cu-row.is-pick .cu-body,.cu-ball.is-in,.cu-ball.is-win,.cu-ball.is-win::after,.cu-cup.is-thump .cu-body{animation:none!important}
  .cu-ball.is-win::after{opacity:1}
}
/* barra de jogos: quando não cabe tudo, a ponta esbate-se para mostrar que há mais */
.gr-scroll.is-more{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent)}
.gr-scroll.is-less{-webkit-mask-image:linear-gradient(90deg,transparent,#000 40px);mask-image:linear-gradient(90deg,transparent,#000 40px)}
.gr-scroll.is-more.is-less{-webkit-mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 56px),transparent)}

/* =========================================================
   PEDRA, PAPEL, TESOURA — cartas frente a frente; contra jogadores, uma lista de desafios ao vivo
   ========================================================= */
.gt--rps{--tile:#4b1d52}
.gt--rps .a-c{fill:#f6e9d6}
#cgGames .cg-tn.is-long{font-size:10.5px;line-height:1.15}
.rps-modes{margin-bottom:2px}
.rps-picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.rps-pick{display:grid;justify-items:center;gap:5px;padding:9px 4px 8px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface-2);font:700 13px/1.1 var(--font-head);color:var(--text);transition:border-color .12s,transform .12s,background-color .12s,box-shadow .12s}
.rps-pick:hover{border-color:var(--brand-hi)}
.rps-pick:active{transform:scale(.97)}
.rps-pick[aria-pressed="true"]{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);background:var(--gold-bg)}
.rps-pick:disabled{opacity:.55;cursor:default}
.rps-art{display:block;width:100%;height:auto;overflow:visible}
.rps-art .rps-sh{fill:rgba(0,0,0,.22)}
.rps-art--mini{width:42px;height:42px}
.rps-art--tiny{width:24px;height:24px}
.rps-note{display:flex;gap:8px;align-items:flex-start;margin:0;padding:10px 12px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);font:500 12.5px/1.5 var(--font);color:var(--muted)}
.rps-note .ic{flex:none;width:16px;height:16px;margin-top:2px;color:var(--ok)}

.rps{display:grid;justify-items:center;align-content:start;gap:14px;padding:22px 12px 4px}
.rps-arena{display:flex;align-items:center;justify-content:center;gap:clamp(14px,4vw,46px);width:100%;perspective:900px}
.rps-side{display:grid;justify-items:center;gap:9px}
.rps-who{font:700 12px/1 var(--font-head);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rps-card{position:relative;display:grid;place-items:center;width:clamp(108px,15vw,164px);aspect-ratio:3/4;padding:13%;border-radius:18px;background:linear-gradient(160deg,#fffaf2,#efe2cf);border:2px solid #e2cfb4;box-shadow:0 12px 26px rgba(0,0,0,.28);transition:box-shadow .25s,border-color .25s}
.rps-card[data-face="back"],.rps-card[data-face="sealed"]{padding:0;background:radial-gradient(120% 90% at 28% 18%,#a01c40,#5a0f25 72%);border-color:#c9952e}
.rps-back{position:absolute;inset:8px;border-radius:12px;border:1.5px solid rgba(227,179,65,.55);background:repeating-linear-gradient(45deg,rgba(255,255,255,.035) 0 8px,transparent 8px 16px)}
.rps-back::after{content:"";position:absolute;inset:25%;background:linear-gradient(150deg,#ffe9a6,#c9952e);-webkit-mask:url(/img/g-marca.png) center/contain no-repeat;mask:url(/img/g-marca.png) center/contain no-repeat}
.rps-lock{position:absolute;left:50%;bottom:11px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:99px;background:rgba(0,0,0,.5);color:#ffe7a0;font:700 11px/1 var(--font-head);white-space:nowrap}
.rps-lock .ic{width:12px;height:12px}
.rps-card.is-win{border-color:var(--ok);box-shadow:0 0 0 3px rgba(61,220,151,.55),0 12px 32px rgba(61,220,151,.22)}
.rps-card.is-tie{border-color:var(--gold);box-shadow:0 0 0 3px rgba(227,179,65,.45),0 12px 26px rgba(0,0,0,.28)}
.rps-card.is-best{box-shadow:0 0 0 3px rgba(255,255,255,.3),0 12px 26px rgba(0,0,0,.28)}
.rps-name{min-height:16px;font:800 15px/1 var(--font-head);text-transform:uppercase;letter-spacing:.03em}
.rps-vs{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:linear-gradient(150deg,#ffe9a6,#c9952e);color:#4a1020;font:800 14px/1 var(--font-head);letter-spacing:.02em;box-shadow:0 4px 14px rgba(0,0,0,.3)}
.rps-status{margin:2px 0 0;min-height:24px;max-width:520px;text-align:center;font:600 15px/1.45 var(--font);color:var(--text)}
.rps-status.is-count{font:800 24px/1 var(--font-head);text-transform:uppercase;letter-spacing:.04em;color:var(--gold)}
.rps-status.is-win{color:var(--ok);font-weight:700}
.rps-status.is-call{font:800 17px/1.35 var(--font-head);color:var(--gold)}
.rps-seal,.rps-proof{display:flex;gap:7px;align-items:flex-start;max-width:540px;margin:0;font:500 12.5px/1.5 var(--font);color:var(--muted)}
.rps-seal .ic,.rps-proof .ic{flex:none;width:14px;height:14px;margin-top:2px}
.rps-proof:empty{display:none}
.rps-proof.is-ok{color:var(--ok)}
.rps-proof.is-bad{color:var(--warn)}
.rps-proof span{overflow-wrap:anywhere}

/* desafios */
.rps--duels{justify-items:stretch;padding:16px 6px 4px}
.rps-duel{display:grid;justify-items:center;gap:12px}
.rps-duel .cg-result{width:100%}
.rps-backbtn{gap:6px}
.rps-backbtn .ic{width:16px;height:16px}
.rps-lobby{display:grid;gap:20px}
.rps-sh{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.rps-sec h3{margin:0;font:800 15px/1.2 var(--font-head);text-transform:uppercase;letter-spacing:.03em}
.rps-pulse{display:inline-flex;align-items:center;gap:6px;font:700 11px/1 var(--font-head);text-transform:uppercase;letter-spacing:.05em;color:var(--live)}
.rps-pulse::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--live);animation:pulse 1.8s infinite}
.rps-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
/* "Os teus desafios" e "Últimos duelos": fechados, com a seta à direita */
.rps-fold{padding:6px 12px;border-radius:var(--r-md);border:1px solid var(--line)}
.rps-fold .rps-foldh{margin:0;font:800 15px/1.2 var(--font-head);text-transform:uppercase;letter-spacing:.03em}
.rps-fold .cg-fold{min-height:44px}
.rps-fold .rps-list{margin:6px 0 8px}
.rps-fold .cg-fold-n:empty{display:none}
.rps-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line)}
.rps-row.is-own{border-style:dashed;border-color:var(--line-strong)}
.rps-row.is-picking{border-color:var(--gold)}
.rps-av{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#4b1d52;color:#fff;font:800 12px/1 var(--font-head)}
.rps-ri{display:grid;gap:3px;min-width:0}
.rps-ri b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 14px/1.2 var(--font)}
.rps-ri small{font:500 12px/1.35 var(--font);color:var(--muted)}
.rps-amt{display:grid;justify-items:end;gap:3px}
.rps-amt b{font:800 16px/1 var(--font-head)}
.rps-amt small{font:600 11.5px/1 var(--font);color:var(--ok);white-space:nowrap}
.rps-act{padding:8px 14px}
.rps-picker{grid-column:1/-1;display:grid;gap:8px;padding-top:10px;border-top:1px solid var(--line)}
.rps-picker>span{font:600 13px/1.3 var(--font);color:var(--muted)}
.rps-empty{padding:18px 16px;border-radius:var(--r-md);border:1px dashed var(--line-strong);color:var(--muted);font:500 13.5px/1.5 var(--font);text-align:center}
.rps-mrow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 12px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line)}
.rps-mi .rps-art{width:34px;height:34px}
.rps-mv{font:800 14px/1 var(--font-head);white-space:nowrap}
.rps-mv .pos{color:var(--ok)}
.rps-mv .muted{color:var(--faint)}
.rps-rrow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 12px;border-radius:var(--r-sm);background:var(--surface-2);font:600 13px/1.2 var(--font);color:var(--muted)}
.rps-rrow>span:first-child{text-align:right}
.rps-rrow .is-w{color:var(--ok);font-weight:800}
.rps-vsm{display:inline-flex;align-items:center;gap:5px}
.rps-vsm i{font-style:normal;opacity:.6}
.rps-rrow small{font:600 11.5px/1 var(--font);white-space:nowrap}
@media(max-width:600px){
  .rps{gap:12px;padding-top:16px}
  .rps-row{grid-template-columns:auto minmax(0,1fr) auto}
  .rps-row>.rps-act{grid-column:1/-1;width:100%}
  .rps-rrow{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
  .rps-rrow small{grid-column:1/-1;text-align:center}
}
/* escolher a jogada: três botões grandes e o relógio dos 10 segundos */
.rps-choose{display:grid;gap:10px;width:min(100%,460px)}
.rps-picks--big{gap:10px}
.rps-picks--big .rps-pick{padding:12px 6px 10px;font-size:15px;border-width:1.5px}
.rps-picks--big .rps-art--mini{width:58px;height:58px}
.rps-choose .rps-pick:not(:disabled):hover{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 8px 18px -10px rgba(227,179,65,.8)}
.rps-choose .rps-pick[aria-pressed="true"]:disabled{opacity:1}
.rps-clock{display:flex;align-items:center;gap:10px}
.rps-clock[hidden]{display:none}
.rps-clock-bar{flex:1;height:8px;border-radius:99px;background:var(--surface-3);overflow:hidden}
.rps-clock-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#c9952e,#ffe9a6);transform-origin:left center}
.rps-clock b{min-width:26px;text-align:right;font:800 20px/1 var(--font-head);color:var(--gold);font-variant-numeric:tabular-nums}
.rps-clock.is-low .rps-clock-bar i{background:linear-gradient(90deg,#c0392b,var(--live))}
.rps-clock.is-low b{color:var(--live)}
.rps-other{display:flex;align-items:center;justify-content:center;gap:7px;margin:0;font:600 13px/1.3 var(--font);color:var(--muted)}
.rps-other[hidden]{display:none}
.rps-other .ic{width:15px;height:15px}
.rps-other.is-done{color:var(--ok)}
.rps-dots{width:8px;height:8px;border-radius:50%;background:var(--gold);animation:rps-dot 1.2s ease-in-out infinite}
@keyframes rps-dot{0%,100%{opacity:.25}50%{opacity:1}}
.rps-go{justify-self:start}
.rps-proof a{margin-left:4px;color:var(--link);font-weight:700;white-space:nowrap}
/* aviso flutuante: aceitaram o teu desafio e estás noutra página do site */
.rps-call{position:fixed;right:16px;bottom:16px;z-index:80;display:grid;gap:10px;width:min(360px,calc(100vw - 32px));padding:14px 14px 12px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--gold);box-shadow:var(--shadow),0 0 0 3px rgba(227,179,65,.18);color:var(--text);animation:rps-call-in .28s cubic-bezier(.2,.8,.2,1)}
.rps-call-h{margin:0;padding-right:28px;font:800 15px/1.3 var(--font-head)}
.rps-call-t{margin:0;font:600 13.5px/1.4 var(--font);color:var(--muted)}
.rps-call.is-win .rps-call-t{color:var(--ok);font-weight:700}
.rps-call.is-tie .rps-call-t{color:var(--gold)}
.rps-call.is-lose .rps-call-t{color:var(--text)}
.rps-call-x{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted)}
.rps-call-x:hover{background:var(--surface-2);color:var(--text)}
.rps-call-x .ic{width:16px;height:16px}
.rps-call .rps-picks[hidden]{display:none}
.rps-call-go{min-height:40px}
@keyframes rps-call-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (max-width: 560px){.rps-call{right:12px;left:12px;bottom:12px;width:auto}}
/* cara ou coroa entre jogadores */
.cd-duel{gap:14px}
.cd-sides{display:flex;align-items:center;justify-content:center;gap:clamp(14px,4vw,40px)}
.cd-side{display:grid;justify-items:center;gap:6px;min-width:110px}
.cd-side small{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 12px/1 var(--font-head);text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.cd-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:99px;font:800 12px/1 var(--font-head);text-transform:uppercase;letter-spacing:.03em;vertical-align:middle;white-space:nowrap}
.cd-chip--heads{background:linear-gradient(150deg,#ffe9a6,#c9952e);color:#4a1020}
.cd-chip--tails{background:linear-gradient(150deg,#e9edf2,#9aa4b0);color:#1d2430}
.cd-side .cd-chip{padding:7px 14px;font-size:14px}
.rps-ri small .cd-chip{margin-right:4px;padding:2px 7px;font-size:10px}
.rps-mi .cd-chip{padding:5px 8px;font-size:10.5px}
:root[data-theme="light"] .rps-card{box-shadow:0 10px 24px rgba(90,20,40,.18)}
:root[data-theme="light"] .rps-vs{box-shadow:0 4px 12px rgba(90,20,40,.25)}
:root[data-theme="light"] .rps-status.is-count,:root[data-theme="light"] .rps-status.is-call{color:var(--gold-ink)}
@media (prefers-reduced-motion: reduce){.rps-pulse::before,.rps-dots{animation:none}.rps-call{animation:none}}

/* =========================================================
   LEVANTAMENTOS — o saldo abre o menu; formulário e histórico no mesmo estilo dos depósitos
   ========================================================= */
button.wallet{font:inherit;color:inherit;cursor:pointer;text-align:right;transition:border-color .15s,background-color .15s}
button.wallet:hover{border-color:rgba(255,255,255,.4);background:rgba(0,0,0,.34)}
button.wallet:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.wd-form{display:grid;gap:12px}
.wd-bal{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0;padding:10px 12px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);font:600 13px/1.2 var(--font);color:var(--muted)}
.wd-bal strong{font:800 18px/1 var(--font-head);color:var(--text)}
.wd-money{padding-right:4px}
.wd-max{flex:none;margin:4px 0;padding:6px 10px;border-radius:var(--r-xs);border:1px solid var(--line-strong);background:var(--surface-2);font:700 12px/1 var(--font-head);color:var(--text)}
.wd-max:hover{border-color:var(--brand-hi)}
.wd-sum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}
.wd-sum>div{padding:8px 10px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);min-width:0}
.wd-sum dt{font:600 10.5px/1.25 var(--font-head);text-transform:uppercase;letter-spacing:.02em;color:var(--muted)}
.wd-sum dd{margin:4px 0 0;font:800 15px/1.1 var(--font-head);overflow-wrap:anywhere}
.wd-sum .wd-recv{color:var(--ok)}
.wd-row{grid-template-columns:1fr auto}
.wd-row .dep-row-main{grid-column:1/-1;display:flex;justify-content:space-between;gap:10px}
.wd-row .dep-row-sub{grid-column:1/-1}
.wd-note{color:var(--warn)}
.wd-cancel{grid-column:1/-1;justify-self:start;margin-top:6px;padding:6px 12px}
@media(max-width:520px){.wd-sum{grid-template-columns:1fr 1fr}.wd-sum>div:last-child{grid-column:1/-1}}
.form .wd-money input[type=text]{flex:1;min-width:0;border:0;background:none;box-shadow:none;padding:11px 0;outline:0}
.wd-money:focus-within{border-color:var(--brand-hi)}

/* =========================================================
   Galinha na estrada
   ========================================================= */
.gt--chicken{--tile:#36505c}
.gt--chicken .a-c{fill:#ffd166}
.gt--chicken .a-r{fill:#ef476f}
.gt--chicken .a-leg{fill:none;stroke:#ffd166;stroke-width:4;stroke-linecap:round}
.cg-viz.ck,.cg-viz.bx{justify-items:stretch;align-content:start;gap:0;min-height:0}
.ck{--ck-w:92px;--ck-side:118px;--ck-h:300px;--ck-hen:64px;padding:6px 0 2px}
@media(max-width:700px){.ck{--ck-w:66px;--ck-side:78px;--ck-h:236px;--ck-hen:50px}}
.ck-view{position:relative;overflow:hidden;height:var(--ck-h);border-radius:var(--r-lg);background:#2b3038;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.ck-road{position:absolute;top:0;bottom:0;left:0;display:flex;transition:transform .5s cubic-bezier(.3,.7,.3,1);will-change:transform}
.ck-road.is-instant{transition:none}
.ck-side{flex:0 0 var(--ck-side);position:relative;background:#8d96a1;background-image:repeating-linear-gradient(0deg,transparent 0 38px,rgba(0,0,0,.13) 38px 40px),repeating-linear-gradient(90deg,transparent 0 38px,rgba(0,0,0,.08) 38px 40px)}
.ck-side--a{border-right:6px solid #c9cfd6}
.ck-side--b{border-left:6px solid #c9cfd6;display:grid;place-items:center}
.ck-goal-svg{display:block;width:58px;height:58px;filter:drop-shadow(0 3px 2px rgba(0,0,0,.3))}
.ck-lane{flex:0 0 var(--ck-w);position:relative;overflow:hidden;background:#30353d;border-left:2px dashed rgba(255,255,255,.32);transition:background-color .3s}
.ck-side--a + .ck-lane{border-left:0}
.ck-car{position:absolute;left:50%;top:0;width:calc(var(--ck-w) * .5);margin-left:calc(var(--ck-w) * -.25);transform:translateY(-130%);transition:opacity .25s}
.ck-car-svg{display:block;width:100%;height:auto}
.ck-car.c1{color:#e11d48}.ck-car.c2{color:#2563eb}.ck-car.c3{color:#f59e0b}.ck-car.c4{color:#10b981}.ck-car.c5{color:#8b5cf6}.ck-car.c6{color:#f97316}
.ck-sign{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:calc(var(--ck-w) * .78);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle at 50% 38%,#4b525c,#22262c);border:3px solid #59616c;box-shadow:inset 0 2px 6px rgba(0,0,0,.55);transition:background .3s,border-color .3s,opacity .3s}
.ck-sign b{font:800 13px/1 var(--font);color:#e8ecf1;letter-spacing:-.01em}
@media(max-width:700px){.ck-sign b{font-size:10.5px}}
.ck-lane.is-target .ck-sign{border-color:#ffd166}
.ck-lane.is-safe .ck-sign{background:radial-gradient(circle at 50% 38%,#ffd978,#c58a1c);border-color:#ffe7a3}
.ck-lane.is-safe .ck-sign b{color:#3a2400}
.ck-gate{position:absolute;left:9%;right:9%;top:12px;height:12px;border-radius:6px;background:repeating-linear-gradient(135deg,#ef4444 0 9px,#fff 9px 18px);box-shadow:0 2px 0 rgba(0,0,0,.35);opacity:0;transform:translateY(-40px);transition:transform .35s cubic-bezier(.3,1.5,.5,1),opacity .2s}
.ck-lane.is-safe .ck-gate{opacity:1;transform:none}
.ck-lane.is-safe .ck-car,.ck-lane.is-clear .ck-car{opacity:0}
.ck-lane.is-done.has-car .ck-car{transform:translateY(14px)}
.ck-lane.is-hit .ck-car{z-index:4;transform:translateY(calc(var(--ck-h) / 2 - 50%))}
.ck-lane.has-car{background:#45293a}
.ck-lane.is-hit{background:#5c2433}
.ck-lane.is-clear .ck-sign{opacity:.5}
.ck-hen{position:absolute;left:0;top:calc(50% - var(--ck-hen) * .62);z-index:3;width:var(--ck-hen);height:var(--ck-hen);margin-left:calc(var(--ck-hen) / -2);pointer-events:none}
.ck-hen-svg{display:block;width:100%;height:100%;filter:drop-shadow(0 5px 3px rgba(0,0,0,.35));transform-origin:50% 90%}
.ck-legs{fill:none;stroke:#f59e0b;stroke-width:3;stroke-linecap:round}
.ck-hen.is-hit .ck-hen-svg{animation:ck-hit .7s ease-out forwards}
@keyframes ck-hit{30%{transform:rotate(-28deg) scale(1.1)}100%{transform:translateY(14px) rotate(-92deg) scale(.9);opacity:.35}}
.ck-feather{position:absolute;z-index:4;width:11px;height:5px;border-radius:50%;background:#fff;pointer-events:none}
.ck-status{min-height:22px;margin:12px 0 0;text-align:center;font:600 14.5px/1.45 var(--font);color:var(--text)}
.ck-status.is-win{color:var(--ok);font-weight:700}
.ck-acts{display:grid;gap:8px}
.ck-note{margin:-2px 0 0;font-size:12.5px;color:var(--muted)}
.ck-levels{grid-template-columns:repeat(4,minmax(0,1fr))}
.ck-levels button{padding-left:4px;padding-right:4px}
@media (prefers-reduced-motion: reduce){.ck-road,.ck-gate,.ck-sign{transition:none}.ck-hen.is-hit .ck-hen-svg{animation:none;opacity:.4}}

/* =========================================================
   Caixas mistério
   ========================================================= */
.gt--boxes{--tile:#8a5a2b}
.gt--boxes .a-c{fill:#f3d9a8}
.bx{padding:4px 0 2px}
.bx-status{min-height:22px;margin:0 0 12px;text-align:center;font:600 14.5px/1.45 var(--font);color:var(--text)}
.bx-status.is-win{color:var(--ok);font-weight:700}
.bx-grid{display:grid;gap:8px;max-width:520px;margin:0 auto}
.bx-grid--25{grid-template-columns:repeat(5,minmax(0,1fr))}
.bx-grid--36{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;max-width:560px}
.bx-box{position:relative;aspect-ratio:92/82;padding:0;border:0;border-radius:12px;background:none;cursor:pointer;transition:transform .15s,opacity .3s,filter .3s}
@media(hover:hover){.bx-box:not(.is-open):hover{transform:translateY(-3px)}}
.bx-box:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.bx-svg{display:block;width:100%;height:100%;overflow:visible}
.bx-sh{fill:rgba(0,0,0,.24)}
.bx-front{fill:#c8925a}.bx-side{fill:#a5713e}.bx-top{fill:#deb27c}
.bx-tape{fill:#ecd9ab;opacity:.92}.bx-tape2{fill:#f4e4bc}
.bx-label{fill:#f7f0e2}.bx-lines{fill:none;stroke:#9aa3ad;stroke-width:1.6;stroke-linecap:round}
.bx-hole{fill:#3b2516}
.bx-lid{transform-box:fill-box;transform-origin:90% 100%;transition:transform .4s cubic-bezier(.3,1.3,.5,1),opacity .35s}
.bx-box.is-open .bx-lid{opacity:0;transform:translate(8%,-38%) rotate(18deg)}
.bx-in{position:absolute;left:43.5%;top:56%;padding:5px 8px;border-radius:9px;font:800 14px/1 var(--font);white-space:nowrap;opacity:0;transform:translate(-50%,-50%) scale(.4);transition:transform .38s cubic-bezier(.3,1.6,.5,1),opacity .2s,top .38s cubic-bezier(.3,1.4,.5,1);pointer-events:none}
.bx-box.is-open .bx-in{opacity:1;transform:translate(-50%,-50%) scale(1)}
.bx-box.is-picked{z-index:2}
.bx-box.is-picked .bx-in{top:30%;padding:6px 10px;font-size:18px;box-shadow:0 6px 18px rgba(0,0,0,.4)}
.bx-box.is-picked:not(.is-empty) .bx-svg{filter:drop-shadow(0 0 12px rgba(255,209,102,.6))}
.bx-box.is-top .bx-in{background:linear-gradient(#ffe08a,#e0a93a);color:#3a2400}
.bx-box.is-big .bx-in{background:#22c55e;color:#03210f}
.bx-box.is-win .bx-in{background:#86efac;color:#063b1c}
.bx-box.is-part .bx-in{background:#e2e8f0;color:#334155}
.bx-box.is-empty .bx-in{background:rgba(24,15,9,.72);color:#eadccb;font-weight:700;font-size:12px}
.bx-box.is-open.is-empty .bx-svg{filter:saturate(.3) brightness(.78)}
.bx-box.is-picked.is-empty .bx-in{font-size:15px}
.bx-box.is-other{opacity:.62;transform:scale(.94)}
.bx-box.is-other .bx-in{font-size:12px;padding:4px 5px}
/* caixa escolhida pelo jogador (ainda fechada): sobe, ganha contorno dourado e um visto; as outras recuam um pouco */
.bx-grid .bx-box.is-sel{z-index:2;transform:translateY(-6px)}
.bx-box.is-sel .bx-svg{filter:drop-shadow(0 0 9px rgba(255,209,102,.7))}
.bx-box.is-sel .bx-front,.bx-box.is-sel .bx-side,.bx-box.is-sel .bx-top{stroke:#ffd166;stroke-width:2.4;stroke-linejoin:round}
.bx-grid.has-sel .bx-box:not(.is-sel){opacity:.7}
@media(hover:hover){.bx-grid.has-sel .bx-box:not(.is-sel):hover{opacity:1}}
.bx-tick{position:absolute;right:1%;top:2%;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#ffd166;box-shadow:0 2px 6px rgba(0,0,0,.35);opacity:0;transform:scale(.4);transition:transform .25s cubic-bezier(.3,1.6,.5,1),opacity .15s;pointer-events:none}
.bx-tick svg{width:15px;height:15px;fill:none;stroke:#3a2400;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.bx-box.is-sel .bx-tick{opacity:1;transform:none}
@media(max-width:560px){.bx-tick{width:18px;height:18px}.bx-tick svg{width:11px;height:11px}}
.bx-box.is-shake .bx-svg{animation:bx-shake .45s ease-in-out infinite}
@keyframes bx-shake{25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}
.bx-legend{display:grid;gap:7px;font-size:12px;color:var(--muted)}
.bx-legend ul{display:flex;flex-wrap:wrap;gap:5px;margin:0;padding:0;list-style:none}
.bx-chip{display:inline-flex;align-items:baseline;gap:3px;padding:3px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2)}
.bx-chip b{font-weight:800;color:var(--text)}
.bx-chip span{opacity:.8}
.bx-chip.is-top b{color:var(--warn)}
.bx-chip.is-empty b{font-weight:600;color:var(--muted)}
@media(max-width:560px){.bx-grid{gap:5px}.bx-in{font-size:11.5px}.bx-box.is-picked .bx-in{font-size:14px}.bx-box.is-other .bx-in{font-size:9.5px;padding:3px 4px}}
@media (prefers-reduced-motion: reduce){.bx-box.is-shake .bx-svg{animation:none}.bx-lid,.bx-in{transition:none}}

/* =========================================================
   Póquer (Texas Hold'em) — lista de mesas, a mesa, cartas, jogadas, conversa
   O pano é sempre verde-escuro com o rebordo bordeaux (nos dois temas), como o Crash e o Blackjack.
   ========================================================= */
#view-casino[data-cgame="poker"] #cgFair{display:none}
/* no telemóvel, dentro de uma mesa, o pano vem primeiro e a informação e a conversa ficam por baixo */
@media(max-width:899px){
  #view-casino[data-cgame="poker"][data-pkview="table"] .cg-main>.cg-stage{order:-1}
  #view-casino[data-cgame="poker"] .cg-main>.cg-stage{padding:12px 10px}
}
.gt-multi::before{background:#3ddc97}
/* "Multijogador" e "Multijogador 1x1": letra mais pequena e, se não couber numa linha (mosaicos estreitos), passa para duas */
#cgGames .gt-multi{background:rgba(14,10,12,.8);max-width:calc(100% - 10px);left:5px;padding:2px 4px 2px 4px;gap:3px;border-radius:7px;align-items:flex-start;white-space:normal;line-height:1.2;font-size:7.6px;letter-spacing:.02em}
#cgGames .gt-multi::before{width:5px;height:5px;margin-top:2.5px;flex:0 0 auto}
.pk-tabs{margin-bottom:2px}
.pk-note{display:flex;align-items:flex-start;gap:8px;margin:0;padding:9px 11px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);color:var(--muted);font-size:13px;line-height:1.45}
.pk-note .ic{flex:none;width:16px;height:16px;margin-top:1px;color:var(--link)}
.pk-hint{background:none;border-style:dashed}
.pk-codein{font:800 20px/1.2 var(--mono)!important;letter-spacing:.18em;text-transform:uppercase;text-align:center}
.pk-buy input[type=range]{width:100%;accent-color:var(--brand-hi)}
.pk-buyv{display:flex;align-items:baseline;justify-content:space-between;gap:8px;text-transform:none;letter-spacing:0}
.pk-buyv strong{font:800 20px/1 var(--font-head);color:var(--text)}
.pk-buyv span{font:600 12.5px/1 var(--font);color:var(--muted)}
#cgControls select#pkBlinds{width:100%}

/* lista de mesas */
.pk-lobby{display:grid;gap:18px;align-content:start;justify-items:stretch;min-height:0}
.pk-sec{display:grid;gap:10px}
.pk-sec h3{margin:0;font:800 15px/1.2 var(--font-head);text-transform:uppercase;letter-spacing:.03em}
.pk-tables{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pk-subh{margin:4px 0 0;font:700 12.5px/1.2 var(--font-head);text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.pk-subh[hidden]{display:none}
.pk-subn{font-weight:600;letter-spacing:0}
.pk-tables--full .pk-trow{opacity:.78}
.pk-trow{display:grid;grid-template-columns:minmax(0,1.3fr) auto auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:11px 14px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line)}
.pk-tname{display:grid;gap:2px;min-width:0}
.pk-tname b{font:800 15.5px/1.2 var(--font-head);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pk-tname small{color:var(--muted);font-size:12px}
.pk-tblinds{font:800 15px/1 var(--font-head);white-space:nowrap}
.pk-tseats{display:inline-flex;align-items:center;gap:8px;font:700 13px/1 var(--font);color:var(--muted);white-space:nowrap}
.pk-dots{display:inline-flex;gap:3px}
.pk-dots i{width:7px;height:7px;border-radius:50%;background:var(--line-strong)}
.pk-dots i.on{background:var(--ok)}
.pk-tbuy{color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pk-how{display:flex;gap:10px;align-items:flex-start;margin:0;color:var(--muted);font-size:13.5px;line-height:1.5;max-width:80ch}
.pk-how .ic{flex:none;width:18px;height:18px;color:var(--ok);margin-top:2px}
:root[data-theme="light"] .pk-trow{background:#fff;box-shadow:0 1px 2px rgba(90,20,40,.06)}
@media(max-width:760px){
  .pk-trow{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}
  .pk-tname{grid-column:1 / -1}
  .pk-tbuy{grid-column:1 / 2}
  .pk-trow .btn{grid-column:2;grid-row:2 / span 2;align-self:center}
}

/* a mesa */
.cg-viz.pk{display:grid;gap:12px;justify-items:stretch;align-content:start;min-height:0}
.pk-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;min-height:24px}
.pk-status{margin:0;font:700 14px/1.35 var(--font);color:var(--text)}
.pk-status.is-turn{color:var(--ok)}
.pk-status.is-paused{color:var(--warn)}
.pk-seal{display:inline-flex;align-items:center;gap:6px;font:600 12px/1 var(--mono);color:var(--muted)}
.pk-idle{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:99px;background:var(--surface-2);border:1px solid var(--line);font:600 12.5px/1.2 var(--font);color:var(--muted);font-variant-numeric:tabular-nums}
.pk-idle[hidden]{display:none}
.pk-idle .ic{flex:none;width:14px;height:14px}
.pk-idle.is-soon{color:var(--warn);border-color:var(--warn)}
.pk-seal .ic{width:14px;height:14px}
.pk-table{position:relative;width:100%;aspect-ratio:16/9;min-height:340px;margin:6px 0 10px}
.pk-table.is-mid{aspect-ratio:5/4}
.pk-table.is-narrow .pk-board .pk-card{--w:42px}
.pk-table.is-narrow .pk-seat:not(.is-me) .pk-hole .pk-card{--w:32px}
.pk-table.is-narrow .pk-board{gap:5px}
.pk-table.is-tall{aspect-ratio:2/3;min-height:0;margin-bottom:18px}
.pk-felt{position:absolute;inset:11% 7%;border-radius:999px;background:radial-gradient(ellipse at 50% 42%,#167a4f 0%,#0e5a3a 48%,#083823 100%);
  border:12px solid #3b1420;box-shadow:inset 0 0 0 2px rgba(255,214,140,.22),inset 0 0 40px rgba(0,0,0,.45),0 14px 30px -10px rgba(0,0,0,.55)}
.pk-table.is-tall .pk-felt{inset:8% 9%;border-width:10px}
.pk-felt{overflow:hidden}
/* marca de água (como no blackjack): entre as cartas da mesa e o teu lugar, direita para quem está sentado em baixo */
.pk-wm{position:absolute;left:50%;top:76%;width:min(32%,250px);height:auto;transform:translate(-50%,-50%);opacity:.13;filter:drop-shadow(0 1px 0 rgba(0,0,0,.25));pointer-events:none;user-select:none}
.pk-table.is-mid .pk-wm{top:75%;width:min(34%,240px)}
.pk-table.is-tall .pk-wm{top:73%;width:42%}
.pk-center{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:10px;z-index:1;width:min(60%,420px)}
.pk-board{display:flex;gap:6px;justify-content:center}
.pk-pot{display:grid;justify-items:center;gap:2px;color:#f5eff1;text-align:center;min-height:20px}
.pk-pot span{font:700 11px/1 var(--font-head);letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.pk-pot strong{padding:3px 12px;border-radius:999px;background:rgba(0,0,0,.35);font:800 17px/1.2 var(--font-head)}
.pk-pot small{font-size:11.5px;color:rgba(255,255,255,.7)}
.pk-pot .pk-potres{display:block;padding:3px 10px;border-radius:999px;background:rgba(0,0,0,.35);font:600 12.5px/1.3 var(--font);text-transform:none;letter-spacing:0;color:#fff}
.pk-pot .pk-potres b{color:#ffd166;font-weight:800}
.pk-seats{position:absolute;inset:0;z-index:2;pointer-events:none}
.pk-seats>*{pointer-events:auto}

/* cartas */
.pk-card{--w:44px;position:relative;display:inline-grid;place-items:start center;align-content:start;width:var(--w);height:calc(var(--w) * 1.4);padding-top:calc(var(--w) * .1);border-radius:calc(var(--w) * .13);background:#fdfbf7;
  box-shadow:0 2px 0 rgba(0,0,0,.18),0 4px 10px rgba(0,0,0,.35);color:#1c1416;line-height:1;flex:none}
.pk-card b{font:800 calc(var(--w) * .42)/1 var(--font-head)}
.pk-card i{font-style:normal;font-size:calc(var(--w) * .46);line-height:1;margin-top:calc(var(--w) * .04)}
.pk-card.is-red{color:#c41e3a}
.pk-card.is-back{background:#7b1230;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.12) 0 3px,transparent 3px 8px),repeating-linear-gradient(-45deg,rgba(255,255,255,.12) 0 3px,transparent 3px 8px);border:3px solid #fdfbf7}
.pk-card.is-slot{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.18)}
.pk-card.is-mini{--w:22px;box-shadow:0 1px 2px rgba(0,0,0,.3)}
.pk-board .pk-card{--w:50px}
@media(max-width:700px){.pk-board .pk-card{--w:38px}.pk-board{gap:4px}}
/* telemóvel: as cartas da mesa têm a largura que o poker.js calcula (--bw) para caberem entre os lugares dos lados */
.pk-table.is-tall .pk-center{width:calc(var(--bw,32px) * 5 + 16px);top:48%}
.pk-table.is-tall .pk-board .pk-card{--w:var(--bw,32px)}
.pk-table.is-tall .pk-pot .pk-potres{white-space:normal}

/* lugares */
/* cada lugar fica centrado na placa do nome: as cartas ficam por cima e as etiquetas por baixo, sem a deslocar */
.pk-seat{position:absolute;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:0;width:132px}
.pk-seat .pk-hole{position:absolute;left:50%;bottom:calc(100% - 12px);transform:translateX(-50%);display:flex;justify-content:center;z-index:0;pointer-events:none}
.pk-tags{position:absolute;left:50%;top:calc(100% + 3px);transform:translateX(-50%);width:max-content;max-width:190px;display:grid;grid-auto-flow:column;align-items:center;justify-items:center;gap:3px;z-index:2;pointer-events:none}   /* ganho e nome da mão lado a lado: uma linha só */
.pk-seat .pk-hole .pk-card{--w:36px}
.pk-seat .pk-hole .pk-card+.pk-card{margin-left:-10px;transform:rotate(6deg) translateY(2px)}
.pk-seat .pk-hole .pk-card:first-child{transform:rotate(-5deg)}
.pk-seat.is-me .pk-hole{bottom:calc(100% - 14px)}
.pk-seat.is-me .pk-hole .pk-card{--w:46px}
.pk-plate{position:relative;z-index:1;display:grid;justify-items:center;gap:1px;min-width:112px;max-width:132px;padding:6px 12px 7px;border-radius:12px;background:linear-gradient(#2a2025,#1a1316);border:1.5px solid rgba(255,255,255,.14);box-shadow:0 6px 14px rgba(0,0,0,.45);color:#f5eff1;overflow:hidden}
.pk-name{max-width:100%;font:700 12.5px/1.25 var(--font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pk-stack{font:800 14px/1.2 var(--font-head);color:#ffd166}
.pk-seat.is-me .pk-plate{border-color:#ffd166}
.pk-seat.is-acting .pk-plate{border-color:#3ddc97;box-shadow:0 0 0 2px rgba(61,220,151,.35),0 6px 14px rgba(0,0,0,.45)}
.pk-seat.is-folded .pk-hole{opacity:.25}
.pk-seat.is-folded .pk-plate{opacity:.6}
.pk-seat.is-out .pk-plate{opacity:.55;filter:grayscale(.6)}
.pk-seat.is-winner .pk-plate{border-color:#ffd166;box-shadow:0 0 0 3px rgba(255,209,102,.45),0 0 22px rgba(255,209,102,.4)}
.pk-timer{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.08)}
.pk-timer i{display:block;height:100%;width:100%;background:#3ddc97}
.pk-last,.pk-won,.pk-handname{padding:2px 9px;border-radius:999px;font:800 10.5px/1.4 var(--font-head);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;background:rgba(0,0,0,.55);color:#fff}
.pk-last--fold{color:#c9b9bf}
.pk-last--raise,.pk-last--bet{background:#a3173c}
.pk-last--allin{background:#f2a93b;color:#2a1600}
.pk-last--allin .pk-amt{color:#2a1600}
.pk-last--call,.pk-last--check{background:rgba(61,220,151,.2);color:#9ff0c8}
.pk-won{background:#ffd166;color:#3a2400;font-size:12px}
.pk-handname{background:#fdfbf7;color:#1c1416;text-transform:none;letter-spacing:0;font-size:11.5px;white-space:normal;text-align:center;line-height:1.25;padding-block:3px}
.pk-amt{margin-left:5px;color:#ffd166;font-weight:800}
.pk-last--chips{background:rgba(0,0,0,.55)}
.pk-last--chips .pk-amt,.pk-last.is-amt .pk-amt{margin-left:0}
.pk-last--call.is-amt .pk-amt,.pk-last--check.is-amt .pk-amt{color:#9ff0c8}
.pk-seat.is-empty{width:auto}
.pk-sitbtn{padding:9px 16px;border-radius:999px;border:1.5px dashed rgba(255,255,255,.55);background:rgba(0,0,0,.35);color:#fff;font:800 12.5px/1 var(--font-head);letter-spacing:.05em;text-transform:uppercase;transition:background .15s,border-color .15s}
.pk-sitbtn:hover{background:rgba(61,220,151,.25);border-color:#3ddc97}
.pk-free{padding:6px 12px;border-radius:999px;background:rgba(0,0,0,.25);color:rgba(255,255,255,.55);font:700 11.5px/1 var(--font-head);letter-spacing:.05em;text-transform:uppercase}
.pk-chips{display:inline-flex;align-items:center;gap:5px;padding:3px 9px 3px 4px;border-radius:999px;background:rgba(0,0,0,.45);color:#fff;font:800 12px/1.2 var(--font-head);white-space:nowrap}
.pk-chips::before{content:"";width:14px;height:14px;border-radius:50%;background:#ffd166;box-shadow:inset 0 0 0 3px #c58a1c,inset 0 0 0 5px #ffd166}
.pk-chips.is-fly{position:absolute;transform:translate(-50%,-50%)}
.pk-dealer{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#fdfbf7;color:#1c1416;font:800 12px/1 var(--font-head);box-shadow:0 2px 6px rgba(0,0,0,.45)}
.pk-dealer.is-seat{top:-8px;right:-8px;transform:none;width:20px;height:20px;font-size:10.5px;z-index:3}
.pk-dealer.is-seat.is-l{right:auto;left:-8px}
/* telemóvel: placas de largura fixa (o poker.js encosta os lugares dos lados às margens contando com estas medidas) */
.pk-table.is-tall .pk-seat{width:88px}
.pk-table.is-tall .pk-plate{min-width:88px;max-width:88px;padding:5px 6px 6px;border-radius:10px}
.pk-table.is-tall .pk-seat.is-me{width:104px}
.pk-table.is-tall .pk-seat.is-me .pk-plate{min-width:96px;max-width:104px}
.pk-table.is-tall .pk-name{font-size:11.5px}
.pk-table.is-tall .pk-stack{font-size:12.5px}
.pk-table.is-tall .pk-seat .pk-hole .pk-card{--w:30px}
.pk-table.is-tall .pk-seat.is-me .pk-hole .pk-card{--w:40px}
.pk-table.is-tall[data-seats="9"] .pk-seat:not(.is-me){width:72px}
.pk-table.is-tall[data-seats="9"] .pk-seat:not(.is-me) .pk-plate{min-width:72px;max-width:72px;padding:4px 5px 5px}
.pk-table.is-tall[data-seats="9"] .pk-seat:not(.is-me) .pk-hole .pk-card{--w:24px}
.pk-table.is-tall[data-seats="9"] .pk-seat:not(.is-me) .pk-hole{bottom:calc(100% - 8px)}
.pk-table.is-tall .pk-tags{max-width:96px;grid-auto-flow:row}
.pk-table.is-tall .pk-tags>*{white-space:normal;text-align:center;font-size:9.5px;line-height:1.3;padding:2px 7px}
.pk-table.is-tall[data-seats="9"] .pk-seat:not(.is-me) .pk-tags{max-width:80px}
.pk-table.is-tall[data-seats="9"] .pk-seat:not(.is-me) .pk-tags>*{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px}
.pk-table.is-tall .pk-tags .pk-chips::before{width:10px;height:10px;box-shadow:inset 0 0 0 2px #c58a1c,inset 0 0 0 4px #ffd166}
.pk-table.is-tall .pk-sitbtn{padding:7px 10px;font-size:11px}
.pk-table.is-tall .pk-free{padding:5px 9px;font-size:10.5px}

/* jogadas */
.pk-actions{display:none}
.pk-actions.is-on{display:grid;gap:10px;padding:12px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line)}
.pk-abtns{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.pk-abtns .btn{height:48px;font-size:15px}
.pk-raisebox{display:grid;grid-template-columns:auto minmax(0,1fr) 130px;gap:10px;align-items:center}
.pk-presets{display:flex;gap:5px}
.pk-presets button{padding:7px 10px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font:700 12.5px/1 var(--font-head)}
.pk-presets button:hover{border-color:var(--brand-hi)}
.pk-raisebox input[type=range]{width:100%;accent-color:var(--brand-hi)}
.pk-raisein{height:42px}
@media(max-width:620px){.pk-raisebox{grid-template-columns:minmax(0,1fr) 120px}.pk-presets{grid-column:1 / -1}.pk-presets button{flex:1}}
:root[data-theme="light"] .pk-actions.is-on{background:#fff}

/* painel da esquerda dentro da mesa */
.pk-back{justify-self:start}
.pk-info{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:12px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line)}
.pk-ih{display:flex;align-items:center;gap:10px;justify-content:space-between}
.pk-ih h3{margin:0;font:800 17px/1.2 var(--font-head);letter-spacing:.02em;text-transform:uppercase;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pk-kind{flex:none;padding:3px 9px;border-radius:999px;font:800 11px/1.3 var(--font-head);letter-spacing:.05em;text-transform:uppercase}
.pk-kind--public{background:var(--ok-bg);color:var(--ok)}
.pk-kind--private{background:var(--warn-bg);color:var(--warn)}
.pk-facts{display:grid;gap:5px;margin:0}
.pk-facts div{display:flex;justify-content:space-between;gap:10px;font-size:13px}
.pk-facts dt{color:var(--muted)}
.pk-facts dd{margin:0;font-weight:700;text-align:right}
.pk-code{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:10px;border-radius:var(--r-sm);background:var(--surface);border:1px dashed var(--line-strong)}
.pk-code span{grid-column:1 / -1;font:700 11.5px/1 var(--font-head);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.pk-code strong{font:800 24px/1.1 var(--mono);letter-spacing:.16em}
.duel-code{grid-column:1/-1}
.duel-code small{grid-column:1/-1;font:500 12px/1.35 var(--font);color:var(--muted)}
.duel-code .btn{padding:7px 14px}
.duel-tag{display:inline-flex;align-items:center;gap:4px;margin-right:6px;padding:1px 7px;font-size:10.5px;vertical-align:1px}
.duel-tag svg{width:11px;height:11px}
.pk-me{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:12px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line)}
.pk-mehead{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.pk-mehead span{font:700 12px/1 var(--font-head);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.pk-mehead strong{font:800 22px/1 var(--font-head)}
.pk-mebtns{display:flex;flex-wrap:wrap;gap:6px}
.pk-mebtns .btn{flex:1 1 auto;padding:8px 10px;font-size:13px}
.pk-sit input[type=range],.pk-topup input[type=range]{width:100%;accent-color:var(--brand-hi)}
.pk-topup{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.pk-topup strong{font:800 15px/1 var(--font-head)}
.pk-topup .btn{grid-column:1 / -1}
.pk-topup[hidden]{display:none}
.pk-leave{color:var(--live)}
:root[data-theme="light"] .pk-info,:root[data-theme="light"] .pk-me{background:#fff}

/* conversa */
.pk-chat{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:12px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line)}
.pk-chat h3{margin:0;font:800 13px/1.2 var(--font-head);letter-spacing:.05em;text-transform:uppercase}
.pk-msgs{list-style:none;margin:0;padding:0 4px 0 0;display:grid;gap:5px;align-content:start;height:200px;overflow-y:auto;scrollbar-width:thin}
.pk-msg{display:grid;gap:1px;padding:6px 9px;border-radius:10px 10px 10px 3px;background:var(--surface);font-size:13px;line-height:1.35;max-width:92%;justify-self:start;overflow-wrap:anywhere}
.pk-msg b{font:700 11.5px/1.2 var(--font);color:var(--link)}
.pk-msg.is-mine{justify-self:end;border-radius:10px 10px 3px 10px;background:color-mix(in srgb,var(--brand-hi) 22%,var(--surface))}
.pk-msg0{color:var(--muted);font-size:13px;text-align:center;align-self:center;padding:30px 0}
.pk-say{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}
.pk-say input{min-width:0;padding:10px 12px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--input-bg);color:var(--text);font:500 14px/1.2 var(--font)}
:root[data-theme="light"] .pk-chat{background:#fff}
:root[data-theme="light"] .pk-msg{background:var(--surface-2)}

/* mãos anteriores */
.pk-hist{border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line)}
.pk-histh{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:12px 14px;border:0;background:none;color:var(--text);font:800 14px/1.2 var(--font-head);letter-spacing:.04em;text-transform:uppercase}
.pk-histh .ic{width:18px;height:18px;transition:transform .2s}
.pk-hist.is-open .pk-histh .ic{transform:rotate(180deg)}
.pk-histb{padding:0 14px 14px}
.pk-histnote{margin:0 0 10px;color:var(--muted);font-size:13px;line-height:1.45}
.pk-hands{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.pk-hand{border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line)}
.pk-hand.is-bad{border-color:var(--live)}
.pk-handh{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;background:none;color:var(--text);text-align:left;font:inherit}
.pk-hno{font:800 13px/1 var(--font-head);white-space:nowrap}
.pk-hboard{display:inline-flex;gap:3px;min-width:126px}
.pk-hwho{font-size:13px;color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pk-hd{display:grid;gap:10px;padding:4px 10px 12px}
.pk-checks{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:13px}
.pk-checks li::before{content:"✓ ";color:var(--ok);font-weight:800}
.pk-checks li.bad::before{content:"✗ ";color:var(--live)}
.pk-htbl td{vertical-align:middle}
.pk-htbl .pk-card{margin-right:2px}
.pk-dbadge{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--text);color:var(--bg);font:800 10px/1 var(--font-head)}
.pk-seeds{display:grid;gap:6px;margin:0}
.pk-seeds div{display:grid;gap:2px}
.pk-seeds dt{font:700 11px/1.2 var(--font-head);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.pk-seeds dd{margin:0;font-size:12px;overflow-wrap:anywhere}
:root[data-theme="light"] .pk-hist{background:#fff}
:root[data-theme="light"] .pk-hand{background:var(--surface-2)}
@media(max-width:560px){.pk-handh{grid-template-columns:auto minmax(0,1fr) auto}.pk-hboard{display:none}}
@media (prefers-reduced-motion: reduce){.pk-histh .ic{transition:none}}

/* =========================================================
   Blackjack em mesa — até 5 jogadores, cada um contra a banca
   A mesa é a do blackjack individual (pano bordeaux, rebordo dourado, marca no centro), mas com a forma
   das mesas a sério: a banca do lado direito do "D" (em cima) e os 5 lugares no arco de baixo. O lugar 1
   é o da direita: as cartas saem da direita para a esquerda.
   ========================================================= */
#view-casino[data-bjtview] #cgFair{display:none}
@media(max-width:899px){
  #view-casino[data-cgame="blackjack"][data-bjtview="table"] .cg-main>.cg-stage{order:-1}
  #view-casino[data-cgame="blackjack"][data-bjtview] .cg-main>.cg-stage{padding:12px 10px}
}
.bjt{width:100%;gap:10px}
.bjt-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;width:100%;min-height:24px}
.bjt-top .pk-seal{margin-left:auto}
.live-bar.is-mine{border-color:#d8b46a;box-shadow:0 0 0 1px rgba(216,180,106,.45)}
.live-bar.is-mine .live-phase,.live-bar.is-mine .live-timer{color:var(--gold)}
.live-bar.is-mine .live-dot{background:var(--gold)}
.live-bar.is-mine .live-prog i{background:var(--gold)}

.bjt-table{--cw:52px;--ch:74px;--dw:60px;--dh:86px;position:relative;width:100%;height:460px;overflow:hidden;color:#fff;
  border-radius:var(--r-lg) var(--r-lg) 50% 50%/var(--r-lg) var(--r-lg) 34% 34%;
  background:radial-gradient(ellipse at 50% 8%,#8f1b3a 0%,#5e1027 50%,#3a0817 100%);
  box-shadow:inset 0 0 0 5px #2a0611,inset 0 0 0 7px rgba(216,180,106,.55),0 10px 24px rgba(0,0,0,.25)}
/* o pano: o arco do seguro (uma faixa entre dois arcos) e o texto curvado ao longo da meia-lua, como nas mesas a sério */
.bjt-felt{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.bjt-arc{fill:none;stroke:rgba(216,180,106,.3);stroke-width:2}
.bjt-arc--in{stroke:rgba(216,180,106,.2);stroke-width:1.5}
.bjt-arcpath{fill:none;stroke:none}
.bjt-ftxt{font-family:var(--font-head);font-weight:700;font-size:12.5px;letter-spacing:.17em;fill:rgba(255,224,160,.5)}
.bjt-ftxt--ins{font-size:10.5px;letter-spacing:.3em;fill:rgba(255,224,160,.72)}
.bjt .bj-shoe{z-index:1}
.bjt-dealer{position:absolute;top:16px;left:50%;transform:translateX(-50%);display:grid;justify-items:center;gap:6px;z-index:1}
.bjt-dcards{min-height:var(--dh)}
.bjt-dcards .pc{width:var(--dw);height:var(--dh)}
.bjt-dcards .pc+.pc{margin-left:calc(var(--dw) * -.38)}
.bjt-mid{position:absolute;left:50%;top:40%;width:76%;transform:translate(-50%,-50%)}
.bjt-mid .bj-wm{width:min(52%,300px)}
.bjt-seats{position:absolute;inset:0;margin:0;padding:0;list-style:none;pointer-events:none}
.bjt-seat{--x:50%;--b:6%;position:absolute;left:var(--x);bottom:var(--b);transform:translateX(-50%);width:18%;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:auto}
.bjt-seat[data-seat="5"]{--x:11.5%;--b:29%}
.bjt-seat[data-seat="4"]{--x:30.5%;--b:12%}
.bjt-seat[data-seat="3"]{--x:50%;--b:5%}
.bjt-seat[data-seat="2"]{--x:69.5%;--b:12%}
.bjt-seat[data-seat="1"]{--x:88.5%;--b:29%}
.bjt-hands{display:flex;justify-content:center;align-items:flex-end;gap:6px;min-height:calc(var(--ch) + 26px)}
.bjt-hand{position:relative;display:grid;justify-items:center;gap:4px;padding:4px;border-radius:10px;transition:background .2s,box-shadow .2s}
.bjt-hand .bj-total{order:-1;min-width:26px;padding:2px 7px;font-size:12.5px}
.bjt-hand.is-current{background:rgba(255,255,255,.08);box-shadow:0 0 0 2px rgba(255,224,160,.75)}
.bjt-hand.is-lose .bjt-cards,.bjt-hand.is-bust .bjt-cards{opacity:.7}
.bjt-hand .bj-res{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);white-space:nowrap;font-size:11px;padding:2px 8px;z-index:2;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.bjt-cards{display:flex;align-items:flex-start;min-height:var(--ch)}
.bjt-cards .pc{width:var(--cw);height:var(--ch)}
.bjt-cards .pc+.pc{margin-left:calc(var(--cw) * -.58)}
.bjt-cards .pc-corner{font-size:13px}.bjt-cards .pc-s{width:10px;height:10px}.bjt-cards .pc-big{width:20px;height:20px}
.bjt-cards .pc-tl{top:4px;left:4px}.bjt-cards .pc-br{right:4px;bottom:4px}
.bjt-cards .pc--double{transform:rotate(90deg) translate(8px,-6px)}
.bjt-plate{position:relative;display:grid;justify-items:center;gap:3px;min-width:104px;max-width:100%;padding:6px 10px 8px;border-radius:12px;background:rgba(24,4,11,.6);border:1px solid rgba(255,255,255,.12);overflow:hidden;transition:border-color .2s,box-shadow .2s,background .2s}
.bjt-plate:empty{display:none}
.bjt-who{display:grid;justify-items:center;gap:1px;min-width:0;max-width:100%}
.bjt-who b{font:800 13px/1.15 var(--font-head);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.bjt-who small{font-size:11px;line-height:1.2;color:rgba(255,255,255,.62);white-space:nowrap}
.bjt-chip{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;background:linear-gradient(180deg,#f3d784,#c99a2e);color:#3a2507;font:800 12px/1.35 var(--font-head);font-variant-numeric:tabular-nums;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35),0 2px 5px rgba(0,0,0,.3)}
.bjt-nobet,.bjt-ins{font-size:11px;line-height:1.2;color:rgba(255,255,255,.62);white-space:nowrap}
.bjt-ins{color:#f3d784}
.bjt-net{font:800 13px/1.2 var(--font-head);font-variant-numeric:tabular-nums;color:rgba(255,255,255,.7)}
.bjt-net.is-up{color:#7ff0bd}
.bjt-net.is-down{color:rgba(255,255,255,.55)}
.bjt-timer{position:absolute;left:0;right:0;bottom:0;height:3px;display:none}
.bjt-timer i{display:block;height:100%;width:0;background:#f3d784}
.bjt-seat.is-turn .bjt-timer{display:block}
.bjt-seat.is-me .bjt-plate{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.3)}
.bjt-seat.is-turn .bjt-plate{border-color:#f3d784;box-shadow:0 0 0 2px rgba(243,215,132,.4),0 0 22px rgba(243,215,132,.3)}
.bjt-seat.is-gone .bjt-plate{opacity:.7}
.bjt-table:has(.bjt-ins) .bjt-seat .bjt-timer{display:block}
.bjt-sit{display:grid;place-items:center;align-content:center;gap:2px;width:80px;height:80px;margin-top:calc(var(--ch) * -.5);border-radius:50%;border:2px dashed rgba(255,224,160,.6);background:rgba(0,0,0,.2);color:#fff;font:800 13px/1.1 var(--font-head);letter-spacing:.03em;text-transform:uppercase;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease}
.bjt-sit small{font:600 10.5px/1.1 var(--font);letter-spacing:0;text-transform:none;color:rgba(255,255,255,.7)}
.bjt-sit:hover{transform:translateY(-2px);background:rgba(243,215,132,.16);border-color:#f3d784}
.bjt-sit:focus-visible{outline:3px solid #f3d784;outline-offset:3px}
.bjt-free{display:grid;place-items:center;align-content:center;gap:2px;width:72px;height:72px;margin-top:calc(var(--ch) * -.5);border-radius:50%;border:2px solid rgba(255,255,255,.12);color:rgba(255,255,255,.55);font:700 11.5px/1.1 var(--font-head);text-transform:uppercase;letter-spacing:.03em}
.bjt-free small{font:500 10.5px/1.1 var(--font);text-transform:none;letter-spacing:0}
.bjt-seat.is-empty .bjt-plate{min-width:0;padding:0;background:none;border:0;overflow:visible}
.bjt-sub{width:100%;min-height:2.9em;margin:0;text-align:center}
.bjt .pk-hist{width:100%}
/* por baixo da mesa: seguro e jogadas na tua vez (e, no telemóvel, o botão de apostar) */
.bjt-actzone{display:grid;gap:8px;width:100%;max-width:620px;justify-self:center}
.bjt-actzone:empty{display:none}
.bjt-actzone .bj-acts{grid-template-columns:repeat(4,minmax(0,1fr))}
.bjt-actzone .bjt-turn{text-align:center}
.bjt-actzone .bj-ins{max-width:560px;justify-self:center;width:100%}
/* no computador as jogadas ficam no painel da esquerda (como no blackjack sozinho); no telemóvel, por baixo da mesa */
.bjt-pacts{display:grid;gap:8px}
.bjt-pacts:empty{display:none}
.bjt-pacts .bjt-turn{margin:0}
@media(min-width:900px){.bjt-actzone{display:none}}
@media(max-width:899px){.bjt-pacts{display:none}}
@media(max-width:520px){.bjt-actzone .bj-acts{grid-template-columns:1fr 1fr}}

/* o teu lugar (painel da esquerda) */
.bjt-me .cg-f{margin:0}
.bjt-dyn{display:grid;gap:8px}
.bjt-dyn:empty{display:none}
.bjt-mybet{margin:0;font:700 14px/1.35 var(--font)}
.bjt-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bjt-two .btn{padding:11px 8px;font-size:13.5px}
.bjt-warn{display:flex;align-items:flex-start;gap:8px;margin:0;padding:9px 11px;border-radius:var(--r-sm);border:1px solid var(--warn);background:var(--warn-bg);color:var(--warn);font:600 13px/1.4 var(--font)}
.bjt-warn .ic{flex:none;width:16px;height:16px;margin-top:1px}
.bjt-turn{margin:0}
.bjt-turn.is-mine{color:var(--gold);font-weight:700}
.bjt-wait:empty{display:none}
.bjt-leave{justify-self:stretch}

/* lista de mesas: sem coluna de blinds */
.bjt-trow{grid-template-columns:minmax(0,1.3fr) auto minmax(0,1fr) auto}
@media(max-width:560px){.bjt-trow{grid-template-columns:minmax(0,1fr) auto}}

/* rondas anteriores: cartas pequenas em texto */
.bjt-mc{display:inline-grid;place-items:center;min-width:24px;height:30px;padding:0 3px;border-radius:4px;background:#fffdf8;color:#1b1a1f;border:1px solid rgba(0,0,0,.18);font:800 12px/1 var(--font);margin-right:2px}
.bjt-mc.is-red{color:#c0182f}
.bjt-rounds .pk-hboard{min-width:0}
.bjt-hcards{display:inline-flex;align-items:center;gap:2px;margin:0 8px 2px 0}
.bjt-hcards small{margin-left:4px;color:var(--muted);white-space:nowrap}
.bjt-htbl td{vertical-align:middle}

@media(max-width:520px){
  .bjt-table{--cw:34px;--ch:48px;--dw:42px;--dh:60px;height:420px;border-radius:var(--r-lg) var(--r-lg) 50% 50%/var(--r-lg) var(--r-lg) 26% 26%}
  .bjt-dealer{top:12px}
  .bjt .bj-shoe{width:30px;height:40px;right:12px;top:12px}
  .bjt-mid{top:36%;width:84%}
  .bjt-mid .bj-wm{width:54%}
  .bjt-ftxt{font-size:8.5px;letter-spacing:.07em}
  .bjt-ftxt--ins{font-size:7.5px;letter-spacing:.2em}
  .bjt-seat{width:20%;gap:4px}
  .bjt-seat[data-seat="5"]{--x:11%;--b:19%}
  .bjt-seat[data-seat="4"]{--x:30.5%;--b:7%}
  .bjt-seat[data-seat="3"]{--x:50%;--b:3%}
  .bjt-seat[data-seat="2"]{--x:69.5%;--b:7%}
  .bjt-seat[data-seat="1"]{--x:89%;--b:19%}
  .bjt-hands{gap:2px;min-height:calc(var(--ch) + 22px)}
  .bjt-hand{padding:2px;gap:3px}
  .bjt-hand .bj-total{min-width:20px;padding:1px 5px;font-size:10.5px}
  .bjt-hand .bj-res{font-size:9px;padding:1px 5px;bottom:-5px}
  .bjt-cards .pc+.pc{margin-left:calc(var(--cw) * -.6)}
  .bjt-hands.is-split .bjt-cards .pc+.pc{margin-left:calc(var(--cw) * -.72)}
  .bjt-cards .pc-corner{font-size:10px}.bjt-cards .pc-s{width:7px;height:7px}.bjt-cards .pc-big{width:13px;height:13px}
  .bjt-cards .pc-tl{top:3px;left:3px}.bjt-cards .pc-br{right:3px;bottom:3px}
  .bjt-cards .pc-front,.bjt-cards .pc-back{border-radius:5px}
  .bjt-cards .pc-back{border-width:2px}
  .bjt-dcards .pc-corner{font-size:12px}.bjt-dcards .pc-big{width:16px;height:16px}
  .bjt-plate{min-width:0;width:100%;padding:4px 3px 6px;border-radius:9px;gap:2px}
  .bjt-who b{font-size:10px;letter-spacing:-.01em}
  .bjt-who small{font-size:9px}
  .bjt-chip{padding:1px 6px;font-size:10px}
  .bjt-nobet,.bjt-ins{font-size:9px;white-space:normal;text-align:center}
  .bjt-net{font-size:10.5px}
  .bjt-sit{width:56px;height:56px;font-size:10.5px;margin-top:calc(var(--ch) * -.6)}
  .bjt-sit small{font-size:9px}
  .bjt-free{width:50px;height:50px;font-size:9px;margin-top:calc(var(--ch) * -.6)}
  .bjt-free small{font-size:8.5px}
}
@media (prefers-reduced-motion: reduce){.bjt-sit,.bjt-hand,.bjt-plate{transition:none}}

/* =========================================================
   Xadrez a dinheiro (só entre jogadores)
   Tabuleiro marfim e rosa-bordeaux com o rebordo dourado das outras mesas; peças desenhadas para a GainBet.
   O teu lado fica sempre em baixo; o adversário e o relógio dele em cima.
   ========================================================= */
#view-casino[data-cgame="chess"] #cgFair{display:none}
@media(max-width:899px){
  #view-casino[data-cgame="chess"][data-xdview="game"] .cg-main>.cg-stage{order:-1}
  #view-casino[data-cgame="chess"] .cg-main>.cg-stage{padding:12px 10px}
}
.xd{width:100%;max-width:min(620px,max(300px,calc(100vh - 280px)));max-width:min(620px,max(300px,calc(100svh - 280px)));gap:8px;justify-self:center}
.xd-sprite{position:absolute;width:0;height:0;overflow:hidden}
.xd-player{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px 8px 12px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);transition:border-color .2s,box-shadow .2s}
.xd-player.is-turn{border-color:var(--gold);box-shadow:0 0 0 1px rgba(216,180,106,.35)}
.xd-dot{flex:none;display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid #2a1b20;background:#fbf6ec}
.xd-dot--black{background:#2a1b20;border-color:#7d6970}
.xd-dot--random{background:linear-gradient(90deg,#fbf6ec 50%,#2a1b20 50%)}
.xd-pname{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:800 15px/1.2 var(--font-head);letter-spacing:.01em}
.xd-tag{margin-left:auto;font:700 12px/1.2 var(--font);color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.xd-tag.is-low{color:var(--live)}
.xd-clock{flex:none;min-width:5.4ch;padding:6px 10px;border-radius:8px;background:var(--surface);border:1px solid var(--line);font:800 20px/1 var(--font-head);font-variant-numeric:tabular-nums;text-align:right;color:var(--muted)}
.xd-tag:empty{display:none}
.xd-tag:empty+.xd-clock{margin-left:auto}
.xd-clock.is-run{background:#fbf6ec;color:#2a1b20;border-color:#d8b46a}
.xd-clock.is-low{background:#c4344b;color:#fff;border-color:#c4344b}
.xd-boardwrap{position:relative;width:100%}
.xd-board{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);aspect-ratio:1/1;width:100%;border-radius:10px;overflow:hidden;
  box-shadow:0 0 0 4px #2a0611,0 0 0 6px rgba(216,180,106,.55),0 10px 24px rgba(0,0,0,.25);user-select:none;-webkit-user-select:none;touch-action:none}
.xd-sq{position:relative;display:grid;place-items:center;min-width:0;min-height:0}
.xd-sq.is-l{background:#efe2c8}
.xd-sq.is-d{background:#a8506a}
.xd-sq.is-last::before,.xd-sq.is-sel::before{content:"";position:absolute;inset:0;background:rgba(216,170,80,.42)}
.xd-sq.is-sel::before{background:rgba(216,170,80,.72)}
.xd-sq.is-check{background-image:radial-gradient(circle,rgba(224,36,60,.95) 0,rgba(224,36,60,.55) 42%,transparent 74%)}
.xd-sq.is-to::after{content:"";position:absolute;z-index:2;width:30%;height:30%;border-radius:50%;background:rgba(42,27,32,.32);pointer-events:none}
.xd-sq.is-cap::after{content:"";position:absolute;z-index:2;inset:5%;border-radius:50%;border:5px solid rgba(42,27,32,.34);pointer-events:none}
.xd-sq.is-mine{cursor:grab}
.xd-sq.is-to,.xd-sq.is-cap{cursor:pointer}
.xd-pc{position:relative;z-index:1;width:90%;height:90%;pointer-events:none}
.xd-sq.is-lift .xd-pc{opacity:.3}
.xd-ghost{position:fixed;left:0;top:0;z-index:1000;pointer-events:none;filter:drop-shadow(0 8px 10px rgba(0,0,0,.35))}
.xd-rk,.xd-fl{position:absolute;z-index:2;font:800 11px/1 var(--font-head);pointer-events:none}
.xd-rk{top:4px;left:5px}
.xd-fl{right:5px;bottom:4px}
.xd-sq.is-l .xd-rk,.xd-sq.is-l .xd-fl{color:#a8506a}
.xd-sq.is-d .xd-rk,.xd-sq.is-d .xd-fl{color:#efe2c8}
.xd-promo{position:absolute;inset:0;z-index:5;display:grid;place-items:center;align-content:center;gap:12px;border-radius:10px;background:rgba(20,8,12,.74);color:#fff;text-align:center}
.xd-promo[hidden]{display:none}
.xd-promo p{margin:0;font:800 15px/1.2 var(--font-head);letter-spacing:.04em;text-transform:uppercase}
.xd-promo>div{display:flex;gap:10px}
.xd-promo [data-xd-promo]:not(.btn){display:grid;place-items:center;width:72px;height:72px;padding:0;border-radius:14px;border:2px solid rgba(216,180,106,.7);background:#efe2c8;cursor:pointer;transition:transform .12s ease}
.xd-promo [data-xd-promo]:not(.btn):hover,.xd-promo [data-xd-promo]:not(.btn):focus-visible{transform:translateY(-2px);border-color:#f3d784;outline:none}
.xd-promo svg{width:58px;height:58px}
.xd-promo .btn--ghost{color:#fff;border-color:rgba(255,255,255,.55);background:transparent}
.xd-promo .btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.xd-status{width:100%;min-height:1.5em;margin:0;text-align:center}
/* painel do jogo */
.xd-you{display:flex;align-items:center;gap:8px;margin:0;font:700 13.5px/1.3 var(--font)}
.xd-you i{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid #2a1b20;background:#fbf6ec}
.xd-you--black i{background:#2a1b20;border-color:#7d6970}
.xd-acts{display:grid;gap:8px}
.xd-offer{display:grid;gap:8px;padding:10px 12px;border-radius:var(--r-sm);border:1px solid var(--gold);background:var(--gold-bg)}
.xd-offer.is-warn{border-color:var(--live)}
.xd-offer p{margin:0;font:600 13px/1.4 var(--font);color:var(--text)}
.xd-note{margin:0;font:600 13px/1.4 var(--font);color:var(--muted)}
.xd-resign{color:var(--live)}
.xd-moves{display:grid;gap:8px;padding:12px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line)}
.xd-moves h3{margin:0;font:800 13px/1.2 var(--font-head);letter-spacing:.05em;text-transform:uppercase}
.xd-mlist{list-style:none;margin:0;padding:0 4px 0 0;display:grid;gap:1px;max-height:220px;overflow-y:auto;scrollbar-width:thin;font:600 13.5px/1.7 var(--font);font-variant-numeric:tabular-nums}
.xd-mlist li{display:grid;grid-template-columns:2.6em 1fr 1fr;gap:6px}
.xd-mlist .xd-mn{color:var(--faint)}
.xd-mlist .is-last{color:var(--gold);font-weight:800}
.xd-mlist .xd-m0{display:block;color:var(--muted);font-weight:500}
.xd-fair{display:grid;gap:8px;font-size:13px}
.xd-fair summary{cursor:pointer;font:700 13px/1.4 var(--font);color:var(--link)}
.xd-fair p{margin:0;color:var(--muted)}
.xd-mrow .xd-dot{width:18px;height:18px}
.xd-macts{display:flex;align-items:center;gap:8px}
.xd-mrow .rps-mi{display:grid;place-items:center;width:34px}
.xd-mrow .rps-mv{justify-content:flex-end}
.xd-lobby .pk-how{margin-top:2px}
@media(max-width:600px){
  .xd-mrow.is-wide{grid-template-columns:auto minmax(0,1fr)}
  .xd-mrow.is-wide .rps-mv{grid-column:1/-1}
  .xd-mrow.is-wide .rps-act{flex:1}
  .xd-mrow .xd-see{padding:6px 10px}
}
.xd-lobby .rps-rrow .xd-dot{width:12px;height:12px;border-width:1.5px}
:root[data-theme="light"] .xd-player,:root[data-theme="light"] .xd-moves{background:#fff}
@media(max-width:520px){
  .xd-player{padding:6px 8px 6px 10px;gap:8px}
  .xd-pname{font-size:14px}
  .xd-clock{font-size:17px;padding:5px 8px}
  .xd-rk,.xd-fl{font-size:9px}
  .xd-rk{top:2px;left:3px}.xd-fl{right:3px;bottom:2px}
  .xd-sq.is-cap::after{border-width:3px}
  .xd-promo [data-xd-promo]:not(.btn){width:58px;height:58px}
  .xd-promo svg{width:46px;height:46px}
}
@media(prefers-reduced-motion:reduce){.xd-player,.xd-promo [data-xd-promo]{transition:none}}

/* =========================================================
   As tuas jogadas: o menu dos jogos à esquerda (como no painel), a lista à direita, por páginas
   ========================================================= */
.hx{display:grid;grid-template-columns:212px minmax(0,1fr);gap:20px;align-items:start;margin-top:12px}
.hx-nav{position:sticky;top:78px;max-height:calc(100vh - 100px);overflow:auto;padding-right:4px;scrollbar-width:thin;overscroll-behavior:contain}
.hx-pick{display:none}
.hx-pick select{width:100%;padding:11px 12px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--input-bg);color:var(--text);font:600 15px/1.3 var(--font)}
.hx-group+.hx-group{margin-top:12px}
.hx-group h4{margin:0 0 4px;padding:0 10px;font:700 11.5px/1.4 var(--font-head);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.hx-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:7px 10px;border:0;border-radius:var(--r-sm);background:none;color:var(--text);font:600 14px/1.25 var(--font);text-align:left;cursor:pointer;transition:background-color .12s}
.hx-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hx-item small{flex:none;padding:3px 7px;border-radius:999px;background:var(--surface-3);color:var(--muted);font:700 11.5px/1 var(--font-head)}
.hx-item:hover{background:var(--surface-2)}
.hx-item.is-on{background:var(--surface-3);box-shadow:inset 3px 0 0 var(--brand-hi)}
.hx-item.is-on small{background:var(--brand);color:#fff}
.hx-item:focus-visible{outline:2px solid var(--focus);outline-offset:1px}
.hx-main{min-width:0;transition:opacity .15s}
.hx-main.is-loading{opacity:.55}
.hx-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-bottom:8px}
.hx-title{margin:0;font:800 20px/1.2 var(--font-head);text-transform:uppercase;letter-spacing:.02em}
.hx-total{color:var(--muted);font-size:13.5px}
.hx-modes{margin-left:auto;min-width:min(100%,300px)}
.cg-row.hx-row>summary,.cg-row.hx-row>.cg-sum{grid-template-columns:minmax(132px,1.5fr) .9fr .9fr .9fr auto}
.hx-when{display:grid;gap:2px;min-width:0}
.hx-when b{font-weight:700;font-size:13.5px}
.hx-when small{color:var(--muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hx-out{font-weight:800}
.hx-out--win{color:var(--ok)}
.hx-out--lose{color:var(--muted)}
.hx-out--wait{color:var(--muted);font-weight:600}
a.hx-vlink{text-decoration:none}
a.hx-vlink:hover{filter:brightness(1.12)}
.hx-ref{margin:6px 0 0;color:var(--muted);font-size:12.5px}
.hx-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;margin-top:14px}
.hx-pg{min-width:38px;height:38px;padding:0 9px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font:700 14px/1 var(--font-head);cursor:pointer}
.hx-pg:hover:not(:disabled){border-color:var(--brand-hi)}
.hx-pg[aria-current="page"]{background:var(--brand);border-color:var(--brand);color:#fff;cursor:default}
.hx-pg:disabled{opacity:.4;cursor:default}
.hx-pg:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.hx-pg .ic{width:16px;height:16px;vertical-align:-3px}
.hx-pg--arrow:not(.hx-pg--next) .ic{transform:scaleX(-1)}
.hx-gap{padding:0 2px;color:var(--muted)}
.hx-pnote{margin:8px 0 0;text-align:center;color:var(--muted);font-size:12.5px}
:root[data-theme="light"] .hx-item.is-on{background:#f6e7ec}
:root[data-theme="light"] .hx-pick select{border-color:#d3b3be}
@media(max-width:860px){
  .hx{grid-template-columns:minmax(0,1fr);gap:12px}
  .hx-nav{position:static;max-height:none;overflow:visible;padding:0}
  .hx-list{display:none}
  .hx-pick{display:block}
}
@media(max-width:700px){
  .cg-row.hx-row>summary,.cg-row.hx-row>.cg-sum{grid-template-columns:1fr 1fr}
  .hx-modes{margin-left:0;width:100%}
}
@media(prefers-reduced-motion:reduce){.hx-main,.hx-item{transition:none}}

/* =========================================================
   Menu da conta (0.21): botão no cabeçalho e painel à direita
   ========================================================= */
.acct-btn{position:relative;display:inline-flex;align-items:center;gap:8px;height:38px;max-width:180px;padding:0 12px 0 5px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.1);color:#fff;font:700 14px/1 var(--font);cursor:pointer}
.acct-btn:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.55)}
.acct-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}
.acct-av{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:rgba(0,0,0,.28)}
.acct-av .ic{width:17px;height:17px}
.acct-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acct-dot{position:absolute;top:-2px;left:24px;width:11px;height:11px;border-radius:50%;background:var(--warn);box-shadow:0 0 0 2px var(--bar)}
.acct-btn[hidden],.acct-dot[hidden]{display:none}
@media(max-width:1240px){
  .acct-btn{width:38px;padding:0;justify-content:center;border-radius:var(--r-sm)}
  .acct-name{display:none}
  .acct-av{background:none}
  .acct-av .ic{width:20px;height:20px}
  .acct-dot{top:5px;left:auto;right:5px}
  .acct.is-in .acct-menu-btn{display:none}
}
@media(max-width:340px){.acct-btn{width:34px;height:34px}}

/* painel */
.modal.ap-modal{place-items:stretch end;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);padding:0}
.ap{position:relative;display:flex;flex-direction:column;width:min(430px,100vw);height:100%;min-height:0;max-height:100%;background:var(--bg);border-left:1px solid var(--line);box-shadow:-18px 0 40px rgba(0,0,0,.35);animation:ap-in .2s cubic-bezier(.2,.7,.3,1)}
.ap-modal.is-wide .ap{width:min(1020px,100vw)}
@keyframes ap-in{from{transform:translateX(28px);opacity:0}}
.ap-top{display:flex;align-items:center;gap:6px;min-height:58px;padding:10px 12px 10px 18px;background:var(--bar);color:#fff}
.ap-top h2{flex:1;min-width:0;margin:0;font:800 18px/1.15 var(--font-head);letter-spacing:.03em;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ap-back{display:grid;place-items:center;flex:none;width:34px;height:34px;margin-left:-8px;border:0;border-radius:var(--r-sm);background:transparent;color:#fff;cursor:pointer}
.ap-back:hover{background:rgba(255,255,255,.14)}
.ap-back[hidden]{display:none}
.ap-back .ic{width:20px;height:20px}
.modal-x.ap-x{position:static;flex:none;color:rgba(255,255,255,.85)}
.modal-x.ap-x:hover{background:rgba(255,255,255,.14);color:#fff}
.ap-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:16px}
#apView{display:grid;gap:14px}
#apView[hidden]{display:none}
.ap-me{display:flex;align-items:center;gap:12px;padding:2px 2px 0}
.ap-avatar{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:50%;background:var(--brand);color:#fff;font:800 16px/1 var(--font-head);letter-spacing:.03em}
.ap-mt{display:grid;gap:3px;min-width:0}
.ap-mt b{font:800 17px/1.2 var(--font);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ap-mt small{color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* o saldo: o cartão que se destaca */
.ap-bal{position:relative;overflow:hidden;padding:16px 16px 14px;border-radius:var(--r-md);color:#fff;background:linear-gradient(140deg,#5a0a20 0%,#8f1636 58%,#b01c42 100%)}
.ap-bal::after{content:"";position:absolute;right:-38px;bottom:-46px;width:170px;height:170px;background:url(/img/g-wm-claro.png) center/contain no-repeat;opacity:.13;pointer-events:none}
.ap-bal-top{position:relative;display:grid;gap:4px}
.ap-bal-top span{font:700 12px/1.2 var(--font-head);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.78)}
.ap-bal-top strong{font:800 32px/1.05 var(--font-head);letter-spacing:.005em;font-variant-numeric:tabular-nums}
.ap-bal-acts{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.ap-bal-acts .btn{padding:10px 8px}
.ap-bal-acts .btn .ic{width:17px;height:17px}
.ap-bal-acts .btn--ghost{border-color:rgba(255,255,255,.5);color:#fff}
.ap-bal-acts .btn--ghost:hover{background:rgba(255,255,255,.12);border-color:#fff}
.ap-bal-acts .btn--primary{background:#fff;border-color:#fff;color:#6d0f28}
.ap-bal-acts .btn--primary:hover{background:#ffe9ef;border-color:#ffe9ef}
/* linhas */
.ap-list{display:grid;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);overflow:hidden}
.ap-row,.ap-invite{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:0;background:none;color:var(--text);text-align:left;font:inherit;cursor:pointer}
.ap-row+.ap-row{border-top:1px solid var(--line)}
.ap-row:hover,.ap-invite:hover{background:var(--surface-2)}
.ap-row:focus-visible,.ap-invite:focus-visible,.ap-msgh:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
.ap-ic{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:var(--r-sm);background:var(--surface-3);color:var(--link)}
.ap-ic .ic{width:19px;height:19px}
.ap-rt{display:grid;gap:3px;flex:1;min-width:0}
.ap-rt b{font:700 15px/1.25 var(--font)}
.ap-rt small{color:var(--muted);font-size:12.5px;line-height:1.35}
.ap-chev{flex:none;color:var(--faint)}
.ap-chev .ic{width:17px;height:17px;display:block}
.ap-badge{flex:none;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--brand-hi);color:#fff;font:800 12px/22px var(--font-head);text-align:center}
.ap-ok{flex:none;color:var(--ok)}
.ap-ok .ic{width:19px;height:19px;display:block}
.ap-invite{border-radius:var(--r-md);border:1px dashed var(--line-strong);background:var(--surface)}
.ap-invite .ap-ic{color:var(--coin)}
.ap-soon{flex:none;padding:4px 9px;border-radius:999px;background:var(--warn-bg);color:var(--warn);font:800 11px/1.2 var(--font-head);letter-spacing:.06em;text-transform:uppercase}
/* língua e tema (só quando não estão no cabeçalho) */
.ap-prefs{display:none}
@media(max-width:1240px){
  .ap-prefs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .ap-prefs .lang-btn{width:100%;height:42px;justify-content:flex-start;gap:9px;padding:0 12px;border:1px solid var(--line);background:var(--surface);color:var(--text);font:600 14px/1 var(--font);letter-spacing:0}
  .ap-prefs .lang-btn .lang-caret{display:block;margin-left:auto}
  .ap-prefs .lang-menu{top:auto;bottom:calc(100% + 6px);left:0;right:auto;width:100%}
  .ap-prefs .lang-btn:hover,.ap-prefs .ap-pref:hover{border-color:var(--line-strong);background:var(--surface-2)}
}
.ap-pref{display:flex;align-items:center;gap:9px;width:100%;height:42px;padding:0 12px 0 4px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);color:var(--text);font:600 14px/1 var(--font);cursor:pointer}
.ap-pref .ap-ic{width:32px;height:32px;background:none}
.ap-pref .i-moon{display:none}
:root[data-theme="light"] .ap-pref .i-sun{display:none}
:root[data-theme="light"] .ap-pref .i-moon{display:block}
.ap-pref .lbl-to-light{display:inline}
:root[data-theme="light"] .ap-pref .lbl-to-light{display:none}
:root[data-theme="light"] .ap-pref .lbl-to-dark{display:inline}
.ap-foot{display:flex;gap:8px;flex-wrap:wrap;padding-top:4px}
.ap-foot .btn{flex:1}
.ap-foot .btn .ic{width:17px;height:17px}
.ap-logout{color:var(--live)}
/* dados, notas, cartões */
.ap-dl{display:grid;margin:0;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);overflow:hidden}
.ap-dl div{display:grid;gap:4px;padding:12px 14px}
.ap-dl div+div{border-top:1px solid var(--line)}
.ap-dl dt{font:700 11.5px/1.2 var(--font-head);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.ap-dl dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.ap-note,.ap-warn{display:flex;gap:9px;align-items:flex-start;margin:0;padding:10px 12px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);color:var(--muted);font-size:13px;line-height:1.45}
.ap-note .ic,.ap-warn .ic{flex:none;width:17px;height:17px;margin-top:1px;color:var(--link)}
.ap-warn{background:var(--warn-bg);border-color:transparent;color:var(--text)}
.ap-warn .ic{color:var(--warn)}
.ap-listhead{display:flex}
.ap-listhead--end{justify-content:flex-end}
.ap-listhead .btn .ic{width:17px;height:17px}
.ap-card{display:grid;gap:12px;padding:16px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface)}
.ap-card>p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.ap-card>.btn{justify-self:start}
.ap-card .btn .ic{width:17px;height:17px}
.ap-cardh{display:flex;align-items:center;gap:10px}
.ap-cardh h3{flex:1;margin:0;font:800 16px/1.2 var(--font-head);letter-spacing:.02em;text-transform:uppercase}
.ap-pill{flex:none;padding:4px 10px;border-radius:999px;background:var(--surface-3);color:var(--muted);font:800 11.5px/1.2 var(--font-head);letter-spacing:.05em;text-transform:uppercase}
.ap-pill.is-on{background:var(--ok-bg);color:var(--ok)}
.ap-form{gap:10px}
.ap-form .form-err{margin:0;min-height:0}
.ap-form .form-err:empty{display:none}
.ap-form>.btn{justify-self:start}
.ap-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.code-in{font:800 22px/1.2 var(--mono)!important;letter-spacing:.3em;text-align:center}
/* mensagens */
.ap-msgs{display:grid;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);overflow:hidden}
.ap-msg+.ap-msg{border-top:1px solid var(--line)}
.ap-msgh{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;border:0;background:none;color:var(--text);text-align:left;font:inherit;cursor:pointer}
.ap-msgh:hover{background:var(--surface-2)}
.ap-msgdot{flex:none;width:9px;height:9px;border-radius:50%;background:transparent}
.ap-msg.is-unread .ap-msgdot{background:var(--brand-hi)}
.ap-msg.is-unread .ap-rt b{font-weight:800}
.ap-msg:not(.is-unread) .ap-rt b{font-weight:600;color:var(--muted)}
.ap-msg .ap-chev .ic{transition:transform .15s}
.ap-msg.is-open .ap-chev .ic{transform:rotate(180deg)}
.ap-msgb{padding:0 16px 14px 35px;font-size:14px;line-height:1.55}
.ap-msgb p{margin:0 0 8px;white-space:pre-wrap;overflow-wrap:anywhere}
.ap-msgb p:last-child{margin:0}
.ap-hist{margin:0}
/* as tuas jogadas, dentro do painel */
.ap-plays .hx{margin-top:0}
.ap-plays .hx-nav{top:0;max-height:calc(100vh - 110px)}
@media(max-width:860px){.ap-plays .hx-nav{max-height:none}}
/* "Jogo justo": os dois botões */
.pf-acts{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}
.pf-now .pf-acts .btn{margin-left:0}
@media(max-width:700px){.pf-acts{margin-left:0;width:100%}.pf-now .pf-acts .btn{flex:1 1 200px;width:auto}}
:root[data-theme="light"] .ap{background:var(--bg)}
:root[data-theme="light"] .ap-list,:root[data-theme="light"] .ap-dl,:root[data-theme="light"] .ap-card,:root[data-theme="light"] .ap-msgs,:root[data-theme="light"] .ap-invite{box-shadow:var(--card-sh)}
@media(max-width:480px){
  .ap-body{padding:14px 12px}
  .ap-bal-top strong{font-size:28px}
}

/* entrar com verificação em dois passos */
.login-code{display:grid;gap:10px;padding:12px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line)}
.login-code[hidden]{display:none}
.login-code-note{display:flex;gap:9px;align-items:flex-start;margin:0;font-size:13.5px;line-height:1.45;color:var(--text)}
.login-code-note .ic{flex:none;width:18px;height:18px;margin-top:1px;color:var(--link)}
.login-code .form-hint{margin:0}

/* janela: ativar a verificação em dois passos */
.tfa-card{max-width:560px}
.tfa-lead{margin:0 0 14px;color:var(--muted);font-size:14px;line-height:1.5}
.tfa-steps{display:grid;gap:18px;margin:0;padding:0;list-style:none;counter-reset:tfa}
.tfa-steps>li{position:relative;padding-left:40px;counter-increment:tfa}
.tfa-steps>li::before{content:counter(tfa);position:absolute;left:0;top:-2px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--brand);color:#fff;font:800 14px/1 var(--font-head)}
.tfa-steps h3{margin:0 0 6px;font:800 15.5px/1.25 var(--font-head);letter-spacing:.02em;text-transform:uppercase}
.tfa-steps p{margin:0 0 10px;color:var(--muted);font-size:13.5px;line-height:1.5}
.tfa-codes{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start}
.tfa-qr{display:grid;gap:8px;justify-items:center}
.tfa-qrbox{position:relative;width:172px;height:172px;padding:6px;border-radius:var(--r-sm);background:#fff;border:1px solid var(--line);overflow:hidden}
.tfa-qrbox svg{display:block;width:100%;height:100%}
.tfa-veil{display:block;width:100%;height:100%;filter:blur(7px);opacity:.75}
.tfa-eye{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text);font:700 13px/1 var(--font-head);letter-spacing:.03em;text-transform:uppercase;cursor:pointer}
.tfa-eye:hover{border-color:var(--brand-hi)}
.tfa-eye:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.tfa-eye .ic{width:18px;height:18px}
.tfa-key{display:grid;gap:8px;align-content:start}
.tfa-key .f{font:700 12.5px/1.2 var(--font-head);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.tfa-keyrow{display:flex;gap:8px;align-items:stretch}
.tfa-keyin{flex:1;min-width:0;resize:none;overflow:hidden;padding:10px 11px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--input-bg);color:var(--text);font:700 14px/1.3 var(--mono);letter-spacing:.06em}
.tfa-keyin.is-veiled{color:var(--muted);letter-spacing:.12em}
.tfa-keyrow .tfa-eye span{display:none}
.tfa-copy{justify-self:start}
.tfa-copy .ic{width:17px;height:17px}
.tfa-key .form-hint{margin:0}
.tfa-risk{display:grid;gap:8px;padding:12px 14px;border-radius:var(--r-sm);background:var(--warn-bg);border-left:3px solid var(--warn);font-size:13.5px;line-height:1.5}
.tfa-risk p{margin:0;color:var(--text)}
.tfa-risk .tfa-sub{font-weight:700}
.tfa-risk ul{margin:0;padding-left:18px;display:grid;gap:4px}
.tfa-good li::marker{color:var(--ok)}
.tfa-bad li::marker{color:var(--live)}
.tfa-form{gap:10px}
.tfa-form .form-hint{margin:0}
.tfa-err{display:flex;gap:9px;align-items:flex-start;padding:10px 12px;border-radius:var(--r-sm);background:var(--live-bg);color:var(--text);font-size:13.5px;line-height:1.45}
.tfa-err[hidden]{display:none}
.tfa-err .ic{flex:none;width:17px;height:17px;margin-top:1px;color:var(--live)}
.tfa-done{display:grid;gap:12px;justify-items:center;text-align:center}
.tfa-done h3{margin:0;font:800 19px/1.2 var(--font-head);text-transform:uppercase}
.tfa-done p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.tfa-done .ap-warn{text-align:left}
.tfa-doneic{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--ok-bg);color:var(--ok)}
.tfa-doneic .ic{width:30px;height:30px}
@media(max-width:520px){
  .tfa-codes{grid-template-columns:minmax(0,1fr)}
  .tfa-steps>li{padding-left:0}
  .tfa-steps>li::before{position:static;display:inline-grid;margin-bottom:6px}
}
:root[data-theme="light"] .ap-bal-acts .btn--ghost{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
:root[data-theme="light"] .ap-bal-acts .btn--ghost:hover{background:rgba(255,255,255,.14);border-color:#fff}
:root[data-theme="light"] .ap-bal-acts .btn--primary{background:#fff;border-color:#fff;color:#6d0f28}
.ap-msg:not(.is-unread) .ap-new{display:none}

/* =========================================================
   Abrir e fechar (motion.js): o que abre com animação também fecha com animação.
   As classes de saída (.is-leaving) ficam postas só enquanto a animação corre; depois o elemento esconde-se.
   ========================================================= */
@keyframes fade-out{to{opacity:0}}
@keyframes modal-out{to{opacity:0;transform:translateY(10px) scale(.97)}}
@keyframes ap-out{to{opacity:0;transform:translateX(36px)}}
@keyframes pop-out{to{opacity:0;transform:translateY(-4px)}}
@keyframes pop-in{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
@keyframes drop-out{to{opacity:0;transform:translateY(14px)}}
@keyframes mo-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes apv-in-r{from{opacity:0;transform:translateX(22px)}to{opacity:1;transform:none}}
@keyframes apv-in-l{from{opacity:0;transform:translateX(-22px)}to{opacity:1;transform:none}}
/* janelas (entrar, depósito, levantamento, conta, 2FA, rondas, tabela de prémios, partilhar) */
.modal.is-leaving{pointer-events:none}
.modal.is-leaving:not([hidden]) .modal-backdrop{animation:fade-out .2s ease-in forwards}
.modal.is-leaving:not([hidden]) .modal-card{animation:modal-out .2s cubic-bezier(.4,0,1,1) forwards}
.modal.ap-modal.is-leaving .ap{animation:ap-out .22s cubic-bezier(.4,0,1,1) forwards}
/* menus da língua e do ☰ */
.lang-menu.is-leaving{animation:pop-out .14s ease-in forwards}
@media(max-width:1240px){
  .acct.is-closing .acct-more{display:flex}
  .acct-more.is-leaving{animation:pop-out .14s ease-in forwards;pointer-events:none}
}
/* menu da conta: as vistas entram a deslizar (da direita a entrar, da esquerda a voltar) */
/* (nomes próprios: .ap-back já é o botão de voltar do painel) */
.apv-in-r{animation:apv-in-r .24s cubic-bezier(.2,.7,.3,1)}
.apv-in-l{animation:apv-in-l .24s cubic-bezier(.2,.7,.3,1)}
#apTfaOff{animation:mo-in .26s cubic-bezier(.2,.7,.2,1)}
#tfaQr>svg,#tfaQr>.tfa-veil{animation:fade-in .25s ease-out}
/* aviso flutuante dos desafios, escolha da promoção no xadrez, cartão do Remate ao Golo */
.rps-call.is-leaving{animation:drop-out .2s ease-in forwards}
.xd-promo:not([hidden]){animation:pop-in .16s ease-out}
.xd-promo.is-leaving{animation:fade-out .14s ease-in forwards}
/* vistas que trocam dentro de um jogo ou de uma janela */
.rps-duel:not([hidden]),.rps-lobby:not([hidden]){animation:mo-in .3s cubic-bezier(.2,.7,.2,1)}
.rps-picker{animation:mo-in .24s cubic-bezier(.2,.7,.2,1)}
#loginForm:not([hidden]),#registerForm:not([hidden]),#loginCodeBox:not([hidden]){animation:mo-in .26s cubic-bezier(.2,.7,.2,1)}
.mo-in{animation:mo-in .3s cubic-bezier(.2,.7,.2,1)}
@media(prefers-reduced-motion:reduce){
  .apv-in-r,.apv-in-l,#apTfaOff,#tfaQr>svg,#tfaQr>.tfa-veil,.xd-promo:not([hidden]),.rps-duel:not([hidden]),.rps-lobby:not([hidden]),.rps-picker,#loginForm:not([hidden]),#registerForm:not([hidden]),#loginCodeBox:not([hidden]),.mo-in{animation:none}
}
