/* viradalula.com design system, loaded last on every page.
   Concept: a fact-checker's desk. White paper, black ink, wide Archivo for headlines, Source Serif for reading,
   square edges, heavy rules instead of cards, and a highlighter yellow for the figure that matters.
   Red and blue stay reserved for Lula/PT and Flávio/PL in the data. */
:root{
  --paper:#ffffff; --panel:#f2f2ee; --ink:#0d0d0c; --ink-2:#3a3a37; --muted:#6c6c66; --hair:#dcdcd5; --axis:#b9b9b1;
  --mark:#ffe03d; --mark-ink:#0d0d0c;
  --lula:#c8283a; --flavio:#2a5fb8;
  --key-confirma:#1d8a4a; --key-corrige:#e2611a;
  --sans:"Archivo","Helvetica Neue",Arial,system-ui,sans-serif;
  --read:"Source Serif 4","Iowan Old Style",Georgia,serif;
  --mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;
  /* tokens the older pages already use, re-pointed */
  --ground:var(--paper); --surface:var(--panel); --rule:var(--hair); --display:var(--sans); --body:var(--sans);
  --ballot:#f2c200; --focus:var(--ink); --mid:#e7e7e1;
  --pt:var(--lula); --opp:var(--flavio);
  --bg:var(--paper); --gold:#f2c200; --red:var(--lula); --blue:var(--flavio);
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --paper:#0e0e0d; --panel:#1a1a18; --ink:#f3f3ee; --ink-2:#c9c9c2; --muted:#94948c; --hair:#2e2e2b; --axis:#4a4a45;
    --mark:#ffd60a; --mark-ink:#0d0d0c; --lula:#ec5562; --flavio:#6b9bf0; --ballot:#ffd60a; --gold:#ffd60a; --mid:#33332f;
    --key-confirma:#22a157; --key-corrige:#f07330;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --paper:#0e0e0d; --panel:#1a1a18; --ink:#f3f3ee; --ink-2:#c9c9c2; --muted:#94948c; --hair:#2e2e2b; --axis:#4a4a45;
  --mark:#ffd60a; --mark-ink:#0d0d0c; --lula:#ec5562; --flavio:#6b9bf0; --ballot:#ffd60a; --gold:#ffd60a; --mid:#33332f;
  --key-confirma:#22a157; --key-corrige:#f07330;
}

