/* Prêmio Protagonistas: layout próprio da tela, só com tokens do Design System Galeria 1.1.1
   (pigmento chumbo). As peças do kit (g-frame, g-btn, g-field, g-card, g-glass, g-progress, g-menu,
   g-sections, g-status, g-table) não recebem CSS aqui: quando precisam de complemento, levam
   também uma classe desta plataforma, e o CSS cita só ela.
   Vitrine: a capa deslogada, a cédula e a apresentação. Bancada: apuração e curiosidades. */

[hidden]{display:none!important}  /* o atributo hidden vence as regras de display abaixo */
html{height:100%}
.pagina{margin:0;min-height:100%;display:flex;flex-direction:column}
.pagina > main{flex:1;display:flex;flex-direction:column}
.pagina strong,.pagina b{font-weight:500}
.pagina em{font-style:normal}
::selection{background:var(--platform-highlight);color:var(--platform-on-highlight)}

/* rótulo acima do título: frase curta em apoio, nunca caixa alta */
.kick,.onb__kick,.home__kicker{margin:0 0 var(--space-8);font-size:1rem;line-height:1.5rem;font-weight:500;color:var(--text-support)}

/* ---------------- moldura ---------------- */
.logo-slot{display:flex;align-items:center;color:var(--text-primary)}
.logo-galeria{display:block;height:var(--space-16);width:auto}
.marca{text-decoration:none;color:var(--text-primary)}
.rodape{margin-top:auto}
.pagina:has(#onb:not([hidden])) .rodape--logado{display:none}

/* faixa da votação: logo abaixo da moldura, em estrutura e sem cor de estado em texto */
.winbar{position:sticky;top:var(--bar-h);z-index:15;display:flex;align-items:center;justify-content:space-between;gap:var(--space-8) var(--space-24);flex-wrap:wrap;
  min-height:var(--touch-min);padding:var(--space-8) var(--space-48);background:var(--surface-ground);box-shadow:inset 0 -1px 0 var(--line-structure);
  font-size:.875rem;line-height:1.25rem;color:var(--text-support);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-dry)}
.winbar:hover{background:var(--surface-hover)}
.winbar__win,.winbar__live{display:flex;align-items:center;gap:var(--space-8);white-space:nowrap;flex-wrap:wrap}
.winbar__win b,.winbar__live b{color:var(--text-primary);font-weight:500}
.winbar__timer{font-variant-numeric:tabular-nums}
.winbar .winbar__dot{width:8px;height:8px;flex:none;border-radius:var(--radius-mark);background:var(--state-success)}
.winbar.is-closed .winbar__dot{border-radius:0;background:var(--state-error)}
.winbar.is-soon .winbar__dot{border-radius:0;background:var(--state-warning);transform:rotate(45deg) scale(.85)}
.winbar__live .sep{color:var(--text-support)}

/* ---------------- capa deslogada (vitrine) ---------------- */
.auth{min-height:100dvh;display:flex;flex-direction:column}
.home{flex:1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-8);padding:var(--space-48) var(--space-48) 0}
.home__lead{grid-column:1 / -1;display:flex;flex-direction:column;gap:var(--space-24);padding:var(--space-48) 0;min-width:0;max-width:calc(var(--measure-max) + var(--space-96))}
.home__kicker{margin:0}
.home__h1{margin:0;font-size:4.5rem;line-height:4.5rem;font-weight:400;letter-spacing:-0.05em;text-wrap:balance}
.home__sub{margin:0;max-width:var(--measure-max);font-size:1.125rem;line-height:1.75rem;color:var(--text-support)}
.lw{display:flex;flex-direction:column;gap:var(--space-8);margin-top:var(--space-24)}
.lw__title{margin:0;font-size:1.75rem;line-height:2rem;font-weight:500;letter-spacing:-0.03em}
.lw__sub{margin:0 0 var(--space-16);color:var(--text-support)}
.lw__btns{display:flex;flex-wrap:wrap;gap:var(--space-8)}
.lw__btns img{flex:none;display:block}
.auth__err{margin-top:var(--space-16);max-width:var(--measure-max);font-size:.875rem;line-height:1.25rem;overflow-wrap:anywhere}
.auth__window{margin-top:var(--space-16);font-size:.875rem;line-height:1.25rem;color:var(--text-support)}
.auth__window b{color:var(--text-primary);font-weight:500}

.home__luz{grid-column:1 / -1;position:relative;min-height:calc(var(--space-96) * 5);border-radius:var(--radius-s);overflow:hidden;display:flex;align-items:flex-end;justify-content:center;padding:var(--space-48) var(--space-24)}
.home__cartao{position:relative;z-index:1;width:min(100%,calc(var(--nav-w) + var(--space-96)));gap:var(--space-24);animation:subir var(--duration-soft) var(--ease-reveal) calc(var(--stagger-arco) * 3) both}
.home__cd{display:flex;flex-direction:column;gap:var(--space-4);padding-bottom:var(--space-24);box-shadow:inset 0 -1px 0 var(--line-structure)}
.cd__row{display:flex;align-items:center;gap:var(--space-8)}
.cd__dot{width:8px;height:8px;flex:none;border-radius:var(--radius-mark);background:var(--state-success)}
.cd__dot.is-closed{border-radius:0;background:var(--state-error)}
.cd__dot.is-soon{border-radius:0;background:var(--state-warning);transform:rotate(45deg) scale(.85)}
.cd__label{font-size:.875rem;line-height:1.25rem;color:var(--text-on-float-support)}
.cd__clock{font-size:3.5rem;line-height:3.5rem;letter-spacing:-0.04em;font-variant-numeric:tabular-nums;color:var(--text-on-float)}
.cd__ed{font-size:.75rem;line-height:1rem;color:var(--text-on-float-support)}
.home__how{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-8)}
.home__how li{display:flex;gap:var(--space-16);color:var(--text-on-float)}
.home__how b{min-width:var(--space-16);font-weight:400;color:var(--text-on-float-support)}

/* ---------------- superfícies de luz: o Arco ---------------- */
.luz{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.luz--arco{background:var(--arc-base)}
.arco__svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.arco__a{transform-box:fill-box;animation:arco-sobe var(--duration-arco) var(--ease-reveal) both}
.arco__a--2{animation-delay:var(--stagger-arco)}
.arco__a--3{animation-delay:calc(var(--stagger-arco) * 2)}
@keyframes arco-sobe{from{transform:translateY(45%)}to{transform:none}}
.luz__grao{position:absolute;inset:0;opacity:var(--grain);mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='160' height='160' filter='url(%23g)'/></svg>")}
.luz--horizonte{background:linear-gradient(180deg,var(--arc-top) 0%,var(--surface-ground) 72%)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .luz--horizonte{background:linear-gradient(180deg,var(--arc-base) 0%,var(--surface-ground) 72%)}}
:root[data-theme="dark"] .luz--horizonte{background:linear-gradient(180deg,var(--arc-base) 0%,var(--surface-ground) 72%)}
.horizonte__faixa{position:absolute;left:-15%;right:-15%;bottom:-45%;height:90%;border-radius:var(--radius-mark);background:radial-gradient(closest-side,var(--arc-deep),var(--arc-mid) 45%,transparent);filter:blur(var(--blur-glass));animation:faixa var(--duration-horizonte) var(--ease-reveal) both}
@keyframes faixa{from{transform:translateY(40%);opacity:0}to{transform:none;opacity:1}}
.luz--canelado{display:flex;background:var(--arc-base)}
.canelura{position:relative;overflow:hidden;height:100%;box-shadow:inset 1px 0 0 color-mix(in srgb,var(--arc-on-base) calc(var(--area-veil) * 100%),transparent)}
.canelura__luz{position:absolute;left:0;right:0;top:-50%;height:200%;transform-origin:top;background:linear-gradient(180deg,transparent 0%,var(--arc-deep) 12%,var(--arc-mid) 22%,var(--arc-top) 27%,var(--arc-mid) 32%,var(--arc-deep) 42%,transparent 54%);transform:translateY(var(--dy)) scaleY(var(--sy));animation:canelura var(--duration-canelado) var(--ease-reveal) calc(var(--stagger-canelado) * var(--k)) both}
@keyframes canelura{from{transform:translateY(-75%) scaleY(var(--sy))}to{transform:translateY(var(--dy)) scaleY(var(--sy))}}

/* abertura de capítulo: a superfície de luz com o título em cima */
.abertura{position:relative;isolation:isolate;overflow:hidden;width:100%;border-radius:var(--radius-s);display:flex}
.abertura > .luz{z-index:-1}
.abertura__conteudo{display:flex;flex-direction:column;gap:var(--space-8);padding:var(--space-48);max-width:var(--measure-max);animation:subir var(--duration-soft) var(--ease-reveal) var(--stagger-chart) both}
.abertura__conteudo > *{margin:0}
.abertura--canelado{min-height:calc(var(--space-96) * 4);align-items:flex-end;margin-bottom:var(--space-16);color:var(--arc-on-base)}
.abertura--canelado .onb__kick{color:color-mix(in srgb,var(--arc-on-base) calc(var(--text-on-color) * 100%),transparent)}
.abertura--horizonte{min-height:calc(var(--space-96) * 5);padding:var(--space-48);align-items:flex-start;max-width:none}
@keyframes subir{from{opacity:0;transform:translateY(var(--space-24))}to{opacity:1;transform:none}}
@keyframes entrar{from{opacity:0;transform:translateX(var(--space-32))}to{opacity:1;transform:none}}
@keyframes entrar-tras{from{opacity:0;transform:translateX(calc(var(--space-32) * -1))}to{opacity:1;transform:none}}
.entra--tras{animation-name:entrar-tras!important}
@keyframes eco{from{transform:scale(1);opacity:1}to{transform:scale(2.2);opacity:0}}

/* ---------------- telas de mensagem: estado pela tipografia ---------------- */
.screen{width:100%;max-width:calc(var(--measure-max) + var(--space-96));padding:var(--space-64) var(--space-48) var(--space-96)}
.screen--luz{max-width:none}
#turnout,#voted,#done{max-width:calc(var(--nav-w) * 3 + var(--space-96) * 2)}
.screen--luz .card--msg{gap:var(--space-16)}
.screen--luz .card--msg > :not(.luz){position:relative;max-width:var(--measure-max);animation:subir var(--duration-soft) var(--ease-reveal) both}
.screen--luz .card--msg > :nth-child(3){animation-delay:var(--stagger-chart)}
.screen--luz .card--msg > :nth-child(4){animation-delay:calc(var(--stagger-chart) * 2)}
.screen--luz .card--msg > :nth-child(5){animation-delay:calc(var(--stagger-chart) * 3)}
.screen--wide{max-width:calc(var(--nav-w) * 4 + var(--space-96) + var(--space-96))}
.card--msg{display:flex;flex-direction:column;gap:var(--space-16);max-width:var(--measure-max)}
.card--msg .kick{margin:0}
.msg__title{margin:0;font-size:3.5rem;line-height:3.5rem;font-weight:400;letter-spacing:-0.04em;text-wrap:balance}
.msg__body{margin:0;max-width:var(--measure-max);font-size:1.125rem;line-height:1.75rem;color:var(--text-support)}
.msg__body b{color:var(--text-primary)}
.msg__actions{display:flex;flex-wrap:wrap;gap:var(--space-8);margin-top:var(--space-16)}

/* mosaico (vitrine): blocos de cor que dividem a área sem linha, 8 e 4, entram uma vez */
.mosaico{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-8);margin-top:var(--space-48)}
.mosaico__bloco{display:flex;flex-direction:column;gap:var(--space-8);min-height:calc(var(--space-96) * 2);padding:var(--space-24);border-radius:var(--radius-s);animation:subir var(--duration-soft) var(--ease-reveal) both}
.mosaico__bloco > *{margin:0}
.mosaico__bloco--8{grid-column:1 / -1}
.mosaico__bloco--4{grid-column:1 / -1;animation-delay:var(--stagger-chart)}
.mosaico__bloco--tinta{background:var(--surface-inverse);color:var(--text-inverse-primary);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-dry)}
.mosaico__bloco--tinta .mosaico__rotulo{color:var(--text-inverse-support)}
.mosaico__bloco--cor{background:var(--platform-surface);color:var(--platform-on-surface)}
.mosaico__bloco--cor .mosaico__rotulo{color:var(--platform-on-surface)}
.mosaico__rotulo{font-size:.875rem;line-height:1.25rem}
.mosaico__numero{font-size:2.5rem;line-height:2.75rem;letter-spacing:-0.035em;font-variant-numeric:tabular-nums}
.mosaico__numero--grande{margin-top:auto;font-size:4.5rem;line-height:4.5rem;letter-spacing:-0.05em}
.mosaico__bloco--cor .mosaico__numero{margin-top:auto}

