/* DIGIMON WARCODE — site. Identidade "Código de Guerra" (21/10/2026): terminal militar, preto + vermelho alerta + âmbar.
   Tudo que é cor/fonte fica nos tokens do :root. Layout em casca: menu lateral + barra de busca (site.js monta). */
:root {
  --fundo: #0A0A0C; --painel: #141418; --painel-2: #1B1B21; --painel-3: #23232B;
  --vermelho: #FF3B3B; --vermelho-esc: #B3202A; --ambar: #FFB020; --verde: #3DDC84; --ciano: #4CC9F0; --roxo: #B57BFF;
  --texto: #E8E6E3; --texto-2: #9A978F; --texto-3: #6B6962;
  --linha: rgba(232,230,227,.09); --linha-2: rgba(232,230,227,.16); --linha-v: rgba(255,59,59,.38);
  --f-titulo: 'Chakra Petch', 'Segoe UI', sans-serif; --f-mono: 'JetBrains Mono', Consolas, monospace; --f-texto: 'IBM Plex Sans', 'Segoe UI', sans-serif;
  --lateral: 248px; --barra: 60px; --gutter: 16px; --largura: 1240px;
  --corte: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px));
}
@media (min-width: 720px) { :root { --gutter: 28px; } }
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { background: var(--fundo); color: var(--texto); font-family: var(--f-texto); font-size: 15px; line-height: 1.55; overflow-x: hidden; min-height: 100vh;
  background-image: linear-gradient(var(--linha) 1px, transparent 1px), linear-gradient(90deg, var(--linha) 1px, transparent 1px);
  background-size: 48px 48px; background-attachment: fixed; }
body::after { content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 200;
  background: repeating-linear-gradient(0deg, rgba(255,255,255,.022) 0 1px, transparent 1px 3px); }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