/* ---------- base ---------- */
html{background:var(--paper)}
body{background:var(--paper)!important;color:var(--ink);font-family:var(--sans)!important;font-feature-settings:"ss01" 0;-webkit-font-smoothing:antialiased}
*,*::before,*::after{border-radius:0!important;box-shadow:none!important}
:focus-visible{outline:3px solid var(--ink)!important;outline-offset:3px}
::selection{background:var(--mark);color:var(--mark-ink)}
h1,h2,h3,h4{font-family:var(--sans)!important;letter-spacing:-.018em;text-wrap:balance}
h1{font-weight:800!important;font-stretch:118%;line-height:.94!important}
h2{font-weight:750!important;font-stretch:108%;line-height:1.02!important}
h3,h4{font-weight:700!important;font-stretch:100%;line-height:1.1!important}
p,li,blockquote,dd,figcaption{font-family:var(--read)}
nav p,nav li,button,label,select,input,table,th,td,.eyebrow,[class*="legend"] *,[class*="chip"],[class*="pill"],[class*="badge"],[class*="tag"]{font-family:var(--sans)}
p{font-optical-sizing:auto}
.lede,.cf-lede{font-family:var(--read)!important;font-size:clamp(18px,1.6vw,21px)!important;line-height:1.5!important;color:var(--ink-2)!important}
.eyebrow{font:600 12.5px/1.3 var(--sans)!important;letter-spacing:.02em!important;text-transform:none!important;color:var(--ink)!important}
a{text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{text-decoration-color:var(--ink)}
mark,.mark{background:linear-gradient(transparent 12%,var(--mark) 12%,var(--mark) 88%,transparent 88%);color:var(--mark-ink);padding:0 .12em}
button{font-family:var(--sans)!important}
input,select,textarea{border-radius:0!important;font-family:var(--sans)!important}
table{font-variant-numeric:tabular-nums}

/* ---------- site header (both header markups used on the site) ---------- */
.sitenav,header.top{position:sticky;top:0;z-index:70;display:flex!important;align-items:center;gap:8px 28px!important;flex-wrap:wrap;
  min-height:0!important;padding:calc(12px + env(safe-area-inset-top,0px)) max(20px,calc((100vw - 1320px)/2)) 12px!important;
  background:var(--paper)!important;border-bottom:3px solid var(--ink)!important;backdrop-filter:none!important}
.sitenav .brand,header.top .brand{font:800 24px/1 var(--sans)!important;font-stretch:125%!important;letter-spacing:-.03em!important;color:var(--ink)!important;text-decoration:none;white-space:nowrap;text-transform:lowercase!important;display:inline-flex;align-items:baseline;min-height:0!important}
.sitenav .brand b,header.top .brand b{color:var(--lula)!important;font-weight:800}
.sitenav nav,header.top nav{display:flex!important;flex-wrap:wrap;gap:4px 22px!important;flex:1;align-items:center;order:0!important;flex-basis:auto!important;overflow:visible!important}
.sitenav nav a,header.top nav a{font:500 15px/1.2 var(--sans)!important;color:var(--ink)!important;text-decoration:none!important;padding:6px 0!important;min-height:0!important;background:none!important;border:0!important;display:inline-block!important;white-space:nowrap}
.sitenav nav a:hover,header.top nav a:hover{text-decoration:underline!important;text-decoration-thickness:2px!important}
.sitenav nav a[aria-current],header.top nav a[aria-current]{font-weight:700!important;background:linear-gradient(transparent 58%,var(--mark) 58%,var(--mark) 92%,transparent 92%)!important;box-shadow:none!important}
.sitenav .lg,header.top .lang,header.top .sitelang{display:flex!important;gap:0;border:2px solid var(--ink)!important;overflow:hidden;font:700 12.5px/1 var(--sans)!important;background:none!important}
.sitenav .lg a,.sitenav .lg span,header.top .lang>*,header.top .sitelang>*{padding:7px 10px!important;min-width:0!important;min-height:0!important;text-decoration:none;color:var(--ink)!important;background:var(--paper)!important;font:700 12.5px/1 var(--sans)!important}
.sitenav .lg span,header.top .lang>[aria-current],header.top .sitelang>[aria-current]{background:var(--ink)!important;color:var(--paper)!important}
@media (max-width:640px){
  .sitenav,header.top{display:flex!important;flex-wrap:wrap!important;padding:calc(10px + env(safe-area-inset-top,0px)) 16px 8px!important;gap:8px 12px!important}
  .sitenav .brand,header.top .brand{font-size:21px!important;order:0!important}
  .sitenav .lg,header.top .lang,header.top .sitelang{order:1!important;margin-left:auto!important;width:auto!important;flex:none!important}
  .sitenav nav,header.top nav{order:3!important;flex-basis:100%!important;display:flex!important;flex-wrap:wrap!important;gap:2px 16px!important;width:100%}
  .sitenav nav a,header.top nav a{font-size:14.5px!important;padding:4px 0!important}
}

/* ---------- panels: flat blocks, no outlines ---------- */
[class*="card"],[class*="panel"],[class*="box"]:not([class*="checkbox"]):not([class*="combobox"]),.strip>*,.rail{border-color:var(--hair)!important}
.sitenav .lg button{border:0;background:var(--paper)!important;color:var(--ink)!important;padding:7px 10px!important;min-height:0!important;font:700 12.5px/1 var(--sans)!important;cursor:pointer}
.sitenav .lg button[aria-pressed="true"]{background:var(--ink)!important;color:var(--paper)!important}
/* 404 */
body>h1:first-child{margin:18vh auto 12px;max-width:900px;padding:0 20px;font-size:clamp(40px,7vw,88px)}
body>h1:first-child+p{max-width:900px;margin:0 auto;padding:0 20px;font:500 18px var(--sans)}

/* the deck's claim card stays a dark block in both themes */
:root{--front:#141413;--front-ink:#f3f3ee;--front-mute:#b4b4ac}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--front:#1d1d1b;--front-ink:#f3f3ee;--front-mute:#b4b4ac}}
:root[data-theme="dark"]{--front:#1d1d1b;--front-ink:#f3f3ee;--front-mute:#b4b4ac}