/* ---------------- participação ao vivo ---------------- */
.tn{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-24)}
.tn__kick{display:inline-flex;align-items:center;gap:var(--space-8);margin:0;font-weight:500;color:var(--text-support)}
.tn__live{width:8px;height:8px;border-radius:var(--radius-mark);background:var(--state-success)}
.tn__title{margin:0;font-size:1.75rem;line-height:2rem;font-weight:500;letter-spacing:-0.03em}
.tn__mosaico{width:100%;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-8)}
.tn__hero{grid-column:1 / -1;display:flex;flex-direction:column;justify-content:flex-end;gap:var(--space-8);min-height:calc(var(--space-96) * 3);padding:var(--space-32);border-radius:var(--radius-s);background:var(--surface-inverse);color:var(--text-inverse-primary);animation:subir var(--duration-soft) var(--ease-reveal) both}
.tn__mosaico:not(:has(.tn__socios:not([hidden]))) .tn__hero{grid-column:1 / -1}
.tn__n{font-size:4.5rem;line-height:4.5rem;letter-spacing:-0.05em;font-variant-numeric:tabular-nums}
.tn__cap{font-size:1.125rem;line-height:1.75rem}
.tn__sub{font-size:.875rem;line-height:1.25rem;color:var(--text-inverse-support)}
.tn__socios{grid-column:1 / -1;display:flex;flex-direction:column;gap:var(--space-16);padding:var(--space-32);border-radius:var(--radius-s);background:var(--platform-surface);color:var(--platform-on-surface);animation:subir var(--duration-soft) var(--ease-reveal) var(--stagger-chart) both}
.tn__sec-h{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-8) var(--space-16);font-weight:500}
.tn__only{font-size:.875rem;line-height:1.25rem;font-weight:400}
.tn__dots{display:flex;flex-wrap:wrap;gap:var(--space-8)}
.tn__dot{width:var(--space-16);height:var(--space-16);border-radius:var(--radius-mark);box-shadow:inset 0 0 0 2px currentColor;transition:background-color var(--duration-base) var(--ease-dry),box-shadow var(--duration-base) var(--ease-dry)}
.tn__dot.on{background:currentColor;box-shadow:none}
.tn__socios-txt{margin-top:auto;font-size:1.75rem;line-height:2rem;letter-spacing:-0.03em}
.tn__socios-txt b{font-weight:500}

/* ---------------- cédula ---------------- */
.ballot{width:100%;max-width:calc(var(--measure-max) + var(--space-96) * 3);padding:0 var(--space-48) calc(var(--space-96) + var(--space-64))}
/* o prêmio: cada passo é um painel que cabe na tela; a troca é lateral, a página não rola */
.onb{width:100%;max-width:calc(var(--nav-w) * 4 + var(--space-96) * 2);min-height:calc(100dvh - var(--bar-h) - var(--touch-min) - var(--space-16));display:flex;flex-direction:column;padding:0 var(--space-48) calc(var(--touch-min) + var(--space-64))}
.ballot__progress{position:fixed;left:0;right:0;top:calc(var(--bar-h) - 3px);z-index:21;margin:0;border-radius:var(--radius-none)}
.ballot__progress > i{border-radius:var(--radius-none)}
.ballot{padding-top:var(--space-48)}
.step{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-16);animation:entrar var(--duration-soft) var(--ease-soft) both}
.step .kick{margin:0}
.step__title{margin:0;font-size:2.5rem;line-height:2.75rem;font-weight:400;letter-spacing:-0.035em;text-wrap:balance}
.step__lead{margin:0 0 var(--space-16);max-width:var(--measure-max);font-size:1.125rem;line-height:1.75rem;color:var(--text-support)}
.step__lead strong,.step__lead b{color:var(--text-primary)}
.step__lead a{color:var(--platform-text);text-underline-offset:3px;cursor:pointer}
.step__lead p{margin:0 0 var(--space-16)}
.fronts{list-style:none;counter-reset:f;display:flex;flex-direction:column;gap:var(--space-8);margin:0 0 var(--space-16);padding:0}
.fronts li{counter-increment:f;display:flex;gap:var(--space-16);padding:var(--space-16) var(--space-24);border-radius:var(--radius-s);background:var(--surface-hover);color:var(--text-primary)}
.fronts li::before{content:counter(f);min-width:var(--space-16);color:var(--text-support)}
.reassure{margin:0 0 var(--space-16);padding-left:var(--space-16);box-shadow:inset 2px 0 0 var(--platform-accent);color:var(--text-support)}
.reassure strong{color:var(--text-primary)}
.step__hint{margin:0;font-size:.875rem;line-height:1.25rem;color:var(--text-support)}
.step__err{margin:var(--space-8) 0}

.pick__head{display:flex;flex-direction:column;gap:var(--space-16);width:100%;margin-bottom:var(--space-8)}
.pick__head .kick{margin:0}
.busca{width:100%;max-width:none}
.search{width:100%}
.search::-webkit-search-cancel-button{cursor:pointer}

/* candidatos: ladrilho tonal inteiro clicável; o escolhido fica no destaque da plataforma */
.grid{width:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(var(--nav-w) - var(--space-48)),1fr));gap:var(--space-8)}
.cand{position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:center;gap:var(--space-16);min-height:calc(var(--touch-min) + var(--space-24));padding:var(--space-8) calc(var(--space-48) + var(--space-8)) var(--space-8) var(--space-8);
  border:0;border-radius:var(--radius-s);background:var(--surface-hover);color:var(--text-primary);text-align:left;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-dry)}
.cand::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--platform-highlight);transform:scaleX(0);transform-origin:left;transition:transform var(--duration-soft) var(--ease-soft)}
.cand:hover::before,.cand.is-on::before{transform:scaleX(1)}
.cand.is-on{color:var(--platform-on-highlight)}
.cand:active{transform:scale(var(--pressed-scale))}
.cand.is-disabled{background:var(--disabled-fill);color:var(--disabled-text);cursor:var(--cursor-disabled)}
.cand.is-disabled::before{display:none}
.cand.is-disabled .cand__area{color:var(--disabled-text)}
.cand.is-disabled .cand__ava{filter:grayscale(1)}
.cand__ava{width:var(--space-48);height:var(--space-48);flex:none;border-radius:var(--radius-mark);overflow:hidden;display:grid;place-items:center;background:var(--surface-raised)}
.cand__ava img{width:100%;height:100%;object-fit:cover;display:block}
.cand__id{min-width:0;flex:1}
.cand__name{font-weight:500}
.cand__area{margin-top:var(--space-4);font-size:.875rem;line-height:1.25rem;color:var(--text-support)}
.cand.is-on .cand__area{color:var(--platform-on-highlight-support)}
.cand__tick{position:absolute;top:50%;right:var(--space-16);width:20px;height:20px;margin-top:-10px;box-shadow:inset 0 0 0 2px var(--line-control);display:grid;place-items:center}
.cand.is-on .cand__tick{background:var(--platform-accent);box-shadow:none}
.cand.is-novo .cand__tick::before{content:"";position:absolute;inset:0;box-shadow:0 0 0 2px var(--platform-accent);animation:eco var(--duration-soft) var(--ease-soft) both;pointer-events:none}
.cand.is-on .cand__tick::after{content:"";width:6px;height:11px;margin-top:-3px;box-sizing:border-box;border:solid var(--platform-on-accent);border-width:0 2px 2px 0;transform:rotate(45deg)}
.cand.is-disabled .cand__tick{box-shadow:inset 0 0 0 2px var(--disabled-text)}
.pick__empty{margin:0;padding:var(--space-24) 0;color:var(--text-support)}

