/* ============================================================
   InferenceView: page shell compatibility layer
   Restyles the existing class vocabulary used by gate.html and
   x402.html into the dark design system, WITHOUT touching their
   markup or scripts. Load after site.css.
   Class names here must stay in sync with those pages.
   ============================================================ */

/* ---------------- header ---------------- */
.site-head{
  position:fixed;top:0;left:0;right:0;z-index:60;
  border-bottom:1px solid var(--line);
  background:color-mix(in oklab, var(--bg) 86%, transparent);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:18px 24px;max-width:var(--maxw);margin:0 auto;}
@media(min-width:768px){.site-head .wrap{padding:20px 32px;}}
.brand-mark{display:inline-flex;align-items:baseline;gap:7px;
  font-family:var(--display);font-size:18px;letter-spacing:-.01em;color:var(--fg);}
.brand-mark b{font-weight:400;}
.brand-glyph{color:var(--accent);font-size:15px;margin-right:3px;}
.brand-by{font-family:var(--mono);font-size:9px;text-transform:uppercase;
  letter-spacing:.2em;color:var(--fg-2);margin-left:5px;}
.head-nav{display:none;gap:22px;font-size:13px;color:var(--fg-2);}
.head-nav a{transition:color .18s ease;}
.head-nav a:hover{color:var(--fg);}
@media(min-width:940px){.head-nav{display:flex;}}
.head-cta{display:flex;align-items:center;gap:14px;}

/* ---------------- footer ---------------- */
.site-foot{border-top:1px solid var(--line);padding:52px 0 60px;margin-top:0;}
.site-foot .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;
  display:grid;gap:26px;}
@media(min-width:768px){.site-foot .wrap{padding:0 32px;}}
@media(min-width:860px){.site-foot .wrap{grid-template-columns:2fr 3fr;gap:44px;align-items:start;}}
.foot-brand{font-family:var(--display);font-size:17px;color:var(--fg);}
.foot-links{display:flex;flex-wrap:wrap;gap:20px;font-size:13.5px;}
.foot-links a{color:color-mix(in oklab, var(--fg) 74%, transparent);transition:color .18s ease;}
.foot-links a:hover{color:var(--accent);}
.foot-note{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;
  font-family:var(--mono);font-size:9.5px;text-transform:uppercase;
  letter-spacing:.14em;color:var(--fg-2);line-height:1.9;}

/* ---------------- shared bits ---------------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
@media(min-width:768px){.wrap{padding:0 32px;}}
.eyebrow{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;
  letter-spacing:.18em;color:var(--accent);display:block;margin-bottom:22px;}
.note{font-size:14px;line-height:1.62;color:color-mix(in oklab, var(--fg) 72%, transparent);}
.note b,.note strong{color:var(--fg);font-weight:500;}
.hero-sub{font-size:17px;line-height:1.62;
  color:color-mix(in oklab, var(--fg) 80%, transparent);max-width:60ch;margin-top:22px;}
.hero-sub b{color:var(--fg);font-weight:500;}
.panel{border:1px solid var(--line);padding:24px 26px;background:var(--ghost);}
.chip{display:inline-block;font-family:var(--mono);font-size:9.5px;text-transform:uppercase;
  letter-spacing:.14em;color:var(--fg-2);border:1px solid var(--line);padding:6px 11px;}
.lbl{font-family:var(--mono);font-size:10px;text-transform:uppercase;
  letter-spacing:.14em;color:var(--fg-2);}
.sec-head{font-family:var(--display);font-weight:300;
  font-size:clamp(26px,4vw,44px);line-height:1.06;letter-spacing:-.02em;
  max-width:26ch;margin-bottom:26px;}
.sec-head em{font-style:italic;color:var(--accent);}
.aurora{display:none;}
.reveal{opacity:0;transform:translateY(16px);
  transition:opacity .7s var(--ease), transform .7s var(--ease);}
.reveal.in,.reveal.on{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;}}
.g2{display:grid;gap:34px;}
@media(min-width:900px){.g2{grid-template-columns:1fr 1fr;gap:48px;}}

/* buttons (shared with the lead modal styles in site.css) */
.btn-sm{padding:10px 15px;font-size:10px;}
.btn-lg{padding:15px 24px;font-size:11.5px;}