strong { color: var(--ambar); font-weight: 600; }
button, input, select { font: inherit; color: inherit; }
::selection { background: var(--vermelho); color: #fff; }
:focus-visible { outline: 2px solid var(--ambar); outline-offset: 2px; }
.mono { font-family: var(--f-mono); }
.container { width: 100%; max-width: var(--largura); margin: 0 auto; padding: 0 var(--gutter); }

/* ================= casca ================= */
.app { display: grid; grid-template-columns: var(--lateral) 1fr; min-height: 100vh; }
.lateral-app { position: sticky; top: 0; height: 100vh; overflow-y: auto; background: rgba(10,10,12,.96); border-right: 1px solid var(--linha-2); display: flex; flex-direction: column; z-index: 60; }
.lateral-app .marca { display: flex; align-items: center; gap: 10px; padding: 14px 16px; height: var(--barra); border-bottom: 1px solid var(--linha-2); }
.marca img { width: 34px; height: 34px; }
.marca .nome { font-family: var(--f-titulo); font-weight: 700; font-size: 15px; letter-spacing: 3px; line-height: 1.05; text-transform: uppercase; }
.marca .nome b { color: var(--vermelho); display: block; font-size: 17px; }
.lateral-app nav { padding: 10px 0 16px; flex: 1; }
.grupo-menu { font-family: var(--f-mono); font-size: 10.5px; letter-spacing: 2px; color: var(--texto-3); padding: 16px 18px 6px; text-transform: uppercase; }
.grupo-menu::before { content: '// '; color: var(--vermelho-esc); }
.lateral-app nav a { display: flex; align-items: center; gap: 10px; padding: 8px 18px; margin: 1px 10px; font-family: var(--f-titulo); font-weight: 600; font-size: 14.5px; letter-spacing: .5px; color: var(--texto-2); border-left: 2px solid transparent; }
.lateral-app nav a svg { width: 17px; height: 17px; flex: none; stroke: currentColor; fill: none; stroke-width: 1.8; }
.lateral-app nav a:hover { color: var(--texto); background: rgba(232,230,227,.04); }
.lateral-app nav a.ativo { color: var(--texto); background: linear-gradient(90deg, rgba(255,59,59,.16), transparent); border-left-color: var(--vermelho); }
.lateral-app nav a.ativo svg { stroke: var(--vermelho); }
.lateral-app .estado { margin: 0 12px 14px; padding: 10px 12px; border: 1px solid var(--linha-2); font-family: var(--f-mono); font-size: 11px; color: var(--texto-2); line-height: 1.7; }
.lateral-app .estado b { color: var(--texto); font-weight: 600; }
.principal-app { min-width: 0; display: flex; flex-direction: column; }
.barra { position: sticky; top: 0; z-index: 50; height: var(--barra); display: flex; align-items: center; gap: 12px; padding: 0 var(--gutter); background: rgba(10,10,12,.92); backdrop-filter: blur(6px); border-bottom: 1px solid var(--linha-2); }
.barra .caminho { font-family: var(--f-mono); font-size: 12px; color: var(--texto-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.barra .caminho b { color: var(--vermelho); font-weight: 600; }
.cursor::after { content: '_'; animation: piscar 1.1s steps(1) infinite; color: var(--vermelho); }
@keyframes piscar { 50% { opacity: 0; } }
.busca-global { margin-left: auto; position: relative; width: min(340px, 45vw); }
.busca-global input { width: 100%; height: 38px; padding: 0 12px 0 34px; background: var(--painel); border: 1px solid var(--linha-2); font-family: var(--f-mono); font-size: 13px; }
.busca-global input:focus { border-color: var(--vermelho); outline: none; }
.busca-global::before { content: '>'; position: absolute; left: 12px; top: 50%; transform: translateY(-50%); font-family: var(--f-mono); color: var(--vermelho); }
.abrir-menu { display: none; flex: none; width: 40px; height: 38px; background: none; border: 1px solid var(--linha-2); color: var(--texto); font-size: 18px; cursor: pointer; }
.fundo-menu { display: none; }
@media (max-width: 960px) {
  .app { grid-template-columns: 1fr; }
  .lateral-app { position: fixed; left: 0; top: 0; width: min(280px, 84vw); transform: translateX(-102%); transition: transform .2s; }
  .lateral-app.aberto { transform: none; }
  .fundo-menu.aberto { display: block; position: fixed; inset: 0; background: rgba(0,0,0,.6); z-index: 55; }
  .abrir-menu { display: block; }
  .barra .caminho { display: none; }
  .busca-global { width: auto; flex: 1; }
}

/* ================= blocos comuns ================= */
.painel { position: relative; background: var(--painel); border: 1px solid var(--linha-2); padding: 20px; }
.painel.hud::before, .painel.hud::after { content: ''; position: absolute; width: 14px; height: 14px; border: 2px solid var(--vermelho); pointer-events: none; }
.painel.hud::before { top: -1px; left: -1px; border-right: 0; border-bottom: 0; }
.painel.hud::after { bottom: -1px; right: -1px; border-left: 0; border-top: 0; }
.rotulo { font-family: var(--f-mono); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--texto-2); }
.rotulo.v { color: var(--vermelho); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 46px; padding: 0 22px; font-family: var(--f-titulo); font-weight: 700; font-size: 15px; letter-spacing: 2px; text-transform: uppercase; border: 1px solid var(--linha-2); color: var(--texto); background: var(--painel-2); cursor: pointer; clip-path: var(--corte); transition: background .12s, color .12s, border-color .12s; }
.btn:hover { border-color: var(--texto-2); background: var(--painel-3); }
.btn.principal { background: var(--vermelho); border-color: var(--vermelho); color: #fff; }
.btn.principal:hover { background: #ff5757; }
.btn.ambar { background: var(--ambar); border-color: var(--ambar); color: #141418; }
.btn.contorno { background: transparent; border-color: var(--vermelho); }
.btn.contorno:hover { background: rgba(255,59,59,.12); }
.btn.peq { height: 34px; padding: 0 14px; font-size: 12.5px; letter-spacing: 1.5px; }
.btn[aria-disabled="true"], .btn:disabled { opacity: .45; cursor: not-allowed; }
.tag { display: inline-flex; align-items: center; gap: 6px; font-family: var(--f-mono); font-weight: 600; font-size: 10.5px; letter-spacing: 1.5px; text-transform: uppercase; padding: 2px 8px; border: 1px solid currentColor; color: var(--vermelho); line-height: 1.5; }
.tag.ambar { color: var(--ambar); } .tag.azul { color: var(--ciano); } .tag.verde { color: var(--verde); } .tag.ciano { color: var(--ciano); } .tag.cinza { color: var(--texto-2); } .tag.roxo { color: var(--roxo); }
.tag.cheia { background: var(--vermelho); border-color: var(--vermelho); color: #fff; }
.aviso-previa { display: flex; gap: 10px; align-items: flex-start; background: rgba(255,176,32,.07); border-left: 3px solid var(--ambar); padding: 12px 16px; font-size: 13.5px; color: var(--texto-2); margin-bottom: 20px; }
.aviso-previa::before { content: '!'; font-family: var(--f-mono); font-weight: 700; color: var(--ambar); }

/* títulos */
.titulo-secao { font-family: var(--f-titulo); font-weight: 700; font-size: clamp(26px, 4.4vw, 38px); line-height: 1.05; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 8px; }
.titulo-secao em { font-style: normal; color: var(--vermelho); }
.titulo-secao::before { content: attr(data-cod); display: block; font-family: var(--f-mono); font-size: 11px; letter-spacing: 2px; color: var(--texto-3); margin-bottom: 6px; }
.subtitulo-secao { color: var(--texto-2); max-width: 640px; margin-bottom: 26px; }
.secao { padding: 56px 0; }
.secao.escura { background: rgba(20,20,24,.7); border-top: 1px solid var(--linha); border-bottom: 1px solid var(--linha); }
.linha-titulo { display: flex; align-items: center; gap: 12px; font-family: var(--f-titulo); font-weight: 700; font-size: 17px; letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 14px; }
.linha-titulo::before { content: '▮'; color: var(--vermelho); font-size: 12px; }
.linha-titulo::after { content: ''; flex: 1; height: 1px; background: var(--linha-2); }

/* cabeçalho de página interna */
.cabeca { position: relative; padding: 36px 0 28px; border-bottom: 1px solid var(--linha-2); overflow: hidden; }
.cabeca::before { content: ''; position: absolute; inset: 0; background: url('../img/fundo.jpg') center 30% / cover no-repeat; opacity: .13; filter: grayscale(1) contrast(1.2); }
.cabeca::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, var(--fundo) 25%, rgba(10,10,12,.55)), linear-gradient(0deg, rgba(255,59,59,.08), transparent 60%); }
.cabeca .container { position: relative; z-index: 1; }
.cabeca .cod { font-family: var(--f-mono); font-size: 12px; letter-spacing: 2px; color: var(--vermelho); margin-bottom: 10px; }
.cabeca h1 { font-family: var(--f-titulo); font-weight: 700; font-size: clamp(32px, 6vw, 54px); line-height: 1; text-transform: uppercase; letter-spacing: 1px; }
.cabeca h1 span { color: var(--vermelho); }
.cabeca p { margin-top: 10px; color: var(--texto-2); max-width: 660px; font-size: 16px; }

/* números (estatísticas) */
.numeros { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin-top: 22px; }
.numero-box { background: var(--painel); border: 1px solid var(--linha-2); border-left: 3px solid var(--vermelho); padding: 12px 14px; }
.numero-box .v { font-family: var(--f-mono); font-size: 24px; font-weight: 600; color: var(--texto); line-height: 1.2; }
.numero-box:nth-child(2n) { border-left-color: var(--ambar); }

/* ================= capa (início) ================= */
.capa { position: relative; min-height: min(640px, 86vh); display: flex; align-items: center; overflow: hidden; border-bottom: 1px solid var(--linha-v); }
.capa .fundo { position: absolute; inset: 0; background: url('../img/fundo.jpg') center 35% / cover no-repeat; filter: grayscale(.55) contrast(1.15) brightness(.8); }
.capa::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,10,12,.97) 0%, rgba(10,10,12,.86) 42%, rgba(10,10,12,.35) 78%, rgba(10,10,12,.2) 100%), linear-gradient(0deg, rgba(10,10,12,.95) 0%, transparent 35%), linear-gradient(120deg, transparent 55%, rgba(255,59,59,.18)); }
.capa .container { position: relative; z-index: 1; padding-top: 40px; padding-bottom: 56px; }
.capa .selo { display: inline-flex; align-items: center; gap: 10px; border: 1px solid var(--linha-v); background: rgba(10,10,12,.8); padding: 5px 12px 5px 5px; margin-bottom: 18px; font-family: var(--f-mono); font-size: 12px; letter-spacing: 2px; }
.capa .selo img { width: 28px; height: 28px; }
.capa h1 { font-family: var(--f-titulo); font-weight: 700; font-size: clamp(52px, 10vw, 112px); line-height: .9; letter-spacing: 2px; text-transform: uppercase; }
.capa h1 span { display: block; color: var(--vermelho); text-shadow: 0 0 28px rgba(255,59,59,.35); }
.capa p.chamada { margin-top: 20px; max-width: 540px; font-size: 18px; color: var(--texto); }
.capa .acoes { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 14px; }
.status { margin-top: 26px; display: inline-flex; flex-wrap: wrap; font-family: var(--f-mono); font-size: 12.5px; letter-spacing: 1px; border: 1px solid var(--linha-2); background: rgba(10,10,12,.85); }
.status > div { padding: 8px 14px; border-right: 1px solid var(--linha-2); }
.status > div:last-child { border-right: 0; }
.status .on { color: var(--verde); } .status .off { color: var(--vermelho); } .status .neutro { color: var(--texto-2); }
@media (max-width: 600px) { .capa .acoes .btn { width: 100%; } .status { display: flex; } .status > div { flex: 1 1 50%; } }

/* atalhos (módulos) */
.modulos { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; }
.modulo { display: flex; gap: 14px; align-items: flex-start; background: var(--painel); border: 1px solid var(--linha-2); padding: 16px; transition: border-color .12s, transform .12s; }
.modulo:hover { border-color: var(--vermelho); transform: translateY(-2px); }
.modulo svg { width: 26px; height: 26px; flex: none; stroke: var(--vermelho); fill: none; stroke-width: 1.7; }
.modulo h3 { font-family: var(--f-titulo); font-weight: 700; font-size: 16px; letter-spacing: .5px; text-transform: uppercase; }
.modulo p { font-size: 13px; color: var(--texto-2); margin-top: 2px; }

/* ================= cartões ================= */
.grade { display: grid; gap: 14px; }
.grade.g3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 900px) { .grade.g3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .grade.g3 { grid-template-columns: 1fr; } }
.grade.g4 { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.cartao { position: relative; background: var(--painel); border: 1px solid var(--linha-2); border-top: 2px solid var(--vermelho); padding: 20px 20px 22px; }
.cartao h3 { font-family: var(--f-titulo); font-weight: 700; font-size: 19px; letter-spacing: .5px; text-transform: uppercase; margin: 8px 0 6px; }
.cartao p { color: var(--texto-2); font-size: 14px; }
.cartao .numero { font-family: var(--f-mono); font-weight: 600; font-size: 13px; letter-spacing: 2px; color: var(--vermelho); }
.cartao .numero::before { content: 'PASSO_0'; color: var(--texto-3); }
.cartao.vermelho { border-top-color: var(--vermelho); } .cartao.azul { border-top-color: var(--ciano); } .cartao.verde { border-top-color: var(--verde); } .cartao.ambar { border-top-color: var(--ambar); }

/* download */
.download { display: grid; grid-template-columns: 1.2fr 1fr; gap: 24px; align-items: start; }
@media (max-width: 860px) { .download { grid-template-columns: 1fr; } }
.download .caixa { background: var(--painel); border: 1px solid var(--linha-v); padding: 24px; }
.download .arquivo { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-family: var(--f-mono); font-size: 15px; margin-bottom: 18px; }
.download .arquivo small { color: var(--texto-2); }
.download .btn { width: 100%; }
.download .hash { margin-top: 14px; font-size: 11px; color: var(--texto-3); word-break: break-all; font-family: var(--f-mono); }
.lista-req { list-style: none; }
.lista-req li { position: relative; padding: 9px 0 9px 22px; border-bottom: 1px solid var(--linha); }
.lista-req li::before { content: '>'; position: absolute; left: 4px; color: var(--vermelho); font-family: var(--f-mono); }

/* notícias */
.noticia { background: var(--painel); border: 1px solid var(--linha-2); border-left: 3px solid var(--vermelho); padding: 20px 22px; margin-bottom: 14px; }
.noticia .cab { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 8px; }
.noticia .cab time { font-family: var(--f-mono); color: var(--texto-2); font-size: 12px; }
.noticia h2, .noticia h3.t { font-family: var(--f-titulo); font-weight: 700; font-size: 22px; line-height: 1.15; }
.noticia .resumo { color: var(--texto-2); margin-top: 6px; }
.noticia .bloco { margin-top: 16px; }
.noticia .bloco h4 { font-family: var(--f-mono); font-weight: 600; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--ambar); margin-bottom: 4px; }
.noticia .bloco ul { padding-left: 20px; }
.noticia .bloco li { margin: 3px 0; }
.noticia .bloco li::marker { color: var(--vermelho); }
.noticia .mais { display: inline-block; margin-top: 10px; font-family: var(--f-mono); font-size: 12px; letter-spacing: 1px; color: var(--vermelho); }
.indice-versoes { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 22px; }
.indice-versoes a { font-family: var(--f-mono); font-size: 12px; padding: 4px 10px; border: 1px solid var(--linha-2); }
.indice-versoes a:hover { border-color: var(--vermelho); }