/* iniciais de quem não tem foto: em tinta */
.ava--i,.cand__ava.ava--i,.rava.ava--i,.indic__ava.ava--i{background:var(--text-primary);color:var(--surface-ground);font-weight:500}
.cand__ava.ava--i{font-size:.875rem}
.rava{display:inline-grid;place-items:center;vertical-align:middle;width:var(--space-24);height:var(--space-24);flex:none;border-radius:var(--radius-mark);overflow:hidden;margin-right:var(--space-8);background:var(--surface-hover)}
.rava img{width:100%;height:100%;object-fit:cover;display:block}
.rava.ava--i{font-size:.75rem;line-height:1rem}

/* barra que acompanha a escolha: vidro, flutua no pé (só texto principal sobre vidro) */
.dock{position:fixed;left:50%;bottom:var(--space-16);transform:translateX(-50%);z-index:20;width:min(calc(100% - var(--space-32)),calc(var(--measure-max) + var(--space-96) * 2));
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-16);padding:var(--space-8) var(--space-8) var(--space-8) var(--space-24);border-radius:var(--radius-pill);margin-bottom:env(safe-area-inset-bottom,0)}
.dock__counts{display:flex;flex-direction:column;min-width:0}
.dock__main{font-size:1.125rem;line-height:1.75rem;font-weight:500;font-variant-numeric:tabular-nums}
.dock__areas{font-size:.875rem;line-height:1.25rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dock__areas b{font-weight:500}
.popdock__btns{display:flex;gap:var(--space-8);flex:none}

/* revisão: lista com linhas abertas, nunca card */
.review{list-style:none;display:flex;flex-direction:column;width:100%;max-width:var(--measure-max);margin:var(--space-8) 0 var(--space-16);padding:0}
.review li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-16);min-height:var(--table-row-reading);box-shadow:inset 0 -1px 0 var(--line-structure)}
.review__name{font-weight:500}
.review__area{margin-left:var(--space-8);font-size:.875rem;line-height:1.25rem;color:var(--text-support)}
.review__pophead{display:flex;align-items:center;justify-content:space-between;gap:var(--space-16);flex-wrap:wrap;max-width:var(--measure-max);margin-top:var(--space-24)}
.review__pophead .kick{margin:0}
#review-pop{width:100%}
.review__actions{display:flex;flex-wrap:wrap;gap:var(--space-8);margin-top:var(--space-16)}

/* ---------------- o prêmio: passo a passo ---------------- */
.onb__progress{position:fixed;left:0;right:0;top:calc(var(--bar-h) - 3px);z-index:21;display:flex;gap:var(--space-4);height:3px;margin:0}
.onb{padding-top:var(--space-32)}
.onb__progress i{flex:1;background:transparent;transition:background-color var(--duration-progress) linear}
.onb__progress i.on{background:var(--platform-accent)}
.onb__step{flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:var(--space-24);animation:entrar var(--duration-soft) var(--ease-soft) both}
.onb__cabeca{display:flex;flex-direction:column;gap:var(--space-8)}
.onb__cabeca > *{margin:0}
.onb__texto{display:flex;flex-direction:column;justify-content:center;gap:var(--space-16)}
.onb__step--manifesto{justify-content:flex-start}
.onb__step--manifesto > .abertura{min-height:calc(var(--space-96) * 2.5);margin:0}
.onb__step--criterios .onb__title,.onb__step--grafico .onb__title{font-size:2.5rem;line-height:2.75rem;letter-spacing:-0.035em}
.onb__step--grafico{justify-content:flex-start;gap:var(--space-8)}
.onb__step--criterios{justify-content:flex-start}
.onb__kick{margin:0}
.onb__title{margin:0;font-size:3.5rem;line-height:3.5rem;font-weight:400;letter-spacing:-0.04em;text-wrap:balance}
.onb__lead{margin:0;max-width:var(--measure-max);font-size:1.125rem;line-height:1.75rem;color:var(--text-support)}
.onb__lead strong{color:var(--text-primary)}
.onb__pull{max-width:var(--measure-max);margin-top:var(--space-8);padding-left:var(--space-24);box-shadow:inset 2px 0 0 var(--platform-accent);font-size:1.75rem;line-height:2rem;letter-spacing:-0.03em}
.onb__nav{position:fixed;left:50%;bottom:var(--space-16);transform:translateX(-50%);z-index:20;width:min(calc(100% - var(--space-32)),calc(var(--measure-max) + var(--space-96) * 2));
  display:flex;align-items:center;gap:var(--space-16);padding:var(--space-8);border-radius:var(--radius-pill);margin-bottom:env(safe-area-inset-bottom,0)}
.onb__count{padding-left:var(--space-16);font-size:.875rem;line-height:1.25rem;font-variant-numeric:tabular-nums;color:var(--text-primary)}
.onb__dir{display:flex;gap:var(--space-8);margin-left:auto;min-width:0}

/* critérios: quatro cards tonais, 2 por 2 */
.crit{width:100%;display:flex;flex-direction:column;gap:var(--space-8)}
.crit__c{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-16) var(--space-24);border-radius:var(--radius-s);background:var(--surface-hover);transition:background-color var(--duration-fast) var(--ease-dry)}
.crit__c:hover{background:var(--platform-highlight);color:var(--platform-on-highlight)}
.crit__n{color:var(--text-support);font-size:1.125rem;line-height:1.75rem}
.crit__c:hover .crit__n,.crit__c:hover li{color:var(--platform-on-highlight-support)}
.crit__t{margin:0;font-size:1.125rem;line-height:1.75rem;font-weight:500}
.crit__c{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:var(--space-16)}
.crit__c > ul{grid-column:2}
.crit__c ul{list-style:none;margin:0;padding:0}
.crit__c li{display:inline;font-size:.875rem;line-height:1.25rem;color:var(--text-support)}
.crit__c li + li::before{content:" · "}

/* gráfico cultura e negócio: eixos em linha de estrutura, rótulos em card */
.graphwrap{width:100%;min-width:0;overflow-x:auto;padding:var(--space-32) var(--space-8) var(--space-24)}
.graph{position:relative;min-width:calc(var(--nav-w) * 2);width:min(100% - var(--space-16),calc((100dvh - var(--bar-h) - var(--space-96) * 4.5) * 1.5));aspect-ratio:1.5/1;margin:0 var(--space-8);box-shadow:inset 1px 0 0 var(--line-strong),inset 0 -1px 0 var(--line-strong)}
.graph__yl,.graph__xl{position:absolute;font-size:.875rem;line-height:1.25rem;font-weight:500;color:var(--text-primary)}
.graph__yl{top:calc(var(--space-8) * -1);left:0;transform:translateY(-100%)}
.graph__xl{right:0;bottom:calc(var(--space-32) * -1)}
.graph__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.graph__curva{stroke:var(--line-control)}
.graph__reta{stroke:var(--chart-line);fill:none}
.graph__lbl{position:absolute;transform:translate(-50%,-50%);max-width:calc(var(--nav-w) / 2 + var(--space-16));padding:var(--space-4) var(--space-8);border-radius:var(--radius-s);background:var(--surface-raised);box-shadow:var(--elevation-2);font-size:.75rem;line-height:1rem;color:var(--text-primary)}
.graph__note{margin:var(--space-8) 0 0;font-size:.75rem;line-height:1rem;color:var(--text-support)}

/* ---------------- aviso de primeiro acesso: modal no nível 3 ---------------- */
.intv{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:var(--space-24);overflow:auto}
.intv__scrim{position:absolute;inset:0;background:color-mix(in srgb,var(--surface-scrim) calc(var(--scrim) * 100%),transparent)}
.intv__card{position:relative;z-index:1;width:min(calc(var(--nav-w) + var(--space-96) * 2),100%);display:flex;flex-direction:column;gap:var(--space-16);overflow:hidden;
  padding:0 var(--space-32) var(--space-32);border-radius:var(--radius-l);background:var(--surface-raised);box-shadow:var(--elevation-3);animation:subir var(--duration-soft) var(--ease-reveal) both}
.intv__img{display:block;width:calc(100% + var(--space-64));margin:0 calc(var(--space-32) * -1) var(--space-8)}
.intv .kick{margin:0}
.intv__title{margin:0;font-size:1.75rem;line-height:2rem;font-weight:500;letter-spacing:-0.03em}
.intv__body{display:flex;flex-direction:column;gap:var(--space-8);color:var(--text-support)}
.intv__body p{margin:0}
.intv__body strong{color:var(--text-primary)}
.intv .g-btn{align-self:flex-start}

/* ---------------- carregamento ---------------- */
.carregando{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:19;padding:var(--space-24) var(--space-32);border-radius:var(--radius-l);background:var(--surface-raised);box-shadow:var(--elevation-2);color:var(--text-primary)}

