/* ============================================================
 * Sentire by farpa · app.css · Onda 3 · c-sinais
 * Self-contained: tokens --c-* inline (dark-fix Opção A).
 * NÃO linka /ds/themes/*.css — produto bespoke (ADR 005 safe, camada separada).
 * 3 modos via data-theme="light|dark|hc". Dark = carvão + âmbar (não rosa).
 * hc = AAA literal #000/#fff/#ffb020. Cor NÃO é sinal.
 * FAST-FOLLOW: trocar fontes por self-hosted Fraunces+Martian Mono (ADR 063 precedente).
 * Por ora Georgia+system-ui+ui-monospace.
 * ============================================================ */

/* ---- TIPO / ESPAÇO / RAIO (invariantes de tema) ---- */
:root{
  --font-display: Georgia, "Iowan Old Style", "Times New Roman", serif;
  --font-body: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-mono: ui-monospace, Menlo, "SF Mono", "Cascadia Mono", monospace;

  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px;
  --s-5:24px; --s-6:32px; --s-7:48px; --s-8:64px; --s-9:96px;
  --r-1:3px; --r-2:6px; --r-3:10px; --r-4:14px; --r-pill:999px;
  --maxw:1180px; --bw:1px; --focus-w:3px;

  --t-mega: clamp(2.4rem, 5.5vw, 4rem);
  --t-h2: clamp(1.45rem, 3vw, 2.05rem);
  --t-h3:1.18rem; --t-body:1rem; --t-small:.82rem; --t-micro:.72rem; --t-nano:.64rem;
  --lh-tight:1.04; --lh-body:1.55; --ls-label:.14em;
  --ease: cubic-bezier(.22,.61,.36,1);
  --ease-spring: cubic-bezier(.34,1.56,.64,1);
}

/* ---- LIGHT (papel quente · oxblood) ---- */
[data-theme="light"]{
  --c-bg:#fbfaf6; --c-fg:#1a1a1a; --c-fg-soft:#555555; --c-fg-faint:#645f57;
  --c-accent:#8B0000; --c-accent-fg:#ffffff;
  --c-border:rgba(0,0,0,.14); --c-border-strong:rgba(0,0,0,.30);
  --c-bg-2:#f3f1ea; --c-bg-inset:#efece3;
  --c-bar:#1a1a1a; --c-bar-track:rgba(0,0,0,.07); --c-spark:#555555;
  --c-link-underline:rgba(139,0,0,.45); --c-focus:#8B0000;
  --c-chip-bg:#efece3; --c-chip-fg:#3a3a3a; --c-scrim:rgba(20,18,14,.06); --c-opt-sel:#efe7e7;
  --c-win-bg:rgba(139,0,0,.07); --c-win-edge:#8B0000;
  /* tendência: tons neutros da marca (não verde/vermelho puro — produto factual) */
  --c-up:#3a6b35; --c-down:#8B0000; --c-flat:#645f57;
  --c-field:rgba(139,0,0,.10); --c-field-line:rgba(139,0,0,.22);
  --grain:.025;
}
/* ---- DARK (carvão quente · ÂMBAR correto · não rosa) ---- */
[data-theme="dark"]{
  --c-bg:#14110f; --c-fg:#f2f0ea; --c-fg-soft:#a9a39a; --c-fg-faint:#8f897f;
  --c-accent:#d97706; --c-accent-fg:#14110f;
  --c-border:rgba(255,255,255,.16); --c-border-strong:rgba(255,255,255,.34);
  --c-bg-2:#1b1714; --c-bg-inset:#211c18;
  --c-bar:#cfcabf; --c-bar-track:rgba(255,255,255,.10); --c-spark:#a9a39a;
  --c-link-underline:rgba(217,119,6,.55); --c-focus:#f4b860;
  --c-chip-bg:#231c16; --c-chip-fg:#d8d3c9; --c-scrim:rgba(255,255,255,.05); --c-opt-sel:#2a2016;
  --c-win-bg:rgba(217,119,6,.13); --c-win-edge:#d97706;
  /* tendência: tons âmbar/quente (não verde/vermelho puro) */
  --c-up:#7fbf6e; --c-down:#e8915c; --c-flat:#a9a39a;
  --c-field:rgba(217,119,6,.13); --c-field-line:rgba(217,119,6,.26);
  --grain:.04;
}
/* ---- AAA sobre LIGHT (light + aaa · base · #fff/#000/accent preto) ---- */
[data-contrast="aaa"]{
  --c-bg:#ffffff; --c-bg-2:#ffffff; --c-bg-inset:#ffffff;
  --c-fg:#000000; --c-fg-soft:#000000; --c-fg-faint:#000000;
  --c-border:#000000; --c-border-strong:#000000;
  --c-accent:#000000; --c-accent-fg:#ffffff;
  --c-bar:#000000; --c-bar-track:#ffffff; --c-spark:#000000;
  --c-link-underline:#000000; --c-focus:#000000;
  --c-chip-bg:#ffffff; --c-chip-fg:#000000; --c-scrim:#ffffff; --c-opt-sel:#000000;
  --c-win-bg:#ffffff; --c-win-edge:#000000;
  --c-up:#000000; --c-down:#000000; --c-flat:#000000;
  --c-field:rgba(0,0,0,.05); --c-field-line:rgba(0,0,0,.30);
  --bw:2px; --grain:0;
}
/* ---- AAA sobre DARK (dark + aaa · #000/#fff/âmbar #ffb020 ≥AAA · compõe com tema) ---- */
html[data-theme="dark"][data-contrast="aaa"]{
  --c-bg:#000000; --c-bg-2:#000000; --c-bg-inset:#000000;
  --c-fg:#ffffff; --c-fg-soft:#ffffff; --c-fg-faint:#ffffff;
  --c-border:#ffffff; --c-border-strong:#ffffff;
  --c-accent:#ffb020; --c-accent-fg:#000000;
  --c-bar:#ffffff; --c-bar-track:#000000; --c-spark:#ffffff;
  --c-link-underline:#ffb020; --c-focus:#ffb020;
  --c-chip-bg:#000000; --c-chip-fg:#ffffff; --c-scrim:#000000; --c-opt-sel:#1a1400;
  --c-win-bg:#000000; --c-win-edge:#ffb020;
  --c-up:#ffffff; --c-down:#ffffff; --c-flat:#ffffff;
  --c-field:rgba(255,176,32,.08); --c-field-line:rgba(255,176,32,.30);
  --bw:2px; --grain:0;
}

