:root{--bg:#0a1836;--bg2:#0e2150;--card:#12295c;--line:#1d3a72;--gold:#f0c040;--gold2:#ffd766;
  --txt:#eaf0ff;--dim:#9fb3e0;--green:#2ec26a;--red:#ff5c6c;--felt:#0c4a34}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%}
body{background:#0a1836 url('bg.jpg?v=1') center top / cover no-repeat;color:var(--txt);
  font-family:-apple-system,"Segoe UI",Roboto,system-ui,sans-serif;overflow:hidden;user-select:none}
.screen{position:fixed;inset:0;display:none;flex-direction:column;align-items:center;padding:20px 16px;overflow-y:auto}
.screen.active{display:flex}
.hidden{display:none!important}

/* auth */
#auth{justify-content:center}
#auth .card{background:rgba(9,20,48,.34);border:1px solid rgba(255,215,102,.6);
  box-shadow:0 18px 50px rgba(0,0,0,.7);backdrop-filter:blur(3px)}
.card{width:100%;max-width:420px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px}
.card label,#auth label{display:block;font-size:12px;color:var(--dim);margin:12px 2px 6px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
#auth label{font-size:15px;color:var(--gold2);font-weight:900;text-transform:none;text-shadow:0 1px 3px rgba(0,0,0,.85)}
input{width:100%;padding:13px 14px;border-radius:12px;border:1px solid var(--line);background:#0c1e47;color:var(--txt);font-size:16px;outline:none}
input:focus{border-color:var(--gold)}
#auth input{background:rgba(6,15,38,.55);font-family:"Arial Black",Arial,sans-serif;font-weight:900;font-size:20px;
  letter-spacing:1px;color:#fff;text-shadow:0 0 6px rgba(255,215,102,.9)}
#auth input:focus,#auth input:not(:placeholder-shown){background:#fff;color:#111;text-shadow:none}
.pwrap{position:relative}.pwrap input{padding-right:52px}
.eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:22px;cursor:pointer;padding:6px}
.check{display:flex!important;align-items:center;gap:8px;font-size:13px!important;text-transform:none!important;color:var(--txt)!important}
.check input{width:auto}
.seg{display:flex;gap:6px;background:#0c1e47;border:1px solid var(--line);border-radius:12px;padding:4px}
.seg button{flex:1;background:none;border:none;color:var(--txt);padding:9px;border-radius:9px;font-weight:800;cursor:pointer;font-size:13px}
.seg button.on{background:linear-gradient(180deg,var(--gold2),var(--gold));color:#3a2a00}
.primary{background:linear-gradient(180deg,var(--gold2),var(--gold));color:#3a2a00;border:none;border-radius:12px;font-weight:900;cursor:pointer}
.primary.big,.ghost.big{width:100%;padding:14px;font-size:16px;margin-top:10px}
.ghost{background:#0c1e47;border:1px solid var(--line);color:var(--txt);border-radius:12px;padding:11px;font-weight:800;cursor:pointer;width:100%;margin-top:8px}
.big{font-size:16px}
.foot{color:var(--dim);font-size:11px;margin-top:14px;text-align:center;max-width:420px}

/* barra de conta */
.acct{position:sticky;top:6px;display:flex;justify-content:flex-end;width:100%;z-index:50}
#acctIn{display:flex;align-items:center;gap:6px;background:#0c1e47;border:1px solid var(--line);border-radius:18px;padding:4px 6px 4px 12px}
#acctName{font-weight:800;font-size:12px;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chips{color:var(--gold2);font-size:12px;font-weight:800}
.acct-buy{background:linear-gradient(180deg,var(--gold2),var(--gold));color:#3a2a00;border:none;border-radius:14px;padding:5px 9px;font-weight:900;cursor:pointer;font-size:11px}
.acct-btn{background:#0c1e47;border:1px solid var(--gold);color:var(--gold2);border-radius:14px;padding:5px 9px;font-weight:800;cursor:pointer;font-size:11px}
.acct-av{font-size:15px;cursor:pointer;width:26px;height:26px;display:grid;place-items:center;background:#0c1e47;border:1px solid var(--gold);border-radius:8px;flex:0 0 auto}
.acct-av:active{transform:scale(.92)}
.avatar-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:12px 0}
.av-opt{font-size:24px;padding:8px 0;border-radius:12px;border:1px solid var(--line);background:#0c1e47;cursor:pointer}
.av-opt.on{border-color:var(--gold);box-shadow:0 0 0 2px rgba(240,192,64,.4);background:#123163}
.av-opt:active{transform:scale(.93)}
.sala-ref{grid-column:1/-1;margin-top:5px;background:linear-gradient(180deg,#2ee06a,#17a54d);color:#04220f;border:none;border-radius:9px;
  padding:8px 4px;font-weight:900;font-size:11px;cursor:pointer;line-height:1.15;animation:rp 2s ease-in-out infinite}
.sala-ref:active{transform:scale(.95)}
@keyframes rp{0%,100%{box-shadow:0 3px 10px rgba(23,165,77,.4)}50%{box-shadow:0 3px 16px rgba(46,224,106,.8)}}

.logoimg{margin-top:8px;width:min(76vw,270px);height:auto;border-radius:16px;box-shadow:0 8px 30px rgba(40,110,255,.35)}
.tag{color:#fff;letter-spacing:4px;font-size:clamp(24px,7vw,36px);margin-top:10px;font-family:"Arial Black",Arial,sans-serif;font-weight:900;
  -webkit-text-stroke:2px var(--gold);text-shadow:0 0 14px rgba(255,215,102,.7)}

/* lobby */
.lobby{display:flex;gap:10px;width:100%;max-width:560px;margin-top:14px;align-items:stretch}
.salas{display:grid;grid-template-columns:1fr 1fr;gap:5px;flex:0 0 140px;align-content:start;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:8px}
.salas-h{grid-column:1/-1;color:var(--gold2);font-size:11px;font-weight:900;letter-spacing:2px;text-align:center;padding:2px 0 4px}
.salas button{padding:9px 2px;border-radius:9px;border:1px solid var(--line);background:#0c1e47;color:var(--txt);font-size:12px;font-weight:800;cursor:pointer}
.salas button.on{background:linear-gradient(180deg,var(--gold2),var(--gold));color:#3a2a00;border-color:var(--gold)}
.lobby .card{flex:1}
.stake-info{background:#0c1e47;border:1px solid var(--gold);border-radius:10px;padding:9px 10px;font-size:13px;text-align:center;margin-bottom:8px}
.rooms-h{color:var(--gold2);font-size:12px;font-weight:800;margin:4px 0 6px}
.rooms-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:8px}
.rooms-empty{grid-column:1/-1;color:var(--dim);text-align:center;padding:14px;font-size:13px}
.door{display:flex;flex-direction:column;align-items:center;gap:1px;background:#0c1e47;border:1px solid var(--line);border-radius:11px;padding:9px 4px;cursor:pointer;color:var(--txt)}
.door.has{border-color:var(--green)}.door.full{opacity:.5}
.dicon{font-size:20px}.dnum{font-size:11px;font-weight:800}.dval{color:var(--gold2);font-weight:900;font-size:13px}.docc{font-size:11px;color:var(--dim)}
.or{color:var(--dim);text-align:center;font-size:12px;margin:6px 0}
.row{display:flex;gap:6px}.row input{flex:1}.row .ghost{width:auto;margin-top:0;padding:11px 16px}

/* fila */
#queue{justify-content:center}
.spinner{width:54px;height:54px;border:5px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.qtext{font-weight:900;font-size:18px;margin-top:16px}.qsub{color:var(--dim);margin:6px 0 16px}

/* MESA 21 */
#game{padding:10px 14px;justify-content:flex-start;background:radial-gradient(120% 80% at 50% 38%,#17693e,#0a3a22 78%,#06281a)}
.corner-right{position:absolute;top:9px;right:9px;z-index:12}
.corner-btn{min-width:56px;border-radius:13px;border:none;background:rgba(255,255,255,.2);color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 10px}
.corner-btn .ci{font-size:22px}.corner-btn .cl{font-size:11px;font-weight:800}
.pbar{display:flex;align-items:center;gap:8px;padding:6px 10px;background:rgba(0,0,0,.28);border-radius:14px}
.pbar.top{margin-top:8px}.pbar.bottom{margin-top:6px}
.pbar.turn{box-shadow:0 0 0 3px var(--gold)}
.avatar{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font-size:22px;background:linear-gradient(180deg,#3b6fd6,#2a52a8);flex:0 0 auto}
.pname{font-weight:900;font-size:14px}.pcount{font-size:13px;color:var(--gold2);font-weight:800}
.felt{position:relative;width:100%;max-width:520px;min-height:60px;display:flex;align-items:center;justify-content:center;margin:6px 0}
.pot-badge{position:absolute;top:4px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.45);color:var(--gold2);border:1px solid var(--gold);border-radius:20px;padding:4px 14px;font-size:12px;font-weight:800}
.turn-clock{position:absolute;top:4px;right:6px;background:rgba(0,0,0,.55);color:#fff;border:1px solid var(--gold);border-radius:16px;padding:4px 12px;font-weight:900;font-size:14px}
.turn-clock.warn{border-color:var(--red);color:#ffd0d0;background:rgba(120,0,0,.6);animation:cp .5s ease-in-out infinite}
@keyframes cp{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
.turn-msg{font-weight:900;color:var(--gold2);background:rgba(0,0,0,.35);padding:6px 16px;border-radius:16px;font-size:14px;text-align:center}
.turn-msg:empty{display:none}

/* cartas */
.cards{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;min-height:80px;align-items:center;margin:4px 0}
.cards.big{min-height:110px}
.pcard{width:56px;height:80px;background:#fff;border-radius:8px;position:relative;box-shadow:0 4px 12px rgba(0,0,0,.5);
  color:#16233f;font-weight:900;animation:deal .25s ease}
.cards.big .pcard{width:70px;height:100px}
.pcard .rk{position:absolute;top:5px;left:7px;font-size:18px;line-height:1}
.cards.big .pcard .rk{font-size:22px}
.pcard .su{position:absolute;bottom:4px;right:7px;font-size:22px}
.cards.big .pcard .su{font-size:28px}
.pcard .mid{position:absolute;inset:0;display:grid;place-items:center;font-size:30px;opacity:.9}
.cards.big .pcard .mid{font-size:40px}
.pcard.red{color:#d21f1f}
.pcard.back{background:repeating-linear-gradient(45deg,#123a8c,#123a8c 6px,#0e2f74 6px,#0e2f74 12px);border:2px solid var(--gold)}
@keyframes deal{0%{transform:translateY(-20px) scale(.9);opacity:0}100%{transform:none;opacity:1}}

.actions{display:flex;gap:10px;width:100%;max-width:420px;margin-top:8px}
.actions .big{margin-top:0}
#hitBtn{flex:1}#standBtn{flex:1}

/* overlays / modais */
.overlay{position:fixed;inset:0;background:rgba(4,10,26,.72);display:flex;align-items:center;justify-content:center;padding:16px;z-index:30}
.result-box{background:var(--card);border:1px solid var(--gold);border-radius:18px;max-width:420px;width:100%;padding:20px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.res-icon{font-size:52px}
.res-title{font-size:26px;font-weight:900;margin:4px 0}
.res-title.win{color:var(--green)}.res-title.lose{color:var(--red)}.res-title.draw{color:var(--gold2)}
.res-sub{color:var(--dim);font-size:14px}

/* back + suporte */
.back-btn{position:fixed;top:10px;left:10px;z-index:60;background:linear-gradient(180deg,#ff6b6b,#d21f1f);color:#fff;border:1px solid rgba(255,255,255,.35);
  border-radius:16px;padding:8px 14px;font-weight:900;font-size:14px;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.5);animation:bp 1.3s ease-in-out infinite}
@keyframes bp{0%,100%{box-shadow:0 4px 14px rgba(0,0,0,.5),0 0 0 0 rgba(255,80,80,.6)}50%{box-shadow:0 4px 14px rgba(0,0,0,.5),0 0 0 10px rgba(255,80,80,0)}}
.wa-float{position:fixed;bottom:16px;right:16px;z-index:55;height:52px;display:flex;align-items:center;gap:6px;background:#25d366;border-radius:28px;box-shadow:0 6px 20px rgba(0,0,0,.5);text-decoration:none;color:#fff;animation:wp 2.2s ease-in-out infinite}
.wa-float svg{width:32px;height:32px;fill:#fff;margin:0 2px 0 10px}.wa-lbl{font-weight:900;font-size:14px;padding-right:10px}
@keyframes wp{0%,100%{box-shadow:0 6px 20px rgba(0,0,0,.5),0 0 0 0 rgba(37,211,102,.5)}50%{box-shadow:0 6px 20px rgba(0,0,0,.5),0 0 0 12px rgba(37,211,102,0)}}

.toast{position:fixed;left:50%;bottom:80px;transform:translateX(-50%);background:#0c1e47;border:1px solid var(--gold);color:var(--txt);padding:10px 18px;border-radius:20px;z-index:70;font-weight:700;font-size:14px}

/* PC: moldura de celular */
@media (min-width:560px){
  body{background:#080808}
  .screen{width:440px;left:50%;right:auto;transform:translateX(-50%);
    background:#0a1836 url('bg.jpg?v=1') center top / cover no-repeat;box-shadow:0 0 70px rgba(0,0,0,.85),0 0 0 1px rgba(255,215,102,.25)}
  #game{background:radial-gradient(120% 80% at 50% 38%,#17693e,#0a3a22 78%,#06281a)}
  .back-btn{left:calc(50% - 220px + 8px)}
  .wa-float{right:calc(50% - 220px + 12px)}
}
