/* Confere. Layout: a newspaper-style desk. The intro is a headline, a big question field and a numbered list
   of checks; each answer is a "checagem": the question as a headline, the answer in serif with highlighted
   figures, the visuals, and the data lookups printed beside it as a boletim-de-urna receipt.
   Tokens come from /assets/theme.css (loaded after this file). */
[hidden]{display:none!important}
.cf-page{margin:0}
.cf{max-width:1240px;margin:0 auto;padding-inline:24px;padding-block:44px 120px;display:grid;gap:56px}
body.cf-chat .cf{padding-bottom:calc(var(--cf-composer-height, 220px) + 48px)}

/* ---------- intro ---------- */
.cf-intro{display:grid;gap:26px}
.cf-kicker{margin:0;font:600 15px/1.3 var(--sans);color:var(--ink);display:flex;align-items:center;gap:10px}
.cf-kicker::before{content:"";width:28px;height:4px;background:var(--ink)}
.cf-intro h1{margin:0;font-size:clamp(46px,8.2vw,124px);max-width:13ch}
.cf-intro h1 mark{padding:0 .06em}
.cf-lede{margin:0;max-width:58ch}
.cf-ask-slot{margin-top:6px}
.cf-facts{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:3px solid var(--ink)}
.cf-facts li{display:grid;gap:4px;padding:16px 18px 4px 0;border-right:1px solid var(--hair);padding-left:18px}
.cf-facts li:first-child{padding-left:0}
.cf-facts li:last-child{border-right:0}
.cf-facts b{font:800 clamp(28px,3.2vw,44px)/1 var(--sans);font-stretch:112%;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.cf-facts span{font:400 15px/1.35 var(--read);color:var(--ink-2)}
.cf-starters-wrap{display:grid;gap:14px}
.cf-starters-wrap h2{margin:0;font-size:clamp(26px,2.6vw,36px)}
.cf-starters{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;border-top:3px solid var(--ink)}
.cf-starters li{border-bottom:1px solid var(--ink)}
.cf-starter{width:100%;display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:baseline;gap:4px 14px;padding:18px 4px 18px 0;background:none;border:0;text-align:left;cursor:pointer;color:var(--ink)}
.cf-n{font:800 24px/1 var(--sans);font-stretch:112%;color:var(--muted);font-variant-numeric:tabular-nums}
.cf-starter-q{font:400 19px/1.38 var(--read);text-wrap:pretty}
.cf-starter-k{font:600 12.5px/1 var(--sans);color:var(--ink-2);white-space:nowrap;padding:5px 7px;border:1.5px solid var(--ink)}
.cf-starter:hover .cf-n,.cf-starter:focus-visible .cf-n{background:var(--mark);color:var(--mark-ink)}
.cf-starter:hover .cf-starter-q{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.cf-starter:disabled{cursor:default}
.cf-note{margin:0;color:var(--muted);font-size:15px;max-width:70ch}

/* ---------- the question field (in the intro, and as a bottom band during a conversation) ---------- */
.cf-composer{margin:0}
.cf-composer-in{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:12px}
.cf-input{display:flex;align-items:stretch;min-width:0;gap:0;border:3px solid var(--ink);background:var(--paper)}
.cf-input textarea{flex:1;min-width:0;box-sizing:border-box;border:0!important;background:transparent;resize:none;outline:none;color:var(--ink);font:400 21px/1.4 var(--sans)!important;padding:18px 18px;max-height:200px}
.cf-input textarea::placeholder{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cf-input:focus-within{outline:3px solid var(--mark);outline-offset:0}
/* voting-machine keys: CONFIRMA green, CORRIGE orange, black lettering */
.key{flex:none;border:0;padding:0 22px;font:800 17px/1 var(--sans)!important;font-stretch:112%;letter-spacing:.04em;text-transform:uppercase;color:#0d0d0c;cursor:pointer;border-left:3px solid var(--ink)!important;border-bottom:5px solid rgba(0,0,0,.28)!important}
.key:active{border-bottom-width:2px!important;padding-top:3px}
.key.confirma{background:var(--key-confirma)}
.key.corrige{background:var(--key-corrige)}
.key:disabled{filter:grayscale(.6);opacity:.55;cursor:not-allowed}
.cf-types{display:flex;flex-wrap:wrap;align-items:center;gap:4px 2px;font:500 14px/1.2 var(--sans);color:var(--ink-2)}
.cf-types span{font-weight:700;color:var(--ink);margin-right:8px}
.cf-types button{background:none;border:0;padding:5px 7px;font:500 14px/1.2 var(--sans);color:var(--ink-2);cursor:pointer}
.cf-types button:hover{color:var(--ink);text-decoration:underline}
.cf-types button[aria-pressed="true"]{color:var(--mark-ink);background:var(--mark);font-weight:700}
.cf-fine{margin:0;font:400 13px/1.4 var(--sans)!important;color:var(--muted)}
.cf-fine .short{display:none}
.cf-offline{margin:0;padding:12px 16px;background:var(--panel);border-left:5px solid var(--key-corrige);font:500 15px/1.4 var(--sans)!important}

/* during a conversation the field becomes a bottom band */
body.cf-chat .cf-composer{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--paper);border-top:3px solid var(--ink);padding:14px 24px calc(12px + env(safe-area-inset-bottom,0px))}
body.cf-chat .cf-composer-in{max-width:1192px;margin:0 auto;gap:8px}
body.cf-chat .cf-input textarea{font-size:18px!important;padding:13px 16px}
body.cf-chat .cf-types{font-size:13px}
body.cf-chat .cf-types button{font-size:13px;padding:4px 6px}
body.cf-chat .cf-fine .long{display:none}
body.cf-chat .cf-fine .short{display:inline}

/* ---------- a checagem (one exchange) ---------- */
.cf-log{display:grid;gap:72px}
.cf-log:empty{display:none}
.cf-turn{display:grid;gap:22px;border-top:3px solid var(--ink);padding-top:16px;scroll-margin-top:84px}
.cf-turn-h{display:grid;gap:10px}
.cf-turn-n{font:700 14px/1 var(--sans);color:var(--ink);display:flex;gap:12px;align-items:baseline}
.cf-turn-n time{font-weight:500;color:var(--muted);font-variant-numeric:tabular-nums}
.cf-q{margin:0;font:750 clamp(26px,3.3vw,44px)/1.04 var(--sans);font-stretch:108%;letter-spacing:-.018em;white-space:pre-wrap;overflow-wrap:anywhere;max-width:30ch;text-wrap:balance}
.cf-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px 48px;align-items:start}
.cf-main{display:grid;gap:28px;min-width:0}
.cf-a{max-width:66ch;font:400 19px/1.62 var(--read);color:var(--ink)}
.cf-a:empty{display:none}
.cf-a p{margin:0 0 .85em}
.cf-a p:first-child{font-size:22px;line-height:1.45;font-weight:500}
.cf-a ul,.cf-a ol{margin:0 0 1em;padding-left:1.1em}
.cf-a li{margin:.35em 0;padding-left:.2em}
.cf-a ul li::marker{content:"–  ";color:var(--ink)}
.cf-a strong{font-weight:600}
.cf-a .cf-source{margin-top:1.2em;padding-top:10px;border-top:1px solid var(--ink);font:500 13.5px/1.5 var(--sans)!important;color:var(--ink-2)}
.cf-error{margin:0;padding:12px 16px;background:var(--panel);border-left:5px solid var(--key-corrige);font:500 15px/1.45 var(--sans)}
.cf-retry{margin:12px 0 20px;min-height:44px;max-width:100%;padding:10px 16px;border:1px solid var(--ink);border-radius:6px;background:var(--panel);color:var(--ink);font:600 15px/1.3 var(--sans);cursor:pointer}
.cf-retry:focus-visible{outline:3px solid var(--key-confirma);outline-offset:3px}
.cf-retry:disabled{opacity:.5;cursor:wait}

/* Saved chats and private data controls. A native dialog traps focus on phones too. */
.cf-history-bar{display:flex;align-items:center;gap:8px;margin:0 0 8px;min-width:0;font:500 13px/1.3 var(--sans)}
.cf-history-bar button{min-height:44px;padding:8px 12px;max-width:100%;border:1px solid var(--axis);border-radius:5px;background:var(--panel);color:var(--ink);font:inherit;cursor:pointer}
.cf-history-bar .cf-history-open{font-weight:700;border-color:var(--ink)}
.cf-history-bar .cf-history-status{margin-left:auto;border:0;background:transparent;text-align:right;max-width:48%;padding-right:0;font-size:12px;color:var(--ink-2)}
.cf-history-notice{margin:8px 0 0!important;font:400 11.5px/1.45 var(--sans);color:var(--ink-2)}
.cf-history-manage{border:0;background:none;color:inherit;text-decoration:underline;font:inherit;padding:3px 0;cursor:pointer}
.cf-history-dialog{box-sizing:border-box;width:min(640px,calc(100% - 24px));max-height:88svh;margin:auto;padding:24px;color:var(--ink);background:var(--bg);border:2px solid var(--ink);border-radius:12px;overflow:auto;overscroll-behavior:contain}
.cf-history-dialog::backdrop{background:rgba(0,0,0,.65);backdrop-filter:blur(2px)}
.cf-history-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 8px}
.cf-history-head h2{margin:0;font:700 28px/1.15 var(--display);letter-spacing:-.025em}
.cf-history-dialog button{min-height:44px;padding:8px 12px;border:1px solid var(--axis);border-radius:5px;background:var(--panel);color:var(--ink);font:500 14px/1.35 var(--sans);cursor:pointer}
.cf-history-dialog .cf-history-close{font-size:26px;min-width:44px;padding:3px}
.cf-history-description,.cf-history-message{font:400 14px/1.5 var(--sans);margin:8px 0 16px;color:var(--ink-2)}
.cf-history-dialog .cf-history-create{font-weight:700;border-color:var(--key-confirma);margin:0 0 12px}
.cf-history-list{list-style:none;padding:0;margin:0}
.cf-history-item{padding:16px 0;border-top:1px solid var(--axis);overflow-wrap:anywhere}
.cf-history-dialog .cf-history-select{display:block;width:100%;padding:0;border:0;background:none;text-align:left;min-height:44px}
.cf-history-title{display:block;font:600 17px/1.4 var(--sans);margin-bottom:5px}
.cf-history-meta{display:block;font:400 11.5px/1.45 var(--mono);color:var(--ink-2)}
.cf-history-item.current .cf-history-title::before{content:'● ';color:var(--key-confirma);font-size:11px;vertical-align:2px}
.cf-history-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.cf-history-dialog .cf-history-delete{color:var(--ink);border-color:var(--key-corrige)}
.cf-history-confirm{background:var(--panel);border-left:4px solid var(--key-corrige);padding:12px;margin-top:12px;font:500 14px/1.4 var(--sans)}
.cf-history-confirm p{margin:0 0 10px}.cf-history-confirm button{margin:0 8px 6px 0}
.cf-history-more{margin:16px 0}
.cf-history-privacy{border-top:1px solid var(--axis);padding-top:16px;margin-top:20px;font:400 13px/1.6 var(--sans);color:var(--ink-2)}
.cf-history-privacy summary{font-weight:600;cursor:pointer;min-height:32px}.cf-history-privacy p{margin:10px 0}
.cf-feedback{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:20px 0 0;font:400 12.5px/1.4 var(--sans);color:var(--ink-2)}
.cf-feedback button{min-height:44px;padding:8px 12px;background:var(--panel);color:var(--ink);border:1px solid var(--axis);border-radius:6px;font:500 12.5px/1.3 var(--sans);cursor:pointer}
.cf-feedback button[aria-pressed=true]{border-color:var(--key-confirma);box-shadow:inset 0 0 0 1px var(--key-confirma)}
.cf-history-dialog button:focus-visible,.cf-history-bar button:focus-visible,.cf-history-manage:focus-visible,.cf-feedback button:focus-visible{outline:3px solid var(--key-confirma);outline-offset:3px}
.cf-history-bar button:disabled,.cf-history-dialog button:disabled{opacity:.5;cursor:wait}
@media(max-width:420px){.cf-history-dialog{padding:16px}.cf-history-head h2{font-size:24px}.cf-history-bar{gap:4px}.cf-history-bar button{padding:8px}.cf-history-bar .cf-history-status{max-width:40%;font-size:11px}.cf-feedback>span{flex-basis:100%}}

/* the receipt: data lookups printed like a boletim de urna */
.cf-receipt{position:sticky;top:84px;background:var(--panel);padding:16px 16px 20px;font:400 12.5px/1.55 var(--mono);color:var(--ink);margin-bottom:10px}
.cf-receipt::after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:9px;pointer-events:none;background:linear-gradient(135deg,var(--panel) 50%,transparent 50%) 0 0/14px 9px repeat-x,linear-gradient(225deg,var(--panel) 50%,transparent 50%) 0 0/14px 9px repeat-x}
.cf-receipt h3{margin:0 0 2px;font:600 12.5px/1.3 var(--mono)!important;font-stretch:100%!important;letter-spacing:.08em!important;text-align:center;text-transform:uppercase}
.cf-receipt .sub{text-align:center;color:var(--muted);font-size:11.5px}
.cf-trace{list-style:none;margin:10px 0 0;padding:10px 0 0;border-top:1px dashed var(--ink);display:grid;gap:7px;counter-reset:q}
.cf-trace li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:6px;counter-increment:q;font-family:var(--mono)!important;font-size:12px;line-height:1.4}
.cf-trace li::before{content:counter(q,decimal-leading-zero);color:var(--muted)}
.cf-trace li::after{content:"…";font-weight:600}
.cf-trace li.run::after{content:"···";animation:cf-blink 1s steps(2) infinite}
.cf-trace li.ok::after{content:"OK";color:var(--key-confirma)}
.cf-trace li.err::after{content:"ERRO";color:var(--key-corrige)}
html[lang="en"] .cf-trace li.err::after{content:"ERR"}
@keyframes cf-blink{50%{opacity:.2}}
.cf-receipt-f{margin-top:10px;padding-top:10px;border-top:1px dashed var(--ink);display:grid;gap:8px;color:var(--ink-2);font-size:11.5px}
.cf-receipt-f button{justify-self:start;background:none;border:0;padding:0;font:600 12.5px/1.2 var(--mono)!important;color:var(--ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* ---------- figures ---------- */
.cf-figs{display:grid;gap:36px}
.cf-figs:empty{display:none}
.cf-fig{position:relative;margin:0;padding:14px 0 0;border-top:1px solid var(--ink);display:grid;gap:16px}
.cf-fig figcaption{display:grid;gap:6px}
.cf-fig .cf-eyebrow{font:600 13px/1.2 var(--sans);color:var(--ink-2)}
.cf-fig h3{margin:0;font-size:clamp(23px,2.5vw,32px)!important;font-weight:800!important;font-stretch:112%!important;line-height:1.02!important;letter-spacing:-.02em}
.cf-fig figcaption p{margin:0;color:var(--ink-2);font:400 16px/1.4 var(--read)}
.cf-chart{min-height:40px;width:100%;overflow:hidden}
.cf-chart svg{display:block;max-width:100%;height:auto}
.cf-chart.cf-line-scroll{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--muted) transparent;touch-action:pan-x pan-y pinch-zoom}
.cf-chart.cf-line-scroll svg{max-width:none}
.cf-line-axis{position:sticky;left:0;height:0;z-index:1}
.cf-line-unit{margin:0 0 -12px;font:500 12px/1.4 var(--sans);color:var(--muted)}
.cf-line-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.cf-line-hint{margin:0;font:400 12px/1.4 var(--sans);color:var(--ink-2);max-width:30ch}
.cf-line-zoom{display:flex;flex-shrink:0;border:1px solid var(--hair)}
.cf-line-zoom button,.cf-line-period button{min-width:44px;min-height:44px;padding:8px;background:transparent;color:var(--ink);border:0;font:600 14px var(--sans);cursor:pointer}
.cf-line-zoom button+button{border-left:1px solid var(--hair)}
.cf-line-tools button:disabled,.cf-line-period button:disabled{opacity:.35;cursor:default}
.cf-line-inspector{padding:14px 0 4px;border-top:1px solid var(--hair);display:grid;gap:12px;min-width:0}
.cf-line-period{display:flex;align-items:end;gap:6px}
.cf-line-period label{display:grid;gap:4px;flex:1;min-width:0;font:500 12px var(--sans);color:var(--ink-2)}
.cf-line-period select{min-height:44px;width:100%;max-width:100%;border:1px solid var(--hair);border-radius:0;padding:8px;background:var(--paper);color:var(--ink);font:700 18px var(--sans)}
.cf-line-period button{border:1px solid var(--hair)}
.cf-line-readout{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cf-line-readout li{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;font:500 13px/1.4 var(--sans);color:var(--ink-2)}
.cf-line-readout strong{font:700 22px/1.1 var(--sans);color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;overflow-wrap:anywhere;max-width:15ch}
.cf-line-swatch{width:20px;border-top:3px solid}
.cf-line-notes{font:400 12px/1.4 var(--sans);color:var(--ink-2)}
.cf-line-notes p{margin:0 0 6px}
.cf-line-scroll:focus-visible,.cf-line-period select:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.cf-line-dialog{box-sizing:border-box;position:fixed;inset:0;margin:0;width:100%;height:100%;max-width:none;max-height:none;padding:16px;border:0;background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain}
.cf-line-dialog::backdrop{background:var(--paper)}
.cf-line-dialog-head{position:sticky;top:-16px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--paper);padding:4px 0 12px;font:600 13px var(--sans)}
.cf-line-dialog-head button{min-height:44px;padding:8px 12px;background:transparent;color:var(--ink);border:1px solid var(--hair);font:600 14px var(--sans);cursor:pointer}
.cf-line-dialog>.cf-fig{max-width:1100px;margin:0 auto}
.cf-line-dialog-head{max-width:1100px;margin:auto}
.cf-fig footer{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 18px;padding-top:10px;border-top:1px solid var(--hair)}
.cf-src{font:400 13px/1.4 var(--sans);color:var(--muted)}
.cf-acts{display:flex;gap:16px}
.cf-acts button{background:none;border:0;padding:0;font:700 13.5px/1.2 var(--sans);color:var(--ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;cursor:pointer}
.cf-acts button:hover{background:var(--mark);color:var(--mark-ink)}
.cf-acts button:disabled{opacity:.6;cursor:progress}
.cf-tip{position:absolute;pointer-events:none;background:var(--ink);color:var(--paper);font:600 13px/1.3 var(--sans);padding:7px 10px;white-space:nowrap;z-index:5}

@media (max-width:900px){
  .cf-body{grid-template-columns:minmax(0,1fr)}
  /* Keep the absolute torn-paper edge attached to the receipt in single-column layouts. */
  .cf-receipt{position:relative;top:auto;order:-1}
}
@media (max-width:640px){
  .cf{padding-inline:16px;padding-block:28px 100px;gap:40px}
  body.cf-chat .cf{padding-bottom:calc(var(--cf-composer-height, 220px) + 32px)}
  .cf-facts{grid-template-columns:1fr 1fr}
  .cf-facts li{padding:14px 12px 10px 0;border-right:0;border-bottom:1px solid var(--hair)}
  .cf-facts li:nth-child(odd){padding-left:0}
  .cf-facts li:nth-child(even){padding-left:12px;border-left:1px solid var(--hair)}
  .cf-starters{grid-template-columns:1fr}
  .cf-starter{grid-template-columns:40px minmax(0,1fr);padding:16px 0}
  .cf-starter-k{grid-column:2;justify-self:start;margin-top:6px}
  .cf-n{font-size:20px}
  .cf-starter-q{font-size:17.5px}
  .cf-input textarea{font-size:17px!important;padding:14px 12px}
  .key{padding:0 13px;font-size:14px!important}
  body.cf-chat .cf-composer{padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px))}
  body.cf-chat .cf-types{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .cf-fine .long{display:none}
  .cf-fine .short{display:inline}
  .cf-a{font-size:17.5px}
  .cf-a p:first-child{font-size:19.5px}
}
@media (prefers-reduced-motion: reduce){.cf-trace li.run::after{animation:none}}

/* files made by the Python sandbox, and code shown in the receipt */
.cf-generated{margin:0;padding:14px 0 0;border-top:1px solid var(--ink);display:grid;gap:12px}
.cf-generated figcaption{font:600 13px/1.2 var(--sans);color:var(--ink-2)}
.cf-generated img{display:block;max-width:100%;height:auto;background:#fff}
.cf-generated footer{display:flex;gap:16px;padding-top:10px;border-top:1px solid var(--hair)}
.cf-link{background:none;border:0;padding:0;font:700 13.5px/1.2 var(--sans);color:var(--ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;cursor:pointer}
.cf-trace li.cf-code{grid-template-columns:22px minmax(0,1fr)}
.cf-trace li.cf-code::after{content:none}
.cf-code summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.cf-code pre{margin:6px 0 0;padding:8px;background:var(--paper);border:1px dashed var(--ink);font:400 11px/1.45 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto}

/* Account access uses the same paper, ink and voting-key hierarchy as the chat. */
.cf-access{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;border-top:1px solid var(--hair);padding-top:5px;font:500 13px/1.4 var(--sans);color:var(--ink-2)}
.cf-access span{overflow-wrap:anywhere;min-width:0}
.cf-access-action,.cf-signup-back{border:0;background:transparent;color:var(--ink);font:700 14px/1.3 var(--sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:8px;min-height:44px;flex-shrink:0}
.cf-access-limit{color:var(--ink)}
.cf-signup{color:var(--ink);background:var(--paper);border:3px solid var(--ink);padding:clamp(20px,4vw,40px);width:min(520px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);box-sizing:border-box;overflow:auto}
.cf-signup::backdrop{background:rgba(0,0,0,.64)}
.cf-signup-close{position:absolute;top:8px;right:8px;width:44px;height:44px;border:0;background:transparent;color:var(--ink);font:400 30px/1 var(--sans);cursor:pointer}
.cf-signup h2{margin:0 0 20px;font:800 clamp(28px,5vw,40px)/1.05 var(--sans);letter-spacing:-.02em;overflow-wrap:anywhere}
.cf-signup p{margin:0 0 20px;font:400 18px/1.5 var(--read)}
.cf-signup p.cf-signup-kicker{font:700 13px/1.3 var(--sans);text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px}
.cf-signup p.cf-signup-note{font:400 14px/1.5 var(--sans);color:var(--ink-2);margin:18px 0}
.cf-signup p.cf-offline,.cf-signup p.cf-error{font:500 14px/1.5 var(--sans);padding:12px;margin-bottom:12px}
.cf-google{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:52px;padding:12px 16px;border:1px solid #747775;border-radius:4px;background:#fff;color:#1f1f1f;font:600 16px/1.4 var(--sans);cursor:pointer}
.cf-google-g{width:20px;height:20px;object-fit:contain;flex:none}
.cf-google:disabled{opacity:.55;cursor:not-allowed}
.cf-signup-back{display:block;margin:8px auto 0;text-align:center}
.cf-page :is(button,a,summary):focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.cf-page .cf-types button{min-height:44px;min-width:44px}
.cf-page .sitenav a,.cf-page .sitenav .lg span{min-height:44px;display:inline-flex;align-items:center}
.cf-page .sitenav .lg :is(a,span){min-width:44px;justify-content:center}
.cf-generated figcaption,.cf-generated footer a{overflow-wrap:anywhere}
.cf-generated footer{flex-wrap:wrap}
.cf-link,.cf-acts button,.cf-receipt-f button{min-height:44px;display:inline-flex;align-items:center}
.cf-skip{position:fixed;left:16px;top:-100px;background:var(--paper);color:var(--ink);padding:12px 16px;z-index:200;border:2px solid var(--ink)}
.cf-skip:focus{top:8px}
@media(max-width:640px){
  .cf-types{max-width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}
  .cf-types button{white-space:nowrap;flex-shrink:0}
  .cf-access{font-size:12px;gap:8px}
  .cf-signup p{font-size:17px}
  .cf-page .sitenav{flex-wrap:wrap}
  .cf-page .sitenav nav{min-width:0;overflow-x:auto;max-width:100%;scrollbar-width:thin}
}
@media(max-width:480px){
  .cf-input{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .cf-input textarea{grid-column:1/-1;width:100%;box-sizing:border-box;max-height:min(120px,20dvh)}
  .cf-input .key{min-height:48px;border-top:2px solid var(--ink)!important;padding:0 12px}
  .cf-input .key.corrige{border-left:0!important}
  .cf-input #reset[hidden]+#send{grid-column:1/-1;border-left:0!important}
  body.cf-chat .cf-composer{max-height:70dvh;overflow-y:auto;box-sizing:border-box}
}

/* Real data tables and primary-source links in answers. */
.cf-table-wrap{max-width:100%;overflow-x:auto;margin:0 0 1em}
.cf-table-wrap table{border-collapse:collapse;width:100%;font:400 15px/1.5 var(--sans);font-variant-numeric:tabular-nums}
.cf-table-wrap th,.cf-table-wrap td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--hair)}
.cf-table-wrap th{font-weight:700;border-bottom-color:var(--ink)}
.cf-table-wrap th,.cf-table-wrap td{overflow-wrap:normal;word-break:normal}  /* the wrapper scrolls; never split a city name mid-word */
.cf-table-wrap .cf-number{white-space:nowrap}
.cf-a a{color:inherit;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}

/* Response readability and accessible chart data. */
.cf-a,.cf-fig,.cf-data{min-width:0;overflow-wrap:anywhere}
.cf-table-wrap:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.cf-table-wrap .cf-number{text-align:right;font-variant-numeric:tabular-nums}
.cf-a code{font:500 .84em/1.5 var(--mono);background:var(--panel);padding:.12em .3em;overflow-wrap:anywhere}
.cf-a pre{max-width:100%;overflow:auto;background:var(--panel);padding:14px;font:400 13px/1.6 var(--mono);white-space:pre}
.cf-a pre code{background:none;padding:0;white-space:inherit;overflow-wrap:normal}
.cf-data summary{cursor:pointer;min-height:44px;display:list-item;padding:10px 0;font:600 14px/1.4 var(--sans)}
.cf-data .cf-table-wrap{max-height:420px;border-top:1px solid var(--hair)}
.cf-data thead{position:sticky;top:0;background:var(--paper)}
.cf-data td{vertical-align:top;max-width:36ch;overflow-wrap:anywhere}
.cf-export-status{flex-basis:100%;font:500 13px/1.4 var(--sans);color:var(--ink-2)}
.cf-export-status:empty{display:none}
.cf-scope-notice{margin:0;padding:10px 12px;border-left:3px solid var(--ink);background:var(--panel);font:500 14px/1.5 var(--sans)!important;overflow-wrap:anywhere}
.cf-receipt li{overflow-wrap:anywhere}
.cf-trace li.ok::after{color:var(--ink-2)}
.cf-page .cf-generated footer{align-items:center}
@media(max-width:640px){
  .cf-figs{gap:28px}
  .cf-fig h3{font-size:23px!important;line-height:1.16!important}
  .cf-fig figcaption p{font-size:15px}
  .cf-table-wrap th,.cf-table-wrap td{padding:8px;vertical-align:top}
  .cf-scope-notice{font-size:13px!important;line-height:1.4!important}
}

.cf-q.cf-q-long{font-size:clamp(24px,2.5vw,34px);line-height:1.15;max-width:52ch;white-space:normal}
.cf-original{min-width:0;max-width:72ch}
.cf-original summary{cursor:pointer;min-height:44px;display:list-item;padding:8px 0;font:600 14px/1.4 var(--sans)}
.cf-original p{margin:8px 0 0;padding:14px;border-left:3px solid var(--hair);background:var(--panel);font:400 16px/1.5 var(--read);white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:900px){.cf-receipt{order:1}}

.cf-coverage{border-top:1px solid var(--hair);padding-top:6px;max-width:80ch}
.cf-coverage summary{font:600 15px/1.4 var(--sans);cursor:pointer;min-height:44px;padding:10px 0}
.cf-coverage p{font:400 16px/1.5 var(--read);margin:8px 0;color:var(--ink-2)}

/* Privacy choices remain readable and keyboard accessible in the history dialog. */
.cf-privacy-choice{display:flex;align-items:flex-start;gap:12px;padding:16px 0;border-bottom:1px solid var(--rule,#7775);cursor:pointer}
.cf-privacy-choice input{flex:0 0 auto;width:20px;height:20px;margin:2px 0;accent-color:var(--t-up,#1b9b89)}
.cf-privacy-choice strong,.cf-privacy-help{display:block;font-size:14px;line-height:1.5}
.cf-privacy-help{font-weight:400;opacity:.8;margin-top:6px;overflow-wrap:anywhere}
.cf-privacy-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.cf-privacy-actions button{white-space:normal;text-align:start;min-height:44px}
.cf-privacy-status{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.cf-history-dialog{overscroll-behavior:contain;scroll-padding-block:20px}

.cf-history-head{position:sticky;top:-1px;z-index:2;background:var(--bg);padding-block:8px;border-bottom:1px solid var(--axis)}
.cf-history-privacy p{font:400 14px/1.55 var(--sans)}
.cf-history-dialog{scroll-padding-top:80px}

.cf-history-head{top:-24px;margin-inline:-24px;padding:16px 24px}
@media(max-width:420px){.cf-history-head{top:-16px;margin-inline:-16px;padding:12px 16px}}
.cf-map-controls{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:12px 0 18px;padding:14px;border:1px solid var(--rule);font-size:13px}
.cf-map-controls button,.cf-map-controls select{min-height:44px;border:1px solid var(--ink-2);background:var(--ground);color:var(--ink);font:inherit;padding:8px 10px}
.cf-map-controls button{cursor:pointer;font-weight:600}
.cf-map-controls button[aria-pressed="true"]{box-shadow:inset 0 -3px var(--mark)}
.cf-map-controls label{display:grid;gap:6px;min-width:0;max-width:100%;flex:1 1 210px}
.cf-map-controls select{width:100%;max-width:100%;text-overflow:ellipsis}
.cf-map-controls output{font-weight:700;padding:12px 0;overflow-wrap:anywhere}
.cf-analysis-scroll{overflow-x:auto;overscroll-behavior-x:contain;max-width:100%;scrollbar-width:thin;padding-bottom:8px;touch-action:pan-x pan-y pinch-zoom}
.cf-chart.cf-analysis-scroll svg{max-width:none}
.cf-analysis-controls label{flex-basis:140px}
.cf-analysis-controls output{flex:1 1 100%;line-height:1.5;font-size:13px;order:3}
.cf-analysis-controls .cf-line-zoom{margin-left:auto}
@media(max-width:360px){.cf-analysis-controls label{flex-basis:96px}}
.cf-series-select{border:0;background:none;color:inherit;text-align:left;font:inherit;padding:8px 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