/* ============================================================ RESET / BASE */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; transition-duration:.001ms !important; animation-iteration-count:1 !important; }
}
body{
  margin:0; background:var(--c-bg); color:var(--c-fg);
  font-family:var(--font-body); font-size:var(--t-body); line-height:var(--lh-body);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
[data-contrast="aaa"] body{ font-weight:450; }
h1,h2,h3,p,figure,table{ margin:0; }
ol,ul{ list-style:none; padding:0; margin:0; }
a{ color:inherit; }
button{ font:inherit; color:inherit; background:none; border:none; cursor:pointer; }
svg{ display:block; }
img{ max-width:100%; display:block; }
table{ border-collapse:collapse; width:100%; }

.serif{ font-family:var(--font-display); }
.eyebrow{ font-family:var(--font-mono); font-size:var(--t-micro); letter-spacing:var(--ls-label); text-transform:uppercase; color:var(--c-fg-soft); font-weight:500; }
[data-contrast="aaa"] .eyebrow{ color:var(--c-fg); font-weight:700; }
.mono{ font-family:var(--font-mono); }
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

:focus{ outline:none; }
:focus-visible{ outline:var(--focus-w) solid var(--c-focus); outline-offset:2px; border-radius:var(--r-1); }
[data-contrast="aaa"] :focus-visible{ outline-width:4px; outline-offset:3px; }

.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:clamp(var(--s-4), 4vw, var(--s-7)); }

.skip-link{ position:absolute; left:var(--s-3); top:-200px; background:var(--c-fg); color:var(--c-bg); padding:var(--s-3) var(--s-4); border-radius:var(--r-2); font-family:var(--font-mono); font-size:var(--t-small); z-index:300; transition:top .15s; }
.skip-link:focus{ top:var(--s-3); }

/* grain atmosfera */
body::before{
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none; opacity:var(--grain);
  background-image:
    radial-gradient(circle at 12% 20%, var(--c-field) 0, transparent 38%),
    radial-gradient(circle at 88% 8%, var(--c-field) 0, transparent 30%);
}

/* ============================================================ FIELD-MARK (hexágono · campo de percepção) */
.fieldmark{ width:var(--fm,30px); height:var(--fm,30px); flex:none; color:var(--c-accent); }
[data-contrast="aaa"] .fieldmark{ color:var(--c-fg); }
/* NOTE: fill/stroke usam currentColor (string literal, não var()) — SVG attributes não suportam var() */
.fieldmark .ring{ fill:none; stroke:currentColor; }
.fieldmark .core{ fill:currentColor; }
/* CSP-1: tamanhos de fieldmark por contexto (ex-style="--fm:Xpx" movidos aqui) */
.fm-kicker{ --fm:18px; }
.fm-verdict{ --fm:14px; }
.fm-footer{ --fm:22px; }
.fm-panel{ --fm:13px; }
@media (prefers-reduced-motion: no-preference){
  .fm-live .r1{ transform-origin:center; animation:fmBreath 4.2s var(--ease) infinite; }
  .fm-live .r2{ transform-origin:center; animation:fmBreath 4.2s var(--ease) infinite .5s; }
  .fm-live .core{ transform-origin:center; animation:fmPulse 4.2s ease-in-out infinite; }
}
@keyframes fmBreath{ 0%,100%{ transform:scale(1); opacity:.85; } 50%{ transform:scale(1.05); opacity:1; } }
@keyframes fmPulse{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.22); } }

/* ============================================================ HEADER */
.site-header{ position:sticky; top:0; z-index:80; background:color-mix(in srgb, var(--c-bg) 90%, transparent); backdrop-filter:saturate(1.2) blur(9px); border-bottom:var(--bw) solid var(--c-border); }
[data-contrast="aaa"] .site-header{ background:var(--c-bg); border-bottom-width:2px; }
.header-row{ display:flex; align-items:center; justify-content:space-between; gap:var(--s-3); min-height:60px; padding-block:var(--s-2); flex-wrap:wrap; }
.lockup{ display:flex; align-items:center; gap:var(--s-3); }
.lockup .name{ font-family:var(--font-display); font-size:1.3rem; letter-spacing:-.01em; }
.lockup .by{ font-family:var(--font-mono); font-size:var(--t-nano); letter-spacing:var(--ls-label); text-transform:uppercase; color:var(--c-fg-soft); padding-left:var(--s-2); border-left:var(--bw) solid var(--c-border); }
@media (max-width:520px){ .lockup .by{ display:none; } }
.controls{ display:flex; align-items:center; gap:.2rem; padding:.18rem; border:var(--bw) solid var(--c-border); border-radius:var(--r-pill); background:var(--c-bg-2); margin-left:auto; }
.ctrl{ font-family:var(--font-mono); font-size:var(--t-nano); letter-spacing:.06em; text-transform:uppercase; display:inline-flex; align-items:center; gap:.3rem; cursor:pointer; background:transparent; color:var(--c-fg); border:0; border-radius:var(--r-2); padding:.38rem .55rem; transition:background .15s, color .15s; white-space:nowrap; }
.ctrl:hover{ background:color-mix(in srgb, var(--c-accent) 13%, transparent); }
.ctrl[aria-pressed="true"]{ background:var(--c-accent); color:var(--c-accent-fg); }
[data-contrast="aaa"] .ctrl[aria-pressed="true"]{ font-weight:700; }
.ctrl__ic{ font-size:.85em; line-height:1; }
.ctrl__tx{ line-height:1; }

/* ============================================================ STATE VISIBILITY */
.state{ display:none; }
[data-state="home"] .state--home{ display:block; }
[data-state="solo"] .state--solo{ display:block; }
[data-state="compare"] .state--compare{ display:block; }

/* lang visibility */
.pt{ display:inline; } .en{ display:none; }
[data-lang="en"] .pt{ display:none; } [data-lang="en"] .en{ display:inline; }
.blk.pt{ display:block; } [data-lang="en"] .blk.pt{ display:none; }
.blk.en{ display:none; } [data-lang="en"] .blk.en{ display:block; }

