/* AI Радар — design system v3 ("Editorial ledger")
   A dark data-terminal crossed with the typographic conventions of a
   rigorously-sourced report: a serif for claims, mono for evidence, and
   every figure carrying its citation the way a footnote would. Loaded
   after each page's own inline <style>, so :root re-declarations and
   equal-specificity rules below win by source order — no !important
   needed except where inline `style="color:..."` attributes must be
   neutralised (documented at each such rule). */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500&family=Fraunces:ital,wght@0,400;0,500;0,600;0,900;1,400&display=swap');

:root{
  --bg:#0c0d10;--bg2:#17181c;--bg3:#202126;--bg4:#292a30;
  --border:rgba(237,235,225,.10);--border-h:rgba(59,111,160,.5);
  --text:#edebe3;--text2:#a19d92;--text3:#8d8a80;
  --accent:#5b8cba;--accent-l:rgba(91,140,186,.14);--accent-b:rgba(91,140,186,.4);
  --blue:#5b8cba;--green:#5c8a6c;--orange:#c9a227;--red:#a24b42;
  --purple:#8b84a3;--cyan:#7c98ab;--yellow:#b08d3e;--teal:#6b9080;
  --grd-brand:linear-gradient(135deg,var(--accent),var(--purple));
  --serif:'Fraunces',Georgia,serif;
}

body{background:var(--bg) !important;background-image:none !important}
body,input,button{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}

/* Every page's main heading uses the same serif — previously only the
   homepage's hero carried Fraunces (and only that page even loaded the
   font file), so every other page's h1 silently fell back to a bare
   sans-serif bold. This is the one rule that makes the whole site look
   like it belongs to the same publication. */
h1{font-family:var(--serif) !important}

/* Footer wordmark gradient — most non-homepage pages still shipped the old
   bright blue→violet version (#3b82f6,#a855f7); one rule fixes it everywhere
   instead of touching each page's own inline <style>. */
.footer-logo{background:linear-gradient(135deg,var(--accent),var(--purple)) !important;-webkit-background-clip:text !important;-webkit-text-fill-color:transparent !important;background-clip:text !important}

/* ============ Hero: a dateline, not a poster ============ */
.hero{background:var(--bg2) !important;border:1px solid var(--border) !important;border-radius:4px !important}
.hero-grid{display:none !important}

/* Older internal pages never got the .hero card treatment and still use
   the plain .page-hero (bottom-border only, no dark card) — one rule
   gives them the same boxed-dateline look without touching each page's
   own markup. */
.page-hero{background:var(--bg2) !important;border:1px solid var(--border) !important;border-bottom:1px solid var(--border) !important;border-radius:4px !important;padding:32px !important;margin:0 0 24px !important;max-width:none !important}
.hero-inner-solo{grid-template-columns:1fr !important;align-items:center !important;gap:32px !important}

.hero-badge{background:transparent !important;border:none !important;color:var(--text3) !important;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:0 !important;gap:8px}
.hero-badge .live-dot{background:var(--accent) !important}
.hero-inner-solo h1{
  font-weight:600;font-style:normal;
  font-size:clamp(30px,3.6vw,46px);letter-spacing:-.01em;line-height:1.15;
  color:var(--text);margin-top:14px;
}
.hero-inner-solo h1 .grad{background:none !important;-webkit-text-fill-color:var(--text) !important;font-style:italic;color:var(--text)}
.hero-inner-solo .hero-content>p{max-width:600px;color:var(--text2) !important;font-size:14.5px}
/* Footnote-counter treatment is a homepage-specific device — scoped to
   .hero-inner-solo so it doesn't leak onto other pages' centered
   .hero-stats (e.g. glossary), which need to stay centered+gapped. */