/* ---------------- deslize para enviar o voto ---------------- */
.deslize{position:relative;flex:none;display:flex;align-items:center;width:calc(var(--nav-w) + var(--space-48));max-width:100%;min-height:calc(var(--touch-min) + var(--space-8));padding:var(--space-4);border-radius:var(--radius-pill);background:var(--surface-hover);overflow:hidden}
.deslize__rastro{position:absolute;z-index:0;left:var(--space-4);top:var(--space-4);bottom:var(--space-4);width:calc(var(--touch-min) + var(--x,0px));border-radius:var(--radius-pill);background:var(--surface-inverse);transition:width var(--duration-soft) var(--ease-soft)}
.deslize__rotulo{position:absolute;z-index:1;inset:0;display:flex;align-items:center;justify-content:center;padding-left:var(--touch-min);font-weight:500;color:var(--text-primary);opacity:calc(1 - var(--fracao,0) * 1.4);pointer-events:none;transition:opacity var(--duration-base) var(--ease-dry)}
.deslize__botao{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;width:var(--touch-min);height:var(--touch-min);flex:none;border:0;border-radius:var(--radius-mark);background:var(--platform-primary);color:var(--platform-on-primary);cursor:grab;touch-action:none;transform:translateX(var(--x,0px));transition:transform var(--duration-soft) var(--ease-soft),background-color var(--duration-fast) var(--ease-dry)}
.deslize__botao:hover{background:var(--platform-primary-hover)}
.deslize__botao:active{cursor:grabbing;background:var(--platform-primary-pressed)}
.deslize__botao svg{width:var(--space-24);height:var(--space-24);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.deslize--arrastando .deslize__botao,.deslize--arrastando .deslize__rastro,.deslize--arrastando .deslize__rotulo{transition:none}
.deslize--feito{justify-content:flex-end}
.deslize--feito .deslize__rastro{width:calc(100% - var(--space-8))}
.deslize--feito .deslize__botao{transform:none;cursor:progress}
.deslize--feito .deslize__rotulo{opacity:1;color:var(--text-inverse-primary);padding-left:0;padding-right:var(--touch-min)}
.review__actions{align-items:center}

/* ---------------- aviso solto ---------------- */
.toast{position:fixed;left:50%;bottom:var(--space-24);transform:translate(-50%,var(--space-16));z-index:45;max-width:calc(100% - var(--space-32));padding:var(--space-16) var(--space-24);border-radius:var(--radius-pill);
  background:var(--surface-inverse);color:var(--text-inverse-primary);font-size:.875rem;line-height:1.25rem;box-shadow:var(--elevation-2);opacity:0;pointer-events:none;
  transition:opacity var(--duration-base) var(--ease-dry),transform var(--duration-base) var(--ease-dry)}
.toast.is-on{opacity:1;transform:translate(-50%,0)}

/* =====================================================================
   BANCADA: apuração e curiosidades. Cor da plataforma só na ação e no destaque,
   gráficos chapados e retos, sem movimento.
   ===================================================================== */
.admin__head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-24);flex-wrap:wrap;margin-bottom:var(--space-32)}
.admin__head .kick{margin:0 0 var(--space-8)}
[data-mode="bancada"] .msg__title{font-size:1.75rem;line-height:2rem;font-weight:500;letter-spacing:-0.03em}
.adm-live{display:flex;align-items:center;gap:var(--space-8);margin:var(--space-8) 0 0;font-size:.875rem;line-height:1.25rem;color:var(--text-support)}
.adm-live__dot{width:8px;height:8px;border-radius:var(--radius-mark);background:var(--state-success)}
.admin__actions{display:flex;flex-wrap:wrap;gap:var(--space-8)}
.admin__h3{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-8) var(--space-16);margin:var(--space-48) 0 var(--space-16);font-size:1.125rem;line-height:1.75rem;font-weight:500}
.admin__h3.has-iso{align-items:center}
.tl__head .admin__h3,.mtx__top .admin__h3{margin:0}
.admin__tie{margin-bottom:var(--space-24)}
.tlsec{margin:var(--space-48) 0 var(--space-8)}
.tl__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-16);flex-wrap:wrap}
.mtx{margin:var(--space-48) 0 var(--space-8)}
.mtx__top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-16);flex-wrap:wrap}

/* ladrilho de ícone ao lado do título de seção */
.isohd{width:var(--space-48);height:var(--space-48);flex:none;display:grid;place-items:center;border-radius:var(--radius-m);background:color-mix(in srgb,var(--text-primary) calc(var(--area-veil) * 100%),transparent)}
.isohd svg{width:var(--space-32);height:var(--space-32);display:block;overflow:visible}
.isohd .fa,.rvl__iso .fa{fill:var(--chart-series)}
.isohd .fb,.rvl__iso .fb{fill:var(--chart-series);fill-opacity:var(--text-on-color)}
.isohd .fc,.rvl__iso .fc{fill:var(--chart-series);fill-opacity:var(--step-inactive)}

/* filtros em pílula: o ativo fica em tinta */
.seg,.tl__tabs{display:inline-flex;flex-wrap:wrap;gap:var(--space-8)}
.seg__b,.tl__tab{display:inline-flex;align-items:center;min-height:var(--touch-min);padding:0 var(--space-16);border-radius:var(--radius-pill);border:1px solid var(--line-control);background:transparent;color:var(--text-primary);font-size:.875rem;line-height:1.25rem;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-dry)}
.seg__b:hover,.tl__tab:hover{background:var(--surface-hover)}
.seg__b.is-sel,.tl__tab.is-sel{background:var(--text-primary);border-color:var(--text-primary);color:var(--surface-ground)}

/* trimestres */
.tri__tabs{display:flex;flex-direction:column;gap:var(--space-8);margin-bottom:var(--space-24)}
.triy{display:flex;align-items:center;gap:var(--space-16);flex-wrap:wrap}
.triy__y{min-width:var(--space-48);font-weight:500;color:var(--text-support);font-variant-numeric:tabular-nums}
.triy__qs{display:flex;gap:var(--space-8);flex-wrap:wrap}
.triq{display:inline-flex;align-items:center;gap:var(--space-8);min-height:var(--touch-min);padding:0 var(--space-16);border-radius:var(--radius-pill);border:1px solid var(--line-control);background:transparent;color:var(--text-primary);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-dry)}
.triq:hover{background:var(--surface-hover)}
.triq.is-sel{background:var(--text-primary);border-color:var(--text-primary);color:var(--surface-ground)}
.triq.is-empty{color:var(--text-support)}
.triq.is-sel.is-empty{color:var(--surface-ground)}
.triq__q{display:inline-flex;align-items:center;gap:var(--space-4);font-weight:500}
.triq__n{font-size:.75rem;line-height:1rem;font-variant-numeric:tabular-nums}
.triq__dot{width:8px;height:8px;border-radius:var(--radius-mark);background:var(--platform-accent);display:inline-block}
.triq--new{align-self:flex-start;border-style:dashed;color:var(--text-support)}
.triq--new:hover{color:var(--text-primary)}
.tri__tab{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);min-height:var(--touch-min);padding:var(--space-8) var(--space-16);border:0;border-radius:var(--radius-s);background:var(--surface-hover);color:var(--text-primary);text-align:left;cursor:pointer}
.tri__tab.is-sel{background:var(--platform-highlight);color:var(--platform-on-highlight)}
.tri__tab__q{font-weight:500}
.tri__tab__meta{display:flex;gap:var(--space-8);font-size:.75rem;line-height:1rem;color:var(--text-support)}
.tri__tab__badge{color:var(--platform-text)}
.tri__tab__badge.is-closed{color:var(--text-support)}
.tri__tab--new{align-items:center;justify-content:center;color:var(--text-support)}
.tri__panel{padding:var(--space-24) 0 0;box-shadow:inset 0 1px 0 var(--line-structure);margin-bottom:var(--space-32)}
.tri__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-16);flex-wrap:wrap}
.tri__head .kick{margin:0 0 var(--space-4)}
.tri__title{margin:0;font-size:1.75rem;line-height:2rem;font-weight:500;letter-spacing:-0.03em}
.tri__status{display:inline-flex;align-items:center;gap:var(--space-8);font-size:.875rem;line-height:1.25rem;color:var(--text-primary)}
.tri__status::before{content:"";width:8px;height:8px;border-radius:var(--radius-mark);background:var(--state-success)}
.tri__status.is-closed::before{border-radius:0;background:var(--line-control)}
.tri__grid{display:flex;flex-direction:column;gap:var(--space-24);margin-top:var(--space-24);max-width:calc(var(--measure-max) + var(--space-96))}
.tri__sec{display:flex;flex-direction:column;gap:var(--space-8);padding-top:var(--space-16);box-shadow:inset 0 1px 0 var(--line-structure)}
.tri__sec-h{margin:0;font-size:.875rem;line-height:1.25rem;font-weight:500}
.tri__row{display:flex;align-items:flex-end;gap:var(--space-8);flex-wrap:wrap}
.tri__row--wrap{flex-direction:column;align-items:flex-start}
.tri__field{flex:1 1 100%;max-width:none}
.tri__field--largo{flex-basis:100%}
.tri__select{width:100%}
.tri__hint{margin:0;font-size:.875rem;line-height:1.25rem;color:var(--text-support)}
.tri__hint.ok,.tri__hint.err,.tri__hint.lit{color:var(--text-primary)}
.tri__hint.ok::before,.tri__hint.err::before{content:"";display:inline-block;width:8px;height:8px;margin-right:var(--space-8);vertical-align:.1em}
.tri__hint.ok::before{border-radius:var(--radius-mark);background:var(--state-success)}
.tri__hint.err::before{background:var(--state-error)}
label.g-btn{cursor:pointer}

/* números do topo */
.admin__cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(calc(var(--nav-w) / 2 + var(--space-32)),1fr));gap:var(--space-8);margin-bottom:var(--space-32)}
.statc{display:flex;flex-direction:column-reverse;gap:var(--space-4);padding:var(--space-24);border-radius:var(--radius-s);background:var(--surface-hover)}
.statc__n{font-size:1.75rem;line-height:2rem;letter-spacing:-0.03em;font-variant-numeric:tabular-nums}
.statc__l{font-size:.875rem;line-height:1.25rem;color:var(--text-support)}