/* ============================================================ HOME */
.home{ position:relative; padding-block:clamp(var(--s-7), 9vw, var(--s-9)); }
.home-field{ position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.home-field svg{ position:absolute; top:50%; left:50%; transform:translate(-50%,-58%); width:min(120vw,1100px); height:auto; opacity:.5; color:var(--c-field-line); }
[data-contrast="aaa"] .home-field{ display:none; }
.home-inner{ position:relative; z-index:1; max-width:720px; margin-inline:auto; text-align:center; }
.home .kicker{ display:inline-flex; align-items:center; gap:var(--s-2); padding:5px 13px; border:var(--bw) solid var(--c-border-strong); border-radius:var(--r-pill); margin-bottom:var(--s-5); }
.home h1{ font-family:var(--font-display); font-size:var(--t-mega); line-height:var(--lh-tight); letter-spacing:-.02em; font-weight:400; }
.home h1 em{ font-style:italic; color:var(--c-accent); }
[data-contrast="aaa"] .home h1 em{ color:var(--c-fg); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:5px; }
.home .lede{ font-size:1.08rem; color:var(--c-fg-soft); max-width:46ch; margin:var(--s-4) auto 0; }
[data-contrast="aaa"] .home .lede{ color:var(--c-fg); }

/* search */
.searchwrap{ position:relative; margin-top:var(--s-6); text-align:left; }
.searchbox{ display:flex; align-items:center; gap:var(--s-3); width:100%; background:var(--c-bg); border:2px solid var(--c-border-strong); border-radius:var(--r-pill); padding:var(--s-3) var(--s-3) var(--s-3) var(--s-5); transition:border-color .18s, box-shadow .18s; }
.searchbox:focus-within{ border-color:var(--c-accent); box-shadow:0 0 0 4px var(--c-field); }
[data-contrast="aaa"] .searchbox:focus-within{ box-shadow:0 0 0 4px var(--c-accent); border-color:var(--c-fg); }
.searchbox svg{ flex:none; color:var(--c-fg-soft); }
[data-contrast="aaa"] .searchbox svg{ color:var(--c-fg); }
.searchbox input{ flex:1; border:none; background:none; font-family:var(--font-body); font-size:1.08rem; color:var(--c-fg); padding-block:var(--s-1); min-width:0; }
.searchbox input::placeholder{ color:var(--c-fg-faint); }
[data-contrast="aaa"] .searchbox input::placeholder{ color:var(--c-fg); opacity:.7; }
.searchbox input:focus{ outline:none; }
.searchbtn{ flex:none; display:inline-flex; align-items:center; gap:var(--s-2); background:var(--c-accent); color:var(--c-accent-fg); font-family:var(--font-mono); font-size:var(--t-small); letter-spacing:.04em; padding:10px 18px; border-radius:var(--r-pill); transition:transform .12s var(--ease-spring), opacity .15s; }
.searchbtn:not(:disabled):hover{ transform:translateY(-1px); }
.searchbtn:disabled{ opacity:.45; cursor:default; }
[data-contrast="aaa"] .searchbtn{ background:var(--c-fg); color:var(--c-bg); font-weight:700; }
[data-contrast="aaa"] .searchbtn:disabled{ opacity:1; border:2px solid var(--c-fg); background:var(--c-bg); color:var(--c-fg); }

/* autocomplete */
.ac{ position:absolute; left:0; right:0; top:calc(100% + 8px); z-index:30; background:var(--c-bg); border:var(--bw) solid var(--c-border-strong); border-radius:var(--r-3); overflow:hidden; }
.ac[hidden]{ display:none; }
[data-contrast="aaa"] .ac{ border-width:2px; }
.ac-group{ padding:var(--s-2) 0; }
.ac-group + .ac-group{ border-top:var(--bw) solid var(--c-border); }
.ac-head{ font-family:var(--font-mono); font-size:var(--t-nano); letter-spacing:var(--ls-label); text-transform:uppercase; color:var(--c-fg-faint); padding:var(--s-1) var(--s-5) var(--s-2); }
[data-contrast="aaa"] .ac-head{ color:var(--c-fg); }
.ac-item{ display:flex; align-items:center; gap:var(--s-3); width:100%; text-align:left; padding:9px var(--s-5); transition:background .12s; border-bottom:none; }
.ac-item:hover,.ac-item[aria-selected="true"]{ background:var(--c-bg-2); }
[data-contrast="aaa"] .ac-item[aria-selected="true"]{ background:var(--c-fg); color:var(--c-bg); }
[data-contrast="aaa"] .ac-item[aria-selected="true"] .ac-meta{ color:var(--c-bg); }
.ac-badge{ flex:none; font-family:var(--font-mono); font-size:var(--t-nano); letter-spacing:.06em; text-transform:uppercase; padding:3px 8px; border-radius:var(--r-pill); border:var(--bw) solid var(--c-border-strong); }
.ac-badge.app{ color:var(--c-fg); }
.ac-badge.sector{ color:var(--c-accent-fg); background:var(--c-accent); border-color:var(--c-accent); }
[data-contrast="aaa"] .ac-badge.sector{ background:var(--c-fg); color:var(--c-bg); border-color:var(--c-fg); }
.ac-name{ font-weight:500; flex:1; min-width:0; }
.ac-meta{ margin-left:auto; font-family:var(--font-mono); font-size:var(--t-micro); color:var(--c-fg-faint); }
[data-contrast="aaa"] .ac-meta{ color:var(--c-fg); }

/* chips de setor */
.chips{ display:flex; flex-wrap:wrap; justify-content:center; gap:var(--s-2); margin-top:var(--s-6); }
.chip{ font-family:var(--font-mono); font-size:var(--t-small); padding:7px 14px; border:var(--bw) solid var(--c-border-strong); border-radius:var(--r-pill); color:var(--c-fg); transition:all .15s; }
.chip:hover{ background:var(--c-chip-bg); }
[data-contrast="aaa"] .chip{ border-color:var(--c-fg); }
.chip[data-soon]{ color:var(--c-fg-faint); border-style:dashed; cursor:default; }
.chip[data-soon]::after{ content:" · em breve"; color:var(--c-fg-faint); }
[data-lang="en"] .chip[data-soon]::after{ content:" · soon"; }
[data-contrast="aaa"] .chip[data-soon]{ color:var(--c-fg); }
[data-contrast="aaa"] .chip[data-soon]::after{ color:var(--c-fg); }

/* sugestões rápidas */
.suggest{ margin-top:var(--s-7); }
.suggest-head{ display:flex; align-items:baseline; justify-content:center; gap:var(--s-3); margin-bottom:var(--s-3); }
.suggest-list{ display:flex; flex-wrap:wrap; justify-content:center; gap:var(--s-1) var(--s-2); max-width:640px; margin-inline:auto; }
.suggest-list button{ font-family:var(--font-mono); font-size:var(--t-micro); color:var(--c-fg-soft); padding:5px 10px; border-radius:var(--r-2); transition:background .12s, color .12s; }
.suggest-list button:hover{ background:var(--c-chip-bg); color:var(--c-fg); }
[data-contrast="aaa"] .suggest-list button{ color:var(--c-fg); }

/* microcopy CLO */
.clo{ max-width:560px; margin:var(--s-8) auto 0; text-align:center; }
.clo p{ font-family:var(--font-mono); font-size:var(--t-micro); line-height:1.7; color:var(--c-fg-faint); }
[data-contrast="aaa"] .clo p{ color:var(--c-fg); }

/* ============================================================ SOLO (N=1) */
.solo{ padding-block:var(--s-7); }
.crumb{ display:flex; align-items:center; gap:var(--s-2); font-family:var(--font-mono); font-size:var(--t-micro); color:var(--c-fg-soft); margin-bottom:var(--s-5); }
.crumb a{ text-decoration:underline; text-decoration-color:var(--c-link-underline); text-underline-offset:2px; }
[data-contrast="aaa"] .crumb a{ color:var(--c-fg); text-decoration-color:var(--c-fg); text-decoration-thickness:2px; }

.app-id{ display:flex; align-items:center; gap:var(--s-4); flex-wrap:wrap; }
.app-icon{ width:72px; height:72px; flex:none; border-radius:var(--r-4); background:var(--c-bg-inset); border:var(--bw) solid var(--c-border); display:grid; place-items:center; overflow:hidden; }
.app-icon .glyph{ font-family:var(--font-display); font-size:2rem; color:var(--c-accent); }
[data-contrast="aaa"] .app-icon .glyph{ color:var(--c-fg); }
.app-icon img{ width:100%; height:100%; object-fit:cover; }
.app-id h2{ font-family:var(--font-display); font-size:var(--t-h2); font-weight:400; letter-spacing:-.01em; line-height:1.1; }
.app-id .src{ display:flex; flex-wrap:wrap; gap:var(--s-2) var(--s-4); margin-top:6px; font-family:var(--font-mono); font-size:var(--t-micro); color:var(--c-fg-soft); }
[data-contrast="aaa"] .app-id .src{ color:var(--c-fg); }
.app-id .src .dot::before{ content:"·"; padding-right:var(--s-2); color:var(--c-border-strong); }
.add-btn{ margin-left:auto; display:inline-flex; align-items:center; gap:var(--s-2); font-family:var(--font-mono); font-size:var(--t-small); padding:10px 16px; border:var(--bw) solid var(--c-accent); border-radius:var(--r-pill); color:var(--c-accent); transition:all .15s; }
.add-btn:hover{ background:var(--c-accent); color:var(--c-accent-fg); }
.add-btn[data-added="true"]{ background:var(--c-accent); color:var(--c-accent-fg); }
[data-contrast="aaa"] .add-btn{ border-color:var(--c-fg); color:var(--c-fg); }
[data-contrast="aaa"] .add-btn:hover,[data-contrast="aaa"] .add-btn[data-added="true"]{ background:var(--c-fg); color:var(--c-bg); }
@media (max-width:600px){ .add-btn{ margin-left:0; width:100%; justify-content:center; margin-top:var(--s-2); } }

/* hero 3 números */
.hero3{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--bw); margin-top:var(--s-6); border:var(--bw) solid var(--c-border); border-radius:var(--r-3); overflow:hidden; background:var(--c-border); }
@media (max-width:640px){ .hero3{ grid-template-columns:1fr; } }
[data-contrast="aaa"] .hero3{ border-width:2px; }
.h3-cell{ background:var(--c-bg); padding:var(--s-5); }
.h3-cell .lab{ font-family:var(--font-mono); font-size:var(--t-nano); letter-spacing:var(--ls-label); text-transform:uppercase; color:var(--c-fg-soft); }
[data-contrast="aaa"] .h3-cell .lab{ color:var(--c-fg); }
.h3-cell .num{ font-family:var(--font-display); font-size:2.6rem; line-height:1; letter-spacing:-.02em; margin-top:var(--s-2); }
.h3-cell .num small{ font-size:1.1rem; color:var(--c-fg-soft); }
[data-contrast="aaa"] .h3-cell .num small{ color:var(--c-fg); }
.h3-cell .sub{ font-family:var(--font-mono); font-size:var(--t-micro); color:var(--c-fg-faint); margin-top:6px; }
[data-contrast="aaa"] .h3-cell .sub{ color:var(--c-fg); }