/* ---------------- gate.html (VERIFY) ---------------- */
.gate-hero{padding:132px 0 64px;}
@media(min-width:768px){.gate-hero{padding:180px 0 80px;}}
.gate-hero h1{font-family:var(--display);font-weight:300;
  font-size:clamp(34px,6.4vw,72px);line-height:1.02;letter-spacing:-.025em;max-width:22ch;}
.gate-hero h1 em,.gate-hero h1 b{font-style:italic;font-weight:300;color:var(--accent);}
.gate-in{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;margin-top:34px;}
.gate-in input{flex:1 1 320px;min-width:0;font-family:var(--mono);font-size:13.5px;
  color:var(--fg);background:transparent;border:1px solid var(--line);padding:14px 16px;
  transition:border-color .18s ease;}
.gate-in input::placeholder{color:color-mix(in oklab, var(--fg) 34%, transparent);}
.gate-in input:focus{outline:none;border-color:var(--accent);}
.gate-note{margin-top:14px;font-family:var(--mono);font-size:10px;
  text-transform:uppercase;letter-spacing:.12em;color:var(--fg-2);}
.census{display:flex;flex-wrap:wrap;gap:22px;margin-top:14px;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:var(--fg-2);}
.census b{color:var(--accent);font-weight:500;}
.spin{display:none;font-family:var(--mono);font-size:10.5px;text-transform:uppercase;
  letter-spacing:.14em;color:var(--accent);margin-top:20px;}
.spin.on{display:block;}

.report{margin-top:40px;display:none;}
.report.on{display:block;}
.verdict{display:flex;flex-wrap:wrap;align-items:center;gap:18px;
  padding:20px 22px;border:1px solid var(--line-2);background:var(--ghost);margin-bottom:12px;}
.rec{font-family:var(--display);font-weight:300;font-size:24px;letter-spacing:-.01em;
  padding:3px 14px;border:1px solid currentColor;}
/* semantic verdict states: keep these distinguishable, not just accent */
.rec.ALLOW{color:oklch(74% .16 148);}
.rec.REVIEW{color:oklch(80% .15 85);}
.rec.DENY{color:oklch(66% .19 25);}
.rmeta{font-size:13.5px;color:color-mix(in oklab, var(--fg) 72%, transparent);}
.rmeta b{color:var(--fg);font-weight:500;}
.dims{display:grid;grid-template-columns:1fr;}
@media(min-width:760px){.dims{grid-template-columns:1fr 1fr;}}
.dim{padding:16px 26px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:18px;font-size:13.5px;
  color:color-mix(in oklab, var(--fg) 76%, transparent);}
@media(min-width:760px){.dim:nth-child(even){border-left:1px solid var(--line);}}
.dim b{color:var(--fg);font-weight:500;}
.sig{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;
  border:1px solid var(--line);margin-bottom:7px;font-size:13.5px;
  color:color-mix(in oklab, var(--fg) 74%, transparent);}
.sig-dot{width:7px;height:7px;border-radius:50%;background:var(--fg-2);
  flex:none;margin-top:6px;}
.sig.high .sig-dot{background:oklch(66% .19 25);}
.sig.warn .sig-dot{background:oklch(80% .15 85);}
.sig.ok   .sig-dot{background:oklch(74% .16 148);}
.sig.info .sig-dot{background:var(--accent);}
.sig-code{font-family:var(--mono);font-size:10px;text-transform:uppercase;
  letter-spacing:.1em;color:var(--accent);}
.sig-detail{display:block;margin-top:3px;}
.rfoot{padding:14px 2px 0;margin-top:6px;
  font-family:var(--mono);font-size:9.5px;text-transform:uppercase;
  letter-spacing:.13em;color:var(--fg-2);line-height:1.8;}
.bounty{margin-top:40px;border:1px solid var(--accent);padding:26px 28px;}
.bounty h3{font-family:var(--display);font-weight:300;font-size:24px;margin-bottom:10px;}
.bounty p{font-size:14px;line-height:1.6;
  color:color-mix(in oklab, var(--fg) 74%, transparent);}

/* ---------------- x402.html (Economy Index) ---------------- */
.idx-hero{padding:132px 0 56px;}
@media(min-width:768px){.idx-hero{padding:180px 0 70px;}}
.idx-hero h1{font-family:var(--display);font-weight:300;
  font-size:clamp(34px,6.2vw,70px);line-height:1.02;letter-spacing:-.025em;max-width:24ch;}
