:root{--bg:#0a1836;--bg2:#0e2150;--card:#12295c;--line:#1d3a72;--gold:#f0c040;--gold2:#ffd766;
  --txt:#eaf0ff;--dim:#9fb3e0;--green:#2ec26a;--red:#ff5c6c}
*{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 */
#game{padding:8px 12px;justify-content:flex-start;background:radial-gradient(120% 80% at 50% 40%,#1a2f5e,#0c1a3c 78%,#06122b)}
.corner-right{position:absolute;top:9px;right:9px;z-index:12;display:flex;gap:6px}
.corner-btn{min-width:52px;border-radius:13px;border:none;background:rgba(255,255,255,.16);color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 9px}
.corner-btn.danger{background:rgba(210,31,31,.55)}
.corner-btn .ci{font-size:20px}.corner-btn .cl{font-size:10px;font-weight:800}
.pbar{display:flex;align-items:center;gap:8px;padding:5px 10px;background:rgba(0,0,0,.3);border-radius:14px;width:100%;max-width:440px}
.pbar.top{margin-top:6px}.pbar.bottom{margin-top:6px}
.pbar.turn{box-shadow:0 0 0 3px var(--gold)}
.avatar{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-size:21px;background:linear-gradient(180deg,#3b6fd6,#2a52a8);flex:0 0 auto}
.pname{font-weight:900;font-size:14px}.pcount{font-size:12px;color:var(--gold2);font-weight:800}
.pmeta{min-width:0}
.capbar{font-size:15px;letter-spacing:-1px;margin-left:auto;color:#fff;text-shadow:0 1px 2px #000;max-width:130px;overflow:hidden;white-space:nowrap;text-align:right}
.clock-badge{margin-left:6px;background:rgba(0,0,0,.5);color:#fff;border:1px solid var(--gold);border-radius:14px;padding:3px 9px;font-weight:900;font-size:13px;flex:0 0 auto}
.clock-badge.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.1)}}
.pot-badge{background:rgba(0,0,0,.42);color:var(--gold2);border:1px solid var(--gold);border-radius:14px;padding:3px 10px;font-size:12px;font-weight:800;flex:0 0 auto}
.turn-msg{font-weight:900;color:var(--gold2);background:rgba(0,0,0,.35);padding:5px 16px;border-radius:16px;font-size:14px;text-align:center;margin:5px 0}
.turn-msg:empty{display:none}
.turn-msg.check{color:#ffd0d0;background:rgba(150,0,0,.5);border:1px solid var(--red)}

/* tabuleiro de xadrez */
.board8{display:grid;grid-template-columns:repeat(8,1fr);width:min(94vw,440px);aspect-ratio:1;
  border:5px solid #3a2a12;border-radius:6px;overflow:hidden;box-shadow:0 12px 34px rgba(0,0,0,.65);margin:4px 0}
.sq{position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:min(10vw,46px);line-height:1}
.sq.light{background:#efe4c4}.sq.dark{background:#4e7dab}
.sq.last{background:#f2e07a}.sq.dark.last{background:#c9b83f}
.sq.sel{box-shadow:inset 0 0 0 4px var(--gold)}
.sq.chk{box-shadow:inset 0 0 0 4px var(--red)}
.sq.tgt::after{content:'';position:absolute;width:30%;height:30%;border-radius:50%;background:rgba(20,120,40,.55);z-index:2}
.sq.tgt.cap::after{width:82%;height:82%;background:none;border:4px solid rgba(20,120,40,.6);border-radius:50%}
.pcx{pointer-events:none;position:relative;z-index:1}
.pcx.w{color:#fff;text-shadow:0 0 1px #000,0 0 2px #000,1px 1px 0 #000,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000}
.pcx.b{color:#151515;text-shadow:0 0 1px #000,0 1px 1px rgba(0,0,0,.5)}
#myColorDot{font-size:12px}

/* 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}
/* escolha de promoção */
.promo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}
.promo-opt{font-size:38px;padding:6px 0;border-radius:12px;border:1px solid var(--line);background:#0c1e47;cursor:pointer;color:#fff;text-shadow:0 0 1px #000,1px 1px 0 #000,-1px -1px 0 #000}
.promo-opt:active{transform:scale(.92);border-color:var(--gold)}

/* 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% 40%,#1a2f5e,#0c1a3c 78%,#06122b)}
  .back-btn{left:calc(50% - 220px + 8px)}
  .wa-float{right:calc(50% - 220px + 12px)}
}

/* barra de atalhos entre jogos (topo) */
.gamenav{display:flex;gap:6px;overflow-x:auto;width:100%;max-width:560px;margin:6px auto 0;padding:2px 2px 4px;justify-content:flex-start;scrollbar-width:none}
.gamenav::-webkit-scrollbar{display:none}
.gamenav .gn{flex:0 0 auto;text-decoration:none;background:#0c1e47;border:1px solid var(--line,#1d3a72);color:var(--txt,#eaf0ff);border-radius:14px;padding:7px 12px;font-weight:800;font-size:13px;white-space:nowrap;line-height:1}
.gamenav .gn.home{padding:7px 11px;font-size:15px}
.gamenav .gn.on{background:linear-gradient(180deg,var(--gold2,#ffd766),var(--gold,#f0c040));color:#3a2a00;border-color:var(--gold,#f0c040)}
.gamenav .gn:active{transform:scale(.95)}