/* low-sample notice (enxerto - copy antes da matriz) */
.lowsample-notice{ margin-top:var(--s-5); padding:var(--s-4) var(--s-5); border:var(--bw) dashed var(--c-border-strong); border-radius:var(--r-2); background:var(--c-bg-2); font-family:var(--font-mono); font-size:var(--t-micro); line-height:1.6; color:var(--c-fg-soft); }
[data-contrast="aaa"] .lowsample-notice{ border:2px solid var(--c-fg); background:var(--c-bg); color:var(--c-fg); }
.lowsample-notice strong{ font-weight:700; color:var(--c-fg); }
[data-contrast="aaa"] .lowsample-notice strong{ color:var(--c-fg); }

/* confiança do dado: 2 eixos separados (ENXERTO) */
.lowtag{ display:inline-flex; align-items:center; gap:5px; font-family:var(--font-mono); font-size:var(--t-nano); letter-spacing:.04em; text-transform:uppercase; border:var(--bw) solid currentColor; border-radius:var(--r-pill); padding:2px 8px; margin-top:6px; }
.lowtag.low-series{ color:var(--c-down); }
.lowtag.low-volume{ color:var(--c-fg-soft); }
[data-contrast="aaa"] .lowtag{ color:var(--c-fg) !important; border-color:var(--c-fg); }