/* participação dos sócios */
.anls{display:flex;flex-direction:column;gap:0;margin:var(--space-8) 0}
.anls__col{min-width:0}
.socios-bar{height:8px;background:var(--surface-hover);position:relative;overflow:hidden}
.socios-bar i{position:absolute;inset:0 auto 0 0;background:var(--chart-series)}
.socios-bar__txt{margin-top:var(--space-8);font-size:.875rem;line-height:1.25rem;color:var(--text-support)}
.soclist{display:flex;flex-direction:column;margin-top:var(--space-16);max-width:calc(var(--measure-max) + var(--space-96))}
.socitem{display:flex;align-items:center;gap:var(--space-8);min-height:var(--touch-min);box-shadow:inset 0 -1px 0 var(--line-structure);font-size:.875rem;line-height:1.25rem}
.ava{width:var(--space-32);height:var(--space-32);flex:none;border-radius:var(--radius-mark);overflow:hidden;display:grid;place-items:center;background:var(--surface-hover);font-size:.75rem;line-height:1rem}
.ava__img{width:100%;height:100%;object-fit:cover;display:block}
.socitem__nm{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.socitem--no .socitem__nm{color:var(--text-support)}
.socitem__ok{margin-left:auto;display:inline-flex;align-items:center;gap:var(--space-8);font-size:.75rem;line-height:1rem;color:var(--text-support)}
.socitem__ok::before{content:"";width:8px;height:8px;border-radius:var(--radius-mark);background:var(--state-success)}
.socitem__tag{margin-left:auto;display:inline-flex;align-items:center;gap:var(--space-8);font-size:.75rem;line-height:1rem;color:var(--text-primary);white-space:nowrap}
.socitem__tag::before{content:"";width:8px;height:8px;background:var(--state-warning);transform:rotate(45deg) scale(.85)}

/* participação por área: linhas que abrem */
.palist{display:flex;flex-direction:column;margin-top:var(--space-16)}
.pa{box-shadow:inset 0 -1px 0 var(--line-structure)}
.pa__sum{list-style:none;cursor:pointer;display:flex;align-items:center;gap:var(--space-16);min-height:var(--table-row-reading);padding:0 var(--space-8)}
.pa__sum::-webkit-details-marker{display:none}
.pa__sum:hover{background:var(--surface-hover)}
.pa__mk{flex:none;width:var(--space-16);color:var(--text-support);text-align:center}
.pa__mk::before{content:"+"}
.pa[open] .pa__mk::before{content:"–"}
.pa__area{flex:none;width:calc(var(--nav-w) / 2 + var(--space-32));font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pa__track{flex:1;min-width:var(--space-48);height:8px;background:var(--surface-hover);overflow:hidden}
.pa__fill{display:block;height:100%;background:var(--chart-series)}
.pa__n{flex:none;min-width:var(--space-96);text-align:right;font-size:.875rem;line-height:1.25rem;color:var(--text-support);white-space:nowrap;font-variant-numeric:tabular-nums}
.pa__n b{color:var(--text-primary)}
.pa__body{display:flex;flex-direction:column;gap:var(--space-16);padding:var(--space-8) var(--space-8) var(--space-24) calc(var(--space-16) * 2 + var(--space-8))}
.pa__grp{display:flex;flex-direction:column;gap:var(--space-8)}
.pa__lbl{display:inline-flex;align-items:center;gap:var(--space-8);font-size:.875rem;line-height:1.25rem;font-weight:500;color:var(--text-primary)}
.pa__lbl::before{content:"";width:8px;height:8px}
.pa__lbl--ok::before{border-radius:var(--radius-mark);background:var(--state-success)}
.pa__lbl--no::before{background:var(--state-warning);transform:rotate(45deg) scale(.85)}
.pa__chips{display:flex;flex-wrap:wrap;gap:var(--space-4)}
.pchip{padding:var(--space-4) var(--space-8);border-radius:var(--radius-pill);background:var(--surface-hover);font-size:.75rem;line-height:1rem}
.pa__none{font-size:.875rem;line-height:1.25rem;color:var(--text-support)}

/* métricas */
.mtx__seglead{margin:var(--space-16) 0 0;max-width:var(--measure-max);color:var(--text-support)}
.mtx__seglead b{color:var(--text-primary)}
.mtx__grid{display:flex;flex-direction:column;gap:var(--space-8);margin-top:var(--space-16)}
.mtx__curio{margin-top:var(--space-8)}
.mtx__card{min-width:0;padding:var(--space-24);border-radius:var(--radius-s);background:var(--surface-hover)}
.mtx__card--wide{grid-column:1/-1}
.mtx__h{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-8);margin:0 0 var(--space-16);font-size:1.125rem;line-height:1.75rem;font-weight:500}
.mtx__hint{font-size:.875rem;line-height:1.25rem;font-weight:400;color:var(--text-support)}
.an-intro{max-width:var(--measure-max);margin:0 0 var(--space-32);font-size:1.125rem;line-height:1.75rem;color:var(--text-support)}
.an-intro b{color:var(--text-primary)}
.mtx__desc{max-width:var(--measure-max);margin:0 0 var(--space-16);font-size:.875rem;line-height:1.25rem;color:var(--text-support)}
.mtx__desc b{color:var(--text-primary)}
.lead{margin:0 0 var(--space-16);max-width:var(--measure-max);color:var(--text-primary)}
.lead b{font-weight:500}
.howto{margin-top:var(--space-16);font-size:.75rem;line-height:1rem;color:var(--text-support)}
.howto b{font-weight:500;color:var(--text-primary)}
.mtx__note{margin-top:var(--space-8);font-size:.75rem;line-height:1rem;color:var(--text-support)}
.mtx__empty{font-size:.875rem;line-height:1.25rem;color:var(--text-support)}
.mtx__leg{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-8) var(--space-16);margin-top:var(--space-16);font-size:.75rem;line-height:1rem;color:var(--text-support)}
.mtx__leg span{display:inline-flex;align-items:center;gap:var(--space-8)}
.sw{width:8px;height:8px;display:inline-block;flex:none}
.sw--pop{background:var(--line-control)}
.sw--vote{background:var(--chart-series)}

/* curiosidades: cards tonais com ladrilho de ícone */
.curio{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-8)}
.curio li{display:flex;gap:var(--space-16);align-items:flex-start;padding:var(--space-16);border-radius:var(--radius-s);background:var(--surface-raised)}
.curio__ic{flex:none;width:var(--space-48);height:var(--space-48);border-radius:var(--radius-m);display:grid;place-items:center;background:color-mix(in srgb,var(--text-primary) calc(var(--area-veil) * 100%),transparent)}
.curio__ic svg{width:var(--space-24);height:var(--space-24);stroke:var(--text-primary);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;display:block}
.curio__tx{display:block;min-width:0;font-size:.875rem;line-height:1.25rem}
.curio__tx b{font-weight:500}
.curio__k{display:block;margin-bottom:var(--space-4);font-size:.75rem;line-height:1rem;font-weight:500;color:var(--text-support)}

