/* Rodapé e bordas do mapa na linguagem do Plague Inc mobile (map-shell.mjs): dois botões grandes nos cantos
   (Evoluir, Mundo), o meio com devastação e país em foco, e pílulas de recurso logo acima dos cantos
   (CP à esquerda, contenção à direita, que enche conforme a porcentagem). O centro da tela fica para o mapa. */
body.map-first .command-bar{grid-template-columns:132px minmax(0,1fr) 112px;gap:8px;align-items:stretch}
body.map-first .command-bar>.save-note,body.map-first .command-bar>#advance{display:none!important}
body.map-first #show-upgrades small,body.map-first #compact-credits small{font-size:12px}

/* Meio: devastação (com barra) | país em foco. */
body.map-first #footer-center{display:grid;grid-template-columns:auto minmax(0,1fr);min-width:0;border:1px solid #91b3b32b;border-radius:6px;background:#06151bcc;overflow:hidden}
body.map-first #global-pulse{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;min-width:96px;padding:0 12px;border:0;border-right:1px solid #91b3b32b;background:none;overflow:visible}
body.map-first #global-pulse span{display:flex;flex-direction:row;align-items:baseline;gap:6px;font:600 11px/1 var(--body);color:#a9c4c2}
body.map-first #global-pulse b{font:18px/1 var(--display);color:#f0b2a4}
body.map-first .mini-bar{display:block;width:100%;height:3px;border-radius:2px;background:#2a4247}
body.map-first .mini-bar em{display:block;height:100%;width:100%;border-radius:inherit;background:#e9846f;transform:scaleX(var(--fill,0));transform-origin:left;transition:transform .4s}
body.map-first #footer-center #open-country{display:grid;grid-template-columns:minmax(0,1fr) 16px;align-content:center;column-gap:6px;row-gap:2px;min-width:0;padding:0 12px;border:0;background:none;color:#e6efe6;text-align:left}
body.map-first #footer-center #peek-name{font:600 15px/1.1 var(--body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.map-first #footer-center #peek-stats{grid-row:2;font:11px/1.2 var(--body);color:#a9c4c2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.map-first #footer-center #open-country b{grid-row:1/3;grid-column:2;align-self:center;color:#a9c4c2}
body.map-first #country-peek{display:none!important}

/* Pílulas acima dos cantos. */
body.map-first #economy-pulse,body.map-first #compact-response{position:absolute;bottom:calc(56px + env(safe-area-inset-bottom));z-index:4;height:40px;margin:0;border:1px solid #9fc3c140;border-radius:20px;background:#081d24e6;box-shadow:0 4px 14px #0007}
body.map-first #economy-pulse{left:max(10px,env(safe-area-inset-left));display:flex;align-items:center;padding:0 14px}
body.map-first #economy-pulse>#open-economy{display:flex;flex-direction:row;align-items:center;gap:8px;min-height:40px;white-space:nowrap;font:600 12px var(--body);color:#c9dccf}
body.map-first #open-economy b{display:flex;align-items:baseline;gap:3px}body.map-first #compact-cp{font:18px/1 var(--display);font-style:normal;color:#e6efe6}
body.map-first #open-economy b small{font-size:11px;color:#a9c4c2}
body.map-first #compact-net{font:600 12px var(--body);font-style:normal;color:#b9e986}
body.map-first #compact-paused{font-size:11px;color:#f0c27a}
body.map-first #economy-pulse[data-deficit=true]{border-color:#ff9b8c99;background:#2a1418e6}body.map-first #economy-pulse[data-deficit=true] #compact-net{color:#ffab9c}
body.map-first #compact-response{right:max(10px,env(safe-area-inset-right));display:flex;align-items:center;gap:8px;padding:0 16px;overflow:hidden;color:#cdeff3}
body.map-first #compact-response small{position:relative;font:600 11px var(--body);letter-spacing:0}
body.map-first #compact-response strong{position:relative;font:18px/1 var(--display);color:#fff}
body.map-first #compact-response i{position:absolute;inset:0;height:auto;background:none}
body.map-first #compact-response i em{display:block;height:100%;width:100%;background:#5fd8e840;transform:scaleX(var(--fill,0));transform-origin:left;transition:transform .4s}
body.map-first #open-world{font-size:16px}

/* Bordas: camadas logo abaixo do zoom (o canto de baixo é da pílula de CP); tempo com alvos de 44 px. */
body.map-first #open-layers{top:186px;bottom:auto}
body.map-first .cycle{height:44px;align-items:center}
body.map-first .cycle>span:first-child{font-size:11px}
body.map-first .time-controls button{min-width:44px;min-height:40px;font-size:14px}
/* Evento minimizado sobe para não cobrir a pílula de CP. */
body.map-first>.live-event.compact{bottom:calc(104px + env(safe-area-inset-bottom))}

/* Expansão automática no painel de Processamento. */
.economy-spread{display:flex;align-items:center;gap:14px;margin:0 0 14px;padding:10px 12px;border:1px solid #9fc3c133;border-radius:8px;background:#0a1d24}
.economy-spread p{flex:1;margin:0;font:12px/1.4 var(--body);color:#c2d6d2}.economy-spread strong{display:block;font-size:14px;color:#e6efe6;margin-bottom:2px}
.economy-spread #compact-spread{flex:none;min-width:112px;min-height:44px;border:1px solid #b9e98680;border-radius:6px;background:#b9e98622;color:#dff3cf;font:600 13px var(--body)}
.economy-spread #compact-spread small{display:block;font-size:11px;font-weight:400}
.economy-spread #compact-spread[aria-pressed=false]{border-color:#f0c27a99;background:#f0c27a22;color:#f6dcb0}

/* Aviso: "Continuar" é um botão de verdade, não um texto apagado. */
.warning-actions #warning-ok{border:1px solid currentColor;background:transparent;color:inherit}

@media(max-width:740px){body.map-first .command-bar{grid-template-columns:118px minmax(0,1fr) 92px}body.map-first #global-pulse{min-width:84px;padding:0 10px}}
@media(prefers-reduced-motion:reduce){body.map-first .mini-bar em,body.map-first #compact-response i em{transition:none}}

/* Evento minimizado: pílula pequena, inteira tocável (o botão "Responder" cobre a pílula, invisível).
   Ícone de alerta pulsando, país e segundos restantes. Expandido, o cartão segue como antes. */
.live-event .event-chip{display:none}
body.map-first #live-event.compact{display:flex;align-items:center;width:auto;max-width:min(260px,calc(100vw - 24px));height:44px;max-height:44px;padding:0 14px 0 5px;border:1px solid #f0a46a80;border-radius:22px;background:#1d2a2ef2;overflow:hidden;cursor:pointer}
body.map-first #live-event.compact[hidden]{display:none}
/* Centro de baixo, na linha do CP e da contenção (revisão da tela): à esquerda cobria o botão de camadas; ao lado da
   coluna cobria a América do Sul e seus marcadores. Aqui fica sobre o oceano. */
body.map-first>#live-event.compact{left:50%;right:auto;transform:translateX(-50%);bottom:calc(56px + env(safe-area-inset-bottom))}
/* Na tela do mapa, o evento pendente é o "!" com "Evento · lugar" (sem "toque para responder" nem cronômetro: o prazo
   está no marcador do mapa). O lugar liga o botão ao marcador do mesmo evento. */
body.map-first>#live-event.compact{max-width:min(240px,calc(100vw - 280px));padding:0 14px 0 5px}
body.map-first>#live-event.compact .event-chip>span,body.map-first>#live-event.compact #event-timer{display:none}
.event-chip-short{display:none}
body.map-first>#live-event.compact .event-chip-short{display:block;font:600 12px var(--body);font-style:normal;color:#f3d6b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
body.map-first dialog:not(#upgrades-dialog) #live-event.compact{position:relative;margin-top:8px}
body.map-first #upgrades-dialog #live-event.compact{width:auto;max-width:260px}
body.map-first #live-event.compact>:not(.event-chip):not(.event-live-top),body.map-first #live-event.compact .event-live-top>span{display:none}
body.map-first #live-event.compact .event-chip{display:flex;align-items:center;gap:9px;min-width:0}
.event-chip i{position:relative;flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#f0a46a}
.event-chip i::after{content:'';position:absolute;inset:0;border-radius:50%;border:2px solid #f0a46a;animation:event-ping 1.8s cubic-bezier(.16,1,.3,1) infinite}
@keyframes event-ping{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.7);opacity:0}}
.event-chip svg{width:20px;height:20px;fill:none;stroke:#1d1410;stroke-width:3;stroke-linecap:round}
.event-chip span{display:flex;flex-direction:column;min-width:0;font:600 14px/1.1 var(--body);color:#f4e6da;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.event-chip small{font:11px/1.2 var(--body);color:#e8bf98}
.event-chip b{flex:none;margin-left:2px;font:16px/1 var(--display);color:#f0a46a;font-variant-numeric:tabular-nums}
body.map-first #live-event.compact .event-live-top{position:static;margin:0;padding:0}
body.map-first #live-event.compact #minimize-event{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;padding:0;border:0;border-radius:inherit;opacity:0;z-index:2;cursor:pointer}
body.map-first #live-event.compact:has(#minimize-event:focus-visible){outline:2px solid #fff1c8;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.event-chip i::after{animation:none;opacity:0}}

/* Rota de vitória (victory-route.mjs) em Mundo › Objetivo: passos numerados, o atual em destaque, os feitos marcados. */
.victory-route{margin:0 0 14px}
.victory-route h3{margin:0 0 8px;font:600 15px var(--body);color:#e6efe6}
.victory-route ol{display:grid;gap:6px;margin:0;padding:0;list-style:none;counter-reset:step}
.victory-route ol>li{counter-increment:step;position:relative;display:grid;gap:2px;padding:8px 10px 8px 40px;border:1px solid #9fc3c126;border-radius:8px;background:#0a1d24;color:#a9c4c2;font:12px/1.4 var(--body)}
.victory-route ol>li::before{content:counter(step);position:absolute;left:10px;top:8px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#1f363d;color:#c9dccf;font:600 12px var(--body)}
.victory-route ol>li strong{font-size:14px;color:#e6efe6}
.victory-route ol>li.is-current{border-color:#ff8a5c99;background:#24191a}.victory-route ol>li.is-current::before{background:#ff8a5c;color:#1d1410}
.victory-route ol>li.is-done{opacity:.7}.victory-route ol>li.is-done::before{content:'✓';background:#b9e986;color:#14261b}
.victory-route ul{display:grid;gap:3px;margin:4px 0 0;padding:0;list-style:none}
.victory-route ul li{padding-left:18px;position:relative}.victory-route ul li::before{content:'';position:absolute;left:2px;top:5px;width:9px;height:9px;border:1.5px solid #a9c4c2;border-radius:2px}
.victory-route ul li.is-done{color:#c9e7b4}.victory-route ul li.is-done::before{background:#b9e986;border-color:#b9e986}

/* Glossário no topo do manual: os termos que o resto do jogo usa, uma linha cada. */
.glossary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px 16px;margin:12px 0 10px}
.glossary div{display:grid;gap:1px}
.glossary dt{font:600 13px var(--body);color:#e6efe6}
.glossary dd{margin:0;font:12px/1.4 var(--body);color:#a9c4c2}
.glossary-chain{margin:0 0 8px;padding:8px 10px;border-radius:6px;background:#0a1d24;font:12px/1.45 var(--body);color:#c9dccf}

/* Letalidade na Evolução (impact.mjs): barra que enche a cada tecnologia de Impacto; o trecho claro é o ganho do nó selecionado. */
.lethality-meter{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin:0 0 8px;font:600 12px var(--body);color:#f0b2a4}
.lethality-meter i{position:relative;height:8px;border-radius:4px;background:#2a4247;overflow:hidden}
.lethality-meter em{position:absolute;inset:0 auto 0 0;width:var(--v);border-radius:inherit;background:#e9846f}
.lethality-meter em.gain{left:var(--from);width:calc(var(--to) - var(--from));border-radius:0 4px 4px 0;background:#ffc2b2;animation:gain-pulse 1.4s ease-in-out infinite}
@keyframes gain-pulse{50%{opacity:.55}}
.lethality-meter b{font:18px/1 var(--display);color:#ffd6cb;font-variant-numeric:tabular-nums}.lethality-meter b small{font:600 13px var(--body);color:#ffc2b2}
body.map-first #compact-pace{margin-left:4px;font:600 11px var(--body);color:#ffab9c}
@media(prefers-reduced-motion:reduce){.lethality-meter em.gain{animation:none}}
.economy-spread #erase-traces{flex:none;min-width:112px;min-height:44px;border:1px solid #ff9b8c80;border-radius:6px;background:#ff9b8c1f;color:#ffd6cb;font:600 13px var(--body)}
.economy-spread #erase-traces small{display:block;font-size:11px;font-weight:400}
.economy-spread #erase-traces:disabled{border-color:#ffffff1f;background:#ffffff08;color:#9fbab7}
#auto-influence[aria-pressed=true]{border-color:#b9e98680;background:#b9e9861a}
#auto-influence[aria-pressed=false]{opacity:.85}
.economy-spread [data-project]{flex:none;min-width:112px;min-height:44px;border:1px solid #b9e98680;border-radius:6px;background:#b9e9861a;color:#dff3cf;font:600 13px var(--body)}
.economy-spread [data-project] small{display:block;font-size:11px;font-weight:400}
.economy-spread [data-project]:disabled{border-color:#ffffff1f;background:#ffffff08;color:#9fbab7}
/* A corrida da Ruptura no painel da Evolução (tech-forecast.mjs, raceForecast). */
.race-forecast{margin:0 0 8px;padding:8px 10px;border-radius:6px;font:12px/1.4 var(--body);background:#2a1418;color:#ffd6cb}
.race-forecast.is-won{background:#14261b;color:#dff3cf}.race-forecast.is-open{background:#1f2a2e;color:#e6efe6}
/* M2-22 · Influenciar onde há medida armado: o segundo toque gasta o total mostrado. */
#influence-all.is-armed{border-color:#f0c27acc;background:#f0c27a24;box-shadow:0 0 0 1px #f0c27a55}
#influence-all.is-armed small{color:#f6dcb0}
/* Apagar rastros com a investigação prevista: a última linha é a sugestão, na cor do que ela pede. */
.economy-spread.economy-erase{flex-wrap:wrap}
.erase-outlook{flex-basis:100%;display:grid;gap:3px;margin:0;padding:8px 0 0;border-top:1px solid #9fc3c126;list-style:none;font:12px/1.4 var(--body);color:#c2d6d2}
.erase-outlook[hidden]{display:none}
.erase-outlook li:first-child{color:#e6efe6;font-weight:600}
.erase-outlook li:last-child{margin-top:2px;padding:6px 8px;border-radius:6px;background:#ffffff0a;color:#e6efe6}
.erase-outlook[data-advice=safe] li:last-child{background:#b9e9861a;color:#dff3cf}
.erase-outlook[data-advice=erase] li:last-child{background:#f0c27a1f;color:#f6dcb0}
.erase-outlook:is([data-advice=abandon],[data-advice=accept]) li:last-child{background:#ff9b8c1f;color:#ffd6cb}
/* Manchete insólita no feed: selo e cor de sátira, para não ser lida como fato a responder. */
.news-item.is-oddity strong{color:#e3d3f6;font-style:italic}
.news-item .news-tag{display:inline-block;margin:0 0 0 8px;vertical-align:1px;padding:1px 7px;border-radius:9px;background:#c9a8f024;color:#dcc6f7;font:600 11px var(--body);font-style:normal;letter-spacing:.04em;text-transform:uppercase}
/* Indicador por fase do rodapé (map-shell.mjs): rótulo Rede/Devastação. */
#compact-label{font-style:normal}
/* Notificação do evento dentro do Processamento e da Pesquisa: no topo, ao lado do fechar (como Evolução e Conflitos).
   No fim do conteúdo ela caía sobre uma linha de operação e cobria o toque (PLAYTEST9 §10). */
body.map-first dialog:is(#economy-dialog,#research-dialog) #live-event.compact{position:absolute;top:12px;right:68px;left:auto;bottom:auto;transform:none;margin:0;width:auto;max-width:min(240px,calc(100% - 260px));z-index:5}
