:root {
  --bg:#0e0e10; --card:#1a1a1f; --borda:#2c2c34; --texto:#f2f2f2; --suave:#a0a0ab;
  --ouro:#f5b700; --erro:#ff6b6b; --ok:#4cd07d; --azul:#2b3fe0; --laranja:#ff5a1f;
  --menu-h:58px;
  --cond: "Arial Narrow", "Roboto Condensed", "Helvetica Neue", Arial, sans-serif;
}
* { box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html, body { height:100%; }
body { margin:0; background:var(--bg); color:var(--texto); font:15px/1.4 system-ui, sans-serif; }
button, select, input { font:inherit; color:inherit; }
button { cursor:pointer; }
.sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
[hidden] { display:none !important; }

#app { max-width:480px; margin:0 auto; height:100dvh; display:flex; flex-direction:column; position:relative; }
.painel { display:none; flex:1; min-height:0; overflow:auto; padding:12px 14px calc(var(--menu-h) + 16px); }
.painel.ativo { display:flex; flex-direction:column; }
#p-escalar { padding:0 0 var(--menu-h); overflow-y:auto; }
h2 { margin:6px 0 4px; font-size:1.2rem; }
.suave { color:var(--suave); font-size:.9rem; margin:4px 0 12px; }

/* topo */
.topo { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:10px 12px 6px; }
.time-ativo { background:transparent; border:0; font-weight:700; font-size:1.05rem; padding:6px 4px; max-width:60%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.form-wrap select { background:var(--card); border:1px solid var(--borda); border-radius:8px; padding:7px 10px; }
.chips { display:flex; gap:8px; padding:0 12px 8px; overflow-x:auto; scrollbar-width:none; }
.chips::-webkit-scrollbar { display:none; }
.chip { flex:1 0 auto; background:var(--card); border:1px solid var(--borda); border-radius:10px; padding:6px 10px; text-align:center; min-width:96px; }
.chip small { display:block; color:var(--suave); font-size:.68rem; text-transform:uppercase; letter-spacing:.03em; }
.chip b { font-size:.95rem; white-space:nowrap; }
.chip b.neg { color:var(--erro); }
.aviso-time { position:absolute; top:2px; left:50%; transform:translateX(-50%); z-index:3; margin:0; padding:1px 10px; border-radius:10px; background:rgba(0,0,0,.6); font-size:.7rem; color:var(--ouro); white-space:nowrap; }
#p-escalar > * { flex:none; }

/* campo em perspectiva */
.campo { position:relative; flex:none; aspect-ratio:360 / 450; margin:0 2px; display:flex; flex-direction:column; justify-content:space-between; padding:24px 0 32px; }
.gramado { position:absolute; inset:0; width:100%; height:100%; z-index:0; filter:drop-shadow(0 6px 14px rgba(0,0,0,.5)); }
.marca { position:absolute; left:7%; bottom:34px; z-index:1; font:italic 800 1.7rem var(--cond); color:rgba(255,255,255,.35); pointer-events:none; }
.fileira { position:relative; z-index:2; display:flex; justify-content:space-around; align-items:flex-start; }
.fileira.ata { padding:0 9%; }
.fileira.mei { padding:0 8%; }
.fileira.def { padding:0 7%; }
.fileira.gol { padding:0; justify-content:center; }
.fileira.gol #f-GOL { flex:0 0 auto; }
.tec-canto { position:absolute; right:7%; bottom:32px; z-index:2; flex:0 0 auto; }
.banco { margin:8px 8px 0; background:var(--card); border:1px solid var(--borda); border-radius:12px; padding:6px 8px 8px; }
.banco-t { display:block; color:var(--suave); font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; text-align:center; margin-bottom:4px; }
.banco .fileira.res { padding:0; }
.fileira.res { padding:0 5%; gap:6px; }
.grupo { display:flex; justify-content:center; flex:1; }

/* carta do jogador */
.slot { background:transparent; border:0; padding:0; flex:0 0 auto; }
.card { position:relative; width:68px; background:transparent; display:flex; flex-direction:column; }
.foto { position:relative; height:53px; display:grid; place-items:center; }
.circ { width:49px; height:49px; border-radius:50%; background:#fff; overflow:hidden; display:grid; place-items:center;
  border:2px solid #111; box-shadow:0 2px 6px rgba(0,0,0,.45); }
.circ svg, .circ img { width:100%; height:100%; display:block; object-fit:cover; }
.nome { font:800 .73rem/1.25 var(--cond); text-transform:uppercase; text-align:center; background:var(--azul); color:#fff; padding:0 2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; border-radius:4px 4px 0 0; box-shadow:0 2px 5px rgba(0,0,0,.35); }
.preco { font:700 .71rem/1.4 system-ui, sans-serif; text-align:center; background:#0a0d2a; color:#fff; padding-bottom:2px; border-radius:0 0 4px 4px; box-shadow:0 3px 5px rgba(0,0,0,.35); }
.card.capitao .nome { background:var(--laranja); }
.card.capitao .preco { color:#ffb27a; }
.sel { position:absolute; top:0; left:9px; width:16px; height:16px; border-radius:50%; display:grid; place-items:center; font-size:.62rem; font-weight:900; color:#fff; z-index:2; }
.sel.d { background:#f5c518; } .sel.fora { background:#e02424; }
.cbadge { position:absolute; top:0; right:7px; min-width:18px; height:18px; padding:0 3px; border-radius:4px; background:var(--laranja); color:#fff; font:900 .68rem/18px system-ui; text-align:center; z-index:2; }
/* espaço vazio: círculo verde-escuro com a silhueta de uma camisa e um "+" laranja (cores do canal: laranja e preto) */
.circ.vazio { position:relative; overflow:visible; background:rgba(6,28,10,.62); border:3px solid rgba(255,255,255,.92); color:transparent; font-size:0; line-height:0;
  box-shadow:0 5px 10px rgba(0,0,0,.4), 0 0 0 3px rgba(255,90,31,.38); transition:transform .15s, box-shadow .15s; }
.circ.vazio::before { content:""; position:absolute; inset:0; margin:auto; width:54%; height:54%; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 3 L3 6 L5 10 L7 9 L7 21 L17 21 L17 9 L19 10 L21 6 L16 3 Q12 7 8 3 Z' fill='rgba(255,255,255,0.10)' stroke='white' stroke-opacity='0.92' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; }
/* o "+" é desenhado com duas barras (não com o caractere), pra ficar exatamente no centro da bolinha laranja */
.circ.vazio::after { content:""; position:absolute; right:-7px; top:-7px; width:36%; height:36%; min-width:17px; min-height:17px; border-radius:50%; border:2px solid #fff; box-shadow:0 2px 5px rgba(0,0,0,.4);
  background:linear-gradient(#fff, #fff) center / 54% 13% no-repeat, linear-gradient(#fff, #fff) center / 13% 54% no-repeat, var(--laranja); }
.slot:hover .circ.vazio { transform:scale(1.06); box-shadow:0 6px 12px rgba(0,0,0,.45), 0 0 0 4px rgba(255,90,31,.7); }
.fileira.res .circ.vazio::after { right:-6px; top:-6px; }
.card.vazio .nome { background:#14161a; border:1px solid rgba(255,90,31,.65); border-radius:6px; box-shadow:none; }
.card.vazio .preco { display:none; }
.fileira.res .card { width:57px; }
.fileira.res .foto { height:40px; }
.fileira.res .circ { width:37px; height:37px; }
.fileira.res .nome { font-size:.64rem; }
.fileira.res .preco { font-size:.62rem; padding-bottom:2px; }

.medio .card { width:64px; }
.apertado .card { width:58px; }
.apertado .foto { height:46px; }
.apertado .circ { width:41px; height:41px; }
.apertado .nome { font-size:.63rem; }
.apertado .preco { font-size:.61rem; }

/* ações */
.acoes { display:flex; align-items:center; gap:8px; padding:8px 12px; margin-top:auto; }
.acoes button { padding:11px 12px; border:0; border-radius:10px; background:var(--ouro); color:#111; font-weight:800; }
.acoes .icone { flex:0 0 46px; padding:10px 0; font-size:1.1rem; }
.acoes .grande { flex:1; }
.acoes button:disabled { background:var(--card); color:var(--suave); border:1px solid var(--borda); cursor:not-allowed; font-weight:600; }
button.sec { background:transparent; color:var(--texto); border:1px solid var(--borda); }
.cheio { width:100%; margin-top:10px; padding:11px 14px; border-radius:10px; font-weight:800; }

/* menu inferior */
.menu { position:fixed; left:50%; transform:translateX(-50%); bottom:0; width:100%; max-width:480px; height:var(--menu-h);
  display:flex; background:#15151a; border-top:1px solid var(--borda); padding-bottom:env(safe-area-inset-bottom); z-index:5; }
.menu button { flex:1; background:transparent; border:0; color:var(--suave); font-size:.72rem; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; }
.menu button span { font-size:1.15rem; line-height:1; }
.menu button.ativo { color:var(--ouro); }

/* cartões e listas */
.cartao { display:flex; justify-content:space-between; align-items:center; background:var(--card); border:1px solid var(--borda);
  border-radius:12px; padding:14px; margin:8px 0; color:var(--texto); text-decoration:none; }
details.cartao { display:block; }
details.cartao summary { cursor:pointer; }
.exemplo { margin-top:18px; font-size:.78rem; color:var(--suave); text-align:center; }
.item-time { display:flex; justify-content:space-between; align-items:center; background:var(--card); border:1px solid var(--borda); border-radius:12px; padding:12px 14px; margin:8px 0; }
.item-time.ativo { border-color:var(--ouro); }
.item-time small { color:var(--suave); display:block; }
.item-time button { padding:8px 12px; border-radius:8px; }

/* folha (escolher jogador) */
.fundo { position:fixed; inset:0; background:rgba(0,0,0,.6); z-index:10; }
.folha { position:fixed; left:50%; transform:translateX(-50%); bottom:0; width:100%; max-width:480px; max-height:82dvh; z-index:11;
  background:var(--card); border-radius:16px 16px 0 0; border:1px solid var(--borda); display:flex; flex-direction:column; }
.folha-topo { display:flex; justify-content:space-between; align-items:center; padding:12px 14px 4px; }
.folha-topo h3 { margin:0; font-size:1.05rem; }
.fechar { background:transparent; border:0; font-size:1.2rem; padding:6px 10px; }
.folha-acoes { display:flex; gap:8px; padding:0 14px; }
.folha-acoes button { flex:1; margin-top:8px; padding:9px; border-radius:8px; border:1px solid var(--borda); background:transparent; }
.folha-acoes button.dest { border-color:var(--ouro); color:var(--ouro); }
.folha-acoes button.rem { color:var(--erro); border-color:var(--erro); }
.folha-filtros { display:flex; gap:8px; padding:10px 14px 6px; }
.folha-filtros input { flex:1; min-width:0; background:#111; border:1px solid var(--borda); border-radius:8px; padding:10px; }
.folha-filtros select { background:#111; border:1px solid var(--borda); border-radius:8px; padding:0 6px; max-width:34%; }
.lista-jog { list-style:none; margin:0; padding:0 8px calc(14px + env(safe-area-inset-bottom)); overflow:auto; }
.jog { display:flex; align-items:center; gap:10px; width:100%; background:transparent; border:0; border-top:1px solid var(--borda); padding:9px 6px; text-align:left; }
.jog .circ { flex:0 0 42px; width:42px; height:42px; }
.jog .info { flex:1; min-width:0; }
.jog .info b { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.jog .info small { color:var(--suave); }
.jog .num { text-align:right; font-variant-numeric:tabular-nums; }
.jog:disabled { opacity:.4; cursor:not-allowed; }
.jog .st { color:var(--erro); font-size:.72rem; font-weight:700; }
.jog .st.duvida { color:#d99a00; }

.toast { position:fixed; left:50%; bottom:calc(var(--menu-h) + 74px); transform:translateX(-50%); background:#000; border:1px solid var(--borda);
  padding:10px 14px; border-radius:10px; font-size:.85rem; z-index:20; max-width:90%; text-align:center; }

/* diálogo simples */
.dlg { z-index:12; max-height:none; padding-bottom:6px; }
.dlg .suave { white-space:pre-line; padding:0 14px; margin:4px 0 8px; max-height:42vh; overflow:auto; }
#dlg-input { display:block; width:calc(100% - 28px); margin:0 14px 6px; background:#111; border:1px solid var(--borda); border-radius:8px; padding:12px; }
#dlg-input[hidden] { display:none; }
.dlg .folha-acoes { padding-bottom:calc(14px + env(safe-area-inset-bottom)); }
button.cartao { width:100%; font:inherit; color:var(--texto); text-align:left; cursor:pointer; }
.item-time .btns { display:flex; gap:6px; }
.item-time b { display:block; }

/* reserva de luxo (dourado, como no Cartola) */
.card.luxo .nome { background:linear-gradient(180deg,#f0d27a,#b88a2c); color:#2a1c00; text-shadow:none; }
.card.luxo .preco { color:#f0d27a; }
.card.luxo .circ { border-color:#c9a24b; box-shadow:0 0 0 1px #f0d27a, 0 2px 6px rgba(0,0,0,.45); }
.lbadge { position:absolute; top:0; right:5px; width:18px; height:18px; border-radius:50%; background:linear-gradient(180deg,#f0d27a,#b88a2c); color:#2a1c00; font:900 .72rem/18px system-ui; text-align:center; z-index:2; font-style:normal; }

/* pontuação (parciais) nas cartas */
.pt { position:absolute; bottom:-2px; right:3px; padding:0 5px; border-radius:8px; font:800 .68rem/1.35 system-ui, sans-serif; font-style:normal; z-index:3; color:#fff; border:1px solid rgba(255,255,255,.55); background:#555; }
.pt.pos { background:#18b33a; } .pt.neg { background:#d62828; } .pt.zero { background:#555; }
.fileira.res .pt { font-size:.6rem; right:1px; }

/* quatro cartões cabem na linha (preço, sobram, pontos, campeonato) */
.chip { min-width:78px; padding:6px 8px; }
.chip small { letter-spacing:0; }
.chip b { font-size:.9rem; }
.aviso-time { color:#fff; font-weight:600; }

.chips { gap:6px; }
.chip { flex:1 1 auto; min-width:0; padding:6px 5px; }
.chip small { font-size:.6rem; white-space:nowrap; }

/* buscar time (sem login) */
.busca-time { background:var(--card); border:1px solid var(--borda); border-radius:12px; padding:12px 14px; margin:8px 0; }
.busca-time small { display:block; color:var(--suave); margin:2px 0 8px; }
.busca-linha { display:flex; gap:8px; }
.busca-linha input { flex:1; min-width:0; background:#111; border:1px solid var(--borda); border-radius:8px; padding:11px; }
.busca-linha button { padding:0 16px; border:0; border-radius:8px; background:var(--ouro); color:#111; font-weight:800; }
#resultado-busca { margin-top:8px; }
.res-time { display:flex; justify-content:space-between; align-items:center; gap:8px; width:100%; background:transparent; border:0; border-top:1px solid var(--borda); padding:10px 2px; text-align:left; color:var(--texto); }
.res-time small { margin:0; }

.item-time a button, #btn-trazer { background:var(--ouro); color:#111; border:0; font-weight:800; padding:9px 14px; border-radius:8px; }
.item-time a { text-decoration:none; }

/* lista de times do Cartola (app Android) */
.contas-globo { background:var(--card, #1a1a20); border-radius:12px; padding:6px 10px 10px; margin:8px 0; }
.contas-globo small { display:block; color:#9a9aa5; padding:6px 4px 0; }
.contas-topo { display:flex; border-bottom:1px solid #2c2c36; }
.contas-topo button { flex:1; background:none; border:0; color:var(--ouro); font-weight:800; padding:14px 6px; }
.linha-conta { display:flex; align-items:center; gap:12px; width:100%; background:none; border:0; border-bottom:1px solid #2c2c36; color:inherit; text-align:left; padding:12px 4px; }
.linha-conta img, .linha-conta .escudo-vazio { width:40px; height:40px; border-radius:50%; border:2px solid #2d6cdf; padding:3px; background:#0b1b33; object-fit:contain; flex:none; }
.linha-conta .txt { flex:1; min-width:0; }
.linha-conta b { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.linha-conta small { padding:0; }
.linha-conta .ok { color:var(--ouro); font-size:20px; }

.escudo-topo { width:22px; height:22px; object-fit:contain; vertical-align:middle; margin-right:4px; }

/* topo: quatro cartões sempre em UMA linha, sem rolar nem embolar (a fonte acompanha a largura) */
.chips { overflow:visible; gap:6px; padding:0 10px 8px; }
.chip { flex:1 1 0; min-width:0; padding:6px 3px; overflow:hidden; }
.chip small { font-size:min(.62rem, 2.7vw); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.chip b { display:block; font-size:min(.95rem, 4vw); white-space:nowrap; letter-spacing:-.01em; }

/* identidade: laranja/coral forte (cores do usuário) nos números do topo e nos destaques */
.chip b { color:var(--laranja); }
.chip b.neg { color:var(--erro); }
.menu button.ativo { color:var(--laranja); }
.item-time.ativo { border-color:var(--laranja); }
.acoes button:not(.sec):not(:disabled), .busca-linha button, .item-time a button, #btn-trazer { background:var(--laranja); color:#111; }
.contas-topo button, .linha-conta .ok, .folha-acoes button.dest { color:var(--laranja); }
.folha-acoes button.dest { border-color:var(--laranja); }

/* preço da carta: sempre em UMA linha (a carta não cresce e o técnico não sobe sobre o lateral) */
.preco { white-space:nowrap; overflow:hidden; font-size:min(.71rem, 3.1vw); }
.fileira.res .preco { font-size:min(.62rem, 2.9vw); }
.apertado .preco { font-size:min(.61rem, 2.9vw); }

/* aviso do mercado fica ACIMA do campo (não encosta nas cartas) e fontes um pouco menores */
.campo { margin-top:28px; }
.aviso-time { top:-23px; font-size:min(.7rem, 3vw); }
.nome { font-size:min(.68rem, 2.95vw); }
.fileira.res .nome { font-size:min(.6rem, 2.7vw); }
.apertado .nome { font-size:min(.6rem, 2.7vw); }
.chip b { font-size:min(.86rem, 3.6vw); }

/* nomes das cartas: fonte menor para caber (mais letras por carta) */
.nome { font-size:min(.62rem, 2.65vw); letter-spacing:-.01em; padding:0 1px; }
.fileira.res .nome, .apertado .nome { font-size:min(.56rem, 2.45vw); }

/* banco de reservas mais compacto para os rótulos (GOL, LAT, ZAG...) aparecerem */
.banco { padding:4px 8px 6px; margin-top:6px; }
.banco-t { font-size:min(.66rem, 2.9vw); margin-bottom:2px; }
.fileira.res .nome { font-size:min(.56rem, 2.45vw); }

/* time com sessão da Globo expirada */
.linha-conta .reentrar { color:#111; background:var(--laranja); font-weight:800; font-size:.72rem; padding:3px 9px; border-radius:10px; }
.linha-conta .txt small.exp { color:var(--laranja); }

/* fonte estreita própria (Roboto Condensed Bold, licença OFL): mesmo desenho e largura em qualquer aparelho */
@font-face { font-family:"RobotoCond"; src:url("fonts/RobotoCondensed-Bold-latin.woff2") format("woff2"); font-weight:700; font-style:normal; font-display:swap;
  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; }
:root { --cond: "RobotoCond", "Arial Narrow", "Roboto Condensed", "Helvetica Neue", Arial, sans-serif; }

/* barra fina de progresso (app falando com o Cartola) */
.barra-ocupado { position:fixed; top:0; left:0; right:0; height:3px; z-index:60; overflow:hidden; background:rgba(255,90,31,.25); }
.barra-ocupado::before { content:""; display:block; height:100%; width:40%; background:var(--laranja); animation:ocupado 1.1s ease-in-out infinite; }
@keyframes ocupado { 0% { transform:translateX(-100%); } 100% { transform:translateX(260%); } }

/* lista de jogadores: nome, próximo jogo, média/última/jogos e preço com variação */
.jog { align-items:center; gap:10px; padding:8px 6px; }
.jog .circ { flex:0 0 38px; width:38px; height:38px; }
.jog .info b { font-size:.95rem; line-height:1.2; }
.jog .info small.jogo { display:block; color:var(--suave); font-size:.72rem; line-height:1.3; }
.jog .mini { display:flex; flex-wrap:wrap; gap:0 10px; margin-top:1px; font-size:.72rem; color:var(--suave); }
.jog .mini i { font-style:normal; white-space:nowrap; }
.jog .mini b { display:inline; color:var(--texto); font-size:.72rem; font-weight:700; }
.jog .mini b.sobe { color:#3ddc84; } .jog .mini b.desce { color:var(--erro); }
.jog .dir { flex:0 0 auto; text-align:right; display:flex; flex-direction:column; align-items:flex-end; gap:1px; }
.jog .dir .num { font-size:1rem; font-weight:800; color:var(--laranja); font-variant-numeric:tabular-nums; }
.jog .dir .var { font-size:.72rem; font-weight:700; }
.jog .dir .var.sobe { color:#3ddc84; } .jog .dir .var.desce { color:var(--erro); }

/* filtros da lista de jogadores */
.folha-saldo { color:var(--laranja); font-weight:800; font-size:.85rem; margin-left:auto; margin-right:6px; white-space:nowrap; }
.folha-filtros.linha2 { padding-top:0; }
.bt-fav, .bt-ordem, .bt-filtros { background:#111; border:1px solid var(--borda); border-radius:8px; padding:9px 12px; font-weight:700; white-space:nowrap; }
.bt-fav { flex:0 0 44px; font-size:1.15rem; color:var(--laranja); padding:6px 0; }
.bt-fav.on { background:var(--laranja); color:#111; border-color:var(--laranja); }
.bt-ordem, .bt-filtros { flex:1; }
.bt-filtros.on { border-color:var(--laranja); color:var(--laranja); }
.filtros-av { padding:2px 14px 6px; max-height:34dvh; overflow:auto; border-bottom:1px solid var(--borda); }
.grupo-f { margin:6px 0; }
.grupo-f > b { display:block; font-size:.74rem; text-transform:uppercase; letter-spacing:.04em; color:var(--suave); margin-bottom:4px; }
.chips-f { display:flex; flex-wrap:wrap; gap:6px; }
.chip-f { background:#111; border:1px solid var(--borda); color:var(--texto); border-radius:999px; padding:5px 11px; font-size:.8rem; font-weight:600; }
.chip-f.on { background:var(--laranja); border-color:var(--laranja); color:#111; }
.limpar-f { background:none; border:0; color:var(--suave); text-decoration:underline; padding:6px 0; font-size:.8rem; }
.linha-jog { display:flex; align-items:center; border-top:1px solid var(--borda); }
.linha-jog .jog { flex:1; min-width:0; width:auto; border-top:0; }
.linha-jog .fav { flex:0 0 40px; background:none; border:0; color:var(--suave); font-size:1.2rem; padding:8px 0; }
.linha-jog .fav.on { color:var(--laranja); }
.jog .dir .num.caro { color:var(--erro); }

/* filtros em tela cheia dentro da folha (a lista volta com "Ver N jogadores") */
.lista-jog { flex:1 1 auto; min-height:0; }
.filtros-av { flex:0 0 auto; }
.folha.filtrando { height:82dvh; }
.folha.filtrando .filtros-av { flex:1 1 auto; min-height:0; max-height:none; border-bottom:0; }
.ver-f { position:sticky; bottom:0; width:100%; margin:10px 0 4px; background:var(--laranja); color:#111; border:0; border-radius:10px; padding:13px; font-weight:800; font-size:1rem; }
.chip-f.esc { display:inline-flex; align-items:center; justify-content:center; min-width:46px; padding:5px 8px; }
img.esc { object-fit:contain; vertical-align:middle; }
.sigla { font-weight:700; font-size:.72rem; }
.jog small.jogo img.esc { vertical-align:-4px; margin:0 1px; }

/* app com lista de times: "Buscar meu time" e "Trazer meu time" são repetição (tocar no time já traz a escalação) */
body.app-multi .busca-time, body.app-multi #cartao-cartola { display:none !important; }

/* no app com lista de times, estes atalhos do menu "Mais" repetem "+ Adicionar time" e "Sair do time ativo" */
body.app-multi #card-globo, body.app-multi #card-sair-globo { display:none !important; }

/* INÍCIO */
#p-inicio { gap:12px; }
.ini-time { display:flex; align-items:center; gap:12px; width:100%; background:var(--card); border:1px solid var(--borda); border-radius:14px; padding:12px 14px; text-align:left; color:var(--texto); }
.ini-escudo { width:44px; height:44px; object-fit:contain; flex:none; }
.ini-nomes { flex:1; min-width:0; display:flex; flex-direction:column; }
.ini-nomes b { font-size:1.05rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ini-nomes small { color:var(--suave); }
.ini-mercado { background:linear-gradient(135deg, rgba(255,90,31,.22), rgba(255,90,31,.06)); border:1px solid rgba(255,90,31,.45); border-radius:14px; padding:14px; display:flex; flex-direction:column; gap:2px; }
.ini-mercado b { font-size:1.35rem; color:var(--laranja); }
.ini-mercado small { color:var(--suave); }
.ini-nums { display:grid; grid-template-columns:repeat(3, 1fr); gap:8px; }
.ini-nums > div { background:var(--card); border:1px solid var(--borda); border-radius:12px; padding:9px 6px; text-align:center; min-width:0; }
.ini-nums small { display:block; color:var(--suave); font-size:.68rem; text-transform:uppercase; letter-spacing:.03em; }
.ini-nums b { font-size:min(1rem, 4.2vw); color:var(--laranja); white-space:nowrap; }
.ini-acoes { display:flex; gap:8px; }
.ini-acoes button { flex:1; padding:13px; border-radius:12px; border:0; background:var(--laranja); color:#111; font-weight:800; font-size:1rem; }
.ini-acoes button.sec { background:transparent; color:var(--texto); border:1px solid var(--borda); }
.ini-t { margin:6px 2px 0; font-size:.78rem; text-transform:uppercase; letter-spacing:.05em; color:var(--suave); }
.ini-alertas, .ini-jogos { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; }
.ini-alertas li { background:var(--card); border:1px solid var(--borda); border-left:3px solid var(--laranja); border-radius:10px; padding:9px 12px; font-size:.88rem; }
.ini-alertas li.ok { border-left-color:#3ddc84; color:#3ddc84; }
.ini-jogos li { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:6px 8px; background:var(--card); border:1px solid var(--borda); border-radius:10px; padding:8px 10px; }
.ini-jogos .quando { grid-column:1 / -1; color:var(--suave); font-size:.72rem; }
.ini-jogos .lado { display:flex; align-items:center; gap:6px; min-width:0; }
.ini-jogos .lado:last-child { justify-content:flex-end; flex-direction:row-reverse; }
.ini-jogos .lado b { font-size:.9rem; }
.ini-jogos .lado small { color:var(--suave); font-size:.7rem; }
.ini-jogos .x { color:var(--suave); font-weight:800; }
.menu button { min-width:0; }

/* chamada das ligas e notícias na Início */
.ini-ligas { display:flex; align-items:center; gap:12px; background:var(--card); border:1px solid var(--laranja); border-radius:14px; padding:12px 12px 12px 14px; color:var(--texto); text-decoration:none; }
.ini-ligas-txt { flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.ini-ligas-selo { align-self:flex-start; font-size:.68rem; font-weight:700; color:#3ddc84; background:rgba(61,220,132,.12); border-radius:999px; padding:2px 8px; }
.ini-ligas-txt b { font-size:1rem; line-height:1.25; }
.ini-ligas-txt small { color:var(--suave); font-size:.78rem; }
.ini-ligas-btn { flex:none; background:var(--laranja); color:#111; font-weight:800; font-size:.85rem; padding:9px 12px; border-radius:10px; white-space:nowrap; }
.ini-t { display:flex; justify-content:space-between; align-items:baseline; }
.ini-t a { color:var(--laranja); text-transform:none; letter-spacing:0; font-size:.8rem; font-weight:700; text-decoration:none; }
.ini-noticias { display:flex; flex-direction:column; gap:8px; }
.noticia { display:flex; gap:10px; align-items:stretch; background:var(--card); border:1px solid var(--borda); border-radius:12px; overflow:hidden; color:var(--texto); text-decoration:none; }
.noticia img { flex:0 0 96px; width:96px; height:auto; min-height:64px; object-fit:cover; background:#111; }
.noticia .nt { flex:1; min-width:0; padding:8px 10px 8px 0; display:flex; flex-direction:column; justify-content:center; gap:3px; }
.noticia .nt b { font-size:.88rem; line-height:1.3; font-weight:700; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.noticia .nt small { color:var(--suave); font-size:.72rem; }
.noticia:not(:has(img)) .nt { padding-left:12px; }
.ini-jogos-mais { background:none; border:0; color:var(--suave); text-decoration:underline; font-size:.82rem; padding:4px 0 8px; }

/* resumo da escalação na Início */
.ini-esc { display:flex; flex-direction:column; gap:8px; width:100%; text-align:left; background:var(--card); border:1px solid var(--borda); border-radius:14px; padding:12px 14px; color:var(--texto); }
.ini-esc-topo { display:flex; justify-content:space-between; align-items:baseline; }
.ini-esc-topo b { font-size:.95rem; }
.ini-esc-topo > span { color:var(--laranja); font-weight:800; font-variant-numeric:tabular-nums; }
.ini-esc-barra { display:block; height:6px; border-radius:999px; background:#2c2c34; overflow:hidden; }
.ini-esc-barra i { display:block; height:100%; width:0; background:var(--laranja); border-radius:999px; transition:width .3s ease; }
.ini-esc-avisos { display:flex; flex-wrap:wrap; gap:6px; }
.ini-esc-avisos .aviso { font-size:.76rem; font-weight:700; padding:3px 9px; border-radius:999px; border:1px solid var(--borda); color:var(--suave); }
.ini-esc-avisos .aviso.alerta { color:var(--laranja); border-color:rgba(255,90,31,.5); background:rgba(255,90,31,.08); }
.ini-esc-avisos .aviso.ok { color:#3ddc84; border-color:rgba(61,220,132,.45); background:rgba(61,220,132,.08); }

/* jogos da rodada centralizados; partida que não conta fica esmaecida com etiqueta */
.ini-jogos li { justify-items:center; text-align:center; }
.ini-jogos .quando { grid-column:1 / -1; text-align:center; }
.ini-jogos .lado, .ini-jogos .lado:last-child { flex-direction:column; justify-content:center; align-items:center; gap:3px; }
.ini-jogos .lado .np { display:flex; align-items:baseline; gap:4px; }
.ini-jogos .x { font-size:1.1rem; }
.ini-jogos li.nao-vale { opacity:.55; }
.ini-jogos .quando.nao-conta { color:#d8d8e0; background:#3a3a44; font-weight:700; font-size:.66rem; letter-spacing:.04em; padding:2px 10px; border-radius:999px; justify-self:center; }
.jog small.jogo .sem-jogo { color:var(--laranja); font-weight:700; font-size:.72rem; }

/* Início mais compacta: menos linhas para a mesma informação */
.ini-mercado { flex-direction:row; align-items:baseline; justify-content:space-between; gap:10px; padding:11px 14px; }
.ini-mercado b { font-size:min(1.2rem, 5.2vw); white-space:nowrap; }
.ini-mercado small { white-space:nowrap; }
.ini-ligas { padding:10px 10px 10px 14px; }
.ini-ligas-selo { order:2; background:none; padding:0; border-radius:0; color:#3ddc84; font-size:.74rem; font-weight:700; }
.ini-ligas-selo::before { content:"●"; font-size:.55rem; margin-right:5px; vertical-align:1px; }

/* jogos da rodada: UMA linha por jogo (escudo + sigla | data | sigla + escudo) */
.ini-jogos { gap:6px; }
.ini-jogos li { grid-template-columns:1fr auto 1fr; padding:7px 10px; gap:6px; align-items:center; }
.ini-jogos .quando { grid-column:auto; font-size:.72rem; white-space:nowrap; justify-self:center; }
.ini-jogos .lado, .ini-jogos .lado:last-child { flex-direction:row; align-items:center; gap:6px; min-width:0; }
.ini-jogos .lado { justify-content:flex-start; }
.ini-jogos .lado:last-child { justify-content:flex-end; flex-direction:row-reverse; }
.ini-jogos .lado .np { display:flex; align-items:baseline; gap:4px; }
.ini-jogos .lado b { font-size:.88rem; }
.ini-jogos .x { display:none; }
.ini-jogos .quando.nao-conta { font-size:.64rem; padding:2px 8px; }
.ini-nota { display:block; color:var(--suave); font-size:.72rem; text-align:center; margin:-2px 0 2px; }

/* jogo que não conta: etiqueta em cima e a data embaixo (uma linha a mais só nele) */
.ini-jogos .meio-invalido { display:flex; flex-direction:column; align-items:center; gap:2px; justify-self:center; }
.ini-jogos .nao-conta { color:#d8d8e0; background:#3a3a44; font-weight:700; font-size:.64rem; letter-spacing:.04em; padding:2px 8px; border-radius:999px; white-space:nowrap; }
.ini-jogos li.nao-vale { opacity:.7; }

/* ligas: título e botão na 1ª linha; selo + frase de apoio juntos, em UMA linha na largura toda do cartão */
.ini-ligas { display:grid; grid-template-columns:1fr auto; grid-template-areas:"titulo botao" "info info"; align-items:center; gap:4px 12px; }
.ini-ligas-titulo { grid-area:titulo; font-size:1rem; line-height:1.25; min-width:0; }
.ini-ligas-btn { grid-area:botao; }
.ini-ligas-info { grid-area:info; display:flex; align-items:baseline; gap:6px; white-space:nowrap; overflow:hidden; font-size:min(.74rem, 3.3vw); }
.ini-ligas-info .ini-ligas-selo { align-self:auto; }
.ini-ligas-info small { color:var(--suave); font-size:inherit; overflow:hidden; text-overflow:ellipsis; }
.ini-ligas-info small:not([hidden])::before { content:"· "; }
.ini-ligas-info .ini-ligas-selo { order:0; font-size:inherit; }
.ini-ligas-titulo { font-size:min(1rem, 3.9vw); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* a frase das ligas fica embaixo do selo (duas linhas curtas, sem cortar) e os textos da Início encolhem para caber */
.ini-ligas-info { flex-direction:column; align-items:flex-start; gap:1px; white-space:nowrap; font-size:calc(min(.74rem, 3.3vw) * var(--esc, 1)); }
.ini-ligas-info small:not([hidden])::before { content:""; }
.ini-ligas-info > * { max-width:100%; font-size:calc(min(.74rem, 3.3vw) * var(--esc, 1)); }
.ini-ligas-titulo { font-size:calc(min(1rem, 3.9vw) * var(--esc, 1)); }
.ini-mercado b { font-size:calc(min(1.2rem, 5.2vw) * var(--esc, 1)); }
.ini-mercado small { font-size:calc(.8rem * var(--esc, 1)); }
.ini-mercado { overflow:hidden; }
.ini-jogos li .quando { font-size:calc(.72rem * var(--esc, 1)); }
.ini-jogos li .lado b { font-size:calc(.88rem * var(--esc, 1)); }
.ini-jogos li .lado small { font-size:calc(.7rem * var(--esc, 1)); }

.ini-jogos li .lado img.esc { width:calc(28px * var(--esc, 1)); height:calc(28px * var(--esc, 1)); }
.ini-jogos li .lado { gap:calc(6px * var(--esc, 1)); }

/* nenhum bloco da Início pode ser espremido quando a tela é mais baixa que o conteúdo (a página rola) */
#p-inicio > * { flex:none; }

/* ligas: título em cima; selo e frase empilhados à esquerda; botão à direita, centralizado na altura */
.ini-ligas { grid-template-areas:"titulo botao" "info botao"; align-items:center; }
.ini-ligas-btn { align-self:center; }

/* no app, o time vem do login do Cartola: o cartão de login do BLACK IA e o "+ Novo time" só repetiam */
body.app-multi .entrar-card, body.app-multi #btn-novo { display:none !important; }

/* rodapé mais baixo: ícones e rótulos menores liberam espaço para o conteúdo */
:root { --menu-h:48px; }
.menu button { font-size:.64rem; gap:0; }
.menu button span { font-size:.95rem; line-height:1; }

/* mercado fechado (modo ao vivo): sem preços nem botões de escalar; a linha de baixo da carta mostra os pontos */
.fechado .acoes, .fechado .chip.so-aberto { display:none; }
.preco.vivo { display:flex; flex-direction:column; padding-bottom:0; }
.preco.vivo .l1 { font-weight:800; line-height:1.35; }
.preco.vivo .l2 { font-size:.9em; line-height:1.3; padding-bottom:2px; border-top:1px solid rgba(255,255,255,.14); min-height:1.3em; }
.preco.vivo .pos, .delta.pos { color:#7dff9a; } .preco.vivo .neg, .delta.neg { color:#ff8a8a; } .preco.vivo .zero { color:#b9b9c4; }
.fechado .campo { aspect-ratio:360 / 505; }
.fechado .chips .chip { flex:1 1 0; min-width:0; padding:6px 4px; }
.chip small.delta { font-weight:800; text-transform:none; letter-spacing:0; }
#c-pts-sub { text-transform:none; letter-spacing:0; }

/* ligas (sem login) */
.ini-link { display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; text-align:left; background:var(--card); border:1px solid var(--borda); border-radius:14px; padding:12px 14px; color:var(--texto); font:inherit; }
.ini-link-txt { display:flex; flex-direction:column; gap:1px; min-width:0; }
.ini-link-txt b { font-size:.95rem; } .ini-link-txt small { color:var(--suave); font-size:.78rem; }
.ini-link > span:last-child { color:var(--laranja); font-size:1.3rem; font-weight:800; }
#p-ligas { gap:10px; }
#p-ligas .cartao small { display:block; color:var(--suave); }
.lg-cod { margin-top:1px; }
.lg-botoes { display:flex; gap:8px; margin:6px 0; }
.lg-botoes button { flex:1; padding:11px 12px; border:0; border-radius:10px; background:var(--laranja); color:#111; font-weight:800; }
.lg-botoes button.sec { background:transparent; color:var(--texto); border:1px solid var(--borda); font-weight:700; }
.lg-topo { display:flex; align-items:center; gap:8px; }
.lg-voltar { flex:none; width:38px; height:38px; border-radius:10px; border:1px solid var(--borda); background:transparent; color:var(--texto); font-size:1.5rem; line-height:1; padding:0 0 3px; }
.lg-tit { flex:1; min-width:0; display:flex; flex-direction:column; }
.lg-tit b { font-size:1.05rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lg-tit small { color:var(--suave); font-size:.76rem; }
.lg-topo > button.sec { flex:none; padding:9px 11px; border-radius:10px; font-weight:700; font-size:.82rem; }
.lg-abas { display:flex; gap:6px; margin:10px 0 4px; background:var(--card); border:1px solid var(--borda); border-radius:12px; padding:4px; }
.lg-abas button { flex:1; padding:8px; border:0; border-radius:9px; background:transparent; color:var(--suave); font-weight:800; }
.lg-abas button[aria-pressed="true"] { background:var(--laranja); color:#111; }
.lg-rank { list-style:none; margin:0; padding:0; }
.lg-linha { display:flex; align-items:center; gap:10px; padding:9px 4px; border-top:1px solid var(--borda); }
.lg-linha.eu { background:rgba(255,90,31,.1); border-radius:10px; border-top-color:transparent; }
.lg-pos { flex:none; width:36px; text-align:center; font-weight:800; color:var(--suave); font-variant-numeric:tabular-nums; display:grid; place-items:center; }
.lg-pos svg { display:block; width:34px; height:34px; filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.5)); }
.lg-linha:nth-child(-n+3) .lg-pos { color:var(--laranja); }
.lg-escudo { flex:none; width:32px; height:32px; object-fit:contain; }
.lg-nm { flex:1; min-width:0; display:flex; flex-direction:column; }
.lg-nm b { font-size:.92rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lg-nm small, .lg-val small { color:var(--suave); font-size:.72rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lg-val { flex:none; text-align:right; display:flex; flex-direction:column; }
.lg-val b { font-size:1.02rem; color:var(--laranja); font-variant-numeric:tabular-nums; }
.lg-status { display:block; width:100%; background:none; border:0; color:var(--suave); font-size:.76rem; text-align:center; padding:8px 0; }
.lg-status.vivo::before { content:""; display:inline-block; width:7px; height:7px; border-radius:50%; background:#3ddc84; margin-right:6px; vertical-align:1px; animation:lgpulso 1.4s ease-in-out infinite; }
@keyframes lgpulso { 50% { opacity:.25; } }
.lg-campo { display:flex; flex-direction:column; gap:4px; margin:8px 0; }
.lg-campo span { color:var(--suave); font-size:.78rem; text-transform:uppercase; letter-spacing:.03em; }
.lg-campo input, .lg-campo select { background:#111; border:1px solid var(--borda); border-radius:8px; padding:11px; color:var(--texto); font-size:1rem; width:100%; }
.lg-campo select { appearance:none; -webkit-appearance:none; padding-right:34px; background-image:linear-gradient(45deg, transparent 50%, var(--suave) 50%), linear-gradient(135deg, var(--suave) 50%, transparent 50%); background-position:calc(100% - 18px) 50%, calc(100% - 12px) 50%; background-size:6px 6px, 6px 6px; background-repeat:no-repeat; }
.lg-campo select option { background:#1a1a1f; color:#f2f2f2; }
.lg-per input { width:84px; }
.lg-conta-linha { display:flex; justify-content:space-between; align-items:baseline; margin-top:6px; }
.lg-conta-linha small { color:var(--suave); }
.lg-esc { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:7px 4px; border-top:1px solid var(--borda); }
.lg-esc span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lg-esc button { flex:none; padding:5px 10px; border-radius:8px; }
.res-time:disabled { opacity:.55; }
.lg-delta { font-weight:800; } .lg-delta.pos { color:#3ddc84 !important; } .lg-delta.neg { color:var(--erro) !important; }
/* no app a busca da aba Times fica escondida (.busca-time); a das ligas é outra caixa e precisa aparecer */
.lg-busca { background:var(--card); border:1px solid var(--borda); border-radius:12px; padding:12px 14px; margin:8px 0; }
.lg-busca > b { display:block; margin-bottom:8px; }
/* escalação do time dentro da liga */
.lg-linha.toque { cursor:pointer; } .lg-linha.toque:active { background:rgba(255,255,255,.05); }
.lg-dica { display:block; color:var(--suave); font-size:.74rem; text-align:center; margin:8px 0 0; }
.lg-rodadas { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:10px 0 6px; background:var(--card); border:1px solid var(--borda); border-radius:12px; padding:4px; }
.lg-rodadas b { flex:1; text-align:center; font-size:.95rem; }
.lg-rodadas button { flex:none; width:44px; height:38px; border:0; border-radius:9px; background:transparent; color:var(--laranja); font-size:1.5rem; line-height:1; font-weight:800; }
.lg-rodadas button:disabled { color:var(--borda); }
.lg-resumo { display:flex; gap:6px; margin:4px 0 8px; }
.lg-resumo > div { flex:1 1 0; min-width:0; background:var(--card); border:1px solid var(--borda); border-radius:10px; padding:6px 4px; text-align:center; }
.lg-resumo small { display:block; color:var(--suave); font-size:.66rem; text-transform:uppercase; letter-spacing:.03em; }
.lg-resumo b { font-size:min(.95rem, 4vw); white-space:nowrap; color:var(--laranja); }
.lg-resumo b.pos { color:#3ddc84; } .lg-resumo b.neg { color:var(--erro); }
.lg-escal { list-style:none; margin:0; padding:0; }
.lg-sub-t { margin:12px 0 2px; font-size:.78rem; color:var(--suave); text-transform:uppercase; letter-spacing:.04em; }
.lg-j { display:flex; align-items:center; gap:10px; padding:7px 4px; border-top:1px solid var(--borda); }
.lg-j.saiu { opacity:.5; }
.lg-foto { flex:none; width:34px; height:34px; object-fit:contain; }
.lg-j .lg-nm b { display:flex; align-items:center; gap:5px; flex-wrap:wrap; }
.lg-tag { font-style:normal; font-size:.6rem; font-weight:800; padding:1px 5px; border-radius:6px; background:var(--laranja); color:#111; line-height:1.3; }
.lg-tag.l { background:#f0d27a; } .lg-tag.s { background:#555; color:#fff; } .lg-tag.e { background:#3ddc84; }
.lg-j .lg-val b { font-size:.95rem; }
.lg-j .lg-val b.pos { color:#3ddc84; } .lg-j .lg-val b.neg { color:var(--erro); } .lg-j .lg-val b.zero { color:var(--suave); }
/* escalação da liga em campinho */
.lg-vis { margin:4px 0 6px; }
#lg-campo-wrap .campo { aspect-ratio:360 / 505; margin-top:4px; }
#lg-campo-wrap .banco { margin-top:8px; }
.card.saiu .circ, .card.saiu .nome, .card.saiu .preco { opacity:.45; } /* só a foto e os textos apagam; a seta vermelha fica nítida */
.card.entrou .circ { box-shadow:0 0 0 2px #3ddc84, 0 2px 6px rgba(0,0,0,.45); }
.lg-abas button { flex:1 1 0; min-width:0; padding:8px 2px; white-space:nowrap; font-size:min(.9rem, 3.7vw); }
/* desempenho do jogador (scouts) */
.lg-j.toque, .card[role="button"] { cursor:pointer; }
.lg-desemp { background:#231c16; border-color:#3a2f26; z-index:12; }
#lg-fundo { z-index:11; }
.lg-d-tit { display:flex; align-items:center; gap:10px; min-width:0; }
.lg-d-escudo { flex:none; width:40px; height:40px; object-fit:contain; }
.lg-d-tit b { font-size:1.05rem; } .lg-d-tit small { display:block; color:var(--suave); }
.lg-d-val { font-weight:800; } .lg-d-val.pos { color:#3ddc84; } .lg-d-val.neg { color:var(--erro); }
.lg-d-h { margin:6px 14px 0; font-size:.78rem; color:var(--suave); text-transform:uppercase; letter-spacing:.04em; }
.lg-d-lista { list-style:none; margin:0; padding:2px 12px 0; overflow:auto; max-height:46dvh; }
.lg-sc { display:flex; align-items:center; gap:10px; background:#2f261e; border-radius:10px; padding:8px 10px; margin:6px 0; }
.lg-sc.vazio { color:var(--suave); justify-content:center; }
.lg-sc .tag { flex:none; min-width:38px; text-align:center; background:#3d3228; border-radius:6px; padding:4px 6px; font-weight:800; font-size:.74rem; color:#cdbfae; }
.lg-sc .nm { flex:1; min-width:0; font-weight:800; font-size:.95rem; }
.lg-sc .qt { flex:none; color:var(--suave); font-size:.85rem; }
.lg-pill { flex:none; min-width:60px; text-align:center; border-radius:8px; padding:5px 8px; font-weight:800; font-variant-numeric:tabular-nums; background:#5c554e; color:#fff; }
.lg-pill.g2 { background:#2ecc71; color:#06220f; }
.lg-pill.g1 { background:#1f5a3a; box-shadow:inset 0 0 0 1px #2ecc71; color:#d9ffe9; }
.lg-pill.r { background:#e5484d; color:#fff; }
.lg-d-total { display:flex; justify-content:space-between; align-items:baseline; padding:8px 18px 4px; font-size:1.05rem; }
.lg-d-total b { font-size:1.25rem; }
.lg-d-nota { display:block; color:var(--suave); padding:0 18px 14px; font-size:.8rem; }
.lg-pill.g3 { background:linear-gradient(180deg,#f7d86b,#e0a21f); color:#2a1c00; }
/* texto do scout com a cor do resultado (verde ganha, vermelho perde, dourado nos grandes) */
.lg-sc.pos .nm, .lg-sc.pos .qt, .lg-sc.pos .tag { color:#46e08a; }
.lg-sc.neg .nm, .lg-sc.neg .qt, .lg-sc.neg .tag { color:#ff6b6b; }
.lg-sc.ouro .nm, .lg-sc.ouro .qt, .lg-sc.ouro .tag { color:#f7d86b; }
.lg-sc .qt { opacity:.85; }
/* resumo do time: os rótulos cabem mesmo com texto ampliado */
.lg-resumo small { font-size:min(.66rem, 2.6vw); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
/* status do jogador na carta: bolinha com ícone desenhado, centrado, com aro branco */
.sel { width:14px; height:14px; box-shadow:0 0 0 1.5px rgba(255,255,255,.92), 0 1px 3px rgba(0,0,0,.5); }
/* etiquetas C (capitão) e ⇄ (reserva de luxo): ícone desenhado, centrado */
.cbadge, .lbadge { display:grid; place-items:center; padding:0; line-height:0; font-size:0; }
.cbadge { width:18px; min-width:18px; border-radius:50%; box-shadow:0 0 0 1.5px rgba(255,255,255,.92), 0 1px 3px rgba(0,0,0,.5); }
.lbadge { box-shadow:0 0 0 1.5px rgba(255,255,255,.92), 0 1px 3px rgba(0,0,0,.5); }
.cbadge svg, .lbadge svg { display:block; width:12px; height:12px; }
/* jogos da rodada em cartões */
.ini-jogos li.jg { display:block; padding:9px 10px 8px; text-align:center; }
.jg-topo { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:6px; }
.jg-lado { display:flex; align-items:baseline; gap:4px; min-width:0; } .jg-lado.e { justify-content:flex-start; } .jg-lado.d { justify-content:flex-end; flex-direction:row-reverse; }
.jg-lado b { font-size:.8rem; } .jg-lado small { color:var(--suave); font-size:.68rem; }
.jg-quando { display:flex; flex-direction:column; align-items:center; gap:2px; color:var(--suave); font-size:.72rem; white-space:nowrap; }
.jg-quando small { font-size:.72rem; }
.jg-ao-vivo { color:#3ddc84; font-weight:800; letter-spacing:.04em; }
.jg-ao-vivo::before { content:""; display:inline-block; width:7px; height:7px; border-radius:50%; background:#3ddc84; margin-right:5px; animation:lgpulso 1.4s ease-in-out infinite; }
.jg-meio { display:flex; align-items:center; justify-content:center; gap:min(8px, 2.2vw); margin:8px 0 4px; }
.jg-meio img.esc, .jg-meio .sigla { flex:none; }
.jg-placar { flex:none; min-width:min(54px, 14vw); font-weight:800; font-size:1.15rem; font-variant-numeric:tabular-nums; }
.ini-jogos li.vivo { border-color:rgba(61,220,132,.55); }
.jg-forma { display:flex; gap:2px; flex:none; }
.fq { width:min(15px, 4.2vw); height:min(15px, 4.2vw); border-radius:3px; display:grid; place-items:center; font:800 min(.62rem, 2.2vw)/1 system-ui, sans-serif; color:#111; cursor:pointer; }
.fq.V { background:#2ecc71; } .fq.E { background:#f5a623; } .fq.D { background:#e5484d; }
.jg-semhist { color:var(--suave); font-size:.62rem; }
.jg-local { display:block; color:var(--suave); font-size:.7rem; margin-top:2px; }
.ini-jogos li.jg.nao-vale { opacity:.7; }
.jg-topo { display:flex; justify-content:center; }
/* botão "Ver todos os jogos": pílula com seta desenhada em CSS */
.ini-jogos-mais { display:flex; align-items:center; justify-content:center; align-self:center; width:auto; background:var(--card); border:1px solid rgba(255,90,31,.55); border-radius:999px; color:var(--texto); text-decoration:none; font-size:.86rem; font-weight:700; padding:9px 18px; margin:2px 0 10px; }
.ini-jogos-mais::after { content:""; width:7px; height:7px; border-right:2px solid var(--laranja); border-bottom:2px solid var(--laranja); transform:rotate(45deg) translate(-2px,-2px); margin-left:10px; flex:none; }
.ini-jogos-mais.aberto::after { transform:rotate(-135deg) translate(-2px,-2px); }
.ini-jogos-mais:active { background:rgba(255,90,31,.12); }
/* botão "Ver todos os jogos" mais compacto */
.ini-jogos-mais { font-size:.74rem; font-weight:600; padding:5px 13px; margin:0 0 8px; border-color:rgba(255,90,31,.4); }
.ini-jogos-mais::after { width:5px; height:5px; border-width:1.5px; margin-left:8px; transform:rotate(45deg) translate(-1px,-1px); }
.ini-jogos-mais.aberto::after { transform:rotate(-135deg) translate(-1px,-1px); }
/* limpeza: links discretos no rodapé da liga */
.lg-links { display:flex; justify-content:center; gap:20px; margin:4px 0 8px; }
.lg-link { background:none; border:0; color:var(--suave); font-size:.8rem; text-decoration:underline; padding:6px 4px; }
/* rodapé da liga: textos pequenos e delicados (tamanho limitado mesmo com texto ampliado no aparelho) */
.lg-dica { font-size:min(.66rem, 2.8vw); color:var(--suave); opacity:.75; margin:10px 0 0; text-align:center; letter-spacing:.01em; }
.lg-status { font-size:min(.6rem, 2.6vw); text-transform:uppercase; letter-spacing:.08em; color:var(--suave); opacity:.85; padding:6px 0 2px; font-weight:600; }
.lg-links { gap:8px; margin:6px 0 10px; }
.lg-link { font-size:min(.68rem, 2.9vw); text-decoration:none; color:var(--suave); border:1px solid var(--borda); border-radius:999px; padding:4px 12px; background:transparent; }
.lg-link:active { background:rgba(255,255,255,.06); }
/* botão de compartilhar (ícone) */
.ic-share { flex:none; width:38px; height:38px; border-radius:10px; border:1px solid var(--borda); background:transparent; color:var(--texto); display:grid; place-items:center; padding:0; margin-left:auto; }
.ic-share svg { width:19px; height:19px; fill:currentColor; display:block; }
.ic-share:active { background:rgba(255,255,255,.07); }
.lg-topo .ic-share { margin-left:0; }
/* janela Compartilhar escalação (Imagem / PDF / Texto) */
.cp-fundo { z-index:14; }
.cp-sheet { z-index:15; padding-bottom:calc(14px + env(safe-area-inset-bottom)); }
.cp-opcoes { display:flex; flex-direction:column; gap:8px; padding:6px 14px 6px; }
.cp-opcoes button { display:flex; align-items:center; gap:14px; width:100%; text-align:left; background:var(--card); border:1px solid var(--borda); border-radius:12px; padding:13px 14px; color:var(--texto); font-size:1rem; font-weight:700; }
.cp-opcoes button svg { flex:none; width:22px; height:22px; fill:var(--laranja); }
.cp-opcoes button:active { background:rgba(255,90,31,.12); border-color:rgba(255,90,31,.5); }
/* fonte das siglas nas camisas (Bebas Neue, licença SIL OFL): letras finas, altas e estreitas, como nas camisas do Guru */
@font-face { font-family:"Bebas"; src:url("fonts/BebasNeue-latin.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap;
  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; }
/* uniforme completo dentro da bolinha (não encosta nas bordas) */
.circ svg { width:86%; height:86%; }
/* uniforme real dentro da bolinha, com a sigla por cima */
.circ { position:relative; }
.circ img.uni { width:88%; height:88%; object-fit:contain; display:block; }
.circ .sg { position:absolute; left:0; right:0; top:50%; text-align:center; font:400 12px/1 "Bebas", "RobotoCond", sans-serif; font-style:normal; letter-spacing:.02em; pointer-events:none; }
.fileira.res .circ .sg { font-size:9px; }
.apertado .circ .sg { font-size:11px; }
/* uniforme maior na bolinha e sigla menor (não passa do tamanho da camisa) */
.circ img.uni { width:100%; height:100%; }
.circ .sg { font-size:10px; top:52%; }
.fileira.res .circ .sg { font-size:8px; }
.apertado .circ .sg { font-size:9px; }

/* lista da escalação ao lado do campo: só existe no PC (escalar-pc.css) */
.lista-time { display:none; }

/* rostos dos jogadores */
.circ.rosto { background:#e9ebef; }
.circ.rosto img { object-fit:cover; object-position:50% 12%; }

/* check de envio concluído */
.check-envio { position:fixed; inset:0; display:grid; place-items:center; z-index:9999; pointer-events:none; }
.check-envio svg { width:110px; height:110px; filter:drop-shadow(0 6px 18px rgba(0,0,0,.55)); animation:check-pop 1.6s ease both; }
.check-envio circle { fill:#18b33a; stroke:#fff; stroke-width:2; }
.check-envio path { fill:none; stroke:#fff; stroke-width:5; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:44; stroke-dashoffset:44; animation:check-traco .45s .2s ease forwards; }
@keyframes check-pop { 0% { transform:scale(.4); opacity:0; } 18% { transform:scale(1.08); opacity:1; } 28% { transform:scale(1); } 80% { opacity:1; } 100% { opacity:0; } }
@keyframes check-traco { to { stroke-dashoffset:0; } }

/* celular: cada jogador da lista numa caixinha; nome (+ CASA/FORA) em cima e os dados numa linha só (quebra se não couber) */
.lista-jog { padding-top:6px; }
.linha-jog:not(.pc-linha) { background:#26262e; border:1.5px solid #484856; border-radius:14px; margin:0 2px 10px; padding-right:2px; box-shadow:0 3px 8px rgba(0,0,0,.45); }
.linha-jog:not(.pc-linha):active { background:#2e2e38; border-color:var(--laranja); }
.linha-jog:not(.pc-linha) .jog { gap:8px; padding:7px 2px 7px 8px; align-items:center; }
.linha-jog:not(.pc-linha) .jog .circ { flex:0 0 38px; width:38px; height:38px; }
.linha-jog:not(.pc-linha) .fav { flex:0 0 28px; }
.linha-jog:not(.pc-linha) .jog .l1 > b { font-size:.95rem; }
.jog .l1 { display:flex; align-items:center; gap:6px; min-width:0; }
.jog .l1 b { flex:0 1 auto; min-width:0; }
.jog .dados { display:flex; flex-wrap:wrap; align-items:center; gap:1px 6px; margin-top:2px; font-size:.66rem; line-height:1.3; color:var(--suave); }
.jog .dados i { font-style:normal; white-space:nowrap; }
.jog .dados i b { display:inline; color:var(--texto); font-size:.68rem; font-weight:700; }
.jog .dados i b.sobe { color:#3ddc84; } .jog .dados i b.desce { color:var(--erro); }
.jog .dir .adv { display:flex; align-items:center; justify-content:flex-end; gap:3px; white-space:nowrap; font-size:.68rem; line-height:1.2; color:var(--suave); }
.jog .dir .adv img.esc { vertical-align:middle; }
.jog .dir .adv .vs { font-style:normal; font-size:.62rem; opacity:.7; }
.jog .mando { flex:none; font-size:.5rem; font-weight:800; letter-spacing:.05em; line-height:1; padding:2px 4px; border-radius:999px; border:1px solid var(--borda); color:var(--suave); }
.jog .mando.casa { color:#3ddc84; border-color:rgba(61,220,132,.5); }
.jog .dados .sem-jogo { color:var(--laranja); font-weight:700; }
.linha-jog:not(.pc-linha) .jog .dir .num { font-size:.95rem; }

/* modo visualização (?ver=...): só o campinho e o banco de um time pronto, sem menu, ações, lista nem pontos; só "Preço do time" */
.modo-ver body { background:transparent; padding-bottom:0; min-height:0; }
.modo-ver .menu, .modo-ver .topo, .modo-ver .acoes, .modo-ver #folha, .modo-ver #fundo, .modo-ver #dlg, .modo-ver #toast, .modo-ver #barra-ocupado,
.modo-ver .aviso-time, .modo-ver .painel:not(#p-escalar), .modo-ver .lista-time, .modo-ver #fonte-dados { display:none !important; }
.modo-ver .chips .chip:not(:first-child) { display:none; }
.modo-ver .chips { grid-template-columns:1fr; }
.modo-ver #p-escalar { display:block !important; width:100%; min-width:0; max-width:460px; margin:0 auto; padding:6px 4px; }
.modo-ver .campo, .modo-ver .banco { pointer-events:none; }
.modo-ver .campo { margin-top:10px; }

/* modo visualização em quadro largo (>= 860 px): campo grande e a lista da escalação ao lado, como no PC */
.modo-ver body.pc { --campo-h: 660px; --lista-w: 520px; }
.modo-ver body.pc #app { padding-top: 0; }
.modo-ver body.pc #p-escalar { display: grid !important; max-width: none; width: 100%; margin: 0; padding: 0 0 8px; justify-content: center; }
.modo-ver body.pc #p-escalar > .chips { position: static; background: none; width: var(--area-w); }
.modo-ver body.pc .lista-time { display: block !important; pointer-events: none; }
.modo-ver body.pc-escalar #p-escalar > #folha, .modo-ver body.pc-escalar #p-escalar > #folha[hidden], .modo-ver body.pc-escalar #p-escalar > .acoes { display: none !important; }
/* modo visualização: botão de compartilhar ao lado do preço e o menu (imagem/PDF/texto) como balão perto dele */
.modo-ver .chips, .modo-ver body.pc #p-escalar > .chips { position: relative; }
.modo-ver #btn-ver-comp { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border-radius: 10px; border: 1px solid var(--borda); background: transparent; color: var(--texto); display: grid; place-items: center; padding: 0; cursor: pointer; pointer-events: auto; }
.modo-ver #btn-ver-comp svg { width: 19px; height: 19px; fill: currentColor; }
.modo-ver #btn-ver-comp:active { background: rgba(255, 255, 255, .08); }
.modo-ver .cp-fundo { background: transparent; }
.modo-ver .cp-sheet { position: fixed; left: auto; right: 8px; top: 62px; bottom: auto; transform: none; width: 250px; max-width: calc(100% - 16px); max-height: none; border-radius: 14px; border: 1px solid rgba(255, 90, 31, .45); box-shadow: 0 8px 24px rgba(0, 0, 0, .55); padding-bottom: 10px; }
.modo-ver .cp-sheet .folha-topo { padding: 10px 12px 2px; }
.modo-ver .cp-sheet .folha-topo h3 { font-size: .95rem; }
/* ao vivo: reserva que subiu para o campo (anel verde) e titular que não jogou (apagado), no campinho e na lista do PC */
.lt-linha.saiu { opacity:.5; }
.lt-linha.entrou .lt-nome::after { content:"entrou"; margin-left:6px; font-size:9px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:#3ddc84; }
.troca { position:absolute; bottom:-2px; left:50%; transform:translateX(-50%); width:18px; height:18px; z-index:2; display:grid; place-items:center; filter:drop-shadow(0 1px 2px rgba(0,0,0,.7)); }
.troca svg { display:block; width:18px; height:18px; }
body.pc #campo .troca, body.pc .banco .troca { width:20px; height:20px; }
body.pc #campo .troca svg, body.pc .banco .troca svg { width:20px; height:20px; }
/* status do jogador: aro amarelo (dúvida) ou vermelho (fora); cartão vermelho = suspenso, cruz = contundido */
.card.st-d .circ { border:3px solid #f5c518; }
.card.st-fora .circ { border:3px solid #e02424; }
body.pc #campo .card.st-d .circ, body.pc #campo .card.st-fora .circ, body.pc .banco .card.st-d .circ, body.pc .banco .card.st-fora .circ { border-width:4px; }
.stico { position:absolute; top:-2px; left:7px; width:17px; height:17px; z-index:2; display:grid; place-items:center; filter:drop-shadow(0 1px 2px rgba(0,0,0,.6)); font-style:normal; }
.stico svg { display:block; width:17px; height:17px; }
body.pc #campo .stico, body.pc .banco .stico { width:21px; height:21px; left:11px; }
body.pc #campo .stico svg, body.pc .banco .stico svg { width:21px; height:21px; }
/* puxar para atualizar (celular) */
html, body { overscroll-behavior-y: contain; }
/* o quadro das análises (modo visualização) não pode prender a rolagem: a roda do mouse sobre ele precisa rolar a página de fora */
html.modo-ver, html.modo-ver body { overscroll-behavior: auto; }
#ptr { position:fixed; top:env(safe-area-inset-top, 0px); left:50%; width:38px; height:38px; margin-left:-19px; border-radius:50%; background:#1a1a1f; box-shadow:0 2px 8px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.12); display:grid; place-items:center; opacity:0; transform:translateY(-44px); transition:transform .22s ease, opacity .22s ease; z-index:90; pointer-events:none; }
#ptr span { display:block; width:20px; height:20px; border-radius:50%; border:3px solid rgba(255,255,255,.22); border-top-color:var(--laranja, #ff5a1f); }
#ptr.gira span { animation:ptr-gira .8s linear infinite; }
@keyframes ptr-gira { to { transform:rotate(360deg); } }
.modo-ver .chips .chip.chip-ver:not(:first-child) { display:block; }

/* ligas: tipos, período e situação */
.lg-tipos { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.lg-tipo { text-align:left; background:var(--card); border:1px solid var(--borda); border-radius:12px; padding:9px 11px; color:var(--texto); }
.lg-tipo b { display:block; font-size:.9rem; }
.lg-tipo small { color:var(--suave); font-size:.72rem; }
.lg-tipo[aria-checked="true"] { border-color:var(--laranja); box-shadow:0 0 0 1px var(--laranja) inset; }
.lg-tipos.fixo .lg-tipo:not([aria-checked="true"]) { display:none; }
.lg-tipos.fixo { grid-template-columns:1fr; }
.lg-per { display:flex; align-items:center; gap:8px; }
.lg-per input { width:84px; text-align:center; }
.lg-dica-per { display:block; margin-top:6px; color:var(--suave); font-size:.74rem; }
.lg-situacao { display:flex; align-items:center; gap:8px; margin:8px 0 4px; padding:8px 10px; border-radius:10px; background:var(--card); border:1px solid var(--borda); font-size:.82rem; }
.lg-situacao svg { flex:none; width:22px; height:22px; }
.lg-situacao.fim { border-color:#f5c518; }
.lg-situacao b { color:var(--texto); }

/* ligas: mata-mata */
.lg-fases { display:flex; gap:6px; overflow-x:auto; padding:2px 0 8px; scrollbar-width:none; }
.lg-fases::-webkit-scrollbar { display:none; }
.lg-fase { flex:none; background:var(--card); border:1px solid var(--borda); color:var(--suave); border-radius:999px; padding:6px 12px; font-size:.78rem; white-space:nowrap; }
.lg-fase[aria-pressed="true"] { border-color:var(--laranja); color:var(--texto); }
.lg-fase small { display:block; font-size:.66rem; opacity:.8; }
.lg-fase-t { margin:4px 0 8px; font-size:.8rem; color:var(--suave); }
.lg-jogo { background:var(--card); border:1px solid var(--borda); border-radius:12px; margin-bottom:8px; overflow:hidden; }
.lg-lado { display:flex; align-items:center; gap:8px; padding:8px 10px; }
.lg-lado + .lg-lado { border-top:1px solid var(--borda); }
.lg-lado.toque { cursor:pointer; }
.lg-lado .lg-escudo { width:24px; height:24px; }
.lg-lado .lg-nm { flex:1 1 auto; min-width:0; }
.lg-lado .lg-nm b { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.9rem; }
.lg-lado .lg-nm small { color:var(--suave); font-size:.7rem; }
.lg-lado .lg-ptos { font-variant-numeric:tabular-nums; font-weight:700; }
.lg-lado.vence .lg-nm b, .lg-lado.vence .lg-ptos { color:var(--ok); }
.lg-lado.perde { opacity:.55; }
.lg-lado.aindefinir .lg-nm b { color:var(--suave); font-weight:500; }
.lg-vaga { color:var(--suave); font-size:.85rem; padding:6px 0; }
.lg-sorteio { margin:10px 0; }

/* mata-mata: cartão de confronto no estilo dos jogos da tela inicial, com os times do Cartola */
.lg-jogo { padding:9px 10px 10px; text-align:center; }
.lg-jogo .jg-topo { display:flex; justify-content:center; margin-bottom:6px; }
.lg-jg-meio { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:start; gap:6px; }
.lg-time-jg { display:flex; flex-direction:column; align-items:center; gap:3px; min-width:0; }
.lg-time-jg b { font-size:.8rem; line-height:1.15; max-width:100%; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; word-break:break-word; }
.lg-time-jg small { color:var(--suave); font-size:.66rem; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lg-esc-wrap { width:46px; height:46px; border-radius:50%; background:#14141a; border:1px solid var(--borda); display:grid; place-items:center; overflow:hidden; font-weight:800; color:var(--suave); }
.lg-esc-wrap img { width:80%; height:80%; object-fit:contain; display:block; }
.lg-esc-wrap.vazio { background:#222229; }
.lg-time-jg.toque { cursor:pointer; }
.lg-time-jg.vence b { color:var(--ok); }
.lg-time-jg.perde { opacity:.5; }
.lg-time-jg.aindefinir b { color:var(--suave); font-weight:500; }
.lg-mini-trofeu { width:15px; height:15px; vertical-align:-3px; margin-left:3px; display:inline-block; }
.lg-placar-jg { display:flex; align-items:center; gap:7px; padding-top:12px; font-weight:800; font-size:1.15rem; font-variant-numeric:tabular-nums; }
.lg-placar-jg i { color:var(--suave); font-style:normal; font-weight:600; font-size:.8rem; }
.lg-placar-jg .vence { color:var(--ok); }

/* lista de escolha: aro de situação na foto (amarelo = dúvida, vermelho = fora ou jogo que não vale) e cartão/cruz no canto */
.lj-foto { position:relative; display:flex; flex:0 0 auto; }
.lj-foto.st-d .circ { border:3px solid #f5c518; }
.lj-foto.st-fora .circ { border:3px solid #e02424; }
.lj-foto .stico { top:-4px; left:-4px; }
/* na lista do celular a situação e o "(jogo não válido)" vão numa linha própria, abaixo do nome, para não serem cortados */
.linha-jog:not(.pc-linha) .jog .info b .st { display:block; margin-top:1px; line-height:1.15; }