/* barras: chapadas e retas na bancada, valor sempre escrito */
.bars{display:flex;flex-direction:column;margin-top:var(--space-8)}
#adm-part-area{margin-top:var(--space-16)}
.bar,.rep{display:grid;align-items:center;gap:var(--space-16);min-height:var(--touch-min);padding:0 var(--space-8);box-shadow:inset 0 -1px 0 var(--line-structure);font-size:.875rem;line-height:1.25rem;transition:background-color var(--duration-fast) var(--ease-dry)}
.bar{grid-template-columns:minmax(var(--space-96),28%) 1fr auto}
.rep{grid-template-columns:minmax(var(--space-96),20%) 1fr auto}
.bars .bar:hover,.bars .rep:hover{background:var(--surface-raised)}
.bar__lbl,.rep__lbl{color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar__track{position:relative;height:8px;background:var(--surface-raised);overflow:hidden}
.bar__fill{position:absolute;inset:0 auto 0 0;background:var(--chart-series)}
.bar__n{min-width:var(--space-24);text-align:right;font-variant-numeric:tabular-nums}
.bars .bar__n .bn__f{font-size:.75rem;line-height:1rem;color:var(--text-support)}
.bars .bar__n b{margin-left:var(--space-4)}
.rep__track{position:relative;height:var(--space-16);background:var(--surface-raised)}
.rep__pop{position:absolute;left:0;top:0;bottom:0;background:var(--line-control)}
.rep__vote{position:absolute;left:0;top:var(--space-4);bottom:var(--space-4);background:var(--chart-series)}
.rep__x{min-width:var(--space-48);text-align:right;font-variant-numeric:tabular-nums;color:var(--text-support)}
.rep__x.is-up,.rep__x.is-down{color:var(--text-primary);font-weight:500}
.gen__b{margin-bottom:var(--space-16)}
.gen__t{margin-bottom:var(--space-8);font-size:.875rem;line-height:1.25rem;color:var(--text-support)}
.gen__bar{display:flex;gap:var(--chart-gap);height:var(--space-16);overflow:hidden}
.gen__seg{display:block;height:100%}
.gen__seg.is-f{background:var(--chart-cat-1)}
.gen__seg.is-m{background:var(--chart-cat-2)}
.gen__seg.is-u{background:var(--line-control)}
.gen__n{margin-top:var(--space-8);font-size:.75rem;line-height:1rem;color:var(--text-support)}
.conc__row{display:flex;justify-content:space-between;align-items:center;min-height:var(--touch-min);box-shadow:inset 0 -1px 0 var(--line-structure)}
.conc__k{font-size:.875rem;line-height:1.25rem;color:var(--text-support)}
.conc__v{font-size:1.125rem;line-height:1.75rem;font-weight:500;font-variant-numeric:tabular-nums}

/* votos ao longo do tempo: linha chapada */
.tl__chart{margin-top:var(--space-16);padding:var(--space-24);border-radius:var(--radius-s);background:var(--surface-hover)}
.tl__sub{font-size:.75rem;line-height:1rem;color:var(--text-support)}
.tl__svg{width:100%;height:auto;display:block;margin-top:var(--space-8)}
.tl__grid{stroke:var(--line-structure)}
.tl__area{fill:color-mix(in srgb,var(--chart-line) calc(var(--area-veil) * 100%),transparent);stroke:none}
.tl__line{fill:none;stroke:var(--chart-line);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.tl__dot{fill:var(--chart-line);stroke:var(--surface-hover);stroke-width:1.5}
.tl__ytxt,.tl__xtxt{fill:var(--text-support);font-family:var(--font-sans)}
.tl__ytxt{font-size:12px}
.tl__xtxt{font-size:12px}
.tl__empty{padding:var(--space-24) 0;font-size:.875rem;line-height:1.25rem;color:var(--text-support)}

/* indicados */
.indic{display:flex;flex-direction:column;gap:var(--space-8)}
.indic__c{display:flex;flex-direction:column;gap:var(--space-8);padding:var(--space-24);border-radius:var(--radius-s);background:var(--platform-highlight);color:var(--platform-on-highlight)}
.indic__top{display:flex;gap:var(--space-16);align-items:center}
.indic__id{min-width:0}
.indic__ava{width:var(--space-48);height:var(--space-48);flex:none;border-radius:var(--radius-mark);overflow:hidden;display:grid;place-items:center;background:var(--surface-raised)}
.indic__ava img{width:100%;height:100%;object-fit:cover;display:block}
.indic__ava.ava--i{font-size:.875rem}
.indic__name{font-weight:500}
.indic__meta{font-size:.875rem;line-height:1.25rem;color:var(--platform-on-highlight-support)}
.indic__origin{display:inline-block;font-size:.75rem;line-height:1rem;color:var(--platform-on-highlight-support)}
.indic__ph{display:flex;gap:var(--space-8);align-items:center;flex-wrap:wrap}
.indic__phbtn,.indic__phrm,.indic__notebtn{display:inline-flex;align-items:center;min-height:var(--touch-min);padding:0 var(--space-16);border:0;border-radius:var(--radius-pill);background:transparent;color:var(--platform-on-highlight);font-size:.875rem;line-height:1.25rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background-color var(--duration-fast) var(--ease-dry)}
.indic__phbtn{box-shadow:inset 0 0 0 1px var(--line-strong)}
.indic__phbtn:hover,.indic__phrm:hover,.indic__notebtn:hover{background:var(--surface-raised)}
.indic__note{display:flex;gap:var(--space-8);margin-top:var(--space-8)}
.indic__notei{flex:1;min-width:0;min-height:var(--touch-min);padding:0 var(--space-16);border:0;border-radius:var(--radius-s) var(--radius-s) 0 0;background:var(--surface-raised);box-shadow:inset 0 -1px 0 var(--field-line);color:var(--text-primary);font-size:.875rem;line-height:1.25rem}
.indic__notei:focus{outline:0;box-shadow:inset 0 -2px 0 var(--platform-accent)}

/* tabelas de leitura */
.tablewrap{--g-table-top:calc(var(--bar-h) + var(--touch-min))}
/* o cabeçalho prende abaixo da faixa e da barra da votação; um contêiner com rolagem
   lateral viraria o contêiner do sticky e empurraria o cabeçalho para cima das linhas */
@media (max-width:900px){.tablewrap{overflow-x:auto;--g-table-top:0px}}
.tbl th,.tbl td{height:var(--table-row-reading);padding:0 var(--space-16);white-space:nowrap;text-align:left}
.tbl th{height:var(--table-header-reading)}
.tbl tbody tr:hover td{background:var(--surface-hover)}
.tbl tr.is-indic td:first-child{font-weight:500}
.tbl tr.is-indic td:first-child::before{content:"";display:inline-block;width:8px;height:8px;margin-right:var(--space-8);border-radius:var(--radius-mark);background:var(--platform-accent);vertical-align:.1em}
.tbl td.num{text-align:right;font-variant-numeric:tabular-nums}
.tbl td.rk-hi{font-weight:500}

/* sócios e popular: divergente, eixo no meio */
.dv{display:grid;grid-template-columns:minmax(var(--space-96),20%) 1fr 1fr;align-items:center;gap:0 var(--space-8);min-height:var(--touch-min);box-shadow:inset 0 -1px 0 var(--line-structure);font-size:.875rem;line-height:1.25rem}
.dv--head{min-height:0;padding-bottom:var(--space-8)}
.dv--head b{font-size:.8125rem;line-height:1rem;font-weight:500;color:var(--text-support)}
.dv__lbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dv__side{display:flex;align-items:center;height:var(--space-16);gap:var(--space-8)}
.dv__side--l{justify-content:flex-end;padding-right:var(--space-8);box-shadow:inset -1px 0 0 var(--line-strong)}
.dv__side--r{justify-content:flex-start;padding-left:var(--space-8)}
.dv__bar{height:100%;display:block;min-width:1px}
.dv__bar--pop{background:var(--chart-cat-2)}
.dv__bar--soc{background:var(--chart-cat-1)}
.dv__n{min-width:var(--space-16);text-align:center;font-size:.75rem;line-height:1rem;color:var(--text-support);font-variant-numeric:tabular-nums}
.champ{margin-left:var(--space-4);color:var(--platform-text)}

/* conquistas: pílulas pequenas */
.bdgs{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-8)}
.bdg{display:inline-flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-8);border-radius:var(--radius-pill);background:var(--surface-hover);color:var(--text-primary);font-size:.75rem;line-height:1rem;white-space:nowrap}
.bdg__ic{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.bdg--gold{background:var(--platform-highlight);color:var(--platform-on-highlight)}
.bdg--silver{background:var(--surface-raised)}
.indic__c .bdg{background:var(--surface-raised);color:var(--text-primary)}
.audit{margin-top:var(--space-32)}
.audit summary{display:inline-flex;align-items:center;min-height:var(--touch-min);cursor:pointer;font-size:.875rem;line-height:1.25rem;text-decoration:underline;text-underline-offset:3px}

/* =====================================================================
   APRESENTAÇÃO (vitrine, tela cheia na TV): palco escuro fixo do Arco nos dois temas.
   Sobre ele, só arc-on-base; o destaque é o tom de ação sobre superfície invertida.
   ===================================================================== */
.rvl{position:fixed;inset:0;width:100vw;height:100dvh;z-index:50;display:flex;flex-direction:column;overflow:hidden;background:var(--arc-base);color:var(--arc-on-base)}
.rvl__stage{flex:1;position:relative;z-index:1}
.rslide{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:var(--space-16);padding:var(--space-48);text-align:center;opacity:0;pointer-events:none;transition:opacity var(--duration-soft) var(--ease-soft)}
.rslide.is-on{opacity:1;pointer-events:auto}
.rslide > .luz{z-index:-1}
.luz--cupula{top:auto;height:58%;background:transparent}
.rslide:has(> .luz--cupula){align-content:start;padding-top:calc(var(--space-96) + var(--space-48))}
.rslide:has(> .luz--canelado){align-content:end;justify-items:start;text-align:left;padding:var(--space-96)}
.rslide > .luz--canelado{inset:0}
.rslide:has(> .luz--canelado) .rvl__sub{color:var(--arc-on-base)}
.rslide .rdbar__f{clip-path:inset(0 100% 0 0);transition:clip-path var(--duration-chart) var(--ease-reveal)}
.rslide.is-on .rdbar__f{clip-path:inset(0 0 0 0)}
.rslide.is-on .rdbar:nth-child(2) .rdbar__f{transition-delay:var(--stagger-chart)}
.rslide.is-on .rdbar:nth-child(3) .rdbar__f{transition-delay:calc(var(--stagger-chart) * 2)}
.rslide.is-on .rdbar:nth-child(4) .rdbar__f{transition-delay:calc(var(--stagger-chart) * 3)}
.rslide.is-on .rdbar:nth-child(5) .rdbar__f{transition-delay:calc(var(--stagger-chart) * 4)}
.rslide.is-on .rdbar:nth-child(6) .rdbar__f{transition-delay:calc(var(--stagger-chart) * 5)}
.rslide.is-on .rdbar:nth-child(7) .rdbar__f{transition-delay:calc(var(--stagger-chart) * 6)}
.rslide.is-on .rdbar:nth-child(8) .rdbar__f{transition-delay:calc(var(--stagger-chart) * 7)}
.rslide.is-on .rdbar:nth-child(9) .rdbar__f{transition-delay:calc(var(--stagger-chart) * 8)}
.rslide.is-on .rdbar:nth-child(10) .rdbar__f{transition-delay:calc(var(--stagger-chart) * 9)}
.rslide.is-on .rgc{animation:subir var(--duration-soft) var(--ease-reveal) both}
.rslide.is-on .rgc:nth-child(2){animation-delay:var(--stagger-arco)}
.rslide.is-on .rgc:nth-child(3){animation-delay:calc(var(--stagger-arco) * 2)}
.rslide.is-on .rgc:nth-child(4){animation-delay:calc(var(--stagger-arco) * 3)}
.rslide.is-on .rgc:nth-child(5){animation-delay:calc(var(--stagger-arco) * 4)}
.rslide.is-on .rgc:nth-child(6){animation-delay:calc(var(--stagger-arco) * 5)}
.rfin__ph{position:relative}
.rfin3__mid{position:relative}
.rslide.is-on .rfin3__mid::before,.rslide.is-on .rfin3__mid::after{content:"";position:absolute;left:50%;top:calc(var(--space-32) + var(--space-8));width:calc(var(--space-96) * 2.5);aspect-ratio:1;margin-left:calc(var(--space-96) * -1.25);border-radius:var(--radius-mark);box-shadow:0 0 0 2px var(--platform-inverse-accent);pointer-events:none;animation:eco calc(var(--duration-soft) * 2) var(--ease-soft) var(--duration-soft) both}
.rslide.is-on .rfin3__mid::after{animation-delay:calc(var(--duration-soft) + var(--stagger-arco) * 2)}
.rslide.is-on .ri{animation:subir var(--duration-soft) var(--ease-reveal) both}
.rslide.is-on .ri:nth-child(2){animation-delay:var(--stagger-chart)}
.rslide.is-on .ri:nth-child(3){animation-delay:calc(var(--stagger-chart) * 2)}
.rslide.is-on .ri:nth-child(4){animation-delay:calc(var(--stagger-chart) * 3)}
.rslide.is-on .ri:nth-child(5){animation-delay:calc(var(--stagger-chart) * 4)}
.rslide.is-on .ri:nth-child(6){animation-delay:calc(var(--stagger-chart) * 5)}
.rvl__kick{font-size:1.75rem;line-height:2rem;font-weight:500;letter-spacing:-0.03em;color:var(--platform-inverse-accent)}
.rvl__logo{display:flex;justify-content:center;color:var(--arc-on-base)}
.rvl__logo .logo-galeria{height:var(--space-24)}
.rvl__title{margin:0;font-size:4.5rem;line-height:4.5rem;font-weight:400;letter-spacing:-0.05em;text-wrap:balance}
.rvl__title--menor{font-size:3.5rem;line-height:3.5rem;letter-spacing:-0.04em}
.rvl__iso svg{width:calc(var(--space-96) + var(--space-48));height:auto;overflow:visible}
.rvl__iso .fa,.rvl__iso .fb,.rvl__iso .fc{fill:var(--platform-inverse-accent)}
.rvl__sub{max-width:var(--measure-max);font-size:1.75rem;line-height:2rem;letter-spacing:-0.03em;color:color-mix(in srgb,var(--arc-on-base) calc(var(--text-on-color) * 100%),transparent)}
.rvl__hint{position:absolute;bottom:var(--space-48);left:0;right:0;font-size:1rem;line-height:1.5rem;color:color-mix(in srgb,var(--arc-on-base) calc(var(--text-on-color) * 100%),transparent)}

/* curiosidade em destaque */
.rcur__k{display:inline-flex;align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-16);border-radius:var(--radius-pill);background:var(--platform-inverse-accent);color:var(--platform-on-inverse-accent);font-size:1.125rem;line-height:1.75rem;font-weight:500}
.rcur__k svg{width:var(--space-24);height:var(--space-24);stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.rcur__t{max-width:20ch;font-size:3.5rem;line-height:3.5rem;letter-spacing:-0.04em;text-wrap:balance}
.rcur__t b{font-weight:400;color:var(--platform-inverse-accent)}

/* finalista: conquistas · foto · narrativa */
.rfin{display:grid;justify-items:center;gap:var(--space-16)}
.rfin__ph{width:calc(var(--space-96) * 2.5);aspect-ratio:1;border-radius:var(--radius-mark);overflow:hidden;display:grid;place-items:center;background:color-mix(in srgb,var(--arc-on-base) calc(var(--area-veil) * 100%),transparent);box-shadow:0 0 0 var(--space-4) var(--arc-base),0 0 0 var(--space-8) var(--platform-inverse-accent)}
.rfin__ph img{width:100%;height:100%;object-fit:cover;display:block}
.rfin__ph.ava--i,.rgc__ph.ava--i,.rwin__ph.ava--i{background:var(--arc-on-base);color:var(--arc-base);font-weight:500}
.rfin__ph.ava--i{font-size:4.5rem;line-height:4.5rem}
.rfin__pos{font-size:1.75rem;line-height:2rem;letter-spacing:-0.03em;color:var(--platform-inverse-accent)}
.rfin__pos b{font-weight:500}
.rfin__name{margin:0;font-size:4.5rem;line-height:4.5rem;font-weight:400;letter-spacing:-0.05em;text-wrap:balance}
.rfin__area{font-size:1.75rem;line-height:2rem;letter-spacing:-0.03em;color:color-mix(in srgb,var(--arc-on-base) calc(var(--text-on-color) * 100%),transparent)}
.rfin__stats{display:flex;gap:var(--space-48);margin-top:var(--space-8)}
.rfin__stat b{display:block;font-size:3.5rem;line-height:3.5rem;font-weight:400;letter-spacing:-0.04em;font-variant-numeric:tabular-nums}
.rfin__stat span{font-size:1rem;line-height:1.5rem;color:color-mix(in srgb,var(--arc-on-base) calc(var(--text-on-color) * 100%),transparent)}
.rfin__bdgs{display:flex;flex-wrap:wrap;gap:var(--space-8);justify-content:center;max-width:40ch}
.rbdgs{display:flex;flex-wrap:wrap;gap:var(--space-8);justify-content:center;max-width:52ch}
.rbdg{display:inline-flex;align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-16);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--arc-on-base) calc(var(--area-veil) * 100%),transparent);text-align:left}
.rbdg svg{width:var(--space-24);height:var(--space-24);stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.rbdg b{font-size:1.125rem;line-height:1.75rem;font-weight:500}
.rbdg i{font-style:normal;font-size:.875rem;line-height:1.25rem;color:color-mix(in srgb,var(--arc-on-base) calc(var(--text-on-color) * 100%),transparent)}
.rbdg--gold{background:var(--platform-inverse-accent);color:var(--platform-on-inverse-accent)}
.rbdg--gold i{color:var(--platform-on-inverse-accent)}
.rfin__resumo{max-width:56ch;margin-top:var(--space-4);font-size:1rem;line-height:1.5rem;color:color-mix(in srgb,var(--arc-on-base) calc(var(--text-on-color) * 100%),transparent)}
.rnarr__appt{margin-bottom:var(--space-16);font-size:1.125rem;line-height:1.75rem;font-weight:500;color:var(--platform-inverse-accent)}
.rfin3{display:flex;flex-direction:column;align-items:center;gap:var(--space-16);width:min(calc(var(--measure-max) + var(--space-96)),100%)}
.rfin3__left{order:2}
.rfin3__left .rbdgs{flex-direction:row;flex-wrap:wrap;justify-content:center;max-width:none}
.rfin3__mid{order:1;display:grid;justify-items:center;gap:var(--space-8);min-width:0}
.rfin3__right{order:3;text-align:center;max-width:var(--measure-max)}
.rnarr__i{margin-bottom:var(--space-8);font-size:1.125rem;line-height:1.75rem;color:color-mix(in srgb,var(--arc-on-base) calc(var(--text-on-color) * 100%),transparent)}
.rnarr__nota{margin-bottom:var(--space-16);font-size:1.75rem;line-height:2rem;letter-spacing:-0.03em}

/* clímax do 1º lugar: um véu que acende e apaga, sem gradiente */
.rvl-flash{position:absolute;inset:0;z-index:2;pointer-events:none;background:color-mix(in srgb,var(--arc-mid) calc(var(--area-veil) * 100%),transparent);animation:flashfade var(--duration-arco) var(--ease-soft) forwards}
@keyframes flashfade{from{opacity:1}to{opacity:0}}
.confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:3}
.confetti i{position:absolute;top:-10vh;border-radius:var(--radius-pill);animation:confall linear forwards}
@keyframes confall{to{transform:translateY(122vh) rotate(680deg);opacity:0}}

