/* =====================================================================
   Labirinto (26/10, SQL 2016): cartão da coluna da batalha e a janela
   (src/ui/labirinto-ui.js), tela A "Mapa do Labirinto" aprovada pelo autor.
   Celular: a janela ocupa a tela inteira; o mapa fica em cima e o cartão
   da sala embaixo. Texto grande do Android: tudo usa --text-scale.
   ===================================================================== */
:root{--lab-ouro:#e9c46a;--lab-ouro2:#ffe3a1;--lab-roxo:#9b7bff;--lab-fg:#efe8d6;--lab-mut:#b7ad98;--lab-fundo:#0d0b13;--lab-verm:#ff8a7a}

/* ---------- cartão da coluna ---------- */
.lab-rail-card{padding:0!important;overflow:hidden!important;border-color:rgba(155,123,255,.55)!important;
  background:linear-gradient(90deg,rgba(10,7,16,.3),rgba(10,7,16,.86) 65%),url(../assets/backgrounds/labirinto_lobby.webp) center 40%/cover!important}
.lab-rail-entry{width:100%}
.lab-rail-entry .rail-toggle-copy strong{color:var(--lab-ouro2)}
.lab-rail-entry .rail-toggle-chevron{font-size:1.3em;color:#c9b2ff}

/* ---------- janela ---------- */
.lab-fundo{z-index:1400}
.lab-janela.modal-card{position:relative;width:min(1080px,100%);max-height:calc(100vh - 40px);padding:0;display:flex;flex-direction:column;overflow:hidden;
  border-color:#6b5527;color:var(--lab-fg);box-shadow:0 0 0 1px #000,0 0 40px rgba(155,123,255,.25),0 20px 60px #000;
  background:linear-gradient(180deg,rgba(8,6,14,.55),rgba(8,6,14,.25) 35%,rgba(8,6,14,.8)),url(../assets/backgrounds/labirinto_lobby.webp) center 40%/cover var(--lab-fundo)}
.lab-cab{display:flex;align-items:center;gap:10px;padding:10px 14px;background:linear-gradient(180deg,rgba(20,14,30,.95),rgba(20,14,30,.6));border-bottom:1px solid rgba(233,196,106,.35)}
.lab-cab-icone{flex:0 0 auto;width:48px;height:48px;display:grid;place-items:center;font-size:30px}
.lab-cab-icone .col-icone{font-style:normal;display:grid;place-items:center;width:100%;height:100%}
.lab-cab-icone .col-icone-img{width:100%;height:100%;object-fit:contain}
.lab-cab-txt{min-width:0;flex:1 1 auto}
.lab-cab small{display:block;font-size:calc(10px * var(--text-scale,1));font-weight:900;letter-spacing:.14em;color:var(--lab-mut)}
.lab-cab h2{margin:0;font-family:var(--font-display,Georgia,serif);font-size:calc(22px * var(--text-scale,1));color:var(--lab-ouro2);text-shadow:0 0 16px rgba(155,123,255,.6),0 2px 4px #000;line-height:1.15;overflow-wrap:anywhere}
.lab-fechar{min-width:40px;flex:0 0 auto}
.lab-corpo{padding:10px 12px 12px;overflow:auto;display:flex;flex-direction:column;gap:10px;min-height:0;flex:1 1 auto}
.lab-vazio{padding:28px 10px;text-align:center;color:var(--lab-mut);font-size:calc(13px * var(--text-scale,1));background:rgba(10,7,18,.7);border-radius:12px}

.lab-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;margin:0;min-height:46px;padding:10px 20px;border:0;border-radius:10px;cursor:var(--cur-mao,pointer);
  font-family:var(--font-display,Georgia,serif);font-weight:900;letter-spacing:.06em;font-size:calc(16px * var(--text-scale,1));color:var(--botao-ouro-texto);white-space:normal;text-transform:none;
  background:var(--botao-ouro-fundo);box-shadow:0 0 0 1px #5c4413,0 0 22px rgba(233,196,106,.45),inset 0 1px 0 #fff6d8}
.lab-btn.cinza{background:#262033;color:var(--lab-fg);box-shadow:0 0 0 1px #4a3d66;min-height:38px;font-size:calc(13px * var(--text-scale,1));width:auto}
.lab-btn[disabled]{opacity:.45;cursor:not-allowed;filter:grayscale(.5)}

.lab-status{display:flex;flex-wrap:wrap;gap:6px}
.lab-pilula{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:99px;background:rgba(12,9,20,.8);border:1px solid rgba(233,196,106,.35);font-size:calc(12px * var(--text-scale,1));white-space:nowrap}
.lab-pilula b{color:var(--lab-ouro2)}
.lab-pilula img{width:calc(16px * var(--text-scale,1));height:calc(16px * var(--text-scale,1));object-fit:contain}
.lab-fol{color:#ff7a8a;letter-spacing:2px}
.lab-fol i{color:#5b4a52;font-style:normal}
.lab-rot{font-size:calc(11px * var(--text-scale,1));letter-spacing:.12em;color:var(--lab-mut);font-weight:800;text-transform:uppercase}

.lab-premios{display:flex;flex-wrap:wrap;gap:6px}
.lab-premio{display:inline-flex;align-items:center;gap:5px;padding:3px 8px 3px 4px;border-radius:8px;background:rgba(0,0,0,.55);border:1px solid rgba(233,196,106,.28);font-size:calc(12px * var(--text-scale,1));min-width:0}
.lab-premio img{width:calc(22px * var(--text-scale,1));height:calc(22px * var(--text-scale,1));object-fit:contain;flex:0 0 auto}
.lab-premio b{color:var(--lab-ouro2)}
.lab-premio small{font-size:inherit;color:var(--lab-fg);overflow-wrap:anywhere}
.lab-premios-sala{display:flex;flex-direction:column;gap:5px}

.lab-rel{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.lab-rel em{font-style:normal;color:var(--lab-mut);font-size:calc(12px * var(--text-scale,1))}
.lab-rel-i{position:relative;display:inline-flex}
.lab-rel-i img{width:calc(34px * var(--text-scale,1));height:calc(34px * var(--text-scale,1));border-radius:8px;border:1px solid var(--lab-roxo);box-shadow:0 0 10px rgba(155,123,255,.5);background:#120d1e;object-fit:cover}
.lab-rel-i.rara img{border-color:var(--lab-ouro);box-shadow:0 0 10px rgba(233,196,106,.6)}
.lab-rel-i b{position:absolute;right:-4px;bottom:-4px;padding:0 4px;border-radius:6px;background:#1a1326;border:1px solid var(--lab-ouro);color:var(--lab-ouro2);font-size:calc(10px * var(--text-scale,1))}

/* ---------- tela A: mapa + cartão da sala ---------- */
.lab-area{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,34%);gap:10px;min-height:0}
.lab-mapa{position:relative;border-radius:12px;background:rgba(10,7,18,.72);border:1px solid rgba(155,123,255,.35);overflow:hidden;min-height:260px}
.lab-mapa svg{position:absolute;inset:0;width:100%;height:100%}
.lab-pulso{animation:labPulso 1.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes labPulso{50%{opacity:.35;transform:scale(1.08)}}
@media (prefers-reduced-motion:reduce){.lab-pulso{animation:none}}
.lab-cartao{border-radius:12px;background:rgba(14,10,24,.88);border:1px solid rgba(233,196,106,.45);padding:12px;display:flex;flex-direction:column;gap:9px;min-width:0}
.lab-retr{position:relative;height:min(36vh,240px);border-radius:10px;overflow:hidden;border:1px solid rgba(255,120,120,.4);
  background:radial-gradient(circle at 50% 70%,rgba(255,110,110,.22),transparent 65%),#0a0712}
.lab-lutador{position:absolute;left:0;right:0;bottom:6px;margin:auto;height:74%;aspect-ratio:1/1;width:auto;max-width:100%}  /* 27/10: quadrado como na Ilha e na ficha; sobra em cima para asa */
.lab-lutador .pvp-fighter-frame{filter:none}
.lab-sub{font-size:calc(11px * var(--text-scale,1));letter-spacing:.12em;color:var(--lab-verm);font-weight:900;text-transform:uppercase}
.lab-placa{display:flex;align-items:center;gap:8px;min-width:0;margin-top:3px}
.lab-placa img{width:calc(28px * var(--text-scale,1));height:calc(28px * var(--text-scale,1));flex:0 0 auto}
.lab-placa div{display:flex;flex-direction:column;min-width:0}
.lab-vida-adv{font-size:calc(11px * var(--text-scale,1));color:#ff8a8a;font-weight:800;margin-top:2px}
.lab-placa strong{font-family:var(--font-display,Georgia,serif);color:var(--lab-ouro2);font-size:calc(17px * var(--text-scale,1));line-height:1.15;overflow-wrap:anywhere}
.lab-placa span{font-size:calc(12px * var(--text-scale,1));color:var(--lab-fg);overflow-wrap:anywhere}
.lab-placa em{font-style:normal;font-size:calc(11px * var(--text-scale,1));color:var(--lab-mut)}
.lab-cartao .lab-btn{margin-top:auto}

/* ---------- entrada da semana ---------- */
.lab-entrada{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:12px;background:rgba(12,9,20,.86);border:1px solid rgba(233,196,106,.4)}
.lab-entrada h3{margin:0;font-family:var(--font-display,Georgia,serif);color:var(--lab-ouro2);font-size:calc(20px * var(--text-scale,1));text-shadow:0 0 14px rgba(155,123,255,.6)}
.lab-entrada p{margin:0;font-size:calc(13px * var(--text-scale,1));line-height:1.5}
.lab-nota{color:var(--lab-mut)}
.lab-falta{color:var(--lab-verm)!important;font-weight:700}

/* ---------- escolha da relíquia ---------- */
.lab-escolha{display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px 0}
.lab-escolha h3{margin:0;font-family:var(--font-display,Georgia,serif);color:var(--lab-ouro2);font-size:calc(21px * var(--text-scale,1));text-align:center;text-shadow:0 0 14px rgba(155,123,255,.7)}
.lab-escolha p{margin:0;color:var(--lab-mut);font-size:calc(13px * var(--text-scale,1));text-align:center}
.lab-escolha>.lab-btn{max-width:420px}
.lab-cartas{display:grid;grid-template-columns:repeat(3,minmax(0,220px));gap:14px;width:100%;justify-content:center}
.lab-carta{all:unset;box-sizing:border-box;cursor:var(--cur-mao,pointer);border-radius:14px;padding:14px 12px;background:linear-gradient(180deg,rgba(40,26,70,.95),rgba(14,10,24,.95));border:1px solid var(--lab-roxo);
  box-shadow:0 0 22px rgba(155,123,255,.35);display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:var(--lab-fg);min-width:0}
.lab-carta img{width:calc(64px * var(--text-scale,1));height:calc(64px * var(--text-scale,1));border-radius:12px;box-shadow:0 0 16px rgba(155,123,255,.7);flex:0 0 auto}
.lab-carta-t{display:flex;flex-direction:column;gap:4px;min-width:0}
.lab-carta-t small{font-size:calc(10px * var(--text-scale,1));letter-spacing:.14em;font-weight:800;color:#7fe6ff}
.lab-carta.rara .lab-carta-t small{color:var(--lab-ouro)}
.lab-carta-t b{font-family:var(--font-display,Georgia,serif);color:var(--lab-ouro2);font-size:calc(15px * var(--text-scale,1))}
.lab-carta-t span{font-size:calc(12.5px * var(--text-scale,1));overflow-wrap:anywhere}
.lab-carta.sel{border-color:var(--lab-ouro);box-shadow:0 0 0 2px var(--lab-ouro),0 0 30px rgba(233,196,106,.5)}
.lab-carta:focus-visible{outline:2px solid #fff3c4;outline-offset:2px}

/* ---------- resultado e fim ---------- */
.lab-resultado,.lab-fim{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 12px;border-radius:12px;text-align:center;background:rgba(12,9,20,.88);border:1px solid #4a3d66}
.lab-resultado strong,.lab-fim strong{font-family:var(--font-display,Georgia,serif);font-size:calc(17px * var(--text-scale,1));color:var(--lab-ouro2)}
.lab-resultado span,.lab-fim span{font-size:calc(12.5px * var(--text-scale,1))}
.lab-resultado.vitoria,.lab-fim.venceu{border-color:var(--lab-ouro);box-shadow:0 0 18px rgba(233,196,106,.3)}
.lab-resultado.derrota strong{color:var(--lab-verm)}
/* 29/10 (autor: "preciso rolar pra baixo pra aceitar o card"): sala vencida numa faixa só e relíquias deitadas, para ESCOLHER caber na tela do PC */
.lab-resultado.vitoria{flex-direction:row;flex-wrap:wrap;justify-content:center;column-gap:12px;row-gap:4px;padding:6px 12px}
.lab-resultado.vitoria .lab-premios{margin:0}
.lab-escolha{gap:8px;padding:2px 0}
.lab-escolha h3{font-size:calc(19px * var(--text-scale,1))}
.lab-cartas{grid-template-columns:repeat(3,minmax(0,300px));gap:10px}
.lab-carta{flex-direction:row;align-items:center;text-align:left;gap:10px;padding:10px 12px}
.lab-carta img{width:calc(52px * var(--text-scale,1));height:calc(52px * var(--text-scale,1))}
.lab-escolha .lab-acoes{width:100%;max-width:620px;justify-content:center}
.lab-fim{justify-content:center}

/* ---------- a luta: só a arena aparece enquanto anima ---------- */
.lab-lutando .lab-corpo>:not([data-lab-luta]){display:none!important}
.lab-luta-faixa{margin-bottom:6px;text-align:center;font-weight:900;letter-spacing:.08em;color:var(--lab-ouro2);font-size:calc(12px * var(--text-scale,1))}
.lab-luta-pe{display:flex;justify-content:center;margin-top:8px}
:is(#labirintoBattleVisualizer,#labGrupoBattleVisualizer){container-type:inline-size}
:is(#labirintoBattleVisualizer,#labGrupoBattleVisualizer) .pvp-visualizer-stage>div:first-of-type{margin:-15px -20px 8px!important;padding:12px 20px 10px!important;background:linear-gradient(rgba(5,6,10,.82),rgba(5,6,10,.45) 70%,transparent)}
:is(#labirintoBattleVisualizer,#labGrupoBattleVisualizer) h4>*{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:is(#labirintoBattleVisualizer,#labGrupoBattleVisualizer) h4>small{flex:0 0 auto}
:is(#labirintoBattleVisualizer,#labGrupoBattleVisualizer) .pvp-visualizer-stage>div:first-of-type>div{min-width:0}
@container (max-width:560px){
  :is(#labirintoBattleVisualizer,#labGrupoBattleVisualizer) .pvp-visualizer-stage{height:270px!important;padding:12px 10px!important}
  :is(#labirintoBattleVisualizer,#labGrupoBattleVisualizer) .pvp-visualizer-stage>div:first-of-type{margin:-12px -10px 4px!important;padding:10px 12px 8px!important}
  :is(#labirintoBattleVisualizer,#labGrupoBattleVisualizer) .pvp-visualizer-stage>div:first-of-type>div[style*="font-size: 1.5em"]{margin:0 8px!important;font-size:1.15em!important}
  :is(#labirintoBattleVisualizer,#labGrupoBattleVisualizer) h4{font-size:.9rem!important}
  :is(#labirintoBattleVisualizer,#labGrupoBattleVisualizer) div:has(>#pvpVisualizerPlayerAnchor){padding-bottom:36px!important;justify-content:space-between!important;min-height:0!important}
  :is(#labirintoBattleVisualizer,#labGrupoBattleVisualizer) #pvpVisualizerPlayerAnchor,:is(#labirintoBattleVisualizer,#labGrupoBattleVisualizer) #pvpVisualizerEnemyAnchor{flex:0 1 150px;min-width:0;transform-origin:50% 100%}
  :is(#labirintoBattleVisualizer,#labGrupoBattleVisualizer) #pvpVisualizerPlayerAnchor{scale:.92}
  :is(#labirintoBattleVisualizer,#labGrupoBattleVisualizer) #pvpVisualizerEnemyAnchor{scale:.9;margin-right:10px}
  :is(#labirintoBattleVisualizer,#labGrupoBattleVisualizer) [id^="pvpVisualizerBtn"]{padding:3px 8px!important;font-size:.72rem!important}
}
@container (max-width:360px){
  :is(#labirintoBattleVisualizer,#labGrupoBattleVisualizer) .pvp-visualizer-stage{height:255px!important}
  :is(#labirintoBattleVisualizer,#labGrupoBattleVisualizer) h4>small{display:none}
  :is(#labirintoBattleVisualizer,#labGrupoBattleVisualizer) #pvpVisualizerPlayerAnchor{scale:.8;margin-left:-14px}
  :is(#labirintoBattleVisualizer,#labGrupoBattleVisualizer) #pvpVisualizerEnemyAnchor{scale:.7;margin-right:-8px}
}
@media (min-width:700px){
  :is(#labirintoBattleVisualizer,#labGrupoBattleVisualizer) .pvp-visualizer-stage{height:clamp(320px,calc(100vh - 260px),620px)!important}
  :is(#labirintoBattleVisualizer,#labGrupoBattleVisualizer) .pvp-chao{padding-bottom:clamp(25px,11vh,130px)!important}
}

/* ---------- telas ---------- */
@media (min-width:761px){
  .lab-area{min-height:min(62vh,560px)}
}
@media (max-width:760px){
  .lab-fundo{padding:0!important;align-items:stretch}
  .lab-janela.modal-card{max-height:100vh;height:100%;border-radius:0;border-left:0;border-right:0}
  @supports (height:100dvh){.lab-janela.modal-card{max-height:100dvh;height:100dvh}}
  .lab-area{grid-template-columns:1fr;flex:0 0 auto}  /* 31/10: não encolhe para caber na tela (o mapa e o cartão se sobrepunham); o corpo rola */
  .lab-mapa{min-height:0;aspect-ratio:1000/620}
  .lab-cartao{display:grid;grid-template-columns:132px minmax(0,1fr);grid-template-areas:"r t" "r p" "rel rel" "b b";column-gap:10px;row-gap:8px}
  .lab-retr{grid-area:r;height:150px}
  .lab-lutador{left:50%;right:auto;width:180px;height:180px;max-width:none;bottom:4px;translate:-50% 0;transform-origin:50% 100%;scale:.62}  /* a asa é calibrada no tamanho grande: encolhe o quadro inteiro */
  .lab-tt{grid-area:t;min-width:0}
  .lab-premios-sala{grid-area:p;min-width:0}
  .lab-cartao .lab-rel{grid-area:rel}
  .lab-cartao .lab-btn{grid-area:b}
  .lab-cartas{grid-template-columns:1fr;max-width:440px}
  .lab-carta{flex-direction:row;text-align:left;padding:10px}
  .lab-carta img{width:calc(48px * var(--text-scale,1));height:calc(48px * var(--text-scale,1))}
}
@media (max-width:400px){
  .lab-cab h2{font-size:calc(19px * var(--text-scale,1))}
  .lab-cab-icone{width:40px;height:40px}
  .lab-cartao{grid-template-columns:112px minmax(0,1fr)}
  .lab-retr{height:140px}
  .lab-lutador{scale:.54}
  .lab-corpo{padding:8px}
}
@media (orientation:landscape) and (max-height:500px){
  .lab-fundo{padding:0!important;align-items:stretch}
  .lab-janela.modal-card{max-height:100vh;height:100%;border-radius:0}
  .lab-area{grid-template-columns:minmax(0,1fr) minmax(250px,40%);flex:0 0 auto}
  .lab-mapa{aspect-ratio:auto;min-height:220px}
  .lab-cartao{display:flex}
  .lab-retr{height:120px}
  .lab-lutador{left:50%;right:auto;width:180px;height:180px;max-width:none;translate:-50% 0;transform-origin:50% 100%;scale:.58}
}

/* ---------- Marcas, Chave e a Loja do Labirinto (27/10) ---------- */
.lab-pilula-loja{cursor:var(--cur-mao,pointer);color:var(--lab-fg);font:inherit;font-size:calc(12px * var(--text-scale,1));border-color:var(--lab-ouro)}
.lab-pilula-loja:hover{box-shadow:0 0 12px rgba(233,196,106,.45)}
.lab-loja-rot{margin-left:2px;padding:1px 6px;border-radius:6px;background:linear-gradient(180deg,var(--lab-ouro2),var(--lab-ouro));color:#1a1206;font-weight:900;font-size:calc(10px * var(--text-scale,1));letter-spacing:.08em}
.lab-pilula-chave{border-color:var(--lab-ouro);box-shadow:0 0 10px rgba(233,196,106,.35)}
.lab-acoes{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.lab-acoes .lab-btn{flex:1 1 160px;width:auto}
.lab-btn-jod{background:linear-gradient(180deg,#b48cff,#6f47d6);color:#fff;box-shadow:0 0 0 1px #c9b3ff,0 0 14px rgba(155,123,255,.45)}
.lab-fim .lab-btn,.lab-cartao .lab-btn-jod{margin-top:6px}
.lab-loja-topo{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}
.lab-loja-titulo{flex:1 1 auto;font-family:var(--font-display,Georgia,serif);font-size:calc(18px * var(--text-scale,1));color:var(--lab-ouro2);text-shadow:0 2px 4px #000}
.lab-voltar{min-height:34px}
.lab-chave{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;margin-bottom:10px;border-radius:12px;
  background:linear-gradient(90deg,rgba(60,40,8,.85),rgba(20,14,30,.85));border:1px solid var(--lab-ouro)}
.lab-chave img{width:calc(48px * var(--text-scale,1));height:calc(48px * var(--text-scale,1));object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 0 8px rgba(233,196,106,.6))}
.lab-chave div{display:flex;flex-direction:column;gap:2px;flex:1 1 180px;min-width:0}
.lab-chave b{color:var(--lab-ouro2)}
.lab-chave span{font-size:calc(12px * var(--text-scale,1));color:var(--lab-fg)}
.lab-chave .lab-btn{flex:0 1 auto;width:auto}
.lab-chave.ativa{box-shadow:0 0 18px rgba(233,196,106,.35)}
.lab-loja-aviso{padding:8px 12px;margin-bottom:10px;border-radius:10px;background:rgba(40,80,40,.7);border:1px solid #7fd27f;font-size:calc(13px * var(--text-scale,1))}
.lab-loja-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.lab-loja-item{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px;border-radius:12px;text-align:center;min-width:0;
  background:rgba(12,9,20,.85);border:1px solid rgba(233,196,106,.25)}
.lab-loja-item.destaque{border-color:var(--lab-ouro);box-shadow:0 0 14px rgba(233,196,106,.2)}
.lab-loja-item.fora{opacity:.6}
.lab-loja-arte{width:100%;height:calc(78px * var(--text-scale,1));display:flex;align-items:center;justify-content:center}
.lab-loja-arte img{max-width:100%;max-height:100%;object-fit:contain}
.lab-loja-arte-moldura img{border-radius:50%;background:radial-gradient(#3a2a55,#120d1e)}
.lab-loja-nome{color:var(--lab-ouro2);font-size:calc(13px * var(--text-scale,1));overflow-wrap:anywhere}
.lab-loja-txt{font-size:calc(11px * var(--text-scale,1));color:var(--lab-fg);flex:1 1 auto;overflow-wrap:anywhere}
.lab-loja-preco{display:inline-flex;align-items:center;gap:4px;font-weight:900;color:var(--lab-ouro2);font-size:calc(14px * var(--text-scale,1))}
.lab-loja-preco img{width:calc(20px * var(--text-scale,1));height:calc(20px * var(--text-scale,1));object-fit:contain}
.lab-loja-quanto{font-size:calc(10px * var(--text-scale,1));color:var(--lab-mut)}
.lab-loja-item .lab-btn{min-height:36px;font-size:calc(13px * var(--text-scale,1));padding:6px 10px}
.lab-loja-sent{padding:10px;margin-bottom:10px;border-radius:12px;background:rgba(12,9,20,.92);border:1px solid var(--lab-roxo)}
.lab-loja-sent strong{display:block;margin-bottom:8px;color:var(--lab-ouro2)}
.lab-sent-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;margin-bottom:10px}
.lab-sent{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;border-radius:10px;cursor:var(--cur-mao,pointer);background:#1a1326;border:1px solid #4a3d66;color:var(--lab-fg);font:inherit;font-size:calc(11px * var(--text-scale,1))}
.lab-sent img{width:64px;height:64px;object-fit:cover;border-radius:8px}
.lab-sent.sel{border-color:var(--lab-ouro);box-shadow:0 0 12px rgba(233,196,106,.55)}
@media (max-width:400px){.lab-loja-grade{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-loja-item{padding:8px}}
/* 27/10: o ícone da Jewel of Dark nos botões e no preço do Repor */
.lab-jod{width:calc(20px * var(--text-scale,1));height:calc(20px * var(--text-scale,1));object-fit:contain;flex:0 0 auto;vertical-align:middle;filter:drop-shadow(0 0 4px rgba(0,0,0,.6))}
.lab-loja-preco .lab-jod{width:calc(18px * var(--text-scale,1));height:calc(18px * var(--text-scale,1))}

/* ===== 29/10: Loja do Grupo "Altar do Labirinto" (opção B do autor): Tesouro do Mês grande + lista colorida ===== */
.lab-loja-grade.lab-loja-altar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:12px;align-items:start}
.lab-loja-altar.sem-tesouro{grid-template-columns:minmax(0,1fr)}
.lab-loja-altar .lab-loja-item.destaque{position:relative;overflow:hidden;gap:8px;padding:16px;border-radius:16px;border:2px solid var(--lab-ouro);
  background:radial-gradient(circle at 50% 32%,rgba(255,211,107,.32),transparent 55%),linear-gradient(180deg,rgba(40,24,70,.95),rgba(8,6,14,.96));box-shadow:0 0 28px rgba(233,196,106,.35)}
.lab-loja-altar .destaque::before{content:"";position:absolute;left:50%;top:-10px;width:260px;height:260px;margin-left:-130px;border-radius:50%;border:2px dashed rgba(233,196,106,.25);animation:lab-loja-runas 30s linear infinite;pointer-events:none}
@keyframes lab-loja-runas{to{transform:rotate(360deg)}}
.lab-loja-tesouro{position:relative;color:var(--lab-ouro);font-weight:900;letter-spacing:.2em;font-size:calc(11px * var(--text-scale,1))}
.lab-loja-altar .destaque .lab-loja-arte{position:relative;height:calc(170px * var(--text-scale,1))}
.lab-loja-altar .destaque .lab-loja-arte img{filter:drop-shadow(0 0 18px rgba(255,211,107,.6))}
.lab-loja-altar .destaque .lab-loja-nome{position:relative;font-family:var(--font-display,Georgia,serif);font-size:calc(22px * var(--text-scale,1));text-shadow:0 2px 6px #000}
.lab-loja-altar .destaque .lab-loja-txt{position:relative;flex:0 0 auto}
.lab-loja-altar .destaque .lab-loja-preco{font-size:calc(20px * var(--text-scale,1))}
.lab-loja-altar .destaque .lab-btn{position:relative;width:100%;max-width:240px;min-height:44px}
.lab-loja-lista{display:flex;flex-direction:column;gap:8px;min-width:0}
.lab-loja-item.lab-loja-linha{display:grid;grid-template-columns:calc(64px * var(--text-scale,1)) minmax(0,1fr) auto;gap:12px;align-items:center;padding:8px 12px;text-align:left;
  background:linear-gradient(90deg,color-mix(in srgb,var(--lg-cor) 22%,rgba(12,9,20,.92)),rgba(12,9,20,.92) 45%);border:1px solid rgba(233,196,106,.3);border-left:4px solid var(--lg-cor)}
.lab-loja-linha .lab-loja-arte{width:calc(64px * var(--text-scale,1));height:calc(64px * var(--text-scale,1));border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--lg-cor) 45%,transparent),#0d0918 70%);border:1px solid rgba(233,196,106,.45)}
.lab-loja-linha .lab-loja-arte img{width:78%;height:78%;filter:drop-shadow(0 0 6px var(--lg-cor))}
.lab-loja-info{display:flex;flex-direction:column;gap:2px;min-width:0}
.lab-loja-linha .lab-loja-nome{font-size:calc(15px * var(--text-scale,1))}
.lab-loja-linha .lab-loja-txt{font-size:calc(12px * var(--text-scale,1));color:var(--lab-mut)}
.lab-loja-compra{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.lab-loja-linha .lab-btn{width:auto;min-height:34px;padding:6px 16px}
@media (max-width:700px){.lab-loja-grade.lab-loja-altar{grid-template-columns:minmax(0,1fr)}.lab-loja-altar .destaque .lab-loja-arte{height:calc(120px * var(--text-scale,1))}}
@media (max-width:400px){.lab-loja-grade.lab-loja-altar{grid-template-columns:minmax(0,1fr)}.lab-loja-item.lab-loja-linha{grid-template-columns:calc(48px * var(--text-scale,1)) minmax(0,1fr) auto;gap:8px;padding:8px}
  .lab-loja-linha .lab-loja-arte{width:calc(48px * var(--text-scale,1));height:calc(48px * var(--text-scale,1))}}
@media (prefers-reduced-motion:reduce){.lab-loja-altar .destaque::before{animation:none}}
/* 29/10: a Chave do Grupo vira uma faixa fina (o autor achou a barra dourada e o botão de JoD grandes demais) */
.lab-chave.lab-chave-fina{gap:8px;padding:6px 10px;border-radius:10px;border-color:rgba(233,196,106,.45);background:linear-gradient(90deg,rgba(40,28,8,.7),rgba(16,12,24,.8))}
.lab-chave-fina img{width:calc(26px * var(--text-scale,1));height:calc(26px * var(--text-scale,1));filter:drop-shadow(0 0 4px rgba(233,196,106,.5))}
.lab-chave-fina div{flex-direction:row;flex-wrap:wrap;align-items:baseline;column-gap:8px;row-gap:0}
.lab-chave-fina b{font-size:calc(13px * var(--text-scale,1))}
.lab-chave-fina span{font-size:calc(11.5px * var(--text-scale,1));color:var(--lab-mut)}
.lab-chave-fina .lab-btn{min-height:30px;padding:4px 12px;border-radius:8px;font-size:calc(12px * var(--text-scale,1));gap:4px;box-shadow:0 0 0 1px #c9b3ff}
.lab-chave-fina .lab-jod{width:calc(16px * var(--text-scale,1));height:calc(16px * var(--text-scale,1))}

/* ===== 28/10 (SQL 2028): Labirinto em Grupo, entrega 1 — as abas e a sala da party ===== */
.lab-abas{display:flex;gap:6px;flex:0 0 auto}
.lab-aba,.lg-gaveta-aba{flex:1 1 0;min-width:0;min-height:38px;padding:6px 10px;border-radius:10px;cursor:var(--cur-mao,pointer);font:inherit;font-weight:900;letter-spacing:.06em;
  font-size:calc(13px * var(--text-scale,1));color:var(--lab-mut);background:rgba(12,9,20,.8);border:1px solid #4a3d66;overflow-wrap:anywhere}
.lab-aba.ativa,.lg-gaveta-aba.ativa{color:var(--botao-ouro-texto);background:var(--botao-ouro-fundo);border-color:var(--botao-ouro-borda)}
.lg-host{display:flex;flex-direction:column;gap:10px;min-width:0}
.lg-nota{margin:0;font-size:calc(12px * var(--text-scale,1));color:var(--lab-mut);overflow-wrap:anywhere}
.lg-mini.lab-btn{width:auto;min-height:34px;padding:5px 12px;font-size:calc(12px * var(--text-scale,1));flex:0 0 auto}
.lg-fora{display:flex;flex-direction:column;gap:10px;max-width:760px;width:100%;margin:0 auto}
.lg-intro{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:12px;background:rgba(12,9,20,.86);border:1px solid rgba(233,196,106,.4)}
.lg-intro h3{margin:0;font-family:var(--font-display,Georgia,serif);color:var(--lab-ouro2);font-size:calc(20px * var(--text-scale,1));text-shadow:0 0 14px rgba(155,123,255,.6)}
.lg-intro p{margin:0;font-size:calc(13px * var(--text-scale,1));line-height:1.5}
.lg-bloco{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:12px;background:rgba(12,9,20,.86);border:1px solid #4a3d66;min-width:0}
.lg-bloco-cab{display:flex;align-items:center;justify-content:space-between;gap:8px}
.lg-linha{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:10px;background:#1a1326;min-width:0;flex-wrap:wrap}
.lg-linha-t{display:flex;flex-direction:column;flex:1 1 140px;min-width:0}
.lg-linha-t b{color:var(--lab-ouro2);font-size:calc(14px * var(--text-scale,1));overflow-wrap:anywhere}
.lg-linha-t span{font-size:calc(11px * var(--text-scale,1));color:var(--lab-fg);overflow-wrap:anywhere}
.lg-classe-ico{width:calc(32px * var(--text-scale,1));height:calc(32px * var(--text-scale,1));object-fit:contain;flex:0 0 auto}
.lg-classes{display:inline-flex;align-items:center;gap:3px}
.lg-classes img{width:22px;height:22px;object-fit:contain}
.lg-classes i,.lg-tag{font-style:normal;font-size:calc(11px * var(--text-scale,1));color:var(--lab-mut);white-space:nowrap}
.lg-party{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,320px);gap:10px;align-items:start;min-width:0}
.lg-principal{display:flex;flex-direction:column;gap:10px;min-width:0}
.lg-vagas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.lg-vaga{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 6px 10px;border-radius:12px;text-align:center;min-width:0;
  background:rgba(12,9,20,.88);border:1px solid #4a3d66}
.lg-vaga.eu{border-color:var(--lab-roxo)}
.lg-vaga.pronto{border-color:#7fd27f;box-shadow:0 0 16px rgba(127,210,127,.3)}
.lg-vaga.longe{opacity:.65}
.lg-vaga.livre{border-style:dashed;justify-content:center}
.lg-retrato{display:flex;align-items:center;justify-content:center;width:68px;height:68px}
.lg-retrato .lg-classe-ico{width:56px;height:56px}
.lg-vazio{border-radius:50%;border:2px dashed #5d4e78;color:#8f80ad;font-size:28px;width:56px;height:56px}
.lg-esperando{opacity:.5}
.lg-esperando img{width:48px;height:48px;object-fit:contain}
.lg-nome{color:var(--lab-ouro2);font-family:var(--font-display,Georgia,serif);font-size:calc(15px * var(--text-scale,1));overflow-wrap:anywhere;max-width:100%}
.lg-info{display:inline-flex;align-items:center;gap:4px;font-size:calc(11px * var(--text-scale,1));color:var(--lab-fg);overflow-wrap:anywhere;max-width:100%}
.lg-info img{width:16px;height:16px;object-fit:contain}
.lg-estado{font-size:calc(11px * var(--text-scale,1));font-weight:900;letter-spacing:.06em;color:var(--lab-mut)}
.lg-vaga.pronto .lg-estado{color:#9be89b}
.lg-coroa{position:absolute;top:4px;left:6px;font-size:18px;line-height:1}
.lg-x{position:absolute;top:4px;right:4px;width:28px;height:28px;border-radius:50%;border:1px solid #4a3d66;background:#1a1326;color:var(--lab-fg);cursor:var(--cur-mao,pointer);font:inherit;line-height:1}
/* relative (e não static): o x desenhado do fechar-x.js fica preso a este botão; com static ele ia parar no meio da tela */
.lg-bloco .lg-x,.lg-bloco-cab .lg-x{position:relative;top:auto;right:auto;flex:0 0 auto}
.lg-vaga.livre .lab-btn{margin-top:4px}
.lg-acoes{display:flex;flex-direction:column;gap:8px}
.lg-acoes-sub{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.lg-chave{display:inline-flex;align-items:center;gap:6px;font-size:calc(12px * var(--text-scale,1));cursor:var(--cur-mao,pointer)}
.lg-chave input{width:18px;height:18px;accent-color:var(--lab-ouro)}
.lg-por-nome,.lg-escrever{display:flex;gap:6px;min-width:0}
.lg-por-nome input,.lg-escrever input{flex:1 1 auto;min-width:0;min-height:34px;padding:6px 10px;border-radius:8px;border:1px solid #4a3d66;background:#120d1e;color:var(--lab-fg);font:inherit;font-size:calc(13px * var(--text-scale,1))}
.lg-amigos{display:flex;flex-direction:column;gap:6px;max-height:260px;overflow:auto}
.lg-chat{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:12px;background:rgba(12,9,20,.9);border:1px solid #4a3d66;min-width:0}
.lg-msgs{display:flex;flex-direction:column;gap:4px;height:260px;overflow:auto;padding-right:4px}
.lg-msg{margin:0;font-size:calc(13px * var(--text-scale,1));line-height:1.35;overflow-wrap:anywhere}
.lg-msg img{width:16px;height:16px;object-fit:contain;vertical-align:-3px;margin-right:3px}
.lg-msg b{color:var(--lab-ouro2)}
.lg-msg.sis{color:var(--lab-mut);font-style:italic;font-size:calc(12px * var(--text-scale,1))}
.lg-frases{display:flex;flex-wrap:wrap;gap:5px}
.lg-frase{padding:4px 9px;border-radius:99px;border:1px solid #4a3d66;background:#1a1326;color:var(--lab-fg);cursor:var(--cur-mao,pointer);font:inherit;font-size:calc(11px * var(--text-scale,1))}
@media (max-width:760px){
  .lg-party{grid-template-columns:minmax(0,1fr)}
  .lg-msgs{height:180px}
}
@media (max-width:400px){
  .lg-vagas{gap:5px}
  .lg-vaga{padding:10px 3px 8px}
  .lg-retrato{width:52px;height:52px}
  .lg-retrato .lg-classe-ico,.lg-vazio{width:44px;height:44px}
}
.lg-teste{margin:0;padding:8px 12px;border-radius:10px;background:rgba(80,60,10,.75);border:1px solid var(--lab-ouro);color:var(--lab-ouro2);font-size:calc(12px * var(--text-scale,1));line-height:1.4;overflow-wrap:anywhere}
/* 29/10 (autor: "tá gigante, nada prático, tem que caber sem rolar"): a sala fica enxuta no PC e no celular.
   Cartão do herói deitado (retrato à esquerda), PRONTO e SUBIR lado a lado, convites em 2 colunas, chat mais baixo. */
.lg-host{gap:8px}
.lg-vaga{display:grid;grid-template-columns:auto minmax(0,1fr);grid-auto-rows:min-content;align-content:center;column-gap:10px;row-gap:1px;padding:8px 34px 8px 10px;text-align:left;justify-items:start;min-height:84px}
.lg-vaga>.lg-retrato{grid-row:1 / span 4;align-self:center}
.lg-vaga>.lg-nome,.lg-vaga>.lg-info,.lg-vaga>.lg-estado,.lg-vaga>.lab-btn{grid-column:2}
.lg-vaga.livre{justify-content:start}
.lg-vaga.livre .lab-btn{margin-top:2px}
.lg-retrato{width:60px;height:60px}
.lg-retrato .lg-classe-ico,.lg-vazio{width:48px;height:48px}
.lg-esperando img{width:42px;height:42px}
/* com moldura o retrato encolhe para a moldura (168%) caber no mesmo quadrado e não cobrir o nome */
.lg-retrato .cj-avatar{--cj-tam:56px!important}
.lg-retrato .cj-avatar.cj-com-moldura{--cj-tam:36px!important}
.lg-nome{font-size:calc(14px * var(--text-scale,1));line-height:1.2}
.lg-coroa{top:auto;bottom:4px;left:4px;font-size:14px}
.lg-x{width:24px;height:24px;font-size:12px}
.lg-acoes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.lg-acoes>.lab-btn{min-height:42px;padding:8px 14px}
.lg-acoes>:not(.lab-btn){grid-column:1 / -1}
.lg-acoes:not(:has(>.lg-subir))>.lab-btn{grid-column:1 / -1}
/* a Loja do Grupo também cabe sem rolar no PC */
.lab-loja-altar .lab-loja-item.destaque{padding:12px;gap:6px}
.lab-loja-altar .destaque .lab-loja-arte{height:calc(130px * var(--text-scale,1))}
.lab-loja-altar .destaque .lab-loja-nome{font-size:calc(19px * var(--text-scale,1))}
.lab-loja-item.lab-loja-linha{padding:6px 10px}
.lab-loja-lista{gap:6px}
.lab-loja-topo{margin-bottom:6px}.lab-chave.lab-chave-fina{margin-bottom:8px}
.lg-amigos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:190px}
.lg-linha{padding:4px 8px;flex-wrap:nowrap}
.lg-linha .lg-classe-ico{width:calc(26px * var(--text-scale,1));height:calc(26px * var(--text-scale,1))}
.lg-linha-t{flex:1 1 auto}
.lg-linha .lg-mini.lab-btn{min-height:30px;padding:4px 10px}
.lg-msgs{height:210px}
@media (max-width:760px){.lg-msgs{height:150px}}
@media (max-width:560px){.lg-vagas{grid-template-columns:minmax(0,1fr)}.lg-vaga{min-height:0;padding:6px 34px 6px 8px}.lg-amigos{grid-template-columns:minmax(0,1fr)}}
@media (max-width:400px){.lg-retrato{width:48px;height:48px}.lg-retrato .lg-classe-ico,.lg-vazio{width:40px;height:40px}.lg-retrato .cj-avatar{--cj-tam:46px!important}.lg-retrato .cj-avatar.cj-com-moldura{--cj-tam:30px!important}}
/* ---------- Labirinto em Grupo, a subida (2039): tela B "Arena de Frente" ---------- */
.lg-subida{display:flex;flex-direction:column;gap:10px;min-width:0}
.lg-subida-meio{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,320px);gap:10px;align-items:start;min-width:0}
.lg-topo{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px;padding:10px 12px;border-radius:12px;background:rgba(12,9,20,.88);border:1px solid rgba(233,196,106,.45)}
.lg-andar{display:flex;flex-direction:column;min-width:0}
.lg-andar small{font-size:calc(10px * var(--text-scale,1));letter-spacing:.12em;font-weight:800;color:#7fe6ff}
.lg-andar b{font-family:var(--font-display,Georgia,serif);color:var(--lab-ouro2);font-size:calc(19px * var(--text-scale,1));text-shadow:0 0 12px rgba(155,123,255,.6)}
.lg-folegos,.lg-bonus-lista{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.lg-bonus-lista em{font-size:calc(12px * var(--text-scale,1));color:var(--lab-mut)}
.lg-folego{width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#c9f3ff,#3fb7e8 60%,#1b5f86);box-shadow:0 0 8px rgba(80,200,255,.7)}
.lg-folego.gasto{background:#2a2238;box-shadow:none;border:1px solid #4a3d66}
.lg-folegos b{color:var(--lab-ouro2);font-size:calc(13px * var(--text-scale,1))}
.lg-arena{display:flex;flex-direction:column;gap:8px}
.lg-duelo{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;padding:8px;border-radius:12px;background:linear-gradient(90deg,rgba(40,26,70,.9),rgba(14,10,24,.92) 50%,rgba(70,20,26,.9));border:1px solid #4a3d66;min-width:0}
.lg-duelo.meu{border-color:var(--lab-roxo);box-shadow:0 0 14px rgba(155,123,255,.35)}
.lg-duelo.vencido{opacity:.6}
.lg-lutador{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;min-width:0}
.lg-lutador .lg-retrato{width:60px;height:60px}
.lg-lutador.livre .lg-vazio{font-size:22px;display:flex;align-items:center;justify-content:center}
.lg-vs{display:flex;flex-direction:column;align-items:center;gap:6px}
.lg-vs>span{font-family:var(--font-display,Georgia,serif);font-weight:900;font-size:calc(20px * var(--text-scale,1));color:var(--lab-ouro);text-shadow:0 0 10px rgba(233,196,106,.7)}
.lg-vencido{font-size:calc(11px * var(--text-scale,1));font-weight:900;letter-spacing:.08em;color:#9be89b}
.lg-hp{position:relative;display:block;width:100%;max-width:130px;height:12px;border-radius:6px;background:#2a1220;border:1px solid #5a2a38;overflow:hidden}
.lg-hp i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#3fae5a,#8be38b)}
.lg-hp.baixa i{background:linear-gradient(90deg,#b8322f,#e8724a)}
.lg-hp em{position:relative;display:block;font-style:normal;font-size:9px;line-height:12px;font-weight:800;color:#fff;text-shadow:0 1px 2px #000}
.lg-gaveta{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:12px;background:rgba(12,9,20,.9);border:1px solid #4a3d66;min-width:0}
.lg-gaveta-abas{display:flex;gap:6px}
.lg-gaveta .lg-chat{padding:0;border:0;background:none}
.lg-painel{display:flex;flex-direction:column;gap:8px;min-width:0}
.lg-painel[hidden]{display:none}
.lg-cartas{grid-template-columns:minmax(0,1fr);gap:8px}
.lg-cartas .lab-carta{flex-direction:row;text-align:left;padding:8px 10px;gap:10px}
.lg-cartas .lab-carta img{width:calc(44px * var(--text-scale,1));height:calc(44px * var(--text-scale,1))}
.lg-votos{font-style:normal;font-size:calc(11px * var(--text-scale,1));color:#7fe6ff;font-weight:800}
.lg-placar{flex:0 0 auto;padding:3px 8px;border-radius:8px;font-size:calc(11px * var(--text-scale,1));font-weight:900;background:#3a1420;color:#ffb0a8}
.lg-placar.ok{background:#14361e;color:#9be89b}
.lg-res{margin:0;padding:8px 10px;border-radius:10px;background:#3a1420;color:#ffd0c8;font-weight:800;font-size:calc(13px * var(--text-scale,1))}
.lg-res.venceu{background:#14361e;color:#c8f5c8}
.lg-lutar.lab-btn{min-height:48px;font-size:calc(17px * var(--text-scale,1))}
.lg-fim{margin-bottom:10px}
.lg-msg.sis.andar{color:var(--lab-ouro2);font-style:normal;font-weight:800}
.lg-luta:not([hidden]){padding:8px;border-radius:12px;background:rgba(5,6,10,.92);border:1px solid var(--lab-ouro)}
.lg-subida.lg-lutando>:not(.lg-luta){display:none}
/* ---------- Labirinto em Grupo, Insígnias e Loja do Grupo (2044) ---------- */
.lg-topo-premios{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;min-width:0}
.lg-topo-premios .lg-teste{flex:1 1 240px}
.lg-espaco{flex:1 1 auto}
.lg-chave-on{border-color:var(--lab-ouro);box-shadow:0 0 10px rgba(233,196,106,.35)}
.lg-tutorial{display:flex;flex-direction:column;gap:8px;padding:12px;margin-bottom:10px;border-radius:12px;background:rgba(20,14,36,.94);border:1px solid var(--lab-roxo);box-shadow:0 0 16px rgba(155,123,255,.25)}
.lg-tutorial strong{color:var(--lab-ouro2);font-family:var(--font-display,Georgia,serif);font-size:calc(15px * var(--text-scale,1))}
.lg-tutorial ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.lg-tutorial li b{display:block;color:#7fe6ff;font-size:calc(13px * var(--text-scale,1))}
.lg-tutorial li span{display:block;font-size:calc(12px * var(--text-scale,1));line-height:1.4;overflow-wrap:anywhere}
.lg-tutorial .lab-btn{align-self:flex-end}
.lg-ganho{display:inline-flex;align-items:center;gap:4px;margin-left:8px;color:var(--lab-ouro2);white-space:nowrap}
.lg-ganho img{width:calc(18px * var(--text-scale,1));height:calc(18px * var(--text-scale,1));object-fit:contain}
.lg-folego-btn.lab-btn,.lg-painel .lab-btn-jod{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.lg-painel .lab-btn-jod{align-self:flex-start}
@media (max-width:760px){
  .lg-subida-meio{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:400px){
  .lg-duelo{gap:4px;padding:6px 4px}
  .lg-lutador .lg-retrato{width:46px;height:46px}
  .lg-lutador .lg-nome{font-size:calc(13px * var(--text-scale,1))}
  .lg-vs>span{font-size:calc(16px * var(--text-scale,1))}
}

/* ===== 31/10 (autor: "caber sem rolar na minha tela, inimigo cortado nos pés, botões gigantes"): conferido em 1560 x 690 ===== */
/* Labirinto normal: o cartão da sala fica mais baixo e o inimigo sobe para os pés e a base aparecerem */
@media (min-width:900px){
  .lab-lutador{bottom:9%;height:72%}
  .lab-cartao{padding:10px;gap:6px}
  .lab-retr{height:clamp(150px,27vh,200px)}
  .lab-cartao .lab-btn{min-height:40px;padding:8px 16px}
}
/* Em Grupo, a subida: duelos em linha baixa (retrato ao lado do nome) e botões do tamanho dos outros */
.lg-subida{gap:8px}
.lg-topo{padding:6px 12px}
.lg-andar b{font-size:calc(16px * var(--text-scale,1))}
.lg-arena{gap:6px}
.lg-duelo{padding:6px 10px;gap:10px}
.lg-lutador{display:grid;grid-template-columns:auto minmax(0,1fr);grid-auto-rows:min-content;column-gap:8px;row-gap:1px;align-items:center;justify-items:start;text-align:left}
.lg-lutador>.lg-retrato{grid-row:1 / span 3;width:46px;height:46px}
.lg-lutador .lg-retrato .cj-avatar{--cj-tam:42px!important}
.lg-lutador .lg-retrato .cj-avatar.cj-com-moldura{--cj-tam:28px!important}
.lg-lutador>:not(.lg-retrato){grid-column:2}
.lg-lutador.adv{grid-template-columns:minmax(0,1fr) auto;justify-items:end;text-align:right}
.lg-lutador.adv>.lg-retrato{grid-column:2}
.lg-lutador.adv>:not(.lg-retrato){grid-column:1}
.lg-lutador .lg-nome{font-size:calc(14px * var(--text-scale,1))}
.lg-lutador.livre .lg-vazio{width:40px;height:40px;font-size:18px}
.lg-vs{gap:3px}
.lg-vs>span{font-size:calc(15px * var(--text-scale,1))}
.lg-hp{height:10px;max-width:120px}
.lg-hp em{font-size:8px;line-height:10px}
.lg-lutar.lab-btn{min-height:40px;padding:8px 16px;font-size:calc(15px * var(--text-scale,1))}
.lg-subida .lg-acoes{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.lg-subida .lg-acoes>.lg-lutar{grid-column:1;grid-row:1}
.lg-subida .lg-acoes:not(:has(.lg-folego-btn))>.lg-lutar{grid-column:1 / -1}
.lg-subida .lg-acoes>.lg-folego-btn.lab-btn{grid-column:2;grid-row:1;min-height:40px;padding:6px 10px;font-size:calc(12px * var(--text-scale,1))}
.lg-subida .lg-acoes .lab-jod{width:calc(16px * var(--text-scale,1));height:calc(16px * var(--text-scale,1))}
@media (max-width:560px){
  .lg-subida .lg-acoes{grid-template-columns:minmax(0,1fr)}
  .lg-subida .lg-acoes>.lg-folego-btn.lab-btn{grid-column:1;grid-row:auto}
  .lg-duelo{padding:6px;gap:4px}
  .lg-lutador{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}
  .lg-lutador>.lg-retrato,.lg-lutador.adv>.lg-retrato{grid-row:auto;grid-column:1;width:40px;height:40px}
  .lg-lutador>:not(.lg-retrato),.lg-lutador.adv>:not(.lg-retrato){grid-column:1}
  .lg-lutador.adv{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}
}
/* ---------- Labirinto em Grupo, o Ajudante (2595): tela A "na vaga, escolhe 1 de 3" ---------- */
.lg-vaga.lg-aj-vaga{padding-top:16px;margin-top:4px;border-color:var(--lab-ouro);box-shadow:none}
.lg-aj-tag{position:absolute;top:-10px;left:12px;z-index:2;padding:2px 7px;border-radius:99px;background:#3a2c10;border:1px solid var(--lab-ouro);color:var(--lab-ouro2);font-size:calc(10px * var(--text-scale,1));font-weight:900;letter-spacing:.06em;line-height:1.3;white-space:nowrap}
.lg-vaga.lg-aj-vaga .lg-estado{color:var(--lab-ouro2)}
.lg-vaga-botoes{grid-column:2;display:flex;flex-wrap:wrap;gap:6px;margin-top:2px;min-width:0}
.lg-vaga-botoes .lab-btn{margin:0}
.lg-vagas:has(.lg-aj-vaga){padding-top:4px}
.lg-aj-escolha{gap:8px}
.lg-aj-cands{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.lg-aj-cand{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 6px;border-radius:12px;background:#1a1326;border:1px solid #6b5527;text-align:center;min-width:0}
.lg-aj-cand .lab-btn{margin-top:4px}
.lg-aj-rodape{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.lg-aj-rodape .lg-nota{margin:0;flex:1 1 200px}
.lg-lutador>.lg-aj-tag{position:static;grid-column:2;justify-self:start}
.lg-lutador.lg-aj-lutador>.lg-retrato{grid-row:1 / span 4}
.lg-ajudou{white-space:normal}
@media (max-width:400px){.lg-aj-cands{gap:5px}.lg-aj-cand{padding:8px 3px}}
@media (max-width:560px){.lg-lutador>.lg-aj-tag{grid-column:1;justify-self:center}.lg-lutador.lg-aj-lutador>.lg-retrato{grid-row:auto}}
