/* Layout: masthead de gazeta, manchete larga, duas colunas Rio | São Paulo, faixa de prazos, quadro "estude em casa" e fontes no rodapé */
:root{
  --paper:#F3F5F2;        /* papel com leve viés verde */
  --sheet:#FFFFFF;
  --ink:#16233B;          /* azul-tinta */
  --muted:#56627A;
  --rule:#C9D0CB;
  --accent:#0E6B46;       /* verde-repartição */
  --accent-soft:#DCEDE4;
  --stamp:#B23A1E;        /* carimbo de prazo */
  --stamp-soft:#F6E3DC;
  --gold:#9A6B00;
  --yellow:#F2B705;
  --f-display:"Barlow Condensed", "Arial Narrow", Arial, sans-serif;
  --f-body:"Source Serif 4", Georgia, serif;
  --f-data:"IBM Plex Sans Condensed", "Arial Narrow", Arial, sans-serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#0F1513; --sheet:#151D1A; --ink:#E4EAE6; --muted:#9AA8A1; --rule:#2C3833;
    --accent:#5CC08F; --accent-soft:#183327; --stamp:#F08A6C; --stamp-soft:#3A1F17; --gold:#E0B44C; --yellow:#F2B705;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --paper:#0F1513; --sheet:#151D1A; --ink:#E4EAE6; --muted:#9AA8A1; --rule:#2C3833;
  --accent:#5CC08F; --accent-soft:#183327; --stamp:#F08A6C; --stamp-soft:#3A1F17; --gold:#E0B44C; --yellow:#F2B705;
  color-scheme:dark;
}
*{box-sizing:border-box}
body{background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.55;
  padding-left:max(16px, env(safe-area-inset-left, 0px));padding-right:max(16px, env(safe-area-inset-right, 0px));padding-block:24px 48px}
.wrap{max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:28px}
a{color:var(--accent);text-underline-offset:3px}
a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
h1,h2,h3{text-wrap:balance;margin:0}
p{margin:0}
.label{font-family:var(--f-data);font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:500}