.idx-hero h1 em{font-style:italic;color:var(--accent);}
.hero-ctas{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px;}
.idx-kpis{display:grid;grid-template-columns:1fr;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:44px;}
@media(min-width:700px){.idx-kpis{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1050px){.idx-kpis{grid-template-columns:repeat(4,1fr);}}
.idx-kpi{padding:32px 0;border-top:1px solid var(--line);}
.idx-kpis .idx-kpi:first-child{border-top:none;}
@media(min-width:700px){
  .idx-kpi{padding:38px 30px 36px 0;border-top:none;}
  .idx-kpi+.idx-kpi{border-left:1px solid var(--line);padding-left:30px;}
}
.idx-kpi .v{font-family:var(--display);font-weight:300;font-size:clamp(32px,4.4vw,48px);
  line-height:.94;letter-spacing:-.025em;color:var(--accent);font-variant-numeric:tabular-nums;}
.idx-kpi .l{margin-top:11px;font-family:var(--mono);font-size:9.5px;line-height:1.5;
  text-transform:uppercase;letter-spacing:.13em;color:var(--fg-2);max-width:26ch;}
.idx-kpi .d{margin-top:6px;font-family:var(--mono);font-size:11px;color:var(--accent);}
.card-title{font-family:var(--display);font-weight:300;font-size:24px;
  line-height:1.14;margin-bottom:9px;}
.card-title em{font-style:italic;color:var(--accent);}
.card-sub{font-size:13.5px;line-height:1.55;
  color:color-mix(in oklab, var(--fg) 72%, transparent);margin-bottom:20px;}
.bar-row{display:grid;grid-template-columns:1fr;gap:7px;padding:11px 0;
  border-top:1px solid var(--line);}
@media(min-width:620px){.bar-row{grid-template-columns:190px 1fr 72px;gap:18px;align-items:center;}}
.bar-row .k{font-size:13px;color:color-mix(in oklab, var(--fg) 78%, transparent);}
@media(min-width:620px){.bar-row .k{text-align:right;}}
.bar-row .n{font-family:var(--mono);font-size:11.5px;color:var(--fg);
  font-variant-numeric:tabular-nums;}
@media(min-width:620px){.bar-row .n{text-align:right;}}
.bar-track{height:10px;background:var(--ghost);border:1px solid var(--line);
  position:relative;overflow:hidden;}
.bar-fill{height:100%;background:var(--accent);transition:width 1s var(--ease);}
.finding{border:1px solid var(--line-2);padding:22px 24px;margin:16px 0;background:var(--ghost);}
.finding .lbl{color:var(--accent);}
.finding p{margin-top:9px;font-size:14.5px;line-height:1.6;
  color:color-mix(in oklab, var(--fg) 76%, transparent);}
.finding b{color:var(--fg);font-weight:500;}
.upd,.cite{font-family:var(--mono);font-size:9.5px;text-transform:uppercase;
  letter-spacing:.13em;color:var(--fg-2);}
.cite{display:block;border-left:1px solid var(--accent);padding:6px 0 6px 16px;
  margin:20px 0;line-height:1.8;text-transform:none;letter-spacing:.02em;font-size:11.5px;}
.cite code{color:var(--accent);}

/* brand mark: the I-beam SVG, matching the rebuilt pages */
.brand-mark{gap:0;align-items:center;}
.brand-svg{height:19px;width:auto;display:block;margin-right:9px;flex:none;}
.brand-mark b{font-weight:400;margin-left:0;}
/* clear the fixed header on these pages */
.gate-hero{padding-top:150px;}
@media(min-width:768px){.gate-hero{padding-top:196px;}}
.idx-hero{padding-top:150px;}
@media(min-width:768px){.idx-hero{padding-top:196px;}}

/* developer callout (replaces the old launch-bounty block) */
.bounty{margin-top:34px;border:1px solid var(--line-2);padding:24px 26px;background:var(--ghost);}
.bounty .lbl{margin-bottom:12px;display:block;}
.bounty h3{font-family:var(--display);font-weight:300;font-size:clamp(22px,2.8vw,29px);
  line-height:1.1;letter-spacing:-.015em;margin-bottom:11px;}
.bounty p{font-size:14.5px;line-height:1.62;
  color:color-mix(in oklab, var(--fg) 76%, transparent);max-width:70ch;}
.bounty p b{color:var(--accent);font-weight:500;}
.bounty code{font-family:var(--mono);font-size:13px;color:var(--accent);}
/* census timestamp sits on its own line, not trailing the lede */
.upd{display:block;margin-top:14px;}