/* sinais: divergente + velocidade */
.signal-row{ display:grid; grid-template-columns:1.2fr 1fr; gap:var(--s-4); margin-top:var(--s-6); }
@media (max-width:760px){ .signal-row{ grid-template-columns:1fr; } }
.panel{ border:var(--bw) solid var(--c-border); border-radius:var(--r-3); padding:var(--s-5); background:var(--c-bg-2); }
[data-contrast="aaa"] .panel{ background:var(--c-bg); border-width:2px; }
.panel .ptitle{ display:flex; align-items:center; gap:var(--s-2); font-family:var(--font-mono); font-size:var(--t-micro); letter-spacing:.08em; text-transform:uppercase; color:var(--c-fg-soft); margin-bottom:var(--s-3); }
[data-contrast="aaa"] .panel .ptitle{ color:var(--c-fg); }
.panel.hero-panel{ border-color:var(--c-accent); border-width:2px; }
[data-contrast="aaa"] .panel.hero-panel{ border-color:var(--c-fg); }
.divergent{ font-family:var(--font-display); font-size:1.25rem; line-height:1.3; letter-spacing:-.01em; }
.divergent .mark{ background:var(--c-win-bg); box-shadow:0 0 0 3px var(--c-win-bg); }
[data-contrast="aaa"] .divergent .mark{ background:transparent; text-decoration:underline; text-decoration-thickness:2px; }
.divergent-meta{ font-family:var(--font-mono); font-size:var(--t-micro); color:var(--c-fg-faint); margin-top:var(--s-3); }
[data-contrast="aaa"] .divergent-meta{ color:var(--c-fg); }
.divergent-none{ font-family:var(--font-mono); font-size:var(--t-small); color:var(--c-fg-faint); font-style:italic; }
[data-contrast="aaa"] .divergent-none{ color:var(--c-fg); }

/* velocidade */
.velo{ display:flex; align-items:baseline; gap:var(--s-3); }
.velo .badge{ font-family:var(--font-mono); font-size:var(--t-small); font-weight:600; padding:4px 10px; border-radius:var(--r-pill); border:var(--bw) solid currentColor; }
.velo .badge.faster{ color:var(--c-down); }
.velo .badge.slower{ color:var(--c-up); }
.velo .badge.par{ color:var(--c-flat); }
[data-contrast="aaa"] .velo .badge{ color:var(--c-fg) !important; }
.velo .word{ font-family:var(--font-display); font-size:1.15rem; }
.velo-spark{ margin-top:var(--s-4); }
.prelim-caveat{ font-family:var(--font-mono); font-size:var(--t-nano); color:var(--c-fg-faint); margin-top:var(--s-2); border:var(--bw) dashed currentColor; border-radius:var(--r-1); padding:3px 8px; display:inline-flex; gap:5px; }
[data-contrast="aaa"] .prelim-caveat{ color:var(--c-fg); border-color:var(--c-fg); }

/* tendência sparkline grande */
.trend{ margin-top:var(--s-6); border:var(--bw) solid var(--c-border); border-radius:var(--r-3); padding:var(--s-5); }
[data-contrast="aaa"] .trend{ border-width:2px; }
.trend-head{ display:flex; align-items:baseline; justify-content:space-between; gap:var(--s-3); flex-wrap:wrap; margin-bottom:var(--s-4); }
.trend-head h3{ font-family:var(--font-mono); font-size:var(--t-micro); letter-spacing:.08em; text-transform:uppercase; color:var(--c-fg-soft); }
[data-contrast="aaa"] .trend-head h3{ color:var(--c-fg); }
.trend-head .range{ font-family:var(--font-mono); font-size:var(--t-micro); color:var(--c-fg-faint); }
[data-contrast="aaa"] .trend-head .range{ color:var(--c-fg); }
.bigspark{ width:100%; height:120px; display:block; }

/* queixas destiladas */
.complaints{ margin-top:var(--s-6); }
.complaints h3{ font-family:var(--font-mono); font-size:var(--t-micro); letter-spacing:.08em; text-transform:uppercase; color:var(--c-fg-soft); margin-bottom:var(--s-4); }
[data-contrast="aaa"] .complaints h3{ color:var(--c-fg); }
.complaint{ display:grid; grid-template-columns:auto 1fr auto; gap:var(--s-3) var(--s-4); align-items:center; padding:var(--s-4) 0; border-top:var(--bw) solid var(--c-border); }
[data-contrast="aaa"] .complaint{ border-top-width:2px; }
.complaint:last-child{ border-bottom:var(--bw) solid var(--c-border); }
[data-contrast="aaa"] .complaint:last-child{ border-bottom-width:2px; }
.complaint .rank{ font-family:var(--font-display); font-size:1.4rem; color:var(--c-fg-faint); width:1.4em; text-align:center; }
[data-contrast="aaa"] .complaint .rank{ color:var(--c-fg); }
.complaint .body .pt-th{ font-weight:500; }
.complaint .body .en-th{ font-family:var(--font-mono); font-size:var(--t-micro); color:var(--c-fg-soft); margin-top:3px; }
[data-contrast="aaa"] .complaint .body .en-th{ color:var(--c-fg); }
.complaint .body .ver{ font-family:var(--font-mono); font-size:var(--t-nano); color:var(--c-fg-faint); margin-top:4px; }
[data-contrast="aaa"] .complaint .body .ver{ color:var(--c-fg); }
.complaint .freq{ text-align:right; }
.complaint .freq .n{ font-family:var(--font-mono); font-weight:600; }
.complaint .freq .bar{ width:80px; height:5px; border-radius:var(--r-pill); background:var(--c-bar-track); margin-top:4px; overflow:hidden; }
[data-contrast="aaa"] .complaint .freq .bar{ border:1px solid var(--c-fg); background:var(--c-bg); }
.complaint .freq .bar i{ display:block; height:100%; width:var(--bar-pct,0%); background:var(--c-bar); border-radius:var(--r-pill); }
[data-contrast="aaa"] .complaint .freq .bar i{ background:var(--c-fg); }