.hero-inner-solo .hero-stats{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:18px 0 !important;margin:22px 0 !important;justify-content:flex-start;gap:0 !important;counter-reset:cite}
.hero-inner-solo .hero-stats>div{padding-right:40px;border-right:1px solid var(--border);position:relative;counter-increment:cite}
.hero-inner-solo .hero-stats>div:last-child{border-right:none}
.hero-inner-solo .hero-stats>div::before{content:counter(cite);position:absolute;top:-3px;right:calc(40px - 16px);font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--text3);border:1px solid var(--border);border-radius:50%;width:14px;height:14px;display:flex;align-items:center;justify-content:center;background:var(--bg2)}
.hs-val{font-family:'JetBrains Mono',monospace !important;font-weight:600 !important;font-size:26px !important}
.hpath{background:transparent !important;border:1px solid var(--border) !important;color:var(--text2) !important;border-radius:3px !important}
.hpath:hover{border-color:var(--border-h) !important;color:var(--text) !important}
.hpath-reg{background:transparent !important;color:var(--red) !important;border-color:rgba(162,75,66,.35) !important}

#top-models{margin-bottom:32px}
#top-models .hero-radar{margin-top:20px;animation:none;background:var(--bg2) !important;border-radius:4px !important}

/* ============ Restraint pass retained: neutral cards, accent only where earned ============ */
.kpi{border-radius:4px !important;background:var(--bg2) !important;border:1px solid var(--border) !important}
.kpi::before,.ind-card::before{opacity:1 !important;height:1px !important;background:var(--border) !important}
.kpi:hover::before,.ind-card:hover::before{background:var(--accent) !important}
.ind-card{border-radius:4px !important}
.st-blue::before,.st-green::before,.st-purple::before,.st-orange::before,.st-teal::before{background:var(--accent) !important;width:3px !important}
.kpi-value,.hs-val,.hstat-val,.sbar-val,.istat-val,.eco-stat-val,.dbl-val,.stat-val{color:var(--text) !important}

/* ============ Article template (163 files, shared inline boilerplate) —
   same restraint pass, applied via override since the colours are baked
   into each file's own <style> rather than a single shared source ============ */
.art-tag{background:var(--accent-l) !important;color:var(--accent) !important}
.fn-icon.c-blue,.fn-icon.c-cyan,.fn-icon.c-green,.fn-icon.c-orange,.fn-icon.c-purple{background:var(--accent-l) !important}
.back-banner{background:linear-gradient(135deg,rgba(10,11,13,.98) 0%,rgba(18,19,22,.92) 60%,var(--accent-l) 100%) !important;border-color:var(--accent-b) !important}
.back-banner::before{background:var(--grd-brand) !important}
.back-banner::after{background:radial-gradient(ellipse 70% 60% at 100% 50%,var(--accent-l),transparent) !important}
.back-banner:hover{border-color:var(--border-h) !important;box-shadow:0 12px 40px rgba(0,0,0,.5),0 0 0 1px var(--accent-b) !important}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(92,138,108,.45)}70%{box-shadow:0 0 0 6px rgba(92,138,108,0)}100%{box-shadow:0 0 0 0 rgba(92,138,108,0)}}
.bb-eyebrow{color:var(--accent) !important}
.bb-eyebrow-dot{background:var(--green) !important}
.bb-cta:hover,.cta-official:hover{background:var(--accent-b) !important}
.rel-card:hover{border-color:var(--border-h) !important}
.kpi-label{letter-spacing:.06em;font-size:10.5px;color:var(--text3) !important}
.kpi-sub{color:var(--text3) !important;position:relative;padding-left:15px}
.kpi-sub::before{content:'—';position:absolute;left:0;color:var(--border)}
.kpi-delta.up{background:rgba(92,138,108,.14) !important;color:var(--green) !important}
.kpi-delta.down{background:rgba(162,75,66,.14) !important;color:var(--red) !important}
.kpi-delta.neutral{background:var(--bg3) !important;color:var(--text3) !important}

.section-title{font-family:var(--serif) !important;font-weight:600 !important;font-size:21px !important;letter-spacing:-.005em !important;color:var(--text) !important}
.section-sub{font-size:13.5px;line-height:1.6;color:var(--text3) !important;max-width:640px}
.chart-card,.table-card{border-radius:4px !important;background:var(--bg2) !important;border:1px solid var(--border) !important}
.chart-header h3{font-family:var(--serif) !important;font-weight:500 !important;font-size:15px !important}