/* abas e tabelas */
.abas { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.abas button { font-family: var(--f-mono); font-size: 12px; letter-spacing: 1px; text-transform: uppercase; padding: 7px 14px; background: transparent; color: var(--texto-2); border: 1px solid var(--linha-2); cursor: pointer; }
.abas button:hover { color: var(--texto); border-color: var(--texto-3); }
.abas button[aria-selected="true"] { background: var(--vermelho); color: #fff; border-color: var(--vermelho); }
.tabela-wrap { overflow-x: auto; background: var(--painel); border: 1px solid var(--linha-2); }
table.ranking, table.tab { width: 100%; border-collapse: collapse; }
table.ranking { min-width: 480px; }
table.ranking th, table.tab th { text-align: left; font-family: var(--f-mono); font-weight: 600; letter-spacing: 1px; text-transform: uppercase; font-size: 11px; color: var(--texto-2); padding: 10px 14px; border-bottom: 1px solid var(--linha-2); white-space: nowrap; }
table.ranking td, table.tab td { padding: 9px 14px; border-bottom: 1px solid var(--linha); font-variant-numeric: tabular-nums; vertical-align: middle; }
table.ranking td.num, table.ranking th.num, table.tab td.num, table.tab th.num { text-align: right; }
table.ranking tr:hover td, table.tab tr:hover td { background: rgba(232,230,227,.025); }
.pos { display: inline-flex; width: 30px; height: 26px; align-items: center; justify-content: center; font-family: var(--f-mono); font-weight: 600; font-size: 13px; border: 1px solid var(--linha-2); }
.pos.p1 { background: var(--ambar); color: #141418; border-color: var(--ambar); } .pos.p2 { background: #C9CCD3; color: #141418; } .pos.p3 { background: #C98A4B; color: #141418; }
.ranking-rodape { margin-top: 10px; font-size: 12px; color: var(--texto-2); font-family: var(--f-mono); }

/* guia */
.guia { display: grid; grid-template-columns: 220px 1fr; gap: 32px; align-items: start; }
@media (max-width: 860px) { .guia { grid-template-columns: 1fr; } .guia nav.lateral { position: static; } }
nav.lateral { position: sticky; top: calc(var(--barra) + 20px); border-left: 1px solid var(--linha-2); }
nav.lateral a { display: block; padding: 6px 14px; font-family: var(--f-titulo); font-weight: 600; font-size: 14.5px; color: var(--texto-2); }
nav.lateral a:hover { color: var(--vermelho); }
.artigo h2 { font-family: var(--f-titulo); font-weight: 700; font-size: 26px; text-transform: uppercase; margin: 8px 0 12px; scroll-margin-top: calc(var(--barra) + 20px); }
.artigo h2:not(:first-child) { margin-top: 44px; }
.artigo h3 { font-family: var(--f-titulo); font-weight: 700; font-size: 18px; margin: 20px 0 6px; color: var(--ambar); }
.artigo ol, .artigo ul { padding-left: 22px; margin: 8px 0; }
.artigo li { margin: 5px 0; }
.atalhos { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 8px; margin-top: 10px; }
.atalho { display: flex; align-items: center; gap: 14px; background: var(--painel); border: 1px solid var(--linha); padding: 10px 12px; }
kbd { flex: none; min-width: 42px; text-align: center; font-family: var(--f-mono); font-weight: 600; font-size: 12.5px; padding: 3px 8px; background: var(--texto); color: var(--fundo); box-shadow: 0 2px 0 var(--vermelho); }
details.faq { background: var(--painel); border: 1px solid var(--linha-2); margin-bottom: 8px; }
details.faq summary { cursor: pointer; padding: 13px 16px; font-family: var(--f-titulo); font-weight: 600; font-size: 16px; list-style: none; }
details.faq summary::-webkit-details-marker { display: none; }
details.faq summary::before { content: '[+]'; display: inline-block; width: 34px; color: var(--vermelho); font-family: var(--f-mono); font-size: 13px; }
details.faq[open] summary::before { content: '[-]'; }
details.faq p { padding: 0 16px 14px 50px; color: var(--texto-2); }

/* doação / crowns */
.pix { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; background: var(--painel); border: 1px solid var(--linha-2); border-left: 3px solid var(--verde); padding: 16px 20px; margin-bottom: 24px; }
.pix .rotulo { width: 100%; }
.pix code { flex: 1 1 260px; font-family: var(--f-mono); font-size: clamp(15px, 4vw, 20px); word-break: break-all; user-select: all; }
@media (max-width: 600px) { .pix .btn { width: 100%; } }
.crowns { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
@media (max-width: 480px) { .crowns { grid-template-columns: 1fr 1fr; gap: 8px; } .crown .qtd { font-size: 20px; } }
.crown { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 20px 14px 16px; background: var(--painel); border: 1px solid var(--linha-2); text-align: center; cursor: pointer; transition: border-color .12s, transform .12s; }
.crown:hover { border-color: var(--ambar); transform: translateY(-2px); }
.crown[aria-pressed="true"] { border-color: var(--vermelho); box-shadow: inset 0 0 0 1px var(--vermelho); }
.crown svg { width: 30px; height: 30px; stroke: var(--ambar); fill: none; stroke-width: 1.6; }
.crown .qtd { font-family: var(--f-mono); font-weight: 600; font-size: 24px; color: var(--texto); }
.crown .un { font-family: var(--f-mono); font-size: 10.5px; letter-spacing: 2px; color: var(--ambar); }
.crown .bonus { font-size: 12px; color: var(--verde); font-family: var(--f-mono); }
.crown .preco { margin-top: 8px; font-family: var(--f-titulo); font-weight: 700; font-size: 17px; }
.crown .selo-c { position: absolute; top: -9px; right: 8px; }
.promo { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: -8px 0 18px; padding: 12px 16px; border: 1px solid var(--linha-v); background: linear-gradient(90deg, rgba(255,59,59,.14), transparent); font-size: 14px; }
.promo b { color: var(--texto); }
.promo[hidden] { display: none; }
.resumo-compra { display: grid; gap: 14px; grid-template-columns: 1fr auto; align-items: center; margin-top: 18px; }
@media (max-width: 700px) { .resumo-compra { grid-template-columns: 1fr; } }
.regioes { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; }
.regiao { display: flex; align-items: center; gap: 14px; padding: 16px; background: var(--painel); border: 1px solid var(--linha-2); cursor: pointer; transition: border-color .12s, transform .12s; }
.regiao:hover { border-color: var(--vermelho); transform: translateY(-2px); }
.regiao[aria-disabled="true"] { opacity: .45; cursor: not-allowed; transform: none; }
.regiao .sigla { flex: none; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--linha-v); font-family: var(--f-mono); font-weight: 600; color: var(--vermelho); }
.regiao b { display: block; font-family: var(--f-titulo); font-size: 16px; }
.regiao small { color: var(--texto-2); font-size: 12.5px; }
.regiao .seta { margin-left: auto; color: var(--texto-3); font-size: 18px; }
.campo { display: flex; flex-direction: column; gap: 6px; }
.campo input, .campo select, .filtros input, .filtros select { height: 40px; padding: 0 12px; background: var(--fundo); border: 1px solid var(--linha-2); font-size: 14px; }
.campo input:focus, .filtros input:focus, .filtros select:focus { border-color: var(--vermelho); outline: none; }

/* ================= wiki ================= */
.filtros { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
.filtros .campo { flex: 1 1 180px; }
.filtros .campo.largo { flex: 3 1 280px; }
.chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chip { font-family: var(--f-mono); font-size: 11.5px; letter-spacing: .5px; padding: 5px 10px; background: transparent; border: 1px solid var(--linha-2); color: var(--texto-2); cursor: pointer; }
.chip:hover { color: var(--texto); border-color: var(--texto-3); }
.chip[aria-pressed="true"] { color: #fff; background: rgba(255,59,59,.18); border-color: var(--vermelho); }
.contagem { font-family: var(--f-mono); font-size: 12px; color: var(--texto-2); margin: 14px 0 10px; }
.contagem b { color: var(--vermelho); font-weight: 600; }

/* ícone de item: background da folha (site.js calcula a posição) */
.ico { flex: none; display: inline-block; width: 40px; height: 40px; background-color: #000; background-repeat: no-repeat; image-rendering: pixelated; border: 1px solid var(--linha-2); }
.ico.g { width: 64px; height: 64px; }
.ico.p { width: 28px; height: 28px; }
.ico.vazio { background-image: repeating-linear-gradient(45deg, var(--painel-2) 0 4px, var(--painel) 4px 8px); }

.lista-itens { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 8px; }
.item-card { display: flex; gap: 12px; align-items: center; text-align: left; width: 100%; padding: 10px 12px; background: var(--painel); border: 1px solid var(--linha); cursor: pointer; transition: border-color .1s, background .1s; }
.item-card:hover, .item-card:focus-visible { border-color: var(--vermelho); background: var(--painel-2); }
.item-card .nm { font-family: var(--f-titulo); font-weight: 600; font-size: 14.5px; line-height: 1.2; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.item-card .meta { font-family: var(--f-mono); font-size: 10.5px; color: var(--texto-3); margin-top: 3px; display: flex; flex-wrap: wrap; gap: 4px 8px; }
.fontes-mini { display: flex; gap: 3px; flex-wrap: wrap; }
.fontes-mini span { font-family: var(--f-mono); font-size: 9.5px; padding: 0 4px; border: 1px solid var(--linha-2); color: var(--texto-2); }
.fontes-mini span.k-d, .fontes-mini span.k-i { color: var(--vermelho); border-color: rgba(255,59,59,.4); }
.fontes-mini span.k-cash { color: var(--ambar); border-color: rgba(255,176,32,.4); }
.mais-itens { display: flex; justify-content: center; margin-top: 16px; }

/* painel de detalhe (gaveta) */
.gaveta-fundo { position: fixed; inset: 0; background: rgba(0,0,0,.65); z-index: 90; opacity: 0; pointer-events: none; transition: opacity .15s; }
.gaveta-fundo.aberto { opacity: 1; pointer-events: auto; }
.gaveta { position: fixed; top: 0; right: 0; height: 100%; width: min(620px, 100%); background: var(--fundo); border-left: 1px solid var(--linha-v); z-index: 95; transform: translateX(102%); transition: transform .2s; display: flex; flex-direction: column; }
.gaveta.aberto { transform: none; }
.gaveta .topo-g { display: flex; gap: 14px; align-items: center; padding: 18px 20px; border-bottom: 1px solid var(--linha-2); background: var(--painel); }
.gaveta .topo-g h2 { font-family: var(--f-titulo); font-weight: 700; font-size: 21px; line-height: 1.15; }
.gaveta .topo-g .fechar { margin-left: auto; align-self: flex-start; width: 36px; height: 36px; flex: none; background: none; border: 1px solid var(--linha-2); color: var(--texto); cursor: pointer; font-family: var(--f-mono); }
.gaveta .topo-g .fechar:hover { border-color: var(--vermelho); color: var(--vermelho); }
.gaveta .corpo-g { overflow-y: auto; padding: 18px 20px 40px; }
.gaveta .desc { color: var(--texto-2); font-size: 14px; white-space: pre-line; margin-bottom: 14px; }
.ficha { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 8px; margin-bottom: 18px; }
.ficha div { background: var(--painel); border: 1px solid var(--linha); padding: 8px 10px; }
.ficha .v { font-family: var(--f-mono); font-size: 14px; margin-top: 2px; }
.bloco-fonte { margin-top: 20px; }
.bloco-fonte .tabela-wrap { max-height: 360px; overflow: auto; }
.bloco-fonte table.tab { font-size: 13.5px; }
.bloco-fonte table.tab td { padding: 7px 12px; }
.link-item { display: inline-flex; align-items: center; gap: 8px; color: var(--texto); background: none; border: 0; padding: 0; cursor: pointer; text-align: left; font: inherit; }
.link-item:hover { color: var(--vermelho); }
.chance { font-family: var(--f-mono); color: var(--ambar); }
.vazio-msg { color: var(--texto-3); font-family: var(--f-mono); font-size: 12.5px; padding: 18px 0; }

/* acessórios */
.lista-acc { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 10px; }
.acc { background: var(--painel); border: 1px solid var(--linha); padding: 14px; cursor: pointer; transition: border-color .1s; }
.acc:hover { border-color: var(--vermelho); }
.acc .cab-acc { display: flex; gap: 12px; align-items: center; margin-bottom: 10px; }
.acc .cab-acc .nm { font-family: var(--f-titulo); font-weight: 600; font-size: 15px; line-height: 1.2; }
.acc .linhas-status { display: grid; gap: 4px; }
.linha-status { display: grid; grid-template-columns: 44px 1fr auto; gap: 8px; align-items: center; font-size: 12.5px; }
.linha-status .sg { font-family: var(--f-mono); font-weight: 600; font-size: 11px; color: var(--vermelho); }
.linha-status .faixa { height: 4px; background: var(--painel-3); position: relative; }
.linha-status .faixa i { position: absolute; top: 0; bottom: 0; background: linear-gradient(90deg, var(--vermelho), var(--ambar)); }
.linha-status .vl { font-family: var(--f-mono); font-size: 11.5px; color: var(--texto-2); white-space: nowrap; }

/* selos */
.lista-selos { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 10px; }
.selo-card { background: var(--painel); border: 1px solid var(--linha); padding: 14px; cursor: pointer; }
.selo-card:hover { border-color: var(--vermelho); }
.selo-card .cab-acc { display: flex; gap: 12px; align-items: center; }
.selo-card .nm { font-family: var(--f-titulo); font-weight: 600; font-size: 15px; line-height: 1.2; }
.graus { display: grid; grid-template-columns: repeat(6, 1fr); gap: 3px; margin-top: 12px; }
.graus div { text-align: center; background: var(--fundo); border: 1px solid var(--linha); padding: 4px 2px; }
.graus .g-n { font-family: var(--f-mono); font-size: 9px; letter-spacing: .5px; color: var(--texto-3); text-transform: uppercase; }
.graus .g-v { font-family: var(--f-mono); font-size: 12px; font-weight: 600; }
.graus div:last-child { border-color: rgba(255,176,32,.5); } .graus div:last-child .g-v { color: var(--ambar); }
.locais { margin-top: 10px; font-size: 12px; color: var(--texto-2); }
.locais::before { content: 'LOCAL › '; font-family: var(--f-mono); font-size: 10.5px; color: var(--vermelho); }

/* digimons */
.lista-dg { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 8px; }
@media (max-width: 420px) { .lista-dg { grid-template-columns: 1fr; } }
.dg-card { display: flex; gap: 14px; align-items: flex-start; padding: 12px 14px; background: var(--painel); border: 1px solid var(--linha); cursor: pointer; transition: border-color .1s, background .1s; }
.dg-card:hover, .dg-card:focus-visible { border-color: var(--vermelho); background: var(--painel-2); }
.dg-img { flex: none; object-fit: contain; background: #000; border: 1px solid var(--linha-2); }
.dg-img.vazio { display: inline-block; background-image: repeating-linear-gradient(45deg, var(--painel-2) 0 4px, var(--painel) 4px 8px); }
.dg-txt { min-width: 0; }
.dg-cab { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.dg-card .nm { font-family: var(--f-titulo); font-weight: 600; font-size: 16px; line-height: 1.2; }
.dg-card .meta { font-size: 11px; color: var(--texto-3); margin-top: 3px; }
.cadeia { margin-top: 6px; font-size: 12.5px; color: var(--texto-2); line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.cadeia b { color: var(--vermelho); font-weight: 600; }
.tag.cheia { color: #fff; }
.gaveta.larga { width: min(860px, 100%); }
.formas { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 8px; margin-bottom: 16px; }
.forma-tab { flex: none; display: flex; flex-direction: column; align-items: center; gap: 4px; width: 88px; padding: 8px 4px; background: var(--painel); border: 1px solid var(--linha); color: var(--texto-2); cursor: pointer; font-size: 11px; line-height: 1.2; text-align: center; }
.forma-tab:hover { border-color: var(--texto-3); color: var(--texto); }
.forma-tab[aria-selected="true"] { border-color: var(--vermelho); color: var(--texto); background: rgba(255,59,59,.1); }
.forma-tab span { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* babel */
.lista-babel { display: grid; gap: 8px; }
.babel-card { background: var(--painel); border: 1px solid var(--linha); }
.babel-card[open] { border-color: var(--linha-v); }
.babel-card summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; align-items: center; padding: 14px 16px; }
.babel-card summary::-webkit-details-marker { display: none; }
.babel-card summary .nm { font-family: var(--f-titulo); font-weight: 600; font-size: 16px; }
.babel-card summary .meta { grid-column: 2; font-size: 11px; color: var(--texto-3); }
.babel-card summary:hover .nm { color: var(--vermelho); }
.babel-card .corpo-b { padding: 0 16px 16px; }
.babel-card .desc { color: var(--texto-2); font-size: 13.5px; margin-bottom: 12px; white-space: pre-line; }
.babel-card .tabela-wrap { max-height: 420px; overflow: auto; }
@media (max-width: 600px) { .babel-card summary { grid-template-columns: 1fr; } .babel-card summary .meta { grid-column: 1; } }

/* cash shop */
.lista-cash { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 10px; }
.cash-card { display: flex; flex-direction: column; gap: 8px; background: var(--painel); border: 1px solid var(--linha); padding: 14px; cursor: pointer; text-align: left; }
.cash-card:hover { border-color: var(--ambar); }
.cash-card .topo-c { display: flex; gap: 10px; align-items: center; }
.cash-card .nm { font-family: var(--f-titulo); font-weight: 600; font-size: 14.5px; line-height: 1.2; }
.cash-card .preco { margin-top: auto; display: flex; align-items: center; justify-content: space-between; border-top: 1px dashed var(--linha-2); padding-top: 8px; font-family: var(--f-mono); }
.cash-card .preco b { color: var(--ambar); font-weight: 600; font-size: 16px; }
.cash-card .pacote { font-size: 12px; color: var(--texto-2); }

/* ================= rodapé ================= */
.rodape { border-top: 1px solid var(--linha-2); padding: 28px 0 24px; margin-top: auto; background: rgba(10,10,12,.9); }
.rodape .container { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 18px; align-items: center; }
.rodape .links { display: flex; flex-wrap: wrap; gap: 14px; font-family: var(--f-mono); font-size: 12px; letter-spacing: 1px; text-transform: uppercase; color: var(--texto-2); }
.rodape .links a:hover { color: var(--vermelho); }
.rodape .legal { width: 100%; font-size: 12px; color: var(--texto-3); border-top: 1px solid var(--linha); padding-top: 14px; }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }
