/* Visual compartilhado: verde vivo, superfícies estáveis e números legíveis. */
:root { --bg:#147b47; --card:rgba(5,62,36,.94); --ink:#fff; --mut:#deeee4; --line:rgba(230,255,239,.25); }
html { background:#147b47; }
body { background:#147b47; text-shadow:none; }
body::before { background:linear-gradient(145deg,#219b55 0%,#147b47 55%,#116b44 100%); opacity:1; }
body::after { opacity:.16; }
h1,h2,h3 { text-wrap:balance; }
.card,form { background:var(--card); box-shadow:0 8px 24px rgba(0,42,23,.16),inset 0 1px 0 rgba(255,255,255,.08); }
.card { border-color:var(--line); }
.big,.huge,.duelo b,#mob b { font-variant-numeric:tabular-nums; }
:focus-visible { outline:3px solid #ffdf00; outline-offset:4px; }
.topo-bar,.head { background:rgba(5,62,36,.88); }
.topo-hero h1 { text-shadow:0 2px 8px rgba(0,45,23,.2); }
.topo-hero .cand.L,.duelo .L,#mob .m-L { background:#053e24; border-radius:16px; padding:8px; }
.topo-hero .cand.L { padding:8px 16px; }
.duelo div { min-width:0; }
.cta,.acoes .b-pri,.botoes a.ig,#mob .m-acoes .m-p,.tabs button.on { background:#ffdf00; color:#073e26; text-shadow:none; }
nav a { min-height:36px; display:inline-flex; align-items:center; }
.screen { gap:1rem; }
.top,.row2,.main { gap:1rem; }
.wrap > .card { padding:22px; }
.cardx { background:linear-gradient(160deg,#239c55,#147b47 55%,#0c5837); box-shadow:0 16px 48px rgba(0,42,23,.3); }
.cardx::after { background:linear-gradient(180deg,transparent,rgba(5,62,36,.12) 40%,rgba(5,62,36,.8)); }
.cardx .duelo .L { padding:2cqw; border-radius:3cqw; }
.cardx .blocos { background:rgba(5,62,36,.9); }
@media (max-width:760px) {
 .screen { padding:12px; gap:12px; }
 .topo-dir { max-width:100%; justify-content:flex-start; gap:8px; }
 .topo-dir #status { text-align:left; }
 .topo-bar { padding:12px; gap:12px; }
 #mob { background:var(--card); border:1px solid var(--line); border-radius:22px; padding:16px; box-shadow:0 8px 24px rgba(0,42,23,.18); }
 #mob .m-duelo { gap:12px; grid-template-columns:1.1fr 1fr; }
 #mob .m-F b { font-size:clamp(2.4rem,11vw,3.6rem); }
 #mob .m-L b { font-size:clamp(1.9rem,8.6vw,2.6rem); }
 #mob .m-grid div { background:rgba(255,255,255,.06); padding:12px; }
 #mob .m-grid span { font-size:.78rem; }
 #mob .m-acoes a { min-height:44px; display:flex; align-items:center; justify-content:center; }
 .wrap { padding:16px 14px 90px; }
 .wrap > .card { padding:18px 14px; }
 .duelo { gap:8px; }
 .duelo div { padding:12px 10px; }
 .duelo b { font-size:clamp(1.5rem,7.5vw,2rem); }
 .grid { grid-template-columns:minmax(0,1fr); }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; scroll-behavior:auto !important; transition:none !important; } }
/* Bandeira em marca d'água: sempre atrás das superfícies de leitura. */
body::before { background:linear-gradient(145deg,rgba(33,155,85,.9),rgba(20,123,71,.88) 55%,rgba(17,107,68,.94)),url('/bandeira.svg?v=oficial') center/cover no-repeat; }
@media (min-width:1024px) and (max-width:1499px) { .top { grid-template-columns:repeat(3,minmax(0,1fr)); } }

/* Refinamento: fundo luminoso e superfícies com contraste independente da bandeira. */
:root { --bg:#208d50; --card:#104c32; --mut:#e0eee5; --line:rgba(229,255,238,.26); }
html,body { background:var(--bg); }
body::before { background:linear-gradient(145deg,rgba(51,175,97,.88),rgba(32,141,80,.9) 55%,rgba(22,118,70,.94)),url('/bandeira.svg?v=oficial') center/cover no-repeat; }
.card,form { border-radius:20px; box-shadow:0 8px 24px rgba(0,55,28,.14),inset 0 1px 0 rgba(255,255,255,.1); }
.card { backdrop-filter:none; -webkit-backdrop-filter:none; }
.topo-bar,.head { background:#155a3b; }
.sub,.mut { color:var(--mut); }
.big,.huge,.huge.F,.big.F,#mob .m-F b { text-shadow:none; }
.topo-hero .cand.L,.duelo .L,#mob .m-L { background:#083c28; }
.topo-hero { padding:1rem 0; }
.top > .card { padding:1rem 1.1rem; }
.top > .card h2 { margin-bottom:.65rem; }
.wrap .duelo { gap:16px; }
.wrap .duelo > div { border:1px solid var(--line); border-radius:16px; padding:20px; background:#104c32; }
.wrap .duelo > .L { background:#083c28; }
.wrap .duelo small { color:var(--mut); }
.cta,.acoes a,.tabs button { min-height:44px; }
.cta { display:inline-flex; align-items:center; justify-content:center; margin:6px 6px 6px 0; }
.cardx { background:linear-gradient(155deg,#33af61,#208d50 52%,#146e43); }
.cardx .duelo .L { background:#083c28; }
.cardx .duelo .num { text-shadow:none; }
.cardx .blocos { background:#104c32; }
@media (hover:hover) {
 .cta:hover,.botoes a:hover,#mob .m-acoes a:hover { filter:brightness(1.08); }
}
@media (max-width:760px) {
 #mob { padding:18px 16px; border-top:4px solid #ffdf00; }
 #mob .m-duelo { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:stretch; }
 #mob .m-duelo > div { min-width:0; display:flex; flex-direction:column; justify-content:flex-end; }
 #mob .m-duelo b { white-space:nowrap; }
 #mob .m-duelo span { min-height:2.8em; }
 #mob .m-F b { font-size:clamp(2.1rem,9.6vw,3.6rem); }
 #mob .m-L b { font-size:clamp(1.8rem,8.1vw,2.6rem); }
 #mob .m-grid { gap:8px; margin-top:12px; }
 #mob .m-grid div { background:#195b3e; }
 #mob .m-grid b { margin-top:4px; }
 .wrap .duelo { gap:8px; }
 .wrap .duelo > div { padding:14px 10px; }
 .wrap .duelo span { overflow-wrap:anywhere; }
 nav { gap:8px; }
}

/* Stories: composição própria, sem os espaçamentos do painel. */
body.story-page { justify-content:flex-start; padding-top:24px; padding-bottom:100px; gap:18px; }
.story-page > * { flex-shrink:0; }
.story-page .cardx { width:min(calc(100vw - 32px),460px); aspect-ratio:9/16; height:auto; border:1px solid rgba(255,255,255,.24); }
.story-page .cardx .in { padding:4.5cqw; gap:1.8cqw; }
.story-page .cardx .hero h1 { font-size:8cqw; }
.story-page .cardx .hero .slogan { font-size:2.8cqw; }
.story-page .cardx .duelo .ft { width:17cqw !important; height:17cqw !important; }
.story-page .cardx .duelo2 .ft { width:12cqw !important; height:12cqw !important; }
.story-page .cardx .rod { font-size:2.5cqw; }
.story-page .cardx .barra { margin-top:2cqw; height:3.2cqw; }
.story-page .cardx .meta span { line-height:1.15; }
.story-page .cardx .govs { gap:1.5cqw; }
.story-page .cardx .gv { padding:1.8cqw; }
.story-page .cardx .ftg { width:5cqw; height:5cqw; }
.story-page .cardx .hero h1 b { text-shadow:none; }
.story-page .cardx .duelo { grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); gap:3cqw; align-items:stretch; }
.story-page .cardx .duelo > div { min-width:0; padding:3cqw; border-radius:3cqw; background:rgba(5,62,36,.64); border:1px solid rgba(255,255,255,.2); }
.story-page .cardx .duelo > .L { background:#083c28; }
.story-page .cardx .duelo .nome,.story-page .cardx .duelo .num,.story-page .cardx .duelo .vt { padding:0; }
.story-page .cardx .duelo .num { margin-top:2.5cqw; white-space:nowrap; }
.story-page .cardx .duelo .F .num { font-size:14cqw; }
.story-page .cardx .duelo .L .num { font-size:12cqw; }
.story-page .cardx .duelo .vt { font-size:2.8cqw; min-height:2.6em; }
.story-page .cardx .meta { gap:1.5cqw; }
.story-page .cardx .meta div { padding:2cqw 1.7cqw; }
.story-page .cardx .meta span { font-size:2.5cqw; }
.story-page .cardx .blocos { padding:3cqw; border-radius:3cqw; }
.story-page .cardx .cg { margin-top:1.7cqw; }
.story-page .cardx .cg .t { font-size:3cqw; }
.story-page .cardx .cg .t span { font-size:2.5cqw; }
.story-page .cardx .cg .b { height:3.2cqw; }
.story-page .acoes { width:min(calc(100vw - 32px),540px); gap:10px; }
.story-page .acoes button,.story-page .acoes a { min-height:46px; display:inline-flex; align-items:center; justify-content:center; }
.story-page .acoes .p { background:#ffdf00; color:#073e26; }
.story-page #leg { width:min(calc(100vw - 32px),540px); }
.story-page .msg { max-width:48ch; padding:0 16px; line-height:1.5; }
@media (max-width:480px) { body.story-page { padding-top:16px; } .story-page .troca { padding:0 12px; } .story-page .troca button { font-size:11px; padding:10px 12px; } }
.story-page #card .duelo .ft { width:15cqw !important; height:15cqw !important; }
.story-page #card .duelo .vt { min-height:1.3em; }
.story-page #card .duelo .F .num { font-size:12cqw; }
.story-page #card .duelo .L .num { font-size:10.5cqw; }
.story-page #card .cg { margin-top:1.2cqw; }
.story-page #card .cg .t { font-size:2.8cqw; }
.story-page #card .cg .b { height:2.8cqw; margin-top:.8cqw; }
.story-page .cardx .rod { align-items:center; line-height:1.35; }
.story-page .cardx .rod>span:last-child { text-align:right; font-size:2.4cqw; }
.story-page .cardx .story-urnas { color:#ffdf00; font-size:3cqw; font-weight:900; }
.story-page .cardx .in { gap:1.2cqw; }

/* Os dois percentuais cabem no cartão; a diferença ocupa uma linha própria. */
.screen .top > .card { container-type:inline-size; }
.screen .top .pair { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:.6rem; align-items:start; }
.screen .top .pair > div { min-width:0; }
.screen .top .pair > div:first-child { grid-column:1; grid-row:1; }
.screen .top .pair > div:last-child { grid-column:2; grid-row:1; }
.screen .top .pair .vs { grid-column:1 / -1; grid-row:2; white-space:normal; font-size:.85rem; }
.screen .top .pair .huge { font-size:clamp(1.2rem,9.5cqw,2.6rem); white-space:nowrap; }
.screen .top .pair .mut { overflow-wrap:anywhere; }
.screen .top .pair > div:last-child { background:#083c28; border-radius:12px; padding:8px; }
.screen .top .pair > div:first-child { padding:8px 0; }
.screen .lid b { white-space:normal; min-width:0; overflow-wrap:anywhere; }

.av-votacao { background:#ffdf00; color:#073e26; border:1px solid #ffe96b; border-left:6px solid #002776; border-radius:16px; padding:16px 20px; margin:12px 0; text-shadow:none; font:500 14px/1.5 Montserrat,system-ui,sans-serif; }
.av-votacao .av-votacao-data { display:block; font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; margin-bottom:4px; }
.av-votacao strong { display:block; font-size:clamp(19px,2vw,26px); line-height:1.2; font-weight:900; text-wrap:balance; }
.av-votacao p { margin:8px 0; color:#073e26; }
.av-votacao a { color:#002776; font-size:12px; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.story-page > .av-votacao { width:min(calc(100vw - 32px),540px); margin:0; }
body > .av-votacao { margin:12px 16px; }
@media (max-width:760px) { .av-votacao { padding:14px; } }
.av-votacao-mobile { display:none; }
@media (max-width:760px) { .av-votacao-mobile { display:block; } .av-votacao-desktop { display:none; } }