/* ============ Page table of contents — an index, not a pill row ============ */
.page-toc{position:sticky;top:53px;z-index:150;background:rgba(12,13,16,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:2px;padding:0 24px;overflow-x:auto;scrollbar-width:none;margin-bottom:32px;counter-reset:toc}
.page-toc::-webkit-scrollbar{display:none}
.page-toc a{flex-shrink:0;font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--text3);padding:11px 14px;white-space:nowrap;border-bottom:2px solid transparent;counter-increment:toc}
.page-toc a::before{content:'0' counter(toc) ' ';color:var(--text3);opacity:.5}
.page-toc a:hover{color:var(--text2)}
.page-toc a.active{color:var(--text);border-bottom-color:var(--accent)}

/* ============ Nav chrome — recoloured to the ledger palette ============ */
nav .nav-tier{flex-wrap:nowrap}
nav .nav-tier>a:not(.logo),nav .nav-tier>.nav-sep,nav .nav-tier>.nav-divider{display:none !important}
.nav-flagship{background:transparent;border:1px solid var(--border);color:var(--text2);font-size:12px;font-weight:600;padding:6px 14px;border-radius:3px;white-space:nowrap}
.nav-flagship:hover{color:var(--text);border-color:var(--border-h)}
.nav-flagship-primary{background:var(--accent-l);border-color:var(--accent-b);color:var(--accent);font-weight:700}
.nav-flagship-primary:hover{background:var(--accent-b)}
.nav-sections-btn{background:transparent;border:1px solid var(--border);color:var(--text2);font:inherit;font-size:12px;font-weight:600;padding:6px 12px;border-radius:3px;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:5px}
.nav-sections-btn:hover{color:var(--text);border-color:var(--border-h)}
.nav-search-btn{background:transparent;border:1px solid var(--border);color:var(--text3);font:inherit;font-size:12px;padding:6px 10px;border-radius:3px;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:6px}
.nav-search-btn:hover{border-color:var(--border-h);color:var(--text2)}
.nav-search-btn kbd{background:var(--bg4);border:1px solid var(--border);border-radius:3px;padding:1px 5px;font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--text3)}

.nav-mega-panel{position:fixed;background:var(--bg2);border:1px solid var(--border);border-radius:6px;padding:20px;display:none;grid-template-columns:repeat(4,1fr);gap:24px;max-width:720px;box-shadow:0 24px 48px rgba(0,0,0,.5);z-index:300}
.nav-mega-panel.open{display:grid}
.nav-mega-title{font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text3);margin-bottom:10px}
.nav-mega-col a{display:block;padding:6px 0;color:var(--text2);font-size:13.5px}
.nav-mega-col a:hover{color:var(--accent)}
.nav-mega-footer{grid-column:1/-1;border-top:1px solid var(--border);padding-top:12px;margin-top:4px}
.nav-mega-footer a{color:var(--text3);font-size:12.5px}

@media(max-width:900px){
  .nav-flagship:not(.nav-flagship-primary){display:none}
}
@media(max-width:640px){
  .nav-flagship{font-size:11px;padding:6px 10px}
  .nav-search-btn span{display:none}
  .nav-mega-panel{grid-template-columns:1fr 1fr;max-width:none}
  .hero-stats>div{padding-right:20px}
  .hero-stats>div::before{right:calc(20px - 16px)}
}
@media(max-width:420px){
  .nav-flagship-primary{display:none}
}

.cmdk-overlay{position:fixed;inset:0;background:rgba(5,6,7,.75);backdrop-filter:blur(4px);z-index:1000;display:none;align-items:flex-start;justify-content:center;padding:12vh 20px 20px}
.cmdk-overlay.open{display:flex}
.cmdk-box{background:var(--bg2);border:1px solid var(--border);border-radius:6px;width:100%;max-width:560px;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.6)}
.cmdk-input{width:100%;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text);font:inherit;font-size:15px;padding:16px 18px;outline:none}
.cmdk-input::placeholder{color:var(--text3)}
.cmdk-results{max-height:50vh;overflow-y:auto;padding:6px}
.cmdk-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:3px;color:var(--text2);font-size:13.5px;cursor:pointer}
.cmdk-item.active{background:var(--accent-l);color:var(--text)}
.cmdk-item-tag{font-size:10px;color:var(--text3);font-family:'JetBrains Mono',monospace}
.cmdk-empty{padding:24px;text-align:center;color:var(--text3);font-size:13px}

@media(max-width:700px){
  .page-toc{top:0}
}