/* ============================================================ BASKETBAR */
.basketbar{ position:sticky; top:60px; z-index:60; border-bottom:var(--bw) solid var(--c-border); background:color-mix(in srgb, var(--c-bg) 92%, transparent); backdrop-filter:blur(8px); }
[data-contrast="aaa"] .basketbar{ background:var(--c-bg); border-bottom-width:2px; }
.basketbar .wrap{ display:flex; align-items:center; gap:var(--s-3); padding-block:var(--s-2); flex-wrap:wrap; }
.basket-lab{ font-family:var(--font-mono); font-size:var(--t-nano); letter-spacing:var(--ls-label); text-transform:uppercase; color:var(--c-fg-faint); }
[data-contrast="aaa"] .basket-lab{ color:var(--c-fg); }
.basket-chips{ display:flex; flex-wrap:wrap; gap:var(--s-1); }
.bchip{ display:inline-flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:var(--t-micro); padding:4px 6px 4px 11px; border:var(--bw) solid var(--c-border-strong); border-radius:var(--r-pill); }
.bchip.low{ border-style:dashed; color:var(--c-fg-soft); }
[data-contrast="aaa"] .bchip{ border-color:var(--c-fg); color:var(--c-fg); }
.bchip .x{ display:inline-grid; place-items:center; width:18px; height:18px; border-radius:50%; color:var(--c-fg-soft); font-size:.9rem; }
.bchip .x:hover{ background:var(--c-chip-bg); color:var(--c-fg); }
[data-contrast="aaa"] .bchip .x{ color:var(--c-fg); }
.basket-cta{ margin-left:auto; font-family:var(--font-mono); font-size:var(--t-micro); color:var(--c-accent); display:inline-flex; align-items:center; gap:6px; }
[data-contrast="aaa"] .basket-cta{ color:var(--c-fg); text-decoration:underline; }

/* ============================================================ COMPARE */
.compare{ padding-block:var(--s-6) var(--s-8); }

/* VEREDITO */
.verdict{ position:relative; border:2px solid var(--c-accent); border-radius:var(--r-3); padding:var(--s-5) var(--s-5) var(--s-5) calc(var(--s-5) + 6px); background:var(--c-win-bg); margin-bottom:var(--s-6); overflow:hidden; }
[data-contrast="aaa"] .verdict{ border-color:var(--c-fg); background:var(--c-bg); }
.verdict::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:6px; background:var(--c-accent); }
[data-contrast="aaa"] .verdict::before{ background:var(--c-fg); }
.verdict .vlab{ display:inline-flex; align-items:center; gap:var(--s-2); font-family:var(--font-mono); font-size:var(--t-nano); letter-spacing:var(--ls-label); text-transform:uppercase; color:var(--c-accent); margin-bottom:var(--s-2); }
[data-contrast="aaa"] .verdict .vlab{ color:var(--c-fg); }
.verdict p{ font-family:var(--font-display); font-size:clamp(1.2rem,2.4vw,1.7rem); line-height:1.34; letter-spacing:-.01em; }
.verdict p b{ font-weight:700; }
.verdict .vfoot{ font-family:var(--font-mono); font-size:var(--t-nano); color:var(--c-fg-faint); margin-top:var(--s-3); }
[data-contrast="aaa"] .verdict .vfoot{ color:var(--c-fg); }

/* síntese mobile (cards) */
.csynth{ display:none; }
@media (max-width:760px){
  .cmatrix-scroll{ display:none; }
  .csynth{ display:block; }
  .csynth-grid{ display:grid; grid-template-columns:1fr 1fr; gap:var(--s-3); margin-top:var(--s-4); }
  .ccard{ border:var(--bw) solid var(--c-border); border-radius:var(--r-3); padding:var(--s-4); background:var(--c-bg-2); }
  .ccard.is-low{ background:repeating-linear-gradient(135deg, var(--c-bg-2) 0 6px, var(--c-bg-inset) 6px 12px); opacity:.92; }
  [data-contrast="aaa"] .ccard.is-low{ background:var(--c-bg); opacity:1; }
  .ccard.win{ border-color:var(--c-accent); border-width:2px; }
  [data-contrast="aaa"] .ccard.win{ border-color:var(--c-fg); }
  /* ENXERTO CSS: trava dura — baixa amostra nunca vence (redundante ao gate JS · à prova de refator) */
  .ccard.is-low.win{ border-color:var(--c-border) !important; border-width:var(--bw) !important; }
  [data-contrast="aaa"] .ccard.is-low.win{ border-color:var(--c-fg) !important; border-width:2px !important; }
  .ccard .cn{ font-family:var(--font-display); font-size:1.05rem; line-height:1.1; }
  .ccard .cm{ display:flex; justify-content:space-between; gap:var(--s-2); font-family:var(--font-mono); font-size:var(--t-micro); padding:5px 0; border-top:var(--bw) solid var(--c-border); margin-top:6px; }
  .ccard .cm span:first-child{ color:var(--c-fg-soft); }
  [data-contrast="aaa"] .ccard .cm span:first-child{ color:var(--c-fg); }
  .ccard .clowtag{ font-family:var(--font-mono); font-size:var(--t-nano); text-transform:uppercase; color:var(--c-down); border:1px solid currentColor; border-radius:var(--r-pill); padding:2px 7px; display:inline-block; margin-top:6px; }
  [data-contrast="aaa"] .ccard .clowtag{ color:var(--c-fg); border-color:var(--c-fg); }
}

/* tabela de comparação */
.cmatrix-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; border:var(--bw) solid var(--c-border); border-radius:var(--r-3); }
[data-contrast="aaa"] .cmatrix-scroll{ border-width:2px; }
.cmatrix{ min-width:680px; }
.cmatrix thead th{ position:sticky; top:0; }
.cmatrix th, .cmatrix td{ text-align:left; vertical-align:top; padding:var(--s-4); border-bottom:var(--bw) solid var(--c-border); }
[data-contrast="aaa"] .cmatrix th,[data-contrast="aaa"] .cmatrix td{ border-color:var(--c-fg); }
.cmatrix tbody tr:last-child td{ border-bottom:none; }
.col-metric{ width:170px; min-width:150px; background:var(--c-bg-2); position:sticky; left:0; z-index:2; border-right:var(--bw) solid var(--c-border); }
[data-contrast="aaa"] .col-metric{ background:var(--c-bg); }
.metric-name{ font-family:var(--font-mono); font-size:var(--t-micro); letter-spacing:.04em; text-transform:uppercase; color:var(--c-fg-soft); font-weight:500; }
[data-contrast="aaa"] .metric-name{ color:var(--c-fg); }
.metric-hint{ font-family:var(--font-mono); font-size:var(--t-nano); color:var(--c-fg-faint); margin-top:4px; line-height:1.45; }
[data-contrast="aaa"] .metric-hint{ color:var(--c-fg); }