/* a grade final: rostos clicáveis */
.rgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(calc(var(--space-96) * 2),1fr));gap:var(--space-32);width:min(calc(var(--measure-max) * 2),100%);align-items:start}
.rgc{display:grid;justify-items:center;align-content:start;gap:var(--space-8)}
.rgc__ph{width:calc(var(--space-96) * 2);aspect-ratio:1;border-radius:var(--radius-mark);overflow:hidden;display:grid;place-items:center;background:color-mix(in srgb,var(--arc-on-base) calc(var(--area-veil) * 100%),transparent);transition:box-shadow var(--duration-fast) var(--ease-dry)}
.rgc__ph img{width:100%;height:100%;object-fit:cover;display:block}
.rgc__ph.ava--i{font-size:2.5rem;line-height:2.75rem}
.rgc__nm{display:flex;align-items:center;justify-content:center;min-height:calc(var(--space-48) + var(--space-8));font-size:1.75rem;line-height:2rem;letter-spacing:-0.03em;text-align:center;text-wrap:balance}
.rgc__ar{font-size:1rem;line-height:1.5rem;color:color-mix(in srgb,var(--arc-on-base) calc(var(--text-on-color) * 100%),transparent)}
.rgc__votes{display:flex;gap:var(--space-16);justify-content:center;align-items:baseline;margin-top:var(--space-4);font-size:1rem;line-height:1.5rem;color:color-mix(in srgb,var(--arc-on-base) calc(var(--text-on-color) * 100%),transparent);font-variant-numeric:tabular-nums}
.rgc__votes b{margin-right:var(--space-4);font-size:1.75rem;line-height:2rem;font-weight:400;color:var(--platform-inverse-accent)}
.rgc__bdgs{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:center;margin-top:var(--space-4)}
.rgc .bdg{background:color-mix(in srgb,var(--arc-on-base) calc(var(--area-veil) * 100%),transparent);color:var(--arc-on-base)}
.rgc .bdg--gold{background:var(--platform-inverse-accent);color:var(--platform-on-inverse-accent)}
.rgc--pick{padding:0;border:0;background:transparent;color:inherit;cursor:pointer;border-radius:var(--radius-l)}
.rgc--pick:hover .rgc__ph{box-shadow:0 0 0 var(--space-4) var(--arc-base),0 0 0 var(--space-8) var(--platform-inverse-accent)}
.rgc--pick:active{transform:scale(var(--pressed-scale))}

/* deck de curiosidades da rodada */
.rdeck__big{max-width:22ch;font-size:3.5rem;line-height:3.5rem;letter-spacing:-0.04em;text-wrap:balance}
.rdeck__big b{font-weight:400;color:var(--platform-inverse-accent)}
.rdeck__x{width:min(calc(var(--measure-max) + var(--space-96)),100%);margin-top:var(--space-8)}
.rdeck__list{display:flex;flex-direction:column;text-align:left}
.rdeck__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-16);min-height:var(--table-row-reading);box-shadow:inset 0 -1px 0 var(--line-inverse)}
.rdeck__nm{display:flex;align-items:center;gap:var(--space-8);min-width:0;font-size:1.125rem;line-height:1.75rem}
.rdeck__note{font-size:1rem;line-height:1.5rem;color:var(--platform-inverse-accent);white-space:nowrap}
.rdeck__bars{display:flex;flex-direction:column;gap:var(--space-16);text-align:left}
.rdbar{display:grid;grid-template-columns:minmax(calc(var(--space-96) + var(--space-16)),26%) 1fr auto;align-items:center;gap:var(--space-16)}
.rdbar__l{font-size:1.125rem;line-height:1.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rdbar__t{position:relative;height:var(--space-16);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--arc-on-base) calc(var(--area-veil) * 100%),transparent);overflow:hidden}
.rdbar__f{position:absolute;inset:0 auto 0 0;border-radius:var(--radius-pill);background-image:linear-gradient(90deg,var(--chart-bar-base),var(--chart-bar-tip))}
.rdbar__n{min-width:var(--space-48);text-align:right;font-size:1.125rem;line-height:1.75rem;font-variant-numeric:tabular-nums}
.rdeck__chips{display:flex;flex-wrap:wrap;gap:var(--space-8);justify-content:center;max-width:min(calc(var(--measure-max) + var(--space-96)),100%);margin:var(--space-8) auto 0}
.rchip{padding:var(--space-8) var(--space-16);border-radius:var(--radius-pill);background:var(--platform-inverse-accent);color:var(--platform-on-inverse-accent);font-size:1rem;line-height:1.5rem}
.rchip--off{background:color-mix(in srgb,var(--arc-on-base) calc(var(--area-veil) * 100%),transparent);color:color-mix(in srgb,var(--arc-on-base) calc(var(--text-on-color) * 100%),transparent)}