/* Masthead */
.mast{background:var(--accent);color:#fff;padding:14px 20px 12px;display:flex;flex-direction:column;gap:6px;border-bottom:6px solid var(--yellow)}
.mast .label{color:color-mix(in srgb,#fff 80%,transparent)}
.mast-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.mast h1{font-family:var(--f-display);font-weight:800;font-size:clamp(42px,9vw,92px);line-height:.9;letter-spacing:-.01em;text-transform:uppercase}
.mast h1 em{font-style:normal;color:var(--yellow)}
.mast-bar{display:flex;flex-wrap:wrap;gap:6px 18px;font-family:var(--f-data);font-size:14px;color:color-mix(in srgb,#fff 85%,transparent);border-top:1px solid color-mix(in srgb,#fff 35%,transparent);padding-top:8px}
.mast-bar strong{color:#fff;font-weight:600}

/* Manchete */
.lead{display:grid;grid-template-columns:1.6fr 1fr;gap:28px;align-items:start}
.lead > *{min-width:0}
.lead h2{font-family:var(--f-display);font-weight:800;font-size:clamp(34px,5.4vw,60px);line-height:.98;text-transform:uppercase}
.lead h2 mark{background:none;color:var(--stamp)}
.lead .deck{font-size:19px;color:var(--muted);margin-top:12px}
.lead .body{display:flex;flex-direction:column;gap:12px;margin-top:16px;max-width:65ch}
.figures{background:var(--sheet);border-top:6px solid var(--yellow);padding:18px;display:flex;flex-direction:column;gap:14px}
.fig{display:flex;flex-direction:column;gap:2px;border-bottom:1px solid var(--rule);padding-bottom:12px}
.fig:last-child{border-bottom:0;padding-bottom:0}
.fig b{font-family:var(--f-display);font-weight:800;font-size:46px;line-height:1;font-variant-numeric:tabular-nums;color:var(--accent)}
.fig span{font-family:var(--f-data);font-size:14px;color:var(--muted)}

/* Prazos */
.deadlines{background:var(--stamp-soft);border-top:2px solid var(--stamp);padding:16px 18px;display:flex;flex-direction:column;gap:10px}
.deadlines h3{font-family:var(--f-display);font-size:22px;letter-spacing:.08em;text-transform:uppercase;color:var(--stamp);font-weight:600}
.dl-scroll{overflow-x:auto}
.dl{display:grid;grid-template-columns:repeat(4,minmax(190px,1fr));gap:10px}
.dl div{background:var(--sheet);padding:10px 12px;display:flex;flex-direction:column;gap:2px;font-family:var(--f-data);font-size:14px}
.dl .d{font-family:var(--f-display);font-size:30px;line-height:1;font-weight:600;color:var(--stamp);font-variant-numeric:tabular-nums}
.dl .n{color:var(--ink);font-weight:500}
.dl .s{color:var(--muted)}

/* Colunas */
.cols{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.cols > section{min-width:0;display:flex;flex-direction:column;gap:16px}
.sec-head{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--ink);padding:6px 12px}
.sec-head h2{font-family:var(--f-display);font-weight:800;font-size:28px;text-transform:uppercase;color:var(--paper);letter-spacing:.02em}
.sec-head .label{color:color-mix(in srgb,var(--paper) 75%,transparent)}
.story{display:flex;flex-direction:column;gap:6px;padding-bottom:16px;border-bottom:1px solid var(--rule)}
.story h3{font-family:var(--f-display);font-weight:700;font-size:27px;line-height:1.05}
.pay{font-family:var(--f-display);font-weight:800;font-size:34px;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}
.pay small{font-size:15px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-right:6px}
.facts{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-family:var(--f-data);font-size:13px;padding:2px 8px;background:var(--accent-soft);color:var(--accent);font-weight:500;white-space:nowrap}
.chip.warn{background:var(--stamp);color:#fff;font-weight:600}
.chip.plain{background:transparent;border:1px solid var(--rule);color:var(--muted)}
.tbl-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-family:var(--f-data);font-size:14.5px;font-variant-numeric:tabular-nums}
th{text-align:left;font-weight:600;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--ink);padding:6px 8px 6px 0}
td{border-bottom:1px solid var(--rule);padding:7px 8px 7px 0;vertical-align:top}
td:last-child,th:last-child{padding-right:0}
.status{font-size:12.5px;color:var(--gold);font-weight:600}

/* Nacional + editorial */
.band{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.band > *{min-width:0}
.editorial{display:flex;flex-direction:column;gap:12px;max-width:65ch}
.editorial h2{font-family:var(--f-display);font-weight:800;font-size:36px;line-height:1;text-transform:uppercase}
.editorial h2 em{color:var(--accent)}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pillars div{border-top:2px solid var(--accent);padding-top:8px;display:flex;flex-direction:column;gap:4px}
.pillars b{font-family:var(--f-data);font-size:14px;letter-spacing:.06em;text-transform:uppercase}
.pillars span{font-size:15px;color:var(--muted);line-height:1.45}

/* Estude em casa */
.home{border-top:8px solid var(--yellow);background:var(--ink);color:var(--paper);padding:26px;display:flex;flex-direction:column;gap:18px}
.home .label{color:color-mix(in srgb, var(--paper) 70%, transparent)}
.home h2{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:clamp(30px,4.4vw,46px);line-height:1.05}
.home > p{max-width:70ch;color:color-mix(in srgb, var(--paper) 85%, transparent)}
.schools{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.school{border:1px solid color-mix(in srgb, var(--paper) 25%, transparent);padding:18px;display:flex;flex-direction:column;gap:8px;min-width:0}
.school h3{font-family:var(--f-display);font-weight:800;font-size:34px;text-transform:uppercase;color:var(--yellow)}
.school .since{font-family:var(--f-data);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--paper) 65%, transparent)}
.school ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:15.5px}
.school a{color:var(--paper);font-family:var(--f-data);font-weight:600;font-size:15px;align-self:flex-start;border-bottom:2px solid var(--accent);text-decoration:none;padding-bottom:2px;margin-top:4px}
.school a:hover{border-bottom-color:var(--paper)}
.routine{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;font-family:var(--f-data);font-size:14.5px}
.routine div{display:flex;flex-direction:column;gap:2px;border-top:1px solid color-mix(in srgb, var(--paper) 30%, transparent);padding-top:8px}
.routine b{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--paper) 65%, transparent);font-weight:500}

/* Fontes */
.sources{border-top:3px double var(--ink);padding-top:14px;display:flex;flex-direction:column;gap:8px;font-family:var(--f-data);font-size:14px;color:var(--muted)}
.sources ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:3px}

@media (max-width:860px){
  .lead,.cols,.band,.schools{grid-template-columns:1fr}
  .routine{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){
  .pillars{grid-template-columns:1fr}
  .routine{grid-template-columns:1fr}
  .home{padding:20px 16px}
}
/* Seções em destaque: concursos abertos SP e RJ */
.open-sec{background:var(--sheet);border:1px solid var(--rule);border-top:8px solid var(--accent);padding:20px;display:flex;flex-direction:column;gap:18px}
.open-sec.rj{border-top-color:var(--stamp)}
.open-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 16px}
.open-head h2{font-family:var(--f-display);font-weight:800;font-size:clamp(30px,4.6vw,46px);line-height:.95;text-transform:uppercase}
.open-head h2 span{color:var(--accent)}
.open-sec.rj .open-head h2 span{color:var(--stamp)}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.tile{background:var(--paper);padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.tile b{font-family:var(--f-display);font-weight:800;font-size:34px;line-height:1;font-variant-numeric:tabular-nums}
.tile span{font-family:var(--f-data);font-size:13px;color:var(--muted)}
.chart{display:flex;flex-direction:column;gap:8px}
.chart-title{font-family:var(--f-data);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.bar{display:grid;grid-template-columns:minmax(120px,190px) 1fr;gap:10px;align-items:center;text-decoration:none;color:var(--ink);font-family:var(--f-data);font-size:14.5px}
.bar:hover .track i,.bar:focus-visible .track i{filter:brightness(1.12)}
.bar:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.bar .nm{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.track{position:relative;height:26px;background:var(--paper)}
.track i{position:absolute;inset:0 auto 0 0;background:var(--accent);display:block}
.open-sec.rj .track i{background:var(--stamp)}
.track i.temp{background:repeating-linear-gradient(135deg,var(--stamp) 0 8px,color-mix(in srgb,var(--stamp) 70%,var(--sheet)) 8px 14px)}
.track em{position:absolute;left:8px;top:50%;transform:translateY(-50%);font-style:normal;font-weight:600;font-size:13.5px;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.track em.out{color:var(--ink);text-shadow:none}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}
.card{border:1px solid var(--rule);background:var(--sheet)}
.card[open]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.open-sec.rj .card[open]{border-color:var(--stamp);box-shadow:0 0 0 1px var(--stamp)}
.card summary{list-style:none;cursor:pointer;padding:12px 14px;display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:start}
.card summary::-webkit-details-marker{display:none}
.card summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.card .t{font-family:var(--f-display);font-weight:700;font-size:23px;line-height:1.05}
.card .p{font-family:var(--f-display);font-weight:800;font-size:22px;color:var(--accent);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.open-sec.rj .card .p{color:var(--stamp)}
.card .meta{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.card .more{font-family:var(--f-data);font-size:12.5px;color:var(--muted);margin-left:auto}
.card .more::after{content:" ▾"}
.card[open] .more::after{content:" ▴"}
.card[open] .more{color:var(--ink)}
.detail{padding:0 14px 14px;display:flex;flex-direction:column;gap:10px}
.detail dl{margin:0;display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;font-family:var(--f-data);font-size:14.5px;border-top:1px solid var(--rule);padding-top:10px}
.detail dt{color:var(--muted);font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;padding-top:2px}
.detail dd{margin:0;font-variant-numeric:tabular-nums}
.detail p{font-size:15.5px}
.detail a.prep{align-self:flex-start;font-family:var(--f-data);font-weight:600;font-size:14.5px;color:#fff;background:var(--accent);padding:7px 12px;text-decoration:none}
.open-sec.rj .detail a.prep{background:var(--stamp)}
.soon{font-family:var(--f-data);font-size:14.5px;color:var(--muted);border-top:1px dashed var(--rule);padding-top:10px}
.soon b{color:var(--ink)}
.legend{font-family:var(--f-data);font-size:12.5px;color:var(--muted)}
@media (max-width:860px){.tiles{grid-template-columns:repeat(2,1fr)}.cards{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){.bar{grid-template-columns:1fr}.open-sec{padding:16px}}
/* ===== Novidades: navegação, buscador, calendário, quizzes, páginas ===== */
.topnav{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--ink);display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;padding:0 4px}
.topnav::-webkit-scrollbar{display:none}
.topnav a{color:var(--paper);text-decoration:none;font-family:var(--f-data);font-size:14px;font-weight:500;padding:10px 10px;white-space:nowrap}
.topnav a:hover,.topnav a:focus-visible{background:color-mix(in srgb,var(--paper) 15%,transparent);outline:none}
.mast-link{color:inherit;text-decoration:none}
.tool{display:flex;flex-direction:column;gap:14px;scroll-margin-top:56px}
.open-sec,.card,.agenda-day,#quizzes,#questao,#historias,#receba,#raio-x{scroll-margin-top:56px}
.intro{max-width:70ch;color:var(--muted)}
.btns{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.detail a.pg{font-family:var(--f-data);font-weight:600;font-size:14.5px;color:var(--ink);border:1px solid var(--ink);padding:6px 12px;text-decoration:none}
.cd{font-family:var(--f-data);font-size:12.5px;font-weight:600;color:var(--stamp);white-space:nowrap}
.cd.hoje,.semana .cd.hoje,.tk-track .cd.hoje,.sl-prazo .cd.hoje{background:#B23A1E;color:#fff;padding:1px 6px;border-radius:3px;font-weight:700}
/* buscador */
.filters{display:flex;flex-direction:column;gap:10px;background:var(--sheet);border:1px solid var(--rule);padding:14px}
.fgroup{display:grid;grid-template-columns:110px 1fr;gap:8px;align-items:start}
.flabel{font-family:var(--f-data);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-top:6px}
.fbtns{display:flex;flex-wrap:wrap;gap:6px}
.fbtn{font:500 14px var(--f-data);padding:5px 11px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);cursor:pointer}
.fbtn.on{background:var(--accent);border-color:var(--accent);color:#fff}
.fbtn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.fchk{font-family:var(--f-data);font-size:14.5px;display:flex;gap:8px;align-items:center}
.rcount{font-family:var(--f-data);font-size:15px}
.results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border-top:2px solid var(--ink)}
.res a{display:grid;grid-template-columns:2fr 1fr 1.3fr 1.2fr 1.3fr;gap:6px 12px;padding:10px 4px;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink);font-family:var(--f-data);font-size:14.5px;align-items:baseline}
.res a:hover{background:var(--sheet)}
.r-nm{font-weight:600;font-size:15.5px}
.r-uf,.r-esc{color:var(--muted)}
.r-sal{font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums}
.r-prazo{display:flex;gap:6px;flex-wrap:wrap}
/* calendário */
.cal-legend{display:flex;gap:14px;flex-wrap:wrap;font-family:var(--f-data);font-size:13.5px}
.lg::before{content:"";display:inline-block;width:10px;height:10px;margin-right:6px;vertical-align:0}
.lg.k-fim::before{background:var(--stamp)}.lg.k-ini::before{background:var(--gold)}.lg.k-prova::before{background:var(--accent)}
.months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.month h3{font-family:var(--f-display);font-weight:800;font-size:22px;text-transform:uppercase;margin-bottom:6px}
.month{min-width:0}
.grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;font-family:var(--f-data);font-variant-numeric:tabular-nums}
.dow{font-size:12px;color:var(--muted);text-align:center;padding:2px 0}
.day{aspect-ratio:1/1;max-width:100%;display:flex;align-items:center;justify-content:center;background:var(--sheet);font-size:14px;color:var(--ink);text-decoration:none;position:relative}
.day.empty{background:transparent}
.day.past{color:color-mix(in srgb,var(--muted) 60%,transparent)}
.day.today{outline:2px solid var(--ink);outline-offset:-2px;font-weight:700}
.day.has{font-weight:700;color:#fff}
.day.k-prova{background:var(--accent)}
.day.k-ini{background:var(--gold)}
.day.k-fim{background:var(--stamp)}
.day.k-fim.k-prova{background:linear-gradient(135deg,var(--stamp) 50%,var(--accent) 50%)}
.day.k-fim.k-ini{background:linear-gradient(135deg,var(--stamp) 50%,#F2B705 50%)}
a.day:hover{filter:brightness(1.12)}
.agenda{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.agenda-day{background:var(--sheet);border-left:4px solid var(--ink);padding:8px 12px;font-family:var(--f-data);font-size:14.5px}
.agenda-day:target{border-left-color:var(--stamp);box-shadow:0 0 0 2px var(--stamp)}
.agenda-day b{font-size:17px}
.agenda-day span{color:var(--muted)}
.agenda-day ul{margin:4px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:2px}
.agenda-day li .kd{font-size:12px;letter-spacing:.05em;text-transform:uppercase;font-weight:600}
.agenda-day li.k-fim .kd{color:var(--stamp)}.agenda-day li.k-ini .kd{color:var(--gold)}.agenda-day li.k-prova .kd{color:var(--accent)}
/* nível médio */
.mgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.mcard{background:var(--sheet);border:1px solid var(--rule);border-top:4px solid var(--gold);padding:12px 14px;display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--ink)}
.mcard:hover{border-color:var(--ink)}
.mcard b{font-family:var(--f-display);font-weight:700;font-size:23px;line-height:1.05}
.mcard .mm{font-family:var(--f-data);font-size:13.5px;color:var(--muted)}
/* quanto ganha */
.qgroup{display:flex;flex-direction:column;gap:6px}
.qgroup h3{font-family:var(--f-data);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--rule);padding-bottom:4px}
.qrow{display:grid;grid-template-columns:minmax(140px,240px) 1fr;gap:10px;align-items:center;font-family:var(--f-data);font-size:14.5px}
.qrow .nm{font-weight:600;min-width:0}
.track i.lv-fundamental{background:var(--gold)}.track i.lv-medio{background:var(--accent)}.track i.lv-superior{background:#2F4A78}
.track i.temp.lv-fundamental,.track i.temp.lv-superior,.track i.temp.lv-medio{background:repeating-linear-gradient(135deg,var(--stamp) 0 8px,color-mix(in srgb,var(--stamp) 70%,var(--sheet)) 8px 14px)}
/* raio-x */
.rx{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.rx > *{min-width:0}
.rx-bars{display:flex;flex-direction:column;gap:6px}
.rx-row{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:10px;align-items:center;font-family:var(--f-data);font-size:14.5px}
.steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:0;counter-reset:st}
.steps li{counter-increment:st;display:grid;grid-template-columns:30px 1fr;gap:10px;padding:7px 0;border-bottom:1px solid var(--rule);font-family:var(--f-data);font-size:14.5px}
.steps li::before{content:counter(st);font-family:var(--f-display);font-weight:800;font-size:20px;color:var(--accent);line-height:1}
.req{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.req div{background:var(--sheet);padding:10px 12px;font-family:var(--f-data);font-size:14px;display:flex;flex-direction:column;gap:2px}
.req b{font-family:var(--f-display);font-weight:800;font-size:24px;line-height:1}
/* quizzes e questão */
#quizzes{display:flex;flex-direction:column;gap:28px}
.quiz{background:var(--sheet);border:1px solid var(--rule);border-top:6px solid var(--yellow);padding:18px}
.qz{display:flex;flex-direction:column;gap:12px}
.qz fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.qz legend{font-weight:700;font-size:17px;margin-bottom:6px}
.qz label{display:flex;gap:10px;align-items:flex-start;padding:8px 12px;background:var(--paper);border:1px solid var(--rule);cursor:pointer;font-size:16px}
.qz label:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.qz input{margin-top:5px;accent-color:var(--accent)}
.qbtn{align-self:flex-start;font:600 16px var(--f-data);background:var(--accent);color:#fff;border:0;padding:10px 18px;cursor:pointer}
.qbtn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.qres{background:var(--paper);border-left:6px solid var(--accent);padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.qres h3{font-family:var(--f-display);font-weight:800;font-size:28px;text-transform:uppercase;line-height:1}
.qres ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.qres .why{font-family:var(--f-data);font-size:13.5px;color:var(--muted)}
.qres .again{font:500 14px var(--f-data);background:none;border:1px solid var(--ink);color:var(--ink);padding:6px 12px;cursor:pointer;align-self:flex-start}
.quiz-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.quiz-grid > *{min-width:0}
.qitem{background:var(--sheet);border:1px solid var(--rule);padding:18px;display:flex;flex-direction:column;gap:10px}
.qitem ol.alts{list-style:upper-alpha;margin:0;padding-left:26px;display:flex;flex-direction:column;gap:6px}
.qitem details summary{cursor:pointer;font-family:var(--f-data);font-weight:600;color:var(--accent)}
.qitem details p{margin-top:8px}
/* histórias e newsletter */
.forms2{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.forms2 > *{min-width:0}
.fbox{background:var(--sheet);border:1px solid var(--rule);padding:18px;display:flex;flex-direction:column;gap:10px}
.fbox.news{background:var(--accent);color:#fff;border-color:var(--accent)}
.fbox h2{font-family:var(--f-display);font-weight:800;font-size:30px;line-height:1;text-transform:uppercase}
.fbox form{display:flex;flex-direction:column;gap:8px}
.fbox label{font-family:var(--f-data);font-size:14px;display:flex;flex-direction:column;gap:4px}
.fbox input[type=text],.fbox input[type=email],.fbox input[type=tel],.fbox textarea,.fbox select{font:16px var(--f-body);padding:8px 10px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);width:100%}
.fbox .ok{font-family:var(--f-data);font-size:14px;display:flex;flex-direction:row;gap:8px;align-items:flex-start}
.fbox .ok input{margin-top:3px}
.fbox button{align-self:flex-start;font:600 16px var(--f-data);background:var(--ink);color:var(--paper);border:0;padding:10px 18px;cursor:pointer}
.fbox.news button{background:var(--yellow);color:#16233B}
.fbox .msg{font-family:var(--f-data);font-size:14.5px;font-weight:600}
.fbox.news p,.fbox.news label{color:#fff}
.hp{position:absolute;left:-9999px}
/* páginas internas */
.page .mast h1{font-size:clamp(34px,6vw,60px)}
.crumbs{font-family:var(--f-data);font-size:14px;color:var(--muted)}
.cpage{display:flex;flex-direction:column;gap:16px;max-width:860px}
.ctitle{font-family:var(--f-display);font-weight:800;font-size:clamp(32px,5vw,52px);line-height:1;text-transform:uppercase}
.status-box{font-family:var(--f-data);font-weight:600;padding:10px 14px}
.status-box.open{background:var(--accent-soft);color:var(--accent)}
.status-box.closed{background:var(--stamp-soft);color:var(--stamp)}
.cdl{margin:0;display:grid;grid-template-columns:max-content 1fr;gap:8px 18px;font-family:var(--f-data);font-size:15.5px;border-top:2px solid var(--ink);padding-top:12px}
.cdl dt{color:var(--muted);font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;padding-top:3px}
.cdl dd{margin:0}
.cta{background:var(--ink);color:var(--paper);padding:18px;display:flex;flex-direction:column;gap:10px}
.cta a.prep{align-self:flex-start;font-family:var(--f-data);font-weight:600;color:#fff;background:var(--accent);padding:9px 14px;text-decoration:none}
.aviso{font-family:var(--f-data);font-size:13.5px;color:var(--muted)}
.others ul,.arquivo ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.others li{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--rule);font-family:var(--f-data)}
.others h3{font-family:var(--f-display);font-weight:800;font-size:24px;text-transform:uppercase}
.arquivo{display:flex;flex-direction:column;gap:14px}
.arquivo li a{display:grid;grid-template-columns:130px 260px 1fr;gap:6px 14px;padding:12px 4px;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink);font-family:var(--f-data)}
.a-n{font-weight:700}.a-d{color:var(--muted)}.a-m{font-family:var(--f-body)}
@media (max-width:860px){
  .months,.agenda,.rx,.quiz-grid,.forms2{grid-template-columns:minmax(0,1fr)}
  .mgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .res a{grid-template-columns:1fr 1fr}
  .r-nm{grid-column:1 / -1}
  .arquivo li a{grid-template-columns:1fr}
  .req{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){
  .mgrid,.req{grid-template-columns:minmax(0,1fr)}
  .fgroup{grid-template-columns:1fr}
  .qrow,.rx-row{grid-template-columns:1fr}
}
/* testes por matéria */
.ttabs{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 4px}
.tbtn{font:600 14px/1.2 "IBM Plex Sans Condensed",sans-serif;border:1px solid var(--rule,#ccc);background:transparent;color:inherit;padding:8px 12px;border-radius:2px;cursor:pointer}
.tbtn span{opacity:.6;font-weight:400}
.tbtn.on{background:#0E6B46;border-color:#0E6B46;color:#fff}
.tdesc{font-style:italic;margin:10px 0}
.tq{border:0;border-top:1px solid var(--rule,#ddd);padding:12px 0;margin:0;min-width:0}
.tq legend{font-weight:600;padding:0;margin-bottom:6px;float:left;width:100%}
.tq legend+label{clear:both}
.treset{font:500 14px var(--f-data);background:none;border:1px solid var(--ink);color:var(--ink);padding:6px 12px;cursor:pointer}
.tq label{display:block;padding:6px 8px;margin:2px 0;border-radius:2px;cursor:pointer}
.tq label:hover{background:rgba(14,107,70,.07)}
.tq.done label{cursor:default}
.tq label.certo{background:rgba(14,107,70,.14);box-shadow:inset 3px 0 #0E6B46}
.tq label.errado{background:rgba(178,58,30,.12);box-shadow:inset 3px 0 #B23A1E}
.tfb{margin:8px 0 0;padding:8px 10px;background:rgba(242,183,5,.16);border-left:3px solid #F2B705}
.tscore{font-weight:600;margin:14px 0 8px}
.tcta{margin-top:16px}
/* simulador cronometrado */
.sim-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px}
.sim-card{border:1px solid var(--rule,#ccc);border-top:4px solid #0E6B46;padding:14px;display:flex;flex-direction:column;gap:6px;min-width:0}
.sim-card h3{margin:0;font:700 22px/1.1 "Barlow Condensed",sans-serif;text-transform:uppercase}
.sim-card p{margin:0}
.sim-meta b{font-size:18px}
.sim-mats{font-size:14px;opacity:.8;flex:1}
.sim-best{font-size:14px;font-weight:600;color:var(--accent);min-height:1em}
.sim-card .sim-go{align-self:flex-start;margin-top:6px}
.sim-bar{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;background:#0E6B46;color:#fff;padding:10px 14px;border-bottom:3px solid #F2B705;margin:8px 0 12px}
.sim-name{font:700 18px/1.1 "Barlow Condensed",sans-serif;text-transform:uppercase;flex:1 1 100%}
.sim-clock{font:700 30px/1 "IBM Plex Sans Condensed",sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.sim-clock.low{color:#fff;background:#B23A1E;padding:2px 8px}
.sim-prog{font-size:14px;flex:1}
.sim-bar .sim-send{font:600 14px "IBM Plex Sans Condensed",sans-serif;background:#F2B705;color:#1b1b1b;border:0;padding:8px 12px;cursor:pointer}
.sim-qs{list-style:none;padding:0;margin:0;counter-reset:none}
.sim-qs li{border-top:1px solid var(--rule,#ddd);padding:12px 0}
.sim-qs .sq-m{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;opacity:.7}
.sim-qs .sq-t{font-weight:600;margin:2px 0 6px}
.sim-qs label{display:block;padding:6px 8px;margin:2px 0;cursor:pointer;border-radius:2px}
.sim-qs label:hover{background:rgba(14,107,70,.07)}
.sim-qs label:has(input:checked){background:rgba(242,183,5,.2)}
.sim-run>.sim-send{margin-top:12px}
.sim-res h3{font:700 28px/1.1 "Barlow Condensed",sans-serif;text-transform:uppercase;margin:8px 0}
.sim-score{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:10px 0}
.sim-score div{border:1px solid var(--rule,#ccc);padding:10px}
.sim-score b{display:block;font:700 28px/1 "Barlow Condensed",sans-serif;color:var(--accent)}
.sim-score span{font-size:13px}
.sim-mat{margin:12px 0}
.sim-mat .row{display:grid;grid-template-columns:minmax(0,170px) minmax(0,1fr) 54px;gap:8px;align-items:center;margin:4px 0;font-size:14px}
.sim-mat .tr{height:12px;background:var(--rule);position:relative}
.sim-mat .tr i{position:absolute;inset:0 auto 0 0;background:var(--accent)}
.sim-mat .tr i.fraco{background:var(--stamp)}
.sim-rev details{border-top:1px solid var(--rule,#ddd);padding:8px 0}
.sim-rev summary{cursor:pointer;font-weight:600}
.sim-rev .ok{color:var(--accent)}.sim-rev .no{color:var(--stamp)}
.sim-res .acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.sim-res .acts button{font:600 14px "IBM Plex Sans Condensed",sans-serif;border:1px solid var(--ink,#222);background:none;color:inherit;padding:8px 12px;cursor:pointer}
.sim-res .acts .qbtn{background:#0E6B46;color:#fff;border-color:#0E6B46}
/* manchete: ver mais */
.lead .more{margin-top:14px}
.lead .more summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font:600 15px var(--f-data);text-transform:uppercase;letter-spacing:.06em;color:var(--paper);background:var(--accent);padding:9px 16px}
.lead .more summary::-webkit-details-marker{display:none}
.lead .more summary::after{content:"+";font-size:18px;line-height:1}
.lead .more[open] summary::after{content:"−"}
.lead .more .m-close,.lead .more[open] .m-open{display:none}
.lead .more[open] .m-close{display:inline}
.lead .more summary:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
/* chamada para quizzes e testes */
.chamada{background:#0E6B46;color:#fff;border-bottom:6px solid var(--yellow);padding:20px;display:flex;flex-direction:column;gap:14px}
.chamada .label{color:color-mix(in srgb,#fff 80%,transparent)}
.cham-head h2{font-family:var(--f-display);font-weight:800;font-size:clamp(26px,3.6vw,38px);line-height:1;text-transform:uppercase;margin-top:4px}
.cham-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cham{display:flex;flex-direction:column;gap:4px;background:color-mix(in srgb,#000 22%,transparent);color:#fff;text-decoration:none;padding:16px;border-top:4px solid var(--yellow);min-width:0}
.cham:hover{background:color-mix(in srgb,#000 35%,transparent)}
.cham-n{font:800 44px/1 var(--f-display);color:var(--yellow)}
.cham b{font:700 21px/1.1 var(--f-display);text-transform:uppercase}
.cham span:not(.cham-n){font-family:var(--f-data);font-size:14.5px;color:color-mix(in srgb,#fff 88%,transparent);flex:1}
.cham em{font:600 14px var(--f-data);font-style:normal;text-transform:uppercase;letter-spacing:.06em;margin-top:6px}
.cham em::after{content:" →"}
/* painel: o dia em números */
.painel{display:flex;flex-direction:column;gap:14px;scroll-margin-top:56px}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.kpi{background:var(--sheet);border:1px solid var(--rule);border-left:6px solid var(--accent);padding:12px 14px;display:flex;flex-direction:column;gap:2px;text-decoration:none;color:var(--ink);min-width:0}
.kpi.hot{border-left-color:var(--stamp)}
.kpi b{font:800 clamp(28px,3.4vw,40px)/1 var(--f-display);color:var(--accent)}
.kpi.hot b{color:var(--stamp)}
.kpi span{font-family:var(--f-data);font-size:13.5px;color:var(--muted)}
.pgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pbox{background:var(--sheet);border:1px solid var(--rule);padding:14px;display:flex;flex-direction:column;gap:6px;min-width:0}
.pbox.wide{grid-column:1/-1}
.pbox h3{font:700 19px/1.1 var(--f-display);text-transform:uppercase}
.pb-sub{font-family:var(--f-data);font-size:13px;color:var(--muted);margin-bottom:4px}
.pb-row{display:grid;grid-template-columns:minmax(0,1fr) 28px;grid-template-areas:"l v" "t t" "n n";gap:2px 6px;font-family:var(--f-data);font-size:13.5px;margin:3px 0}
.pb-l{grid-area:l}.pb-v{grid-area:v;text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.pb-t{grid-area:t;height:10px;background:var(--rule);position:relative}
.pb-t i{position:absolute;inset:0 auto 0 0;background:var(--accent)}
.pb-t i.gold{background:var(--gold,#C9971C)}
.pb-n{grid-area:n;font-size:12.5px;color:var(--muted)}
.split{height:22px;background:var(--stamp);position:relative;margin-top:6px}
.split i{position:absolute;inset:0 auto 0 0;background:var(--accent)}
.split-l{display:flex;justify-content:space-between;gap:8px;font-family:var(--f-data);font-size:13.5px;margin-top:6px}
.split-l span:last-child{text-align:right}
.semana{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:6px 18px;font-family:var(--f-data);font-size:14.5px}
.semana li{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--rule);padding-top:6px}
.semana a{color:var(--ink);text-decoration:none}
.semana a b{color:var(--stamp);margin-right:6px}
.semana .cd{white-space:nowrap;font-size:13px;color:var(--stamp);font-weight:600}
@media (max-width:900px){.pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.cham-cards{grid-template-columns:1fr}.cham{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:start}.cham-n{grid-row:1/4;font-size:38px}.pgrid{grid-template-columns:1fr}}
/* ===== ferramentas interativas ===== */
.ico{width:22px;height:22px;flex:none}
.grow{transition:width .9s cubic-bezier(.2,.7,.2,1)}
/* letreiro */
.ticker{display:flex;align-items:stretch;background:var(--sheet);border:1px solid var(--rule);overflow:hidden;font-family:var(--f-data);font-size:14px}
.tk-tag{background:var(--stamp);color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:12.5px;padding:8px 12px;display:flex;align-items:center;flex:none}
.tk-win{overflow:hidden;flex:1;min-width:0;position:relative}
.tk-track{display:flex;width:max-content;animation:tk 60s linear infinite}
.tk-track a,.tk-dup a{display:inline-flex;gap:6px;align-items:center;padding:8px 18px;color:var(--ink);text-decoration:none;white-space:nowrap;border-right:1px solid var(--rule)}
.tk-track b{color:var(--stamp)}
.tk-track .cd{color:var(--muted);font-size:12.5px}
.tk-dup{display:flex}
.ticker:hover .tk-track,.ticker:focus-within .tk-track{animation-play-state:paused}
@keyframes tk{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.tk-track{animation:none}.tk-win{overflow-x:auto}.tk-dup{display:none}}
/* carrossel */
.destaques{display:flex;flex-direction:column;gap:10px}
.dest-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.dest-head h2{font:800 26px/1 var(--f-display);text-transform:uppercase}
.sl-nav{display:flex;align-items:center;gap:6px}
.sl-nav button{border:1px solid var(--rule);background:var(--sheet);color:var(--ink);cursor:pointer}
.sl-prev,.sl-next{width:36px;height:36px;font-size:22px;line-height:1}
.sl-dot{width:12px;height:12px;border-radius:50%;padding:0}
.sl-dot.on{background:var(--accent);border-color:var(--accent)}
.sl-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:0}
.sl-track::-webkit-scrollbar{display:none}
.slide{flex:0 0 100%;scroll-snap-align:start;display:grid;grid-template-columns:auto 1fr;gap:18px;background:#16233B;color:#F3F5F2;--paper:#F3F5F2;padding:22px;border-left:8px solid var(--yellow);min-width:0}
.slide.rj{border-left-color:var(--stamp)}
.sl-ico{width:68px;height:68px;border-radius:50%;background:color-mix(in srgb,var(--paper) 12%,transparent);display:grid;place-items:center;color:var(--yellow)}
.sl-ico .ico{width:36px;height:36px}
.sl-txt{display:flex;flex-direction:column;gap:8px;min-width:0}
.slide .label{color:color-mix(in srgb,var(--paper) 70%,transparent)}
.slide h3{font:800 clamp(26px,3.4vw,38px)/1 var(--f-display);text-transform:uppercase}
.sl-nums{display:flex;flex-wrap:wrap;gap:6px 22px;font-family:var(--f-data);font-size:14px;color:color-mix(in srgb,var(--paper) 80%,transparent)}
.sl-nums b{display:block;font:800 28px/1.05 var(--f-display);color:var(--yellow)}
.sl-prazo{font-family:var(--f-data);font-size:14.5px}
.sl-prazo .cd{color:var(--yellow);font-weight:600;margin-left:6px}
.sl-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.sl-btn{background:var(--yellow);color:#1b1b1b;font:600 14px var(--f-data);text-transform:uppercase;letter-spacing:.05em;padding:9px 14px;text-decoration:none}
.slide .fav{border:1px solid color-mix(in srgb,var(--paper) 40%,transparent);color:var(--paper);background:none}
/* favoritos */
.fav{font:600 13px var(--f-data);border:1px solid var(--rule);background:var(--sheet);color:var(--ink);padding:6px 10px;cursor:pointer;white-space:nowrap}
.fav.on{background:var(--yellow);border-color:var(--yellow);color:#1b1b1b}
.res{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--rule)}
.res a{flex:1;min-width:0;border-bottom:0}
.res .fav{flex:none;margin-right:4px}
.r-nm{display:flex;gap:8px;align-items:center}
.r-nm .ico{color:var(--accent);width:20px;height:20px}
.meus-lista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.meus-lista li{background:var(--sheet);border:1px solid var(--rule);border-top:4px solid var(--yellow);padding:12px;display:flex;flex-direction:column;gap:6px;font-family:var(--f-data);font-size:14px;min-width:0}
.meus-lista a{color:var(--ink);text-decoration:none;display:flex;flex-direction:column}
.meus-lista a b{font-size:16px}
.meus-lista a span{color:var(--muted)}
.meus-cd{color:var(--accent);font-weight:600}
.meus-cd.urg{color:var(--stamp)}
.meus-lista .fav{align-self:flex-start}
.meus-vazio{font-family:var(--f-data);color:var(--muted)}
/* comparador */
.cmp-sels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cmp-sels label,.calc label,.plano-f label{display:flex;flex-direction:column;gap:4px;font:600 13px var(--f-data);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);min-width:0}
.cmp-sels select,.calc select,.calc input,.plano-f select,.plano-f input,.rk-head select,.rk-form input{font:16px var(--f-data);padding:8px;border:1px solid var(--rule);background:var(--sheet);color:var(--ink);width:100%;min-width:0;text-transform:none;letter-spacing:0}
.cmp-scroll{overflow-x:auto}
.cmp-t{min-width:520px}
.cmp-t th,.cmp-t td{padding:8px 10px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
.cmp-t thead th{background:var(--ink);color:var(--paper);font-weight:600}
.cmp-t thead a{color:var(--paper)}
.cmp-t tbody th{color:var(--muted);font-weight:500;white-space:nowrap}
.cmp-t small{color:var(--muted)}
.best{background:var(--accent-soft);color:var(--accent);font-weight:700;padding:1px 6px}
.cmp-leg{font-family:var(--f-data);font-size:13px;color:var(--muted);margin-top:6px}
/* calculadora */
.calc{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.calc-out{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:10px 24px;align-items:start}
.calc-big{background:var(--accent);color:#fff;padding:16px;display:flex;flex-direction:column;gap:2px;grid-row:span 2}
.calc-big .label{color:color-mix(in srgb,#fff 80%,transparent)}
.calc-big b{font:800 clamp(38px,5vw,56px)/1 var(--f-display)}
.calc-big span:last-child{font-family:var(--f-data);font-size:14px}
.calc-bar{display:flex;height:26px;background:var(--rule)}
.calc-bar i,.calc-dl i{display:block}
.calc-bar .l,.calc-dl i.l{background:var(--accent)}.calc-bar .p,.calc-dl i.p{background:var(--gold,#C9971C)}.calc-bar .r,.calc-dl i.r{background:var(--stamp)}
.calc-dl{display:flex;flex-direction:column;font-family:var(--f-data);font-size:15px}
.calc-dl div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--rule);padding:5px 0}
.calc-dl dt{display:flex;align-items:center;gap:6px}
.calc-dl i{width:12px;height:12px}
.calc-dl .tot{font-weight:700;font-size:16.5px}
.calc-ano{grid-column:1/-1;font-family:var(--f-data)}
/* plano */
.plano-f{display:grid;grid-template-columns:2fr 1.2fr 1fr 1fr auto;gap:10px;align-items:end}
.plano-out{display:flex;flex-direction:column;gap:12px}
.pl-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pl-kpis div,.prog-kpis div{background:var(--sheet);border:1px solid var(--rule);padding:10px 12px;display:flex;flex-direction:column;font-family:var(--f-data);font-size:13.5px;color:var(--muted)}
.pl-kpis b,.prog-kpis b{font:800 32px/1 var(--f-display);color:var(--accent)}
.pl-linha{display:flex;height:34px;font:600 13px var(--f-data);color:#fff}
.pl-linha i{display:flex;align-items:center;padding:0 8px;overflow:hidden;white-space:nowrap;min-width:0}
.pl-linha .f0,.pl-fase.f0{--fc:#0E6B46}.pl-linha .f1,.pl-fase.f1{--fc:#B8860B}.pl-linha .f2,.pl-fase.f2{--fc:#B23A1E}
.pl-linha i{background:var(--fc)}
.pl-fase{border-left:6px solid var(--fc);background:var(--sheet);padding:12px 14px}
.pl-fase h3{font:700 20px/1.1 var(--f-display);text-transform:uppercase}
.pl-fase h3 small{font:500 13px var(--f-data);color:var(--muted);text-transform:none;margin-left:6px}
.pl-fase p{margin:4px 0 8px;font-size:15.5px}
.pl-fase ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 18px;font-family:var(--f-data);font-size:14px}
.pl-fase li{display:flex;justify-content:space-between;border-bottom:1px dotted var(--rule);padding:3px 0}
.pl-sub{font:700 19px var(--f-display);text-transform:uppercase}
.pl-semana{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:6px}
.pl-dia{background:var(--sheet);border:1px solid var(--rule);border-top:3px solid var(--accent);padding:8px;display:flex;flex-direction:column;gap:3px;font-family:var(--f-data);font-size:13px}
.pl-acts{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-family:var(--f-data)}
.plano-out .again,.rk-form button,.share button,.share a{font:600 14px var(--f-data);border:1px solid var(--ink);background:none;color:var(--ink);padding:7px 12px;cursor:pointer;text-decoration:none}
/* progresso e medalhas */
.prog-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.medalhas{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.med{border:1px dashed var(--rule);padding:10px;display:flex;flex-direction:column;gap:2px;font-family:var(--f-data);font-size:13px;color:var(--muted);opacity:.7}
.med b{font-size:14.5px}
.med-ico{font-size:24px;line-height:1;color:var(--rule)}
.med.on{opacity:1;border:1px solid var(--yellow);background:color-mix(in srgb,var(--yellow) 12%,var(--sheet));color:var(--ink)}
.med.on .med-ico{color:var(--yellow)}
.med.nova{animation:pop .6s ease 2}
@keyframes pop{50%{transform:scale(1.06)}}
.ranking{border-top:2px solid var(--ink);padding-top:10px}
.rk-head{display:flex;justify-content:space-between;align-items:end;gap:10px;flex-wrap:wrap}
.rk-head h3{font:700 21px var(--f-display);text-transform:uppercase}
.rk-head label{font:600 13px var(--f-data);display:flex;flex-direction:column;gap:3px}
.rk-lista{list-style:none;margin:8px 0;padding:0;font-family:var(--f-data);font-size:15px}
.rk-lista li{display:grid;grid-template-columns:40px minmax(0,1fr) 60px 64px;gap:8px;padding:6px 4px;border-bottom:1px solid var(--rule);align-items:center}
.rk-lista li:nth-child(-n+3) .rk-pos{color:var(--stamp);font-weight:700}
.rk-lista li.rk-vazio{display:block;color:var(--muted)}
.rk-lista b{color:var(--accent);text-align:right}
.rk-t{color:var(--muted);text-align:right;font-size:13px}
.rk-nota{font-family:var(--f-data);font-size:13px;color:var(--muted)}
.rk-form{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin-top:12px;border-top:1px solid var(--rule);padding-top:10px}
.rk-form label{display:flex;flex-direction:column;gap:3px;font:600 13px var(--f-data);flex:1 1 220px}
.rk-msg{flex-basis:100%;font-family:var(--f-data);font-weight:600;color:var(--accent);margin:0}
.share{margin-top:12px;border-top:1px solid var(--rule);padding-top:10px;display:flex;flex-direction:column;gap:6px}
.share-b{display:flex;flex-wrap:wrap;gap:8px}
.share .sh-img{background:var(--accent);border-color:var(--accent);color:#fff}
.share .sh-zap{border-color:#1F8B4C;color:#1F8B4C}
.toast{position:fixed;left:50%;bottom:calc(20px + var(--tn,0) * 58px);transform:translateX(-50%);background:var(--ink);color:var(--paper);font:600 15px var(--f-data);padding:12px 18px;border-left:6px solid var(--yellow);z-index:50;box-shadow:0 6px 24px rgba(0,0,0,.25);max-width:calc(100vw - 32px);transition:opacity .5s}
.toast.out{opacity:0}
/* mapa */
.mapa-wrap{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:14px}
#mapa-leaflet{height:440px;border:1px solid var(--rule);background:var(--sheet);z-index:0}
.mapa-side{display:flex;flex-direction:column;gap:8px;font-family:var(--f-data);font-size:14px;min-width:0}
.mapa-dica{color:var(--muted);font-size:13.5px}
.mapa-lista,.mapa-fora{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.mapa-lista button{width:100%;text-align:left;background:var(--sheet);border:1px solid var(--rule);border-left:5px solid var(--accent);padding:8px 10px;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;font:inherit}
.mapa-lista li.rj button{border-left-color:var(--stamp)}
.mapa-lista button span{color:var(--muted);font-size:13px}
.mapa-side h3{font:700 17px var(--f-display);text-transform:uppercase;margin-top:6px}
.mapa-fora li{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--rule);padding:4px 0}
.mapa-fora span{color:var(--muted)}
.leaflet-popup-content{font-family:var(--f-data);font-size:14px}
.leaflet-popup-content .pop{border-top:1px solid #ddd;padding-top:4px;margin-top:4px}
/* enquete */
.enq-q{font:700 22px/1.2 var(--f-body)}
.enq-ops{display:flex;flex-direction:column;gap:8px}
.enq-op{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;text-align:left;padding:12px 14px;background:var(--sheet);border:1px solid var(--rule);color:var(--ink);font:600 16px var(--f-data);cursor:pointer;overflow:hidden}
.enq-op:hover:not(:disabled){border-color:var(--accent)}
.enq-t{position:relative;z-index:1}
.enq-bar{position:absolute;inset:0;z-index:0}
.enq-bar i{position:absolute;inset:0 auto 0 0;width:0;background:var(--accent-soft);transition:width .8s ease}
.enq-op.meu{border-color:var(--accent)}
.enq-op.meu .enq-bar i{background:color-mix(in srgb,var(--accent) 30%,transparent)}
.enq-p{position:relative;z-index:1;font-weight:700;color:var(--accent)}
.enq-op:disabled{cursor:default}
.enq-tot{font-family:var(--f-data);font-size:14px;color:var(--muted)}
/* fotos */
.lead-img{margin:16px 0 0}
.lead-img img{width:100%;aspect-ratio:16/8;object-fit:cover;display:block;background:var(--sheet)}
.lead-img figcaption,.home-img figcaption{font-family:var(--f-data);font-size:12.5px;color:var(--muted);margin-top:4px}
.home-img{margin:0}
.home-img img{width:100%;aspect-ratio:16/6;object-fit:cover;display:block}
.home-img figcaption{color:color-mix(in srgb,var(--paper) 65%,transparent)}
@media (max-width:900px){.calc{grid-template-columns:repeat(2,minmax(0,1fr))}.calc-out{grid-template-columns:1fr}.calc-big{grid-row:auto}.plano-f{grid-template-columns:repeat(2,minmax(0,1fr))}.mapa-wrap{grid-template-columns:1fr}#mapa-leaflet{height:360px}}
@media (max-width:640px){.cmp-sels{grid-template-columns:1fr}.slide{grid-template-columns:1fr;padding:18px}.sl-ico{width:52px;height:52px}.pl-kpis,.prog-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.calc{grid-template-columns:1fr}.plano-f{grid-template-columns:1fr}.res .fav{padding:6px 8px;font-size:12px}}
@media print{.topnav,.ticker,.destaques,.chamada,.painel,body *{visibility:hidden}#plano,#plano *{visibility:visible}#plano{position:absolute;left:0;top:0;width:100%}.plano-f,.pl-acts{display:none}}
#mapa-leaflet.mapa-escuro .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.9) contrast(.9)}
.vm{display:inline-block;font-family:var(--f-data);font-size:12.5px;font-weight:500;letter-spacing:.02em;color:var(--muted);text-decoration:none;white-space:nowrap}
a.vm:hover,a:hover>.vm{color:var(--accent);text-decoration:underline}
.fig .vm{align-self:flex-start;margin-top:4px}.kpi .vm,.mcard .vm{margin-top:4px}
.qrow .nm .vm{font-size:11.5px}
/* SEO: nome do jornal nas páginas internas (não é o h1), navegação entre edições e rodapé com mapa do site */
.mast .mast-name{font-family:var(--f-display);font-weight:800;font-size:clamp(34px,6vw,60px);line-height:.9;letter-spacing:-.01em;text-transform:uppercase}
.mast .mast-name em{font-style:normal;color:var(--yellow)}
.ed-nav{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:24px auto 0;max-width:1180px;font-family:var(--f-data);font-size:15px}
.ed-nav a{color:var(--accent);font-weight:600;text-decoration:none}
.site-foot{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin:28px auto 0;max-width:1180px;padding:14px 0 6px;border-top:1px solid var(--rule);font-family:var(--f-data);font-size:14px}
.site-foot a{color:var(--muted);text-decoration:none}
.site-foot a:hover,.ed-nav a:hover{text-decoration:underline}
.sobre p,.sobre li{max-width:70ch;margin-top:10px}
.sobre h2{font-family:var(--f-display);font-weight:800;font-size:28px;text-transform:uppercase;margin-top:26px}