.apphead{ background:var(--c-bg-2); border-bottom:2px solid var(--c-border-strong); }
[data-contrast="aaa"] .apphead{ background:var(--c-bg); }
.apphead .ah{ display:flex; align-items:flex-start; gap:var(--s-3); }
.apphead .ah-ico{ width:38px; height:38px; flex:none; border-radius:var(--r-2); background:var(--c-bg-inset); border:var(--bw) solid var(--c-border); display:grid; place-items:center; overflow:hidden; }
.apphead .ah-ico .glyph{ font-family:var(--font-display); font-size:1.05rem; color:var(--c-accent); }
[data-contrast="aaa"] .apphead .ah-ico .glyph{ color:var(--c-fg); }
.apphead .ah-ico img{ width:100%; height:100%; object-fit:cover; }
.apphead .ah-name{ font-family:var(--font-display); font-size:1.05rem; line-height:1.1; }
.apphead .ah-src{ font-family:var(--font-mono); font-size:var(--t-nano); color:var(--c-fg-faint); margin-top:3px; }
[data-contrast="aaa"] .apphead .ah-src{ color:var(--c-fg); }
.apphead .ah-rm{ font-family:var(--font-mono); font-size:var(--t-nano); color:var(--c-fg-soft); margin-top:6px; display:inline-flex; align-items:center; gap:4px; }
.apphead .ah-rm:hover{ color:var(--c-accent); }
[data-contrast="aaa"] .apphead .ah-rm{ color:var(--c-fg); text-decoration:underline; }

/* is-low modula tinta do cabeçalho */
.apphead.is-low{ background:repeating-linear-gradient(135deg, var(--c-bg-2) 0 7px, var(--c-bg-inset) 7px 14px); }
[data-contrast="aaa"] .apphead.is-low{ background:var(--c-bg); }
td.is-low .val,.apphead.is-low .ah-name{ opacity:.62; }
[data-contrast="aaa"] td.is-low .val,[data-contrast="aaa"] .apphead.is-low .ah-name{ opacity:1; }

/* coluna adicionar */
.addcol{ background:var(--c-bg-inset); }
[data-contrast="aaa"] .addcol{ background:var(--c-bg); }
.addcol button{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--s-2); width:100%; min-height:84px; font-family:var(--font-mono); font-size:var(--t-micro); color:var(--c-fg-soft); border:1px dashed var(--c-border-strong); border-radius:var(--r-2); padding:var(--s-3); transition:all .15s; }
.addcol button:hover{ color:var(--c-accent); border-color:var(--c-accent); }
[data-contrast="aaa"] .addcol button{ color:var(--c-fg); border-color:var(--c-fg); }

/* célula valor */
.val{ font-family:var(--font-display); font-size:1.5rem; line-height:1; letter-spacing:-.01em; }
.val small{ font-size:.9rem; color:var(--c-fg-soft); font-family:var(--font-mono); }
[data-contrast="aaa"] .val small{ color:var(--c-fg); }
.subval{ font-family:var(--font-mono); font-size:var(--t-micro); color:var(--c-fg-faint); margin-top:6px; }
[data-contrast="aaa"] .subval{ color:var(--c-fg); }
.cell-win{ background:var(--c-win-bg); box-shadow:inset 3px 0 0 var(--c-win-edge); }
.win-tag{ display:inline-flex; align-items:center; gap:4px; font-family:var(--font-mono); font-size:var(--t-nano); letter-spacing:.05em; text-transform:uppercase; color:var(--c-accent); margin-top:6px; }
[data-contrast="aaa"] .win-tag{ color:var(--c-fg); font-weight:700; }

/* ENXERTO CSS TRAVA DURA: dado ralo nunca vence linha — redundante ao gate JS, à prova de refator */
td.is-low.cell-win{ background:transparent !important; box-shadow:none !important; }
td.is-low.cell-win .win-tag{ display:none !important; }

.cmpspark{ display:block; margin-top:var(--s-2); }
.velo-cell{ display:inline-flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:var(--t-small); font-weight:600; }
.velo-cell.faster{ color:var(--c-down); }
.velo-cell.slower{ color:var(--c-up); }
.velo-cell.par{ color:var(--c-flat); }
[data-contrast="aaa"] .velo-cell{ color:var(--c-fg) !important; }
.cmp-complaints{ font-size:var(--t-small); }
.cmp-complaints li{ padding:3px 0; line-height:1.4; }
.cmp-complaints li::before{ content:"—"; color:var(--c-fg-faint); padding-right:6px; }
.cmp-complaints li.shared::before{ content:"≈"; color:var(--c-fg-soft); }
.cmp-complaints li.uniq::before{ content:"!"; color:var(--c-down); font-weight:700; }
[data-contrast="aaa"] .cmp-complaints li.uniq::before{ color:var(--c-fg); }
.cmp-ver{ font-family:var(--font-mono); font-size:var(--t-nano); color:var(--c-fg-faint); }
[data-contrast="aaa"] .cmp-ver{ color:var(--c-fg); }
/* CSP-1: ex-style='font-size:var(--t-small)' na célula de versão-exemplo → classe */
.cmp-ver-sm{ font-size:var(--t-small); }

/* contexto queixa em comum */
.context{ margin-top:var(--s-6); border-top:var(--bw) solid var(--c-border); padding-top:var(--s-5); }
[data-contrast="aaa"] .context{ border-top-width:2px; }
.context-h3{ font-family:var(--font-mono); font-size:var(--t-micro); letter-spacing:.08em; text-transform:uppercase; color:var(--c-fg-soft); margin-bottom:var(--s-3); font-weight:500; }
[data-contrast="aaa"] .context-h3{ color:var(--c-fg); }
.context p{ color:var(--c-fg-soft); font-size:var(--t-small); max-width:64ch; }
[data-contrast="aaa"] .context p{ color:var(--c-fg); }
.context .common{ display:inline-flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:var(--t-small); color:var(--c-fg); background:var(--c-chip-bg); border-radius:var(--r-pill); padding:4px 12px; margin-top:var(--s-2); }
[data-contrast="aaa"] .context .common{ border:1px solid var(--c-fg); }