/* o vencedor: a chamada final, com o Arco subindo do pé */
.rwin{position:absolute;inset:0;z-index:5;display:grid;place-items:center;text-align:center;padding:var(--space-48);background:var(--arc-base);animation:aparecer var(--duration-soft) var(--ease-soft) both;isolation:isolate}
.rwin > .luz{z-index:-1}
.rwin:has(> .luz){place-items:start center;padding-top:var(--space-64)}
.rwin > .luz--cupula{height:34%}
@keyframes aparecer{from{opacity:0}to{opacity:1}}
.rwin__in{display:grid;justify-items:center;gap:var(--space-16)}
.rwin__kick{font-size:1.75rem;line-height:2rem;font-weight:500;letter-spacing:-0.03em;color:var(--platform-inverse-accent);animation:subir var(--duration-soft) var(--ease-reveal) var(--stagger-chart) both}
.rwin__ph{width:calc(var(--space-96) * 3);aspect-ratio:1;border-radius:var(--radius-mark);overflow:hidden;display:grid;place-items:center;box-shadow:0 0 0 var(--space-8) var(--arc-base),0 0 0 var(--space-16) var(--platform-inverse-accent);animation:crescer var(--duration-arco) var(--ease-reveal) both}
@keyframes crescer{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}
.rwin__ph img{width:100%;height:100%;object-fit:cover;display:block}
.rwin__ph.ava--i{font-size:4.5rem;line-height:4.5rem}
.rwin__name{margin:0;font-size:4.5rem;line-height:4.5rem;font-weight:400;letter-spacing:-0.05em;animation:subir var(--duration-soft) var(--ease-reveal) calc(var(--stagger-chart) * 3) both}
.rwin__area{font-size:1.75rem;line-height:2rem;letter-spacing:-0.03em;color:var(--platform-inverse-accent);animation:subir var(--duration-soft) var(--ease-reveal) calc(var(--stagger-chart) * 4) both}
.rwin__nota{max-width:40ch;margin-top:var(--space-8);font-size:1.125rem;line-height:1.75rem;color:color-mix(in srgb,var(--arc-on-base) calc(var(--text-on-color) * 100%),transparent);animation:subir var(--duration-soft) var(--ease-reveal) calc(var(--stagger-chart) * 5) both}
.rwin__close{position:absolute;top:var(--space-24);right:var(--space-24)}

/* barra de controle da apresentação */
.rvl__bar{position:relative;z-index:6;display:flex;align-items:center;justify-content:center;gap:var(--space-16);padding:var(--space-16);box-shadow:inset 0 1px 0 var(--line-inverse);background:var(--arc-base)}
.rvl__btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-8);min-height:var(--touch-min);padding:0 var(--space-16);border:0;border-radius:var(--radius-pill);background:transparent;color:var(--arc-on-base);font-weight:500;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-dry)}
.rvl__btn:hover{background:color-mix(in srgb,var(--arc-on-base) calc(var(--area-veil) * 100%),transparent)}
.rvl__btn:active{transform:scale(var(--pressed-scale))}
.rvl__btn--ico{width:var(--touch-min);padding:0;border-radius:var(--radius-mark)}
.rvl__btn--ico svg{width:var(--space-24);height:var(--space-24);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rvl__btn--auto.is-on{background:var(--arc-on-base);color:var(--arc-base)}
.rvl__dots{display:flex;align-items:center;flex-wrap:wrap;justify-content:center}
/* o ponto é pequeno, o alvo não: 44px de altura em volta de cada um */
.rvl__dots i{display:flex;align-items:center;justify-content:center;min-height:var(--touch-min);padding:0 var(--space-4);cursor:pointer}
.rvl__dots i::before{content:"";display:block;width:8px;height:8px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--arc-on-base) calc(var(--step-inactive) * 100%),transparent);transition:width var(--duration-base) var(--ease-dry),background-color var(--duration-base) var(--ease-dry)}
.rvl__dots i.is-on::before{width:var(--space-24);background:var(--platform-inverse-accent)}

/* ---------------- celular ---------------- */
@media (max-width:900px){
  .winbar{position:static;padding:var(--space-8) var(--space-16)}
  .home{grid-template-columns:minmax(0,1fr);padding:var(--space-16) var(--space-16) 0}
  .home__lead,.home__luz{grid-column:1 / -1}
  .home__lead{padding:var(--space-16) 0 var(--space-32)}
  .home__h1{font-size:2.75rem;line-height:2.75rem}
  .home__luz{display:block;min-height:0;padding:calc(var(--space-96) + var(--space-64)) var(--space-16) 0;overflow:visible;border-radius:0}
  .home__luz > .luz{bottom:auto;height:calc(var(--space-96) * 2 + var(--space-24));border-radius:var(--radius-s)}
  .home__cartao{width:100%}
  .lw__btns .g-btn{flex:1 1 100%}
  .rodape{padding:var(--space-24) var(--space-16) var(--space-32)}

  .screen{padding:var(--space-32) var(--space-16) var(--space-96)}
  .msg__title{font-size:2.25rem;line-height:2.25rem}
  .ballot{padding:0 var(--space-16) calc(var(--space-96) + var(--space-96))}
  .ballot__progress,.onb__progress{top:calc(var(--bar-h-mobile) - 3px)}
  .ballot{padding-top:var(--space-32)}
  .step__title{font-size:2rem;line-height:2.25rem}
  .onb__title{font-size:2.25rem;line-height:2.25rem}
  .onb__pull{font-size:1.125rem;line-height:1.75rem;letter-spacing:0}
  /* no celular, tudo continua empilhado; o passo rola por dentro quando não cabe */
  .onb{padding:var(--space-24) var(--space-16) calc(var(--touch-min) + var(--space-96))}
  .onb__step{justify-content:flex-start}
  .onb__step--manifesto,.onb__step--grafico{display:flex}
  .onb__step--manifesto > .abertura{min-height:calc(var(--space-96) * 3)}
  .onb__step--criterios .onb__title,.onb__step--grafico .onb__title{font-size:2rem;line-height:2.25rem}
  .graph{width:auto}
  .mosaico__bloco--8,.mosaico__bloco--4,.tn__hero,.tn__socios{grid-column:1 / -1}
  .mosaico__bloco{min-height:0}
  .mosaico__numero--grande{font-size:2.75rem;line-height:2.75rem}
  .abertura__conteudo{padding:var(--space-24)}
  .abertura--horizonte{padding:var(--space-24);min-height:calc(var(--space-96) * 4)}
  .deslize{width:100%}
  .review__actions{flex-direction:column-reverse;align-items:stretch}
  .rslide:has(> .luz--canelado){padding:var(--space-48) var(--space-24)}
  .grid{grid-template-columns:minmax(0,1fr)}
  .onb__nav{flex-wrap:wrap;border-radius:var(--radius-l)}
  .onb__count{padding-left:var(--space-8)}
  .onb__dir{flex:1;justify-content:flex-end}
  .dock{flex-wrap:wrap;border-radius:var(--radius-l);padding:var(--space-16)}
  .dock > .g-btn,.popdock__btns{flex:1 1 100%}
  .popdock__btns .g-btn{flex:1}
  .anls,.mtx__grid{grid-template-columns:minmax(0,1fr);gap:var(--space-16)}
  .pa__area{width:auto;flex:1}
  .pa__track{display:none}

  .rslide{padding:var(--space-24);align-content:start;overflow-y:auto}
  .rvl__title,.rfin__name,.rwin__name{font-size:2.75rem;line-height:2.75rem}
  .rvl__title--menor,.rcur__t,.rdeck__big{font-size:2.25rem;line-height:2.25rem}
  .rfin__ph,.rwin__ph{width:calc(var(--space-96) * 2)}
  .rfin3{display:flex;flex-direction:column;align-items:center;gap:var(--space-16)}
  .rfin3__mid{order:-1}
  .rfin3__left .rbdgs{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;max-width:100%}
  .rfin3__right{text-align:center;max-width:100%}
  .rnarr__i{padding-left:0;box-shadow:none;text-align:center}
  .rvl__bar{gap:var(--space-8);padding:var(--space-8)}
  .rvl__btn--auto{display:none}
}

/* ---------------- movimento reduzido: tudo aparece pronto ---------------- */
@media (prefers-reduced-motion:reduce){
  .arco__a,.horizonte__faixa,.canelura__luz,.abertura__conteudo,.mosaico__bloco,.tn__hero,.tn__socios,.screen--luz .card--msg > *,.rslide.is-on .rgc,.home__cartao,.step,.onb__step,.intv__card,.rslide.is-on .ri,.rwin,.rwin__kick,.rwin__ph,.rwin__name,.rwin__area,.rwin__nota{animation:none}
  .cand,.cand::before,.crit__c,.toast,.rslide,.rvl__dots i::before,.winbar,.tn__dot,.onb__progress i{transition:none}
  .confetti,.rvl-flash,.cand.is-novo .cand__tick::before,.rslide.is-on .rfin3__mid::before,.rslide.is-on .rfin3__mid::after{display:none!important}
  .rslide .rdbar__f{clip-path:none;transition:none}
  .deslize__rastro,.deslize__rotulo,.deslize__botao{transition:none}
}
