/* Brasil Decifrado · Sistema visual 2026.
   Economia: referência de visualização; Checagem: referência editorial.
   Somente apresentação: não altera números, conteúdo, navegação ou dados. */
:root{
 --bd-bg:#101114;--bd-panel:#191a20;--bd-panel-raised:#202127;
 --bd-line:#373740;--bd-soft-line:#2d2e36;--bd-text:#f9f7f3;
 --bd-subtitle:#d3cfd6;--bd-muted:#bab5bf;--bd-red:#e82042;
 --bd-pink:#f29aaf;--bd-teal:#99d0bd;--bd-slate:#a49da9;
 --bd-radius:12px;--bd-shadow:0 14px 42px rgba(0,0,0,.12);
 --bd-easing:cubic-bezier(.2,.72,.25,1);
}
:where(.ec-page,.edu-page,.gp-page,.ps-page,.mv-page){font-feature-settings:"tnum" 1;-webkit-font-smoothing:antialiased}
:where(.ec-page,.edu-page,.gp-page,.ps-page,.mv-page) :is(h1,h2,h3){text-wrap:balance;overflow-wrap:break-word}
:where(.ec-page,.edu-page,.gp-page,.ps-page,.mv-page) :is(p,li){overflow-wrap:break-word}
:where(.ec-page,.edu-page,.gp-page,.ps-page,.mv-page) :is(a,button,input,select,summary):focus-visible,
:where(.masthead,.footer,.menu-dialog,.search-dialog) :is(a,button,input):focus-visible{
 outline:2px solid #ff9caf;outline-offset:3px;border-radius:4px
}
:where(.ec-page,.edu-page,.gp-page,.ps-page,.mv-page) :is(input,select,textarea){
 border:1px solid #52515e;border-radius:8px;background:#1f2027;color:var(--bd-text);min-height:44px;accent-color:var(--bd-red)
}
:where(.ec-page,.edu-page,.gp-page,.ps-page,.mv-page) :is(input,select,textarea):focus-visible{border-color:var(--bd-pink)}
:where(.ec-page,.edu-page,.gp-page,.ps-page,.mv-page) :is(.eyebrow,.mv-kicker){
 font-size:11px;font-weight:780;letter-spacing:.12em;line-height:1.5
}
/* Família única: ícones de traço, botões e navegação. */
.masthead-actions :is(button,a){border-radius:8px;transition:background-color .2s var(--bd-easing),color .2s var(--bd-easing)}
.masthead-actions svg,.gp-tab-icon svg,.home-door-icon svg{stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.masthead-actions svg{width:21px;height:21px}
.desktop-nav a{font-weight:600;letter-spacing:-.01em}
.footer-links :is(a,button){min-height:38px;display:inline-flex;align-items:center}
.menu-dialog nav a{min-height:48px;display:flex;align-items:center}
:where(.ec-page,.edu-page,.gp-page,.ps-page,.mv-page) :is(.ec-card,.gp-panel,.gp-stats article,.edu-chart-card,.edu-rank-card,.edu-learning-card,.edu-national-card,.ps-power-card,.ps-big-grid article,.mv-card){
 background:linear-gradient(150deg,#1c1d23 0%,#17181d 100%);
 border-color:var(--bd-line);border-radius:var(--bd-radius);box-shadow:var(--bd-shadow)
}
:where(.ec-page,.edu-page,.gp-page,.ps-page,.mv-page) :is(.ec-card,.gp-panel,.edu-chart-card,.ps-power-card,.mv-card){min-width:0}
:where(.ec-page,.edu-page,.gp-page,.ps-page,.mv-page) :is(.ec-card,.gp-panel,.edu-chart-card,.ps-power-card,.mv-card):focus-within{border-color:#725763}
:where(.ec-page,.edu-page,.gp-page,.ps-page,.mv-page) :is(.ec-card,.gp-panel,.edu-chart-card,.ps-section,.mv-section-heading) h2{letter-spacing:-.035em}
:where(.ec-page,.edu-page,.gp-page,.ps-page,.mv-page) :is(.ec-card>header p,.edu-section-heading>p,.gp-panel-head p,.ps-heading p){
 color:var(--bd-subtitle);font-size:13px;line-height:1.65
}
:where(.ec-page,.edu-page,.gp-page,.ps-page,.mv-page) :is(.ec-stat>span,.ec-stat>small,.gp-stats article>span,.gp-stats article>small,.gp-bar small,.ps-power-card>small,.ps-history small,.edu-national-card>p:not(.edu-ideb-number)){
 color:var(--bd-muted);font-size:12px;line-height:1.55
}
:where(.ec-page,.edu-page,.gp-page,.ps-page,.mv-page) :is(.ec-stat>strong,.gp-stats article>strong,.ps-power-card>strong,.ps-big-grid strong,.mv-hero-count strong){font-variant-numeric:tabular-nums;letter-spacing:-.045em}
/* Padrão de gráficos: grade com contraste, série principal rosa e comparação verde. */
.ec-chart,.edu-chart-card,.gp-year-strip,.gp-bars,.ps-history,.mv-chart{scrollbar-color:#655c68 transparent;scrollbar-width:thin}
.ec-chart svg,.edu-page .edu-chart,.gp-year-strip svg,.gp-bar svg,.ps-population-bars svg{shape-rendering:geometricPrecision}
.ec-chart .ec-baseline,.edu-grid-line{stroke:#494750;stroke-width:1}
.ec-chart .ec-trend{stroke:var(--bd-pink);stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.ec-chart rect,.ec-chart circle{fill:#b3697f}
.ec-chart .negative rect{fill:#df829b}
.ec-chart .selected rect,.ec-chart .selected circle{fill:#ffb0c0}
.ec-chart .selected text{fill:var(--bd-text)}
.ec-chart text{fill:#dad6df;font-weight:540}
.ec-chart .ec-axis,.ec-chart .ec-year{fill:#bcb6c1}
.ec-chart .ec-point{transition:opacity .18s var(--bd-easing)}
.ec-chart .ec-point:not(.selected){opacity:.9}
.ec-chart .ec-point:hover{opacity:1}
.ec-chart .ec-point:has(rect):hover rect{fill:var(--bd-pink)}
.edu-chart-legend{font-size:12px;color:var(--bd-subtitle);gap:12px 18px}
.edu-chart-legend i{width:18px;height:4px;border-radius:3px}
.edu-chart-legend>span:last-child i{background:var(--bd-teal)}
.edu-page .edu-chart text{fill:#d7d1da}
.edu-line-brazil{stroke:var(--bd-pink);stroke-width:3.4}
.edu-line-oecd{stroke:var(--bd-teal);stroke-width:2.8}
.edu-selected-line{stroke:#dba4b5;stroke-dasharray:4 5}
.edu-chart-card{scrollbar-gutter:stable}
.edu-learning-card .edu-bar{border-radius:5px;overflow:hidden}
.edu-learning-card .edu-bar>span{border-radius:inherit}
.gp-track,.ec-rank-track{fill:#383640}
.gp-fill,.gp-year[aria-current=true] .gp-year-fill{fill:var(--bd-pink)}
.gp-fill-negative,.gp-debt-changes .gp-year-fill-negative{fill:var(--bd-teal)}
.gp-year-fill{fill:#8d8190}
.gp-bar{border-radius:8px;transition:background-color .18s var(--bd-easing),border-color .18s var(--bd-easing)}
.gp-bar:hover,.gp-bar[aria-pressed=true]{background:#2b242d;border-color:#755060}
.gp-bar svg{height:13px;border-radius:4px}
.gp-year{border-radius:8px;transition:background-color .18s var(--bd-easing),color .18s var(--bd-easing)}
.gp-year:hover,.gp-year[aria-current=true]{background:#32252f;color:var(--bd-text)}
.gp-year strong{font-size:11px;color:var(--bd-subtitle)}
.gp-year[aria-current=true] strong{font-weight:760;color:#ffd1dc}
.gp-year>span{font-size:12px}
.ps-population-bars .ps-track{height:11px;border-radius:6px;overflow:hidden}
.ps-population-bars .ps-track svg{border-radius:6px}
.ps-history article{transition:background-color .18s var(--bd-easing)}
.ps-history article:hover{background:rgba(255,255,255,.03)}
.mv-chart{background:linear-gradient(145deg,#202027,#191a20);border-color:var(--bd-line);border-radius:var(--bd-radius)}
.mv-chart-rail{border-radius:5px;background:#38313a}
.mv-chart-rail i{background:linear-gradient(90deg,#b83b58,#f29aaf);border-radius:5px}
.mv-chart-row b{color:#ffe3ea;font-variant-numeric:tabular-nums}
/* Títulos, métricas, subtítulos e abas: proporções previsíveis. */
.ec-head h1{font-size:clamp(42px,5vw,62px);line-height:1.02}
.ec-tabs a,.gp-tabs a,.mv-tabs a,.edu-area-switch button,.edu-cycle-buttons button{
 transition:color .18s var(--bd-easing),background .18s var(--bd-easing),border-color .18s var(--bd-easing)
}
.ec-tabs a,.gp-tabs a,.mv-tabs a{font-weight:680}
.ec-tabs a[aria-current=page],.gp-tabs a[aria-current=page],.mv-tabs a[aria-current=page]{color:var(--bd-text)}
.mv-tabs small{font-size:12px}
.mv-card h2{letter-spacing:-.035em}
.mv-card p{color:var(--bd-subtitle);font-size:14px;line-height:1.7}
.mv-card-bottom{font-size:13px}
.mv-card-bottom a{color:#ffc1cf;text-underline-offset:3px}
.mv-card-bottom a:hover{text-decoration:underline}
.ps-power-card dl div,.edu-national-card dl>div{font-size:12px}
.gp-bar-heading strong{font-size:14px;line-height:1.45}
.gp-bar-heading>span{font-size:13px;color:#eac4cd}
.edu-section-heading .eyebrow,.edu-card-kicker>span{font-size:11px}
.edu-rank-card>a,.edu-section-source a,.edu-details>a,.edu-complementary a{font-size:12px;line-height:1.55;text-underline-offset:3px}
.edu-learning-card>p{font-size:13px;line-height:1.65}
.ps-table th{font-size:11px}
.ps-table td{font-size:12px}
.ps-table tr:hover td{background:rgba(255,255,255,.035)}
@media(hover:hover){
 .ec-card:hover,.gp-panel:hover,.edu-rank-card:hover,.edu-learning-card:hover,.ps-power-card:hover,.mv-card:hover{border-color:#49434d}
 .desktop-nav a:hover,.footer-links a:hover{color:var(--bd-text)}
 .masthead-actions :is(button,a):hover{background:#26262e}
}
@media(max-width:900px){
 .ec-grid,.gp-grid{gap:14px}
 .gp-stats{gap:12px}
 .gp-stats article{padding:19px 16px}
 .ps-hero p,.gp-intro p,.edu-hero>div>p{line-height:1.65}
}
/* Mobile: legibilidade, seletores confortáveis e gráficos horizontais, sem distorção. */
@media(max-width:760px){
 :root{--bd-radius:11px;--bd-shadow:none}
 .ec-page,.edu-page,.gp-page,.ps-page{padding-bottom:60px}
 .ec-head h1{font-size:clamp(42px,9vw,58px)}
 .gp-intro h1{font-size:clamp(37px,9vw,54px);line-height:1.04}
 .ps-hero h1{font-size:clamp(42px,10vw,66px)}
 .ec-card,.gp-panel,.edu-chart-card,.edu-rank-card,.edu-learning-card,.edu-national-card,.ps-power-card{border-radius:11px}
 .ec-chart{overflow-x:auto;overflow-y:hidden;max-width:100%;padding-bottom:10px;overscroll-behavior-inline:contain}
 .ec-chart svg{min-width:490px}
 .edu-chart-card{overflow-x:auto;overscroll-behavior-inline:contain}
 .edu-page .edu-chart{min-width:600px;max-width:none;width:600px;height:auto}
 .edu-chart-card .edu-area-switch{width:max-content;min-width:100%}
 .edu-chart-legend{min-width:580px}
 .gp-year-strip{overflow-x:auto;overscroll-behavior-inline:contain;gap:8px;padding-block:14px}
 .gp-year{min-width:72px;flex:0 0 72px;min-height:132px;padding:8px 5px}
 .gp-year>span,.gp-year strong{font-size:12px}
 .gp-bar{min-height:52px}
 .gp-bar-heading strong{font-size:14px}
 .gp-bars-small .gp-bar-heading strong{font-size:13px}
 .gp-tabs a,.ec-tabs a,.mv-tabs a{min-height:46px;font-size:13px}
 .gp-panel h2,.ec-card h2{font-size:clamp(19px,4vw,24px)}
 .gp-stats article>span,.gp-stats article>small{font-size:12px}
 .ps-power-card dl div,.ps-history small{font-size:12px}
 .ps-history article{border-bottom-color:#393840}
 .mv-wrap{width:calc(100% - 32px)}
 .mv-tabs a{min-height:48px;font-size:13px}
 .mv-card{padding:19px;min-height:0}
 .mv-chart{padding:20px 16px}
}
@media(max-width:480px){
 .ec-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
 .ec-tabs a{font-size:13px;min-height:50px}
 .ec-card,.gp-panel{padding:20px 16px}
 .ec-stats{gap:16px 12px}
 .ec-stat>strong{font-size:clamp(25px,7vw,34px)}
 .ec-stats>.ec-stat:first-child>strong{font-size:clamp(38px,10vw,48px)}
 .gp-stats article{gap:7px;padding:17px}
 .gp-stats article>strong{font-size:clamp(24px,6.5vw,30px)}
 .gp-year-picker select{min-height:44px;font-size:16px}
 .edu-rank-card,.edu-learning-card,.edu-national-card{padding:20px 17px}
 .edu-chart-card{padding:18px 14px}
 .edu-year-bar label,.edu-year-bar p strong,.edu-year-bar p span{font-size:12px}
 .edu-page .edu-chart{min-width:570px;width:570px}
 .edu-chart-legend{min-width:550px}
 .ps-big-grid article{padding:19px}
 .ps-big-grid span,.ps-big-grid small{font-size:12px}
 .ps-history article{padding:12px 0}
 .ps-history article strong{font-size:17px}
 .ps-table-wrap,.edu-table-wrap{overscroll-behavior-inline:contain}
 .mv-chart-row{grid-template-columns:38px minmax(0,1fr) 48px;gap:9px}
 .mv-chart-row b{font-size:18px}
 .mv-card h2{font-size:clamp(21px,6vw,27px)}
 .mv-hero p{font-size:16px}
}
@media(max-width:360px){
 .ec-card,.gp-panel,.mv-card{padding-inline:14px}
 .gp-tabs a{font-size:12px}
 .mv-tabs a{padding-inline:10px}
 .ps-hero-number>strong{white-space:normal;overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){
 .masthead-actions :is(button,a),.ec-chart .ec-point,.gp-bar,.gp-year,.ps-history article,
 .ec-tabs a,.gp-tabs a,.mv-tabs a,.edu-area-switch button,.edu-cycle-buttons button{transition:none!important}
}
@media(forced-colors:active){
 .gp-bar[aria-pressed=true],.gp-year[aria-current=true],.ec-tabs a[aria-current=page]{outline:1px solid Highlight}
}

/* Continuidade da identidade nas coleções editoriais e na home. */
.home-door-copy strong,.investigation-card h3,.governant-card h3{letter-spacing:-.035em}
.home-door-icon{border-radius:8px}
.home-door:focus-visible,.investigation-card:focus-within,.governant-card:focus-within{outline:2px solid #ff9caf;outline-offset:3px}
.governant-card{border-radius:12px;border-color:var(--bd-line)}
.investigation-card{border-bottom-color:var(--bd-line)}
.reader-page :is(a,button,summary):focus-visible{outline:2px solid #a9213c;outline-offset:3px}
.graph-viewport{scrollbar-color:#b5a69c transparent;scrollbar-width:thin}
@media(max-width:760px){
 .ec-chart::after{
  content:"Deslize para comparar os anos  →";display:block;width:max-content;
  color:var(--bd-muted);font-size:11px;letter-spacing:.03em;
  margin:7px 0 0;padding-left:2px;pointer-events:none
 }
 .edu-chart-card::after{
  content:"Deslize para explorar o gráfico  →";display:block;
  width:max-content;color:var(--bd-muted);font-size:11px;
  letter-spacing:.03em;margin-top:10px;pointer-events:none
 }
 .home-door{min-height:64px}
 .home-door-icon svg{stroke-width:1.75}
 .governant-card{border-radius:11px}
}