/* footnote */
.footnote{ margin-top:var(--s-7); padding-top:var(--s-5); border-top:var(--bw) solid var(--c-border); }
[data-contrast="aaa"] .footnote{ border-top-width:2px; }
.footnote p{ font-family:var(--font-mono); font-size:var(--t-nano); line-height:1.7; color:var(--c-fg-faint); }
[data-contrast="aaa"] .footnote p{ color:var(--c-fg); }

/* ============================================================ FOOTER */
.site-footer{ border-top:var(--bw) solid var(--c-border); padding-block:var(--s-6); margin-top:var(--s-8); }
[data-contrast="aaa"] .site-footer{ border-top-width:2px; }
.footer-row{ display:flex; align-items:center; justify-content:space-between; gap:var(--s-4); flex-wrap:wrap; }
.footer-links{ display:flex; gap:var(--s-5); font-family:var(--font-mono); font-size:var(--t-small); letter-spacing:.03em; }
.footer-links a{ text-decoration:underline; text-decoration-color:var(--c-link-underline); text-underline-offset:3px; color:var(--c-fg-soft); }
.footer-links a:hover{ color:var(--c-fg); text-decoration-color:var(--c-accent); }
[data-contrast="aaa"] .footer-links a{ color:var(--c-fg); text-decoration-thickness:2px; }
.fnote{ font-family:var(--font-mono); font-size:var(--t-nano); color:var(--c-fg-faint); max-width:52ch; line-height:1.6; }
[data-contrast="aaa"] .fnote{ color:var(--c-fg); }
/* CSP-1: ex-style='font-size:1rem' no span do footer → classe (sobrescreve .lockup .name 1.3rem) */
.lockup .footer-name{ font-size:1rem; }

/* ============================================================ ANIMAÇÕES */
.reveal{ opacity:1; }
@media (prefers-reduced-motion: no-preference){
  .reveal{ animation:rev .55s var(--ease) none; }
  @keyframes rev{ from{ opacity:0; transform:translateY(9px); } to{ opacity:1; transform:none; } }
  .d1{ animation-delay:.04s; } .d2{ animation-delay:.10s; } .d3{ animation-delay:.17s; }
  .d4{ animation-delay:.24s; } .d5{ animation-delay:.31s; }
}

/* status de carregamento */
.status-msg{ padding:var(--s-8) var(--s-5); text-align:center; color:var(--c-fg-soft); font-family:var(--font-mono); font-size:var(--t-small); }
[data-contrast="aaa"] .status-msg{ color:var(--c-fg); }

/* ============================================================ ESTADOS DE ERRO / RETRY (resilência Onda 3+) */
/* card de erro inline (solo · setor · comparação) */
.err-card{ display:flex; flex-direction:column; align-items:center; gap:var(--s-3); padding:var(--s-7) var(--s-5); text-align:center; border:var(--bw) dashed var(--c-border-strong); border-radius:var(--r-3); background:var(--c-bg-2); max-width:480px; margin-inline:auto; }
[data-contrast="aaa"] .err-card{ border:2px solid var(--c-fg); background:var(--c-bg); }
.err-card__msg{ font-family:var(--font-mono); font-size:var(--t-small); color:var(--c-fg-soft); line-height:1.5; }
[data-contrast="aaa"] .err-card__msg{ color:var(--c-fg); }
.err-card__retry{ display:inline-flex; align-items:center; gap:var(--s-2); font-family:var(--font-mono); font-size:var(--t-small); padding:9px 18px; border:var(--bw) solid var(--c-accent); border-radius:var(--r-pill); color:var(--c-accent); transition:background .15s, color .15s; margin-top:var(--s-1); }
.err-card__retry:hover{ background:var(--c-accent); color:var(--c-accent-fg); }
[data-contrast="aaa"] .err-card__retry{ border-color:var(--c-fg); color:var(--c-fg); font-weight:700; }
[data-contrast="aaa"] .err-card__retry:hover{ background:var(--c-fg); color:var(--c-bg); }

/* célula de coluna indisponível na matriz de comparação */
.col-unavail{ font-family:var(--font-mono); font-size:var(--t-micro); color:var(--c-fg-faint); padding:var(--s-2) 0; font-style:italic; }
[data-contrast="aaa"] .col-unavail{ color:var(--c-fg); }

/* erro inline no autocomplete (distinto de "sem resultado") */
.ac-err{ font-family:var(--font-mono); font-size:var(--t-small); color:var(--c-down); padding:var(--s-3) var(--s-5); }
[data-contrast="aaa"] .ac-err{ color:var(--c-fg); font-weight:700; border-left:3px solid var(--c-fg); }

/* row de tags de confiança (ex-style inline) */
.lowtags-row{ display:flex; flex-wrap:wrap; gap:var(--s-2); margin-top:var(--s-4); }

/* parágrafo "sem histórico ainda" no solo (ex-style inline) */
.no-history-msg{ font-family:var(--font-mono); font-size:var(--t-small); color:var(--c-fg-faint); margin-top:var(--s-3); line-height:1.6; }
[data-contrast="aaa"] .no-history-msg{ color:var(--c-fg); }

/* meta de velocidade em solo (ex-style inline) */
.velo-meta-solo{ margin-top:var(--s-2); }

/* célula de hero3 com baixo volume (ex-style inline opacity) */
.h3-cell.is-low{ opacity:.72; }

/* AC retry button dentro do listbox */
.ac-retry{ display:inline-flex; align-items:center; gap:var(--s-2); font-family:var(--font-mono); font-size:var(--t-micro); color:var(--c-accent); padding:var(--s-1) var(--s-5) var(--s-2); text-decoration:underline; text-underline-offset:2px; }
[data-contrast="aaa"] .ac-retry{ color:var(--c-fg); font-weight:700; }
