/* Vale dos Reinos Online — estilo 0.8
   Organização das páginas no modelo dos jogos clássicos de navegador: barra de menu escura no topo,
   linha da aldeia com recursos, uma folha de pergaminho no centro e caixas com cabeçalho cor de couro
   e tabelas densas com linhas alternadas. Arte, cores e nomes são próprios do Vale dos Reinos. */

@font-face{font-family:'Fraunces';src:url('/fontes/fraunces-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Lora';src:url('/fontes/lora.woff') format('woff'),url('/fontes/lora.ttf') format('truetype');font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:'Lora';src:url('/fontes/lora-italico.woff') format('woff'),url('/fontes/lora-italico.ttf') format('truetype');font-weight:400 700;font-style:italic;font-display:swap}

:root{
 --breu:#151d26;--anil:#1f2c39;--anil-2:#2a3b4c;--anil-3:#3a5068;--nevoa:#a9b6c2;--nevoa-clara:#d7dee4;
 --madeira:#3b2a18;--madeira-2:#4f3a22;--madeira-3:#6b5030;
 --folha:#f1e3bf;--folha-2:#e9d7ab;--caixa:#fbf3dc;--caixa-par:#f3e6c3;--couro:#c9a96b;--couro-2:#b48f50;--couro-borda:#8c6a35;
 --linho:#efe4c8;--tinta:#2a2217;--tinta-2:#6b5b40;--linha:#dac79a;
 --latao:#c99a42;--latao-claro:#e7c072;--latao-escuro:#7f5c22;
 --lacre:#a3392b;--lacre-escuro:#73241b;--musgo:#57773a;--musgo-claro:#e1e7c6;
 --titulo:'Fraunces','Iowan Old Style','Palatino Linotype',Georgia,serif;
 --texto:'Lora','Iowan Old Style','Palatino Linotype',Georgia,serif;
 --papel:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .42 0 0 0 0 .32 0 0 0 0 .16 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
 --trama:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.6' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .7 0 0 0 0 .8 0 0 0 0 .9 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
 --raio:4px;--largura:1260px;
 color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;background:var(--trama),radial-gradient(ellipse 90% 60% at 50% -10%,#5a4024 0,transparent 70%),radial-gradient(ellipse 120% 80% at 50% 110%,#140d06 0,transparent 70%),#2b1e11;color:var(--tinta);font:14px/1.5 var(--texto);font-variant-numeric:lining-nums}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed}
:focus-visible{outline:3px solid var(--latao-claro);outline-offset:2px}
h1,h2,h3{font-family:var(--titulo);font-weight:600;margin:0;letter-spacing:-.01em;line-height:1.2}
p{margin:0 0 .7em}
a{color:#7a4e12;text-decoration-color:#7a4e1255;text-underline-offset:2px}
a:hover{color:#4f300a;text-decoration-color:currentColor}
.ui-icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}
.ui-icon.pequeno{width:15px;height:15px;color:var(--latao-escuro)}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[hidden]{display:none!important}
kbd{display:inline-block;padding:0 5px;border:1px solid var(--couro-borda);border-bottom-width:2px;border-radius:3px;background:var(--caixa);font:12px var(--texto)}

/* ================= Barra do topo ================= */
.topo{position:sticky;top:0;z-index:30;box-shadow:0 6px 18px #05090d66}
.menu-topo{display:flex;align-items:stretch;gap:10px;min-height:48px;padding:0 14px;background:linear-gradient(180deg,#4a3520,#33240f 60%,#2a1d0c);border-bottom:2px solid #160f06;box-shadow:inset 0 1px #ffffff1a}
.brand{display:flex;align-items:center;gap:9px;color:var(--linho);text-decoration:none;padding-right:12px;margin-right:2px;border-right:1px solid #ffffff14}
.brand:hover{color:#fff}
.brand .crest{display:grid;place-items:center;width:30px;height:34px;flex-shrink:0}
.brand .crest svg{width:30px;height:34px}
.brand-nome{font:600 16px/1.05 var(--titulo);white-space:nowrap}
.brand-nome small{display:block;font:italic 11px/1.3 var(--texto);color:#cdb98a;margin-top:1px}
.sidebar{display:flex;align-items:stretch;flex:1;min-width:0}
.nav-item{position:relative;display:flex;align-items:center;gap:6px;padding:0 11px;border:0;background:none;color:#ead9b4;text-decoration:none;font-size:14px;white-space:nowrap;border-right:1px solid #00000040;box-shadow:1px 0 #ffffff0d;transition:background .12s,color .12s}
.nav-item .ui-icon{width:17px;height:17px;color:var(--latao-claro);opacity:.9}
.nav-item:hover{background:#ffffff12;color:#fff}
.nav-item.active{background:linear-gradient(180deg,#6b4f2b,#4f3a1e);color:#fff;box-shadow:inset 0 -3px var(--latao-claro)}
.nav-item small{min-width:18px;padding:0 5px;border-radius:9px;background:var(--lacre);color:#fff;font:600 11px/17px var(--texto);text-align:center}
.nav-item small:empty,.nav-item small[data-zero]{display:none}
.so-celular{display:none!important}
.menu-direita{display:flex;align-items:center;gap:10px;margin-left:auto;padding-left:6px}
.relogio{display:flex;align-items:center;gap:5px;color:#ead9b4;font-variant-numeric:tabular-nums;font-size:14px}
.relogio .ui-icon{width:16px;height:16px;color:var(--latao-claro)}
.menu-conta{position:relative}
.menu-conta summary{display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer;padding:5px 9px;border-radius:4px;color:var(--linho);border:1px solid #ffffff1a;background:#ffffff0a}
.menu-conta summary::-webkit-details-marker{display:none}
.menu-conta summary:hover{background:#ffffff16}
.menu-conta summary .ui-icon{color:var(--latao-claro);width:18px;height:18px}
.menu-conta summary b{display:block;font-size:13px;line-height:1.1;max-width:140px;overflow:hidden;text-overflow:ellipsis}
.menu-conta summary small{display:block;font-size:11px;line-height:1.2;color:#cdb98a}
.menu-conta-lista{position:absolute;right:0;top:calc(100% + 6px);min-width:200px;display:grid;padding:5px;border:1px solid var(--couro-borda);border-radius:4px;background:var(--papel),var(--caixa);box-shadow:0 12px 30px #0008;z-index:40}
.menu-conta-lista a,.menu-conta-lista button{display:block;padding:8px 10px;border:0;border-radius:3px;background:none;text-align:left;color:var(--tinta);text-decoration:none;font-size:14px}
.menu-conta-lista a:hover,.menu-conta-lista button:hover{background:var(--caixa-par)}

/* linha da aldeia */
.linha-aldeia{display:flex;align-items:center;gap:12px;min-height:46px;padding:4px 14px;background:var(--papel),linear-gradient(180deg,#e6d09c,#d4b878);border-bottom:1px solid var(--couro-borda);box-shadow:inset 0 1px #fff7}
.troca-aldeia{display:flex;align-items:center;gap:2px}
.seta-aldeia{display:grid;place-items:center;width:28px;height:30px;border:1px solid var(--couro-borda);border-radius:3px;background:linear-gradient(#fbf1d6,#e2cc98);color:var(--madeira)}
.seta-aldeia:hover{background:linear-gradient(#fff8e4,#ecd9a8)}
.seta-aldeia .ui-icon{width:16px;height:16px}
/* 0.86.9: placa da aldeia (miniatura do mapa + nome + selos de coordenada, continente e pontos) */
.aldeia-atual{display:flex;align-items:center;gap:9px;min-width:0;max-width:360px;padding:3px 12px 3px 4px;border:1px solid #9a733a99;border-radius:12px;background:linear-gradient(180deg,#fff8e2e6,#ecd6a2e6);box-shadow:inset 0 1px #fff,inset 0 -2px #b08a4a33,0 1px 3px #4a2f0e33;text-align:left;color:var(--tinta);cursor:pointer;transition:box-shadow .15s,border-color .15s,transform .15s}
.aldeia-atual:hover{border-color:#7a4e12;box-shadow:inset 0 1px #fff,inset 0 -2px #b08a4a33,0 3px 8px #4a2f0e40;transform:translateY(-1px)}
.aldeia-atual:focus-visible{outline:2px solid #c9a24f;outline-offset:2px}
.aldeia-brasao{flex:none;display:grid;place-items:center;width:54px;height:40px;border-radius:9px;background:radial-gradient(ellipse at 50% 70%,#7fa25a55,#0000 70%)}
.aldeia-brasao img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 2px 2px #3a240a55)}
.aldeia-texto{display:flex;flex-direction:column;gap:2px;min-width:0}
.aldeia-atual strong{display:flex;align-items:center;gap:5px;min-width:0;font:700 16.5px/1.15 var(--titulo);letter-spacing:.2px}
.aldeia-atual strong [data-aldeia-nome]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aldeia-seta{flex:none;width:12px;height:12px;color:var(--madeira);opacity:.65;transition:transform .15s,opacity .15s}
.aldeia-atual:hover .aldeia-seta{opacity:1;transform:translateY(1px)}
.aldeia-atual small{display:flex;align-items:center;gap:5px;min-width:0;white-space:nowrap;overflow:hidden}
.selo-aldeia{display:inline-flex;align-items:center;gap:3px;padding:1px 7px 1px 4px;border:1px solid #7a4e1229;border-radius:999px;background:#7a4e1212;font:600 11.5px/1.35 var(--texto);color:var(--tinta-2);font-variant-numeric:tabular-nums}
.selo-aldeia .ui-icon,.selo-aldeia svg{flex:none;width:14px;height:14px}
.selo-aldeia.coord{color:#7a4e12}
.selo-aldeia.coord svg{color:#b5452f}
.selo-aldeia .rot{font-weight:500}
.atalhos{display:flex;gap:3px;padding-left:10px;border-left:1px solid #a3854d66}
.atalhos a{display:grid;place-items:center;width:30px;height:30px;border-radius:3px;border:1px solid transparent;color:var(--madeira-2)}
.atalhos a:hover{border-color:var(--couro-borda);background:#fff6dc}
.atalhos a .ui-icon{width:18px;height:18px}
.alerta-ataques{display:flex;align-items:center;gap:4px;padding:3px 9px;border-radius:3px;background:linear-gradient(#c4513f,#8d2f23);color:#fff;text-decoration:none;font-weight:700;box-shadow:0 0 0 2px #f6c1b5;animation:pulsar 1.6s ease-in-out infinite}
.alerta-ataques:hover{color:#fff}
.alerta-ataques .ui-icon{width:17px;height:17px}
@keyframes pulsar{50%{box-shadow:0 0 0 5px #f6c1b500}}
.resources{display:flex;gap:4px;margin-left:auto}
.res{position:relative;display:flex;align-items:center;gap:6px;padding:3px 9px 6px 6px;border:1px solid #a3854d;border-radius:3px;background:linear-gradient(#fdf6e3,#efe0b8)}
.res>i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#e9c879,#a87a2e);color:#3a2a10;font-style:normal;box-shadow:inset 0 -2px #00000030}
.res>i .ui-icon{width:14px;height:14px}
.res b{display:block;font-size:14px;line-height:1.15;font-variant-numeric:tabular-nums}
.res small{display:block;font-size:11px;line-height:1.1;color:var(--tinta-2);white-space:nowrap}
.res small .nome{display:none}
.res small em{font-style:normal;color:#4a6a2a}
.res .cap{position:absolute;left:4px;right:4px;bottom:2px;height:2px;background:#d6c194;overflow:hidden}
.res .cap i{display:block;height:100%;background:var(--latao-escuro)}
.res.cheio{border-color:var(--lacre)}
.res.cheio b{color:var(--lacre)}
.res.cheio .cap i{background:var(--lacre)}
/* 0.82: aviso antes de encher (menos de 3 h): o "+N/h" vira "cheio em 1h20" */
.res small .enche{display:none;font-weight:700}
.res.quase small em,.res.cheio small em{display:none}
.res.quase small .enche,.res.cheio small .enche{display:inline}
.res.quase{border-color:#c98a1c}
.res.quase small .enche{color:#9a5a00}
.res.quase .cap i{background:#d99a2b}
.res.cheio small .enche{color:var(--lacre)}

/* ================= Folha central ================= */
.shell{min-height:calc(100vh - 96px);display:flex;flex-direction:column}
main{width:calc(100% - 24px);max-width:var(--largura);margin:16px auto 0;padding:16px 18px 24px;background:var(--papel),linear-gradient(180deg,var(--folha),var(--folha-2));border:1px solid #6e5328;border-radius:var(--raio);box-shadow:0 0 0 4px #00000033,0 20px 50px #05090d99;flex:1}
.tela-larga main{max-width:1500px}
/* Trilho de facilitadores (0.81): atalhos verticais na faixa lateral; só no desktop largo e fora das telas largas. */
.trilho-facil{position:fixed;left:10px;top:118px;z-index:20;display:none;flex-direction:column;gap:3px;width:64px;padding:8px 5px 9px;background:var(--papel),linear-gradient(180deg,#f3e6c6,#e7d4a6);border:1px solid #6e5328;border-radius:7px;box-shadow:inset 0 1px #ffffffaa,0 12px 30px #05090d73}
.trilho-tit{display:block;margin-bottom:3px;color:#7a5c2a;font-size:8.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;text-align:center;opacity:.85}
.trilho-item{display:grid;justify-items:center;gap:3px;padding:6px 2px;border:1px solid transparent;border-radius:5px;color:var(--madeira-2);font-size:9.5px;line-height:1.08;text-align:center;font-weight:600;overflow-wrap:anywhere}
.trilho-item .ui-icon{width:26px;height:26px}
.trilho-item:hover{border-color:var(--couro-borda);background:#fff6dc}
.trilho-item.active{border-color:var(--couro-borda);background:#f2dca0;color:#4a3214;box-shadow:inset 0 1px #ffffffcc}
@media(min-width:1440px){body.logado:not(.tela-larga) .trilho-facil{display:flex}}
.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid var(--couro)}
.page-heading h1{font-size:24px;color:var(--madeira)}
.page-heading p{margin:2px 0 0;color:var(--tinta-2);font-size:13px;max-width:80ch}
.page-heading p:empty{display:none}
#conteudo{transition:opacity .15s}
#conteudo.carregando{opacity:.55;pointer-events:none}
footer{display:flex;justify-content:space-between;gap:16px;width:100%;max-width:var(--largura);margin:0 auto;padding:12px 4px 18px;font-size:12px;color:#7f8d9a}
.tela-larga footer{max-width:1500px}

/* ================= Caixas (cards) ================= */
.card{position:relative;margin-bottom:14px;background:var(--caixa);color:var(--tinta);border:1px solid var(--couro-borda);border-radius:var(--raio);box-shadow:0 1px 3px #6b5b4033;overflow:hidden}
.stack>.card,.grade-2>.card,.grade-2>*>.card,.coletas>.card{margin-bottom:0}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:36px;padding:5px 12px;background:linear-gradient(180deg,#dcc28a,var(--couro));border-bottom:1px solid var(--couro-borda);box-shadow:inset 0 1px #fff6}
.card-head h2,.card-head h3{font-size:15px;color:var(--madeira);letter-spacing:0;display:flex;align-items:center;gap:6px}
.card-head small{font-size:12px;color:var(--tinta-2)}
.card-head .link{padding:2px 0;color:#5a3608}
.card-head .btn{min-height:28px;padding:3px 11px;font-size:13px}
.card-head .row{gap:6px}
.card-pe{padding:10px 12px;border-top:1px solid var(--linha);background:var(--caixa-par)}
.pad{padding:12px}
.hint{font-size:13px;color:var(--tinta-2);line-height:1.5}
.card .hint b{color:var(--tinta)}
.subtitulo{font-size:14px;margin:12px 0 6px;color:var(--madeira-2)}
.tag{display:inline-flex;align-items:center;gap:4px;padding:0 8px;border-radius:3px;background:#efe0b8;border:1px solid #c6ad78;color:var(--tinta-2);font-size:12px;font-weight:600;white-space:nowrap;line-height:1.7}
.tag.ready{background:var(--musgo-claro);border-color:#a9b77f;color:#3f5a28}
.tag.blocked{background:#f0d6c8;border-color:#c99a82;color:#7d3a26}
.tag.ativo{background:#f6e3ad;border-color:var(--latao);color:#5e4214}
.notice{margin:0 0 14px;padding:9px 12px;border-radius:3px;background:#fff7dd;border:1px solid #d9bf82;border-left:4px solid var(--latao);color:var(--tinta-2);font-size:13px}
.empty{padding:28px 16px;text-align:center;color:var(--tinta-2)}
.empty strong{display:block;font:600 17px var(--titulo);color:var(--tinta);margin-bottom:4px}
.empty p{margin:0}
.perigo{color:var(--lacre)!important}
.perigo-texto{color:var(--lacre)!important}
.card.perigo{border-color:#a3685a}
.card.perigo .card-head{background:linear-gradient(180deg,#e2b6a6,#cf9a86);border-color:#a3685a}
.riscado{text-decoration:line-through;opacity:.7}
.eyebrow{display:inline-block;font-size:12px;color:var(--tinta-2);font-style:italic}

/* ================= Tabelas (o coração do layout) ================= */
.tabela{width:100%;border-collapse:collapse;font-size:13px}
.tabela th,.tabela td{padding:5px 10px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--linha)}
.tabela thead th{position:sticky;top:0;z-index:1;background:linear-gradient(180deg,#e7d3a2,#d6bb80);color:var(--madeira);font-weight:700;font-size:12px;white-space:nowrap;border-bottom:1px solid var(--couro-borda)}
.tabela tbody tr:nth-child(odd){background:var(--caixa)}
.tabela tbody tr:nth-child(even){background:var(--caixa-par)}
.tabela tbody tr:hover{background:#fff8e2}
.tabela tbody tr:last-child>*{border-bottom:0}
.tabela tfoot th,.tabela tfoot td{background:#e6d3a3;font-weight:700;border-top:2px solid var(--couro);border-bottom:0}
.tabela .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.tabela .num.quebra{white-space:normal}
.tabela th.num{text-align:right}
.tabela .zero{color:#b4a37c}
.tabela .acao{text-align:right;white-space:nowrap}
.tabela .data{white-space:nowrap;font-size:12px;color:var(--tinta-2)}
.tabela .sel{width:28px;padding-right:0}
.tabela .pos{width:42px;font-weight:700;color:var(--tinta-2);text-align:right}
.tabela tr.eu{background:#f5dfa0!important;font-weight:600}
.tabela tr.atual{background:#f5dfa0!important;font-weight:700}
.tabela tr.nao-lido td{font-weight:700}
.tabela tr.nao-lido a{color:#5a3608}
.tabela tr.travado{opacity:.75}
.tabela tr.max{opacity:.85}
.tabela tr.em-curso{background:#eef0da!important}
.tabela tr.sob-ataque{background:#f6ddd5!important}
.tabela input.mini,.tabela select.mini{width:40px;padding:2px 4px}
.tabela .mini .village-mini{width:36px;height:30px}
.tabela.compacta tbody th{width:38%;background:linear-gradient(90deg,#ebd9ad,#e2cc98);color:var(--madeira);font-weight:600;font-size:13px;white-space:nowrap}
.tabela.compacta thead th{position:static}
.tabela-rolagem{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tabela .cost{margin:0;gap:3px 10px;font-size:13px}
.tabela td.cost{display:table-cell}
.tabela td.cost .custo{margin-right:8px}
.tabela .btn{min-height:28px;padding:3px 10px;font-size:13px}
.tabela .link{padding:2px 0;font-size:13px}
.tabela input[type=number]{width:72px;min-height:28px;padding:2px 6px}
.tabela td .row{gap:6px;flex-wrap:nowrap;justify-content:flex-end}
.tabela th.sub{width:70px;font-size:11px;font-weight:600;color:var(--tinta-2);background:none}
.tabela .maximo{color:#8a6012;font-weight:700}
.tabela .ico-tropa .ui-icon,.tabela th .ui-icon{width:18px;height:18px}
.tropas-relatorio{width:auto;min-width:min(100%,420px)}
.tropas-relatorio th,.tropas-relatorio td{text-align:center;padding:4px 10px;min-width:44px}
.tropas-relatorio tbody th{width:96px}
.tropas-relatorio tbody th{text-align:left;font-size:12px;background:linear-gradient(90deg,#ebd9ad,#e2cc98)!important;color:var(--madeira)}
.tropas-relatorio tr.perdas td{color:var(--lacre)}
.tropas-relatorio tr.perdas td.zero{color:#c6b28a}
.edificios-visao th,.edificios-visao td{text-align:center;padding:4px 5px}
.edificios-visao th a{color:var(--madeira)}
.paginacao{display:flex;flex-wrap:wrap;gap:4px;padding:8px 12px;border-top:1px solid var(--linha);background:var(--caixa-par)}
.paginacao a{min-width:28px;padding:2px 7px;border:1px solid var(--couro);border-radius:3px;text-align:center;text-decoration:none;background:var(--caixa)}
.paginacao a.atual{background:var(--couro);color:#fff;font-weight:700}

/* pontos de status (relatórios, membros) */
.ponto{display:inline-block;width:11px;height:11px;border-radius:50%;vertical-align:-1px;border:1px solid #0004;box-shadow:inset 0 -2px #0002}
.ponto.verde{background:#5f9a3a}.ponto.amarelo{background:#e0b33a}.ponto.vermelho{background:#c4513f}.ponto.azul{background:#3d7a9c}.ponto.cinza{background:#9a9384}.ponto.vazio{background:transparent;border:1px dashed #9a8a68}
.contador{display:inline-block;min-width:17px;padding:0 4px;border-radius:9px;background:var(--lacre);color:#fff;font:600 11px/16px var(--texto);text-align:center}

/* ================= Botões e campos ================= */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:5px 14px;border-radius:4px;font-weight:700;font-size:14px;line-height:1.2;text-align:center;text-decoration:none;border:1px solid var(--latao-escuro);color:#2b1d07;background:linear-gradient(180deg,#ecc875 0%,#cf9f45 55%,#b8862f 100%);box-shadow:inset 0 1px #fff3c9,0 1px 0 #5c421a;transition:filter .12s,transform .08s}
.btn:hover{filter:brightness(1.07);color:#2b1d07}
.btn:active{transform:translateY(1px)}
.btn .ui-icon{width:17px;height:17px}
.btn.secondary{color:var(--tinta);border-color:#a88d58;background:linear-gradient(180deg,#fdf6e3,#e8d8b0);box-shadow:inset 0 1px #fff,0 1px 0 #a88d5866}
.btn.secondary:hover{filter:none;background:linear-gradient(180deg,#fffaf0,#efe0bb)}
.btn.ataque{color:#fff3e6;border-color:var(--lacre-escuro);background:linear-gradient(180deg,#c4513f,#a3392b 60%,#8d2f23);box-shadow:inset 0 1px #ffb7a666,0 1px 0 #5a1a12}
.btn.ataque:hover{color:#fff}
.btn.mini{min-height:26px;padding:2px 9px;font-size:12px}
.btn:disabled,.btn:disabled:hover{filter:grayscale(.85);opacity:.55;transform:none}
.full{width:100%;margin-top:8px}
.link,.text-button{background:none;border:0;padding:4px 0;color:#7a4e12;font-size:13px;font-weight:600;text-decoration:underline;text-decoration-color:#7a4e1266;text-underline-offset:3px;cursor:pointer}
.link:hover{text-decoration-color:currentColor}
.link.claro{color:var(--latao-claro)}
.chip{padding:1px 8px;border:1px solid var(--couro);border-radius:10px;background:var(--caixa);font-size:12px;font-variant-numeric:tabular-nums}
.chip:hover{background:#fff}
input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:32px;padding:4px 8px;border:1px solid #b39a65;border-radius:3px;background:#fffdf6;color:var(--tinta);box-shadow:inset 0 1px 2px #6b5b4026}
textarea{width:100%;resize:vertical;line-height:1.5}
input[type=number]{width:84px}
input:focus,select:focus,textarea:focus{border-color:var(--latao-escuro);outline:none;box-shadow:0 0 0 2px #e7c07288}
input[type=checkbox],input[type=radio]{accent-color:#8a6012;width:16px;height:16px;vertical-align:-3px}
label{color:var(--tinta-2);font-size:13px}
.largo{width:100%}
.curto{width:90px!important}
.coord-in{width:66px!important;text-align:center}
.form-grade{display:grid;gap:10px}
.form-grade>label:not(.check){display:grid;gap:3px}
.form-linhas{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:flex-end}
.form-linhas>label:not(.check){display:grid;gap:3px}
.check{display:flex!important;align-items:center;gap:7px;color:var(--tinta);font-size:13px;cursor:pointer}
fieldset{border:1px solid var(--linha);border-radius:3px;padding:8px 10px;margin:0}
legend{padding:0 4px;font-weight:700;font-size:13px;color:var(--madeira-2)}
.perms{display:flex;flex-wrap:wrap;gap:6px 16px}

/* ================= Disposição ================= */
.grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;align-items:start}
.stack{display:grid;gap:14px;align-content:start}
.grade-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start;margin-bottom:14px}
.perfil-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:14px;align-items:start}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.row.fim{justify-content:flex-end}
.row.entre{justify-content:space-between}

/* abas (sub-menus das páginas) */
.training-tabs{display:flex;flex-wrap:wrap;gap:3px;margin:0 0 12px;padding:0 4px;border-bottom:2px solid var(--couro-borda)}
.training-tabs .btn{min-height:30px;margin-bottom:-2px;padding:4px 13px;border-radius:4px 4px 0 0;border:1px solid var(--couro-borda);border-bottom:2px solid var(--couro-borda);font-size:13px;font-weight:600;box-shadow:none;background:linear-gradient(180deg,#e4cf9c,#d3b679);color:var(--madeira)}
.training-tabs .btn:hover{filter:none;background:linear-gradient(180deg,#efdcae,#dfc48a)}
.training-tabs .btn:not(.secondary){background:var(--caixa);border-bottom-color:var(--caixa);color:var(--tinta);font-weight:700;position:relative;z-index:1}
.training-tabs .btn small{font-weight:400;margin-left:2px}
.filtros{margin-bottom:10px}

/* ================= Avisos e janelas ================= */
.toast{position:fixed;left:50%;top:104px;transform:translateX(-50%);z-index:60;display:none;max-width:min(560px,92vw);padding:10px 18px;border-radius:4px;background:var(--papel),#fbf3dc;color:var(--tinta);border:1px solid var(--couro-borda);border-left:5px solid var(--musgo);box-shadow:0 14px 40px #05090d99;font-size:14px;font-weight:600}
.toast.erro{border-left-color:var(--lacre);color:var(--lacre-escuro)}
.toast.show{display:block;animation:aviso .25s ease-out}
@keyframes aviso{from{opacity:0;transform:translate(-50%,-8px)}}
dialog{width:520px;max-width:94vw;max-height:88vh;padding:0;border:1px solid var(--couro-borda);border-radius:var(--raio);background:var(--papel),var(--caixa);color:var(--tinta);box-shadow:0 30px 80px #05090de6}
dialog.largo{width:760px}
dialog::backdrop{background:#0b1218b8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
dialog[open]{animation:janela .18s ease-out}
@keyframes janela{from{opacity:0;transform:translateY(8px)}}
#dialog-content{padding:16px 18px 18px;overflow:auto;max-height:88vh}
dialog h2{font-size:20px;margin:0 -18px 12px;padding:2px 50px 10px 18px;border-bottom:2px solid var(--couro);color:var(--madeira)}
dialog h3{font-size:16px;margin:14px 0 6px}
dialog p{font-size:14px;color:var(--tinta-2)}
dialog p b{color:var(--tinta)}
dialog .row.fim{margin-top:12px}
.close{position:absolute;top:8px;right:10px;z-index:5;display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:50%;background:radial-gradient(circle at 35% 30%,#c4513f,#8d2f23);color:#fff3e6;font-size:18px;line-height:1;box-shadow:inset 0 -2px #00000033,0 2px 5px #0005}
.lista-aldeias{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:3px;max-height:50vh;overflow:auto}
.lista-aldeias button{display:grid;grid-template-columns:1fr auto auto;gap:12px;width:100%;padding:7px 10px;border:1px solid var(--linha);border-radius:3px;background:var(--caixa);text-align:left;font-variant-numeric:tabular-nums}
.lista-aldeias button:hover{background:#fff8e2}
.lista-aldeias button.atual{background:#f5dfa0;border-color:var(--latao)}
.menu-mais{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.menu-mais a,.menu-mais button{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--linha);border-radius:3px;background:var(--caixa);color:var(--tinta);text-decoration:none;text-align:left}
.menu-mais small{margin-left:auto;padding:0 6px;border-radius:9px;background:var(--couro);color:#fff;font-size:11px}
.menu-mais small.perigo{background:var(--lacre);color:#fff!important}
.avisos{margin:10px 0 0;padding:8px 12px 8px 28px;border:1px solid #d9a58f;border-radius:3px;background:#f9e3d9;color:#7d3a26;font-size:13px}
.senha-gerada{font:700 22px/1.4 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.06em;text-align:center;padding:10px;background:#fff;border:1px dashed var(--couro-borda);border-radius:3px;color:var(--tinta)!important;user-select:all}

/* ================= Visão da aldeia ================= */
.aldeia-painel{background:#101820;border-color:#3a2a14}
.aldeia-painel .card-head{background:linear-gradient(180deg,#4a3520,#33240f);border-bottom:1px solid #160f06;min-height:44px}
.aldeia-painel .card-head h2{color:var(--linho);font-size:17px}
.aldeia-painel .card-head small{display:block;font-size:12px;color:#cdb98a}
.alerta-card{border-color:var(--lacre)}
.alerta-card .card-head{background:linear-gradient(180deg,#d77a68,#b44a3a);border-color:var(--lacre-escuro)}
.alerta-card .card-head h2,.alerta-card .card-head .link{color:#fff}
.fila{list-style:none;margin:0;padding:0}
.fila li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:6px 0;border-bottom:1px dotted var(--linha);font-size:13px}
.fila li:last-child{border-bottom:0}
.fila li>span{flex:1;min-width:0}
.fila li small{display:block;font-size:11px;color:var(--tinta-2)}
.fila li>b{font-variant-numeric:tabular-nums;color:var(--latao-escuro)}
.fila .progress{flex-basis:100%;margin:2px 0 0}
.fila .link{padding:0;font-size:12px}
.progress{height:6px;margin:6px 0 2px;border-radius:3px;background:#d8c59b;box-shadow:inset 0 1px 2px #6b5b4055;overflow:hidden}
.progress i{display:block;height:100%;background:linear-gradient(90deg,#8a6012,#e7c072)}
.tropas-grade{list-style:none;margin:0 0 6px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:2px 10px}
.tropas-grade li{display:flex;align-items:center;gap:6px;padding:3px 0;border-bottom:1px dotted var(--linha);font-size:13px}
.tropas-grade li b{font-variant-numeric:tabular-nums}
.tropas-grade li small{font-size:11px;color:var(--tinta-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ico-tropa{display:inline-flex;color:var(--madeira-2)}
.ico-tropa .ui-icon{width:18px;height:18px}
.tropa-inline{display:inline-flex;align-items:center;gap:2px;margin-right:9px;font-variant-numeric:tabular-nums;white-space:nowrap}
.producao{list-style:none;margin:0 0 8px;padding:0}
.producao li{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:1px dotted var(--linha)}
.producao li .ui-icon{color:var(--latao-escuro);width:17px}
.producao li b{margin-left:auto;font-variant-numeric:tabular-nums}
.atalhos-centros{margin-top:6px;gap:12px}

/* lista de comandos (ataques, apoios, retornos) */
.comandos{list-style:none;margin:0;padding:0}
.cmd{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 12px;border-bottom:1px solid var(--linha);font-size:13px}
.cmd:nth-child(even){background:var(--caixa-par)}
.cmd:last-child{border-bottom:0}
.cmd-ic{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e8d6a8;color:var(--madeira-2)}
.cmd.ataque.ida .cmd-ic{background:#f0cfc6;color:var(--lacre)}
.cmd.chegando.ataque .cmd-ic{background:var(--lacre);color:#fff}
.cmd.chegando.ataque{background:#fbe9e3}
.cmd.apoio.ida .cmd-ic{background:#d8e4c3;color:#3f5a28}
.cmd.transporte .cmd-ic{background:#e8dcc0}
.cmd-ic .ui-icon{width:16px;height:16px}
.cmd-txt{min-width:0}
.cmd-txt small{display:block;font-size:12px;color:var(--tinta-2);overflow:hidden;text-overflow:ellipsis}
.cmd-tropas{display:flex;flex-wrap:wrap;gap:2px 10px}
.cmd-tropas span{display:inline-flex;align-items:center;gap:2px}
.cmd-tempo{text-align:right;font-variant-numeric:tabular-nums}
.cmd-tempo b{display:block;font-size:14px}
.cmd-tempo small{display:block;font-size:11px;color:var(--tinta-2)}
.cmd-tempo .link{padding:0;font-size:11px;margin-left:6px}
.rotulo{font-style:normal;padding:0 6px;border-radius:3px;background:#f6e3ad;font-size:11px;color:#5e4214}
.detectado{display:inline-flex;margin-left:4px;padding:1px 4px;border-radius:3px;background:#2a3b4c;color:#fff}
.detectado .ico-tropa{color:#fff}
.alerta-mini{display:inline-flex;align-items:center;gap:2px;padding:0 5px;border-radius:3px;background:var(--lacre);color:#fff;font-size:11px;font-weight:700}
.alerta-mini .ui-icon{width:13px;height:13px}

/* ================= Cena da aldeia (arte pintada, 0.20) ================= */
.cena-moldura{position:relative}
.cena-rolagem{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;overscroll-behavior-x:contain;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}
.dynamic-village{position:relative;aspect-ratio:3/2;width:calc(100% * var(--z,1));background:#7f9a55;isolation:isolate;overflow:hidden;contain:layout paint}
.village-ground,.cena-luz{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}
.village-ground{object-fit:cover;display:block;-webkit-user-select:none;user-select:none}
.cena-luz{z-index:190;background:radial-gradient(ellipse 130% 100% at 50% 45%,transparent 64%,#0d1a103d 100%)}
.cena-barra{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;background:#15202b;border-top:1px solid #0d151c}
.scene-controls{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;margin-left:auto}
.motion-control,.scene-help{min-height:28px;padding:3px 10px;border-radius:3px;border:1px solid #ffffff2e;background:#15202bd9;color:var(--linho);font-size:12px;text-decoration:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.motion-control:hover,.scene-help:hover{border-color:var(--latao);color:#fff}
.village-key{color:var(--nevoa-clara);font-size:12px}
.village-lot{position:absolute;aspect-ratio:1;display:block;color:var(--tinta);text-decoration:none;pointer-events:none}
.village-lot .alvo{position:absolute;left:18%;right:18%;top:26%;bottom:8%;border-radius:45%;pointer-events:auto;cursor:pointer}
.lote-arte,.canteiro{position:absolute;top:0;right:0;bottom:0;left:0;transition:filter .18s,translate .18s}
.lote-arte>svg,.lote-arte>img,.canteiro>svg,.canteiro>img{position:absolute;display:block;pointer-events:none;-webkit-user-select:none;user-select:none}
.lote-arte>svg,.canteiro>svg{top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}
.lote-arte>img,.canteiro>img{top:-6.25%;right:-6.25%;bottom:-6.25%;left:-6.25%;width:112.5%;height:112.5%;max-width:none}
.canteiro.pequeno{top:auto;right:auto;bottom:-2%;left:-4%;width:50%;height:50%}
.canteiro.parado{opacity:.85;filter:saturate(.75)}
.canteiro.grande.parado{opacity:.7}
.cena-moldura,.aldeia-painel,.coluna-principal{min-width:0}
.village-lot:hover .lote-arte,.village-lot:focus-within .lote-arte{filter:drop-shadow(0 0 5px #fff1b8);translate:0 -2px}
.village-lot:hover,.village-lot:focus-within{z-index:150!important}
.village-lot:focus-visible{outline:none}
.village-lot:focus-visible .lot-label{outline:3px solid var(--latao-claro);outline-offset:2px}
.village-lot.empty-lot.available::after{content:'';position:absolute;left:24%;right:24%;top:52%;height:26%;border-radius:50%;border:2px dashed #fff3cf99;background:#fff3cf14;pointer-events:none}
.village-lot.empty-lot.available:hover::after{border-color:#fff3cf;background:#fff3cf2e}
.lot-label{position:absolute;left:50%;top:24%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:5px;padding:2px;border-radius:4px;background:#1a2632e6;color:var(--linho);font-size:12px;line-height:1.5;white-space:nowrap;box-shadow:0 2px 6px #0d1a1066;border:1px solid #0d151c;pointer-events:auto;cursor:pointer}
.lot-label b{display:grid;place-items:center;min-width:20px;height:18px;padding:0 4px;border-radius:3px;background:linear-gradient(#e7c072,#b8862f);color:#2b1d07;font-size:11px;font-variant-numeric:tabular-nums}
.lot-label .nome{display:none;padding-left:5px}
.mostrar-nomes .lot-label .nome,.village-lot:hover .lot-label .nome{display:inline}.village-lot:focus-visible .lot-label .nome{display:inline}
.village-lot small{position:absolute;left:50%;top:44%;transform:translateX(-50%);padding:1px 8px;border-radius:10px;background:#f3e6c4;color:var(--tinta);font-size:11px;white-space:nowrap;box-shadow:0 1px 3px #0d1a1044;pointer-events:none}
.village-lot.empty-lot .lot-label{top:58%;background:#f3e6c4f2;color:var(--tinta);border:1px dashed #8a6a2f}
.village-lot.empty-lot .lot-label b{background:#57773a;color:#fff}
.village-lot.empty-lot small{top:76%}
.village-lot.locked-lot.empty-lot .lot-label,.village-lot.locked-lot.empty-lot small{opacity:0;transition:opacity .15s}
.mostrar-nomes .village-lot.locked-lot.empty-lot .lot-label,.village-lot.locked-lot:hover .lot-label,.village-lot.locked-lot:hover small{opacity:1}.village-lot.locked-lot:focus-visible .lot-label,.village-lot.locked-lot:focus-visible small{opacity:1}
.village-lot.locked-lot .lot-label b{background:#8b8370;color:#fff}
.village-lot.empty-lot small.lote-acao{display:none}
.village-lot.empty-lot:hover small.lote-acao{display:block}.village-lot.empty-lot:focus-visible small.lote-acao{display:block}
.under-construction small{background:#f3dfa8;font-weight:600}
.village-lot small.obra-tempo{top:auto;bottom:0;display:flex;flex-direction:column;align-items:center;gap:1px;padding:2px 6px 1px;background:#1a2632d9;color:#f3e6c4;font-weight:600;font-size:10px;line-height:1.3;border-radius:5px}
.obra-barra{display:block;width:54px;height:3px;border-radius:2px;background:#ffffff2e;overflow:hidden}
.obra-barra b{display:block;height:100%;width:0;background:linear-gradient(90deg,#e7c072,#ffe9a6)}
.village-lot small.obra-fila{top:auto;bottom:4%;background:#f3e6c4;opacity:.92}
.village-lot.under-construction .lot-label{top:14%}
/* muralha: a pintura do fundo muda com o nível; o lote fica sobre o portão */
.village-lot.lote-wall .alvo{top:20%;right:10%;bottom:10%;left:10%}
.village-lot.lote-wall .lot-label{top:42%}
.village-lot.lote-wall.empty-lot::after{display:none}
.village-lot.lote-wall.empty-lot.available .lot-label{opacity:1}
/* imagem de edifício nas listas e páginas */
.evolving-sprite{width:160px;aspect-ratio:1;position:relative;flex-shrink:0}
.evolving-sprite>img{position:absolute;top:-6.25%;right:-6.25%;bottom:-6.25%;left:-6.25%;width:112.5%;height:112.5%;max-width:none;display:block;pointer-events:none}
.evolving-sprite>svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;display:block}
.motion-off *,.motion-off *::before,.motion-off *::after{animation:none!important}
.animations-paused *{animation-play-state:paused!important}

/* edifícios vivos: cada recorte da pintura se move com CSS */
.vivo{display:block}
.px-bell{animation:v-bell 3.2s ease-in-out infinite}
.px-door-left{animation:v-door-l 15s ease-in-out infinite}
.px-door-right{animation:v-door-r 15s ease-in-out infinite}
.px-light{animation:v-light 2.8s ease-in-out infinite alternate}
.px-leaves{animation:v-leaves 4.5s ease-in-out infinite alternate}
.px-cloth{animation:v-cloth 3.7s ease-in-out infinite alternate}
.px-smoke{animation:v-smoke 5s ease-out infinite}
.px-breathe{animation:v-breathe 4.8s ease-in-out infinite alternate}
.px-wheel{animation:v-wheel 12s ease-in-out infinite alternate}
.px-mill{animation:v-mill 26s linear infinite}
.px-hammer{animation:v-hammer 1.9s ease-in-out infinite}
.px-load{animation:v-load 5.7s ease-in-out infinite alternate}
.px-carry{animation:v-carry 4s ease-in-out infinite alternate}
.px-cart-down{animation:v-cart-d 8s ease-in-out infinite alternate}
.px-cart-up{animation:v-cart-u 8s ease-in-out infinite alternate}
.px-cart-left{animation:v-cart-l 8s ease-in-out infinite alternate}
.px-talk{animation:v-talk 3s ease-in-out infinite alternate}
.px-nod{animation:v-nod 4s ease-in-out infinite alternate}
@keyframes v-cart-d{0%,15%{transform:translate(0,0)}85%,100%{transform:translate(14px,7px)}}
@keyframes v-cart-u{0%,15%{transform:translate(0,0)}85%,100%{transform:translate(14px,-7px)}}
@keyframes v-cart-l{0%,15%{transform:translate(0,0)}85%,100%{transform:translate(-16px,8px)}}
@keyframes v-talk{0%,10%,100%{transform:rotate(-8deg)}45%,65%{transform:rotate(14deg)}}
@keyframes v-nod{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(7deg)}}
@keyframes v-bell{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}
@keyframes v-door-l{0%,25%,85%,100%{transform:scaleX(1)}45%,65%{transform:scaleX(.67)}}
@keyframes v-door-r{0%,28%,88%,100%{transform:scaleX(1)}48%,68%{transform:scaleX(.72)}}
@keyframes v-light{0%{filter:brightness(.83)}45%{filter:brightness(1.17)}70%{filter:brightness(.95)}100%{filter:brightness(1.32)}}
@keyframes v-leaves{from{transform:skewX(-2.5deg)}to{transform:skewX(3deg) translateY(-.45px)}}
@keyframes v-cloth{from{transform:skewY(-3deg) scaleX(.98)}to{transform:skewY(3.5deg) scaleX(1.055)}}
@keyframes v-smoke{0%{transform:translate(0,0) scale(.85);opacity:0}18%{opacity:.8}70%{opacity:.6}100%{transform:translate(3px,-8px) scale(1.22);opacity:0}}
@keyframes v-breathe{from{transform:scaleY(.98)}to{transform:scaleY(1.045)}}
@keyframes v-wheel{from{transform:skewY(-1deg)}to{transform:skewY(1deg)}}
@keyframes v-mill{to{transform:rotate(360deg)}}
@keyframes v-hammer{0%,100%{transform:rotate(-12deg)}45%{transform:rotate(20deg)}58%{transform:rotate(-12deg)}68%{transform:rotate(-6deg)}}
@keyframes v-load{from{transform:rotate(-3deg)}to{transform:rotate(3deg)}}
@keyframes v-carry{from{transform:translate(-1.6px,.8px)}to{transform:translate(1.6px,-.8px)}}

/* ================= Páginas de edifício ================= */
.edificio-banner{display:flex;align-items:flex-start;gap:16px;margin-bottom:14px;padding:12px 16px 12px 12px;border-radius:var(--raio);background:var(--papel),linear-gradient(180deg,#fbf3dc,#efe0b8);border:1px solid var(--couro-borda);box-shadow:0 1px 3px #6b5b4033}
.edificio-banner>.evolving-sprite,.edificio-banner>.terreno-vazio{width:150px;height:150px;flex-shrink:0;border-radius:3px;background:radial-gradient(ellipse 60% 55% at 50% 62%,#9db66e,#6f8c48 70%,#58743a);border:1px solid #8c7646;filter:none}
.edificio-banner>.evolving-sprite img{filter:drop-shadow(0 5px 3px #1d2c1450)}
.banner-texto{flex:1;min-width:0}
.banner-texto h2{font-size:22px;color:var(--madeira);margin:0 0 4px}
.banner-texto p{margin:0 0 6px;color:var(--tinta-2);font-size:13px;max-width:75ch}
.banner-texto .eyebrow{color:#8a6012;font-style:normal;font-weight:700}
.melhoria{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:6px;padding:8px 10px;border:1px solid var(--linha);border-radius:3px;background:#fffaf0}
.melhoria .cost{margin:0}
.evolucao-passos{font-size:12px!important;font-style:italic;margin-top:6px!important}
.evolucao-passos .link.claro{color:#7a4e12;font-size:12px;padding:0}
.cost{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin:8px 0;font-size:13px;font-variant-numeric:tabular-nums;color:var(--tinta)}
.custo{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
.custo .ui-icon{width:15px;height:15px;color:var(--latao-escuro)}
.custo.falta{color:var(--lacre);font-weight:700}
.custo.falta .ui-icon{color:var(--lacre)}
.custo.cheio{color:var(--lacre)}
.cost small{color:var(--tinta-2)}
.requirements{list-style:none;padding:0;margin:8px 0;border-radius:3px;overflow:hidden;border:1px solid var(--linha);max-width:420px}
.requirements li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:3px 10px;font-size:13px;background:#f5e7e0;color:#7d3a26;border-bottom:1px solid #e3cdb9}
.requirements li:last-child{border-bottom:0}
.requirements li.met{background:#eef0da;color:#4a6431}
.ed-nome{display:flex;align-items:center;gap:8px;color:var(--tinta);text-decoration:none}
.ed-nome .evolving-sprite,.ed-nome .terreno-vazio{width:44px;height:44px;flex-shrink:0;border-radius:3px;background:radial-gradient(ellipse 60% 55% at 50% 62%,#9db66e,#6f8c48 80%);border:1px solid #a3854d}
.ed-nome b{display:block;font-size:13px}
.ed-nome small{display:block;font-size:11px;color:var(--tinta-2)}
.ed-nome:hover b{text-decoration:underline}
.req-curto{display:block;margin-top:2px;font-size:11px;color:#7d3a26}
.bloqueio{font-size:12px;color:var(--tinta-2);font-style:italic;white-space:nowrap}
.construcoes td{padding-top:4px;padding-bottom:4px}
.unidades-lista{display:grid;gap:10px}
.unit-card{display:grid;grid-template-columns:120px minmax(0,1fr);margin:0}
.unit-card.travado{opacity:.82}
.unit-copy{padding:10px 14px;min-width:0}
.unit-copy h2{font-size:17px;color:var(--madeira)}
.unit-stats{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0 0;padding:0;list-style:none}
.unit-stats li{display:inline-flex;align-items:baseline;gap:4px;padding:0 7px;border-radius:3px;background:#efe0b8;font-size:12px;color:var(--tinta-2)}
.unit-stats li b{color:var(--tinta);font-variant-numeric:tabular-nums}
.unit-card form{margin-top:6px}
.unit-card form label{font-size:13px}
.troop-portrait{overflow:hidden;position:relative;background:#26372b;isolation:isolate}
.troop-portrait img{position:absolute;top:0;left:50%;height:100%;width:auto;max-width:none;display:block;transform:translateX(calc((var(--troop) + .5)*-33.333333%))}
.unit-card>.troop-portrait,.unit-card>.troop-emblem{height:100%;min-height:140px;border-right:1px solid var(--couro-borda)}
.troop-emblem{display:grid;place-items:center;background:radial-gradient(ellipse at 50% 40%,#e9dcb5,#b9a77a);min-width:0}
.troop-emblem svg{width:100%;max-height:150px}
.troop-portrait.mini,.troop-emblem.mini{width:34px;height:38px;border-radius:3px;border:1px solid #a88d58;flex-shrink:0}
.troop-emblem.mini svg{width:34px;height:34px}
.tropa-nome{display:flex;align-items:center;gap:8px}
.tropa-nome small{display:block}
.academy-panel{margin-bottom:12px}
.trade-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0}
.trade-fields label{display:grid;gap:3px}
.trade-fields input,.trade-fields select{width:100%}
.trade-fields .row{flex-wrap:nowrap;gap:6px}
.stage-gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.stage-gallery>div{display:flex;flex-direction:column;align-items:center;padding:8px 6px 10px;border-radius:3px;background:radial-gradient(ellipse 70% 60% at 50% 45%,#9db66e,#6f8c48 80%);border:1px solid #8c7646;color:#fff8e4}
.stage-gallery .evolving-sprite{width:100%;max-width:170px;height:auto;aspect-ratio:1}
.stage-gallery strong{font:600 15px var(--titulo)}
.stage-gallery small{font-size:12px;text-align:center;color:#eef2d8}

/* ================= Praça, coleta e saque ================= */
.entrada-tropas{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 12px;margin-bottom:10px}
.entrada-tropas.compacta{grid-template-columns:repeat(auto-fill,minmax(112px,1fr))}
.campo-tropa{display:flex;align-items:center;gap:5px;padding:3px 6px;border:1px solid var(--linha);border-radius:3px;background:var(--caixa-par)}
.campo-tropa.sem{opacity:.55}
.campo-tropa input{width:68px!important;min-height:28px!important;padding:2px 5px!important}
.qtd-max{border:0;background:none;padding:0;color:#7a4e12;font-size:12px;font-variant-numeric:tabular-nums;text-decoration:underline;text-decoration-color:#7a4e1255}
.form-comando .destino{gap:6px;margin-bottom:10px}
.form-comando label{font-weight:700;color:var(--madeira)}
.recentes{display:flex;flex-wrap:wrap;gap:4px}
.botoes-comando .btn{min-width:130px}
.coletas{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.coleta.travada{opacity:.85}
.coleta .entrada-tropas{grid-template-columns:1fr 1fr}
.previa-coleta{font-size:12px;color:var(--tinta-2);margin:6px 0}
.modelos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.modelo h3{font-size:14px;margin-bottom:6px;color:var(--madeira)}
.saque td{padding-top:4px;padding-bottom:4px}
.saque .cheio{color:#3f7a20;font-weight:700}
.target-preview{display:grid;place-items:center;height:110px;margin:-12px -12px 10px;border-bottom:1px solid #9c8352;background:radial-gradient(ellipse 60% 60% at 50% 60%,#9db66e,#6f8c48 70%,#58743a)}
.target-preview .village-mini{width:120px;height:98px;overflow:visible;filter:drop-shadow(4px 7px 4px #1d2c1455)}
.confirma th{width:30%}

/* ================= Mapa ================= */
.world-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;align-items:start}
.world-card{margin:0;background:#101820;border-color:#3a2a14}
.world-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;padding:6px 12px;background:linear-gradient(180deg,#4a3520,#33240f);border-bottom:1px solid #160f06;color:var(--linho)}
.world-toolbar h2{color:var(--linho);font-size:16px}
.world-toolbar small{display:block;font-size:12px;color:#cdb98a}
.world-toolbar span{color:#cdb98a}
.world-toolbar .btn{min-height:30px;padding:3px 11px;font-size:13px}
.world-buttons{display:flex;gap:6px;flex-wrap:wrap}
.ir-coord{gap:4px}
.ir-coord input{min-height:30px!important}
.mapa-viewport{position:relative;height:640px;max-height:calc(100vh - 230px);min-height:360px;overflow:hidden;background:#6f8a4c;touch-action:none;-webkit-user-select:none;user-select:none}
.mapa-viewport canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none}
.mapa-viewport::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;box-shadow:inset 0 0 60px #0b151a80}
.map-position{position:absolute;bottom:10px;left:36px;z-index:4;display:flex;align-items:center;gap:10px;padding:3px 10px;border-radius:3px;background:#15202bd9;color:var(--linho);font-size:13px;font-variant-numeric:tabular-nums;pointer-events:none;border:1px solid #ffffff1f}
.map-position small{color:var(--nevoa);font-size:11px}
.map-zoom{position:absolute;right:10px;bottom:10px;z-index:5;display:grid;gap:5px}
.map-zoom button{width:36px;height:36px;border-radius:50%;border:1px solid var(--latao-escuro);background:radial-gradient(circle at 35% 30%,#ecc875,#b8862f);color:#2b1d07;font-size:20px;line-height:1;box-shadow:inset 0 -3px #00000026,0 3px 8px #0008}
.mapa-dica{position:absolute;z-index:6;max-width:220px;padding:5px 9px;border-radius:3px;background:var(--caixa);border:1px solid var(--couro-borda);color:var(--tinta);font-size:12px;box-shadow:0 6px 16px #0007;pointer-events:none}
.mapa-dica b{display:block;font-size:13px}
.legend{display:flex;flex-wrap:wrap;gap:4px 14px;padding:6px 12px;font-size:12px;color:var(--nevoa);background:#1a2633;border-top:1px solid #0b1117}
.legend span{display:inline-flex;align-items:center;gap:5px}
.legend i{width:11px;height:11px;border-radius:2px;display:inline-block;border:1px solid #0005}
.legend i.sw-ataque{background:repeating-linear-gradient(45deg,#c4513f 0 3px,#f2d0c8 3px 5px)}
.legend i.sw-chegando{background:#c4513f;border-radius:50%;box-shadow:0 0 0 2px #f6c1b5}
.minimap-wrap{padding:8px}
#world-minimap{display:block;width:100%;aspect-ratio:1;cursor:crosshair;border-radius:3px;border:1px solid var(--couro-borda);touch-action:none;background:#5b6c28;image-rendering:pixelated}
.mapa-selecao h3{font-size:16px;margin:0 0 8px;color:var(--madeira)}
.mapa-selecao .tabela{margin-bottom:8px}
.mapa-selecao .tempos td{padding:2px 8px;font-size:12px}
.acoes-mapa{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.acoes-mapa .btn{min-height:30px;padding:3px 10px;font-size:13px}
.marcar{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding-top:6px;border-top:1px dotted var(--linha)}
.marcar .cor{width:20px;height:20px;padding:0;border-radius:50%;border:1px solid #0005;color:var(--tinta-2);font-size:12px;line-height:1}
.marcar small{font-size:11px;color:var(--tinta-2)}

/* ================= Relatórios ================= */
.relatorio .pad{padding:12px 14px}
.relatorio h2{gap:8px}
.resultado{margin:0 0 10px;padding:6px 12px;border-radius:3px;font:600 17px var(--titulo);border:1px solid}
.resultado.vitoria{background:#e3ecd0;border-color:#a9b77f;color:#3f5a28}
.resultado.derrota{background:#f3dcd3;border-color:#d0a08d;color:#7d3a26}
.modificadores{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;margin-bottom:12px;padding:6px 10px;border:1px solid var(--linha);border-radius:3px;background:var(--caixa-par);font-size:13px}
.modificadores>div{display:flex;align-items:center;gap:6px}
.modificadores span{color:var(--tinta-2)}
.barra-sorte{position:relative;width:120px;height:9px;border-radius:5px;background:#d8c59b;box-shadow:inset 0 1px 2px #0003;overflow:hidden}
.barra-sorte::after{content:'';position:absolute;left:50%;top:0;bottom:0;width:1px;background:#6b5b40}
.barra-sorte i{position:absolute;top:0;bottom:0}
.lado-batalha{margin-bottom:12px}
.lado-batalha h3{font-size:15px;color:var(--madeira);padding:4px 10px;background:linear-gradient(90deg,#e2cc98,transparent);border-left:4px solid var(--couro-borda)}
.lado-quem{margin:4px 0 6px;font-size:13px}
.extras{margin:6px 0 12px;max-width:560px}
.espionagem{padding:8px 12px;border:1px dashed var(--couro-borda);border-radius:3px;background:#fffaf0}
.espionagem h3{display:flex;align-items:center;gap:6px;font-size:15px;margin-bottom:6px;color:var(--madeira)}
.espionagem p{font-size:13px;margin:0 0 6px}
.edificios-vistos{display:flex;flex-wrap:wrap;gap:4px}
.edificios-vistos span{padding:1px 8px;border:1px solid var(--linha);border-radius:3px;background:var(--caixa);font-size:12px}
.texto-relatorio{white-space:normal}

/* ================= Mensagens, fórum, tribo ================= */
.posts{list-style:none;margin:0;padding:0}
.post{border-bottom:1px solid var(--linha)}
.post:nth-child(even){background:var(--caixa-par)}
.post header{display:flex;justify-content:space-between;gap:10px;padding:5px 14px;background:linear-gradient(90deg,#ebd9ad,#f2e4c0);border-bottom:1px solid var(--linha);font-size:13px}
.post header time{font-size:12px;color:var(--tinta-2)}
.post.minha header{background:linear-gradient(90deg,#e1e7c6,#eef0da)}
.post-texto{padding:10px 14px;font-size:14px;overflow-wrap:anywhere}
.responder{display:grid;gap:6px;border-top:2px solid var(--couro)}
.responder label{font-weight:700;color:var(--madeira)}
.texto-tribo{font-size:14px;overflow-wrap:anywhere}
.rel{padding:0 7px;border-radius:3px;font-size:12px;font-weight:600}
.rel-aliado{background:#d7ecef;color:#285663}
.rel-pna{background:#e6defa;color:#55476e}
.rel-inimigo{background:#f3d3cc;color:#7d2a20}
.coord{font-variant-numeric:tabular-nums}

/* ================= Simulador, ajuda, admin ================= */
.simulador .entrada-tropas{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
.simulador .grade-2>.card .pad+.pad{padding-top:0}
.guia{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.guia .card{margin:0}
.guia h2{font-size:18px;color:var(--madeira);margin-bottom:8px}
.passos{margin:0;padding-left:20px;display:grid;gap:6px}
.lista-simples{margin:0 0 8px;padding-left:18px;display:grid;gap:5px}
.ajuda-tabela td{font-size:13px}
.ajuda-tabela td .ui-icon{width:16px;height:16px;color:var(--latao-escuro)}
.admin-config .card{margin-bottom:12px}
.barra-salvar{position:sticky;bottom:0;padding:10px;margin:0 -18px -24px;background:linear-gradient(transparent,var(--folha-2) 30%)}
.registro td{font-size:12px}

/* ================= Entrada e cadastro ================= */
.tela-entrada{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 16px;overflow:hidden}
.entrada-fundo{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0f1720cc,#0f1720ee),url('/assets/aldeia2/f/aldeia-completa-960.webp') center/cover;filter:saturate(.8);z-index:-1}
.entrada-cartao{width:440px;max-width:100%;padding:0 22px 22px;margin:0}
.entrada-marca{display:flex;align-items:center;gap:14px;margin:0 -22px 16px;padding:16px 22px;background:linear-gradient(180deg,#4a3520,#33240f);border-bottom:2px solid #160f06;color:var(--linho)}
.entrada-marca h1{font-size:26px;color:var(--linho)}
.entrada-marca p{margin:2px 0 0;font-size:13px;color:#cdb98a}
.brasao-grande{width:48px;height:55px;flex-shrink:0}
.abas-entrada{display:flex;gap:3px;margin-bottom:14px;border-bottom:2px solid var(--couro-borda)}
.abas-entrada button{flex:1;padding:7px;margin-bottom:-2px;border:1px solid var(--couro-borda);border-bottom:2px solid var(--couro-borda);border-radius:4px 4px 0 0;background:linear-gradient(#e4cf9c,#d3b679);color:var(--madeira);font-weight:600}
.abas-entrada button[aria-selected=true]{background:var(--caixa);border-bottom-color:var(--caixa);font-weight:700}
.form-entrada{display:grid;gap:10px}
.form-entrada>label,.duas-colunas>label{display:grid;gap:3px;font-weight:600}
.form-entrada input:not([type=radio]){width:100%;min-height:38px}
.form-entrada .btn{min-height:42px;font-size:15px}
.duas-colunas{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.erro-form{padding:8px 12px;border-radius:3px;background:#f3dcd3;border:1px solid #d0a08d;color:#7d3a26;font-size:13px;font-weight:600}
.aviso-primeiro{padding:8px 12px;border-radius:3px;background:#f6e3ad;border:1px solid var(--latao);font-size:13px}
.entrada-rodape{margin-top:14px;color:var(--nevoa);font-size:12px;text-align:center}
.rosa{border:1px solid var(--linha);border-radius:3px;padding:8px 10px}
.rosa-grade{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:6px}
.rosa-grade label{position:relative}
.rosa-grade input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0}
.rosa-grade span{display:flex;align-items:center;justify-content:center;gap:4px;min-height:32px;padding:3px;border:1px solid var(--linha);border-radius:3px;background:var(--caixa-par);color:var(--tinta);font-size:12px;cursor:pointer}
.rosa-grade input:checked+span{background:#f5dfa0;border-color:var(--latao-escuro);font-weight:700}
.rosa-grade input:focus-visible+span{outline:3px solid var(--latao-claro)}
.rosa-grade .ui-icon{width:14px;height:14px}
.tela-erro{min-height:100vh;display:grid;place-content:center;gap:10px;text-align:center;color:var(--linho)}
.solta{max-width:900px;margin:30px auto}

/* ================= Tema noite ================= */
:root[data-tema=escuro]{--madeira:#f3e6c4;--madeira-2:#e7d3a3;--folha:#2b2419;--folha-2:#241e15;--caixa:#2f281d;--caixa-par:#352d21;--tinta:#ecdcb8;--tinta-2:#bfae8a;--linha:#4a3f2d;--couro:#6b5534;--couro-borda:#5a4528;color-scheme:dark}
:root[data-tema=escuro] .card-head,:root[data-tema=escuro] .tabela thead th{background:linear-gradient(180deg,#5a4729,#4a3a21);color:#f3e6c4}
:root[data-tema=escuro] .card-head h2,:root[data-tema=escuro] .page-heading h1,:root[data-tema=escuro] .banner-texto h2,:root[data-tema=escuro] .unit-copy h2{color:#f3e6c4}
:root[data-tema=escuro] .tabela.compacta tbody th,:root[data-tema=escuro] .tropas-relatorio tbody th,:root[data-tema=escuro] .post header{background:#3b3224!important;color:#f3e6c4}
:root[data-tema=escuro] input:not([type=checkbox]):not([type=radio]),:root[data-tema=escuro] select,:root[data-tema=escuro] textarea{background:#1e1912;color:#f3e6c4;border-color:#5a4528}
:root[data-tema=escuro] a{color:#e7c072}
:root[data-tema=escuro] .link,:root[data-tema=escuro] .qtd-max{color:#e7c072}
:root[data-tema=escuro] .edificio-banner,:root[data-tema=escuro] .melhoria,:root[data-tema=escuro] .espionagem{background:#2f281d}
:root[data-tema=escuro] .btn.secondary{background:linear-gradient(#4a3d2b,#3a3022);color:#f3e6c4;border-color:#6b5534}
:root[data-tema=escuro] .training-tabs .btn{background:#3a3022;color:#e7d3a3}
:root[data-tema=escuro] .training-tabs .btn:not(.secondary){background:var(--caixa);color:#fff}
:root[data-tema=escuro] .tag{background:#3b3224;border-color:#5a4528;color:#d9c69c}
:root[data-tema=escuro] .unit-stats li{background:#3b3224}
:root[data-tema=escuro] .tabela tbody tr:hover{background:#3d3426}
:root[data-tema=escuro] .tabela tr.eu,:root[data-tema=escuro] .tabela tr.atual{background:#4d3e1f!important}

/* ================= Telas médias ================= */
@media (max-width:1540px){
 .brand-nome{display:none}
 .nav-item{padding:0 8px;gap:5px}
 .relogio .ui-icon{display:none}
}
@media (max-width:1400px){
 .nav-item{padding:0 8px}
 .nav-item span{display:none}
 .nav-item .ui-icon{width:19px;height:19px}
 .nav-item small{position:absolute;top:4px;right:1px}
 .nav-item.active span{display:inline}
}
@media (max-width:1180px){
 .res small{display:none}
 .res{padding-bottom:5px}
 .grid{grid-template-columns:minmax(0,1fr) 290px}
 .world-layout{grid-template-columns:minmax(0,1fr) 260px}
 .atalhos{display:none}
}
@media (max-width:1000px){
 .grid,.world-layout,.perfil-layout{grid-template-columns:1fr}
 .grid>.stack,.world-layout>.stack{grid-template-columns:1fr 1fr}
 .linha-aldeia{flex-wrap:wrap}
 .resources{width:100%;margin:0}
 .resources .res{flex:1}
 .brand-nome small{display:none}
 .nav-item.active span{display:none}
 main{margin-top:10px}
}

/* ================= Celular ================= */
@media (max-width:760px){
 body{font-size:14px}
 body.logado{padding-bottom:calc(60px + env(safe-area-inset-bottom))} /* 0.86.3: só com a barra de baixo (antes sobrava uma faixa escura nas telas de entrar) */
 .menu-topo{min-height:44px;padding:0 8px}
 .brand{border:0;padding:0}
 .brand-nome{display:block;font-size:15px}
 .sidebar{position:fixed;left:0;right:0;bottom:0;z-index:40;height:calc(58px + env(safe-area-inset-bottom));padding:0 0 env(safe-area-inset-bottom);background:linear-gradient(180deg,#4a3520,#2a1d0c);border-top:2px solid #160f06;box-shadow:0 -6px 18px #05090d80}
 .nav-item.so-desktop{display:none}
 .so-celular{display:flex!important}
 .nav-item.celular{flex:1;min-width:0;flex-direction:column;justify-content:center;gap:1px;padding:4px 2px;font-size:11px;border-right:1px solid #00000040}
 .nav-item.celular span{display:block!important;font-size:11px}
 .nav-item.active{box-shadow:inset 0 3px var(--latao-claro)}
 .nav-item small{top:3px;right:calc(50% - 22px)}
 .relogio{font-size:13px}
 .menu-conta summary span{display:none}
 .linha-aldeia{gap:6px;padding:5px 8px}
 .troca-aldeia{flex:1;min-width:0}
 .aldeia-atual{flex:1;max-width:none;gap:7px;padding:3px 9px 3px 3px}
 .aldeia-brasao{width:46px;height:36px}
 .aldeia-atual strong{font-size:16px}
 .resources{display:grid;grid-template-columns:repeat(3,1fr) 1.45fr;gap:3px}
 .res-pop b{font-size:11px!important;letter-spacing:-.2px}
 .res{padding:2px 5px 4px 3px;gap:3px;min-width:0}
 .res>i{width:16px;height:16px}
 .res>i .ui-icon{width:10px;height:10px}
 .res b{font-size:12px;white-space:nowrap}
 main{width:100%;margin:8px 0 0;padding:10px 8px 16px;border-left:0;border-right:0;border-radius:0}
 .page-heading{flex-direction:column;align-items:flex-start;gap:2px}
 .page-heading h1{font-size:20px}
 .grid>.stack,.world-layout>.stack,.grade-2,.guia,.modelos{grid-template-columns:1fr}
 .tabela th,.tabela td{padding:4px 6px}
 .training-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:0}
 .training-tabs .btn{white-space:nowrap;padding:4px 10px}
 .edificio-banner{flex-direction:column;align-items:stretch}
 .edificio-banner>.evolving-sprite,.edificio-banner>.terreno-vazio{width:110px;height:110px;align-self:center}
 .unit-card{grid-template-columns:84px minmax(0,1fr)}
 .unit-card>.troop-portrait,.unit-card>.troop-emblem{min-height:100px}
 .trade-fields{grid-template-columns:1fr}
 .entrada-tropas{grid-template-columns:repeat(2,minmax(0,1fr))}
 .campo-tropa input{width:56px!important}
 .cmd{grid-template-columns:26px minmax(0,1fr);padding:6px 8px}
 .cmd-tempo{grid-column:2;text-align:left;display:flex;align-items:baseline;gap:8px}
 .cmd-tempo b{display:inline}
 .scene-controls{gap:4px}
 .motion-control,.scene-help{min-height:26px;padding:2px 7px;font-size:12px;white-space:nowrap}
 .scene-help{display:none}
 .village-key{display:none}
 .lot-label .nome{display:none!important}
 .lot-label b{font-size:10px;min-width:17px;height:16px}
 .village-lot small.lote-acao{display:none!important}
 .dynamic-village{min-width:calc(900px * var(--z,1))}
 .village-key{display:none}
 .village-lot.locked-lot .lot-label{display:none}
 .mapa-viewport{height:420px;max-height:60vh}
 .world-toolbar{padding:6px 8px}
 .perfil-layout{grid-template-columns:1fr}
 dialog{max-height:92vh}
 .duas-colunas{grid-template-columns:1fr}
 footer{flex-direction:column;gap:2px;padding:10px 12px}
 .toast{top:auto;bottom:calc(70px + env(safe-area-inset-bottom))}
 .barra-salvar{margin:0 -8px -16px}
}
@media (max-width:380px){
 .res b{font-size:11px}
 .resources{min-width:0}
 .res{min-width:0;padding-right:5px;gap:4px}
 .res>div{min-width:0}
 .res b{letter-spacing:-.4px}
 .res>i{width:20px;height:20px}
 .unit-card{grid-template-columns:70px minmax(0,1fr)}
}
/* 'reduzir movimento' do sistema vale para a interface; a aldeia obedece só ao botão Pausar animação do jogo */
@media (prefers-reduced-motion:reduce){
 :not(.dynamic-village,.dynamic-village *,.vivo-box *),::before,::after{animation:none!important;transition:none!important}
}

/* paladino */
.nivel-paladino{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.nivel-paladino b{font:600 20px var(--titulo);color:var(--madeira)}
.nivel-paladino small{color:var(--tinta-2);font-size:12px}
.itens-paladino{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.item-paladino{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--linha);border-radius:3px;background:var(--caixa-par)}
.item-paladino>div{flex:1;min-width:0}
.item-paladino b{display:block;font-size:13px}
.item-paladino small{display:block;font-size:12px;color:var(--tinta-2)}
.item-paladino .ico-tropa .ui-icon{width:26px;height:26px}
.item-paladino.oculto{opacity:.5;border-style:dashed}
.item-paladino.equipado{border-color:var(--latao-escuro);background:#f6e3ad;box-shadow:inset 0 0 0 1px var(--latao)}

/* fim de mundo */
.faixa-mundo{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:8px 12px;border-radius:3px;background:linear-gradient(90deg,#f6e3ad,#fbf3dc);border:1px solid var(--latao);color:#5e4214;font-weight:700;text-decoration:none}
.faixa-mundo.fim{background:linear-gradient(90deg,#4a3520,#6b4f2b);color:#f3e6c4;border-color:#160f06}
.faixa-mundo.fim .ui-icon{color:var(--latao-claro)}
.barra-dominio{width:50%;white-space:nowrap}
.barra-dominio div{position:relative;display:inline-block;vertical-align:middle;width:calc(100% - 60px);height:10px;border-radius:5px;background:#d8c59b;box-shadow:inset 0 1px 2px #0003}
.barra-dominio div i{position:absolute;left:0;top:0;bottom:0;border-radius:5px;background:linear-gradient(90deg,#8a6012,#e7c072)}
.barra-dominio div b{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--lacre)}
.barra-dominio span{display:inline-block;width:52px;text-align:right;font-variant-numeric:tabular-nums}
.vitoria-card .card-head{background:linear-gradient(180deg,#4a3520,#33240f)}
.vitoria-card .card-head h2,.vitoria-card .card-head small{color:#f3e6c4}
.vencedor{font:600 26px var(--titulo);color:var(--madeira);margin:0}
.faixa-mundo.substituto{background:linear-gradient(90deg,#2c4d6b,#3a5068);color:#efe4c8;border-color:#1f3f5e;font-weight:600}
.faixa-mundo.substituto .btn{margin-left:auto}
.registro-sub{max-height:260px;overflow:auto;border:1px solid var(--linha)}
/* grupos e ações em massa */
.grupos-filtro{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:0 0 10px}
.grupos-filtro>span{font-size:12px;font-weight:700;color:var(--tinta-2)}
.chip{text-decoration:none;color:var(--tinta)}
.chip.ativo{background:#6b4a22;border-color:#4f3a22;color:#fff;font-weight:700}
.chip small{opacity:.7}
.tabela .centro,.tabela th.centro{text-align:center}
.massa th,.massa td{padding:3px 4px;text-align:center}
.massa td:first-child{text-align:left;white-space:nowrap}
.massa input[type=number]{width:58px!important;min-height:26px!important;padding:1px 4px!important}
.massa tr.todas th{background:#efe0b8;position:static}
.plano{margin:10px 0}
/* ferramentas da tribo */
.comandos-tribo{list-style:none;margin:0;padding:0}
.cmd-tribo{border-bottom:1px solid var(--linha)}
.cmd-tribo .alvo-membro{display:flex;align-items:center;gap:5px;padding:4px 12px 0;font-size:12px;font-weight:700;color:var(--madeira-2)}
.cmd-tribo .alvo-membro .ui-icon{width:14px;height:14px}
.cmd-tribo .cmd{border-bottom:0;background:transparent!important}
.pedido-texto{display:inline-block;margin-top:2px;font-size:13px;font-style:italic;color:var(--tinta-2)}
.card-head .check{color:var(--madeira);font-size:12px}

/* 0.10: código de recuperação, formatação de texto, busca e gráficos */
.codigo-recuperacao{font:700 24px/1.4 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;text-align:center;padding:12px;margin:12px 0;background:#fff;border:2px dashed var(--couro-borda);border-radius:3px;color:var(--tinta)!important;user-select:all}
.barra-bb{display:flex;flex-wrap:wrap;gap:3px;margin:2px 0 4px}
.barra-bb button{min-width:30px;height:26px;padding:0 7px;border:1px solid var(--couro);border-radius:3px;background:linear-gradient(#fdf6e3,#ead9b0);color:var(--tinta);font-size:13px;line-height:1}
.barra-bb button:hover{background:#fff8e4}
.bb-citacao{margin:6px 0;padding:6px 10px;border-left:4px solid var(--couro);background:#f3e6c3;font-size:13px}
.bb-citacao cite{display:block;font-style:normal;font-weight:700;font-size:12px;color:var(--tinta-2);margin-bottom:2px}
.bb-spoiler{margin:6px 0;padding:4px 8px;border:1px dashed var(--couro);border-radius:3px}
.bb-spoiler summary{cursor:pointer;font-weight:700;font-size:12px;color:var(--tinta-2)}
.bb-relatorio{font-weight:600}
.busca-relatorios{margin:0 0 10px;flex-wrap:nowrap}
.busca-relatorios input{flex:1;min-width:0}
.grafico{display:block;width:100%;height:auto;max-height:260px;margin:0 auto}
.grafico .eixo{stroke:var(--couro-borda);stroke-width:1}
.grafico .guia{stroke:var(--linha);stroke-dasharray:4 4}
.grafico .linha{fill:none;stroke:#8a6012;stroke-width:2.5;stroke-linejoin:round}
.grafico .area{fill:#e7c07244}
.grafico text{font:11px var(--texto);fill:var(--tinta-2)}
button.chip{cursor:pointer;font:inherit;font-size:12px}

/* 0.11: missões, bandeiras, medalhas */
.missoes{list-style:none;margin:0;padding:0}
.missao{display:grid;grid-template-columns:minmax(0,1fr) auto 110px;gap:10px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--linha)}
.missao:nth-child(even){background:var(--caixa-par)}
.missao:last-child{border-bottom:0}
.missao-txt b{display:block;font-size:14px}
.missao-txt small{display:block;font-size:12px;color:var(--tinta-2)}
.missao-txt .progress{max-width:280px}
.missao-premio{text-align:right}
.missao-premio .cost{margin:0;justify-content:flex-end}
.missao-premio small{display:block;font-size:11px;color:#3f5a28;font-weight:700}
.missao-acao{text-align:right}
.missao.pronta{background:#f3ecc9!important;box-shadow:inset 4px 0 var(--latao)}
.missao.feita{opacity:.6}
details.dobravel>summary{list-style:none;cursor:pointer}
details.dobravel>summary::-webkit-details-marker{display:none}
.selo-bandeira{position:relative;display:inline-grid;place-items:center;width:30px;height:36px;vertical-align:middle}
.selo-bandeira i{position:absolute;top:0;right:0;bottom:0;left:0;clip-path:polygon(0 0,100% 0,100% 78%,50% 100%,0 78%);background:var(--cor-b,#8a6012);box-shadow:inset 0 0 0 2px #0003}
.selo-bandeira b{position:relative;margin-top:-4px;color:#fff;font:700 13px var(--titulo);text-shadow:0 1px 1px #0008}
.selo-bandeira.pequeno{width:20px;height:24px}
.selo-bandeira.pequeno b{font-size:10px;margin-top:-3px}
.b-producao{--cor-b:#57773a}.b-recrutamento{--cor-b:#8a5a2b}.b-ataque{--cor-b:#a3392b}.b-defesa{--cor-b:#2c4d6b}.b-populacao{--cor-b:#b58a2a}.b-carga{--cor-b:#6b5030}.b-moedas{--cor-b:#c99a42}
.nome-bandeira{white-space:nowrap}
.link-bandeira{text-decoration:none}
.trocar-bandeira{max-width:190px}
.medalhas{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.medalha{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 8px;border:1px solid var(--linha);border-radius:3px;background:var(--caixa-par);text-align:center}
.medalha .disco{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#d9cfb4,#9a917c);color:#fff;box-shadow:inset 0 -3px #0003,0 2px 4px #0003;margin-bottom:4px}
.medalha .disco .ui-icon{width:24px;height:24px}
.medalha b{font-size:13px}
.medalha small{font-size:11px}
.medalha.nivel-nenhum{opacity:.55}
.medalha.nivel-bronze .disco{background:radial-gradient(circle at 35% 30%,#e7a96b,#9a5a2b)}
.medalha.nivel-prata .disco{background:radial-gradient(circle at 35% 30%,#f2f2f2,#9aa4a6)}
.medalha.nivel-ouro .disco{background:radial-gradient(circle at 35% 30%,#ffe08a,#c99a42)}
.medalha.nivel-diamante .disco{background:radial-gradient(circle at 35% 30%,#d8f6ff,#3d7a9c)}
@media (max-width:760px){.missao{grid-template-columns:1fr auto}.missao-premio{grid-column:1/-1;text-align:left}.missao-premio .cost{justify-content:flex-start}}

.faixa-mundo.evento{background:linear-gradient(90deg,#e1e7c6,#f4f0d8);border-color:#a9b77f;color:#3f5a28;font-weight:600}

.push-caixa{padding:8px 10px;border:1px dashed var(--couro);border-radius:3px;background:var(--caixa-par)}
.push-caixa p{margin:4px 0 8px}

.nota-aldeia{margin:6px 0;padding:6px 8px;border:1px dashed var(--couro);border-radius:3px;background:#fffaf0}
.nota-aldeia .nota-texto{font-size:13px;margin-bottom:4px}
.nota-aldeia .nota-texto small{display:block;font-size:11px;color:var(--tinta-2)}
.nota-aldeia .link{display:inline-flex;align-items:center;gap:4px;padding:0}
.nota-aldeia .link .ui-icon{width:14px;height:14px}
.modelos-tropas{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:0 0 8px}
.modelos-tropas>span:first-child{font-size:12px;font-weight:700;color:var(--tinta-2)}
.chip-modelo{display:inline-flex;align-items:center}
.chip-modelo .chip{border-radius:10px 0 0 10px}
.chip-modelo .tira{height:22px;padding:0 6px;border:1px solid var(--couro);border-left:0;border-radius:0 10px 10px 0;background:var(--caixa-par);color:var(--lacre);font-size:13px;line-height:1}

.trem{margin-top:10px;padding:8px 10px;border:1px solid var(--latao);border-radius:3px;background:#f6e3ad55}
.trem .escolta{gap:6px}
.trem .escolta>span{font-size:12px;font-weight:700;color:var(--tinta-2)}
.boas-vindas li{margin-bottom:4px}

/* bloco A: desenhos, fórum, pastas */
.desenho-painel{display:grid;gap:8px}
.tipos-desenho,.cores-desenho{display:flex;flex-wrap:wrap;gap:4px}
.tipos-desenho .chip.ativo{background:#6b4a22;color:#fff;border-color:#4f3a22}
.cores-desenho .cor{width:24px;height:24px;border-radius:50%;border:2px solid #0003;padding:0}
.cores-desenho .cor.ativa{box-shadow:0 0 0 2px var(--caixa),0 0 0 4px var(--latao-escuro)}
.lista-desenhos{list-style:none;margin:0;padding:0;max-height:220px;overflow:auto}
.lista-desenhos li{display:flex;align-items:center;gap:6px;padding:3px 0;border-bottom:1px dotted var(--linha);font-size:12px}
.lista-desenhos li i{width:12px;height:12px;border-radius:2px;flex-shrink:0;border:1px solid #0004}
.lista-desenhos li span{flex:1;min-width:0}
.lista-desenhos .link{padding:0 4px;font-size:15px;text-decoration:none}
.secoes-forum{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:0 0 10px}
.enquete{border-bottom:1px solid var(--linha);background:#fffaf0}
.enquete h3{font-size:15px;margin-bottom:8px;color:var(--madeira)}
.opcao-enquete{display:grid;grid-template-columns:auto minmax(80px,200px) 1fr 30px;align-items:center;gap:8px;padding:4px 0;font-size:13px;color:var(--tinta)}
.opcao-enquete .barra{height:10px;border-radius:5px;background:#e3d3ab;overflow:hidden}
.opcao-enquete .barra i{display:block;height:100%;background:linear-gradient(90deg,#8a6012,#e7c072)}
.opcao-enquete b{text-align:right;font-variant-numeric:tabular-nums}
.opcao-enquete.minha .txt{font-weight:700}
.enquete .row{margin-top:6px;justify-content:space-between}
.pastas{margin-bottom:6px}
@media (max-width:760px){.opcao-enquete{grid-template-columns:auto 1fr 26px}.opcao-enquete .barra{grid-column:2/3}}

/* tour guiado */
.tour{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;pointer-events:none}
.tour-foco{position:fixed;border:3px solid var(--latao-claro);border-radius:6px;box-shadow:0 0 18px #e7c072aa}
.tour-sombra{position:fixed;background:rgba(10,16,22,.62)}
.tour-balao{position:fixed;pointer-events:auto;padding:12px 14px;border:1px solid var(--couro-borda);border-radius:6px;background:var(--papel),var(--caixa);color:var(--tinta);box-shadow:0 14px 40px #000a;animation:janela .2s ease-out}
.tour-balao small{font-size:11px;font-weight:700;color:var(--tinta-2);text-transform:uppercase;letter-spacing:.04em}
.tour-balao p{margin:4px 0 10px;font-size:14px}
.tour-balao .row{gap:6px}
/* animações de vida */
.nav-item small:not(:empty):not([data-zero]){animation:pulo .5s ease-out}
@keyframes pulo{0%{transform:scale(.4)}60%{transform:scale(1.25)}100%{transform:scale(1)}}
@keyframes faisca{0%,100%{opacity:0;transform:translate(0,0) scale(.6)}40%{opacity:1;transform:translate(-6px,-8px) scale(1)}}
.motion-off .tour-fundo{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(10,16,22,.62)}
.tour-balao button:disabled{opacity:.5;cursor:wait}

/* tema escuro: cores fixas do pergaminho revistas (contraste ≥ 4,5) */
:root[data-tema=escuro] .notice{background:#3a3124;border-color:#5a4528;color:#e2d1ab}
:root[data-tema=escuro] .tabela tfoot th,:root[data-tema=escuro] .tabela tfoot td{background:#3f3526;color:#f3e6c4}
:root[data-tema=escuro] .missao.pronta{background:#3d3420!important}
:root[data-tema=escuro] .missao-txt b{color:#f3e6c4}
:root[data-tema=escuro] .banner-texto .eyebrow{color:#e0b05a}
:root[data-tema=escuro] .req-curto,:root[data-tema=escuro] .perigo-texto,:root[data-tema=escuro] .custo.falta,:root[data-tema=escuro] .custo.falta .ui-icon,:root[data-tema=escuro] .custo.cheio,:root[data-tema=escuro] .chip-modelo .tira,:root[data-tema=escuro] .tropas-relatorio tr.perdas td{color:#ef8b74!important}
:root[data-tema=escuro] .tropas-relatorio tr.perdas td.zero{color:#7d6d50!important}
:root[data-tema=escuro] .saque .cheio{color:#9ccf6f}
:root[data-tema=escuro] .tabela tr.nao-lido a{color:#f0cd7f}
:root[data-tema=escuro] .map-position small{color:#e6edf2}
:root[data-tema=escuro] .tour-balao{background:#2f281d;color:#f3e6c4}
:root[data-tema=escuro] .perigo:not(.menu-mais small){color:#ef8b74!important}
:root[data-tema=escuro] .card.perigo .card-head{background:linear-gradient(180deg,#6a3328,#552820);border-color:#8a4a3c}
:root[data-tema=escuro] .missao-premio small{color:#a9d27e}
:root[data-tema=escuro] .tropas-relatorio tr.perdas td.zero,:root[data-tema=escuro] td.num.zero{color:#94825f!important}
:root[data-tema=escuro] .linha-aldeia{background:linear-gradient(180deg,#3a3022,#2e261b);border-bottom-color:#5a4528;box-shadow:inset 0 1px #ffffff12}
:root[data-tema=escuro] .seta-aldeia{background:linear-gradient(#4a3d2b,#3a3022);border-color:#6b5534;color:#f3e6c4}
:root[data-tema=escuro] .seta-aldeia:hover{background:linear-gradient(#5a4a33,#463a28)}
:root[data-tema=escuro] .atalhos a{color:#e7d3a3}
:root[data-tema=escuro] .atalhos a:hover{background:#4a3d2b;border-color:#6b5534}
:root[data-tema=escuro] .res{background:linear-gradient(#3d3324,#30281c);border-color:#6b5534}
:root[data-tema=escuro] .res small em{color:#a9d27e}
:root[data-tema=escuro] .res .cap{background:#4a3f2d}
:root[data-tema=escuro] .aldeia-atual{background:linear-gradient(180deg,#4a3c28,#382c1d);border-color:#7a5f36;box-shadow:inset 0 1px #ffffff1a,0 1px 3px #0006;color:#f3e6c4}
:root[data-tema=escuro] .aldeia-atual:hover{border-color:#c9a24f}
:root[data-tema=escuro] .aldeia-seta{color:#e7c072}
:root[data-tema=escuro] .selo-aldeia{background:#ffffff10;border-color:#ffffff1f;color:#e9d9b4}
:root[data-tema=escuro] .selo-aldeia.coord{color:#f0c97a}
:root[data-tema=escuro] .selo-aldeia.coord svg{color:#e2735a}

/* vários mundos */
.escolha-mundo{display:grid;gap:3px;margin:0 0 12px;font-weight:600}
.lista-mundos{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.lista-mundos li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--linha);border-radius:4px;background:var(--caixa)}
.lista-mundos li.atual{border-color:var(--latao);box-shadow:inset 4px 0 var(--latao)}
.lista-mundos small{display:block;color:var(--tinta-2);font-size:12px}
.mundos-servidor form .cresce{flex:1;display:grid;gap:3px;min-width:200px}
.mundos-servidor{grid-column:1/-1}

/* moderação */
.post header .denunciar{margin-left:auto;font-size:11px;opacity:.55}
.post:hover header .denunciar{opacity:1}.post header .denunciar:focus-visible{opacity:1}
.denuncias{list-style:none;margin:0;padding:0}
.denuncias li{padding:12px 14px;border-bottom:1px solid var(--linha);display:grid;gap:6px}
.denuncias li.resolvida{opacity:.6}
.denuncias blockquote{margin:0;padding:8px 12px;border-left:3px solid var(--lacre);background:var(--caixa-par);white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow:auto}
.den-motivo{margin:0}
.denuncias .row{gap:8px;flex-wrap:wrap}
tr.suspeito td{background:#f6dcd2}
:root[data-tema=escuro] tr.suspeito td{background:#4a2a22}
.contador-menu:empty{display:none}
.contador-menu{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;background:var(--lacre);color:#fff;font-size:11px;text-align:center}
.post header:has(.denunciar){justify-content:flex-start}
.post header:has(.denunciar) time{margin-left:auto}
.post header .denunciar{margin-left:0}

/* editor do administrador */
.grade-editor{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px 12px}
.grade-editor label{display:grid;gap:2px;font-size:12px}
.grade-editor input{width:100%}
.barra-editor{position:sticky;bottom:0;z-index:5;padding:10px 14px;margin:0 0 14px;border:1px solid var(--couro-borda);border-radius:4px;background:var(--caixa);box-shadow:0 -6px 18px #0002;gap:10px;flex-wrap:wrap}
.barra-editor small{margin-right:auto}
input.curto{width:80px}

/* premium */
.premium-saldo .row{align-items:center;gap:14px;flex-wrap:wrap}
.saldo-pp{display:flex;align-items:center;gap:8px;font-family:var(--titulo)}
.saldo-pp .ui-icon{width:30px;height:30px;color:var(--latao)}
.saldo-pp b{font-size:30px;line-height:1}
.saldo-pp span{color:var(--tinta-2);font-size:13px}
.premium .cresce{flex:1}
.lista-bonus{display:grid;gap:6px;margin-top:8px}
.lista-bonus .row{align-items:center;gap:8px}
.lista-bonus .row>span{flex:1}

.largura-total{grid-column:1/-1}
.grade-2.largura-total{margin-bottom:14px}
/* chat da tribo */
.chat-lista{list-style:none;margin:0;padding:10px 14px;height:min(58vh,520px);overflow-y:auto;display:flex;flex-direction:column;gap:2px;background:var(--caixa-par)}
.chat-lista li{max-width:78%;align-self:flex-start}
.chat-lista li.meu{align-self:flex-end;text-align:right}
.chat-lista li header{font-size:12px;margin-top:8px;color:var(--tinta-2)}
.chat-lista li header time{font-size:11px;margin-left:4px}
.chat-lista li p{display:inline-block;margin:1px 0;padding:6px 10px;border-radius:10px;background:var(--caixa);border:1px solid var(--linha);text-align:left;overflow-wrap:anywhere}
.chat-lista li.meu p{background:#efe0b4;border-color:#d4bc80}
:root[data-tema=escuro] .chat-lista li.meu p{background:#4a3d22;border-color:#6b5534}
.chat-lista li.vazio{align-self:center;margin:auto}
.chat-envio{padding:10px 14px;gap:8px;border-top:1px solid var(--linha)}
.chat-envio input{flex:1;min-width:0}

/* hall da fama e linha do tempo */
.temporada .vencedora{font-size:16px;margin:0 0 10px}
.podio{margin:0;padding-left:24px}
.podio li{padding:3px 0;display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}
.podio li .num{margin-left:auto;color:var(--tinta-2);font-size:12px}
.podio li.p1 b{color:#a07a10}.podio li.p2 b{color:#6e7780}.podio li.p3 b{color:#8a5a2b}
.destaques{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.linha-tempo canvas{display:block;margin:10px auto;max-width:100%;border:1px solid var(--couro-borda);border-radius:4px}
.lt-controles{gap:10px;align-items:center;flex-wrap:wrap}
.lt-controles input[type=range]{flex:1;min-width:140px}
.lt-legenda{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center}
.lt-legenda i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:4px;vertical-align:-1px}

/* tela de entrada com o resumo do mundo */
.tela-entrada{display:grid;grid-template-columns:minmax(0,440px);justify-content:center;align-content:center;gap:16px}
.tela-entrada>.entrada-rodape{grid-column:1/-1}
.entrada-info{width:100%;padding:16px 20px;align-self:start;animation:janela .35s ease-out}
.entrada-info h2{margin:0 0 10px;font-size:20px}
.entrada-info h3{margin:14px 0 6px;font-size:14px;color:var(--tinta-2)}
.entrada-numeros{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;text-align:center}
.entrada-numeros li{padding:8px 4px;border:1px solid var(--linha);border-radius:4px;background:var(--caixa-par)}
.entrada-numeros b{display:block;font:700 20px/1.1 var(--titulo)}
.entrada-numeros span{font-size:11px;color:var(--tinta-2)}
.entrada-lideres{margin:0;padding-left:20px}
.entrada-lideres small{color:var(--tinta-2)}
.entrada-noticia{margin:10px 0 0;font-size:13px}
.entrada-pontos{margin:12px 0 0;padding-left:18px;font-size:13px;color:var(--tinta-2)}
@media (min-width:900px){.tela-entrada{grid-template-columns:minmax(0,440px) minmax(0,360px)}.entrada-info{align-self:center}}
:root[data-tema=escuro] .barra-bb button{background:linear-gradient(#4a3d2b,#3a3022);border-color:#6b5534;color:#f3e6c4}
:root[data-tema=escuro] .barra-bb button:hover{background:#5a4a33}

.faixa-conexao{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:250;max-width:calc(100% - 32px);padding:9px 16px;border-radius:6px;background:#5b2a20;color:#fff4e2;font-size:14px;box-shadow:0 8px 24px #0006;animation:janela .2s ease-out}
@media (max-width:760px){.faixa-conexao{bottom:72px}}


/* ================= Mapa 0.21: arte pintada, filtros e opções ================= */
.world-buttons{display:flex;flex-wrap:wrap;gap:6px}
.world-toolbar .btn.ligado{background:linear-gradient(#e7c072,#b8862f);color:#2b1d07;border-color:#8c6a2a}
.filtros-mapa{display:flex;flex-wrap:wrap;gap:4px 14px;padding:6px 12px;background:#e9d9ae;border-bottom:1px solid #a3854d;font-size:13px;color:var(--tinta)}
.filtros-mapa.claro{background:none;border:0;padding:0 0 8px}
.filtro-rel{display:inline-flex;align-items:center;gap:5px;cursor:pointer;white-space:nowrap}
.filtro-rel i{width:12px;height:12px;border-radius:3px;border:1px solid #0006;display:inline-block}
/* 0.82: a legenda mostra a mesma forma do mapa (círculo, losango, quadrado) */
.filtro-rel i.forma-circulo{border-radius:50%}
.filtro-rel i.forma-quadrado{border-radius:1px;width:10px;height:10px}
.filtro-rel i.forma-losango{width:10px;height:10px;border-radius:1px;transform:rotate(45deg);margin:0 1px}
.filtro-rel b{font-size:11px;color:#5a4527}
.filtro-rel .curto{display:none}
.legend i.sw-anel{border-radius:50%;background:none;border:2px solid #ffe9a0;box-shadow:0 0 4px #ffe9a0}
.mapa-dica small,.mapa-dica em{display:block}
.mapa-dica em{margin-top:3px;color:#8a3a2a;font-style:normal;font-weight:600}
.mapa-rapido{position:absolute;top:24px;left:50%;transform:translateX(-50%);z-index:6;padding:4px 12px;border-radius:14px;background:#8a2f22e6;color:#fff;font-size:12px;font-weight:600;box-shadow:0 3px 10px #0007;pointer-events:none;white-space:nowrap}
.painel-mapa{gap:10px}
.painel-mapa .card-head select.mini{width:auto;min-height:26px;padding:1px 4px;font-size:12px}
.form-procura{display:grid;gap:6px;margin-bottom:8px}
.form-procura .row{flex-wrap:nowrap;gap:6px}
.form-procura input[name=q]{flex:1;min-width:0}
.form-procura .radios{gap:12px;font-size:13px}
.form-procura .radios label{display:inline-flex;align-items:center;gap:4px}
.ir-coord{gap:5px;align-items:center;flex-wrap:nowrap}
.painel-mapa .ir-coord .coord-in{width:62px;min-width:0}
.painel-mapa .ir-coord .btn{padding:3px 10px}
.ir-coord .rot{font-size:13px;margin-right:2px}
.resultados-busca{margin:4px 0 10px;font-size:13px}
.resultados-busca p{margin:0 0 4px}
.resultados-busca ul{list-style:none;margin:0;padding:0;max-height:220px;overflow:auto}
.resultados-busca li button{display:flex;align-items:center;gap:6px;width:100%;padding:3px 2px;text-align:left}
.resultados-busca small{color:var(--tinta-2)}
.sw-rel{display:inline-block;width:10px;height:10px;border-radius:2px;border:1px solid #0006;flex-shrink:0;margin-right:4px;vertical-align:-1px}
details.opcoes-mapa>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:linear-gradient(180deg,#d9be82,#c9a96a);border-bottom:1px solid #a3854d;border-radius:var(--raio) var(--raio) 0 0}
details.opcoes-mapa:not([open])>summary{border-bottom:0;border-radius:var(--raio)}
details.opcoes-mapa>summary::-webkit-details-marker{display:none}
details.opcoes-mapa>summary::after{content:'▾';font-size:14px;color:#5a4527;transition:transform .15s}
details.opcoes-mapa:not([open])>summary::after{transform:rotate(-90deg)}
details.opcoes-mapa>summary h2{font-size:15px;margin:0}
.lista-checks{display:grid;gap:6px}
.lista-checks .check{font-size:13px}
.linha-op{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:13px}
.linha-op select{width:auto}
#rapido-modelo{width:100%;margin-bottom:6px}
.mapa-sel-topo{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.mapa-sel-img{width:76px;height:auto;flex-shrink:0;filter:drop-shadow(0 3px 3px #0004)}
.mapa-sel-img.barbara{filter:grayscale(.8) drop-shadow(0 3px 3px #0004)}
.mapa-sel-topo h3{margin:0}
.mapa-sel-topo small{color:var(--tinta-2)}
canvas.mapa-mundo{display:block;width:min(62vh,100%);aspect-ratio:1;margin:0 auto 8px;border:2px solid #6b5534;border-radius:2px;cursor:crosshair;background:#5b6c28;image-rendering:pixelated}
.row.entre{justify-content:space-between;align-items:center}
.lista-notas{list-style:none;margin:0;padding:0;display:grid;gap:10px;max-height:60vh;overflow:auto}
.lista-notas li{padding:8px 10px;border:1px solid var(--couro-borda);border-radius:4px;background:#fffaf0}
@media (max-width:760px){
 .filtro-rel .longo{display:none}
 .filtro-rel .curto{display:inline}
 .filtros-mapa{gap:4px 10px;padding:6px 8px;font-size:12px}
 .filtros-mapa:not(.claro) .filtro-rel:last-child{display:none}
 .filtro-rel input{width:16px;height:16px;margin:0}
 .world-buttons .btn{padding:3px 8px;font-size:12px}
}
:root[data-tema=escuro] .filtros-mapa:not(.claro){background:#2a2318;color:#efe4c8;border-color:#4a3a22}
:root[data-tema=escuro] .filtro-rel b{color:#e7c072}
:root[data-tema=escuro] .lista-notas li{background:#2a2318}

/* ================= 0.22: miniaturas pintadas das tropas, fichas e teste do administrador ================= */
.ico-tropa img{width:20px;height:20px;display:block;object-fit:contain;filter:drop-shadow(0 1px 0 #0003)}
.tabela .ico-tropa img{width:22px;height:22px}
.item-paladino .ico-tropa img{width:30px;height:30px}
.ico-tropa[data-info-tropa]{cursor:help}
button .ico-tropa,a .ico-tropa,label .ico-tropa{cursor:inherit}
.troop-portrait.pintado{display:block;padding:0;border:0;cursor:zoom-in;background:radial-gradient(ellipse 70% 60% at 50% 60%,#f3e7c6,#d9c49a 75%,#c4ab7c);overflow:hidden}
.troop-portrait.pintado img{position:static;transform:none;width:100%;height:100%;object-fit:contain;padding:6px;transition:transform .2s}
.troop-portrait.pintado:hover img{transform:scale(1.05)}.troop-portrait.pintado:focus-visible img{transform:scale(1.05)}
.troop-portrait.pintado.mini{width:38px;height:42px;padding:0}
.troop-portrait.pintado.mini img{padding:2px}
.ed-nome{background:none;border:0;padding:0;text-align:left;cursor:pointer;color:inherit;font:inherit}
.ed-nome:hover b{text-decoration:underline}
.ficha{display:grid;gap:12px;max-width:640px}
.ficha-topo{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;align-items:start}
.ficha-retrato{height:190px;border-radius:6px;background:radial-gradient(ellipse 70% 60% at 50% 62%,#f6ecd0,#dcc79d 75%,#c3a978);border:1px solid var(--couro-borda);display:grid;place-items:center;overflow:hidden}
.ficha-retrato img{max-width:92%;max-height:92%;object-fit:contain;filter:drop-shadow(0 6px 6px #0003)}
.ficha-retrato.edificio{background:radial-gradient(ellipse 60% 55% at 50% 62%,#9db66e,#6f8c48 70%,#58743a)}
.ficha-retrato.edificio img{max-width:100%;max-height:100%}
.ficha-texto h2{margin:0 0 6px}
.ficha-texto p{margin:0 0 8px}
.ficha-tipo{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--tinta-2)}
.ficha-barras{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ficha-barras li{display:grid;grid-template-columns:170px minmax(0,1fr) auto;gap:10px;align-items:center;font-size:13px}
.ficha-barra{display:block;height:8px;border-radius:4px;background:#e6d7b0;overflow:hidden;border:1px solid #c9b07a}
.ficha-barra b{display:block;height:100%;background:linear-gradient(90deg,#8a6a2f,#e7c072)}
.ficha-barras strong{font-variant-numeric:tabular-nums;min-width:70px;text-align:right}
.ficha-tabela th{width:40%}
.ficha-estagios{display:flex;gap:8px;overflow-x:auto}
.ficha-estagios figure{margin:0;padding:4px;border-radius:4px;border:1px solid transparent;text-align:center;flex:0 0 auto}
.ficha-estagios figure.atual{border-color:var(--latao);background:#f6e9c5}
.ficha-estagios img{width:84px;height:84px;object-fit:contain;display:block}
.ficha-estagios figcaption{font-size:12px;color:var(--tinta-2)}
.ficha-niveis{max-height:300px;overflow:auto;border:1px solid var(--couro-borda);border-radius:4px}
.ficha-niveis thead th{position:sticky;top:0;background:#e9d9ae;z-index:1}
.ficha-niveis tr.atual td{background:#f3e2b0;font-weight:600}
.ficha-niveis tr.proximo td{background:#eef3dc}
.ficha-niveis .cost .custo{margin-right:6px}
.faixa-admin{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:6px 12px;background:#2a2016;color:#f3e6c4;border-bottom:1px solid #0d0a06;font-size:13px}
.faixa-admin.ligado{background:linear-gradient(90deg,#5a3a10,#2a2016)}
.faixa-admin .rot{display:inline-flex;align-items:center;gap:5px;font-weight:600;color:#e7c072}
.faixa-admin .rot .ui-icon{width:16px;height:16px}
.faixa-admin .etapas{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}
.faixa-admin .btn.mini{min-height:26px;padding:1px 8px}
.faixa-admin small{flex-basis:100%;color:#d8c9a4}
@media (max-width:560px){
 .ficha-topo{grid-template-columns:100px minmax(0,1fr)}
 .ficha-retrato{height:130px}
 .ficha-barras li{grid-template-columns:110px minmax(0,1fr) auto;font-size:12px}
}
:root[data-tema=escuro] .ficha-niveis thead th{background:#3a2f20}
:root[data-tema=escuro] .ficha-niveis tr.atual td{background:#4a3a20}
:root[data-tema=escuro] .ficha-niveis tr.proximo td{background:#2f3a22}
:root[data-tema=escuro] .ficha-estagios figure.atual{background:#3a2f20}

/* ================= 0.23: bandeiras pintadas e os dois estilos de paladino ================= */
.selo-bandeira.pintada{width:30px;height:34px}
.selo-bandeira.pintada img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 1px 1px #0005)}
.selo-bandeira.pintada b{position:absolute;right:-4px;bottom:-3px;margin:0;min-width:15px;height:15px;padding:0 3px;border-radius:8px;background:#1a2632;color:#f3e6c4;font:700 10px/15px var(--texto);text-shadow:none;text-align:center}
.selo-bandeira.pintada.pequeno{width:22px;height:25px}
.selo-bandeira.pintada.pequeno b{min-width:13px;height:13px;font-size:9px;line-height:13px}
.ico-bandeira{width:30px;height:30px;object-fit:contain;vertical-align:middle}
.ico-bandeira.mini{width:20px;height:20px;margin-right:2px}
.catalogo-bandeiras td{white-space:nowrap}
.catalogo-bandeiras .nome-bandeira{display:flex;align-items:center;gap:8px}
.catalogo-bandeiras .nome-bandeira small{display:block}
.paladino-topo{display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;align-items:start}
.paladino-retrato{width:110px;height:auto;filter:drop-shadow(0 6px 6px #0003)}
.item-equipado{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid var(--latao);border-radius:6px;background:#fbf2d8}
.item-equipado img{width:48px;height:48px;object-fit:contain}
.item-equipado small{display:block;color:var(--tinta-2)}
.item-paladino .arte-item{width:44px;height:44px;object-fit:contain;flex-shrink:0}
.item-paladino.oculto .arte-item{filter:grayscale(1) brightness(.6);opacity:.55}
.progress.grande{height:14px}
.paladino-novo.morto{opacity:.75}
.arvore-paladino{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:8px 0}
.arvore h3{margin:0 0 6px;font-size:14px}
.habilidade{display:grid;grid-template-columns:38px minmax(0,1fr);gap:6px;align-items:center;padding:5px;margin-bottom:5px;border:1px solid var(--couro-borda);border-radius:5px;background:#fffaf0}
.habilidade img{width:38px;height:38px;object-fit:contain}
.habilidade small{display:block;font-size:11px;color:var(--tinta-2);line-height:1.3}
.habilidade .grau{display:inline-block;padding:0 5px;border-radius:8px;background:#e8dcb8;font-size:11px;font-weight:700}
.habilidade.tem{border-color:var(--latao);background:#f6e9c5}
.habilidade.tem .grau{background:var(--latao);color:#2b1d07}
.habilidade.trancada img{filter:grayscale(1);opacity:.5}
.habilidade .btn{grid-column:1/-1;justify-self:start}
.acoes-paladino{flex-wrap:wrap;gap:6px}
.inventario-livros{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.inventario-livros .livro{display:inline-flex;align-items:center;gap:4px;padding:2px 6px 2px 2px;border:1px solid var(--couro-borda);border-radius:14px;background:#fffaf0}
.inventario-livros img{width:24px;height:24px;object-fit:contain}
.faixa-admin.modo-paladino{margin-bottom:12px;border-radius:var(--raio)}
@media (max-width:760px){.arvore-paladino{grid-template-columns:1fr}.paladino-topo{grid-template-columns:70px minmax(0,1fr)}.paladino-retrato{width:70px}}
:root[data-tema=escuro] .habilidade,:root[data-tema=escuro] .inventario-livros .livro{background:#2a2318}
:root[data-tema=escuro] .habilidade.tem,:root[data-tema=escuro] .item-equipado{background:#3a2f20}
/* coleção de bandeiras: todas visíveis, as que faltam apagadas */
.linha-colecao{display:grid;grid-template-columns:190px minmax(0,1fr);gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid #d9c497}
.linha-colecao:last-child{border-bottom:0}
.colecao-nome small{display:block}
.colecao-niveis{display:grid;grid-template-columns:repeat(9,minmax(56px,1fr));gap:6px;overflow-x:auto}
.bandeira-colecao{margin:0;padding:4px 2px;border-radius:6px;text-align:center;border:1px solid transparent;position:relative}
.bandeira-colecao img{width:100%;max-width:64px;aspect-ratio:1;object-fit:contain;display:block;margin:0 auto}
.bandeira-colecao figcaption{display:grid;font-size:11px;line-height:1.25}
.bandeira-colecao .nivel{color:var(--tinta-2)}
.bandeira-colecao .qtd{position:absolute;top:2px;right:2px;min-width:18px;padding:0 4px;border-radius:9px;background:#1a2632;color:#f3e6c4;font-weight:700}
.bandeira-colecao.tem{background:#f6e9c5;border-color:var(--latao)}
.bandeira-colecao.tem img{filter:drop-shadow(0 3px 3px #0004)}
.bandeira-colecao.falta img{filter:grayscale(1) sepia(.25) brightness(.95) contrast(.8);opacity:.38}
.bandeira-colecao.falta figcaption{opacity:.55}
@media (max-width:760px){.linha-colecao{grid-template-columns:1fr}.colecao-niveis{grid-template-columns:repeat(9,58px)}}
:root[data-tema=escuro] .bandeira-colecao.tem{background:#3a2f20}

/* ================= 0.24 — arte pintada da interface =================
   Ícones, texturas, molduras, conquistas, retratos, brasões e animações pintados para o Vale dos Reinos. */
:root{
 --tx-pergaminho:url('/assets/ui/g/pergaminho-claro.webp');--tx-pergaminho-2:url('/assets/ui/g/pergaminho-escuro.webp');
 --tx-madeira:url('/assets/ui/g/madeira-escura.webp');--tx-couro:url('/assets/ui/g/couro.webp');
}
.ui-icon.pintado{object-fit:contain;filter:drop-shadow(0 1px 1px #0000004d);-webkit-user-select:none;user-select:none;-webkit-user-drag:none}
.ui-icon.grande{width:40px;height:40px}
.ui-icon.enorme{width:64px;height:64px}
/* barra do topo em madeira pintada */
.menu-topo{background:linear-gradient(180deg,#00000000,#0000004d),var(--tx-madeira) 0 0/320px,#33240f}
.brand .crest{width:36px;height:42px}
.brand .crest img{width:36px;height:42px;object-fit:contain;filter:drop-shadow(0 2px 2px #0007)}
.nav-item .ui-icon.pintado{width:24px;height:24px;opacity:1}
.nav-item:hover .ui-icon.pintado{transform:translateY(-1px) scale(1.06);transition:transform .15s}
.nav-item.active .ui-icon.pintado{filter:drop-shadow(0 0 4px #e7c07299) drop-shadow(0 1px 1px #000a)}
.relogio .ui-icon.pintado{width:20px;height:20px}
.menu-conta summary .ui-icon.pintado{width:22px;height:22px}
/* linha da aldeia em pergaminho */
.linha-aldeia{background:linear-gradient(180deg,#fff3,#0000 40%,#7a55200f),var(--tx-pergaminho-2) 0 0/360px,#e6d09c}
.atalhos a .ui-icon.pintado{width:32px;height:32px}
.atalhos a{width:36px;height:36px}
.atalhos a:hover .ui-icon.pintado{transform:scale(1.1);transition:transform .15s}
.alerta-ataques .ui-icon.pintado{width:22px;height:22px}
.res>i{width:30px;height:30px;background:none;box-shadow:none}
.res>i .ui-icon.pintado{width:30px;height:30px}
.res{padding-left:4px}
/* folha central e caixas */
main{background:linear-gradient(180deg,#fff2,#fff0 120px),var(--tx-pergaminho) 0 0/420px,var(--folha);position:relative}
main::before,main::after{content:'';position:absolute;top:-6px;width:58px;height:62px;background:url('/assets/ui/g/canto.webp') no-repeat 0 0/contain;pointer-events:none;z-index:2;filter:drop-shadow(0 2px 2px #0005)}
main::before{left:-6px}
main::after{right:-6px;transform:scaleX(-1)}
.page-heading{position:relative;margin-bottom:22px}
.page-heading::after{content:'';position:absolute;left:50%;bottom:-13px;width:150px;height:24px;transform:translateX(-50%);background:url('/assets/ui/g/divisor.webp') no-repeat 50%/contain;pointer-events:none}
.card{background:linear-gradient(#fffaf0d9,#fffaf0d9),var(--tx-pergaminho) 0 0/420px,var(--caixa)}
.card-head{background:linear-gradient(180deg,#ffffff38,#0000 45%,#0000001a),var(--tx-couro) 0 0/300px,var(--couro);border-bottom-color:#6b4f25}
.card-head h2,.card-head h3{color:#fff4dc;text-shadow:0 1px 1px #000a}
.card-head small,.card-head .hint{color:#f3e2bd}
.card-head .link{color:#ffe7b0}
.card-head .tag{background:#fff3d6e6}
.tabela thead th{background:linear-gradient(180deg,#f0dfb5,#dcc188)}
.progress i{background:linear-gradient(90deg,#8a6012,#e7c072 70%,#fff2c0)}
.progress.fina{height:5px}
/* estados vazios ilustrados */
.empty[data-vazio]::before{content:'';display:block;width:150px;height:150px;margin:0 auto 6px;background:no-repeat 50%/contain;opacity:.95}
.empty[data-vazio=mensagens]::before{background-image:url('/assets/vazios/mensagens.webp')}
.empty[data-vazio=relatorios]::before{background-image:url('/assets/vazios/relatorios.webp')}
.empty[data-vazio=comandos]::before{background-image:url('/assets/vazios/comandos.webp')}
.empty[data-vazio=tribo]::before{background-image:url('/assets/vazios/tribo.webp')}
.empty[data-vazio=tropas]::before{background-image:url('/assets/vazios/tropas.webp')}
.empty[data-vazio=anotacoes]::before{background-image:url('/assets/vazios/anotacoes.webp')}
.empty[data-vazio=amigos]::before{background-image:url('/assets/vazios/amigos.webp')}
.empty[data-vazio=busca]::before{background-image:url('/assets/vazios/busca.webp')}
.empty[data-vazio=bandeiras]::before{background-image:url('/assets/vazios/bandeiras.webp')}
.empty[data-vazio=mundo-encerrado]::before{background-image:url('/assets/vazios/mundo-encerrado.webp')}
/* tela de entrada */
.tela-entrada .entrada-fundo{background:linear-gradient(180deg,#0d140f66,#0d140fcc),url('/assets/cenas/tela-entrada-1920.webp') center/cover no-repeat,#151d26}
@media (max-width:960px){.tela-entrada .entrada-fundo{background-image:linear-gradient(180deg,#0d140f66,#0d140fcc),url('/assets/cenas/tela-entrada-960.webp')}}
.entrada-logo{display:flex;justify-content:center;margin:-6px 0 2px}
.logo-entrada{width:min(100%,360px);height:auto;filter:drop-shadow(0 6px 10px #0006)}
.entrada-marca.so-texto{justify-content:center;text-align:center}
.entrada-noticia .ui-icon{width:22px;height:22px;margin-right:4px}
.brasao-grande{object-fit:contain}
/* conquistas */
.medalhas-resumo{margin-bottom:10px}
.medalhas-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px}
.medalha-cartao{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--linha);border-radius:8px;background:linear-gradient(135deg,#fffaf0,#f3e6c3)}
.medalha-arte{position:relative;width:96px;height:96px}
.medalha-arte>img:first-child{width:96px;height:96px;object-fit:contain;filter:drop-shadow(0 4px 5px #0005)}
.medalha-cartao.nivel-nenhum .medalha-arte>img:first-child{filter:grayscale(1) sepia(.2) contrast(.85);opacity:.42}
.medalha-arte .cadeado{position:absolute;right:-2px;bottom:-2px;width:34px;height:34px;filter:drop-shadow(0 2px 2px #0006)}
.medalha-texto b{display:block;font:600 16px/1.2 var(--titulo);color:var(--madeira)}
.medalha-texto .grau{display:inline-block;margin:2px 0 3px;padding:0 8px;border-radius:9px;font-size:11px;font-weight:700;background:#e8dcb8;color:var(--tinta-2)}
.medalha-cartao.nivel-bronze .grau{background:#e9b98a;color:#4d2a0e}
.medalha-cartao.nivel-prata .grau{background:#dfe4e6;color:#3b4448}
.medalha-cartao.nivel-ouro .grau{background:#f3d27c;color:#4b3307}
.medalha-cartao.nivel-diamante .grau{background:linear-gradient(90deg,#cfefff,#f3d27c);color:#173a52}
.medalha-cartao.nivel-ouro,.medalha-cartao.nivel-diamante{border-color:var(--latao)}
.medalha-cartao.nivel-diamante{box-shadow:0 0 0 1px #9fd8ff66,0 4px 14px #3d7a9c26}
.medalha-texto small{display:block;font-size:12px;color:var(--tinta-2);line-height:1.35}
.medalha-graus{display:flex;gap:4px;margin-top:5px}
.medalha-graus img{width:26px;height:26px;object-fit:contain;filter:grayscale(1);opacity:.35}
.medalha-graus img.tem{filter:none;opacity:1}
.medalhas-unicas{display:flex;flex-wrap:wrap;gap:10px}
.medalha-unica{display:flex;align-items:center;gap:10px;margin:0;padding:8px 12px 8px 8px;border:1px solid var(--linha);border-radius:8px;background:#fffaf0;min-width:220px}
.medalha-unica img{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 3px 4px #0004)}
.medalha-unica.falta img{filter:grayscale(1);opacity:.4}
.medalha-unica figcaption b{display:block;font-family:var(--titulo)}
.medalha-unica figcaption small{color:var(--tinta-2);font-size:12px}
/* animações da aldeia (quadros pintados em tiras de 8) */
.sprite-anim{position:absolute;display:block;aspect-ratio:1;background:no-repeat 0 0/800% 100%;pointer-events:none;z-index:150;animation:quadros .9s steps(8,jump-none) infinite}
@keyframes quadros{to{background-position:100% 0}}
.sprite-anim.passaros{background-image:url('/assets/anim/passaros.webp');z-index:185;opacity:0;animation:quadros .8s steps(8,jump-none) infinite,voo 26s linear infinite}
.sprite-anim.passaros.lento{animation:quadros .9s steps(8,jump-none) infinite,voo 38s linear infinite}
@keyframes voo{0%{transform:translate(0,0);opacity:0}4%{opacity:.95}46%{opacity:.95}50%{transform:translate(1300%,-120%);opacity:0}100%{transform:translate(1300%,-120%);opacity:0}}
.sprite-anim.folhas{background-image:url('/assets/anim/folhas.webp');z-index:186;opacity:0;animation:quadros 1.2s steps(8,jump-none) infinite,deriva 14s ease-in-out infinite}
@keyframes deriva{0%{transform:translate(0,-60%) rotate(0);opacity:0}10%{opacity:.9}60%{opacity:.85}80%{transform:translate(-240%,120%) rotate(-25deg);opacity:0}100%{opacity:0}}
.sprite-anim.tocha{background-image:url('/assets/anim/tocha.webp');animation-duration:.75s;filter:drop-shadow(0 0 10px #ffb34a)}
.sprite-anim.tocha::after{content:'';position:absolute;top:-120%;right:-120%;bottom:-120%;left:-120%;border-radius:50%;background:radial-gradient(circle,#ffb34a55,transparent 60%);mix-blend-mode:screen}
.sprite-anim.forja{background-image:url('/assets/anim/forja.webp');animation-duration:.8s;opacity:.85}
.sprite-anim.poeira{background-image:url('/assets/anim/poeira.webp');animation-duration:1.1s;z-index:160;opacity:.85}
.dynamic-village.animations-paused .sprite-anim,.dynamic-village.motion-off .sprite-anim{animation-play-state:paused}

/* aldeia à noite: chão repintado, edifícios mais escuros e azulados, janelas e tochas acesas */
.dynamic-village.noite{background:#1a2333}
.dynamic-village.noite .lote-arte,.dynamic-village.noite .canteiro{filter:brightness(.62) saturate(.72) contrast(1.06) hue-rotate(-8deg)}
.dynamic-village.noite .cena-luz{background:radial-gradient(ellipse 130% 100% at 50% 45%,transparent 55%,#050a16a0 100%),linear-gradient(#1b2c5a26,#1b2c5a26)}
.dynamic-village.noite .lote-arte::after{content:'';position:absolute;top:20%;right:15%;bottom:15%;left:15%;border-radius:50%;background:radial-gradient(circle,#ffc56a33,transparent 65%);mix-blend-mode:screen;pointer-events:none}
.scene-controls .ui-icon.pintado{width:18px;height:18px;margin-right:2px}
/* relatórios e comandos */
.ico-relatorio{width:26px;height:26px;object-fit:contain;vertical-align:middle;filter:drop-shadow(0 1px 1px #0005)}
.cena-relatorio{position:relative;display:block;width:auto;height:clamp(150px,22vw,260px);margin:0;border-radius:var(--raio) var(--raio) 0 0;overflow:hidden;background:#2a2318 center/cover no-repeat}
.cena-relatorio::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#0d0a06cc,#0d0a0666 40%,transparent 70%)}
.cena-relatorio>div{position:absolute;left:18px;bottom:14px;right:40%;z-index:1;color:#fff4dc;text-shadow:0 2px 4px #000c}
.cena-relatorio h2{font-size:22px;color:#fff4dc}
.cena-relatorio p{margin:2px 0 0;font-size:13px;color:#f0deb5}
.cmd-ic .ui-icon.pintado{width:24px;height:24px}
/* retratos e brasões */
.retrato{display:inline-block;border-radius:50%;object-fit:cover;background:#31402c;box-shadow:0 0 0 2px var(--latao),0 2px 5px #0006;vertical-align:middle}
.retrato.p{width:28px;height:28px}
.retrato.m{width:56px;height:56px}
.retrato.g{width:120px;height:120px;box-shadow:0 0 0 3px var(--latao),0 0 0 6px #6b4f25,0 6px 16px #0007}
.escolha-retratos{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:10px}
.escolha-retratos label{position:relative;cursor:pointer;text-align:center}
.escolha-retratos input{position:absolute;opacity:0}
.escolha-retratos img{width:72px;height:72px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px #c6ad78;transition:transform .12s,box-shadow .12s}
.escolha-retratos input:checked+img{box-shadow:0 0 0 3px var(--latao),0 0 0 6px #6b4f25;transform:scale(1.06)}
.escolha-retratos input:focus-visible+img{outline:3px solid var(--latao-claro);outline-offset:3px}
.brasao-tribo{position:relative;display:inline-block;aspect-ratio:1;vertical-align:middle}
.brasao-tribo .escudo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}
.brasao-tribo .tinta{position:absolute;top:0;right:0;bottom:0;left:0;mix-blend-mode:multiply;-webkit-mask:var(--forma) center/contain no-repeat;mask:var(--forma) center/contain no-repeat}
.brasao-tribo .simbolo{position:absolute;left:24%;top:20%;width:52%;height:52%;object-fit:contain;filter:drop-shadow(0 2px 2px #0007)}
.brasao-tribo.p{width:26px}.brasao-tribo.m{width:64px}.brasao-tribo.g{width:150px}
.editor-brasao{display:grid;grid-template-columns:170px minmax(0,1fr);gap:16px;align-items:start}
.editor-brasao .opcoes-simbolos{display:grid;grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:6px;max-height:220px;overflow:auto;padding:4px}
.editor-brasao .opcoes-simbolos label,.editor-brasao .opcoes-escudos label{cursor:pointer}
.editor-brasao .opcoes-simbolos input,.editor-brasao .opcoes-escudos input{position:absolute;opacity:0}
.editor-brasao .opcoes-simbolos img{width:44px;height:44px;object-fit:contain;padding:4px;border-radius:6px;background:#6b4f25;border:2px solid transparent}
.editor-brasao .opcoes-escudos{display:flex;flex-wrap:wrap;gap:6px}
.editor-brasao .opcoes-escudos img{width:46px;height:46px;object-fit:contain;padding:3px;border-radius:6px;border:2px solid transparent;background:#e8dcb8}
.editor-brasao input:checked+img{border-color:var(--latao);box-shadow:0 0 0 2px #6b4f25}
@media (max-width:640px){.editor-brasao{grid-template-columns:1fr}}
/* missões ilustradas */
.missao{grid-template-columns:72px minmax(0,1fr) auto 110px}
.missao-arte{width:72px;height:72px;border-radius:6px;object-fit:cover;box-shadow:0 0 0 1px #6b4f25,0 2px 4px #0004}
.missao.feita .missao-arte{filter:grayscale(.6);opacity:.7}
.conselheira{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:center;margin-bottom:12px;padding:10px 14px 0;border:1px solid var(--couro-borda);border-radius:var(--raio);background:linear-gradient(90deg,#fffaf0,#f3e6c3)}
.conselheira img{width:96px;height:auto;align-self:end}
.conselheira .fala{position:relative;margin:0 0 10px;padding:10px 14px;border-radius:10px;background:#fffdf6;border:1px solid var(--linha);box-shadow:0 2px 6px #6b5b4026}
.conselheira .fala::before{content:'';position:absolute;left:-8px;bottom:18px;border:8px solid transparent;border-right-color:#fffdf6;border-left:0}
.bau-missao{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 2px 3px #0005)}
@media (max-width:640px){.missao{grid-template-columns:52px minmax(0,1fr)}.missao-premio,.missao-acao{grid-column:2}.missao-arte{width:52px;height:52px}.conselheira{grid-template-columns:72px minmax(0,1fr)}.conselheira img{width:72px}}
/* coleta, mercado e eventos */
.ilustra-card{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-bottom:1px solid var(--couro-borda)}
.faixa-evento-arte{position:relative;display:block;margin:0 0 12px;border-radius:var(--raio);overflow:hidden;aspect-ratio:5/1;min-height:90px;background:#2a2318 center/cover no-repeat;border:1px solid #6b4f25}
.faixa-evento-arte::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#0d0a06d9,#0d0a0680 45%,transparent 75%)}
.faixa-evento-arte>div{position:absolute;top:0;right:45%;bottom:0;left:0;display:flex;align-items:center;gap:12px;padding:0 16px;z-index:1;color:#fff4dc;text-shadow:0 2px 4px #000c}
.faixa-evento-arte img{width:52px;height:52px;object-fit:contain}
.faixa-evento-arte b{display:block;font:600 18px var(--titulo)}
/* ranking e diplomacia */
.coroa-pos{width:30px;height:30px;object-fit:contain;vertical-align:-5px;margin-right:3px}
.ico-diplo{width:22px;height:22px;object-fit:contain;vertical-align:middle}
/* tema escuro: texturas apagadas para manter o contraste */
:root[data-tema=escuro] main,:root[data-tema=escuro] .card{background-image:none}
:root[data-tema=escuro] .medalha-cartao,:root[data-tema=escuro] .medalha-unica,:root[data-tema=escuro] .conselheira,:root[data-tema=escuro] .conselheira .fala{background:#2a2318;border-color:#4a3c28}
:root[data-tema=escuro] .conselheira .fala::before{border-right-color:#2a2318}
:root[data-tema=escuro] .medalha-texto b{color:#f0dfb5}
@media (max-width:760px){main::before,main::after{width:34px;height:36px;top:0}main::before{left:0}main::after{right:0}.medalhas-grade{grid-template-columns:1fr}.medalha-cartao{grid-template-columns:72px minmax(0,1fr)}.medalha-arte,.medalha-arte>img:first-child{width:72px;height:72px}}

.edificios-visao th .ui-icon.pintado{width:30px;height:30px}
.ajuda-tabela td .ui-icon.pintado{width:26px;height:26px}
/* menu do topo cabe em telas médias */
@media (max-width:1560px) and (min-width:761px){.nav-item{padding:0 6px;gap:4px;font-size:13px}.nav-item .ui-icon.pintado{width:21px;height:21px}.brand{padding-right:8px}.menu-topo{gap:6px}}
@media (max-width:1400px) and (min-width:761px){.nav-item span{display:none}.nav-item small{position:absolute;top:4px;right:1px}.nav-item.active span{display:inline}.nav-item{padding:0 9px}.nav-item .ui-icon.pintado{width:26px;height:26px}}
.com-retrato,.com-brasao{display:inline-flex;align-items:center;gap:7px}
.tabela.ranking .pos{width:44px;text-align:center}
.perfil-topo{display:flex;gap:18px;align-items:center;padding:16px 16px 12px;background:linear-gradient(180deg,#f3e6c3,#fffaf0)}
.perfil-topo h2{font-size:24px;color:var(--madeira)}
.perfil-topo p{margin:4px 0}
.perfil-tribo{display:flex;align-items:center;gap:8px;font-weight:600}
.perfil-pos{display:flex;align-items:center;gap:4px;color:var(--tinta-2)}
@media (max-width:640px){.perfil-topo{flex-direction:column;text-align:center}.perfil-tribo,.perfil-pos{justify-content:center}}
:root[data-tema=escuro] .perfil-topo{background:#2a2318}
.tribo-topo{display:flex;justify-content:center;padding:14px 0 6px;background:radial-gradient(circle at 50% 60%,#f3e6c3,transparent 70%)}
.previa-brasao{display:flex;justify-content:center;padding:6px}
.opcoes-cores{display:flex;flex-wrap:wrap;gap:6px}
.opcoes-cores label{cursor:pointer;position:relative}
.opcoes-cores input{position:absolute;opacity:0}
.opcoes-cores span{display:block;width:30px;height:30px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #6b4f25}
.opcoes-cores input:checked+span{box-shadow:0 0 0 3px var(--latao),0 0 0 5px #6b4f25}
{outline:3px solid var(--latao-claro);outline-offset:2px}.opcoes-cores input:focus-visible+span,.editor-brasao input:focus-visible+img{outline:3px solid var(--latao-claro);outline-offset:2px}
.editor-brasao fieldset{border:1px solid var(--linha);border-radius:6px;padding:8px 10px;margin:0}
.editor-brasao legend{font-weight:700;padding:0 4px}
.rel .ico-diplo{width:20px;height:20px}
.faixa-evento-arte small{display:block;font-size:13px;color:#f0deb5}
.mercado-ilustra{float:right;width:150px;height:150px;margin:0 0 10px 14px;border-radius:10px;background:center/cover no-repeat;box-shadow:0 0 0 1px #6b4f25,0 3px 8px #0003}
@media (max-width:760px){.mercado-ilustra{display:none}}
.saldo-pp .ui-icon.pintado{width:44px;height:44px}
.card-head h2 .ui-icon.pintado{width:24px;height:24px}
.tela-erro{background:linear-gradient(180deg,#0d140f99,#0d140fdd),url('/assets/cenas/carregamento-1920.webp') center/cover no-repeat,#151d26;padding:20px}
.tela-erro.fora{background-image:linear-gradient(180deg,#0d140f99,#0d140fdd),url('/assets/cenas/tela-servidor-fora-1920.webp')}
.logo-carga{width:min(360px,80vw);height:auto;margin:0 auto;filter:drop-shadow(0 8px 14px #000a)}
.barra-carga{display:block;width:220px;height:6px;margin:0 auto;border-radius:3px;background:linear-gradient(90deg,#7f5c22,#e7c072,#7f5c22) 0 0/200% 100%;animation:carga 1.4s linear infinite}
@keyframes carga{to{background-position:-200% 0}}
@media (max-width:960px){.tela-erro:not(.carregando){background-image:linear-gradient(180deg,#0d140f99,#0d140fdd),url('/assets/cenas/carregamento-960.webp')}}
@media (max-width:960px){.tela-erro.carregando{background:radial-gradient(ellipse at 50% 40%,#24331f,#0d140f 70%)}} /* 0.86.3: a tela de carregar do celular dura menos de 1 s: sem foto de 160 KB */
.toast.show{display:flex;align-items:center;gap:10px}
.toast-ic{width:28px;height:28px;flex-shrink:0;filter:drop-shadow(0 1px 2px #0005)}
.festa{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;pointer-events:none;display:grid;place-items:center}
.festa img{position:absolute;width:220px;height:220px;object-fit:contain}
.f-brilho{animation:f-brilho 1.6s ease-out forwards}
.f-estrela{animation:f-estrela 1.6s cubic-bezier(.2,1.4,.4,1) forwards}
.f-confete{animation:f-confete 1.6s ease-out forwards}
.f-moedas{width:140px!important;height:140px!important;animation:f-moedas 1.6s ease-in forwards}
@keyframes f-brilho{0%{transform:scale(.2);opacity:0}25%{opacity:1}100%{transform:scale(2.4);opacity:0}}
@keyframes f-estrela{0%{transform:scale(0) rotate(-40deg);opacity:0}30%{transform:scale(1) rotate(0);opacity:1}75%{opacity:1}100%{transform:scale(.8) translateY(-40px);opacity:0}}
@keyframes f-confete{0%{transform:translateY(-60px) scale(.6);opacity:0}25%{opacity:1}100%{transform:translateY(160px) scale(1.4) rotate(25deg);opacity:0}}
@keyframes f-moedas{0%{transform:translate(0,0) scale(.6);opacity:0}30%{opacity:1}100%{transform:translate(38vw,-40vh) scale(.3);opacity:0}}
.boas-vindas-topo{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:end;margin-bottom:8px}
.boas-vindas-topo img{width:96px;height:auto}
.tour-balao{padding-left:78px;min-height:118px}
.tour-conselheira{position:absolute;left:6px;bottom:6px;width:64px;height:auto;pointer-events:none}
.perfil-tribo{flex-wrap:wrap;row-gap:2px;min-width:0}
.perfil-tribo .brasao-tribo{width:40px}
.perfil-topo>div{min-width:0}
.brasao-tribo.forma-losango .simbolo,.brasao-tribo.forma-redondo .simbolo{top:24%}
.brasao-tribo.forma-flamula .simbolo{top:22%;left:26%;width:48%;height:48%}
.medalha-relatorio{display:block;width:140px;height:140px;margin:4px auto 12px;object-fit:contain;filter:drop-shadow(0 6px 8px #0005)}
@media (max-width:760px){.res>i{width:20px;height:20px}.res>i .ui-icon.pintado{width:20px;height:20px}.res{padding-left:3px}.res>div{min-width:0}.res b{overflow:hidden;text-overflow:clip}}
@media (max-width:380px){.res>i,.res>i .ui-icon.pintado{width:16px;height:16px}}
@media (max-width:760px){.res b{font-size:11.5px;letter-spacing:-.3px}.faixa-mundo.evento{display:block;text-align:left}.faixa-mundo.evento .ui-icon{vertical-align:-5px;margin-right:4px}}
/* loja de pontos e premium */
.pacotes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding:14px}
.pacote{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 10px 12px;border:1px solid var(--couro-borda);border-radius:10px;background:linear-gradient(180deg,#fffaf0,#f3e6c3);text-align:center}
.pacote img{width:64px;height:64px;filter:drop-shadow(0 4px 5px #0004)}
.pacote b{font:600 24px var(--titulo);color:var(--madeira)}
.pacote small em{font-style:normal;color:var(--musgo);font-weight:700}
.pacote .preco{font-weight:700;font-size:16px;margin:4px 0 6px}
.pacote.melhor{border-color:var(--latao);box-shadow:0 0 0 2px #e7c07266,0 6px 16px #7f5c2226}
.selo-melhor{position:absolute;top:-10px;padding:1px 10px;border-radius:10px;background:var(--musgo);color:#fff;font-size:11px;font-weight:700}
.vantagens{margin:0 0 12px;padding-left:20px}
.pedidos-loja summary{cursor:pointer;font-weight:700}
:root[data-tema=escuro] .pacote{background:#2a2318;border-color:#4a3c28}
:root[data-tema=escuro] .pacote b{color:#f0dfb5}
.trava-premium img{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 4px 6px #0005)}
.gerente-aldeias tr.pausada td{opacity:.6}
.metas{display:inline-flex;flex-wrap:wrap;gap:6px}.metas span{display:inline-flex;align-items:center;gap:2px}
.metas-campos{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px}.metas-campos label{display:flex;align-items:center;gap:4px}.metas-campos input{width:100%}
.gerente-acoes{display:grid;gap:10px}
.passos-modelo{display:grid;gap:4px;max-height:50vh;overflow:auto;padding-left:28px}.passos-modelo li{display:flex;gap:6px;align-items:center}

/* ---------- 0.26: tutorial em capítulos ---------- */
.tutorial-total { gap: 12px; align-items: center; margin: 4px 0 10px; }
.tutorial-total .progress { min-width: 120px; }
details.capitulo > summary h2 small { display: block; font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; font-weight: 600; }
details.capitulo.atual { border-color: var(--ouro, #c9a24f); box-shadow: 0 0 0 1px color-mix(in srgb, var(--ouro, #c9a24f) 45%, transparent); }
.capitulo-fala { font-style: italic; margin: 0; padding-bottom: 0; }
.missao-acao .btn.mini + .tag { margin-left: 6px; }

/* ---------- 0.27: segurança, termos e suporte ---------- */
.dialog-seguranca { width: 560px; padding: 18px 20px; overflow: auto; }
.dialog-seguranca h2 { margin-top: 0; }
.pergunta-verificacao { font-size: 1.15rem; text-align: center; margin: 10px 0; }
.grade-verificacao { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 8px 0 14px; }
.opcao-verificacao { background: var(--fundo-2, rgba(0,0,0,.05)); border: 2px solid transparent; border-radius: 12px; padding: 6px; cursor: pointer; min-height: 44px; }
.opcao-verificacao:hover{ border-color: var(--ouro, #c9a24f); }.opcao-verificacao:focus-visible{ border-color: var(--ouro, #c9a24f); }
.opcao-verificacao img { width: 100%; height: 120px; object-fit: contain; display: block; pointer-events: none; }
.ts-caixa { min-height: 70px; display: flex; justify-content: center; margin: 12px 0; }
.erro-texto { color: var(--perigo, #a33); }
.aceites { display: grid; gap: 6px; margin: 4px 0 8px; font-size: .92rem; }
.aceites .check, .dialog-seguranca .check { display: flex; gap: 10px; align-items: flex-start; text-align: left; font-weight: 400; }
.aceites .check input[type=checkbox], .dialog-seguranca .check input[type=checkbox] { width: 18px; height: 18px; min-height: 0; flex: none; margin: 2px 0 0; padding: 0; }
.aceites .check span { flex: 1; }
.idioma-entrada select { width: auto; display: inline-block; margin-left: 6px; padding: 2px 6px; }
.entrada-rodape a { color: inherit; }
.chamado-conversa { list-style: none; padding: 0; margin: 10px 0; display: grid; gap: 10px; }
.chamado-conversa li { border-radius: 12px; padding: 10px 12px; background: var(--fundo-2, rgba(0,0,0,.05)); max-width: 92%; }
.chamado-conversa li.do-suporte { justify-self: end; background: color-mix(in srgb, var(--ouro, #c9a24f) 18%, transparent); }
.chamado-conversa li p { margin: 4px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }
tr.nao-lido td { font-weight: 600; }
@media (max-width: 480px) { .grade-verificacao { grid-template-columns: repeat(2, 1fr); } .opcao-verificacao img { height: 96px; } }

/* ---------- 0.28: festival ---------- */
.festival-topo .row { display: flex; align-items: center; gap: 16px; }
.festival-topo .cresce { flex: 1; min-width: 0; }
.festival-topo h2 { margin: 0 0 4px; }
.festival-saldo { text-align: center; min-width: 90px; }
.festival-saldo b { display: block; font-size: 2rem; line-height: 1; }
.festival-hoje { padding-top: 0; display: grid; gap: 4px; }
.loja-festival { list-style: none; margin: 0; padding: 0; }
.loja-festival li { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 12px; padding: 10px 14px; border-top: 1px solid var(--linha, rgba(0,0,0,.08)); }
.loja-festival li .ui-icon { width: 48px; height: 48px; }
.loja-festival-acao { display: flex; flex-direction: column; align-items: stretch; gap: 6px; min-width: 130px; }
@media (max-width: 560px) { .loja-festival li { grid-template-columns: 40px 1fr; } .loja-festival-acao { grid-column: 1 / -1; flex-direction: row; } .loja-festival-acao select { flex: 1; } }
.loja-festival li small { display: block; }
.loja-festival li.esgotado { opacity: .55; }
.loja-festival select { max-width: 100%; }
.insignias { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0; }
.insignia { font-size: .78rem; padding: 2px 8px; border-radius: 999px; border: 1px solid var(--ouro, #c9a24f); background: color-mix(in srgb, var(--ouro, #c9a24f) 14%, transparent); }
.insignia.lugar-1 { background: color-mix(in srgb, #e3b341 40%, transparent); font-weight: 700; }
tr.eu td { font-weight: 700; }

/* ---------- 0.29: explicação da batalha, replay e camadas da tribo ---------- */
.explica-batalha { margin: 10px 0; padding: 8px 12px; border-radius: 10px; background: var(--fundo-2, rgba(0,0,0,.05)); }
.explica-batalha summary { cursor: pointer; font-weight: 600; }
.explica-batalha ul { margin: 6px 0; padding-left: 20px; }
.explica-batalha li { margin: 3px 0; }
.idioma-entrada label { color: inherit; font-weight: 400; }
@media (max-width: 560px) { .festival-topo .row { flex-wrap: wrap; } .festival-topo .row > img { width: 64px; height: 64px; } .festival-saldo { min-width: 0; } }
.terreno-vazio { overflow: hidden; } .terreno-vazio > img { display: block; width: 100%; height: 100%; object-fit: contain; }

/* ---------- 0.31: UX — construção, objetivo, aldeia no celular ---------- */
.filtros-obras { display: flex; flex-wrap: wrap; gap: 6px; padding-bottom: 6px; }
.filtros-obras .chip.ativo { background: var(--ouro, #c9a24f); color: #2a1d08; font-weight: 700; }
.lista-obras[data-filtro="producao"] tr[data-cat]:not([data-cat="producao"]),
.lista-obras[data-filtro="militar"] tr[data-cat]:not([data-cat="militar"]),
.lista-obras[data-filtro="infra"] tr[data-cat]:not([data-cat="infra"]) { display: none; }
.obras-bloqueadas { border-top: 1px solid var(--linha, rgba(0,0,0,.1)); }
.obras-bloqueadas > summary { cursor: pointer; padding: 10px 14px; font-weight: 600; }
.tabela.construcoes .bloqueio { display: inline-block; max-width: 240px; font-size: .85rem; line-height: 1.35; }
.tabela.construcoes .bloqueio a { white-space: nowrap; }
.tabela.construcoes tr.destaque td { animation: destaque-linha 1.6s ease-out; }
@keyframes destaque-linha { from { background: color-mix(in srgb, var(--ouro, #c9a24f) 45%, transparent); } }
@media (prefers-reduced-motion: reduce) { .tabela.construcoes tr.destaque td { animation: none; } }
.cartao-objetivo .row { display: flex; align-items: center; gap: 12px; }
.cartao-objetivo .cresce { flex: 1; min-width: 0; display: grid; gap: 2px; }
.cartao-objetivo .mini-conselheira { width: 40px; height: 72px; object-fit: contain; }
.cartao-objetivo.pronta { border-color: var(--ouro, #c9a24f); }
.missao-detalhe { font-weight: 600; }
@media (max-width: 760px) {
  .tabela.construcoes thead { display: none; }
  .tabela.construcoes, .tabela.construcoes tbody { display: block; width: 100%; }
  .tabela.construcoes tr { display: grid; grid-template-columns: 1fr auto; gap: 6px 10px; padding: 10px 12px; border-top: 1px solid var(--linha, rgba(0,0,0,.08)); }
  .tabela.construcoes td { display: block; padding: 0; border: 0; min-width: 0; }
  .tabela.construcoes td:first-child { grid-column: 1 / -1; }
  .tabela.construcoes td.acao { grid-column: 1 / -1; text-align: left; }
  .tabela.construcoes td.acao .btn { width: 100%; }
  .tabela.construcoes .bloqueio { max-width: none; }
  .lista-obras .tabela-rolagem { overflow: visible; }
  /* aldeia: alertas, objetivo e filas antes da cena */
  .aldeia-grid { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
  .aldeia-grid { align-items: stretch; }
  .aldeia-grid .card, .aldeia-grid section { min-width: 0; max-width: 100%; width: 100%; box-sizing: border-box; align-self: stretch; }
  .aldeia-grid > .coluna-principal, .aldeia-grid > .stack { display: contents; }
  .aldeia-grid .alerta-card { order: 1; }
  .aldeia-grid .cartao-objetivo { order: 2; }
  .aldeia-grid .card-construcao { order: 3; }
  .aldeia-grid .card-recrutamento { order: 4; }
  .aldeia-grid .aldeia-painel { order: 5; }
  .aldeia-grid > .coluna-principal > *, .aldeia-grid > .stack > * { margin: 0; }
  .aldeia-grid > .coluna-principal > :not(.alerta-card):not(.aldeia-painel), .aldeia-grid > .stack > :not(.cartao-objetivo):not(.card-construcao):not(.card-recrutamento) { order: 6; }
}
.filtros-obras .chip { padding: 6px 12px; font-size: .9rem; min-height: 34px; cursor: pointer; }
.motivo-festival { display: block; font-size: .78rem; text-align: center; }
@media (max-width: 760px) {
  .edificio-banner { flex-direction: row !important; align-items: flex-start; gap: 12px; }
  .edificio-banner > .evolving-sprite, .edificio-banner > .terreno-vazio { width: 72px !important; height: 72px !important; align-self: flex-start !important; }
  .edificio-banner .banner-texto h2 { font-size: 1.3rem; }
  .edificio-banner .evolucao-passos { font-size: .8rem; }
}

/* ---------- 0.32: painel da administração (/painel) ---------- */
body.painel-adm { background: var(--breu, #10161c); }
.painel-carregando { color: #ddd; text-align: center; padding: 40px; }
.painel-topo { position: sticky; top: 0; z-index: 20; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; padding: 10px 18px; background: linear-gradient(#3a2a14, #241a0c); color: #f2e6c8; border-bottom: 2px solid #8a6a2c; }
.painel-marca { display: flex; align-items: center; gap: 10px; }
.painel-marca b { display: block; font-family: var(--titulo, serif); font-size: 1.05rem; }
.painel-marca small { opacity: .8; }
.painel-nav { display: flex; flex-wrap: wrap; gap: 4px; flex: 1; }
.painel-nav a { color: #f2e6c8; text-decoration: none; padding: 6px 12px; border-radius: 6px; font-weight: 600; }
.painel-nav a.ativo, .painel-nav a:hover { background: #f2e6c822; box-shadow: inset 0 -2px 0 #d6b46a; }
.painel-conta { display: flex; align-items: center; gap: 8px; }
.painel-main { max-width: 1280px; margin: 18px auto; padding: 18px; background: var(--papel), var(--caixa, #f4ead2); border-radius: 8px; color: var(--tinta); }
.painel-main .page-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.painel-entrada { min-height: 100vh; display: grid; place-items: center; padding: 16px; }
.painel-entrada .card { width: min(420px, 100%); padding: 22px; display: grid; gap: 12px; }
.painel-escolha { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.painel-botoes { display: grid; gap: 10px; }
.painel-botoes .row { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; }
.interruptor { display: inline-flex; flex-direction: column; align-items: flex-start; min-width: 200px; margin-right: 6px; }
.interruptor small { font-weight: 400; opacity: .85; }
.painel-tropas { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; margin: 10px 0; }
.painel-tropas label { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 2px 6px; font-size: .85rem; }
.painel-tropas input { grid-column: 1 / -1; }
.painel-acoes-aldeia { display: flex; flex-wrap: wrap; gap: 4px 12px; justify-content: flex-end; }
.lista-simples { margin: 0; padding-left: 18px; }
@media (max-width: 760px) { .painel-main { margin: 0; border-radius: 0; padding: 12px; } .painel-conta { width: 100%; justify-content: flex-end; } }
@media (max-width: 760px) { .painel-topo { position: static; } }
/* botão Premium na linha da aldeia */
.botao-premium { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px 4px 6px; margin-left: 10px; border-radius: 999px; border: 1px solid #b88d3a; color: var(--tinta, #2b2216); text-decoration: none; font-weight: 700; background: linear-gradient(#fff6dc, #f0dca8); box-shadow: 0 1px 2px #0003; white-space: nowrap; flex-shrink: 0; }
.botao-premium .ui-icon { width: 24px; height: 24px; }
.botao-premium:hover { background: linear-gradient(#fffbea, #f6e6b8); }
@media (max-width: 1100px) { .botao-premium span { display: none; } .botao-premium { padding: 4px 6px; } }

/* premium 0.33: abas, cartões de assinatura, cosméticos */
.abas-premium{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.cartoes-premium{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin:10px 0}
.cartao-premium{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 14px 14px;border:1px solid var(--couro-borda);border-radius:10px;background:linear-gradient(180deg,#fffaf0,#efe0b8);text-align:center;overflow:hidden}
.cartao-premium.ativo{border-color:var(--latao);box-shadow:0 0 0 2px #e7c07255}
.cartao-premium .faixa-titulo{align-self:stretch;margin:0 -14px;padding:8px 10px;background:linear-gradient(180deg,#7a5a2e,#5b4120);color:#fff6dc;font:600 17px var(--titulo)}
.cartao-premium .check-ativo{position:absolute;top:6px;right:8px;width:22px;height:22px;border-radius:50%;background:var(--musgo);color:#fff;font-weight:700;line-height:22px}
.cartao-premium .arte{width:110px;height:110px;object-fit:contain;filter:drop-shadow(0 5px 6px #0004);margin-top:6px}
.cartao-premium p{margin:0;font-size:14px}
.cartao-premium .vantagens{margin:0;padding:0 0 0 18px;text-align:left;font-size:13px;align-self:stretch;flex:1}
.cartao-premium .vantagens li{margin:2px 0}
.cartao-premium .linha-preco{display:flex;align-items:center;justify-content:space-between;gap:8px;align-self:stretch;flex-wrap:wrap}
.cartao-premium .linha-preco label{display:flex;align-items:center;gap:4px}
.cartao-premium .linha-preco select{min-height:36px}
.preco-pp{display:inline-flex;align-items:center;gap:4px}
.preco-pp .ui-icon{width:22px;height:22px}
.cartao-premium .btn-ativar{align-self:stretch;min-height:42px;font-size:15px}
.cartao-premium .expira{align-self:stretch;display:grid;gap:4px;padding:8px;border-radius:8px;background:#0000000d;font-size:13px}
.cartao-premium .expira .check{justify-content:center;display:flex;gap:6px;align-items:center}
.cartao-premium.cosmetico .arte{width:96px;height:96px}
.subtitulo{margin:18px 0 4px;font:600 18px var(--titulo)}
.pacote.popular{border-color:var(--latao);box-shadow:0 0 0 2px #e7c072aa,0 6px 16px #7f5c2233}
.selo-popular{position:absolute;top:-10px;padding:1px 10px;border-radius:10px;background:var(--latao,#b8862b);color:#1d150a;font-size:11px;font-weight:700}
.pacote .pilha{display:flex;justify-content:center;height:70px;align-items:flex-end}
.pacote .pilha img{width:46px;height:46px;margin:0 -12px}
.pacote .pilha img:nth-child(even){transform:translateY(-14px)}
.bonus-pct{font-weight:700;color:var(--musgo);font-size:13px}
.bonus-pct.vazio{color:var(--tinta-2);font-weight:400}
.pacote .btn{align-self:stretch;margin-top:6px}
.tabela-rolagem{overflow-x:auto}
:root[data-tema=escuro] .cartao-premium{background:#2a2318;border-color:#4a3c28}
:root[data-tema=escuro] .cartao-premium .expira{background:#ffffff10}
@media (max-width:480px){.cartoes-premium{grid-template-columns:1fr}.abas-premium{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.abas-premium .btn{flex:none;min-height:40px}}
.cartao-premium .desc{flex:1}
.botao-premium .pp-qtd{padding:0 7px;border-radius:9px;background:#5b4120;color:#fff6dc;font-size:12px;line-height:18px}
@media (max-width:1100px){.botao-premium .pp-qtd{display:none}}

/* ===== 0.34: barra superior em placas separadas (como botões emoldurados), com animação ===== */
@media (min-width:761px){
  .menu-topo{gap:8px;min-height:54px}
  .sidebar{gap:5px;align-items:center;padding:7px 0}
  .nav-item{height:38px;padding:0 12px;border:1px solid #140c04;border-radius:7px;color:#f4e6c2;
    background:linear-gradient(180deg,#7a3424 0%,#5a2316 52%,#44180e 100%);
    box-shadow:inset 0 0 0 1px #d9b05e66,inset 0 1px #ffe2a24d,0 2px 0 #0f0904,0 3px 6px #0007;
    text-shadow:0 1px 1px #000b;font-weight:600;
    transition:transform .14s cubic-bezier(.3,1.6,.5,1),filter .14s,box-shadow .14s}
  .nav-item:hover{background:linear-gradient(180deg,#8d3e2b 0%,#6a2b1b 52%,#4f1d11 100%);color:#fff;transform:translateY(-2px);
    box-shadow:inset 0 0 0 1px #f0cb7aa6,inset 0 1px #ffe8b366,0 4px 0 #0f0904,0 6px 12px #0009,0 0 10px #e7c07240}
  .nav-item:active{transform:translateY(1px);transition-duration:.05s;
    box-shadow:inset 0 0 0 1px #d9b05e66,inset 0 3px 6px #000a,0 1px 0 #0f0904}
  .nav-item.active{background:linear-gradient(180deg,#a8763a 0%,#7b5222 55%,#5c3b14 100%);color:#fff8e2;
    box-shadow:inset 0 0 0 1px #ffe3a0cc,inset 0 1px #fff2c999,0 2px 0 #0f0904,0 0 12px #e7c07266}
  .nav-item:focus-visible{outline:2px solid #ffe3a0;outline-offset:2px}
  .nav-item .ui-icon.pintado{transition:transform .2s cubic-bezier(.3,1.6,.5,1)}
  .nav-item:hover .ui-icon.pintado{transform:translateY(-1px) scale(1.14) rotate(-6deg)}
  .nav-item small{position:absolute;top:-6px;right:-6px;box-shadow:0 0 0 2px #2a1d0c,0 2px 4px #0008}
  .nav-item span{display:flex;flex-direction:column;line-height:1.05}
  .nav-sub{font:600 10.5px/1.1 var(--texto);font-style:normal;color:#f0d49a;opacity:.95}
  .nav-sub:empty{display:none}
  .brand{border-right:0}
  .menu-conta summary,.relogio{border-radius:7px}
}
@media (max-width:1560px) and (min-width:761px){.nav-item{padding:0 8px}.sidebar{gap:4px}}
@media (max-width:1720px) and (min-width:761px){.brand-nome{display:none}}
@media (max-width:1400px) and (min-width:1181px){.nav-item{padding:0 13px}.sidebar{gap:6px}}
@media (max-width:1400px) and (min-width:761px){.nav-item{padding:0 9px}.nav-item span{display:none}.nav-item.active span{display:flex}}
@media (max-width:1180px) and (min-width:761px){.nav-item.active span{display:none}.sidebar{gap:3px}.nav-item{padding:0 7px}}
@media (prefers-reduced-motion:reduce){.nav-item,.nav-item .ui-icon.pintado{transition:none}.nav-item:hover,.nav-item:hover .ui-icon.pintado{transform:none}}

/* botões do jogo: relevo, brilho ao passar o mouse e afundar ao clicar */
.btn{position:relative;transition:filter .14s,transform .12s cubic-bezier(.3,1.6,.5,1),box-shadow .14s}
.btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:inset 0 1px #fff3c9,0 2px 0 #5c421a,0 4px 10px #7f5c2233}
.btn:not(:disabled):active{transform:translateY(1px);transition-duration:.05s;box-shadow:inset 0 2px 4px #5c421a66,0 0 0 #0000}
.btn.secondary:not(:disabled):hover{box-shadow:inset 0 1px #fff,0 2px 0 #a88d5899,0 4px 10px #7f5c2222}
.btn:disabled{filter:grayscale(.5);opacity:.6;cursor:not-allowed}
.btn::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(105deg,transparent 35%,#ffffff55 50%,transparent 65%);background-size:250% 100%;background-position:120% 0;opacity:0}
.btn:not(.secondary):not(:disabled):hover::after{opacity:1;animation:brilho-btn .7s ease-out}
@keyframes brilho-btn{from{background-position:120% 0}to{background-position:-30% 0}}
.training-tabs .btn:hover{transform:none}
@media (prefers-reduced-motion:reduce){.btn,.btn:hover,.btn:active{transform:none!important;transition:none}.btn::after{display:none}}

/* 0.34: relatório — barra de sorte centrada (azar à esquerda, sorte à direita) */
.barra-sorte{width:140px;height:12px;border:1px solid #6b5b40;background:linear-gradient(90deg,#f1d9cf,#efe4c8 50%,#dfe8cf)}
.barra-sorte::after{display:none}
.barra-sorte .meio{left:50%;width:2px;margin-left:-1px;background:#3b2f1c;z-index:2}
.barra-sorte .valor.neg{background:linear-gradient(90deg,#c0392b,#e0604f);border-radius:5px 0 0 5px}
.barra-sorte .valor.pos{background:linear-gradient(90deg,#5f8a3a,#7fb04d);border-radius:0 5px 5px 0}
.sorte-ic{font-size:14px;line-height:1}
.sorte-ic.azar{color:#7b6a55}
.sorte-ic.boa{color:#3f7a2a}
.ok-texto{color:var(--musgo)}
.relatorio .card-pe{flex-wrap:wrap;gap:8px}
.lados-batalha{display:grid;gap:4px 22px}
@media (min-width:1000px){.lados-batalha{grid-template-columns:1fr 1fr}.lados-batalha .tropas-relatorio{width:100%;min-width:0}}
.lados-batalha .lado-batalha:first-child h3{border-left-color:#a3392b}
.lados-batalha .lado-batalha:nth-child(2) h3{border-left-color:#3d6a8c}
.relatorio .card-head.sob-cena{min-height:0;padding-top:6px;padding-bottom:6px}

/* ===== 0.34: polimento geral ===== */
/* abas: placas de couro com borda de latão, levantam ao passar o mouse; a aba aberta se funde ao conteúdo */
.training-tabs{gap:4px;padding:0 6px}
.training-tabs .btn{border-radius:6px 6px 0 0;border:1px solid #7a5a2e;border-bottom:2px solid var(--couro-borda);
  background:linear-gradient(180deg,#ead7a6,#d6b97c 60%,#c9a866);box-shadow:inset 0 1px #fff6d8;color:#4a3112;
  transition:transform .14s cubic-bezier(.3,1.6,.5,1),background .14s,box-shadow .14s}
.training-tabs .btn:hover{transform:translateY(-2px);background:linear-gradient(180deg,#f4e4b8,#e0c48a 60%,#d1b073);box-shadow:inset 0 1px #fffaf0,0 -2px 6px #c99a4433}
.training-tabs .btn:active{transform:translateY(0)}
.training-tabs .btn:not(.secondary){transform:translateY(-1px);border-color:var(--couro-borda);box-shadow:inset 0 2px 0 #e7c072,0 -3px 8px #c99a4440}
.training-tabs .btn:not(.secondary)::before{content:'';position:absolute;left:8px;right:8px;top:-1px;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,#b8862f,#ecc875,#b8862f)}

/* tabelas: linha acende com um friso dourado à esquerda ao passar o mouse */
.tabela tbody tr{transition:background .12s,box-shadow .12s}
.tabela tbody tr:hover{background:#fff6da;box-shadow:inset 3px 0 0 #c99a44}
.lista-relatorios tbody tr.nao-lido td,.lista-relatorios tbody tr.novo td{font-weight:700}

/* atalhos dos edifícios: placas que levantam */
.atalhos a{border-radius:7px;transition:transform .14s cubic-bezier(.3,1.6,.5,1),background .14s,border-color .14s,box-shadow .14s}
.atalhos a:hover{transform:translateY(-2px);box-shadow:0 4px 8px #7f5c2233;background:#fff6dc}
.atalhos a:active{transform:translateY(0)}
.botao-premium{transition:transform .14s cubic-bezier(.3,1.6,.5,1),box-shadow .14s}
.botao-premium:hover{transform:translateY(-2px);box-shadow:0 4px 10px #7f5c2244,0 0 0 2px #e7c07266}
.botao-premium:hover .ui-icon{animation:gema .6s ease-out}
@keyframes gema{0%{transform:rotate(0) scale(1)}40%{transform:rotate(-12deg) scale(1.2)}100%{transform:rotate(0) scale(1)}}

/* chips e filtros */
.chip{transition:background .12s,border-color .12s,transform .12s}
.chip:hover{border-color:var(--latao-escuro);transform:translateY(-1px)}

/* mensagens e fórum: cada post vira um balão com a borda do autor */
.posts{display:grid;gap:12px;padding:12px}
.post{border:1px solid var(--linha);border-radius:8px;overflow:hidden;background:var(--caixa);box-shadow:0 2px 6px #7f5c2214;border-left:4px solid #b8862f}
.post:nth-child(even){background:var(--caixa)}
.post.minha{border-left-color:#5f8a3a;margin-left:min(8%,60px)}
.post:not(.minha){margin-right:min(8%,60px)}
.post-texto{padding:12px 16px;line-height:1.55}

/* campos: brilho dourado ao focar */
input,select,textarea{transition:border-color .12s,box-shadow .12s}
input:hover:not(:focus):not(:disabled),select:hover:not(:focus):not(:disabled),textarea:hover:not(:focus):not(:disabled){border-color:#b89a5c}

/* cartões: título com respiro e leve brilho na borda de couro */
.card{transition:box-shadow .2s}
.card-head h2{letter-spacing:.2px}

/* ranking: os três primeiros com faixa de destaque */
.tabela.ranking tbody tr:nth-child(1) td.pos{background:linear-gradient(90deg,#f6dc8c55,transparent)}
.tabela.ranking td.pos .coroa-pos{transition:transform .2s}
.tabela.ranking tr:hover td.pos .coroa-pos{transform:scale(1.15) rotate(-6deg)}

@media (prefers-reduced-motion:reduce){.training-tabs .btn,.atalhos a,.botao-premium,.chip{transition:none}.training-tabs .btn:hover,.atalhos a:hover,.botao-premium:hover,.chip:hover{transform:none}.botao-premium:hover .ui-icon{animation:none}}
:root[data-tema=escuro] .training-tabs .btn{background:linear-gradient(180deg,#4a3c28,#3a2f1f);color:#f3e6c4;border-color:#5c4a30}
:root[data-tema=escuro] .tabela tbody tr:hover{background:#3d3426}
:root[data-tema=escuro] .post{background:#2a2318}
/* relatórios: pontinho de cor do resultado (verde, amarelo, vermelho) como nos clássicos */
.lista-relatorios td.ico-rel{position:relative;white-space:nowrap}
.ponto-cor{display:inline-block;width:10px;height:10px;margin-left:4px;border-radius:50%;vertical-align:middle;box-shadow:inset 0 -1px 2px #0005,0 0 0 1px #0003}
.cor-verde .ponto-cor{background:#5f9a3a}.cor-amarelo .ponto-cor{background:#e0b030}.cor-vermelho .ponto-cor{background:#c0392b}
.cor-azul .ponto-cor{background:#4f7fa8}.cor-cinza .ponto-cor{background:#9a9384}
/* moradores na aldeia */
.morador{position:absolute;display:block;height:auto;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 2px 2px #0005)}
.morador.espelho{transform:scaleX(-1)}
.habitante{position:absolute;display:block;aspect-ratio:4/5;pointer-events:none;-webkit-user-select:none;user-select:none;transform:translate(-50%,-100%)}
.habitante>i{display:block;width:100%;height:100%;background-repeat:no-repeat;background-size:200% 100%;transform-origin:50% 90%}
.habitante.trabalho>i,.habitante.praca>i,.habitante.animal>i{background-size:100% 100%}
.habitante.praca{aspect-ratio:6/5}
.pacotes .pilha.pacote-pintado{display:flex;align-items:center;justify-content:center;height:120px}
.pacotes .pilha.pacote-pintado img{position:static;width:128px;height:120px;object-fit:contain;transform:none;filter:drop-shadow(0 3px 3px #0004)}
.sorte-ic img{display:block;width:28px;height:28px;object-fit:contain}
.empty[data-vazio=forum]::before{background-image:url('/assets/vazios/forum.webp')}
.empty[data-vazio=ranking]::before{background-image:url('/assets/vazios/ranking.webp')}
.empty[data-vazio=ataques]::before{background-image:url('/assets/vazios/ataques.webp')}
.nav-item{background-image:url('/assets/ui/novos/placa-menu.webp');background-size:100% 100%;background-repeat:no-repeat}
.dia .camadas-vivas [data-parte^=janelas]{animation:none}
.camadas-vivas .px-wheel{animation:v-roda-gira 14s linear infinite}
.camadas-vivas .px-load{animation:v-carga-sobe 7s ease-in-out infinite alternate}
@keyframes v-roda-gira{to{transform:rotate(360deg)}}
@keyframes v-carga-sobe{from{transform:translateY(0) rotate(-1deg)}to{transform:translateY(-3px) rotate(1deg)}}

.noite .habitante{filter:brightness(.52) saturate(.65)}
.noite .habitante.trabalho,.noite .habitante.praca{opacity:.38}
.noite .habitante.animal{opacity:.55}
.habitante.animal>i{animation:animal-respira 4s ease-in-out infinite alternate}
@keyframes animal-respira{to{transform:scaleY(.98) rotate(.7deg)}}

.noite .morador{filter:brightness(.55) saturate(.7) drop-shadow(0 2px 2px #0007)}

/* 0.35.1: carga no guincho sobe e desce de verdade (a corda encurta na viga) */
.px-lift,.camadas-vivas .px-lift{animation:v-lift 7s ease-in-out infinite}
@keyframes v-lift{0%,12%{transform:translateY(0) rotate(0)}45%{transform:translateY(-9px) rotate(2.5deg)}55%{transform:translateY(-9px) rotate(-2deg)}88%,100%{transform:translateY(0) rotate(0)}}




/* 0.35.2 — movimentos locais de pessoas, ferramentas e máquinas. */
.acao-edificio{pointer-events:none;transform-box:view-box}
.acao-camada{transform-box:view-box}
.acao-attack .acao-limb{animation:acao-golpe 2.4s ease-in-out infinite;animation-delay:var(--acao-atraso)}
.acao-defend .acao-limb{animation:acao-defesa 2.4s ease-in-out infinite;animation-delay:var(--acao-atraso)}
.acao-dummy .acao-torso{animation:acao-boneco 2.4s ease-in-out infinite;animation-delay:var(--acao-atraso)}
.acao-hammer .acao-limb{animation:acao-martelo 2.3s ease-in-out infinite;animation-delay:var(--acao-atraso)}
.acao-hammer.acao-martelo-esquerdo .acao-limb{animation-name:acao-martelo-esquerdo}
.acao-chop .acao-limb,.acao-pick .acao-limb{animation:acao-machado 3.2s ease-in-out infinite;animation-delay:var(--acao-atraso)}
.acao-dig .acao-limb{animation:acao-cavar 3.8s ease-in-out infinite}
.acao-harvest .acao-limb{animation:acao-ceifar 4.2s ease-in-out infinite alternate}
.acao-saw .acao-limb{animation:acao-serrar 1.8s ease-in-out infinite alternate}
.acao-brush .acao-limb{animation:acao-escovar 2.8s ease-in-out infinite alternate}
.acao-wave .acao-limb{animation:acao-acenar 6s ease-in-out infinite}
.acao-talk .acao-limb{animation:acao-conversa 4.8s ease-in-out infinite alternate}
.acao-look .acao-head{animation:acao-olhar 7.5s ease-in-out infinite alternate}
.acao-page .acao-page{animation:acao-pagina 6.5s ease-in-out infinite}
.acao-walk{animation:acao-patrulha 12s linear infinite}
.acao-carry{animation:acao-carregar 15s linear infinite}
.acao-walk .acao-legs,.acao-carry .acao-legs,.acao-march .acao-legs{animation:acao-passos .65s ease-in-out infinite alternate}
.acao-march .acao-body{animation:acao-marcha .65s ease-in-out infinite alternate}
.acao-horse{animation:acao-cavalo 8s ease-in-out infinite}
.acao-horse.acao-cavalo-direita{animation-name:acao-cavalo-direita}
.acao-catapult{animation:acao-catapulta 11s ease-in-out infinite alternate}
.acao-wheel{animation:acao-roda 10s linear infinite}
.acao-gate{animation:acao-portao 22s ease-in-out infinite}
.acao-flame .acao-fire{animation:acao-fogo 1.1s ease-in-out infinite alternate}
.acao-faiscas{opacity:0;animation:acao-faisca 2.3s linear infinite;animation-delay:var(--acao-atraso)}
.noite .acao-pessoa{opacity:.6}
.noite .acao-faiscas{display:none}
.noite .acao-flame{filter:brightness(1.7) saturate(1.15)}
.motion-off .acao-edificio,.motion-off .acao-edificio *{animation:none!important}
.animations-paused .acao-edificio,.animations-paused .acao-edificio *{animation-play-state:paused!important}
@keyframes acao-golpe{0%,28%,100%{transform:rotate(-6deg)}48%,56%{transform:rotate(18deg)}72%{transform:rotate(-2deg)}}
@keyframes acao-defesa{0%,30%,100%{transform:rotate(0)}45%,62%{transform:rotate(-12deg)}78%{transform:rotate(3deg)}}
@keyframes acao-boneco{0%,47%,100%{transform:rotate(0)}54%{transform:rotate(5deg)}64%{transform:rotate(-3deg)}76%{transform:rotate(1deg)}}
@keyframes acao-martelo{0%,20%,100%{transform:rotate(-8deg)}48%,54%{transform:rotate(37deg)}68%{transform:rotate(3deg)}}
@keyframes acao-martelo-esquerdo{0%,20%,100%{transform:rotate(0)}48%,54%{transform:rotate(65deg)}68%{transform:rotate(7deg)}}
@keyframes acao-machado{0%,24%,100%{transform:rotate(-9deg)}50%,57%{transform:rotate(33deg)}72%{transform:rotate(3deg)}}
@keyframes acao-cavar{0%,100%{transform:rotate(-5deg)}40%,58%{transform:rotate(14deg) translateY(.5px)}78%{transform:rotate(-2deg)}}
@keyframes acao-ceifar{from{transform:rotate(-8deg)}to{transform:rotate(12deg) translateX(-.5px)}}
@keyframes acao-serrar{from{transform:translate(.1px,0)}to{transform:translate(1.4px,-.35px)}}
@keyframes acao-escovar{from{transform:rotate(-5deg)}to{transform:rotate(7deg) translateX(.3px)}}
@keyframes acao-acenar{0%,25%,78%,100%{transform:rotate(0)}38%,58%{transform:rotate(-12deg)}48%,68%{transform:rotate(8deg)}}
@keyframes acao-conversa{from{transform:rotate(-4deg)}to{transform:rotate(8deg)}}
@keyframes acao-olhar{0%,25%{transform:rotate(-7deg)}75%,100%{transform:rotate(7deg)}}
@keyframes acao-pagina{0%,55%,100%{transform:scaleX(1)}68%{transform:scaleX(.25) skewY(-6deg)}79%{transform:scaleX(.7)}}
@keyframes acao-patrulha{0%,10%,100%{transform:translate(0,0)}45%,55%{transform:translate(4px,1px)}90%{transform:translate(0,0)}}
@keyframes acao-carregar{0%,10%,100%{transform:translate(0,0)}42%,58%{transform:translate(-9px,-4px)}90%{transform:translate(0,0)}}
@keyframes acao-passos{from{transform:rotate(-2deg) scaleY(.97)}to{transform:rotate(2deg) scaleY(1.02)}}
@keyframes acao-marcha{from{transform:translateY(0)}to{transform:translateY(-.25px)}}
@keyframes acao-cavalo{0%,18%,100%{transform:rotate(0)}45%,72%{transform:rotate(-11deg) translateY(.8px)}}
@keyframes acao-cavalo-direita{0%,18%,100%{transform:rotate(0)}45%,72%{transform:rotate(13deg) translateY(.5px)}}
@keyframes acao-catapulta{from{transform:rotate(-4deg)}to{transform:rotate(6deg)}}
@keyframes acao-roda{to{transform:rotate(360deg)}}
@keyframes acao-portao{0%,24%,80%,100%{transform:translateY(0)}43%,60%{transform:translateY(var(--portao-curso))}}
@keyframes acao-fogo{0%{opacity:.85;filter:brightness(1.1);transform:scaleY(.95)}50%{opacity:1;filter:brightness(1.35);transform:scaleY(1.03)}100%{opacity:.94;filter:brightness(1.5);transform:scaleY(.98)}}
@keyframes acao-faisca{0%,42%,65%,100%{opacity:0}48%{opacity:1;transform:translate(0,0)}59%{opacity:0;transform:translate(1px,-2px)}}


/* 0.35.4 — tema escuro: botões que são links mantêm o texto escuro sobre o dourado */
:root[data-tema=escuro] a.btn:not(.secondary),:root[data-tema=escuro] a.btn:not(.secondary):hover,:root[data-tema=escuro] .botao-premium{color:#2b1d07}
:root[data-tema=escuro] a.btn.secondary{color:#f3e6c4}
/* 0.35.4 — abas do premium no celular: degradê mostra que a barra rola */
@media (max-width:480px){.abas-premium{-webkit-mask-image:linear-gradient(90deg,#000 82%,transparent);mask-image:linear-gradient(90deg,#000 82%,transparent);padding-right:28px}.abas-premium.no-fim{-webkit-mask-image:none;mask-image:none}}

/* 0.36 — diário: calendário de 7 dias e desafios */
.dias-calendario{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.dia-cal{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 10px;border:1px solid var(--couro-borda);border-radius:8px;background:linear-gradient(180deg,#fffaf0,#efe0b8);text-align:center}
.dia-cal>img{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 3px 3px #0004)}
.dia-cal.grande>img{width:78px;height:78px}
.dias-calendario{align-items:start}
.dia-premio .ui-icon,.desafio-texto small .ui-icon{width:16px;height:16px}
.dia-premio,.desafio-texto small{word-spacing:2px}
.card-head small b{color:inherit;font-weight:700}
.dia-cal .dia-n{font:600 13px var(--titulo);color:var(--madeira)}
.dia-cal .dia-premio{font-size:11px;line-height:1.35;color:var(--tinta-2)}
.dia-cal .dia-premio .cost{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 6px}
.dia-cal.pego{opacity:.75;background:linear-gradient(180deg,#eef2df,#dfe6c6)}
.dia-cal .dia-ok{position:absolute;top:4px;right:6px;width:20px;height:20px;border-radius:50%;background:var(--musgo);color:#fff;font-weight:700;line-height:20px;font-size:12px}
.dia-cal.hoje{border-color:var(--latao);box-shadow:0 0 0 2px #e7c072aa,0 6px 14px #7f5c2233;animation:dia-brilho 2.4s ease-in-out infinite}
@keyframes dia-brilho{50%{box-shadow:0 0 0 3px #e7c072,0 6px 18px #c99a4455}}
.diario-rodape{margin-top:12px;justify-content:space-between;gap:10px;flex-wrap:wrap}
.premio-pp{display:inline-flex;align-items:center;gap:2px;font-weight:700}
.premio-pp .ui-icon{width:16px;height:16px}
.lista-desafios{list-style:none;margin:0;padding:6px 12px 12px;display:grid;gap:8px}
.desafio{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:12px;padding:8px 10px;border:1px solid var(--linha);border-radius:8px;background:var(--caixa)}
.desafio.pronto{border-color:var(--latao);background:linear-gradient(90deg,#fff3cf,var(--caixa))}
.desafio.feito{opacity:.7}
.desafio-arte{width:52px;height:52px;object-fit:contain}
.desafio-texto{display:grid;gap:4px;min-width:0}
.desafio-texto small{color:var(--tinta-2)}
.barra-desafio{height:9px;border-radius:5px;background:#d8c59b;box-shadow:inset 0 1px 2px #0003;overflow:hidden}
.barra-desafio i{display:block;height:100%;background:linear-gradient(90deg,#6f9a3e,#9cc25a);transition:width .4s}
.desafio.pronto .barra-desafio i{background:linear-gradient(90deg,#c99a44,#ecc875)}
@media (max-width:700px){.dias-calendario{grid-template-columns:repeat(4,1fr)}.dia-cal.grande{grid-column:span 2}.desafio{grid-template-columns:44px 1fr}.desafio-acao{grid-column:1/-1;justify-self:end}}
@media (prefers-reduced-motion:reduce){.dia-cal.hoje{animation:none}}
:root[data-tema=escuro] .dia-cal{background:#2f281d}
:root[data-tema=escuro] .dia-cal.pego{background:#2a2f20}
:root[data-tema=escuro] .desafio.pronto{background:linear-gradient(90deg,#4a3a1e,var(--caixa))}
.dia-premio .custo,.desafio-texto small .custo{display:inline-flex;align-items:center;gap:2px;margin-right:6px;white-space:nowrap}
.dia-premio{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 0}
.card-head small{color:#e9d9b2}
.card-head small [data-fim]{color:#fff3d0}

/* 0.36.1 — vida na cena da aldeia */
/* pássaros: bando de silhuetas ao longe, sempre voando para a direita */
.bando-passaros{position:absolute;left:-12%;width:10%;overflow:visible;z-index:185;pointer-events:none;opacity:0;animation:bando-voo 30s linear infinite}
.bando-passaros .asa{transform-box:fill-box;transform-origin:100% 100%;animation:asa .36s ease-in-out infinite alternate}
@keyframes asa{from{transform:scaleY(1)}to{transform:scaleY(-.85)}}
.bando-passaros{filter:drop-shadow(0 1px 1px #0005)}
@keyframes bando-voo{0%{transform:translate(0,0);opacity:0}5%{opacity:1}55%{opacity:1}62%{transform:translate(820%,-140%);opacity:0}100%{transform:translate(820%,-140%);opacity:0}}
.noite .bando-passaros,.motion-off .bando-passaros{display:none}
.animations-paused .bando-passaros,.animations-paused .bando-passaros *{animation-play-state:paused}
/* fumaça das chaminés */
.sprite-anim.fumaca{background-image:url('/assets/anim/fumaca.webp');animation:quadros 1.6s steps(8,jump-none) infinite,fumaca-sobe 6s ease-out infinite;z-index:170;opacity:0;transform-origin:50% 100%}
.sprite-anim.fumaca.atrasada{animation-delay:-.8s,-3s}
@keyframes fumaca-sobe{0%{transform:translateY(10%) scale(.6);opacity:0}15%{opacity:.85}70%{opacity:.55}100%{transform:translateY(-55%) translateX(18%) scale(1.25);opacity:0}}
.noite .sprite-anim.fumaca{filter:brightness(.6)}
/* movimentos dos edifícios mais visíveis na cena (no tamanho pequeno da aldeia, o movimento original quase não aparece) */
.dynamic-village .camadas-vivas .px-cloth{animation:v-cloth-cena 2.4s ease-in-out infinite alternate}
.dynamic-village .camadas-vivas .px-light{animation:v-light-cena 1.6s ease-in-out infinite alternate}
.dynamic-village .camadas-vivas .px-leaves{animation:v-leaves-cena 3.2s ease-in-out infinite alternate}
.dynamic-village .camadas-vivas .px-bell{animation:v-bell-cena 2.4s ease-in-out infinite}
.dynamic-village .camadas-vivas .px-door-left{animation:v-door-l-cena 11s ease-in-out infinite}
.dynamic-village .camadas-vivas .px-door-right{animation:v-door-r-cena 11s ease-in-out infinite}
.dynamic-village .camadas-vivas .px-breathe{animation:v-breathe-cena 2.6s ease-in-out infinite alternate}
.dynamic-village .camadas-vivas .px-nod,.dynamic-village .camadas-vivas .px-talk{animation:v-talk-cena 2.2s ease-in-out infinite alternate}
.dynamic-village .camadas-vivas .px-smoke{animation:v-smoke-cena 3.4s ease-out infinite}
@keyframes v-cloth-cena{from{transform:skewY(-10deg) scaleX(.9)}to{transform:skewY(11deg) scaleX(1.1)}}
@keyframes v-light-cena{0%{filter:brightness(.8)}100%{filter:brightness(1.75) saturate(1.2)}}
@keyframes v-leaves-cena{from{transform:skewX(-5deg)}to{transform:skewX(6deg) translateY(-.8px)}}
@keyframes v-bell-cena{0%,100%{transform:rotate(-20deg)}50%{transform:rotate(20deg)}}
@keyframes v-door-l-cena{0%,20%,85%,100%{transform:scaleX(1)}40%,65%{transform:scaleX(.3)}}
@keyframes v-door-r-cena{0%,22%,87%,100%{transform:scaleX(1)}42%,67%{transform:scaleX(.3)}}
@keyframes v-breathe-cena{from{transform:scaleY(.94) translateY(.4px)}to{transform:scaleY(1.07)}}
@keyframes v-talk-cena{from{transform:rotate(-12deg)}to{transform:rotate(14deg)}}
@keyframes v-smoke-cena{0%{transform:translate(0,0) scale(.8);opacity:0}15%{opacity:.95}100%{transform:translate(6px,-16px) scale(1.6);opacity:0}}
/* pessoas e máquinas dentro dos edifícios: gestos maiores na cena */
.dynamic-village .acao-attack .acao-limb{animation-name:acao-golpe-cena}
.dynamic-village .acao-defend .acao-limb{animation-name:acao-defesa-cena}
.dynamic-village .acao-hammer .acao-limb{animation-name:acao-martelo-cena}
.dynamic-village .acao-chop .acao-limb,.dynamic-village .acao-pick .acao-limb{animation-name:acao-machado-cena}
.dynamic-village .acao-dig .acao-limb{animation-name:acao-cavar-cena}
.dynamic-village .acao-harvest .acao-limb{animation-name:acao-ceifar-cena}
.dynamic-village .acao-saw .acao-limb{animation-name:acao-serrar-cena}
.dynamic-village .acao-walk{animation-name:acao-patrulha-cena}
.dynamic-village .acao-carry{animation-name:acao-carregar-cena}
.dynamic-village .acao-horse{animation-name:acao-cavalo-cena}
.dynamic-village .acao-catapult{animation-name:acao-catapulta-cena}
.dynamic-village .acao-pessoa{animation:acao-respira-cena 1.2s ease-in-out infinite alternate}
.dynamic-village .acao-pessoa.acao-walk,.dynamic-village .acao-pessoa.acao-carry{animation:none}
@keyframes acao-golpe-cena{0%,25%,100%{transform:rotate(-14deg)}45%,55%{transform:rotate(38deg)}72%{transform:rotate(-4deg)}}
@keyframes acao-defesa-cena{0%,28%,100%{transform:rotate(0)}45%,62%{transform:rotate(-24deg)}78%{transform:rotate(6deg)}}
@keyframes acao-martelo-cena{0%,20%,100%{transform:rotate(-14deg)}46%,54%{transform:rotate(55deg)}68%{transform:rotate(5deg)}}
@keyframes acao-machado-cena{0%,22%,100%{transform:rotate(-16deg)}48%,56%{transform:rotate(52deg)}72%{transform:rotate(5deg)}}
@keyframes acao-cavar-cena{0%,100%{transform:rotate(-10deg)}40%,58%{transform:rotate(26deg) translateY(1px)}78%{transform:rotate(-4deg)}}
@keyframes acao-ceifar-cena{from{transform:rotate(-18deg)}to{transform:rotate(24deg) translateX(-1px)}}
@keyframes acao-serrar-cena{from{transform:translate(-1px,.3px)}to{transform:translate(2.6px,-.7px)}}
@keyframes acao-patrulha-cena{0%,8%,100%{transform:translate(0,0)}45%,55%{transform:translate(9px,2px)}92%{transform:translate(0,0)}}
@keyframes acao-carregar-cena{0%,8%,100%{transform:translate(0,0)}42%,58%{transform:translate(-16px,-7px)}92%{transform:translate(0,0)}}
@keyframes acao-cavalo-cena{0%,15%,100%{transform:rotate(0)}40%,72%{transform:rotate(-20deg) translateY(1.4px)}}
@keyframes acao-catapulta-cena{from{transform:rotate(-8deg)}to{transform:rotate(12deg)}}
@keyframes acao-respira-cena{from{transform:translateY(0)}to{transform:translateY(-.5px)}}


/* 0.36.2 — aldeia viva desde o nível 1: nas fases 1 e 2 os desenhos são menores, então o movimento é maior */
.dynamic-village .fase-1 .camadas-vivas .px-cloth,.dynamic-village .fase-2 .camadas-vivas .px-cloth{animation-name:v-cloth-forte;animation-duration:1.9s}
.dynamic-village .fase-1 .camadas-vivas .px-leaves,.dynamic-village .fase-2 .camadas-vivas .px-leaves{animation-name:v-leaves-forte}
.dynamic-village .fase-1 .camadas-vivas .px-light,.dynamic-village .fase-2 .camadas-vivas .px-light{animation-name:v-light-forte}
.dynamic-village .fase-1 .acao-walk,.dynamic-village .fase-2 .acao-walk{animation-name:acao-patrulha-forte}
.dynamic-village .fase-1 .acao-carry,.dynamic-village .fase-2 .acao-carry{animation-name:acao-carregar-forte}
.dynamic-village .fase-1 .acao-pessoa,.dynamic-village .fase-2 .acao-pessoa{animation:acao-respira-forte .9s ease-in-out infinite alternate}
.dynamic-village .fase-1 .acao-pessoa.acao-walk,.dynamic-village .fase-1 .acao-pessoa.acao-carry,.dynamic-village .fase-2 .acao-pessoa.acao-walk,.dynamic-village .fase-2 .acao-pessoa.acao-carry{animation:none}
@keyframes v-cloth-forte{from{transform:skewY(-16deg) scaleX(.82)}to{transform:skewY(17deg) scaleX(1.15)}}
@keyframes v-leaves-forte{from{transform:skewX(-9deg)}to{transform:skewX(10deg) translateY(-1.4px)}}
@keyframes v-light-forte{0%{filter:brightness(.7)}100%{filter:brightness(2.1) saturate(1.3)}}
@keyframes acao-patrulha-forte{0%,8%,100%{transform:translate(0,0)}45%,55%{transform:translate(16px,4px)}92%{transform:translate(0,0)}}
@keyframes acao-carregar-forte{0%,8%,100%{transform:translate(0,0)}42%,58%{transform:translate(-22px,-9px)}92%{transform:translate(0,0)}}
@keyframes acao-respira-forte{from{transform:translateY(0)}to{transform:translateY(-1.2px)}}
.noite .habitante[data-bicho]{opacity:.45}
.habitante[data-bicho]>i{animation:none}
/* roldanas e cargas: sobem e descem bem visíveis na cena */
.dynamic-village .camadas-vivas .px-lift{animation:v-lift-cena 5s ease-in-out infinite}
.dynamic-village .camadas-vivas [data-parte=carga].px-breathe{animation:v-carga-cena 6s ease-in-out infinite}
@keyframes v-carga-cena{0%,12%{transform:translateY(0) rotate(0)}45%,55%{transform:translateY(-6px) rotate(4deg)}88%,100%{transform:translateY(0) rotate(0)}}
@keyframes v-lift-cena{0%,10%{transform:translateY(0) rotate(0)}42%{transform:translateY(-16px) rotate(3deg)}50%{transform:translateY(-16px) rotate(-3deg)}58%{transform:translateY(-16px) rotate(1.5deg)}90%,100%{transform:translateY(0) rotate(0)}}

/* 0.36.3 — luzes: brilho redondo por cima (o recorte da janela não pisca mais) */
.camadas-vivas .brilho-luz{mix-blend-mode:screen;opacity:0;pointer-events:none;transform-box:fill-box;transform-origin:center}
.dia .camadas-vivas .brilho-luz.fogo,.vivo-box .camadas-vivas .brilho-luz.fogo{animation:brilho-fogo 1.3s ease-in-out infinite alternate}
.noite .camadas-vivas .brilho-luz{animation:brilho-noite 2.6s ease-in-out infinite alternate}
.noite .camadas-vivas .brilho-luz.fogo{animation:brilho-fogo-noite 1.1s ease-in-out infinite alternate}
@keyframes brilho-fogo{from{opacity:.25;transform:scale(.85)}to{opacity:.6;transform:scale(1.08)}}
@keyframes brilho-noite{from{opacity:.55;transform:scale(.9)}to{opacity:.95;transform:scale(1.12)}}
@keyframes brilho-fogo-noite{from{opacity:.7;transform:scale(.9)}to{opacity:1;transform:scale(1.15)}}
.motion-off .camadas-vivas .brilho-luz{animation:none!important;opacity:0}
.noite.motion-off .camadas-vivas .brilho-luz{opacity:.8}
/* partes que ficam paradas (telhados, toldos, plantações, copas recortadas) */
.camadas-vivas [data-fixa]{animation:none!important;transform:none!important}

/* 0.36.4 — sequências de vento e aves realistas */
.camadas-vivas{overflow:visible}
.vento-janela{overflow:hidden;pointer-events:none}
.vento-folha{transform-box:view-box;transform-origin:0 0;animation:vento-quadros 3.4s steps(1,end) infinite}
@keyframes vento-quadros{
  0%,100%{transform:translate(0,0)}
  10%,90%{transform:translate(calc(-1 * var(--qw)),0)}
  20%,80%{transform:translate(calc(-2 * var(--qw)),0)}
  30%,70%{transform:translate(0,calc(-1 * var(--qh)))}
  40%,60%{transform:translate(calc(-1 * var(--qw)),calc(-1 * var(--qh)))}
  50%{transform:translate(calc(-2 * var(--qw)),calc(-1 * var(--qh)))}
}
.animations-paused .vento-folha{animation-play-state:paused!important}
.motion-off .vento-folha{animation:none!important;transform:none!important}
.bando-passaros-realistas{position:absolute;left:-16%;width:13%;height:8%;z-index:185;pointer-events:none;opacity:0;animation:bando-voo 30s linear infinite}
.andorinha-realista{position:absolute;width:34%;aspect-ratio:1;background:url('/assets/vida-0364/passaro-voo.webp') no-repeat 0 0/800% 100%;animation:andorinha-asas .64s steps(7,end) infinite}
@keyframes andorinha-asas{from{background-position:0 0}to{background-position:100% 0}}
.noite .bando-passaros-realistas,.motion-off .bando-passaros-realistas{display:none}
.animations-paused .bando-passaros-realistas,.animations-paused .andorinha-realista{animation-play-state:paused!important}
.quatro-passos>i{background-size:400% 100%!important}

/* Cavalos adicionais */
.cavalo-extra{position:absolute;display:block;aspect-ratio:1;background:no-repeat 0 0/400% 100%;pointer-events:none;animation:cavalo-quadros 3.1s steps(3,end) infinite alternate}
@keyframes cavalo-quadros{from{background-position:0 0}to{background-position:100% 0}}
.animations-paused .cavalo-extra,.noite .cavalo-extra{animation-play-state:paused!important}
.motion-off .cavalo-extra{animation:none!important;background-position:0 0!important}

/* 0.36.4 — estandartes e loja */
.atalhos-cosmeticos{display:flex;align-items:center;gap:0;flex-wrap:wrap;margin:-2px 0 16px;padding:7px 0;border-bottom:1px solid var(--couro-borda)}
.atalhos-cosmeticos .link{padding:5px 14px;font-weight:600;min-height:34px}
.atalhos-cosmeticos .link:first-child{padding-left:0}
.atalhos-cosmeticos .link+button{border-left:1px solid var(--couro-borda)}
.secao-cosmeticos{scroll-margin-top:90px}
.cartoes-premium.cartoes-estandartes{grid-template-columns:repeat(auto-fill,minmax(146px,1fr));gap:10px}
.cartao-premium.estandarte-card{padding:0 9px 10px;gap:6px}
.cartao-premium.estandarte-card .faixa-titulo{font-size:14px;min-height:42px;margin:0 -9px;padding:6px 9px;display:flex;align-items:center;justify-content:center;line-height:1.25}
.cartao-premium.estandarte-card .arte{width:76px;height:76px;margin-top:3px;filter:drop-shadow(0 2px 2px #0004)}
.cartao-premium.estandarte-card .desc{font-size:12px;line-height:1.35;min-height:33px}
.cartao-premium.estandarte-card .btn-ativar{font-size:12px;min-height:40px;padding:7px 6px}
.cartao-premium.estandarte-card .preco-pp{font-size:13px}
@media(max-width:480px){.cartoes-premium.cartoes-estandartes{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.cartao-premium.estandarte-card .faixa-titulo{font-size:13px}.atalhos-cosmeticos .link{font-size:13px}}

/* 0.36.5 — loja de cosméticos mais compacta: as duas seções aparecem sem rolar muito */
.cartoes-premium.cartoes-aldeias{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.cartao-premium.aldeia-card{padding:0 10px 10px;gap:6px}
.cartao-premium.aldeia-card .faixa-titulo{font-size:15px;min-height:42px;margin:0 -10px;padding:6px 10px;display:flex;align-items:center;justify-content:center;line-height:1.25}
.cartao-premium.aldeia-card .arte{width:84px;height:84px;margin-top:4px}
.cartao-premium.aldeia-card .desc{font-size:12.5px;line-height:1.35}
.cartao-premium.aldeia-card .btn-ativar{font-size:13px;min-height:40px;padding:7px 8px}
@media(min-width:1100px){.cartoes-premium.cartoes-estandartes{grid-template-columns:repeat(8,minmax(0,1fr))}.cartoes-premium.cartoes-aldeias{grid-template-columns:repeat(6,minmax(0,1fr))}}
/* o selo de "no inventário" não corta mais o nome */
.cartao-premium.ativo .faixa-titulo{padding-left:30px;padding-right:30px}
.cartao-premium.cosmetico .check-ativo{top:5px;right:5px;width:20px;height:20px;line-height:20px;font-size:12px}
@media(max-width:480px){.cartoes-premium.cartoes-aldeias{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}}

/* 0.36.6 — tela "Estamos atualizando o reino" (servidor em atualização) */
.tela-manutencao{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:16px;background:#f3e7cc radial-gradient(circle at 50% 40%,#fbf3e1,#ead9b4);animation:manutencao-entra .4s ease-out}
.tela-manutencao .quadro{width:min(100%,1100px);border-radius:10px;overflow:hidden;box-shadow:0 10px 40px #3b28104d}
.tela-manutencao img{display:block;width:100%;height:auto}
.tela-manutencao .nota{margin:0;max-width:560px;text-align:center;font:500 15px/1.45 var(--titulo, Georgia, serif);color:#4a3517}
.tela-manutencao .nota::before{content:'';display:inline-block;width:10px;height:10px;margin-right:8px;border-radius:50%;background:#7a5a2e;vertical-align:1px;animation:manutencao-pulso 1.2s ease-in-out infinite}
@keyframes manutencao-entra{from{opacity:0}to{opacity:1}}
@keyframes manutencao-pulso{0%,100%{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}

/* 0.36.6 — painel: aplicativo autenticador e códigos de reserva */
.painel-entrada .card{max-width:460px}
.ligar-app{display:grid;gap:10px;margin:8px 0 14px}
.passos-app{margin:0;padding-left:20px;font-size:14px;line-height:1.5}
.qr-caixa{display:flex;justify-content:center}
.qr-caixa .qr{width:220px;height:220px;border:1px solid var(--linha);border-radius:6px;background:#fff}
.chave-app{font-family:ui-monospace,Consolas,monospace;letter-spacing:1px;word-break:break-all}
.codigos-reserva{font:600 17px/1.7 ui-monospace,Consolas,monospace;background:#fff8e6;border:1px dashed var(--latao-escuro);border-radius:6px;padding:10px 14px;columns:2;text-align:center}
.hint.centro{text-align:center}
.contato-portal{border-top:1px solid var(--linha)}.contato-portal .texto-contato{white-space:pre-wrap;background:var(--caixa-par);padding:8px 10px;border-radius:4px}

/* ---------- página inicial (0.38): topo com menu, chamada, acesso, mundo, avisos, galeria e rodapé ---------- */
.tela-entrada.home{display:block;padding:0;min-height:100vh;overflow:visible;font-size:16px}
.tela-entrada.home .entrada-fundo{position:fixed}
.home-faixa{max-width:1180px;margin:0 auto;padding:0 16px}
.pular-conteudo{position:absolute;left:8px;top:-60px;z-index:30;background:var(--caixa);padding:10px 14px;border-radius:4px;color:var(--tinta)}
.pular-conteudo:focus{top:8px}
.home-topo{position:sticky;top:0;z-index:20;background:#1d150bf0;border-bottom:2px solid #6b5030;color:#efe4c8}
.home-topo .home-faixa{display:flex;align-items:center;gap:14px;min-height:60px;flex-wrap:wrap}
.home-marca{display:flex;align-items:center;gap:10px;font:600 20px var(--titulo);color:#f3e6c4}
.home-nav{display:flex;align-items:center;gap:10px;margin-left:auto;flex-wrap:wrap}
.home-nav ul{display:flex;gap:2px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.home-nav ul a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;color:#efe4c8;text-decoration:none;border-radius:4px}
.home-nav ul a:hover{background:#ffffff14;color:#fff}
.home-nav .btn{min-height:44px}
.home-menu-botao{display:none;margin-left:auto;min-height:44px;padding:0 16px;background:transparent;border:1px solid #c9ad73;color:#f3e6c4;border-radius:4px}
@media (max-width:860px){.home-menu-botao{display:inline-flex;align-items:center}.home-nav{display:none;width:100%;flex-direction:column;align-items:stretch;padding-bottom:10px}.home-nav.aberto{display:flex}.home-nav ul{flex-direction:column}}
.home-manutencao{background:#f6d27b;color:#2a1c08;border-bottom:2px solid #7f5c22;padding:10px 0}
.home-manutencao a{color:#2a1c08;font-weight:700}
.home-main{padding:24px 0 40px}
.home-hero{max-width:820px;margin:0 auto 22px;padding:0 16px;text-align:center;color:#f3e6c4}
.home-hero .entrada-logo{margin:0}
.home-hero .logo-entrada{width:min(80vw,340px)}
.home-hero h1{font-size:clamp(26px,4.4vw,40px);color:#fff4d6;text-shadow:0 2px 10px #000a;margin:6px 0 8px}
.home-sub{font-size:18px;line-height:1.55;color:#efe4c8;text-shadow:0 1px 6px #000c;margin:0 auto 14px;max-width:640px}
.home-chamadas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:0}
.btn.grande{min-height:52px;padding:0 26px;font-size:18px}
.home-selos{margin:10px 0 0;font-size:15px;color:#e1d3b0;text-shadow:0 1px 4px #000c}
.home-grade{max-width:1180px;margin:0 auto;padding:0 16px;display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
@media (min-width:900px){.home-grade{grid-template-columns:minmax(0,460px) minmax(0,1fr);align-items:start}}
.home .entrada-cartao{width:auto;margin:0;scroll-margin-top:76px}
.home .entrada-cartao:focus{outline:none}
.home-lado{display:grid;gap:18px}
.home .entrada-info{padding:18px 20px}
.home .entrada-info h2,.home-avisos h2,.home-galeria h2{font-size:22px;margin:0 0 10px}
.home .entrada-numeros{grid-template-columns:repeat(3,1fr)}
.home .entrada-numeros span{font-size:14px}
.mundo-situacao{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--tinta-2);font-size:15px}
.mundo-detalhes{margin:10px 0 0;padding-left:20px}
.mundo-link{margin:12px 0 0;font-weight:600}
.home-avisos{padding:18px 20px}
.home-avisos ul{list-style:none;margin:0 0 8px;padding:0}
.home-avisos li{padding:8px 0;border-bottom:1px solid var(--linha)}
.home-avisos time{display:block;font-size:14px;color:var(--tinta-2)}
.home-galeria{max-width:1148px;margin:18px auto 0;padding:18px 20px}
@media (max-width:1180px){.home-galeria{margin:18px 16px 0}}
.home-galeria ul{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.home-galeria figure{margin:0}
.home-galeria figure a{display:block;border:2px solid var(--couro-borda);border-radius:4px;overflow:hidden;line-height:0}
.home-galeria img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.home-galeria figcaption{font-size:15px;margin-top:6px}
.home .form-entrada{gap:12px}
.home .campo{display:grid;gap:4px}
.home .campo label{font-weight:700}
.home .form-entrada input:not([type=radio]):not([type=checkbox]),.home select{min-height:44px;font-size:16px;padding:8px 10px}
.dica-campo{font-size:14px;color:var(--tinta-2);line-height:1.4}
.home .form-entrada .btn{min-height:48px;font-size:17px}
.home .abas-entrada button{min-height:48px;font-size:16px}
.home .check{display:flex;gap:8px;align-items:flex-start;font-size:15px;min-height:32px}
.home .check input{width:20px;height:20px;margin-top:2px;flex-shrink:0}
.home .rosa-grade span{min-height:44px;font-size:15px}
.home .rosa legend{font-weight:700}
.home .hint{font-size:15px}
.links-form{margin:0;text-align:center;font-size:15px}
.links-form a{display:inline-block;padding:6px 2px}
.home .erro-form{font-size:16px}
.home-rodape{margin-top:28px;background:#120d07;border-top:2px solid #6b5030;color:#e8dcc0;padding:20px 0 26px}
.home-rodape ul{display:flex;flex-wrap:wrap;gap:4px 18px;list-style:none;margin:0 0 12px;padding:0}
.home-rodape a{color:#f0cf7d;display:inline-flex;min-height:40px;align-items:center}
.home-rodape a:hover{color:#fff}
.home-rodape select{min-height:44px;font-size:16px;background:#fbf3dc;color:#2a2217;border-radius:4px}
.home-rodape small{color:#cdbf9f}
.home-creditos{margin:12px 0 0;color:#cdbf9f;font-size:15px}
.home .idioma-entrada{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0}
.tela-entrada.home main.home-main{width:auto;max-width:none;margin:0;padding:24px 0 8px;background:none;border:0;border-radius:0;box-shadow:none}
.tela-entrada.home main.home-main::before,.tela-entrada.home main.home-main::after{display:none}
.tela-entrada.home footer.home-rodape{display:block;max-width:none;width:100%;margin:28px 0 0;padding:22px 0 28px;font-size:16px;color:#e8dcc0}
.home .mostrar-senha{align-items:center}
.home .mostrar-senha input{margin-top:0}
.home-galeria ul,.home-avisos ul{border:0}
.home-hero h1,.home-sub,.home-selos{text-shadow:0 2px 8px #000,0 0 2px #000}

/* 0.42: aparência do jogador (cor do nome, selo, moldura, título) — só visual */
.nome-jogador { color: var(--cor-nome, inherit); font-weight: inherit; }
.nome-jogador[style] { font-weight: 700; }
.nome-anim { background: linear-gradient(90deg, var(--cor-nome), color-mix(in srgb, var(--cor-nome) 55%, #fff), var(--cor-nome)); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: nome-brilho 4s ease-in-out infinite; }
.nome-brasa { --cor-nome: #c4501b; } .nome-gelo { --cor-nome: #2f8fcf; } .nome-ouro { --cor-nome: #b07d10; }
@keyframes nome-brilho { 0%, 100% { background-position: 100% 0; } 50% { background-position: 0 0; } }
.selo-chat { width: 18px; height: 18px; vertical-align: -4px; margin-right: 3px; }
.titulo-jogador { margin: -2px 0 6px; font-style: italic; color: var(--ouro, #a87b22); }
.retrato-moldura { position: relative; display: inline-block; line-height: 0; }
.retrato-moldura .moldura { position: absolute; top:-18%;right:-18%;bottom:-18%;left:-18%; width: 136%; height: 136%; pointer-events: none; }
.retrato-moldura.anim .moldura { animation: moldura-brilho 3s ease-in-out infinite; }
@keyframes moldura-brilho { 0%, 100% { filter: drop-shadow(0 0 2px #f3d27a); } 50% { filter: drop-shadow(0 0 7px #f3d27a); } }
.visual-amostra { font-size: 1.15rem; padding: 10px 0; }
html.sem-animacoes .nome-anim, html.sem-animacoes .retrato-moldura.anim .moldura { animation: none; }
@media (prefers-reduced-motion: reduce) { .nome-anim, .retrato-moldura.anim .moldura { animation: none; } }
.selo-dobro { display: inline-block; margin-top: 4px; padding: 1px 8px; border-radius: 10px; background: #2f5a3a; color: #fff6dc; font-size: .78rem; font-weight: 700; }
.ofertas-loja { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; padding: 12px; }
.oferta { display: grid; grid-template-columns: 72px 1fr; gap: 10px; align-items: start; padding: 12px; border: 1px solid var(--borda, #c9ad73); border-radius: 8px; background: rgba(255, 246, 220, .55); }
.oferta.destaque { border-color: #a87b22; box-shadow: 0 0 0 2px rgba(168, 123, 34, .25); }
.oferta img { width: 72px; height: 72px; object-fit: contain; }
.oferta h3 { margin: 0 0 4px; } .oferta ul { margin: 0 0 4px; padding-left: 18px; }
.oferta .btn { grid-column: 1 / -1; justify-self: end; }
.mural-opcao { gap: 10px; flex-wrap: wrap; }
/* Crônica do Reino */
.cronica-topo { --capa: none; background-image: linear-gradient(90deg, rgba(20, 28, 38, .92) 0%, rgba(20, 28, 38, .75) 55%, rgba(20, 28, 38, .25) 100%), var(--capa), linear-gradient(135deg, #1d2a3a, #2b3f5a); background-size: cover; background-position: center; color: #f3ead2; }
.cronica-topo h2 { color: #fff6dc; margin-top: 0; } .cronica-topo .hint { color: #d4c8a8; }
.cronica-nivel { display: flex; align-items: center; gap: 10px; margin: 8px 0; }
.cronica-nivel .progress { height: 12px; border-radius: 6px; background: rgba(0, 0, 0, .3); overflow: hidden; }
.cronica-nivel .progress i { display: block; height: 100%; background: linear-gradient(90deg, #7cc4f0, #e7c072); }
.cronica-trilhas td { vertical-align: middle; } .cronica-trilhas tr.alcancado td:first-child b { color: #2f5a3a; }
.cronica-trilhas tr.proximo { outline: 2px solid #e7c072; outline-offset: -2px; }
.cronica-trilhas td.trancado .premios { opacity: .6; }
.premios { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-bottom: 4px; }
.premio-cronica { display: inline-flex; align-items: center; gap: 4px; }
.premio-cronica img { width: 28px; height: 28px; object-fit: contain; }
.lista-metas { list-style: none; margin: 0; padding: 8px 14px; } .lista-metas li { display: flex; justify-content: space-between; gap: 8px; padding: 5px 0; border-bottom: 1px dashed rgba(0, 0, 0, .12); }
.lista-metas li.feito span { text-decoration: line-through; opacity: .7; }
.faixa-mundo.cronica { background: linear-gradient(90deg, #1d2a3a, #2b3f5a); color: #f3ead2; } .faixa-mundo.cronica b { color: #ffe9a8; }
.nome-aurora { --cor-nome: #1f9a74; background-image: linear-gradient(90deg, #1f9a74, #2f8fcf, #8a5fd0, #1f9a74); }
.colecao { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 10px; }
.colecao li { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; padding: 8px; border: 1px solid var(--borda, #c9ad73); border-radius: 8px; }
.colecao img { width: 64px; height: 64px; object-fit: contain; }
.casas-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px; }
.casa { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px; border: 1px solid var(--borda, #c9ad73); border-radius: 8px; text-align: center; cursor: pointer; }
.casa:has(input:checked) { outline: 2px solid #a87b22; background: rgba(231, 192, 114, .18); }
.casa.lotada { opacity: .5; cursor: not-allowed; } .casa img { width: 56px; height: 56px; object-fit: contain; } .casa.auto { grid-column: 1 / -1; }
.casa input { position: absolute; opacity: 0; pointer-events: none; }
.forte-tipo { font-size: .8rem; } .tabela.fortes tr.meu td { background: rgba(47, 90, 58, .1); }
.brasao-patente { width: 72px; height: 72px; object-fit: contain; }
.patentes-lista { display: flex; flex-wrap: wrap; gap: 10px 18px; } .patentes-lista span { display: flex; flex-direction: column; align-items: center; } .patentes-lista span.atual { font-weight: 700; color: #2f5a3a; }
.patentes-lista img { width: 44px; height: 44px; } .premios-partida { list-style: none; } .premios-partida img { width: 28px; height: 28px; vertical-align: middle; margin-right: 4px; }
.sala-coroa { max-width: 1100px; margin: 0 auto; padding: 16px; } .sala-coroa header h1 { margin: 0; }
.brasao-liga { width: 56px; height: 56px; object-fit: contain; }
.form-linhas + h3 { margin-top: 18px; }
/* 0.43: raridades, feitos lendários e amostras */
.tag.raridade { font-size: .72rem; margin: 2px auto 0; }
.tag.raridade.comum { background: #e9e0c9; color: #4d4330; }
.tag.raridade.epica { background: #e6d6f2; color: #5a2d7a; }
.tag.raridade.lendaria { background: #f3dfa0; color: #6e4c00; box-shadow: 0 0 0 1px #c99a2e inset; }
.tag.raridade.evento { background: #d9ecf2; color: #1c5566; }
.cartao-premium.rar-lendaria { box-shadow: 0 0 0 2px #c99a2e, 0 2px 10px rgba(201, 154, 46, .35); }
.feito-lendario { display: grid; gap: 3px; text-align: center; font-size: .8rem; padding: 0 8px; }
.amostra-larga { width: 128px; height: 84px; object-fit: cover; border-radius: 6px; box-shadow: 0 1px 4px rgba(0, 0, 0, .3); }
.retrato-tropa-amostra { border-radius: 50%; box-shadow: 0 0 0 2px #8a6a2a; }
/* tema da tela comprado (só para o próprio jogador) */
html.com-tema body { background-image: linear-gradient(rgba(10, 14, 20, .35), rgba(10, 14, 20, .35)), var(--tema-fundo); background-size: cover; background-attachment: fixed; background-position: center; }
.troop-portrait.retrato-colecao img { object-fit: cover; border-radius: 50%; }
/* selo de relatório (carimbo de quem atacou) e fundo de relatório comprado */
.relatorio-batalha { position: relative; }
.relatorio-batalha .selo-relatorio { position: absolute; top: -6px; right: 4px; width: 64px; height: 64px; transform: rotate(-12deg); filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .35)); pointer-events: none; }
html[style*="--fundo-relatorio"] .relatorio-batalha { background-image: linear-gradient(rgba(255, 250, 235, .55), rgba(255, 250, 235, .55)), var(--fundo-relatorio); background-size: cover; border-radius: 8px; padding: 10px; }
/* emotes do chat */
.chat-lista img.emote { width: 40px; height: 40px; vertical-align: middle; }
.emotes-chat { position: relative; }
.emotes-chat > summary { list-style: none; cursor: pointer; padding-inline: 10px; }
.emotes-chat > summary::-webkit-details-marker { display: none; }
.emotes-grade { position: absolute; bottom: 110%; right: 0; z-index: 20; display: grid; grid-template-columns: repeat(5, 48px); gap: 4px; padding: 8px; background: var(--papel, #f6ecd2); border: 1px solid #b89a5e; border-radius: 8px; box-shadow: 0 6px 18px rgba(0, 0, 0, .3); }
.emotes-grade button { background: none; border: 0; padding: 2px; cursor: pointer; border-radius: 6px; }
.emotes-grade button:hover{ background: rgba(160, 120, 40, .2); }.emotes-grade button:focus-visible{ background: rgba(160, 120, 40, .2); }
/* borda do emblema da aliança e estandarte lendário (Saga) */
.brasao-tribo { position: relative; }
.brasao-tribo .borda-alianca { position: absolute; top:-14%;right:-14%;bottom:-14%;left:-14%; width: 128%; height: 128%; max-width: none; pointer-events: none; }
.brasao-tribo .borda-alianca.anim { animation: borda-brilho 2.6s ease-in-out infinite; }
@keyframes borda-brilho { 50% { filter: brightness(1.25) drop-shadow(0 0 4px rgba(255, 200, 80, .7)); } }
@media (prefers-reduced-motion: reduce) { .brasao-tribo .borda-alianca.anim { animation: none; } }
.brasao-tribo .estandarte-lendario { position: absolute; right: -30%; top: -20%; width: 55%; height: auto; pointer-events: none; }
img.selo-mini { vertical-align: middle; margin-right: 4px; }
.selo-dobro img.selo-mini { margin-right: 2px; }
/* Coroa do Vale com as pinturas */
.coroa-topo.com-capa { background: linear-gradient(90deg, rgba(250, 243, 225, .97) 0%, rgba(250, 243, 225, .9) 45%, rgba(250, 243, 225, .25) 100%), url('/assets/ranqueada/capa-coroa-do-vale.webp') right center / cover; }
.coroa-topo .brasao-patente { width: 96px; height: 96px; }
.brasao-patente.mini { width: 28px; height: 28px; vertical-align: middle; }
.divisao-estrelas { height: 22px; width: auto; vertical-align: middle; }
.hall-fama.com-capa { background: linear-gradient(rgba(250, 243, 225, .9), rgba(250, 243, 225, .93)), url('/assets/ranqueada/hall-da-fama.webp') center / cover; }
.convocacao-arte { padding-left: 110px; background: url('/assets/ranqueada/convocacao.webp') 10px center / 88px no-repeat; min-height: 100px; }
@media (max-width: 600px) { .convocacao-arte { padding-left: 16px; background: none; } }
/* Fortes do Vale e Casas */
.forte-nome { display: flex; align-items: center; gap: 8px; }
.forte-arte { width: 72px; height: 62px; object-fit: contain; flex: none; }
.ico-forte { vertical-align: middle; }
.estandarte-casa { width: 72px; height: 72px; object-fit: contain; }
.casa-faccao.casa-lobo { border-left: 4px solid #6b7078; } .casa-faccao.casa-corvo { border-left: 4px solid #4a2d63; }
.casa-faccao.casa-cervo { border-left: 4px solid #2e6b3a; } .casa-faccao.casa-leao { border-left: 4px solid #a8312a; }
.casas-capa { width: 100%; border-radius: 8px; margin: 4px 0 8px; aspect-ratio: 3 / 2; object-fit: cover; max-height: 160px; }
.cronica-livro { width: 56px; height: 56px; object-fit: contain; filter: drop-shadow(0 2px 3px rgba(0,0,0,.35)); }
html.sem-anim-outros .nome-anim, html.sem-anim-outros .retrato-moldura.anim .moldura, html.sem-anim-outros .brasao-tribo .borda-alianca.anim { animation: none; }
.presente-cosm { font-size: .82rem; margin-top: 2px; }
.vitrine-semana { box-shadow: 0 0 0 2px #c99a2e; }
/* cores especiais (top da temporada): arco-íris e Sangue Real, brilho suave */
.nome-anim.nome-arco { background: linear-gradient(90deg, #b8322f, #c98a14, #3d8a3a, #2f6db3, #7a4fc4, #b8322f); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: nome-brilho 6s linear infinite; }
.nome-anim.nome-sangue { background: linear-gradient(90deg, #6e0a14, #c2263d, #e8b84a, #c2263d, #6e0a14); background-size: 260% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: nome-brilho 5s ease-in-out infinite; }
@media (max-width: 600px) {
  .coroa-topo.com-capa { background: linear-gradient(rgba(250, 243, 225, .94), rgba(250, 243, 225, .9)), url('/assets/ranqueada/capa-coroa-do-vale.webp') center / cover; }
  form[data-envio="lg-criar"] { flex-wrap: wrap; }
  form[data-envio="lg-criar"] label { display: flex; flex-direction: column; flex: 1 1 100%; }
  .forte-arte { width: 52px; height: 45px; }
}
form[data-envio="lg-criar"] label { display: flex; flex-direction: column; gap: 2px; }
.previa-cosm { background: none; border: 0; padding: 0; cursor: zoom-in; }
.previa-grande { display: grid; place-items: center; background: radial-gradient(ellipse at center, #6f9a55 0%, #4f7a3c 70%); border-radius: 10px; padding: 12px; }
.previa-grande img { max-width: 100%; height: auto; }
.tag.categoria-loja { font-size: .7rem; letter-spacing: .02em; margin: 2px auto; }
.tag.categoria-loja.vantagem { background: #f4d9cf; color: #7a2b12; }
.tag.categoria-loja.conforto { background: #dbe9d4; color: #2f5a1e; }
.tag.categoria-loja.aparencia { background: #e6d6f2; color: #5a2d7a; }
.tribo-lendaria { color: #8a5d00; text-shadow: 0 0 6px rgba(230, 180, 60, .45); }
/* presença no Vale (28 dias que não zeram) */
.presenca-barra { display: block; height: 10px; margin: 6px 0 10px; }
.marcos-presenca { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.marcos-presenca li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 6px 8px; border-radius: 6px; background: rgba(160, 120, 40, .07); }
.marcos-presenca li span { display: grid; } .marcos-presenca li.pego { opacity: .7; }
.volta-vale { box-shadow: 0 0 0 2px #c99a2e; }
.indicadores { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; }
.indicadores > div { display: grid; gap: 2px; padding: 8px 10px; border-radius: 8px; background: rgba(160, 120, 40, .08); }
.indicadores b { font-size: 1.25rem; }
/* "Esqueci a senha": e-mail primeiro, código como segunda opção */
#form-rec-email { display: grid; gap: 8px; padding-bottom: 18px; margin-bottom: 14px; border-bottom: 1px solid rgba(120, 90, 40, .25); }
#form-rec-email h3, #form-recuperar h3 { margin: 4px 0 0; font-size: 1.05rem; }

/* 0.46: faixa de idade no cadastro; o e-mail do responsável só aparece para quem marcou "menor" */
.faixa-idade{border:0;margin:.4rem 0 0;padding:0;display:grid;gap:.25rem}
.faixa-idade legend{font-weight:600;margin-bottom:.2rem;padding:0}
.campo-resp{display:none}
.aceites:has(input[name=faixa][value=menor]:checked) .campo-resp{display:block}

/* 0.47: eventos do calendário */
.evento-capa{display:block;width:100%;max-height:260px;object-fit:cover;border-radius:10px 10px 0 0}
.evento-ativo{overflow:hidden}
.portas-natal{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}
.portas-natal li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}
.portas-natal .porta{position:relative;background:none;border:0;padding:0;cursor:pointer}
.portas-natal .porta:disabled{cursor:default}
.portas-natal .porta b{position:absolute;left:50%;bottom:6px;transform:translateX(-50%);background:#7a1f1f;color:#fff3d6;border-radius:999px;min-width:26px;padding:1px 6px;font-size:.85rem}
.portas-natal li.fechada img{filter:grayscale(.6) brightness(.8)}
.portas-natal li.liberada .porta{animation:porta-brilho 2s ease-in-out infinite}
@keyframes porta-brilho{50%{filter:drop-shadow(0 0 8px #f5d27a)}}
@media (prefers-reduced-motion:reduce){.portas-natal li.liberada .porta{animation:none}}
.portas-natal small{font-size:.75rem;line-height:1.2}
.lista-alvos{list-style:none;padding:0;margin:0 0 .6rem;display:grid;gap:.5rem}
.arte-cosm-festival{object-fit:contain;flex:none}
.categoria-mundo{margin:1rem 0 .3rem;font-size:1.05rem}
.categoria-mundo small{display:block;font-weight:normal;font-size:.8rem}
.mapa-viewport canvas.mapa-anim{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;cursor:default}

/* 0.50: mapa mundial em tela cheia (só a área do mundo em uso) */
dialog.cheia{width:min(98vw,1400px);max-width:98vw;max-height:97vh}
dialog.cheia canvas.mapa-mundo{width:min(calc(100vh - 280px),100%);image-rendering:auto}
@media (max-width:700px){dialog.cheia{width:100vw;max-width:100vw;max-height:100vh;margin:0;border-radius:0}dialog.cheia canvas.mapa-mundo{width:100%}}
.cidadela-estado{display:flex;gap:12px;align-items:center;border-top:1px solid #0001}
.cidadela-estado img{flex:none}
.cidadela-estado.adormecida img{filter:grayscale(.7) brightness(.85)}
.cidadela-estado.desperta img{filter:drop-shadow(0 0 8px #f3c95a)}

/* ================= 0.52: tema das 4 Casas ================= */
body.casa-lobo { --casa-cor: #8fb8d8; --casa-escuro: #1e2a36; }
body.casa-leao { --casa-cor: #e0a030; --casa-escuro: #4a140c; }
body.casa-corvo { --casa-cor: #a77ee0; --casa-escuro: #1a1226; }
body.casa-cervo { --casa-cor: #c9d870; --casa-escuro: #15301a; }
/* fundo da página com a paisagem da Casa (o tema pessoal escolhido na coleção continua tendo prioridade) */
body.com-casa { background-image: linear-gradient(rgba(10, 12, 16, .45), rgba(10, 12, 16, .55)), var(--casa-fundo); background-size: cover; background-attachment: fixed; background-position: center; }
/* barra do topo com a faixa da Casa */
body.com-casa .menu-topo { background: linear-gradient(180deg, rgba(0, 0, 0, .55), rgba(0, 0, 0, .78)), var(--casa-faixa) center 40% / cover, var(--casa-escuro); }
body.com-casa .nav-item.active { background: linear-gradient(180deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .05)); box-shadow: inset 0 -3px var(--casa-cor); }
/* cantos ornamentais da Casa nos painéis */
body.com-casa .card::after { content: ''; position: absolute; top:0;right:0;bottom:0;left:0; pointer-events: none; z-index: 3; opacity: .9;
  background: var(--casa-canto-1) left top / 34px 34px no-repeat, var(--casa-canto-2) right top / 34px 34px no-repeat, var(--casa-canto-3) left bottom / 34px 34px no-repeat, var(--casa-canto-4) right bottom / 34px 34px no-repeat; }
body.com-casa .card { border-color: color-mix(in srgb, var(--casa-cor) 45%, var(--couro-borda)); }
@media (max-width: 640px) { body.com-casa .card::after { background-size: 24px 24px; } }
/* cena da aldeia da Casa: animações próprias */
.sprite-anim.ambiente { z-index: 188; opacity: .75; animation-duration: 1.4s; pointer-events: none; }
.noite .sprite-anim.ambiente { opacity: .55; }
.sprite-anim.da-casa.tocha { filter: none; }
.casa-corvo .sprite-anim.da-casa.tocha::after { background: radial-gradient(circle, #a77ee055, transparent 60%); }
.casa-cervo .sprite-anim.da-casa.tocha::after { background: radial-gradient(circle, #d8f07055, transparent 60%); }
.casa-lobo .sprite-anim.da-casa.folhas, .casa-cervo .sprite-anim.da-casa.folhas { opacity: .9; }
/* cadastro: cada Casa com a sua capa */
label.casa.com-capa { position: relative; min-height: 120px; color: #fff; background: linear-gradient(180deg, rgba(0, 0, 0, .1), rgba(0, 0, 0, .78)), var(--capa) center / cover; text-shadow: 0 1px 3px #000; justify-content: flex-end; }
label.casa.com-capa small { color: #f1e6c8; }
label.casa.com-capa:has(input:checked) { outline: 3px solid #f6c65d; outline-offset: -3px; }
/* cartão da Casa na tela Guerra das Casas */
.casa-capa { position: relative; display: flex; align-items: flex-end; gap: 14px; min-height: 190px; padding: 14px; background: center 35% / cover; color: #fff; text-shadow: 0 2px 6px #000; }
.casa-capa::before { content: ''; position: absolute; top:0;right:0;bottom:0;left:0; background: linear-gradient(180deg, transparent 30%, rgba(0, 0, 0, .78)); }
.casa-capa > * { position: relative; }
.casa-capa .casa-lider { width: 110px; aspect-ratio: 2 / 3; object-fit: cover; border-radius: 8px; border: 2px solid #f1e6c8; box-shadow: 0 4px 14px #000a; }
.casa-capa small { display: block; font-size: 13px; opacity: .9; }
.casa-capa b { display: block; font: 600 26px/1.1 var(--titulo); }
/* cadastro: quatro regiões em cruz (0.58) */
.rosa-grade .rosa-vazio{display:block}
.convite-amigo input[readonly]{font-size:.85em}
/* tamanho do texto escolhido em Conta (0.58): o jogo inteiro cresce junto */
html[data-texto=grande]{zoom:1.12}
html[data-texto=maior]{zoom:1.25}
.grade-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:2px 12px;margin:6px 0}
kbd{display:inline-block;min-width:1.6em;padding:0 .4em;border:1px solid var(--couro-borda);border-bottom-width:2px;border-radius:4px;background:var(--caixa);font:600 12px/1.6 var(--texto);text-align:center}

/* 0.58: ações rápidas do mapa nas aldeias livres */
.acoes-rapidas{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--linha,#0002)}
.acoes-rapidas small{flex-basis:100%}
.acoes-rapidas .btn.mini{display:inline-flex;align-items:center;gap:4px}
.padrinho .acao{white-space:normal}
.padrinho .acao .btn.mini,.padrinho .acao .tag{margin:2px 0}
.novo-grupo [hidden]{display:none}

/* 0.59: skins de aldeia */
.cartoes-skin{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.cartao-skin{border:1px solid var(--linha);border-radius:10px;overflow:hidden;background:var(--caixa,#fffaf0);box-shadow:0 0 0 2px transparent}
.cartao-skin.ativo{box-shadow:0 0 0 2px var(--skin-cor)}
.cartao-skin h3{margin:0 0 4px}
.cartao-skin .row{gap:6px;flex-wrap:wrap}
.skin-capa{position:relative;aspect-ratio:3/2;background:var(--skin-cor);overflow:hidden}
.skin-capa img{width:100%;height:100%;object-fit:cover;display:block}
.skin-capa .skin-mini{position:absolute;width:46%;height:auto;left:27%;bottom:6%;object-fit:contain;filter:drop-shadow(0 4px 6px #0008)}
.previa-skin{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 8px;padding:8px 12px;border-radius:8px;background:#2a2217;color:#f3e6c4}
.previa-skin span{flex:1 1 220px}

/* 0.59: criatura da skin cruzando o céu da aldeia (uma vez a cada ~45 s) */
/* 0.84.11: 30% menor (era 20%) e, com a folha de 24 quadros, bater de asas suave */
.criatura-ceu{position:absolute;top:9%;left:-22%;width:14%;aspect-ratio:1;background:no-repeat 0 0/800% 100%;pointer-events:none;z-index:190;opacity:0;filter:drop-shadow(0 18px 14px #0005);animation:quadros .9s steps(8,jump-none) infinite,criatura-voo 46s linear infinite}
.criatura-ceu.suave{background-size:2400% 100%;animation:quadros 1.2s steps(24,jump-none) infinite,criatura-voo 46s linear infinite}
@keyframes criatura-voo{0%{left:-22%;top:16%;opacity:0}2%{opacity:1}34%{left:104%;top:4%;opacity:1}36%,100%{left:110%;top:4%;opacity:0}}
@media (prefers-reduced-motion:reduce){.criatura-ceu{display:none}}

/* 0.59: cena ampliada de algumas skins (a aldeia numa caixa menor dentro do fundo maior) */
.cena-conteudo{position:absolute}
/* skins: o clima (névoa, fumaça, almas) é mais sutil para não esconder os edifícios; a criatura um pouco menor */
.cena-skin .sprite-anim.ambiente{opacity:.38}
.noite.cena-skin .sprite-anim.ambiente{opacity:.3}
/* 0.86.4: no Reino Desenhado o "ambiente" são borboletas laranja desenhadas (nas outras artes é névoa, neve, faísca):
   inteiras (sem a transparência que virava um fantasma verde no gramado), menores e voando devagar pela clareira */
.cena-skin.skin-desenho .sprite-anim.ambiente{opacity:1;animation:quadros .55s steps(8,jump-none) infinite,borboleta-voa 22s ease-in-out infinite backwards;transform:scale(.38);transform-origin:50% 100%}
.noite.cena-skin.skin-desenho .sprite-anim.ambiente{opacity:0;animation:none}
@keyframes borboleta-voa{0%{transform:translate(0,0) scale(.38,.38)}25%{transform:translate(70%,-55%) scale(.38,.38)}47%{transform:translate(145%,-12%) scale(.38,.38)}53%{transform:translate(150%,-8%) scale(-.38,.38)}75%{transform:translate(60%,35%) scale(-.38,.38)}97%{transform:translate(2%,2%) scale(-.38,.38)}100%{transform:translate(0,0) scale(.38,.38)}}
.cena-skin .criatura-ceu{width:10.5%}

/* 0.59: vida nos edifícios pintados das Casas e skins */
.lote-arte>.arte-viva{position:absolute;top:-6.25%;right:-6.25%;bottom:-6.25%;left:-6.25%;pointer-events:none}
.arte-viva>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;-webkit-user-select:none;user-select:none}
.arte-viva>.giro-fundo,.arte-viva>.giro{top:auto;right:auto;bottom:auto;left:auto;width:auto;height:auto}
.arte-viva>.giro{animation:giro-roda 6s linear infinite;transform-origin:50% 50%}
@keyframes giro-roda{from{transform:scaleX(var(--k)) rotate(0deg) scaleX(var(--ik))}to{transform:scaleX(var(--k)) rotate(360deg) scaleX(var(--ik))}}
.arte-viva>.chama{position:absolute;background-repeat:no-repeat;transform-origin:50% 92%;animation:chama-viva .9s ease-in-out infinite alternate}
@keyframes chama-viva{0%{transform:scale(1,1) skewX(0);filter:brightness(1)}33%{transform:scale(1.05,1.13) skewX(-4deg);filter:brightness(1.18)}66%{transform:scale(.98,1.07) skewX(3deg);filter:brightness(1.08)}100%{transform:scale(1.03,1.16) skewX(-2deg);filter:brightness(1.22)}}
.arte-viva>.luz{mix-blend-mode:screen;opacity:.45;animation:luz-viva 2.6s ease-in-out infinite}
@keyframes luz-viva{0%,100%{opacity:.22}25%{opacity:.62}45%{opacity:.38}70%{opacity:.75}85%{opacity:.48}}
.noite .arte-viva>.luz{animation-name:luz-viva-noite}
@keyframes luz-viva-noite{0%,100%{opacity:.5}25%{opacity:.95}45%{opacity:.68}70%{opacity:1}85%{opacity:.75}}
.arte-viva>.fumaca-viva{position:absolute;z-index:2;opacity:.8}
.motion-off .arte-viva>*,.animations-paused .arte-viva>*{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){.arte-viva>.chama,.arte-viva>.giro{animation:none}}
/* à noite só o desenho escurece: a luz, as chamas e a fumaça continuam acesas por cima */
.dynamic-village.noite .lote-arte:has(>.arte-viva){filter:none}
.dynamic-village.noite .arte-viva>img:first-child,.dynamic-village.noite .arte-viva>.giro-fundo,.dynamic-village.noite .arte-viva>.giro{filter:brightness(.62) saturate(.72) contrast(1.06) hue-rotate(-8deg)}

/* 0.60: central dos mundos no painel */
.troca-mundo{display:flex;align-items:center;gap:6px;font-size:12px}
.troca-mundo select{font-size:13px;padding:2px 6px;max-width:220px}
.lista-central{display:grid;gap:14px;margin-bottom:14px}
.mundo-central.atual{box-shadow:0 0 0 2px var(--latao,#c9932b)}
.mundo-central .tags{gap:6px;flex-wrap:wrap;margin-top:4px}
.central-linha{display:grid;grid-template-columns:190px auto 1fr;align-items:center;gap:6px 14px;padding:10px 0;border-top:1px solid var(--linha)}
.central-linha .hint{margin:0}
@media (max-width:760px){.central-linha{grid-template-columns:1fr}}
.segmentado{display:inline-flex;border:1px solid var(--linha);border-radius:8px;overflow:hidden}
.segmentado .seg{border:0;background:transparent;padding:7px 14px;font:inherit;cursor:pointer;color:inherit}
.segmentado .seg+.seg{border-left:1px solid var(--linha)}
.segmentado .seg.ativo{background:#57773a;color:#fff;font-weight:600}
.segmentado .seg:disabled{opacity:.4;cursor:not-allowed}
.chave{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--linha);border-radius:999px;background:transparent;padding:5px 14px 5px 6px;font:inherit;cursor:pointer;color:inherit}
.chave i{width:34px;height:18px;border-radius:9px;background:#9a9384;position:relative;transition:background .15s}
.chave i::after{content:'';position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .15s}
.chave.ligada i{background:#57773a}
.chave.ligada i::after{left:18px}
.chave:disabled{opacity:.45;cursor:not-allowed}
.fases-previa{display:flex;flex-wrap:wrap;gap:4px;flex-basis:100%}

/* 0.61: cena por setores — chão provisório (até a arte nova chegar), setores, zoom e arrastar */
svg.village-ground{display:block}
.setores-cena{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}
.setor-arte{position:absolute;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0}
.noite .village-ground.provisorio,.noite .setores-cena{filter:brightness(.5) saturate(.7) hue-rotate(-8deg)}
.cena-rolagem.com-zoom{overflow:auto;max-height:78vh;cursor:grab;overscroll-behavior-x:contain;overscroll-behavior-y:auto}
.cena-rolagem.com-zoom.arrastando{cursor:grabbing;-webkit-user-select:none;user-select:none}
.zoom-cena{display:inline-flex;align-items:center;gap:4px}
.zoom-cena b{min-width:3.2em;text-align:center;font-size:.85em;color:#efe4c8;text-shadow:0 1px 1px #0008}

/* 0.61.4 — celular: revisão tela por tela (ferramentas/celular/auditar.js) */
@media (max-width:760px){
 /* o botão da conta no topo virava uma caixinha vazia: agora mostra o retrato */
 .menu-conta summary span:not([data-eu-retrato]){display:none}
 .menu-conta summary span[data-eu-retrato]{display:flex}
 .menu-conta summary{min-width:40px;min-height:40px;padding:3px;justify-content:center}
 /* faixas de festival e evento: só o nome e o tempo (a explicação fica na tela do evento) */
 .faixa-mundo .faixa-desc{display:none}
 .faixa-mundo b[data-fim]{white-space:nowrap}
 .faixa-mundo{margin-bottom:8px;padding:6px 10px;font-size:13px}
 /* 0.72 (M1): mapa no celular sem nada escondido à direita — botões em grade 2 × 2 (Minha aldeia primeiro)
    e filtros em duas linhas, em vez de uma faixa que só rolava de lado sem aviso */
 .world-toolbar{flex-wrap:wrap}
 .world-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px;width:100%}
 .world-buttons .btn{justify-content:center;min-height:40px;padding:4px 8px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .world-buttons [data-acao="centro-minha"]{order:-1}
 .filtros-mapa:not(.claro){flex-wrap:wrap;gap:2px 10px;padding:4px 8px}
 .filtros-mapa:not(.claro) .filtro-rel{min-height:34px}
 /* números dos lotes na aldeia: 10 px era pequeno demais */
 .lot-label b{font-size:12px;min-width:20px;height:19px}
 /* loja do festival saía pela direita */
 .loja-festival li{grid-template-columns:40px minmax(0,1fr)}
 .loja-festival-acao{flex-wrap:wrap;min-width:0}
 .loja-festival-acao .motivo-festival{flex-basis:100%}
 .loja-festival-acao select{min-width:0}
}
/* tela de toque: alvos de pelo menos ~40 px (os botões crescem; links e números ganham área invisível em volta) */
@media (pointer:coarse){
 .btn{min-height:40px!important;min-width:40px}
 .btn.mini,.card-head .btn,.tabela .btn{min-height:36px!important}
 .training-tabs .btn{min-height:38px!important}
 .motion-control{min-height:36px!important;padding-left:10px!important;padding-right:10px!important}
 .link,.text-button,.qtd-max,.tabela td a:not(.btn),.legend a,.menu-conta-lista a{position:relative}
 .link::after,.text-button::after,.tabela td a:not(.btn)::after{content:"";position:absolute;top:-8px;right:-4px;bottom:-8px;left:-4px}
 .qtd-max::after{content:"";position:absolute;top:-12px;right:-10px;bottom:-12px;left:-10px}
 input[type=checkbox],input[type=radio]{width:20px;height:20px}
 input[type=number],input[type=text],input[type=search],input:not([type]),select{min-height:36px}
 .campo-tropa input{min-height:38px!important}
 .coord-in,.painel-mapa .card-head select.mini{min-height:36px}
 .tabela td input[type=checkbox],.tabela th input[type=checkbox]{width:24px;height:24px}
 .cores-desenho .cor,.marcar .cor{width:34px;height:34px}
 .chip{display:inline-flex;align-items:center;min-height:34px;padding:2px 12px}
 .barra-bb button{min-width:38px;min-height:38px}
 .motion-control{min-width:36px}
 button.close,.close{min-width:40px;min-height:40px}
 label:has(> input[type=checkbox]),label:has(> input[type=radio]){min-height:34px}
 .menu-conta-lista a,.menu-conta-lista button{padding:11px 12px}
}

/* 0.62 — Inventário */
.lista-itens{list-style:none;margin:0;padding:0}
.item-inv{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 14px;border-top:1px solid #0000001a}
.item-inv:first-child{border-top:0}
.item-arte{width:64px;height:64px;border-radius:8px;object-fit:contain;background:radial-gradient(circle at 50% 40%,#fff8e2,#ecd9a8);border:1px solid #c9a96266}
.item-arte.vazio{display:grid;place-items:center;color:#7a5a1f}
.item-arte.vazio .ui-icon{width:40px;height:40px}
.item-arte.mini{display:inline-grid;width:24px;height:24px;border-radius:4px;vertical-align:middle;margin-right:4px}
.item-arte.mini .ui-icon{width:18px;height:18px}
.item-inv .raridade{margin-left:6px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#7a6a4a}
.item-inv.raridade-raro .item-arte{border-color:#3d7a8c;box-shadow:0 0 0 2px #3d7a8c33}
.item-inv.raridade-raro .raridade{color:#2f6577}
.item-inv.raridade-epico .item-arte{border-color:#7b4fa6;box-shadow:0 0 0 2px #7b4fa644}
.item-inv.raridade-epico .raridade{color:#6b3f98}
.item-inv p.hint{margin:2px 0 0}
.item-usar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.item-usar select{max-width:230px}
@media (max-width:640px){
 .item-inv{grid-template-columns:52px minmax(0,1fr);gap:10px}
 .item-arte{width:52px;height:52px}
 .item-usar{grid-column:1/-1;justify-content:stretch}
 .item-usar select{flex:1;min-width:0;max-width:none}
}
:root[data-tema=escuro] .item-arte{background:radial-gradient(circle at 50% 40%,#3a3022,#231c12)}

/* 0.63 — Relicário */
.rel-lista{display:grid;gap:0}
.rel-cartao{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;padding:10px 14px;border-top:1px solid #0000001a}
.rel-lista>.rel-cartao:first-child,.rel-inicial .rel-cartao{border-top:0}
.rel-arte{width:64px;height:64px;border-radius:50%;object-fit:contain;background:radial-gradient(circle at 50% 40%,#fffaf0,#e9dcc0);border:2px solid #9a8a6a}
.rel-arte.vazio{display:grid;place-items:center;color:#6b5a3a}
.rel-arte.vazio .ui-icon{width:38px;height:38px}
.rel-q{display:inline-block;padding:1px 8px;border-radius:10px;font-size:12px;font-weight:700;color:#fff;background:#8a7a5a}
.rel-arte.q0,.rel-q.q0{border-color:#8a7a5a}.rel-q.q0{background:#8a7a5a}
.rel-arte.q1{border-color:#4f7d3a}.rel-q.q1{background:#4f7d3a}
.rel-arte.q2{border-color:#2f6f9a}.rel-q.q2{background:#2f6f9a}
.rel-arte.q3{border-color:#7b4fa6}.rel-q.q3{background:#7b4fa6}
.rel-arte.q4{border-color:#c08a1a;box-shadow:0 0 0 3px #f2c14e55}.rel-q.q4{background:linear-gradient(90deg,#b8801a,#e2a92c)}
.rel-attrs{list-style:none;margin:4px 0 0;padding:0;font-size:14px}
.rel-attrs li{padding:1px 0}
.rel-attrs li.principal{font-weight:700}
.rel-attrs li.perfeito{color:#6b3f98;font-weight:700}
.rel-acoes,.rel-onde{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0 0}
.rel-acoes select,.rel-onde select{max-width:220px;min-width:0}
.rel-barra{position:sticky;top:0;z-index:2;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 14px;background:#f3e6c4;border-top:1px solid #c9a96266;border-bottom:1px solid #c9a96266}
.rel-iniciais{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.rel-inicial{border:1px solid #c9a96266;border-radius:6px;padding-bottom:10px;display:grid;justify-items:start}
.rel-inicial .btn{margin:0 14px}
.chip.no-teto{border-color:#b8801a;background:#fbefcf}
.rel-filtros label{display:flex;gap:6px;align-items:center}
:root[data-tema=escuro] .rel-barra{background:#2a2318}
:root[data-tema=escuro] .rel-arte{background:radial-gradient(circle at 50% 40%,#3a3022,#231c12)}
@media (max-width:640px){.rel-cartao{grid-template-columns:52px minmax(0,1fr);gap:10px}.rel-arte{width:52px;height:52px}.rel-acoes select,.rel-onde select{flex:1;max-width:none}}


/* 0.64 — compatibilidade com Safari/iOS antigos e Chrome antigo (ferramentas/compat/varrer.js) */
/* sem aspect-ratio (iOS 14, Chrome < 88): a caixa ganha altura por padding, senão a aldeia e os lotes ficam com altura 0 */
@supports not (aspect-ratio:1/1){
 .dynamic-village::before{content:"";display:block;padding-top:66.667%}
 .village-lot::before,.brasao-tribo::before,.sprite-anim::before,.cavalo-extra::before,.andorinha-realista::before,.criatura-ceu::before,.evolving-sprite::before{content:"";display:block;padding-top:100%}
 .habitante::before{content:"";display:block;padding-top:125%}
 .habitante.praca::before{padding-top:83.333%}
 .vv-quadro::before{content:"";display:block;padding-top:56.25%}
}
/* nome animado sem color-mix (Safari < 16.2): mostra a cor fixa em vez de ficar invisível */
@supports not (color:color-mix(in srgb,red 50%,white)){.nome-anim{color:var(--cor-nome,inherit)!important;background:none!important;-webkit-text-fill-color:currentColor}}
/* toque longo no mapa e na aldeia não seleciona texto nem abre o menu do iOS */
.mapa-viewport,.dynamic-village{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
/* iPhone deitado: o conteúdo não fica embaixo do entalhe */
body{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
@media (max-width:760px){.sidebar{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}}
/* telas muito estreitas (celular dobrável fechado, 280 px): o nome do jogo sai do topo para caber */
@media (max-width:340px){.brand-nome{display:none!important}.relogio{font-size:12px}}

.faixa-mundo.interno{background:linear-gradient(90deg,#dde7f1,#f1f5f9);border-color:#7f9bb5;color:#22384d;font-weight:600;flex-wrap:wrap}
/* 0.65: mata dinâmica da aldeia (peças soltas que somem quando um edifício cresce até elas) */
.mata-peca{position:absolute;height:auto;pointer-events:none;-webkit-user-select:none;user-select:none;transform-origin:50% 100%}
.mata-peca.esp{transform:scaleX(-1)}
.muro-frente{position:absolute;height:auto;pointer-events:none;-webkit-user-select:none;user-select:none}
/* 0.67: muralha em peças, cada uma em tiras com profundidade própria */
.muro-tira{position:absolute;overflow:hidden;pointer-events:none}
.muro-tira img{position:absolute;top:0;height:100%;max-width:none;-webkit-user-select:none;user-select:none}

/* Terreno comum: verdes menos saturados e luz suave, sem alterar caminhos ou geometria. */
.dynamic-village.dia:not(.cena-casa) > img.village-ground{filter:saturate(.68) brightness(1.04) contrast(.94)}
/* Acabamento da aldeia: moldura, luz e controles no mesmo estilo do jogo. */
.cena-moldura{border:1px solid #a68b535c;border-radius:12px;overflow:hidden;box-shadow:0 14px 36px #070e1738,inset 0 1px #e9d9a526;background:#17251f}
.cena-rolagem{background:#243a29}
.dynamic-village.dia:not(.cena-casa)>.cena-luz{background:radial-gradient(ellipse at 28% 16%,#fff0bd0d,transparent 56%),radial-gradient(ellipse 110% 100% at 50% 44%,transparent 58%,#14281b38 100%)}
.cena-barra{gap:12px;padding:10px 12px;background:linear-gradient(180deg,#23342f,#172721);border-top:1px solid #b39b6152}
.cena-barra .motion-control,.cena-barra .scene-help{border-radius:7px;border-color:#c8ad6a42;background:#0b1b1580;color:#e6ddc6;transition:background .16s,border-color .16s}
.cena-barra .motion-control:hover,.cena-barra .scene-help:hover{background:#40523a;border-color:#d3bc7b;color:#fff6db}
.village-lot .lot-label{filter:drop-shadow(0 2px 3px #10190ec9)}
@media(max-width:760px){.cena-moldura{border-radius:8px}.cena-barra{padding:8px;gap:6px}.scene-controls{gap:5px}}
@media(prefers-reduced-motion:reduce){.cena-barra .motion-control,.cena-barra .scene-help{transition:none}}

/* Hierarquia visual: edifícios quentes e nítidos sobre paisagem mais calma. */
.dynamic-village.dia:not(.cena-casa) .lote-arte{filter:saturate(1.20) contrast(1.09) brightness(1.045)}
.dynamic-village.dia:not(.cena-casa) .mata-peca{filter:saturate(.72) contrast(.96)}
.dynamic-village.dia:not(.cena-casa) .village-lot:hover .lote-arte,
.dynamic-village.dia:not(.cena-casa) .village-lot:focus-within .lote-arte{filter:saturate(1.20) contrast(1.09) brightness(1.045) drop-shadow(0 0 5px #fff1b8)}
/* Detalhes animados do redesenho: as estruturas permanecem imóveis. */
.lote-arte>.redesenho-vivo{position:absolute;left:-6.25%;top:-6.25%;width:112.5%;height:112.5%;max-width:none;pointer-events:none}
.evolving-sprite>.redesenho-vivo{display:block;width:100%;height:100%;overflow:visible}
.rd-flag{animation:rd-flag 3.4s ease-in-out infinite}
.rd-leaves{animation:rd-leaves 5s ease-in-out infinite}
.rd-bell{animation:rd-bell 23s ease-in-out infinite}
.rd-glow{animation:rd-glow 3.2s ease-in-out infinite;mix-blend-mode:screen}
.rd-lift{animation:rd-lift 13s ease-in-out infinite}
.rd-mill{animation:rd-mill 14s linear infinite}
.rd-puff{animation:rd-smoke 4.6s ease-out infinite;transform-box:fill-box;transform-origin:center;opacity:0}
.motion-off .redesenho-vivo *,.animations-paused .redesenho-vivo *,.rd-parado *{animation-play-state:paused!important}
.motion-off .rd-puff,.animations-paused .rd-puff,.rd-parado .rd-puff{display:none}
@keyframes rd-flag{0%,100%{transform:skewX(0deg) scaleX(1)}25%{transform:skewX(3.6deg) scaleX(.97)}50%{transform:skewX(-1.3deg) scaleX(1.02)}75%{transform:skewX(2.6deg) scaleX(.98)}}
@keyframes rd-leaves{0%,100%{transform:rotate(-1.3deg)}50%{transform:rotate(1.3deg)}}
@keyframes rd-bell{0%,77%,100%{transform:rotate(0)}80%,86%{transform:rotate(5deg)}83%,89%{transform:rotate(-5deg)}92%{transform:rotate(2deg)}}
@keyframes rd-glow{0%,100%{opacity:.22;filter:brightness(1.12)}18%{opacity:.58;filter:brightness(1.4)}34%{opacity:.32;filter:brightness(1.15)}55%{opacity:.68;filter:brightness(1.45)}76%{opacity:.38;filter:brightness(1.2)}}
@keyframes rd-lift{0%,25%,100%{transform:translateY(0)}55%,70%{transform:translateY(-1.5px)}}
@keyframes rd-mill{to{transform:rotate(360deg)}}
@keyframes rd-smoke{0%{opacity:0;transform:translate(0,0) scale(.5)}18%{opacity:.5}60%{opacity:.32}100%{opacity:0;transform:translate(11px,calc(-1.4 * var(--rise))) scale(2.4)}}
.mata-peca{--flip:1}.mata-peca.esp{--flip:-1}
/* 0.85: árvores balançando ao vento de verdade (dobram pela base; a virada das .esp continua com --flip) */
.dynamic-village:not(.motion-off) .mata-peca{transform-origin:50% 95%;animation:mata-balanco 5.4s ease-in-out infinite}
.dynamic-village:not(.motion-off) .mata-peca:nth-of-type(3n){animation-delay:-2.1s;animation-duration:6.6s}
.dynamic-village:not(.motion-off) .mata-peca:nth-of-type(4n+1){animation-delay:-3.7s;animation-duration:4.7s}
.dynamic-village:not(.motion-off) .mata-peca:nth-of-type(5n+2){animation-name:mata-rajada;animation-delay:-1.3s;animation-duration:7.4s}
@keyframes mata-balanco{0%,100%{transform:scaleX(var(--flip)) skewX(-1.7deg)}50%{transform:scaleX(var(--flip)) skewX(2.3deg) translateY(-.4px)}}
@keyframes mata-rajada{0%,100%{transform:scaleX(var(--flip)) skewX(-1deg)}30%{transform:scaleX(var(--flip)) skewX(3.4deg)}42%{transform:scaleX(var(--flip)) skewX(1.2deg)}58%{transform:scaleX(var(--flip)) skewX(2.8deg)}80%{transform:scaleX(var(--flip)) skewX(-1.6deg)}}
/* 0.85: rio correndo (reflexos descendo em duas velocidades) e lava pulsando, só dentro da máscara pintada */
.agua-viva{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;mix-blend-mode:screen}
.agua-viva .av-1{opacity:.5;animation:agua-desce 7s linear infinite}
.agua-viva .av-2{opacity:.38;animation:agua-desce-2 4.2s linear infinite}
.agua-viva.noite .rio-vivo{opacity:.55}
.agua-viva .rio-lava{opacity:.9;animation:lava-pulsa 4.2s ease-in-out infinite}.agua-viva.noite .rio-lava{opacity:1;animation-name:lava-pulsa-noite}
.agua-viva .rl-1{animation:lava-escorre 16s linear infinite}
@keyframes lava-escorre{to{transform:translateY(160px)}}
.agua-viva .lava-viva{animation:lava-pulsa 3.4s ease-in-out infinite}
.agua-viva .lv-1{animation:lava-anda 18s linear infinite}
.agua-viva .lv-0{opacity:.22}.agua-viva.noite .lv-0{opacity:.8}
.agua-viva.noite .lava-viva{animation-name:lava-pulsa-noite}
@keyframes agua-desce{to{transform:translateY(128px)}}
@keyframes agua-desce-2{to{transform:translateY(96px)}}
@keyframes lava-anda{to{transform:translate(160px,160px)}}
@keyframes lava-pulsa{0%,100%{opacity:.35}45%{opacity:.95}70%{opacity:.6}}
@keyframes lava-pulsa-noite{0%,100%{opacity:.6}45%{opacity:1}70%{opacity:.8}}
.motion-off .agua-viva *,.animations-paused .agua-viva *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.redesenho-vivo *,.dynamic-village .mata-peca,.agua-viva *{animation:none!important}.rd-puff{display:none}}
/* Paleta final da arte aprovada; movimento e luz não alteram a geometria. */
.dynamic-village.redesenhada.dia .lote-arte{filter:saturate(1.03) contrast(1.035)}
.dynamic-village.redesenhada.dia>.village-ground{filter:saturate(.82) contrast(.97) brightness(.98)}
.noite .redesenho-vivo image{filter:brightness(.58) saturate(.8)}
.noite .redesenho-vivo .rd-glow image{filter:brightness(1.25)}
.dynamic-village.redesenhada.noite .lote-arte{filter:none}
.rd-night-light{display:none}
.noite .rd-night-light{display:inline;mix-blend-mode:screen;animation-name:rd-lamplight}
.noite .rd-night-light image{filter:brightness(1.4) sepia(var(--rd-lamp-sepia,.35)) saturate(1.25)}
.acessos-cena{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.noite .acessos-cena pattern image{filter:none}
.dynamic-village.redesenhada.dia>img.village-ground{filter:saturate(.97) contrast(1.015) brightness(1)}
.dynamic-village.redesenhada.dia .lote-arte{filter:saturate(1) contrast(1)}
.dynamic-village.redesenhada.dia .village-lot:hover .lote-arte,
.dynamic-village.redesenhada.dia .village-lot:focus-within .lote-arte{filter:saturate(1) contrast(1) drop-shadow(0 0 5px #fff1b8)}
.rd-earth-contact{opacity:.48}.rd-shadow-core{opacity:.34}
.noite .rd-earth-contact{opacity:.28}.noite .rd-shadow-core{opacity:.42}
@keyframes rd-lamplight{0%,100%{opacity:.6}22%{opacity:.98}40%{opacity:.7}62%{opacity:1}82%{opacity:.66}}
/* O nível fica fora da silhueta, inclusive das pás do moinho e dos andaimes. */
.village-lot.built .lot-label,
.village-lot.under-construction .lot-label{left:var(--nivel-x,50%);top:calc(var(--nivel-y,0%) - 8px);transform:translate(-50%,-100%)}
.village-lot.lote-wall.built .lot-label{left:-40%;top:95%;transform:translate(-100%,-50%)}
.village-lot.built .lot-label.nivel-lateral{left:calc(var(--nivel-x) + 8px);top:var(--nivel-y);transform:translate(0,-50%)}
.rd-soil{opacity:.16}
.rd-contact{opacity:.25}
.noite .rd-soil{opacity:.09}
.noite .rd-contact{opacity:.33}
/* 0.69: popup do mapa em tabela (dono, aliança, moral, bônus noturno, tempo de cada tropa) */
.mapa-dica{max-width:min(470px,calc(100% - 12px));padding:0;overflow:hidden}
.mapa-dica .dica-tab{border-collapse:collapse;width:100%;font-size:12px}
.mapa-dica .dica-tab td{padding:2px 8px;border-top:1px solid var(--linha);vertical-align:top}
.mapa-dica .dica-tab td:first-child{white-space:nowrap;color:var(--tinta-2)}
.mapa-dica .dica-cab{background:linear-gradient(180deg,#dcc28a,var(--couro));font-weight:700;font-size:13px;color:var(--madeira)}
.mapa-dica .dica-tempos{display:flex;flex-wrap:wrap;gap:2px;padding:4px;border-top:1px solid var(--linha);background:var(--caixa-par)}
.mapa-dica .dica-tempos span{display:flex;flex-direction:column;align-items:center;min-width:44px;padding:1px 2px;border:1px solid var(--linha);border-radius:2px;background:var(--caixa)}
.mapa-dica .dica-tempos img{width:20px;height:20px}
.mapa-dica .dica-tempos b{display:block;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}
.mapa-dica em{padding:2px 8px 4px}
/* 0.69: menu circular ao clicar numa aldeia do mapa */
.mapa-radial{position:absolute;z-index:7;width:0;height:0;pointer-events:none}
.mapa-radial .rad-bt{position:absolute;display:flex;align-items:center;justify-content:center;width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:50%;border:2px solid #5a3d1c;background:radial-gradient(circle at 35% 30%,#f6e6bd,#cfae6c);box-shadow:0 2px 6px #0008;color:#3a2610;font-size:19px;line-height:1;text-decoration:none;cursor:pointer;pointer-events:auto;animation:rad-abre .14s ease-out both}
.mapa-radial .rad-bt:hover,.mapa-radial .rad-bt:focus-visible{background:radial-gradient(circle at 35% 30%,#fff6d8,#e2c27e);outline:2px solid #fff3c4;outline-offset:1px}
.mapa-radial .rad-bt[disabled]{opacity:.45;cursor:not-allowed;filter:grayscale(.7)}
.mapa-radial .rad-bt .ui-icon{width:22px;height:22px}
.mapa-radial .rad-centro{width:50px;height:50px;margin:-25px 0 0 -25px;background:radial-gradient(circle,#fff8e2,#d9bb7d)}
.mapa-radial .rad-centro img{width:40px;height:auto}
.mapa-radial .rad-n{transform:translate(0,-52px)}.mapa-radial .rad-ne{transform:translate(38px,-38px)}.mapa-radial .rad-l{transform:translate(54px,0)}.mapa-radial .rad-se{transform:translate(38px,38px)}
.mapa-radial .rad-s{transform:translate(0,52px)}.mapa-radial .rad-so{transform:translate(-38px,38px)}.mapa-radial .rad-o{transform:translate(-54px,0)}.mapa-radial .rad-no{transform:translate(-38px,-38px)}
.mapa-radial .rad-nome{position:absolute;top:76px;left:0;transform:translateX(-50%);padding:2px 8px;border-radius:3px;background:#2a1d0ee6;color:#fff3d6;font-size:12px;white-space:nowrap;pointer-events:none}
@keyframes rad-abre{from{opacity:0;scale:.4}to{opacity:1;scale:1}}
@media(prefers-reduced-motion:reduce){.mapa-radial .rad-bt{animation:none}}
@media(pointer:coarse){.mapa-radial .rad-bt{width:44px;height:44px;margin:-22px 0 0 -22px}.mapa-radial .rad-n{transform:translate(0,-60px)}.mapa-radial .rad-ne{transform:translate(44px,-44px)}.mapa-radial .rad-l{transform:translate(62px,0)}.mapa-radial .rad-se{transform:translate(44px,44px)}.mapa-radial .rad-s{transform:translate(0,60px)}.mapa-radial .rad-so{transform:translate(-44px,44px)}.mapa-radial .rad-o{transform:translate(-62px,0)}}
/* 0.69: página de informações da aldeia */
.info-aldeia{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}
@media(max-width:860px){.info-aldeia{grid-template-columns:1fr}}
.info-aldeia-topo{display:flex;gap:12px;align-items:flex-start}
.info-aldeia-topo .tabela{flex:1}
.info-aldeia-img{width:110px;height:auto;flex:none;filter:drop-shadow(0 3px 4px #0005)}
@media(max-width:480px){.info-aldeia-topo{flex-direction:column;align-items:center}}
.card-head.sub{min-height:30px}
.lista-acoes-aldeia{list-style:none;margin:0;padding:4px 0}
.lista-acoes-aldeia li{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:6px 12px;border-top:1px solid var(--linha)}
.lista-acoes-aldeia li:first-child{border-top:0}
.lista-acoes-aldeia .ui-icon,.lista-acoes-aldeia .ico-txt{width:22px;height:22px;flex:none;text-align:center;font-size:17px;line-height:22px}
.lista-acoes-aldeia a,.lista-acoes-aldeia .link{font-weight:600}
.lista-acoes-aldeia select.mini{width:auto;min-height:26px;padding:1px 4px;font-size:12px}
.marcar.inline{display:inline-flex;align-items:center;gap:4px}
.marcar.inline .cor{width:20px;height:20px}
.info-aldeia-notas textarea{width:100%}
/* 0.69: brasão próprio no perfil */
.perfil-brasao{display:flex;flex-direction:column;align-items:center;gap:5px;margin-left:auto;min-width:130px;max-width:200px;text-align:center}
.perfil-brasao img{max-width:180px;max-height:180px;border:2px solid var(--couro-borda);border-radius:4px;background:#0001;image-rendering:auto}
.perfil-brasao-vazio{display:grid;place-items:center;width:120px;height:120px;border:2px dashed var(--couro-borda);border-radius:4px;color:var(--tinta-2);font-size:12px}
.perfil-brasao label.btn{cursor:pointer}
.perfil-topo{flex-wrap:wrap}
@media(max-width:600px){.perfil-brasao{margin:8px auto 0}}
.perfil-mais{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;border-top:1px solid var(--linha)}
/* 0.69: brasões na moderação */
.galeria-brasoes{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;padding:0 12px 12px}
.galeria-brasoes figure{margin:0;padding:6px;border:1px solid var(--linha);border-radius:4px;background:var(--caixa-par);text-align:center}
.galeria-brasoes img,.den-brasao img{max-width:120px;max-height:120px;display:block;margin:0 auto 4px}
.galeria-brasoes figcaption{display:flex;flex-direction:column;gap:2px;font-size:12px}
.den-brasao{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0}

/* 0.70: editor de grupos dinâmicos (filtros E/OU, prévia ao vivo) */
.editor-grupo [hidden]{display:none}
.editor-grupo-topo{gap:14px 20px;align-items:flex-end;flex-wrap:wrap}
.editor-grupo-topo>label{display:grid;gap:3px;min-width:220px}
.tipo-grupo,.modo-grupo{border:1px solid var(--linha);border-radius:3px;padding:4px 10px 6px;display:flex;flex-wrap:wrap;gap:4px 16px;margin:0}
.tipo-grupo legend,.modo-grupo legend{font-size:12px;font-weight:700;color:var(--tinta-2);padding:0 4px}
.tipo-grupo label,.modo-grupo label{display:flex;align-items:center;gap:5px}
.filtros-grupo{display:grid;gap:5px;margin:6px 0}
.filtro-grupo{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:6px 8px;border:1px solid var(--linha);border-left:4px solid var(--latao);border-radius:3px;background:var(--caixa)}
.filtro-grupo:has([data-campo=nao]:checked){border-left-color:#a33a2a}
.filtro-grupo>b{min-width:150px}
.filtro-nao{display:flex;align-items:center;gap:3px;font-size:12px;color:var(--tinta-2)}
.filtro-campos{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.filtro-itens{display:flex;flex-wrap:wrap;gap:6px}
.filtro-item{display:inline-flex;align-items:center;gap:3px;padding:2px 4px;border:1px dashed var(--couro);border-radius:3px}
.filtro-grupo select.mini,.editor-grupo select.mini{width:auto;min-height:28px;padding:1px 4px;font-size:13px}
.filtro-grupo input.mini{width:150px;min-height:28px;padding:2px 5px}
.filtro-grupo input.mini.num{width:72px}
.filtro-grupos{display:flex;flex-wrap:wrap;gap:4px}
.filtro-grupos .chip{display:inline-flex;align-items:center;gap:3px;cursor:pointer}
.filtro-tirar{margin-left:auto}
.selo-extra{font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:0 5px;border-radius:8px;background:#e5efd9;color:#3e5a22;border:1px solid #b9cf9e}
.previa-grupo{margin-top:8px;padding:8px 10px;border-radius:3px;background:#fff8e2;border:1px solid var(--linha)}
.previa-nomes{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}
.modelos-grupo .chip{cursor:pointer}
.grupos-dinamicos td small{color:var(--tinta-2)}
@media (max-width:640px){.filtro-grupo>b{min-width:0;width:100%}.filtro-tirar{margin-left:0}.filtro-grupo select.mini,.filtro-grupo input.mini{min-height:36px}}
.selo-premium{background:#f6e7bd;color:#6b4a12;border-color:#d7b462}
.grupo-trava .trava-premium{margin:6px 0 0}
.atalhos-cosmeticos [hidden]{display:none}
.falta-creditos{display:block;margin-top:3px;color:#8e2f22}

/* 0.71: clareza do editor de grupos (G1–G6) */
.editor-grupo form{max-width:1040px}
.editor-grupo .mini,.editor-grupo select.mini{font-size:14px}
.editor-grupo :is(input,select,button):focus-visible{outline:3px solid var(--latao-claro);outline-offset:2px}
.filtros-grupo .filtro-grupo{position:relative}
.filtros-grupo .filtro-grupo + .filtro-grupo{margin-top:14px}
.filtros-grupo .filtro-grupo + .filtro-grupo::before{position:absolute;left:14px;top:-15px;padding:0 7px;border-radius:8px;font-size:11px;font-weight:700;letter-spacing:.05em;line-height:16px;background:var(--couro-borda);color:#fff}
.filtros-grupo[data-modo=e] .filtro-grupo + .filtro-grupo::before{content:'E'}
.filtros-grupo[data-modo=ou] .filtro-grupo + .filtro-grupo::before{content:'OU';background:#3d6a7c}
.filtro-grupo .item-tirar{min-width:28px;min-height:28px;font-size:16px}
.modelos-grupo{border:1px solid var(--linha);border-radius:3px;padding:6px 10px;background:#fffaf0}
.modelos-grupo summary{cursor:pointer;font-weight:700}
.modelos-cat{display:grid;grid-template-columns:170px 1fr;gap:6px 12px;align-items:start;margin-top:8px}
.modelos-cat>span{font-size:12px;font-weight:700;color:var(--tinta-2);padding-top:4px}
.modelos-cat>div{display:flex;flex-wrap:wrap;gap:6px}
.modelos-cat .chip{min-height:32px;padding:3px 12px;font-size:13px;cursor:pointer}
.previa-grupo.carregando{opacity:.75}
.previa-status{margin:0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.previa-num{font-size:26px;line-height:1;color:var(--madeira,#4f3a22);font-variant-numeric:tabular-nums}
.previa-num.zero{color:var(--tinta-2)}
.previa-logica{margin:6px 0 0;font-size:13px}
.previa-erro{color:#8e2f22;font-weight:600}
.previa-lista summary{cursor:pointer;margin-top:6px;font-size:13px}
.grupo-manual .manual-aldeias{display:flex;flex-wrap:wrap;gap:5px;max-height:220px;overflow:auto;padding:4px 0}
.grupo-manual .chip{display:inline-flex;align-items:center;gap:4px;min-height:32px;cursor:pointer}
.manual-atalhos{gap:6px;align-items:center;font-size:13px}
.acao-grupo{gap:10px;justify-content:flex-start;margin-top:4px}
@media (max-width:640px){.modelos-cat{grid-template-columns:1fr}.modelos-cat .chip,.grupo-manual .chip{min-height:40px}.filtro-grupo .item-tirar{min-width:40px;min-height:40px}}
@media (max-width:640px){
  .grupos-dinamicos thead{display:none}
  .grupos-dinamicos tr{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:8px 10px;border-bottom:1px solid var(--linha)}
  .grupos-dinamicos td{display:block;padding:0;border:0}
  .grupos-dinamicos td:nth-child(2){grid-column:1 / -1;order:3}
  .grupos-dinamicos td.acao{grid-column:1 / -1;order:4;text-align:left;white-space:normal}
  .grupos-dinamicos td.acao .link{min-height:36px}
}

/* 0.72 (L3): recrutamento em lista compacta */
.modo-recrutar{gap:6px;align-items:center;margin:0 0 10px}
.modo-recrutar .chip{cursor:pointer;min-height:30px;padding:3px 12px}
.recrutar-tabela td{vertical-align:middle}
.recrutar-tabela .tropa-nome{display:inline-flex;align-items:center;gap:6px;font-weight:700;text-align:left}
.recrutar-tabela .tropa-nome img{width:30px;height:30px}
.recrutar-tabela tr.travado{opacity:.6}
.recrutar-linha{gap:6px;flex-wrap:nowrap;align-items:center;justify-content:flex-start}
.recrutar-linha input[type=number]{width:84px}
.total-tropa{display:block;margin-top:2px;font-variant-numeric:tabular-nums}
@media (max-width:640px){
  .recrutar-tabela thead{display:none}
  .recrutar-tabela tr{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:8px 10px;border-bottom:1px solid var(--linha)}
  .recrutar-tabela td{display:block;padding:0;border:0}
  .recrutar-tabela td:nth-child(2n){text-align:right;align-self:center}
  .recrutar-tabela td:nth-child(5) .recrutar-linha{justify-content:flex-start}
  .recrutar-linha input[type=number]{width:100px;min-height:40px}
}

/* 0.72 (M4): alvos de toque — em tela de toque, botões pequenos ganham área maior sem crescer no desenho */
@media (pointer:coarse){
  .ajuda-q:not(.com-rotulo){position:relative}
  .ajuda-q:not(.com-rotulo)::after{content:'';position:absolute;inset:-12px}
  .map-zoom button{min-width:44px;min-height:44px}
  .seta-aldeia{min-width:44px;min-height:44px}
  td > button.link,li > button.link{min-height:32px}
  dialog .fechar,#dialog [data-acao="fechar-dialogo"]{min-width:44px;min-height:44px}
  .marcar .cor{min-width:36px;min-height:36px}
  .chip{min-height:32px}
}

/* 0.72 (M1): filtros do mapa recolhíveis no celular (no computador ficam sempre abertos, sem o título) */
.filtros-mapa-caixa>summary{display:none}
@media (max-width:760px){
  .filtros-mapa-caixa>summary{display:flex;align-items:center;gap:8px;min-height:40px;padding:4px 10px;background:#e9d9ae;border-bottom:1px solid #a3854d;font-weight:700;font-size:13px;cursor:pointer}
  .filtros-mapa-caixa[open]>summary{border-bottom:0}
}
@media (max-width:760px){
  .filtros-mapa-caixa>summary::before{content:'▸';font-size:12px;color:var(--tinta-2)}
  .filtros-mapa-caixa[open]>summary::before{content:'▾'}
}

/* 0.72 (L6): missões filtradas sem lista repetida */
.filtros-missoes{margin:4px 0 12px}
.filtros-missoes .chip{cursor:pointer;min-height:32px;padding:3px 12px}
.missoes-area[data-filtro=prontas] li.missao:not(.pronta),
.missoes-area[data-filtro=andamento] li.missao:is(.pronta,.feita),
.missoes-area[data-filtro=resgatadas] li.missao:not(.feita){display:none}
.missoes-area[data-filtro=prontas] details.capitulo[data-prontas="0"],
.missoes-area[data-filtro=andamento] details.capitulo[data-andamento="0"],
.missoes-area[data-filtro=resgatadas] details.capitulo[data-resgatadas="0"]{display:none}
.missoes-vazio{display:none}
.missoes-area[data-filtro=prontas]:not(:has(details.capitulo:not([data-prontas="0"]))) .missoes-vazio,
.missoes-area[data-filtro=andamento]:not(:has(details.capitulo:not([data-andamento="0"]))) .missoes-vazio,
.missoes-area[data-filtro=resgatadas]:not(:has(details.capitulo:not([data-resgatadas="0"]))) .missoes-vazio{display:block}
.missao-acao .estado-pronta{margin-right:6px}
.missao-acao .btn{white-space:nowrap}

/* 0.72 (L4): conta em seções */
.secoes-conta{margin:0 0 12px}
.secoes-abas{display:flex;flex-wrap:wrap;gap:6px}
.secoes-select{display:none}
.conta-secoes[data-secao-atual=perfil] > [data-secao]:not([data-secao=perfil]){display:none}
.conta-secoes[data-secao-atual=preferencias] > [data-secao]:not([data-secao=preferencias]){display:none}
.conta-secoes[data-secao-atual=amigos] > [data-secao]:not([data-secao=amigos]){display:none}
.conta-secoes[data-secao-atual=substituto] > [data-secao]:not([data-secao=substituto]){display:none}
.conta-secoes[data-secao-atual=seguranca] > [data-secao]:not([data-secao=seguranca]){display:none}
.conta-secoes[data-secao-atual=privacidade] > [data-secao]:not([data-secao=privacidade]){display:none}
@media (max-width:640px){.secoes-abas{display:none}.secoes-select{display:grid;gap:4px;font-weight:700}.secoes-select select{min-height:44px;font-size:15px}}
.rd-roda{animation-duration:9s}
/* 0.74: menus rápidos do topo (Conta especial): abrem ao passar o mouse, como no jogo clássico */
.menu-rapido{position:fixed;z-index:60;min-width:200px;max-width:300px;overflow:auto;padding:4px 0;border:1px solid var(--latao-escuro);border-top:2px solid var(--latao);border-radius:0 0 4px 4px;background:var(--tx-couro) center/240px,var(--lacre-escuro);background-blend-mode:multiply;box-shadow:0 14px 30px #000a}
.menu-rapido a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 12px 5px 22px;position:relative;color:#f4e6c2;text-decoration:none;font:600 14px/1.35 var(--texto);border-bottom:1px dashed #ffffff26;white-space:nowrap}
.menu-rapido a:last-child{border-bottom:0}
.menu-rapido a::before{content:'›';position:absolute;left:10px;top:50%;transform:translateY(-55%);color:var(--latao-claro);font-weight:700}
.menu-rapido a:hover,.menu-rapido a:focus-visible{background:#ffffff1c;color:#fff;outline:none}
.menu-rapido a:focus-visible{box-shadow:inset 3px 0 var(--latao-claro)}
.menu-rapido a .hint{color:#e7c07299;font-weight:400}
.menu-rapido .contador{background:var(--latao);color:#2a2217}
.menu-rapido .contador.perigo{background:#d24a36;color:#fff}
.nav-item.menu-aberto,.botao-premium.menu-aberto{background:#ffffff1c;color:#fff}
@media (hover:none),(pointer:coarse){.menu-rapido{display:none}}
@media (prefers-reduced-motion:no-preference){.menu-rapido:not([hidden]){animation:menu-rapido-entra .12s ease-out}@keyframes menu-rapido-entra{from{opacity:0;transform:translateY(-4px)}}}
.tabela.visao td.feito{color:var(--musgo);font-weight:700}
.tabela.visao td.andamento{color:var(--latao-escuro);font-size:12px}
.tabela.visao tr.voltando td{opacity:.75}
/* 0.75: placar das guerras entre alianças */
.guerras{display:grid;gap:10px}
.guerra-linha{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}
.lado-guerra{display:grid;gap:2px;justify-items:center;text-align:center;min-width:0}
.lado-guerra .placar{font:700 26px/1.1 var(--titulo);color:var(--tinta)}
.lado-guerra.vencendo .placar{color:var(--musgo)}
.guerra .contra{font:700 22px var(--titulo);color:var(--lacre)}
.guerra.encerrada{opacity:.8}
.guerra-rodape{margin:0;padding-top:0;text-align:center}
.filtros-relatorio td{vertical-align:middle}
/* 0.77: rodapé do jogo (hora do servidor, mundo e atalhos), como nos jogos de navegador clássicos */
footer.rodape-jogo{display:grid;justify-items:center;gap:6px;padding:10px 4px 22px;color:#c8b98f}
.rodape-hora{justify-self:end;font-size:12px;color:#a9b6c2}
.rodape-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 8px;width:100%;padding:7px 12px;border-top:1px solid #ffffff14;border-bottom:1px solid #00000040;background:linear-gradient(#2a2015,#1f180f);border-radius:4px;font:600 13px/1.4 var(--texto)}
.rodape-links a,.rodape-links .link-rodape{color:#ecdcb8;text-decoration:none;background:none;border:0;padding:2px 0;font:inherit;cursor:pointer}
.rodape-links a:hover,.rodape-links a:focus-visible,.rodape-links .link-rodape:hover:not(:disabled),.rodape-links .link-rodape:focus-visible{color:#fff;text-decoration:underline}
.rodape-links .sep{color:#8c7a58}
.rodape-links .mundo-rodape{padding:1px 10px;border:1px solid var(--latao-escuro);border-radius:3px;background:linear-gradient(#e7c072,#c99a42);color:#2a2217}
.rodape-links .mundo-rodape:disabled{cursor:default}
.rodape-links .mundo-rodape:hover:not(:disabled){color:#000;text-decoration:none;filter:brightness(1.08)}
@media (max-width:700px){.rodape-hora{justify-self:center}.rodape-links .sep{display:none}.rodape-links{gap:6px 14px}}
.redes-rodape{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:8px;margin:10px 0;padding:10px;border:1px solid var(--linha);border-radius:4px}
.redes-rodape legend{padding:0 6px;font-size:.9em}
/* 0.78: no computador o rodapé fica preso embaixo da tela e acompanha a rolagem (no celular a barra de baixo é a navegação) */
@media (min-width:761px){
  body.logado{padding-bottom:42px}
  footer.rodape-jogo{position:fixed;left:0;right:0;bottom:0;z-index:35;max-width:none;width:auto;margin:0;padding:0;display:flex;align-items:center;justify-content:center;gap:0;background:linear-gradient(#2c2217,#1a130b);border-top:2px solid #0e0905;box-shadow:0 -6px 16px #0007}
  footer.rodape-jogo .rodape-links{width:auto;max-width:calc(100% - 300px);padding:7px 12px;border:0;background:none;border-radius:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;white-space:nowrap}
  footer.rodape-jogo .rodape-hora{position:absolute;right:14px;top:50%;transform:translateY(-50%);justify-self:auto;white-space:nowrap}
}
@media (min-width:761px) and (max-width:1600px){footer.rodape-jogo .rodape-hora{display:none}footer.rodape-jogo .rodape-links{max-width:100%}}

/* ---------- 0.79: telas dos edifícios mais enxutas (cabeçalho de uma linha, números e barras) ---------- */
.edificio-banner.ed-cab{align-items:center;gap:14px;padding:10px 14px 10px 10px}
.edificio-banner.ed-cab>.evolving-sprite,.edificio-banner.ed-cab>.terreno-vazio{width:104px;height:104px}
.ed-titulo{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}
.ed-titulo h2{margin:0!important;display:inline-flex;align-items:center;gap:6px}
.nv-badge{display:inline-flex;align-items:baseline;gap:1px;padding:1px 8px;border-radius:999px;background:var(--madeira-2);color:#f6e7bf;font:700 13px/1.5 var(--texto);font-variant-numeric:tabular-nums;white-space:nowrap}
.nv-badge small{opacity:.7;font-weight:600;font-size:11px}
.nv-badge.zero{background:#8f7d5a}
.nv-badge .ui-icon{width:14px;height:14px;margin-right:3px;align-self:center}
.ed-estagio{font-size:12px;color:var(--tinta-2);font-style:italic}
.ed-icones{display:inline-flex;gap:4px;margin-left:auto}
.ico-btn{display:inline-grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid var(--linha);border-radius:4px;background:#fffaf0;cursor:pointer}
.ico-btn:hover,.ico-btn:focus-visible{border-color:var(--latao);background:#fff3d6}
.ico-btn .ui-icon{width:18px;height:18px}
.ed-desc{margin:2px 0 6px!important;font-size:13px;color:var(--tinta-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:none!important}
.ed-cab .melhoria{margin-top:4px;padding:6px 8px;gap:6px 12px;justify-content:space-between}
.ed-cab .requirements{margin:4px 0}
.btn.nv{min-width:64px;font-variant-numeric:tabular-nums}
.motivo{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--tinta-2);white-space:nowrap;text-decoration:none}
.motivo .ui-icon{width:18px;height:18px}
.motivo a{color:inherit}
.motivo.falta,a.motivo.falta{color:var(--lacre);font-weight:700}
a.motivo:hover{text-decoration:underline}
.tabela.construcoes td.acao{white-space:nowrap}
/* números do nível: agora → próximo */
.ed-info .pad{display:grid;gap:10px}
.ed-stats{display:flex;flex-wrap:wrap;gap:8px}
.ed-stat{display:grid;gap:2px;min-width:150px;padding:6px 12px;border:1px solid var(--linha);border-radius:4px;background:#fffaf0}
.ed-stat>small{display:inline-flex;align-items:center;gap:4px;color:var(--tinta-2);font-size:12px}
.ed-stat>small .ui-icon,.ed-stat>small .ico-tropa img{width:16px;height:16px}
.ed-stat .vals{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.ed-stat .vals b{font:700 20px/1.2 var(--titulo);color:var(--madeira);font-variant-numeric:tabular-nums}
.ed-stat .vals b.prox{color:var(--musgo)}
.ed-stat .vals small{color:var(--tinta-2);font-size:12px}
.ed-stat .seta{color:var(--tinta-2)}
.ed-stat .delta{font-style:normal;font-size:12px;font-weight:700;color:var(--musgo);background:var(--musgo-claro);padding:0 6px;border-radius:999px}
/* barras: depósito, granja, reserva */
.barra-ed{display:flex;height:12px;flex:1;min-width:80px;border-radius:999px;background:#e8dcbc;overflow:hidden;box-shadow:inset 0 1px 2px #0002}
.barra-ed i{display:block;height:100%;background:linear-gradient(180deg,#d9b35c,#b48a32)}
.barra-ed i.cheio{background:linear-gradient(180deg,#d0684f,#a3392b)}
.barra-ed i.ed{background:linear-gradient(180deg,#a98a5c,#7c6038)}
.barra-ed i.tr{background:linear-gradient(180deg,#7b9bc0,#4f6f94)}
.barra-ed i.prot{background:linear-gradient(180deg,#86a960,#57773a)}
.barra-ed i.exp{background:linear-gradient(180deg,#e08a6c,#b4513a)}
.barras-ed{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-width:640px}
.barras-ed li{display:grid;grid-template-columns:24px 1fr 130px 92px;align-items:center;gap:8px;font-size:13px;font-variant-numeric:tabular-nums}
.barras-ed .val,.barras-ed .quando{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
.barras-ed .val small{color:var(--tinta-2)}
.barras-ed .ui-icon{width:16px;height:16px}
.pop-ed{max-width:640px}
.pop-ed .legenda{display:flex;flex-wrap:wrap;gap:4px 16px;margin:6px 0 0;font-size:13px}
.pop-ed .legenda span{display:inline-flex;align-items:center;gap:5px}
.pop-ed .legenda i{width:10px;height:10px;border-radius:2px;background:#e8dcbc;border:1px solid #0001}
.pop-ed .legenda i.ed{background:#8f7148}.pop-ed .legenda i.tr{background:#5e7fa6}
.guarda{gap:8px 14px;align-items:center}
/* ferraria: grade de retratos */
.grade-pesquisa{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.cel-pesquisa{position:relative;display:grid;justify-items:center;gap:4px;padding:8px 6px;border:1px solid var(--linha);border-radius:4px;background:#fffaf0;text-align:center;font-size:13px}
.cel-pesquisa .troop-portrait.pintado.mini{width:56px;height:62px}
.cel-pesquisa .cost{justify-content:center;flex-wrap:wrap;gap:2px 8px;font-size:12px}
.cel-pesquisa .selo{position:absolute;top:6px;right:6px}
.cel-pesquisa .selo .ui-icon{width:20px;height:20px}
.cel-pesquisa.feita{border-color:#9db66e;background:#f4f7e6}
.cel-pesquisa.travado{opacity:.7}
.cel-pesquisa.travado .troop-portrait img{filter:grayscale(.85)}
.cel-pesquisa .req-curto{font-size:11px}
.pesquisa-atual{gap:8px;align-items:center}
/* recrutamento em lista */
.tropa-cel{display:inline-flex;align-items:center;gap:8px}
.tropa-cel>span{display:grid;line-height:1.2}
.tropa-cel small .ui-icon{width:14px;height:14px}
.qtd-cel{display:inline-flex;align-items:center;gap:5px}
.qtd-cel input{width:76px!important;min-height:30px!important;padding:2px 6px!important}
.recrutar-tabela td{vertical-align:middle}
.recrutar-tabela .motivo small{white-space:normal;max-width:220px}
.recrutar-rodape{border-top:1px solid var(--linha);gap:10px;flex-wrap:wrap}
.total-recrutar{display:inline-flex;flex-wrap:wrap;gap:4px 10px;min-height:24px}
.cunhar{gap:10px;align-items:center;margin-top:10px;flex-wrap:wrap}
/* destino dos envios */
.destino-extra{gap:6px 10px;align-items:center;flex-wrap:wrap;margin:6px 0 10px}
.sel-destino{max-width:240px}
.busca-jogador{display:inline-flex;align-items:center;gap:4px}
.busca-jogador input{width:140px!important}
.destino-extra .recentes{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px}
.destino-extra .recentes .ui-icon{width:16px;height:16px}
.envio-mercado .campos-recurso{grid-template-columns:repeat(3,minmax(0,170px))}
:root[data-tema=escuro] .ico-btn,:root[data-tema=escuro] .ed-stat,:root[data-tema=escuro] .cel-pesquisa{background:#2f281d;border-color:#5a4a30}
:root[data-tema=escuro] .ed-stat .vals b{color:#f3e6c4}
:root[data-tema=escuro] .ed-stat .vals b.prox,:root[data-tema=escuro] .ed-stat .delta{color:#b9d68e}
:root[data-tema=escuro] .ed-stat .delta{background:#33402a}
:root[data-tema=escuro] .barra-ed{background:#3b3224}
:root[data-tema=escuro] .cel-pesquisa.feita{background:#2c3324;border-color:#5f7a43}
@media (max-width:760px){
  .edificio-banner.ed-cab{flex-direction:row!important;align-items:flex-start}
  .edificio-banner.ed-cab>.evolving-sprite,.edificio-banner.ed-cab>.terreno-vazio{width:64px!important;height:64px!important}
  .ed-icones{margin-left:0}
  .ed-desc{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .ed-stat{min-width:0;flex:1 1 140px}
  .barras-ed li{grid-template-columns:20px 1fr auto;row-gap:2px}
  .barras-ed .quando{grid-column:2/-1;font-size:12px}
  .grade-pesquisa{grid-template-columns:repeat(2,minmax(0,1fr))}
  .envio-mercado .campos-recurso{grid-template-columns:1fr}
  .recrutar-tabela thead th:nth-child(4),.recrutar-tabela tbody td:nth-child(4){display:none}
}
/* 0.83: balcão de ofertas — cartão pequeno no canto, não bloqueia nada */
.vitrine{position:fixed;right:16px;bottom:52px;z-index:45;display:grid;grid-template-columns:76px 1fr;gap:10px;align-items:start;width:min(340px,calc(100vw - 32px));padding:12px 14px 10px 12px;color:var(--tinta);background:var(--papel),linear-gradient(180deg,#f8eed6,#ead8ac);border:1px solid #6e5328;border-radius:8px;box-shadow:inset 0 1px #ffffffaa,0 14px 34px #05090d80;opacity:0;transform:translateY(14px);transition:opacity .25s,transform .25s}
.vitrine.aberta{opacity:1;transform:none}
.vitrine-arte{width:76px;height:76px;object-fit:contain;filter:drop-shadow(0 3px 4px #0005)}
.vitrine-corpo{min-width:0}
.vitrine-tag{display:inline-block;margin-bottom:2px;color:#7a5c2a;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.vitrine h3{margin:0 18px 4px 0;font-size:15px;line-height:1.2;color:var(--madeira-2)}
.vitrine p{margin:0 0 6px;font-size:12.5px;line-height:1.38}
.vitrine-prazo{display:block;margin-bottom:6px;color:#7a5c2a;font-weight:600}
.vitrine-botoes{display:flex;flex-wrap:wrap;gap:6px}
.vitrine-botoes .btn{padding:6px 10px;font-size:12.5px}
.vitrine-nunca{display:block;margin-top:6px;padding:0;font-size:11px;color:var(--tinta-2);background:none;border:0;text-decoration:underline;cursor:pointer}
.vitrine-fechar{position:absolute;top:4px;right:6px;width:26px;height:26px;padding:0;border:0;background:none;color:#7a5c2a;font-size:20px;line-height:1;cursor:pointer;border-radius:4px}
.vitrine-fechar:hover{background:#fff6dc}
:root[data-tema=escuro] .vitrine{background:var(--caixa);border-color:var(--couro-borda)}
:root[data-tema=escuro] .vitrine h3{color:var(--tinta)}
.motion-off .vitrine{transition:none}
@media (max-width:760px){.vitrine{right:12px;left:12px;width:auto;bottom:calc(68px + env(safe-area-inset-bottom));grid-template-columns:56px 1fr}.vitrine-arte{width:56px;height:56px}}
.cartao-premium.destacado{outline:3px solid var(--latao-claro);outline-offset:3px}
/* 0.84 tinha um contorno escuro (filtro SVG) nos edifícios e moradores; saiu de tudo na 0.85/0.85.1 (decisão do dono):
   de longe virava um risco preto serrilhado em volta de cada figura, mais visível nas artes claras. */
.editando-cena .mata-peca.clareira{opacity:.35;outline:1px dashed #fff8}
/* 0.84.1: decorativos da beira das estradas (arte.js › decorCena) */
.decor-peca{position:absolute;height:auto;pointer-events:none;-webkit-user-select:none;user-select:none}
.decor-peca.esp{transform:scaleX(-1)}
.dynamic-village.dia:not(.cena-casa) .decor-peca{filter:saturate(.9) contrast(.98)}

/* 0.85.3: celular — botões de zoom em cima da aldeia (a pinça também funciona), animações paradas enquanto a cena rola
   (rolagem lisa, sem a tela verde), sem mistura de cor por cima do chão (pesada para o celular) */
.zoom-cel{display:none;position:absolute;right:8px;top:8px;z-index:5;gap:4px;align-items:center}
.zoom-cel::before{content:var(--zoom-txt);font:600 12px/1 var(--fonte,inherit);color:#fff4dc;background:#17251fcc;border-radius:6px;padding:6px 7px}
.zoom-cel .btn{min-width:34px;min-height:34px;font-size:18px;line-height:1;padding:0}
@media (max-width:760px),(pointer:coarse){.zoom-cel{display:flex}.agua-viva{mix-blend-mode:normal}.agua-viva .rio-vivo:not(.rio-lava){opacity:.6}}
.dynamic-village.rolando *,.dynamic-village.rolando *::before,.dynamic-village.rolando *::after{animation-play-state:paused!important}
@media (max-width:760px){.cena-rolagem.com-zoom{max-height:70vh}}

/* 0.85.4: no celular a cena inteira vira uma camada só, pintada de uma vez (também o lado que está fora da tela):
   arrastar só desliza a imagem pronta, sem o lado de lá aparecer vazio por um segundo */
/* 0.86: a camada única (will-change) passava do limite de memória de vídeo do celular com zoom e a cena sumia ao
   arrastar; saiu. No celular as árvores e enfeites ficam parados (eram dezenas de animações ao mesmo tempo). */
@media (max-width:760px),(pointer:coarse){.dynamic-village .mata-peca,.dynamic-village .decor-peca{animation:none!important}.noite .habitante{filter:none;opacity:.7}}
/* 0.86.3: no celular as luzes (35 brilhos + 35 lampiões à noite) ficam acesas sem pulsar: o pulso animava filter:brightness em
   70 SVGs e derrubava a cena parada para 10-30 quadros por segundo num celular médio (medido com CPU 6x mais lenta). */
@media (max-width:760px),(pointer:coarse){.dynamic-village .rd-glow{animation:none;opacity:.45}.dynamic-village.noite .rd-night-light,.noite .dynamic-village .rd-night-light{animation:none;opacity:.75}}
/* 0.85.4: abas no celular — nunca encolhem por cima umas das outras: quebram em mais linhas.
   Na Praça de comando viram uma grade de botões com ícone e nome curto. */
.abas-praca .aba-ico{width:18px;height:18px;margin-right:4px;vertical-align:-4px}
.abas-praca .aba-curto{display:none}
@media (max-width:760px){
 .training-tabs{flex-wrap:wrap!important;overflow:visible!important;row-gap:4px}
 .training-tabs .btn{flex:0 0 auto;white-space:nowrap}
 .training-tabs.abas-praca{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;border-bottom:0;padding:0}
 .abas-praca .btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:54px!important;margin:0;padding:5px 2px!important;border-radius:8px!important;border-bottom-width:1px!important;font-size:11.5px;line-height:1.1;text-align:center;white-space:normal}
 .abas-praca .btn::before{display:none}
 .abas-praca .aba-ico{width:24px;height:24px;margin:0}
 .abas-praca .aba-longo{display:none}
 .abas-praca .aba-curto{display:block}
}
/* 0.85.5: celular estreito — avisos em etiqueta (p.tag) quebram linha em vez de sair da caixa; botões do mapa com texto
   menor e quebrando linha (o "Comandos no mapa" passava da borda em 320 px) */
p.tag{white-space:normal;display:inline-block;max-width:100%;line-height:1.35;padding-top:2px;padding-bottom:2px}
@media (max-width:380px){.world-buttons .btn{font-size:12px;white-space:normal;line-height:1.15;padding-left:6px;padding-right:6px}}

@media (max-width:400px){.selo-aldeia .rot{display:none}.selo-aldeia{padding:1px 6px 1px 3px;font-size:11px}}
@media (max-width:360px){.aldeia-atual{gap:5px;padding:2px 7px 2px 2px}.aldeia-brasao{width:36px;height:30px}.aldeia-atual strong{font-size:15px}.aldeia-atual small{gap:3px}.selo-aldeia{gap:2px;padding:1px 5px 1px 2px;font-size:10.5px}.selo-aldeia .ui-icon,.selo-aldeia svg{width:12px;height:12px}}
/* 0.87: ficha da aliança no estilo do jogo clássico e imagem própria da aliança */
.ficha-tribo-titulo{margin:0 0 12px;font:700 26px/1.2 var(--titulo);letter-spacing:.3px}
.ficha-tribo-titulo small{font-size:16px;color:var(--tinta-2);font-weight:600}
.ficha-tribo-grade{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:14px;align-items:start;margin-bottom:14px}
.ficha-tribo-lado{display:grid;gap:14px}
.ficha-tribo .propriedades th{width:48%;font-weight:600}
.ficha-tribo .propriedades th.sub{padding-left:26px;font-weight:400;color:var(--tinta-2)}
.ficha-tribo .propriedades td{font-variant-numeric:tabular-nums}
.tribo-topo.ficha{display:grid;place-items:center;gap:6px;min-height:200px;padding:14px}
.imagem-alianca{display:block;max-width:100%;height:auto;object-fit:contain;border-radius:6px}
.imagem-alianca.g{max-width:min(100%,260px);max-height:260px}
.tribo-topo .imagem-alianca.g{margin:0 auto}
.editor-imagem-alianca{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center}
.editor-imagem-alianca .previa-imagem{display:grid;place-items:center;gap:6px;width:180px;min-height:140px;padding:8px;border:1px dashed #7a4e1244;border-radius:8px}
.editor-imagem-alianca .previa-imagem .imagem-alianca{max-height:160px}
.membros-ficha td.num,.membros-ficha th.num{white-space:nowrap}
@media (max-width:760px){.ficha-tribo-grade{grid-template-columns:1fr}.ficha-tribo-lado{grid-row:1}.editor-imagem-alianca{grid-template-columns:1fr}.editor-imagem-alianca .previa-imagem{width:auto}.membros-ficha .esconde-cel{display:none}.ficha-tribo-titulo{font-size:21px}}
/* 0.87: árvore do paladino no estilo do jogo clássico (livros grandes, explicação ao passar o mouse) */
.arvore-pal2{display:grid;grid-template-columns:44px repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}
.arvore-pal2-niveis{display:grid;grid-template-rows:34px repeat(4,118px);justify-items:center;align-items:center}
.nivel-cam{display:grid;place-items:center;width:38px;height:42px;clip-path:polygon(0 0,100% 0,100% 72%,50% 100%,0 72%);background:linear-gradient(#a8925a,#6e5a2c);color:#fff;font:700 17px/1 var(--titulo);text-shadow:0 1px 2px #0008;padding-bottom:6px;opacity:.55}
.nivel-cam.ok{background:linear-gradient(#e7c66a,#a8822d);opacity:1}
.arvore-pal2-col{position:relative;display:grid;grid-template-rows:34px repeat(4,118px);justify-items:center;align-items:start;padding:0 0 8px;border:2px solid var(--cor-arv);border-radius:6px;background:linear-gradient(180deg,color-mix(in srgb,var(--cor-arv) 10%,transparent),transparent 60%)}
.arvore-pal2-col.ofe{--cor-arv:#8e1d1d}.arvore-pal2-col.ald{--cor-arv:#2f6b1f}.arvore-pal2-col.def{--cor-arv:#1f3f8e}
.arvore-pal2-col h3{align-self:stretch;justify-self:stretch;margin:0;display:grid;place-items:center;background:var(--cor-arv);color:#fff;font:700 14px/1 var(--titulo);letter-spacing:.3px}
.arvore-pal2-col::before{content:'';position:absolute;top:60px;bottom:40px;left:50%;width:6px;margin-left:-3px;background:#0000001f;border-radius:3px}
.livro-pal{position:relative;z-index:1;display:grid;justify-items:center;gap:0;margin-top:10px}
.livro-pal-arte{position:relative;display:block;width:78px;height:78px;padding:0;border:2px solid #3a2a12;border-radius:4px;background:#2a2014;box-shadow:0 2px 5px #0005;cursor:default;overflow:visible}
.livro-pal-arte img{width:100%;height:100%;object-fit:cover;border-radius:2px;display:block}
.livro-pal.trancada .livro-pal-arte img{filter:grayscale(1) brightness(.75)}
.livro-pal.pode .livro-pal-arte{cursor:pointer;border-color:#e7c66a;box-shadow:0 0 0 2px #e7c66a88,0 0 14px #e7c66a99;animation:livro-pode 1.8s ease-in-out infinite}
@keyframes livro-pode{50%{box-shadow:0 0 0 2px #e7c66a,0 0 20px #f3d98acc}}
.livro-pal-mais{position:absolute;right:-8px;top:-8px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#2f6b1f;color:#fff;font:700 16px/1 var(--texto);box-shadow:0 1px 3px #0007}
.livro-pal-grau{min-width:54px;margin-top:-2px;padding:2px 6px;border:1px solid #3a2a12;background:#6b6b6b;color:#fff;font:700 12.5px/1.2 var(--texto);text-align:center;font-variant-numeric:tabular-nums}
.livro-pal.tem .livro-pal-grau{background:var(--cor-arv);color:#ffe9a8}
.livro-pal-dica{position:absolute;left:50%;bottom:calc(100% + 6px);z-index:30;width:220px;transform:translateX(-50%);padding:9px 11px;border:1px solid #6b4f2b;border-radius:6px;background:#fff8e6;box-shadow:0 6px 18px #0005;color:var(--tinta);font-size:12.5px;line-height:1.35;text-align:left;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s}
.livro-pal-dica b{display:block;font:700 14px/1.2 var(--titulo);margin-bottom:2px}
.livro-pal-dica .graus{display:flex;gap:4px;margin:6px 0 4px}
.livro-pal-dica .graus i{flex:1;padding:1px 0;border-radius:4px;background:#0000000f;font-style:normal;font-weight:700;text-align:center}
.livro-pal-dica .graus i.feito{background:var(--cor-arv);color:#fff}
.livro-pal-dica small{display:block;color:var(--tinta-2)}
.livro-pal:hover .livro-pal-dica,.livro-pal:focus-within .livro-pal-dica{opacity:1;visibility:visible}
.arvore-pal2-col:first-of-type .livro-pal-dica{left:0;transform:none}
.arvore-pal2-col:last-of-type .livro-pal-dica{left:auto;right:0;transform:none}
:root[data-tema=escuro] .livro-pal-dica{background:#2e261b;border-color:#7a5f36;color:#f3e6c4}
@media (max-width:760px){.arvore-pal2{grid-template-columns:30px repeat(3,minmax(0,1fr));gap:5px}.arvore-pal2-niveis,.arvore-pal2-col{grid-template-rows:30px repeat(4,96px)}.nivel-cam{width:28px;height:32px;font-size:13px}.livro-pal-arte{width:58px;height:58px}.livro-pal-grau{min-width:44px;font-size:11.5px}.arvore-pal2-col h3{font-size:12px}.livro-pal-dica{width:190px}}
/* 0.87: calendário de eventos em cartões com imagem (detalhes ao tocar) */
.grade-eventos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.cartao-evento{display:grid;gap:3px;justify-items:center;padding:0 0 9px;border:1px solid var(--couro-borda);border-radius:10px;background:#fffaf0;color:var(--tinta);text-align:center;cursor:pointer;overflow:hidden;transition:transform .15s,box-shadow .15s}
.cartao-evento:hover,.cartao-evento:focus-visible{transform:translateY(-2px);box-shadow:0 6px 14px #4a2f0e33}
.cartao-evento-arte{position:relative;display:block;width:100%;aspect-ratio:16/10;margin-bottom:5px;background:#e8dcb8}
.cartao-evento-arte img{width:100%;height:100%;object-fit:cover;display:block}
.cartao-evento-arte .sem-capa{display:grid;place-items:center;height:100%;font:700 34px/1 var(--titulo);color:#7a4e1288}
.cartao-evento b{padding:0 8px;font:700 14px/1.2 var(--titulo)}
.cartao-evento small{color:var(--tinta-2);font-size:12px;font-variant-numeric:tabular-nums}
.cartao-evento.agora{border-color:var(--latao);box-shadow:0 0 0 2px #c9a24f66}
.cartao-evento.desligado{opacity:.5}
.cartao-evento.desligado b{text-decoration:line-through}
.selo-agora{position:absolute;top:6px;right:6px;padding:1px 8px;border-radius:999px;background:#2f6b1f;color:#fff;font:700 11px/1.5 var(--texto);font-style:normal;text-transform:uppercase;letter-spacing:.5px}
.janela-evento{max-width:460px}
.janela-evento-capa{display:block;width:100%;max-height:240px;object-fit:cover;border-radius:8px;margin-bottom:10px}
.janela-evento h2{margin:0 0 4px}
.janela-evento-quando{margin:0 0 10px;color:var(--tinta-2);font-size:13px}
:root[data-tema=escuro] .cartao-evento{background:#2a2318;color:#f3e6c4}
@media (max-width:760px){.grade-eventos{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}}
/* 0.87: menu de cima centralizado entre o brasão e o relógio (as sobras dos dois lados encolhem até zero em telas menores) */
@media (min-width:761px){.sidebar::before,.sidebar::after{content:'';flex:1 1 0;min-width:0}}
/* 0.87.1: botões A e B do Auxiliar de saque no menu redondo do mapa, com o tempo de ida ao passar o mouse */
.mapa-radial .rad-letra{font:800 19px/1 var(--titulo);color:#fff4d0;text-shadow:0 1px 2px #000a}
.mapa-radial .rad-bt[data-acao=saque-mapa],.mapa-radial .rad-bt[data-acao=ir-auxiliar]{background:linear-gradient(#a3793c,#6b4a1f);border-color:#e7c66a}
.mapa-radial .rad-bt[data-falta]{filter:saturate(.4) brightness(.85)}
.mapa-radial .rad-bt[data-acao=ir-auxiliar]{opacity:.65}
.rad-dica{position:absolute;left:calc(100% + 8px);top:50%;z-index:5;transform:translateY(-50%);min-width:150px;max-width:220px;padding:6px 9px;border:1px solid #6b4f2b;border-radius:6px;background:#fff8e6;box-shadow:0 4px 12px #0006;color:var(--tinta);font:600 12.5px/1.3 var(--texto);text-align:left;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .1s}
.rad-dica small{display:block;font-weight:400;color:var(--tinta-2);margin-top:2px}
.rad-bt:hover .rad-dica,.rad-bt:focus-visible .rad-dica{opacity:1;visibility:visible}
/* janela pequena de envio no meio do mapa */
.envio-rapido{max-width:640px}
.envio-rapido h2{margin:0 0 2px}
.envio-rapido .hint{margin:0 0 10px}
.env-corpo{display:grid;grid-template-columns:1fr auto;gap:12px}
.env-grupos{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.env-grupos fieldset{margin:0;padding:4px 8px 6px;border:1px solid var(--couro-borda);border-radius:6px}
.env-grupos legend{padding:0 4px;font:700 12.5px/1 var(--titulo)}
.env-linha{display:flex;align-items:center;gap:5px;margin:4px 0}
.env-linha input{width:64px;padding:3px 5px}
.env-linha input:disabled{opacity:.45}
.env-max{font-variant-numeric:tabular-nums;font-size:12.5px}
.env-max:disabled{color:var(--tinta-2);opacity:.5;text-decoration:none}
.env-modelos{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:130px;padding:6px 10px;border:1px solid var(--couro-borda);border-radius:6px;background:#7a4e120d}
.env-modelos>b{font:700 12.5px/1.3 var(--titulo);margin-bottom:2px}
.env-alvo{display:flex;align-items:center;gap:10px;margin:12px 0 10px;padding:6px 10px;border:1px solid var(--couro-borda);border-radius:6px;background:#fffaf0}
.env-alvo img{width:56px;height:auto}
.env-alvo small{display:block;color:var(--tinta-2);font-size:12px}
:root[data-tema=escuro] .env-alvo,:root[data-tema=escuro] .rad-dica{background:#2e261b;color:#f3e6c4}
@media (max-width:560px){.env-corpo{grid-template-columns:1fr}.env-modelos{flex-direction:row;flex-wrap:wrap;align-items:center}.rad-dica{left:50%;top:auto;bottom:calc(100% + 6px);transform:translateX(-50%)}}
/* 0.87.1: aldeias do perfil com a miniatura do mapa (cresce com os pontos e mostra a skin/Casa da aldeia) */
.mini-aldeia-perfil{display:block;width:58px;height:42px;object-fit:contain;filter:drop-shadow(0 2px 2px #3a240a44)}
/* 0.88: Administrador (gerente de contas) em abas, editor com arrastar */
.ger-abas .btn{display:inline-flex;align-items:center;gap:5px}
.ger-abas .ui-icon.pequeno{width:16px;height:16px}
.ger-conta{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--lacre);color:#fff!important;font:700 11px/1 var(--texto);margin-left:2px!important}
.ger-resumo{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.ger-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:14px;background:var(--caixa);border:1px solid var(--linha);font-size:13px;color:var(--tinta);text-decoration:none}
.ger-chip.erro{border-color:#c98a7e;background:#f7e1d9;color:var(--lacre-escuro)}.ger-chip.aviso{border-color:#d8b765;background:#f8ebc6;color:#6b4a0c}.ger-chip.ok{border-color:#a9bf86;background:var(--musgo-claro);color:#38521f}
.ger-filtro{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px}
.ger-filtro label{display:inline-flex;align-items:center;gap:5px;color:var(--madeira);font-weight:600}
.ger-filtro select,.ger-filtro input{min-height:28px;padding:2px 6px;font-size:13px;max-width:190px}
.ger-busca{position:relative}.ger-busca .ui-icon{position:absolute;left:6px;pointer-events:none}.ger-busca input{padding-left:26px!important;width:160px}
.ger-tabela td{vertical-align:middle}
.ger-tabela tr.pausada td{opacity:.6}
.ger-tabela tr.livre td:not(.sel){color:var(--tinta-2)}
.ger-cel{min-width:150px}
.ger-cel{display:table-cell}.ger-cel>.ger-ponto{float:left;margin:4px 8px 0 0}.ger-cel>div,.ger-cel>small{display:block;overflow:hidden}
.ger-cel .progress.fina{height:5px;margin:3px 0 1px;max-width:180px}
.ger-ponto{display:inline-block;width:12px;height:12px;border-radius:50%;flex-shrink:0;background:#bcae8d;box-shadow:0 0 0 2px #fff8,inset 0 -2px 2px #0003;vertical-align:middle}
.ger-ponto.s-ok{background:#4f9a3a;animation:ger-pulsa 2.4s ease-in-out infinite}.ger-ponto.s-espera{background:#dba52a}.ger-ponto.s-parado{background:#b8382a}.ger-ponto.s-fim{background:#3a76b8}
@keyframes ger-pulsa{50%{box-shadow:0 0 0 4px #4f9a3a33,inset 0 -2px 2px #0003}}
.ger-situacao{padding:2px 10px;border-radius:12px;border:1px solid #7f9f5f;background:var(--musgo-claro);color:#38521f;font-size:12px;font-weight:700}
.ger-situacao.pausado{border-color:#b7a57d;background:#ece0c2;color:var(--tinta-2)}
.ger-situacao:hover{filter:brightness(.96)}
.ger-ultimo{max-width:260px}.ger-ultimo small{display:block;line-height:1.35}
.ger-legenda{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:12px;border-top:1px solid var(--linha)}
.ger-legenda span{display:inline-flex;align-items:center;gap:5px}.ger-legenda .ger-ponto{animation:none}
.ger-massa-campos{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.ger-massa-campos label{display:grid;gap:3px;font-size:13px;font-weight:600}
.ger-massa-campos select{min-width:170px}
.ger-massa-campos .cresce{flex:1}
.ger-explica{margin:0;padding-bottom:0!important}.ger-explica .verde,.ger-meta .atual.cheio{color:#3d7a26}
.ger-metas th.centro .ui-icon{width:22px;height:22px}
.ger-meta{text-align:center;min-width:70px;padding:3px!important}
.ger-meta .atual{display:block;font-size:11px;color:#5f8a44;line-height:1.2;font-weight:600}
.ger-meta .atual.cheio{font-weight:800}
.ger-meta input{width:66px;padding:2px 4px;text-align:right}
.ger-meta input:disabled{background:transparent;border-color:transparent;color:var(--tinta);opacity:1;-webkit-text-fill-color:var(--tinta)}
.ger-pop{white-space:nowrap}
.ger-pesq-icones,.ger-ordem,.ger-mini-ed{display:inline-flex;flex-wrap:wrap;gap:3px;align-items:center}
.ger-pesq-icones span{opacity:.32;filter:grayscale(1)}
.ger-pesq-icones span.feita{opacity:1;filter:none}
.ger-pesq-icones span.andando{opacity:1;filter:none;animation:ger-piscar 1.4s ease-in-out infinite}
@keyframes ger-piscar{50%{opacity:.45}}
.ger-mini-ed span{display:inline-flex;align-items:center;gap:1px;font-size:11px;padding:1px 4px 1px 1px;border-radius:3px;background:#efe0b8}
.ger-mini-ed .ui-icon{width:18px;height:18px}
.ger-prox{display:inline-flex;align-items:center;gap:4px}
select.salvo{outline:2px solid #4f9a3a;outline-offset:1px}
.ger-avisos{list-style:none;margin:0;padding:0}
.ger-avisos li{display:flex;gap:10px;align-items:flex-start;padding:9px 12px;border-bottom:1px solid var(--linha);border-left:4px solid #bcae8d}
.ger-avisos li p{margin:2px 0 0}
.ger-avisos li.n-erro{border-left-color:#b8382a;background:#fbefe9}.ger-avisos li.n-aviso{border-left-color:#dba52a;background:#fdf6e2}.ger-avisos li.n-ok{border-left-color:#3a76b8}
.ger-opcoes .check{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}
.ger-opcoes .check small,.editor-opcoes small{flex-basis:100%}
.check.desligado{opacity:.6}
/* editor de modelo de obras */
.editor-obras-topo{display:grid;gap:10px}
.editor-nome input{width:100%;max-width:420px;font-size:15px;font-weight:600}
.editor-opcoes{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;padding:8px 10px;border:1px solid var(--linha);border-radius:var(--raio);background:var(--caixa-par)}
.editor-opcoes label{display:inline-flex;align-items:center;gap:6px;font-size:13px}
.editor-opcoes select{min-height:28px;padding:1px 4px}
.editor-ajuda{margin:0}
.faixa-ed{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:5px}
.faixa-ed-b{position:relative;display:grid;place-items:center;height:58px;padding:4px 2px 2px;border:1px solid var(--linha);border-radius:6px;background:linear-gradient(#fffaf0,#efe2bf);transition:transform .12s,box-shadow .12s}
.faixa-ed-b .ui-icon{width:36px;height:36px;filter:grayscale(.85) opacity(.6)}
.faixa-ed-b.tem .ui-icon{filter:none}
.faixa-ed-b b{position:absolute;right:3px;bottom:2px;min-width:20px;padding:0 4px;border-radius:9px;background:#efe0b8;border:1px solid #c6ad78;font-size:11px;line-height:16px;color:var(--tinta-2)}
.faixa-ed-b.tem{border-color:var(--latao)}.faixa-ed-b.tem b{background:var(--latao-claro);border-color:var(--latao-escuro);color:var(--madeira)}
.faixa-ed-b.max b{background:#cfe1b4;border-color:#6f9150;color:#2f4a19}
.faixa-ed-b:hover{transform:translateY(-2px);box-shadow:0 4px 8px #3b2a1833}
.faixa-ed-b:active{transform:translateY(0)}
.passos2{list-style:none;margin:0;padding:0;border-top:1px solid var(--linha);counter-reset:none}
.passo2{display:grid;grid-template-columns:30px 26px 38px minmax(0,1fr) 96px 132px 34px;align-items:center;gap:6px;padding:4px 10px;border-bottom:1px solid var(--linha);background:var(--caixa);position:relative}
.passo2:nth-child(even){background:var(--caixa-par)}
.passo2.repetido{opacity:.55}
.passo2.novo{animation:ger-novo 1s ease-out}
@keyframes ger-novo{from{background:#f6e3a6}}
.alca{display:grid;place-items:center;width:30px;height:34px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--tinta-2);cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.alca:hover{background:#0000000d;color:var(--tinta)}
.em-arrasto,.em-arrasto *{cursor:grabbing!important;user-select:none;-webkit-user-select:none}
.passo2.arrastando,.ordem-pesq li.arrastando{z-index:2;background:#fff4d4!important;box-shadow:0 6px 18px #3b2a1840,0 0 0 2px var(--latao);transform:scale(1.01);opacity:1}
.passo2-n{font-size:12px;color:var(--tinta-2);text-align:right;font-variant-numeric:tabular-nums}
.passo2-ico .ui-icon{width:34px;height:34px}
.passo2-nome{display:flex;flex-wrap:wrap;align-items:center;gap:2px 7px;min-width:0}
.passo2-nome small{flex-basis:100%;line-height:1.25}
.passo2-mais{display:inline-block;padding:0 7px;border-radius:9px;background:#dfe9cd;border:1px solid #9bb57a;color:#2f4a19;font-size:12px;font-weight:700;line-height:18px}
.passo2.repetido .passo2-mais{background:#eee3c8;border-color:#c9b78f;color:var(--tinta-2)}
.passo2-req{color:#7a5410}
.passo2-nivel{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--tinta-2)}
.passo2-nivel input{width:56px;padding:2px 4px;text-align:center;font-weight:700}
.passo2-info{display:flex;gap:9px;font-size:12px;color:var(--tinta-2);white-space:nowrap}
.passo2-info span{display:inline-flex;align-items:center;gap:2px}
.passo2-x{width:30px;height:30px;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--lacre);font-size:20px;line-height:1}
.passo2-x:hover{background:#f3d9d2;border-color:#d39b8f}
.editor-obras-pe{position:sticky;bottom:0;z-index:4;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;background:var(--caixa);border-top:2px solid var(--couro-borda);box-shadow:0 -6px 14px #3b2a1822}
.totais-ed{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;color:var(--tinta-2)}
.totais-ed span{display:inline-flex;align-items:center;gap:4px}
.ed-sujo{color:var(--lacre);font-weight:700}
.ordem-pesq{list-style:none;margin:0;padding:0;max-height:52vh;overflow:auto;border:1px solid var(--linha);border-radius:var(--raio)}
.ordem-pesq li{display:flex;align-items:center;gap:6px;padding:3px 8px;border-bottom:1px solid var(--linha);background:var(--caixa)}
.ordem-pesq li .check{display:flex;align-items:center;gap:6px;flex:1}
:root[data-tema=escuro] .ger-chip{background:#2f281d;border-color:#5a4528;color:#ecdcb8}
:root[data-tema=escuro] .faixa-ed-b{background:linear-gradient(#3a3022,#2f281d)}
:root[data-tema=escuro] .faixa-ed-b b,:root[data-tema=escuro] .ger-mini-ed span{background:#3b3224;border-color:#5a4528;color:#d9c69c}
:root[data-tema=escuro] .passo2.arrastando,:root[data-tema=escuro] .ordem-pesq li.arrastando{background:#4d3e1f!important}
:root[data-tema=escuro] .ger-avisos li.n-erro{background:#3a2420}:root[data-tema=escuro] .ger-avisos li.n-aviso{background:#3a301a}
:root[data-tema=escuro] .passo2-mais{background:#33402a;border-color:#56703f;color:#d6e8bf}
:root[data-tema=escuro] .ger-situacao{background:#2f3a24;color:#cfe3b4}:root[data-tema=escuro] .ger-situacao.pausado{background:#3b3224;color:#bfae8a}
:root[data-tema=escuro] .editor-opcoes{background:#352d21}
@media (max-width:760px){
  .card-head:has(.ger-filtro){flex-wrap:wrap}
  .ger-filtro{width:100%}.ger-busca{flex:1}.ger-busca input{width:100%}
  .passo2{grid-template-columns:30px 34px minmax(0,1fr) 30px;grid-template-areas:"a i n x" "a . v v";gap:2px 6px;padding:5px 8px}
  .passo2>.alca{grid-area:a;align-self:stretch;height:auto}
  .passo2-n{display:none}
  .passo2-ico{grid-area:i}.passo2-nome{grid-area:n}.passo2-x{grid-area:x}
  .passo2-nivel{grid-area:v;justify-content:flex-start}
  .passo2-info{grid-area:v;justify-self:end}
  .faixa-ed{grid-template-columns:repeat(auto-fill,minmax(48px,1fr))}
  .faixa-ed-b{height:52px}.faixa-ed-b .ui-icon{width:30px;height:30px}
  .ger-massa-campos select{min-width:0;width:100%}.ger-massa-campos label{flex:1 1 140px}
  .editor-obras-pe{padding:7px 10px}
}
.card-head .ger-filtro label{color:inherit}
.ger-ultimo small{display:block}
.ger-ultimo-msg{display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ger-metas td.ger-meta{text-align:center}
.ger-meta .atual.zero{opacity:.45;color:var(--tinta-2)}
.ger-pop.demais b{color:var(--lacre)}
.alca-mini{display:inline-flex;vertical-align:-4px;color:var(--tinta-2)}
.ger-avisos li.n-erro,.ger-avisos li.n-aviso{background-clip:padding-box}
.editor-obras-pe{bottom:42px}
@media (max-width:760px){
  .editor-obras-pe{bottom:calc(60px + env(safe-area-inset-bottom))}
  .ger-tabela td:nth-child(2) b,.ger-metas td:nth-child(2),.ger-pesq td:nth-child(2){white-space:nowrap}
  .ger-visao thead{display:none}
  .ger-visao,.ger-visao tbody{display:block}
  .ger-visao tr{display:grid;grid-template-columns:34px 1fr auto;gap:4px 8px;padding:9px 10px;border-bottom:1px solid var(--linha)}
  .ger-visao td{display:block;padding:0!important;border:0!important;min-width:0}
  .ger-visao td.sel{grid-row:1;grid-column:1;align-self:center}
  .ger-visao td:nth-child(2){grid-row:1;grid-column:2}
  .ger-visao td:nth-child(2) br{display:none}.ger-visao td:nth-child(2) .hint{margin-left:4px}
  .ger-visao td:nth-last-child(2){grid-row:1;grid-column:3;align-self:center}
  .ger-visao td.ger-cel{grid-column:1/-1;padding-left:42px!important}
  .ger-visao td.ger-ultimo{grid-column:1/-1;padding-left:42px!important;max-width:none}
  .ger-visao tr[hidden]{display:none}
}
.card.editor-obras{overflow:visible}.editor-obras>.card-head{border-radius:var(--raio) var(--raio) 0 0}.editor-obras-pe{border-radius:0 0 var(--raio) var(--raio)}
.editor-extra{gap:6px;flex-wrap:wrap}
@media (max-width:760px){.editor-obras-pe{flex-wrap:nowrap}.totais-ed{font-size:12px;gap:0 10px}.totais-ed span:nth-child(3){display:none}.editor-obras-pe .btn{white-space:nowrap}}
/* 0.89: Sala de Armas do paladino antigo */
.sala-card{overflow:hidden}
.sala-rolagem{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;background:#1e140c}
.sala-armas{position:relative;aspect-ratio:3/2;width:100%;min-width:620px;overflow:hidden;isolation:isolate;user-select:none;-webkit-user-select:none}
.sala-fundo,.sala-fundo img{position:absolute;inset:0;width:100%;height:100%;display:block}
.sala-fundo img{object-fit:cover}
.sala-armas::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:3;background:radial-gradient(ellipse 75% 70% at 50% 45%,transparent 55%,#1b0f0699 100%)}
.sala-tocha,.sala-brasa{position:absolute;z-index:1;width:22%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(circle,#ffb44a66 0%,#ff8a1f2b 35%,transparent 68%);animation:sala-chama 2.6s ease-in-out infinite}
.sala-tocha:nth-of-type(odd){animation-duration:3.1s;animation-delay:-1.2s}
.sala-brasa{width:30%;background:radial-gradient(circle,#ff9b3a55 0%,#ff6a1a26 38%,transparent 70%);animation-duration:1.9s}
@keyframes sala-chama{0%,100%{opacity:.8;transform:translate(-50%,-50%) scale(1)}23%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}47%{opacity:.7;transform:translate(-50%,-50%) scale(.97)}71%{opacity:.95;transform:translate(-50%,-50%) scale(1.03)}}
.sala-item{position:absolute;z-index:2;padding:0;border:0;background:none;cursor:pointer;transition:transform .25s ease,filter .25s ease;-webkit-tap-highlight-color:transparent}
.sala-item img{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none;filter:drop-shadow(2px 5px 4px #1b0f0670)}
.sala-item.falta img{filter:brightness(0) blur(.4px);opacity:.2}
.sala-item.falta:hover img,.sala-item.falta:focus-visible img{opacity:.32}
.sala-item.tem:hover,.sala-item.tem:focus-visible{transform:translateY(-3px) scale(1.03);z-index:4}
.sala-item.tem:hover img,.sala-item.tem:focus-visible img{filter:drop-shadow(0 0 7px #ffd46acc) drop-shadow(2px 6px 5px #1b0f0680)}
.sala-item:focus-visible{outline:2px dashed #ffe7a3;outline-offset:3px}
.sala-item.equipado img{animation:sala-aura 2.8s ease-in-out infinite}
@keyframes sala-aura{0%,100%{filter:drop-shadow(0 0 4px #ffcf5a99) drop-shadow(2px 5px 4px #1b0f0670)}50%{filter:drop-shadow(0 0 12px #ffd76fee) drop-shadow(2px 5px 4px #1b0f0670)}}
.sala-catapult.tem img{animation:sala-fogo 1.6s ease-in-out infinite}
.sala-catapult.tem.equipado img{animation:sala-fogo 1.6s ease-in-out infinite,sala-aura 2.8s ease-in-out infinite}
@keyframes sala-fogo{0%,100%{filter:brightness(1) drop-shadow(0 0 6px #ff8a2a88)}40%{filter:brightness(1.1) drop-shadow(0 0 12px #ff9a3aaa)}70%{filter:brightness(.96) drop-shadow(0 0 8px #ff7a1a88)}}
.sala-item.chegando{animation:sala-chega 1.4s cubic-bezier(.2,.9,.3,1.2) var(--atraso,0s) both}
.sala-item.chegando::before{content:'';position:absolute;inset:-30%;z-index:-1;border-radius:50%;background:radial-gradient(circle,#fff3c4 0%,#ffd55a88 30%,transparent 65%);animation:sala-raio 1.8s ease-out var(--atraso,0s) both;pointer-events:none}
@keyframes sala-chega{0%{opacity:0;transform:translateY(-14px) scale(.85);filter:brightness(2.2)}60%{opacity:1;filter:brightness(1.4)}100%{opacity:1;transform:none;filter:none}}
@keyframes sala-raio{0%{opacity:0;transform:scale(.4)}35%{opacity:1}100%{opacity:0;transform:scale(1.5)}}
.sala-novo,.sala-eq{position:absolute;left:50%;top:-4px;transform:translate(-50%,-100%);z-index:5;white-space:nowrap;padding:2px 8px;border-radius:10px;font:700 11px/1.4 var(--texto);pointer-events:none;box-shadow:0 2px 6px #0006}
.sala-novo{background:linear-gradient(#ffe48a,#e5a92c);color:#4a2c05;border:1px solid #fff2c2;animation:sala-pula 1.6s ease-in-out infinite}
.sala-eq{display:inline-flex;align-items:center;gap:3px;top:auto;bottom:-4px;transform:translate(-50%,100%);background:#2f4a19e6;color:#eaf6d6;border:1px solid #9cc47a}
.sala-eq .ui-icon{width:12px;height:12px}
@keyframes sala-pula{50%{transform:translate(-50%,calc(-100% - 4px))}}
.sala-dica{position:absolute;left:50%;bottom:calc(100% + 10px);z-index:6;width:max-content;max-width:230px;transform:translate(-50%,6px);opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;padding:8px 10px;border-radius:6px;background:#26180ef0;border:1px solid #c9a15a;color:#f4e6c4;text-align:left;box-shadow:0 6px 16px #000a}
.sala-dica b{display:block;font-size:13px;color:#ffe2a0}.sala-dica small{display:block;font-size:12px;line-height:1.35}.sala-dica em{display:block;margin-top:4px;font-size:11px;font-style:normal;color:#c9b38a}
.sala-item:hover .sala-dica,.sala-item:focus-visible .sala-dica{opacity:1;transform:translate(-50%,0)}
.sala-spear .sala-dica,.sala-light .sala-dica{left:0;transform:translate(0,6px)}.sala-spear:hover .sala-dica,.sala-light:hover .sala-dica{transform:none}
.sala-marcher .sala-dica,.sala-archer .sala-dica{left:auto;right:0;transform:translate(0,6px)}.sala-marcher:hover .sala-dica,.sala-archer:hover .sala-dica{transform:none}
.sala-spy .sala-dica,.sala-catapult .sala-dica,.sala-spear .sala-dica,.sala-light .sala-dica{bottom:auto;top:20%}
.sala-poeira{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}
.sala-poeira i{position:absolute;left:calc(8% + var(--i) * 10%);top:100%;width:3px;height:3px;border-radius:50%;background:#ffe7b0;opacity:0;box-shadow:0 0 4px #ffd27a;animation:sala-poeira calc(11s + var(--i) * 1.3s) linear calc(var(--i) * -1.7s) infinite}
@keyframes sala-poeira{0%{transform:translate(0,0);opacity:0}15%{opacity:.55}50%{transform:translate(18px,-55vh)}85%{opacity:.35}100%{transform:translate(-10px,-110vh);opacity:0}}
.sala-progresso{display:grid;gap:5px;border-top:2px solid var(--couro-borda)}
.sala-barra{height:14px}
.sala-barra i{background:linear-gradient(90deg,#8a4b12,#d08a2a,#f3c565);box-shadow:0 0 8px #e9a43d88}
.item-equipado img{width:52px;height:52px;object-fit:contain}
.item-equipado .btn{margin-left:auto}
.paladino-topo .paladino-retrato{max-height:220px;width:auto;max-width:150px;object-fit:contain}
.lista-itens-pal>summary{cursor:pointer;list-style:none}
.lista-itens-pal>summary::-webkit-details-marker{display:none}
.lista-itens-pal>summary h2::before{content:'▸ ';}.lista-itens-pal[open]>summary h2::before{content:'▾ '}
/* janela do item: o paladino com ele */
.janela-item-pal{display:grid;grid-template-columns:minmax(220px,1fr) 1.1fr;gap:18px;align-items:center;min-width:min(680px,86vw)}
.jip-retrato{position:relative;height:min(460px,62vh);border-radius:8px;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#5a3a1a 0%,#24160b 75%);display:grid;place-items:end center}
.jip-retrato::before{content:'';position:absolute;inset:0;background:var(--fundo) center/cover;filter:blur(6px) brightness(.45);transform:scale(1.1)}
.jip-retrato img{position:relative;max-width:100%;max-height:96%;object-fit:contain;filter:drop-shadow(0 8px 14px #000a);animation:jip-entra .45s ease-out}
.jip-retrato img.sombra{max-height:60%;align-self:center;filter:brightness(0);opacity:.35;animation:none}
@keyframes jip-entra{from{opacity:0;transform:translateY(10px) scale(.97)}}
.jip-nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:52px;border:0;border-radius:6px;background:#0007;color:#ffe7b0;font-size:30px;line-height:1;cursor:pointer}
.jip-nav:hover{background:#000a}.jip-nav.ant{left:6px}.jip-nav.prox{right:6px}
.jip-sobre{text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--latao-escuro);font-weight:700}
.jip-texto h2{margin:2px 0 8px;font-size:24px}
.jip-bonus{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;padding:8px 10px;border-radius:6px;background:var(--caixa-par);border:1px solid var(--linha)}
.jip-bonus .ui-icon{width:30px;height:30px}
@media (max-width:760px){
  .janela-item-pal{grid-template-columns:1fr;gap:10px;min-width:0}
  .jip-retrato{height:min(380px,48vh)}
  .sala-dica{display:none}
  .sala-rolagem{scroll-snap-type:x proximity}
}
@media (prefers-reduced-motion:reduce){.sala-tocha,.sala-brasa,.sala-poeira i,.sala-item img,.sala-novo,.sala-item.chegando,.sala-item.chegando::before{animation:none!important}.sala-item.chegando{opacity:1}}
:root[data-tema=escuro] .jip-bonus{background:#352d21}
#dialog:has(.janela-item-pal){width:min(780px,94vw);max-width:none}
.sala-arraste{display:none;margin:0;padding:5px 12px;font-size:12px;background:#1e140c;color:#d9c39a!important}
@media (max-width:760px){.sala-arraste{display:flex;align-items:center;gap:5px}}
/* atalho dos estandartes ao lado da aldeia */
.atalho-estandarte{position:relative;display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:8px;border:1px solid #a3854d99;background:linear-gradient(#fff6e2,#e9d3a1);box-shadow:inset 0 1px #fff9,0 1px 2px #3b2a1833;text-decoration:none;transition:transform .15s,box-shadow .15s}
.atalho-estandarte:hover{transform:translateY(-1px);box-shadow:inset 0 1px #fff9,0 3px 8px #3b2a1840}
.atalho-estandarte img{width:32px;height:32px;object-fit:contain;filter:drop-shadow(0 1px 1px #0005)}
.atalho-estandarte .ui-icon{width:24px;height:24px;opacity:.55}
.atalho-estandarte b{position:absolute;right:-5px;bottom:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--madeira);color:#ffe9b5;font:700 10px/17px var(--texto);text-align:center;border:1px solid #f5dfa9}
.atalho-estandarte b.mais{background:var(--musgo,#5b7a3a);font-size:13px;line-height:15px}
.atalho-estandarte.vazio{border-style:dashed}
:root[data-tema=escuro] .atalho-estandarte{background:linear-gradient(#3e3324,#2f271c);border-color:#6a5231}
@media (max-width:760px){.atalho-estandarte{width:36px;height:36px}.atalho-estandarte img{width:28px;height:28px}}
/* 0.90.1: estandartes da coleção que você tem viram botões (janela com "Colocar na aldeia") */
button.bandeira-colecao{font:inherit;color:inherit;cursor:pointer;width:100%;transition:transform .15s,box-shadow .15s}
button.bandeira-colecao:hover,button.bandeira-colecao:focus-visible{transform:translateY(-3px);box-shadow:0 6px 12px #3b2a1840;border-color:var(--latao-escuro)}
button.bandeira-colecao:focus-visible{outline:2px solid var(--latao-escuro);outline-offset:2px}
button.bandeira-colecao.usada{background:#efe6cf}
.bandeira-colecao .em-uso{position:absolute;left:50%;top:2px;transform:translateX(-50%);padding:0 5px;border-radius:8px;background:#5b7a3acc;color:#fff;font-size:9px;font-weight:700;line-height:14px;white-space:nowrap}
.janela-bandeira{display:grid;grid-template-columns:200px 1fr;gap:18px;align-items:start;min-width:min(620px,86vw)}
.jb-arte{position:relative;border-radius:10px;background:radial-gradient(circle at 50% 40%,#fff8e4,#e9d3a1);border:1px solid var(--latao);padding:14px;display:grid;place-items:center}
.jb-arte img{width:100%;max-width:170px;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 6px 8px #0005)}
.jb-nivel{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);padding:1px 10px;border-radius:10px;background:var(--madeira);color:#ffe9b5;font-weight:700;font-size:12px}
.jb-texto h2{margin:0 0 4px}
.jb-efeito{margin:0 0 8px;font-weight:600;font-size:15px}
.jb-qtd{margin:0 0 12px;font-size:13px;color:var(--tinta-2)}
.jb-colocar{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;font-size:15px;padding:10px 14px}
.jb-estado{display:block;margin:4px 0 10px}
.jb-outra{margin:0 0 10px;border:1px solid var(--linha);border-radius:var(--raio);background:var(--caixa-par)}
.jb-outra summary{cursor:pointer;padding:6px 10px;font-weight:600;font-size:13px}
.jb-outra ul{list-style:none;margin:0;padding:0 8px 8px;max-height:220px;overflow:auto}
.jb-outra li{display:flex;align-items:center;gap:8px;padding:5px 0;border-top:1px solid var(--linha)}
.jb-outra li>span{flex:1;min-width:0}.jb-outra li small{display:block}
.jb-combinar{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--raio);background:var(--caixa-par);border:1px dashed var(--latao);font-size:13px}
.jb-combinar span{flex:1}
.jb-regra{margin:8px 0 0;font-size:12px}
#dialog:has(.janela-bandeira){width:min(700px,94vw);max-width:none}
@media (max-width:640px){.janela-bandeira{grid-template-columns:1fr;min-width:0}.jb-arte img{max-width:130px}}
:root[data-tema=escuro] .jb-arte{background:radial-gradient(circle at 50% 40%,#4a3d29,#2f271c)}
:root[data-tema=escuro] button.bandeira-colecao.usada{background:#2f281d}
/* 0.90.1: aba dos estandartes como no jogo clássico */
.btn.verde{color:#f1ffe6;border-color:#2f5a1c;background:linear-gradient(180deg,#6fae45,#4f8a2c 60%,#3f7322);box-shadow:inset 0 1px #c9f2a666,0 1px 0 #24400f}
.btn.verde:hover{color:#fff}
.band-intro{margin:0;padding-bottom:0!important}
.band-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:16px;padding:12px}
.band-lado{display:grid;gap:10px;align-content:start;position:sticky;top:120px}
.band-terreno{position:relative;aspect-ratio:720/924;border-radius:6px;overflow:hidden;border:2px solid #3b2a18;background:url('/assets/bandeiras/terreno.webp') center/cover,#6b7a4a;box-shadow:inset 0 0 40px #0006}
.band-terreno-tit{position:absolute;top:0;left:0;right:0;padding:6px 10px;background:linear-gradient(#1b1209cc,transparent);color:#ffefc4;font-size:14px;text-shadow:0 1px 2px #000}
.band-terreno-tit small{opacity:.8}
.band-terreno-pe{position:absolute;left:0;right:0;bottom:0;padding:18px 10px 8px;background:linear-gradient(transparent,#1b1209dd);color:#ffefc4;text-shadow:0 1px 2px #000;display:grid}
.band-terreno-pe small{font-size:12px;opacity:.9}
.band-mastro{position:absolute;left:50%;bottom:12%;width:44%;height:66%;transform:translateX(-50%)}
.band-mastro .pau{position:absolute;left:50%;bottom:0;width:7px;height:100%;transform:translateX(-50%);border-radius:3px;background:linear-gradient(90deg,#3d2611,#8a5a2b 40%,#5a3a1a);box-shadow:2px 0 3px #0005}
.band-mastro .pau::before{content:'';position:absolute;top:-9px;left:50%;width:13px;height:13px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle at 35% 35%,#ffe9a0,#b8862f 60%,#6b4a12)}
.band-mastro .base{position:absolute;left:50%;bottom:-6px;width:70%;height:16px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,#2b1a0bcc,#3b2a1866 55%,transparent 72%)}
.band-mastro img{position:absolute;left:50%;top:1%;width:100%;transform:translateX(-50%);transform-origin:50% 4%;z-index:1;filter:drop-shadow(3px 6px 5px #0007);animation:band-vento 4.2s ease-in-out infinite}
@keyframes band-vento{0%,100%{transform:translateX(-50%) rotate(-1.2deg) skewY(0)}50%{transform:translateX(-50%) rotate(1.4deg) skewY(1.5deg)}}
.band-mastro.previa img{opacity:.85;animation-duration:3s}
.band-previa{position:absolute;left:50%;top:-14px;transform:translateX(-50%);z-index:2;padding:1px 8px;border-radius:9px;background:#ffe48a;color:#4a2c05;font-size:11px;font-weight:700;box-shadow:0 2px 4px #0006}
.band-vazio{position:absolute;left:50%;bottom:14%;transform:translateX(-50%);display:grid;justify-items:center;gap:6px;color:#ffefc4;text-shadow:0 1px 3px #000;font-size:13px}
.band-vazio .buraco{width:46px;height:14px;border-radius:50%;background:radial-gradient(ellipse,#1f1307,#3b2a18aa 60%,transparent 75%)}
.band-selecao{border:1px solid var(--couro-borda);border-radius:6px;background:var(--caixa);overflow:hidden}
.band-sel-tit{padding:5px 10px;background:linear-gradient(#e6cf9a,#d4b878);font-weight:700;font-size:13px;color:var(--madeira)}
.band-selecao>p{margin:0;padding:8px 10px;font-size:13px}
.band-sel-corpo{display:flex;gap:10px;align-items:center;padding:8px 10px}
.band-sel-corpo img{width:60px;height:60px;object-fit:contain;filter:drop-shadow(0 2px 3px #0005)}
.band-sel-corpo b{display:block}.band-sel-corpo small{display:block;font-size:12px}
.band-sel-motivo{margin:0 10px 6px;font-size:12px;color:var(--lacre)}
.band-sel-botoes{display:flex;gap:8px;padding:0 10px 10px;flex-wrap:wrap}
.band-grade{display:grid;gap:4px}
.band-linha{display:grid;grid-template-columns:118px repeat(9,minmax(0,1fr));gap:4px;align-items:stretch}
.band-linha-nome{display:flex;flex-direction:column;justify-content:center;font-size:12px;line-height:1.2;padding-right:4px}
.band-linha-nome small{color:var(--tinta-2);font-size:11px}
.band-cel{position:relative;display:grid;place-items:center;aspect-ratio:1/1.08;border:1px solid #c9b07a;border-radius:3px;background:#f6ead0}
.band-cel img{width:88%;height:auto;max-height:80%;object-fit:contain;pointer-events:none}
.band-cel small{position:absolute;left:50%;bottom:1px;transform:translateX(-50%);font-size:10px;font-weight:700;color:var(--tinta-2);pointer-events:none}
.band-cel.falta img{filter:grayscale(1) sepia(.3) brightness(1.05) contrast(.7);opacity:.35}
.band-cel.falta small{opacity:.5}
.band-cel.tem{background:linear-gradient(#fff6dc,#efdcae);border-color:#a8864a;box-shadow:0 1px 2px #3b2a1833}
.band-cel-b{position:absolute;inset:0;display:grid;place-items:center;padding:0;border:0;background:none;cursor:pointer;border-radius:3px}
.band-cel-b:hover img,.band-cel-b:focus-visible img{transform:translateY(-2px) scale(1.05);filter:drop-shadow(0 4px 4px #0005)}
.band-cel-b img{transition:transform .15s,filter .15s;filter:drop-shadow(0 2px 2px #0004)}
.band-cel-b:focus-visible{outline:2px solid var(--latao-escuro);outline-offset:1px}
.band-cel.sel{outline:3px solid #c0281c;outline-offset:-1px;z-index:1}
.band-cel.ativa{background:linear-gradient(#ecf7d9,#cfe4ad);border-color:#5b7a3a}
.band-aqui{position:absolute;top:2px;left:50%;transform:translateX(-50%);width:8px;height:8px;border-radius:50%;background:#4f9a3a;box-shadow:0 0 0 2px #fff,0 0 6px #4f9a3a}
.band-qtd{position:absolute;right:1px;bottom:1px;min-width:16px;padding:0 3px;border-radius:2px;background:#e8c87a;border:1px solid #a8864a;color:#2b1d07;font-size:11px;line-height:14px;text-align:center;pointer-events:none}
.band-up{position:absolute;left:1px;z-index:2;display:grid;place-items:center;width:18px;height:16px;padding:0;border:1px solid #fff;border-radius:2px;color:#fff;font-size:8px;line-height:1;letter-spacing:-2px;cursor:pointer;box-shadow:0 1px 2px #0006}
.band-up.um{bottom:1px;background:linear-gradient(#d9443a,#a3221b)}
.band-up.todos{top:1px;background:linear-gradient(#5a6fd8,#2f3f9e)}
.band-up:hover{filter:brightness(1.15)}
.band-legenda{margin:8px 0 0;font-size:12px;display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.band-legenda .band-up{position:static;display:inline-grid;cursor:default}
:root[data-tema=escuro] .band-cel{background:#2f281d;border-color:#5a4528}
:root[data-tema=escuro] .band-cel.tem{background:linear-gradient(#4a3d29,#3a3022)}
:root[data-tema=escuro] .band-cel.ativa{background:linear-gradient(#34422a,#2b3622)}
@media (max-width:900px){.band-layout{grid-template-columns:1fr}.band-lado{position:static;grid-template-columns:minmax(0,220px) 1fr;align-items:start}}
@media (max-width:760px){
  .band-layout{padding:8px}
  .band-terreno{background-image:url('/assets/bandeiras/terreno-cel.webp')}
  .band-linha{grid-template-columns:repeat(9,minmax(0,1fr));gap:3px}
  .band-linha-nome{grid-column:1/-1;flex-direction:row;gap:6px;align-items:baseline;padding:4px 0 0}
  .band-cel small{display:none}
  .band-up{width:15px;height:13px;font-size:7px}
  .band-qtd{font-size:10px;line-height:12px;min-width:13px}
  .band-selecao.ativa{position:fixed;left:8px;right:8px;bottom:calc(66px + env(safe-area-inset-bottom));z-index:40;box-shadow:0 8px 24px #000a}
}
@media (max-width:480px){.band-lado{grid-template-columns:1fr}.band-terreno{aspect-ratio:4/3;background-position:center 70%}.band-mastro{height:78%;width:30%}}
/* 0.91: produção das minas aos pedaços */
.producao-detalhe{min-width:420px}
.producao-detalhe th.prox,.producao-detalhe td.prox{color:var(--tinta-2)}
.producao-detalhe .pd-nome{display:inline-flex;align-items:center;gap:6px}
.producao-detalhe .pd-band{width:20px;height:20px;object-fit:contain}
.producao-detalhe tr.pd-base td.num:not(.prox){font-weight:700}
.producao-detalhe tbody tr:not(.pd-base):not(.perda) td.num:not(.prox){color:#3d7a26}
.producao-detalhe tr.perda td.num{color:var(--lacre)}
.producao-detalhe tr.perda td.prox{color:#c98a7e}
.producao-detalhe tfoot td{border-top:2px solid var(--couro-borda);background:var(--caixa-par)}
.producao-detalhe tfoot small{color:var(--tinta-2);margin-left:2px}
.producao-detalhe .delta{font-style:normal;font-size:12px;color:#3d7a26;font-weight:700}
.pd-max{margin:6px 0 0;display:flex;align-items:center;gap:5px}
:root[data-tema=escuro] .producao-detalhe tbody tr:not(.pd-base):not(.perda) td.num:not(.prox),:root[data-tema=escuro] .producao-detalhe .delta{color:#9fd27a}
.producao-detalhe th small{font-weight:400;opacity:.8}
.producao-detalhe .pd-nome{align-items:flex-start}.producao-detalhe .pd-nome>.ui-icon,.producao-detalhe .pd-nome>img{flex-shrink:0;margin-top:1px}
@media (max-width:640px){.producao-detalhe{min-width:0;font-size:13px}.producao-detalhe td,.producao-detalhe th{padding:5px 6px}.producao-detalhe .delta{display:block}}
/* 0.91.1: feira com bolinhas de marcar e ícones */
.feira-escolha{width:auto;margin:10px 12px;border:1px solid var(--linha)}
.feira-escolha th{background:linear-gradient(#e6cf9a,#d4b878);color:var(--madeira);text-align:left;white-space:nowrap;padding:6px 10px;font-size:13px}
.feira-escolha td{padding:4px 10px;vertical-align:middle}
.feira-escolha input[type=number]{width:110px}
.feira-escolha .feira-vezes{width:70px}
.radios-rec{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 14px}
.radio-rec{display:inline-flex;align-items:center;gap:4px;cursor:pointer;font-size:14px;padding:2px 4px;border-radius:4px}
.radio-rec:has(input:checked){background:#fff6dc;box-shadow:0 0 0 1px var(--latao)}
.radio-rec input{margin:0;width:16px;height:16px;accent-color:var(--madeira)}
.radio-rec .ui-icon{width:24px;height:24px}
.feira-filtro{margin-bottom:6px}
@media (max-width:640px){.feira-escolha{margin:8px;width:calc(100% - 16px)}.feira-escolha th{white-space:normal;font-size:12px}.feira-escolha input[type=number]{width:80px}.radios-rec{gap:4px 8px;flex-wrap:nowrap}.feira-escolha,.feira-escolha tbody{display:block}.feira-escolha tr{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding-bottom:6px;border-bottom:1px solid var(--linha)}.feira-escolha tr:last-child{border-bottom:0}.feira-escolha th{flex:1 1 100%;padding:4px 8px}.feira-escolha td{padding:2px 8px;border:0;box-shadow:none;background:none}}

/* 0.91.2: busca em massa (Praça) */
.massa-tropas{width:auto;min-width:100%}
.massa-tropas th:first-child{text-align:left;white-space:nowrap}
.massa-tropas thead th,.massa-tropas th.num,.massa-tropas td.num{text-align:center;vertical-align:bottom}
.massa-tropas thead .ico-tropa{display:block;margin:0 auto}
.massa-total{display:block;text-align:center;font-weight:400;color:var(--tinta-suave,#6b5636);font-size:11px}
.massa-tropas td{text-align:center}
.massa-tropas input[type=number]{width:72px;text-align:center}
.massa-tropas input[type=checkbox],.massa-aldeias input[type=checkbox]{width:18px;height:18px;accent-color:var(--madeira);cursor:pointer}
.massa-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}
.massa-card{position:relative;border:2px solid #7a4b2a;border-radius:6px;overflow:hidden;background:#3a2414;color:#fff7e6;box-shadow:0 2px 6px #0004;min-height:150px}
.massa-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.massa-card.vazio>img{opacity:.25;filter:grayscale(.6)}
.massa-card-corpo{position:relative;padding:8px 10px;display:flex;flex-direction:column;gap:3px;height:100%;background:linear-gradient(#0000 30%,#1a0e06cc)}
.massa-card h3{margin:0;font-size:15px;text-shadow:0 1px 2px #000}
.massa-card .hint{color:#f3e2c0}
.massa-card p{margin:auto 0 0;display:flex;flex-direction:column;gap:2px;font-weight:700;text-shadow:0 1px 2px #000}
.massa-res{display:flex;align-items:center;gap:4px}
.massa-res .ui-icon{width:20px;height:20px}
.massa-card [data-massa-dur]{font-size:11.5px;text-shadow:0 1px 2px #000}
.massa-filtro{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-left:auto}
.massa-filtro select,.massa-filtro input{font-size:13px;padding:3px 6px;max-width:180px}
.massa-filtro small{color:#f3e2c0}
.massa-aldeias th.massa-op,.massa-aldeias td.massa-op{text-align:center;width:64px;padding:4px}
.massa-aldeias thead th.massa-op img{display:block;margin:0 auto 2px;border-radius:3px;object-fit:cover}
.massa-aldeias thead th.massa-op span{font-size:11px}
.massa-aldeias td.ocupada small{color:#8a5a12;font-weight:600}
.massa-cadeado{opacity:.85}
.massa-aldeias tr.massa-todos{background:#f1dfb4!important}
.massa-aldeias tr.massa-todos th{text-align:left}
.massa-aldeias td[data-massa-traz]{white-space:nowrap;font-size:13px}
.massa-traz{display:inline-flex;gap:6px}
.massa-volta{display:block;color:var(--tinta-suave,#6b5636)}
.massa-volta .ui-icon{width:14px;height:14px;vertical-align:-2px;margin-right:2px}
.massa-rodape{position:sticky;bottom:42px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 12px;background:#f4e4bf;border-top:1px solid var(--linha);box-shadow:0 -3px 8px #0002}
.card:has(.massa-rodape){overflow:visible}
@media (max-width:820px){.massa-cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){
  .massa-card{min-height:118px}.massa-card h3{font-size:13px}
  .massa-aldeias th.massa-op,.massa-aldeias td.massa-op{width:40px;padding:3px 2px}
  .massa-aldeias thead th.massa-op img{width:28px;height:20px}
  .massa-aldeias td:first-child .hint{display:block}
  .massa-aldeias td[data-massa-traz]{font-size:12px}
  .massa-traz{flex-direction:column;gap:0}
  .massa-filtro{margin-left:0;width:100%}.massa-filtro select,.massa-filtro input{max-width:none;flex:1}
  .massa-rodape{bottom:60px}
  .massa-tropas input[type=number]{width:56px}
}
/* 0.91.3: flâmulas e aparências da loja no inventário */
.visuais-inv .item-arte{object-fit:contain}
.visual-onde{display:inline-flex;align-items:center;gap:2px;margin:2px 4px 2px 0}
.visual-onde .link{padding:0 3px;font-weight:700;color:#8b2a1a;text-decoration:none}
/* 0.91.4: inventário como no jogo clássico: grade de quadradinhos, filtro e janela do item */
.inv-filtro{display:flex;gap:8px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--linha);background:#f6e9c9}
.inv-filtro select{min-width:220px}.inv-filtro input{flex:1;min-width:160px;max-width:280px}
.inv-grade-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px;padding:10px 12px}
.inv-slot,.inv-vazio{position:relative;aspect-ratio:1;border-radius:6px;border:2px solid #d9c08c;background:linear-gradient(#f7ebcf,#efdcb3)}
.inv-vazio{opacity:.55;border-width:1px}
.inv-slot{display:grid;place-items:center;padding:4px;cursor:pointer;overflow:hidden;box-shadow:inset 0 1px 0 #fff8,0 1px 2px #0002;transition:transform .12s,box-shadow .12s}
.inv-slot:hover,.inv-slot:focus-visible{transform:translateY(-1px);box-shadow:0 0 0 2px #b8862a,0 3px 8px #0003;outline:none}
.inv-slot img{max-width:100%;max-height:100%;object-fit:contain;pointer-events:none}
.inv-slot img.larga{width:100%;height:100%;object-fit:cover;border-radius:3px}
.inv-slot .ui-icon.grande{width:44px;height:44px}
.inv-slot.rar-raro{border-color:#4a6fd0}.inv-slot.rar-epico{border-color:#8a4fc0}
.inv-slot.em-uso{border-color:#4f8a2e;box-shadow:0 0 0 1px #4f8a2e66}
.inv-qtd{position:absolute;right:2px;bottom:2px;min-width:20px;padding:1px 4px;border-radius:4px 0 4px 0;background:#c9a96a;color:#2b1a08;font-weight:700;font-size:12px;line-height:1.2;text-align:center}
.inv-uso{position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:50%;background:#4f7d2e;color:#fff;font-weight:700;font-size:11px;display:grid;place-items:center}
.inv-cor{font-size:30px;font-weight:800;text-shadow:0 1px 0 #fff8}
.inv-como summary{cursor:pointer;list-style:none}.inv-como summary::-webkit-details-marker{display:none}
.inv-det-topo{display:flex;gap:14px;align-items:center;margin-bottom:8px}
.inv-det-topo h2{margin:0 0 4px}
.inv-det-arte{flex:0 0 96px;height:96px;display:grid;place-items:center;border:2px solid #d9c08c;border-radius:8px;background:linear-gradient(#f7ebcf,#efdcb3);overflow:hidden}
.inv-det-arte img{max-width:88px;max-height:88px;object-fit:contain}
.inv-det-arte.larga{flex-basis:150px}.inv-det-arte.larga img{max-width:none;width:100%;height:100%;object-fit:cover}
.inv-det-texto{font-size:17px;padding:4px}
.inv-det-usar select{max-width:100%}
#dialog:has(.inv-det){width:min(520px,94vw)}
@media (max-width:640px){.inv-grade-slots{grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:5px;padding:8px}.inv-filtro select,.inv-filtro input{min-width:0;max-width:none;flex:1 1 100%}}
/* 0.91.6: reservas como no jogo clássico */
.reservas-topo{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:12px;align-items:start}
.reservas-topo .card{margin:0 0 12px}
.reserva-novo .radios-linha{display:flex;flex-wrap:wrap;gap:6px 14px;margin-bottom:8px}
.reserva-novo input[name=texto]{width:100%;margin-bottom:8px}
.reserva-novo .row{gap:8px;align-items:center}
.reserva-cfg ul{margin:0}
.reserva-filtro select{max-width:150px}
.reserva-compart{border-top:1px solid var(--linha)}
.reserva-compart ul{margin:4px 0}
.tabela-reservas td,.tabela-reservas th{vertical-align:middle}
.tabela-reservas tr.minha td:nth-child(5){font-weight:700}
.tabela-reservas tr.aliada{background:#eef0e2}
.tabela-reservas .acoes-linha{white-space:nowrap}
.reserva-nota{cursor:help;margin-right:4px}
.reserva-x{background:none;border:0;color:#b3261e;font-weight:800;font-size:16px;cursor:pointer;padding:0 6px}
.reserva-x:hover{color:#7d130c}
.reserva-massa{gap:8px;align-items:center;border-top:1px solid var(--linha)}
@media (max-width:900px){.reservas-topo{grid-template-columns:1fr}}
/* 0.92: Central da Staff */
.aba-staff{margin-left:auto;display:inline-flex;align-items:center;gap:6px;border-color:#8a6a1e;background:linear-gradient(#f3dd98,#d9b45a)!important;color:#3a2508!important}
.abas-staff .btn{display:inline-flex;align-items:center;gap:6px}
.staff-faixa{margin:0 0 10px;padding:6px 12px;border-radius:6px;background:#e7f0d8;border:1px solid #9bb57a;font-size:14px}
.staff-faixa.teste{background:#fff3cf;border-color:#d8b45a}
.staff-hero-in{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}
.staff-hero h2{margin:0 0 6px;font-size:24px}
.staff-lista{margin:8px 0 0;padding-left:18px}.staff-lista li{margin:2px 0}
.staff-preco{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 22px;border:2px solid #b8862a;border-radius:10px;background:linear-gradient(#fff8e2,#f1dfae);min-width:170px}
.staff-preco b{font-size:28px;color:#5a3608}
.staff-acoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.staff-acao{border:1px solid var(--linha);border-radius:8px;padding:12px;background:#fffaf0;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.staff-acao h3{margin:0}
.staff-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:12px}
.staff-kpi{background:linear-gradient(#fffaf0,#f1e2bd);border:1px solid var(--linha);border-radius:8px;padding:10px;display:flex;flex-direction:column;align-items:center;gap:2px}
.staff-kpi b{font-size:24px;color:#3a2508}.staff-kpi span{font-size:12px;color:var(--tinta-2,#6b5636)}
.staff-kpi.full{border-color:#8a2b1e}.staff-kpi.full b{color:#8a2b1e}
.staff-kpi.semi b{color:#a7621a}
.staff-kpi.alerta{background:linear-gradient(#fff3cf,#f5dd94)}
.staff-kpi.perigo{background:linear-gradient(#ffe1d9,#f3b7a6);border-color:#b3261e}
.staff-duas{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.staff-duas .card{margin-top:0}
.staff-cfg{gap:14px;flex-wrap:wrap;align-items:flex-end}
.staff-cfg label{display:flex;flex-direction:column;gap:2px;font-size:13px}
.staff-cfg input{width:120px}
.tag.staff-full{background:#8a2b1e;color:#fff}.tag.staff-semi{background:#d68a2c;color:#2b1708}
.tag.staff-nobre{background:#5b3f8f;color:#fff}.tag.staff-fake{background:#7b7468;color:#fff}
.staff-filtros{gap:8px;flex-wrap:wrap}
.staff-unid .tropa-inline{margin-right:6px;white-space:nowrap}
tr.staff-nobre td:first-child{border-left:4px solid #b3261e}
tr.staff-fraca{background:#fff0e8!important}
tr.staff-detalhe td{padding-top:0;border-top:0}
.staff-ataque{display:inline-block;margin:0 10px 2px 0}.staff-ataque.nobre{color:#b3261e;font-weight:700}
.staff-op{grid-template-columns:1fr 1fr}
.staff-op .largo{grid-column:1/-1}
.staff-op-n{gap:12px;grid-column:1/-1;flex-wrap:wrap}.staff-op-n label{display:flex;flex-direction:column;font-size:13px}.staff-op-n input{width:90px}
.staff-opcard .card-head{gap:8px;flex-wrap:wrap}
.staff-conf .chip{margin:4px 4px 0 0}.staff-conf .chip.ok{background:#dcebc9}
tr.staff-ok td{background:#eef6e4}
tr.staff-atrasada td{background:#fdeaea}
tr.staff-inativo td{background:#fdeeea}
.staff-membros .positivo{color:#3c7a22}
.staff-reg li{margin:4px 0}
.ordens-staff{border-color:#b8862a}
@media (max-width:760px){.staff-hero-in{grid-template-columns:1fr}.staff-duas{grid-template-columns:1fr}.staff-op{grid-template-columns:1fr}.aba-staff{margin-left:0}}
/* 0.92.1: fórum da aliança: tópico secreto e enquete no novo tópico */
.tag.secreto{background:#3a2a4f;color:#f3e8ff}
.aviso-secreto{margin:0;background:#f1ebf8;border-bottom:1px solid var(--linha)}
.extra-topico{border:1px solid var(--linha);border-radius:6px;padding:6px 10px;background:#fffaf0}
.extra-topico summary{cursor:pointer;font-weight:700}
.extra-topico .form-grade{margin-top:8px}
.secreto-membros{display:flex;flex-wrap:wrap;gap:4px 14px;border:1px solid var(--linha);border-radius:6px;padding:6px 10px;max-height:160px;overflow:auto}
/* 0.92.1: atalho da aliança: apagado sem novidade, anel vermelho com novidade */
.nav-item.sem-novidade>.ui-icon{opacity:.45;filter:saturate(.35)}
.nav-item.sem-novidade:hover>.ui-icon,.nav-item.sem-novidade.active>.ui-icon{opacity:.85;filter:none}
.nav-item.com-novidade>.ui-icon{border-radius:50%;box-shadow:0 0 0 2px #ff3b30,0 0 10px 3px rgba(255,59,48,.65);animation:anel-novidade 1.6s ease-in-out infinite}
@keyframes anel-novidade{0%,100%{box-shadow:0 0 0 2px #ff3b30,0 0 6px 2px rgba(255,59,48,.45)}50%{box-shadow:0 0 0 3px #ff6b5f,0 0 14px 5px rgba(255,59,48,.8)}}
@media (prefers-reduced-motion:reduce){.nav-item.com-novidade>.ui-icon{animation:none}}
.staff-preco-valor{display:inline-flex;align-items:center;gap:6px;font-size:24px;color:#5a3608}
.staff-preco-valor .ui-icon{width:30px;height:30px}
.staff-preco-valor b{font-size:28px}
/* 0.92.3: menu fechado da staff nas abas da aliança */
.menu-staff{position:relative;margin-left:auto}
.menu-staff>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;border-color:#8a6a1e!important;background:linear-gradient(#f3dd98,#d9b45a)!important;color:#3a2508!important}
.menu-staff>summary::-webkit-details-marker{display:none}
.menu-staff .seta{font-size:11px;transition:transform .15s}
.menu-staff[open] .seta{transform:rotate(180deg)}
.menu-staff-lista{position:absolute;right:0;top:calc(100% + 4px);z-index:30;min-width:220px;display:flex;flex-direction:column;padding:5px;background:var(--caixa);border:1px solid var(--couro-borda);border-radius:6px;box-shadow:0 8px 22px rgba(40,20,0,.35)}
.menu-staff-lista a{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:4px;color:var(--tinta);text-decoration:none;font-weight:600;font-size:14px}
.menu-staff-lista a .ui-icon{width:20px;height:20px}
.menu-staff-lista a:hover{background:rgba(160,110,30,.14)}
.menu-staff-lista a.atual{background:rgba(160,110,30,.22)}
.menu-staff-lista a.ouro{margin-top:4px;border-top:1px solid var(--couro-borda);border-radius:0 0 4px 4px;color:#6a4508}
.compartilhar-staff{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:12px}
@media (max-width:760px){.menu-staff{margin-left:0}.menu-staff-lista{left:0;right:auto}}
/* 0.92.4: a linha da aldeia não corta mais a população e o "?" em telas de 1280–1540 px (o "cheio em 2h29" alargava as caixas) */
.linha-aldeia{flex-wrap:wrap;row-gap:4px}
@media (max-width:1540px){.res small{display:none}.res{padding-bottom:5px}}
/* 0.92.5: os atalhos (Premium, Admin., Saque, Skins, Eventos, Itens, Estand.) também no celular e em telas até 1439 px:
   viram uma faixa de rolar para o lado no alto da página, em vez de sumir */
@media (max-width:1439px){
 body.logado .trilho-facil{display:flex;position:static;flex-direction:row;align-items:stretch;width:auto;max-width:100%;margin:10px 16px 0;padding:5px 6px;gap:4px;overflow-x:auto;scrollbar-width:none;box-shadow:inset 0 1px #ffffffaa,0 4px 12px #05090d33}
 body.logado .trilho-facil::-webkit-scrollbar{display:none}
 body.logado .trilho-facil .trilho-tit{display:none}
 body.logado .trilho-facil .trilho-item{flex:0 0 auto;min-width:62px;padding:4px 6px;font-size:11px}
 body.logado .trilho-facil .trilho-item .ui-icon{width:24px;height:24px}
}
@media (max-width:760px){body.logado .trilho-facil{margin:8px 8px 0}}
/* 0.93: a folha do jogo termina onde o conteúdo termina (antes esticava até o fim da tela com pergaminho vazio)
   e a largura vem da preferência do jogador (Conta › Preferências) */
main{flex:0 0 auto;margin-bottom:18px}
html[data-largura=estreita]{--largura:1000px}
html[data-largura=larga]{--largura:1500px}
html[data-largura=toda]{--largura:100%}
html[data-largura=estreita] .tela-larga main,html[data-largura=estreita] .tela-larga footer{max-width:1100px}
html[data-largura=toda] .tela-larga main,html[data-largura=toda] .tela-larga footer{max-width:100%}
/* 0.93: números em negrito e maiores nas listas de tropas e produção */
.tropas-grade li b{font-size:15px;font-weight:800;color:var(--tinta)}
.tropas-grade li small{font-size:12px}
.custo.falta{color:#b3261e;font-weight:700}

/* 0.93: menu de abas na lateral (telas com 7+ abas, só no computador largo) */
.com-menu-lateral,.menu-lateral-corpo{display:contents}
@media (min-width:1200px){
  .com-menu-lateral{display:grid;grid-template-columns:184px minmax(0,1fr);gap:14px;align-items:start}
  .menu-lateral-corpo{display:block;min-width:0}
  .com-menu-lateral>.training-tabs{flex-direction:column;flex-wrap:nowrap;gap:2px;margin:0;padding:6px;border:1px solid var(--couro-borda);border-radius:6px;background:rgba(255,248,230,.55);position:sticky;top:12px}
  .com-menu-lateral>.training-tabs .btn{margin:0;border-radius:4px;border-bottom-width:1px;justify-content:flex-start;text-align:left;width:100%;white-space:normal}
  .com-menu-lateral>.training-tabs .btn:not(.secondary){background:linear-gradient(180deg,#8a5a2b,#6b4220);color:#fff3d6;border-color:#5b3718}
  :root[data-tema=escuro] .com-menu-lateral>.training-tabs{background:rgba(40,32,22,.6)}
}
.ranking-atalhos{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--couro-borda)}
.ranking-atalhos:not(:has(*)){display:none}
.ranking-atalhos>span{margin-right:auto}
.faixa-mercadores{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin:0 0 10px;padding:7px 12px;border:1px solid var(--couro-borda);border-radius:6px;background:var(--caixa);font-size:14px}
.faixa-mercadores b{font-weight:800}
.faixa-mercadores .hint{margin-left:auto;font-size:12px}
.pedir-alvo{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pedir-alvo .campo-tropa{max-width:120px}
.pedir-tabela td.num input{width:84px;display:block;margin-left:auto;margin-top:2px}
.pedir-tabela td.num small{display:block}
.pedir-tabela .falta,[data-pedir-total] .falta{color:#b3261e;font-weight:700}
@media (max-width:700px){.pedir-tabela td.num input{width:64px}}
@media (min-width:1200px){
  .com-menu-lateral .menu-staff{margin:6px 0 0}
  .com-menu-lateral .menu-staff>summary{width:100%;justify-content:center}
  .com-menu-lateral .menu-staff-lista{left:0;right:auto}
}
@media (max-width:700px){.pedir-tabela td:nth-child(2){min-width:130px}}
/* 0.93: caixas da Visão da aldeia que fecham */
section.card[data-dobra]>.card-head>h2{cursor:pointer;user-select:none}
section.card[data-dobra]>.card-head>h2::after{content:'▾';display:inline-block;margin-left:6px;font-size:.75em;opacity:.7;transition:transform .15s}
section.card[data-dobra].dobrado>.card-head>h2::after{transform:rotate(-90deg)}
section.card[data-dobra].dobrado>:not(.card-head){display:none!important}
/* 0.93: pilha de avisos */
.toast.pilha{display:flex!important;flex-direction:column;gap:6px;padding:0;background:none;border:0;box-shadow:none;width:min(460px,92vw);pointer-events:none;animation:none}
.toast.pilha .aviso-item{pointer-events:auto;cursor:pointer;display:flex;align-items:center;gap:10px;padding:9px 14px;border-radius:5px;background:#fbf3dc;color:var(--tinta);border:1px solid var(--couro-borda);border-left:5px solid var(--musgo);box-shadow:0 10px 28px #05090d88;font-size:14px;font-weight:600;text-decoration:none;animation:aviso .25s ease-out;transition:opacity .2s,transform .2s}
.toast.pilha .aviso-item.erro{border-left-color:var(--lacre);color:var(--lacre-escuro)}
.toast.pilha .aviso-item.aviso{border-left-color:#c58a16}
.toast.pilha .aviso-item.info{border-left-color:#3a6ea5}
.toast.pilha .aviso-item.saindo{opacity:0;transform:translateY(-6px)}
.toast.pilha .aviso-item:nth-child(n+2){opacity:.93;font-size:13px}
:root[data-tema=escuro] .toast.pilha .aviso-item{background:#2c2419;color:#f0e2bf}
@media (max-width:760px){.toast.pilha{flex-direction:column-reverse}}
.toast.pilha .aviso-item{animation:aviso-entra .25s ease-out}
@keyframes aviso-entra{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.toast.pilha{align-items:stretch!important}
/* 0.93: Praça › Aldeias próximas */
.apoio-massa-op{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.apoio-un{display:inline-flex;flex-wrap:wrap;gap:4px}
.chip-check{display:inline-flex;align-items:center;gap:3px;padding:3px 6px;border:1px solid var(--couro-borda);border-radius:14px;background:var(--caixa);cursor:pointer}
.chip-check:has(input:checked){background:#f3dd98;border-color:#8a6a1e}
.chip-check input{margin:0}
.proximas-tabela td.zero{opacity:.35}
.proximas-tabela td.acao{white-space:nowrap;text-align:right}
.busca-msg{display:flex;align-items:center;gap:10px;padding-bottom:0}.busca-msg input{flex:1;max-width:420px}
/* 0.93: quadradinhos de total (ícone em cima, número embaixo) */
.ladrilhos-tropas{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px;margin:0 0 12px}
.ladrilho{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border:1px solid var(--couro-borda);border-radius:6px;background:var(--caixa);text-align:center}
.ladrilho .ui-icon,.ladrilho img{width:30px;height:30px}
.ladrilho b{font-size:16px;font-weight:800;line-height:1.1}
.ladrilho small{font-size:11px;color:var(--tinta-suave,#7a6545)}
/* 0.93: atalhos da lateral com nome mais legível */
@media(min-width:1440px){
  .trilho-facil{width:72px;left:8px}
  .trilho-tit{font-size:9.5px}
  .trilho-item{font-size:11px;font-weight:700}
}
/* 0.93: setas de quem subiu ou caiu no ranking */
.seta-rank{display:inline-block;margin-left:4px;font-size:10.5px;font-weight:800;vertical-align:middle;white-space:nowrap}
.seta-rank.sobe{color:#2f7a1f}
.seta-rank.desce{color:#b3261e}
:root[data-tema=escuro] .seta-rank.sobe{color:#7fd06a}
:root[data-tema=escuro] .seta-rank.desce{color:#ff8a7a}
/* 0.93: abas da aliança como texto leve (como no jogo clássico) quando não estão na lateral */
@media (max-width:1199px){
  .training-tabs.abas-texto{gap:0 16px;padding:0 6px;border-bottom:1px solid var(--couro-borda)}
  .training-tabs.abas-texto>.btn{background:none!important;border:0!important;border-radius:0;padding:7px 1px 5px;min-height:0;box-shadow:none;color:var(--madeira);font-weight:600;text-decoration:none}
  .training-tabs.abas-texto>.btn:not(.secondary){color:var(--tinta);font-weight:800;border-bottom:3px solid #8a5a2b!important}
  .training-tabs.abas-texto>.btn:hover{text-decoration:underline}
}
/* 0.93.3: nível da aliança */
.nivel-tribo-corpo{display:flex;gap:16px;align-items:flex-start}
.nivel-tribo-barras{flex:1;display:grid;gap:10px;min-width:0}
.nivel-tribo-selo{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 6px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f7e2a0,#c2902e 70%,#8a5f17);color:#3a2508;font-weight:900;border:2px solid #6b4a12;box-shadow:inset 0 1px #fff8,0 2px 4px #0004}
.nivel-tribo-selo.grande{width:64px;height:64px;font-size:28px;flex-shrink:0}
.nivel-tribo-missao{margin:2px 0 4px}
.progress.cheia i{background:linear-gradient(90deg,#4f8a2a,#7cbf43)}
.nivel-tribo-bau{gap:10px;align-items:center;padding:8px;border:1px dashed #b88a2e;border-radius:6px;background:#fff6dc}
.nivel-tribo-bau span{flex:1}
@media (max-width:600px){.nivel-tribo-corpo{flex-direction:column;align-items:center}.nivel-tribo-barras{width:100%}}
.ofertas-massa{margin:10px 0;padding:8px 10px;border:1px solid var(--couro-borda);border-radius:6px;background:rgba(255,248,230,.5)}
.ofertas-massa summary{cursor:pointer;font-weight:700}
.ofertas-massa-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px 12px;margin-top:6px}
/* 0.93.6: no computador a linha da aldeia fica numa fileira só (recursos no alto, à direita); entre 1001 e 1540 px tudo encolhe para caber */
@media (min-width:1001px){.linha-aldeia{flex-wrap:nowrap}.linha-aldeia .resources{margin-left:auto;flex-shrink:0}}
@media (min-width:1001px) and (max-width:1540px){
 .linha-aldeia{gap:8px;padding:4px 10px}
 .botao-premium span{display:none}
 .atalhos{gap:1px;padding-left:6px}
 .atalhos a{width:31px;height:32px}
 .atalhos a .ui-icon.pintado{width:28px;height:28px}
 .res{padding:3px 7px 5px 3px;gap:4px}
 .res>i,.res>i .ui-icon.pintado{width:24px;height:24px}
 .res b{font-size:13px}
}
@media (min-width:1001px) and (max-width:1360px){
 .aldeia-atual{max-width:290px}
 .aldeia-atual .selo-aldeia:nth-child(2),.linha-aldeia .seta-aldeia{display:none}
 .atalhos a{width:27px}
 .atalhos a .ui-icon.pintado{width:25px;height:25px}
 .res b{font-size:12.5px;letter-spacing:-.2px}
}
