/* Organismo — Mundo e cartão do país (DESIGN.md, Mundo e Cartão do país). A tela inteira, o fundo, a Raiz e a faixa do
   evento do Mundo vêm do organismo.css. Aqui, as composições próprias: no Mundo, a rota de vitória como etapas num
   filamento, os indicadores em números e a lista que compara países (nó por país: apagado sem a IA, aceso com presença,
   ferida quando perdido; o grau é o número, não o brilho); no cartão do país, que continua contextual (o mapa fica à
   vista), uma lâmina com a borda superior em tecido proporcional ao domínio da IA e as ações locais do contrato. */
:root{--human-core:#e6fbff;--human-deep:#1d6670;--rule-strong:#3d5f66}

/* ——— Mundo ——— */
body.map-first #world-hub[open]{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"top" "event" "body";row-gap:6px;overflow:hidden;color:var(--ink)}
body.map-first #world-hub>section:not([hidden]){grid-area:body;min-height:0}
/* Topo: título, a Raiz, as abas (tinta com sublinhado), o número principal da fase (da IA) e fechar. */
body.map-first #world-hub .dialog-top{grid-area:top;position:static;display:flex;align-items:center;gap:18px;min-height:44px;margin:0;padding:0;background:none}
body.map-first #world-hub .dialog-top h2{flex:none;margin:0;color:var(--ink);font:600 24px/1.1 var(--display);letter-spacing:0}
body.map-first #world-hub .world-strip{flex:1;min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:16px}
body.map-first #world-hub .hub-tabs{flex:0 1 auto;min-width:0;display:flex;gap:2px;margin:0;padding:0;border:0;background:none}
body.map-first #world-hub .hub-tabs button{flex:none;display:block;min-height:44px;margin:0;padding:0 8px;border:0;border-radius:0;background:none;box-shadow:none;color:var(--ink-soft);font:600 14px/1.2 var(--body);text-decoration:none;white-space:nowrap;cursor:pointer}
body.map-first #world-hub .hub-tabs button[aria-pressed=true]{color:var(--ink);background:none;text-decoration:underline;text-decoration-color:var(--ink);text-decoration-thickness:2px;text-underline-offset:7px}
body.map-first #world-hub .hub-tabs button:not([aria-pressed=true]):hover{color:var(--ink)}
body.map-first #world-hub .hub-tabs button:focus-visible{outline:2px solid var(--tissue-core);outline-offset:-2px}
body.map-first #world-hub #world-headline{flex:none;color:var(--tissue-hot);font:600 26px/1 var(--display);font-variant-numeric:tabular-nums;white-space:nowrap}
body.map-first #world-hub #world-headline small{display:inline;color:var(--ink-soft);font:400 12px/1.2 var(--body)}
body.map-first #world-hub .dialog-top .close{flex:none;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;border:1px solid var(--rule);border-radius:5px;background:transparent;color:var(--ink-soft)}

/* Objetivo: a rota (maior) e os indicadores com uma frase, lado a lado. */
body.map-first #hub-overview:not([hidden]){position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);column-gap:28px;align-items:stretch}
body.map-first #victory-route{display:grid;align-content:start;margin:0;min-width:0}
/* O nome da rota fica para leitores de tela: a aba já diz Objetivo e a altura vai para o que falta (sem rolar). */
body.map-first #victory-route h3{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0;padding:0 0 2px 26px;color:#ffb15cb3;font:600 11px/14px var(--body);letter-spacing:.06em;text-transform:uppercase}
body.map-first #victory-route ol{display:grid;gap:0;margin:0;padding:0;list-style:none}
/* Etapa: nó e filamento à esquerda, nome e estado escrito; a atual abre com o que falta. */
body.map-first #victory-route ol>li:is(.is-done,.is-now,.is-later){position:relative;display:block;min-height:24px;margin:0;padding:0 0 0 26px;border:0;border-radius:0;background:none;opacity:1;font:12px/1.3 var(--body)}
body.map-first #victory-route ol>li .vein{position:absolute;left:0;top:0;width:20px;height:24px;overflow:visible;pointer-events:none}
body.map-first #victory-route ol>li .vein path{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}
body.map-first #victory-route ol>li .vein-trunk{stroke:#ff7a2e38;stroke-width:1.2}
body.map-first #victory-route ol>li .vein-branch{stroke:#ff7a2e30;stroke-width:1}
body.map-first #victory-route ol>li .vein-pulse{display:none}
/* A etapa atual é mais alta: o tronco segue reto até a próxima. */
body.map-first #victory-route ol>li::after{content:"";position:absolute;left:5px;top:24px;bottom:0;width:1px;background:#ff7a2e38}
body.map-first #victory-route ol>li::before{content:"";position:absolute;z-index:1;left:10px;top:12px;width:9px;height:9px;margin-top:-5px;border-radius:50%;border:1px solid var(--rule-strong);background:var(--slide);box-sizing:border-box}
/* Feita: nó aceso e conexão a 75%. */
body.map-first #victory-route ol>li.is-done::before{border-color:transparent;background:radial-gradient(circle,var(--tissue-core) 0 25%,var(--tissue) 60%,var(--tissue-deep) 90%);box-shadow:0 0 5px #ff7a2e80}
body.map-first #victory-route ol>li.is-done .vein path,body.map-first #victory-route ol>li.is-now .vein path{stroke:#ff7a2ebf}
body.map-first #victory-route ol>li.is-done::after{background:#ff7a2ebf}
/* Agora: destaque por anel (não por brilho); o nó ainda não acendeu. */
body.map-first #victory-route ol>li.is-now::before{border-color:var(--tissue-hot);box-shadow:0 0 0 2px var(--slide),0 0 0 3px #ffb15c80}
body.map-first #victory-route .route-step{display:flex;align-items:center;gap:10px;min-height:24px;padding:0}
body.map-first #victory-route .route-step strong{flex:1;min-width:0;color:var(--ink-soft);font:600 14px/1.2 var(--body);white-space:normal;overflow:visible;text-overflow:clip}
body.map-first #victory-route .is-now .route-step strong{color:var(--ink)}
body.map-first #victory-route .route-step small{flex:none;color:var(--ink-soft);font:400 12px/1.2 var(--body);font-variant-numeric:tabular-nums;white-space:nowrap}
body.map-first #victory-route .is-now .route-step small{color:var(--tissue-hot);font-weight:600}
/* O que falta, em frases curtas (sem corte); o feito leva ✓ escrito, não só cor. */
body.map-first #victory-route ul{display:grid;gap:0;margin:0 0 2px;padding:0;list-style:none}
body.map-first #victory-route ul li{display:flex;align-items:baseline;gap:6px;min-width:0;margin:0;padding:0;color:var(--ink-soft);font:12px/1.3 var(--body);-webkit-line-clamp:none;overflow:visible}
body.map-first #victory-route ul li::before{content:none}
body.map-first #victory-route ul li>i{flex:none;color:var(--tissue-hot);font-style:normal;font-weight:600}
body.map-first #victory-route ul li.is-done>span{color:var(--ink-soft)}
body.map-first #victory-route ul li:not(.is-done)>span{color:var(--ink)}
body.map-first #victory-route ul button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;margin:0;padding:0;border:0;border-radius:0;background:none;color:var(--ink);font:12px/1.3 var(--body);text-align:left;cursor:pointer}
body.map-first #victory-route ul button span{min-width:0;white-space:normal;overflow:visible;text-overflow:clip}
body.map-first #victory-route ul button i{flex:none;color:var(--ink);font:600 12px/1.2 var(--body);font-style:normal;text-decoration:underline;text-decoration-color:#7d979880;text-underline-offset:4px}
body.map-first #victory-route ul button:focus-visible{outline:2px solid var(--tissue-core);outline-offset:2px}
/* Requisito × recomendação: o que o motor exige para a próxima compra (Falta para liberar) fica separado da preparação
   que a rota só recomenda; o pendente leva □ e o feito ✓ (escrito, não só cor). */
body.map-first #victory-route .route-gate{margin:0 0 2px;color:var(--ink);font:12px/1.3 var(--body)}
body.map-first #victory-route .route-gate b{font-weight:600}
body.map-first #victory-route .route-recs-title{margin:2px 0 0;color:var(--ink-soft);font:600 11px/14px var(--body);letter-spacing:.06em;text-transform:uppercase}
body.map-first #victory-route ul.route-recs{grid-template-columns:repeat(2,auto);justify-content:start;column-gap:12px}
body.map-first #victory-route ul.route-recs li.has-list{grid-column:1/-1}
body.map-first #victory-route ul.route-recs li>i{color:var(--ink-soft);font-weight:400}
body.map-first #victory-route ul.route-recs li.is-done>i{color:var(--tissue-hot);font-weight:600}
/* Lado direito: números legíveis, sem caixa; uma frase; ações no pé. */
body.map-first #world-side{display:flex;flex-direction:column;gap:10px;min-width:0;padding:0 0 0 18px;border-left:1px solid var(--rule)}
body.map-first #destruction-panel .destruction-progress{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin:0;padding:0;border:0;border-radius:0;background:none}
body.map-first #destruction-panel .destruction-progress small{display:block;color:var(--ink-soft);font:400 11px/1.2 var(--body);letter-spacing:.06em;white-space:normal}
body.map-first #destruction-panel .destruction-progress strong{display:block;margin:2px 0 0;font:600 24px/1 var(--display);font-variant-numeric:tabular-nums;white-space:nowrap}
/* A cor é de quem é a coisa: ruína e devastação são da IA; refúgios e sobreviventes, humanos. */
body.map-first #destruction-panel :is(#destruction-countries,#destruction-world){color:var(--tissue-hot)}
body.map-first #destruction-panel :is(#destruction-refuges,#destruction-hold){color:var(--human)}
body.map-first #world-side #objective-line{margin:0;padding:0;border:0;background:none;color:var(--ink);font:12px/1.3 var(--body);display:block;-webkit-line-clamp:none;overflow:visible}
body.map-first #world-side #objective-line[hidden]{display:none}
body.map-first #world-hub .world-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;margin-top:auto}
body.map-first #world-hub .world-actions>[hidden]{display:none!important}
body.map-first #world-hub .world-actions>.world-more-open{flex:none;margin:0 auto 0 0;min-width:0;min-height:44px;padding:0 6px 0 0;border:0;border-radius:0;background:none;color:var(--ink-soft);font:600 12px/1.2 var(--body);text-decoration:underline;text-decoration-color:#7d979880;text-underline-offset:4px;cursor:pointer}
/* Botões do contrato: neutros, cantos de 5px, 44px de altura; nada de verde gigante. */
body.map-first #world-hub .world-actions>:is(#open-collapse-tree,#show-conflicts){position:static;transform:none;flex:none;display:flex;align-items:center;justify-content:center;gap:6px;width:auto;min-width:104px;height:auto;min-height:44px;margin:0;padding:3px 10px;border:1px solid var(--rule-strong);border-radius:5px;background:transparent;box-shadow:none;color:var(--ink);font:600 12px/1.2 var(--body);cursor:pointer;transition:background .2s,border-color .2s}
body.map-first #world-hub .world-actions>#open-collapse-tree{max-width:128px}
body.map-first #world-hub .world-actions>:is(#open-collapse-tree,#show-conflicts):hover{border-color:var(--tissue-hot);background:#ff7a2e14}
body.map-first #world-hub .world-actions>:is(#open-collapse-tree,#show-conflicts,.world-more-open):focus-visible{outline:2px solid var(--tissue-core);outline-offset:2px}
body.map-first #world-hub #show-conflicts span{font-size:12px}
/* Detalhar: o conselho, a pesquisa humana e as mortes por causa numa lâmina opaca sobre o Objetivo; um toque volta. */
body.map-first #world-more{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;gap:6px;margin:0;padding:10px 14px;border:1px solid var(--rule);border-radius:6px;background:var(--slide-2);overflow:auto;overscroll-behavior:contain;cursor:pointer}
body.map-first #world-more[hidden],body.map-first #world-more>[hidden]{display:none}
body.map-first #world-more p{display:block;margin:0;color:var(--ink);font:12px/1.3 var(--body);-webkit-line-clamp:none;overflow:visible}
body.map-first #world-more #human-research{padding:0;border:0;color:var(--ink-soft)}
body.map-first #world-more #death-causes{color:var(--wound)}
body.map-first #world-more>span{margin-top:auto;color:var(--ink-soft);font:11px/1.2 var(--body)}

/* Países: filtros numa linha; a lista compara (rola, porque são 176). */
body.map-first #hub-countries:not([hidden]){display:flex;flex-direction:column}
body.map-first #world-hub .country-filters{flex:none;display:flex;flex-direction:row;gap:10px;margin:0 0 6px}
body.map-first #world-hub .country-filters :is(input,select){min-height:44px;margin:0;padding:0 10px;border:1px solid var(--rule-strong);border-radius:5px;background:var(--slide);box-shadow:none;color:var(--ink);font:12px/1.2 var(--body)}
body.map-first #world-hub .country-filters input{flex:1 1 120px;min-width:0}
body.map-first #world-hub .country-filters input::placeholder{color:var(--ink-soft)}
body.map-first #world-hub .country-filters :is(input,select):focus-visible{outline:2px solid var(--tissue-core);outline-offset:1px}
body.map-first #world-hub .country-results{flex:1;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;border-top:1px solid var(--rule)}
body.map-first #world-hub .country-results>p{margin:8px 0 0 26px;color:var(--ink-soft);font:12px/1.3 var(--body)}
/* Linha: nó do país, nome e estado, domínio (IA), resistência (humana) e ↗. Tocar leva ao país no mapa. */
body.map-first #world-hub .country-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 112px 128px 16px;align-items:center;gap:10px;width:100%;min-height:44px;margin:0;padding:2px 8px 2px 26px;border:0;border-bottom:1px solid var(--rule);border-radius:0;background:none;box-shadow:none;color:var(--ink);text-align:left;cursor:pointer}
body.map-first #world-hub .country-row:hover{background:var(--slide-2)}
body.map-first #world-hub .country-row:focus-visible{outline:2px solid var(--tissue-core);outline-offset:-2px}
body.map-first #world-hub .country-row>span{min-width:0;white-space:normal;overflow:visible;text-overflow:clip;font-variant-numeric:tabular-nums}
body.map-first #world-hub .country-row>span:first-of-type{color:var(--ink);font:600 14px/1.2 var(--body)}
body.map-first #world-hub .country-row>span:first-of-type small{display:inline;margin:0;color:var(--ink-soft);font:400 12px/1.2 var(--body)}
body.map-first #world-hub .country-row>span:first-of-type small::before{content:' · '}
body.map-first #world-hub .country-row>span:nth-child(3){color:var(--tissue-hot);font:600 14px/1.2 var(--body)}
body.map-first #world-hub .country-row>span:nth-child(4){color:var(--human);font:600 14px/1.2 var(--body)}
body.map-first #world-hub .country-row>span:is(:nth-child(3),:nth-child(4)) small{display:inline;margin:0 0 0 4px;color:var(--ink-soft);font:400 11px/1.2 var(--body);letter-spacing:.04em}
/* Localizar no mapa: o símbolo de lugar no fim da linha; a linha inteira é o alvo (44px, foco visível). */
body.map-first #world-hub .country-row .country-locate{justify-self:end;width:16px;height:16px;fill:none;stroke:var(--ink-soft);stroke-width:1.3;stroke-linejoin:round}
body.map-first #world-hub .country-row:hover .country-locate{stroke:var(--ink)}
body.map-first #world-hub .country-row .vein{position:absolute;left:0;top:0;width:20px;height:100%;overflow:visible;pointer-events:none}
body.map-first #world-hub .country-row .vein path{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}
body.map-first #world-hub .country-row .vein-trunk{stroke:#ff7a2e38;stroke-width:1.2}
body.map-first #world-hub .country-row .vein-branch{stroke:#ff7a2e30;stroke-width:1}
body.map-first #world-hub .country-row .vein-pulse{stroke:var(--tissue-hot);stroke-width:1.6;stroke-dasharray:.25 1.25;stroke-dashoffset:.25;opacity:0}
/* Nó: apagado sem a IA; aceso com presença (sem halo: o grau vem do número, e uma fileira de pontos brilhando não diz
   mais nada); ferida quando a IA foi removida ou abandonou (o texto da linha diz até quando). */
body.map-first #world-hub .country-row::before{content:"";position:absolute;z-index:1;left:10px;top:50%;width:9px;height:9px;margin-top:-5px;border-radius:50%;border:1px solid var(--rule-strong);background:var(--slide);box-sizing:border-box}
body.map-first #world-hub .country-row[data-node=live]::before{border-color:transparent;background:radial-gradient(circle,var(--tissue-core) 0 25%,var(--tissue) 60%,var(--tissue-deep) 90%)}
body.map-first #world-hub .country-row[data-node=live] .vein-branch{stroke:#ff7a2ebf}
body.map-first #world-hub .country-row[data-node=lost]::before{border-color:var(--wound)}
body.map-first #world-hub .country-row[data-node=lost]>span:first-child small{color:var(--wound)}
/* A IA entrou desde a última vez: um pulso do tronco ao nó, uma vez (keyframes no organismo.css). */
body.map-first #world-hub .country-row.is-pulse .vein-pulse{animation:vein-pulse 1.1s cubic-bezier(.16,1,.3,1)}

/* Notícias (histórico: pode rolar). Fato em tinta; o canal da IA, no Registro técnico, em telemetria sem cor própria. */
body.map-first #hub-news:not([hidden]){overflow-y:auto;overscroll-behavior:contain}
body.map-first #news-feed .news-item{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;align-items:center;width:100%;min-height:44px;margin:0;padding:6px 4px 6px 10px;border:0;border-bottom:1px solid var(--rule);border-radius:0;background:none;box-shadow:none;color:var(--ink);text-align:left}
body.map-first #news-feed button.news-item{cursor:pointer}
body.map-first #news-feed button.news-item:hover{background:var(--slide-2)}
body.map-first #news-feed button.news-item:focus-visible{outline:2px solid var(--tissue-core);outline-offset:-2px}
body.map-first #news-feed .news-item small{grid-column:1;display:block;color:var(--ink-soft);font:400 12px/1.3 var(--body);letter-spacing:0;white-space:normal;overflow:visible}
body.map-first #news-feed .news-item .news-tag,body.map-first #news-feed .news-item.is-digest .news-tag{margin:0 0 0 8px;padding:0;border:0;border-radius:0;background:none;color:var(--ink-soft);font:600 11px/1.2 var(--body);font-style:normal;letter-spacing:.06em;text-transform:uppercase}
body.map-first #news-feed .news-item strong{grid-column:1;display:block;margin:1px 0 0;color:var(--ink);font:600 14px/1.25 var(--body);font-style:normal;-webkit-line-clamp:none;overflow:visible}
body.map-first #news-feed .news-item>b{grid-column:2;grid-row:1/span 2;color:var(--ink-faint);font-weight:400}
/* Marco mundial: um risco de tecido à esquerda. Insólito: sátira, em tinta suave e itálico. Resumo: texto, mais apagado. */
body.map-first #news-feed .news-item.is-milestone{padding-left:8px;border-left:2px solid #ff7a2e8c}
body.map-first #news-feed .news-item.is-oddity strong{color:var(--ink-soft);font-style:italic}
body.map-first #news-feed .news-item.is-digest{padding-left:8px;border-left:2px solid var(--rule-strong);cursor:default}
body.map-first #news-feed .news-item.is-digest strong{color:var(--ink-soft);font:400 12px/1.3 var(--body)}
body.map-first #news-feed>p{margin:8px 0;color:var(--ink-soft);font:12px/1.3 var(--body)}
body.map-first #hub-news details{margin:0;border:0;border-bottom:1px solid var(--rule);background:none}
body.map-first #hub-news details>summary{display:flex;align-items:center;min-height:44px;padding:0 4px 0 10px;color:var(--ink-soft);font:600 12px/1.2 var(--body);cursor:pointer}
body.map-first #hub-news :is(#logs,#impact-news){margin:0;padding:0 4px 8px 10px;list-style:none}
body.map-first #hub-news :is(#logs,#impact-news) li{margin:0;padding:2px 0;border:0;background:none;color:var(--ink-soft);font:12px/1.3 var(--body)}
body.map-first #hub-news #impact-news li small{display:block;color:var(--ink-soft);font:12px/1.3 var(--body)}
body.map-first #hub-news #impact-news li p{margin:0;color:var(--ink);font:12px/1.3 var(--body)}
body.map-first #hub-news :is(#logs,#impact-news) li::before{content:none}
body.map-first #hub-news #logs li.is-diag{font:500 12px/1.3 var(--mono)}

/* ——— Cartão do país (contextual: o mapa continua à vista) ——— */
body.map-first #country-sheet[open]{border:0;border-top:1px solid var(--rule);border-left:1px solid var(--rule);border-radius:0;background:linear-gradient(180deg,var(--slide-2),var(--slide) 40%);box-shadow:none;color:var(--ink)}
/* Borda superior em tecido, proporcional ao domínio da IA no país (--edge, country-ui.mjs countryEdge). */
body.map-first #country-sheet[open]::before{content:"";position:absolute;left:0;top:-1px;z-index:3;width:100%;height:2px;background:var(--tissue);transform-origin:left center;transform:scaleX(var(--edge,0));transition:transform .5s cubic-bezier(.16,1,.3,1);pointer-events:none}
body.map-first #country-sheet .dialog-top .close{width:44px;height:44px;min-width:44px;min-height:44px;border:1px solid var(--rule);border-radius:5px;background:transparent;color:var(--ink-soft)}
body.map-first #country-sheet .country-heading h2{margin:0;color:var(--ink);font:600 24px/1.1 var(--display);letter-spacing:0}
body.map-first #country-sheet .status-chip{padding:0;border:0;border-radius:0;background:none;color:var(--ink-soft);font:400 12px/1.2 var(--body);white-space:nowrap}
body.map-first #country-sheet .status-chip.danger{background:none;color:var(--tissue-hot);font-weight:600}
/* Estado do país: um nó e a frase. Humano (investigação, isolamento, medida, polo, refúgio) em ciano; da IA em tecido. */
body.map-first #country-sheet :is(.country-status,.country-ops){position:relative;margin:0 0 6px;padding:0 0 0 20px;border:0;border-radius:0;background:none;color:var(--ink);font:600 12px/1.3 var(--body)}
body.map-first #country-sheet :is(.country-status,.country-ops)::before{content:"";position:absolute;left:4px;top:3px;width:9px;height:9px;border-radius:50%;border:1px solid var(--rule-strong);background:var(--slide);box-sizing:border-box}
body.map-first #country-sheet .country-status small{display:block;margin:1px 0 0;color:var(--ink-soft);font:400 12px/1.3 var(--body);white-space:normal;overflow:visible;text-overflow:clip}
body.map-first #country-sheet .country-status[data-tone=human]{color:var(--human)}
body.map-first #country-sheet .country-status[data-tone=human]::before{border-color:transparent;background:radial-gradient(circle,var(--human-core) 0 25%,var(--human) 60%,var(--human-deep) 90%);box-shadow:0 0 5px #5fd8e880}
body.map-first #country-sheet .country-status[data-tone=ai],body.map-first #country-sheet .country-ops{color:var(--tissue-hot)}
body.map-first #country-sheet :is(.country-status[data-tone=ai],.country-ops)::before{border-color:transparent;background:radial-gradient(circle,var(--tissue-core) 0 25%,var(--tissue) 60%,var(--tissue-deep) 90%);box-shadow:0 0 5px #ff7a2e80}
body.map-first #country-sheet .deadline-clock{color:var(--ink-soft);font:400 12px/1.3 var(--body);font-variant-numeric:tabular-nums}
/* Números: domínio (o principal, da IA), resistência (humana) e devastação (da IA). */
body.map-first #country-sheet .country-bar .country-metrics>span{color:var(--ink-soft);font:400 11px/1.2 var(--body);white-space:normal;overflow:visible;text-overflow:clip}
body.map-first #country-sheet .country-bar .country-metrics strong{display:block;margin-top:2px;color:var(--human);font:600 24px/1 var(--display);font-variant-numeric:tabular-nums}
body.map-first #country-sheet .country-bar .country-metrics>span:first-child strong{color:var(--tissue-hot);font-size:26px}
body.map-first #country-sheet .country-bar .country-metrics strong.damage-number{color:var(--tissue-hot)!important}
/* Ações | Detalhes: navegação em tinta com sublinhado, como as abas dos menus. */
body.map-first #country-sheet .country-view{flex:none;display:flex;gap:2px;border:0;border-radius:0;overflow:visible}
body.map-first #country-sheet .country-view button{min-height:44px;min-width:44px;padding:0 8px;border:0;border-radius:0;background:none;color:var(--ink-soft);font:600 14px/1.2 var(--body);text-decoration:none}
body.map-first #country-sheet .country-view button+button{border-left:0}
body.map-first #country-sheet .country-view button[aria-pressed=true]{background:none;color:var(--ink);text-decoration:underline;text-decoration-color:var(--ink);text-decoration-thickness:2px;text-underline-offset:7px}
body.map-first #country-sheet .country-view button:focus-visible{outline:2px solid var(--tissue-core);outline-offset:-2px}
/* Ação local: a conta ou o efeito na linha, o botão 104×44 no fim (rótulo e preço; sem CP, o motivo e o preço). */
body.map-first #country-sheet :is(.local-actions,.base-control){display:block;margin:0;padding:0;border:0;border-radius:0;background:none}
body.map-first #country-sheet .local-row{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 0 6px;border-bottom:1px solid var(--rule)}
body.map-first #country-sheet .local-line{flex:1;min-width:0;color:var(--ink-soft);font:400 12px/1.3 var(--body);font-variant-numeric:tabular-nums}
body.map-first #country-sheet .local-line::first-letter{text-transform:uppercase}
body.map-first #country-sheet .country-pane .local-action{flex:none;display:block;width:auto;min-width:104px;max-width:170px;min-height:44px!important;margin:0;padding:3px 8px;border:1px solid var(--rule-strong);border-radius:5px;background:transparent;box-shadow:none;color:var(--ink);font:600 12px/1.2 var(--body);text-align:center;opacity:1;cursor:pointer;transition:background .2s,border-color .2s}
body.map-first #country-sheet .country-pane .local-action small{display:block;margin:0;color:var(--ink-soft);font:400 12px/1.2 var(--body);white-space:normal;overflow:visible;text-overflow:clip}
body.map-first #country-sheet .country-pane .local-action:not(:disabled):hover{border-color:var(--tissue-hot);background:#ff7a2e14}
body.map-first #country-sheet .country-pane .local-action:focus-visible{outline:2px solid var(--tissue-core);outline-offset:2px}
body.map-first #country-sheet .country-pane .local-action:disabled{opacity:1;border-color:var(--rule);background:transparent;color:var(--ink-soft);cursor:default}
body.map-first #country-sheet .negotiation-preview{display:grid;gap:0;margin:0;padding:0;border:0;background:none;color:var(--ink-soft);font:400 12px/1.3 var(--body)}
body.map-first #country-sheet .negotiation-preview strong{color:var(--ink);font:600 12px/1.3 var(--body)}
body.map-first #country-sheet .negotiation-preview.risky strong{color:var(--tissue-hot)}
body.map-first #country-sheet .country-conflict{min-height:44px;margin:0;padding:3px 10px;border:1px solid var(--rule-strong);border-radius:5px;background:transparent;color:var(--ink);font:600 12px/1.2 var(--body);text-align:left}
/* Detalhes: explicações em botões neutros (sem ciano como cor de interface); o número curto em tinta, sem corte. */
body.map-first #country-sheet .country-why button{min-height:44px;padding:3px 4px;border:1px solid var(--rule);border-radius:5px;background:transparent;color:var(--ink-soft);font:600 12px/1.2 var(--body)}
body.map-first #country-sheet .country-why button[aria-pressed=true]{border-color:var(--rule-strong);background:var(--slide-2);color:var(--ink)}
body.map-first #country-sheet .country-why button:focus-visible{outline:2px solid var(--tissue-core);outline-offset:2px}
body.map-first #country-sheet .country-why b{display:block;color:var(--ink);font:400 12px/1.2 var(--body);font-variant-numeric:tabular-nums;white-space:normal;overflow:visible;text-overflow:clip}
body.map-first #country-sheet .country-why-text{margin:0;color:var(--ink);font:400 12px/1.3 var(--body)}
body.map-first #country-sheet .country-why-text strong{color:var(--ink);font-weight:600}
body.map-first #country-sheet .country-vitals{color:var(--ink-soft);font:400 12px/1.3 var(--body);font-variant-numeric:tabular-nums}
body.map-first #country-sheet .country-vitals b{color:var(--ink);font-weight:600}
body.map-first #country-sheet .sector-overview>span{color:var(--ink-soft);font:400 11px/1.2 var(--body)}
body.map-first #country-sheet .sector-overview b{color:var(--ink);font:600 12px/1.2 var(--body)}
body.map-first #country-sheet .sector-overview i{border-radius:3px;background:linear-gradient(to right,var(--health) var(--sector),var(--rule) var(--sector))}

@media(prefers-reduced-motion:reduce){body.map-first :is(#world-hub,#country-sheet) *,body.map-first #country-sheet[open]::before{transition:none!important;animation:none!important}}
