/* T3rnel Market Pulse — dark instrument design system (v2).
   Own layout: top navigation bar with chip menu, squared terminal-ledger
   geometry. Dark green palette kept from the evidence-index direction;
   structure is deliberately distinct from the OOBE reference. */

:root {
  --bg: #030a07;
  --bg-2: #04100b;
  --panel: rgba(8, 20, 14, 0.72);
  --panel-2: rgba(5, 14, 10, 0.88);
  --panel-solid: #08130d;
  --line: rgba(255, 255, 255, 0.08);
  --line-2: rgba(52, 211, 153, 0.28);
  --ink: #edf5ef;
  --muted: #93a99b;
  --dim: #5f7468;
  --accent: #34d399;
  --accent-2: #6ef7b0;
  --accent-dim: rgba(52, 211, 153, 0.12);
  --amber: #f59e0b;
  --a: #4ade80;
  --b: #a3e635;
  --c: #f59e0b;
  --d: #fb923c;
  --f: #f87171;
  --unk: #9aa3b2;
  --sans: "GeistSans", "Geist Sans", Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono: "GeistMono", "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --radius: 10px;
  --topbg: rgba(3, 10, 7, 0.88);
  --chip-hover: rgba(255, 255, 255, 0.05);
  --accent-ink: #04130b;
  --menu-bg: #07130d;
  --menu-shadow: rgba(0, 0, 0, 0.5);
  --bg-glow-1: rgba(52, 211, 153, 0.11);
  --bg-glow-2: rgba(52, 211, 153, 0.07);
  --bg-grid: rgba(52, 211, 153, 0.04);
  --bg-stop-1: #030a07;
  --bg-stop-2: #061209;
  --tint: rgba(255, 255, 255, 0.04);
  --tint-soft: rgba(255, 255, 255, 0.03);
  --dash: rgba(255, 255, 255, 0.07);
  --code-bg: #020906;
  --code-ink: #b9f5cd;
  --accent-glow: rgba(52, 211, 153, 0.25);
}

/* Light theme — S2. Activated by [data-theme="light"] (cookie) or by
   prefers-color-scheme when no cookie is set. Only tokens change; every
   component reads vars. */
[data-theme="light"] {
  --bg: #f4f7f5;
  --bg-2: #e8efeb;
  --panel: rgba(255, 255, 255, 0.78);
  --panel-2: rgba(255, 255, 255, 0.92);
  --panel-solid: #ffffff;
  --line: rgba(9, 38, 25, 0.12);
  --line-2: rgba(5, 122, 74, 0.35);
  --ink: #0c1f16;
  --muted: #43584c;
  --dim: #6d8177;
  --accent: #0d9d63;
  --accent-2: #0a7a4c;
  --accent-dim: rgba(13, 157, 99, 0.10);
  --amber: #b45309;
  --a: #15803d;
  --b: #4d7c0f;
  --c: #b45309;
  --d: #c2410c;
  --f: #b91c1c;
  --unk: #64748b;
  --topbg: rgba(244, 247, 245, 0.9);
  --chip-hover: rgba(9, 38, 25, 0.06);
  --accent-ink: #ffffff;
  --menu-bg: #ffffff;
  --menu-shadow: rgba(9, 38, 25, 0.18);
  --bg-glow-1: rgba(13, 157, 99, 0.10);
  --bg-glow-2: rgba(13, 157, 99, 0.06);
  --bg-grid: rgba(9, 38, 25, 0.05);
  --bg-stop-1: #f4f7f5;
  --bg-stop-2: #e6efe9;
  --tint: rgba(9, 38, 25, 0.04);
  --tint-soft: rgba(9, 38, 25, 0.03);
  --dash: rgba(9, 38, 25, 0.10);
  --code-bg: #eef3f0;
  --code-ink: #1d3a2b;
  --accent-glow: rgba(13, 157, 99, 0.22);
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme]) {
    --bg: #f4f7f5;
    --bg-2: #e8efeb;
    --panel: rgba(255, 255, 255, 0.78);
    --panel-2: rgba(255, 255, 255, 0.92);
    --panel-solid: #ffffff;
    --line: rgba(9, 38, 25, 0.12);
    --line-2: rgba(5, 122, 74, 0.35);
    --ink: #0c1f16;
    --muted: #43584c;
    --dim: #6d8177;
    --accent: #0d9d63;
    --accent-2: #0a7a4c;
    --accent-dim: rgba(13, 157, 99, 0.10);
    --amber: #b45309;
    --a: #15803d;
    --b: #4d7c0f;
    --c: #b45309;
    --d: #c2410c;
    --f: #b91c1c;
    --unk: #64748b;
    --topbg: rgba(244, 247, 245, 0.9);
    --chip-hover: rgba(9, 38, 25, 0.06);
    --accent-ink: #ffffff;
    --menu-bg: #ffffff;
    --menu-shadow: rgba(9, 38, 25, 0.18);
    --bg-glow-1: rgba(13, 157, 99, 0.10);
    --bg-glow-2: rgba(13, 157, 99, 0.06);
    --bg-grid: rgba(9, 38, 25, 0.05);
    --bg-stop-1: #f4f7f5;
    --bg-stop-2: #e6efe9;
    --tint: rgba(9, 38, 25, 0.04);
    --tint-soft: rgba(9, 38, 25, 0.03);
    --dash: rgba(9, 38, 25, 0.10);
    --code-bg: #eef3f0;
    --code-ink: #1d3a2b;
    --accent-glow: rgba(13, 157, 99, 0.22);
  }
}

* { box-sizing: border-box; }
:root { color-scheme: light dark; }
[data-theme="light"] { color-scheme: light; }
[data-theme="dark"] { color-scheme: dark; }
body {
  margin: 0;
  min-width: 320px;
  font-family: var(--sans);
  color: var(--ink);
  background: var(--bg);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

.bg {
  position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(70% 55% at 85% 0%, var(--bg-glow-1), transparent 60%),
    radial-gradient(400px at 0% 100%, var(--bg-glow-2), transparent 70%),
    linear-gradient(160deg, var(--bg-stop-1) 30%, var(--bg-stop-2) 100%);
}
.bg::after {
  content: ""; position: absolute; inset: 0; opacity: 0.4;
  background-image: linear-gradient(var(--bg-grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--bg-grid) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: radial-gradient(90% 55% at 50% 0%, #000 20%, transparent 95%);
}

.skip {
  position: fixed; top: -60px; left: 12px; z-index: 60; padding: 9px 14px;
  background: var(--accent); color: var(--accent-ink); font-weight: 700; font-size: 0.82rem;
  border-radius: var(--radius); text-decoration: none; transition: top 0.15s ease;
}
.skip:focus { top: 12px; }

/* ---------- top bar ---------- */
.top {
  position: sticky; top: 0; z-index: 30;
  display: flex; align-items: center; gap: 14px;
  padding: 10px 20px;
  background: var(--topbg);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(20px);
}
.brand { display: flex; align-items: center; gap: 9px; text-decoration: none; color: var(--ink); flex: none; }
/* TeraTech white-on-transparent icon (public/brand-teratech-icon.png,
   built by dev/make-brand.py). Sized by height; width follows the art. */
.mark { display: block; height: 32px; width: auto; flex: none; }
.mark.sm { height: 24px; }
.brand-t { font: 700 0.72rem var(--mono); letter-spacing: 0.09em; white-space: nowrap; }
.brand-t em { font-style: normal; color: var(--accent-2); font-weight: 500; }
.menu { display: flex; gap: 5px; overflow-x: auto; scrollbar-width: none; flex: 1; justify-content: flex-end; }
.menu::-webkit-scrollbar { display: none; }
.chip {
  display: inline-flex; align-items: center; gap: 6px; flex: none;
  padding: 6px 11px; font-size: 0.78rem; font-weight: 550; color: var(--muted);
  text-decoration: none; border: 1px solid transparent; border-radius: 999px;
}
button.chip { background: none; font-family: inherit; cursor: pointer; }
.chip b { font: 600 0.6rem var(--mono); color: var(--accent-2); background: var(--accent-dim); padding: 1px 5px; border-radius: 999px; }
.chip:hover { color: var(--ink); background: var(--chip-hover); }
.chip.on { color: var(--accent-2); border-color: var(--line-2); background: var(--accent-dim); }
.top-right { display: flex; align-items: center; gap: 8px; flex: none; }
.pal-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 7px 11px; font: 500 0.76rem var(--sans); color: var(--muted);
  background: var(--tint); border: 1px solid var(--line); border-radius: 999px; cursor: pointer;
  text-decoration: none;
}
.pal-btn:hover { color: var(--ink); border-color: var(--line-2); }
.pal-btn kbd { font: 600 0.62rem var(--mono); color: var(--dim); }

/* nav group dropdown — Work lanes/evidence/attempts/settlements */
.nav-dd { position: relative; display: inline-flex; flex: none; }
.nav-dd > summary { list-style: none; cursor: pointer; }
.nav-dd > summary::-webkit-details-marker { display: none; }
.nav-dd-menu {
  position: absolute; z-index: 60; top: calc(100% + 8px); left: 0;
  display: grid; gap: 4px; min-width: 190px; padding: 8px;
  background: var(--menu-bg); border: 1px solid var(--line-2); border-radius: 12px;
  box-shadow: 0 16px 44px var(--menu-shadow);
}
.nav-dd-menu .chip { justify-content: flex-start; }

/* mobile menu — hidden on desktop, replaces the chip bar under 860px */
.m-nav { display: none; }

.pager { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 14px; font-size: 0.74rem; }
.pager-controls { display: flex; gap: 8px; }
.empty-state { text-align: left; }
.empty-state h2 { margin: 6px 0 8px; font-size: 1.1rem; }

/* ---------- layout ---------- */
/* Content runs to the viewport's edge — the directory, lanes and tables are
   data surfaces that earn the full width. Long-form prose keeps its own
   measure (.prose, .lede) so readability is not traded for width. */
main { margin: 0; padding: 40px 34px 56px; }
.foot {
  padding: 22px 34px 90px;
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  border-top: 1px solid var(--line); color: var(--dim); font-size: 0.74rem;
}
.foot > div:first-child { display: flex; align-items: center; gap: 8px; }
.foot-mid { font-family: var(--mono); font-size: 0.68rem; }
.foot a { color: var(--accent-2); text-decoration: none; }
.foot-brand { display: flex; align-items: center; gap: 8px; }
.foot-brand b { display: block; font-weight: 650; color: var(--muted); }
.foot-brand span { display: block; font-size: 0.68rem; }
.foot-legal { display: flex; gap: 12px; flex-wrap: wrap; }
.foot-legal a { color: var(--dim); text-decoration: none; font-size: 0.7rem; }
.foot-legal a:hover { color: var(--accent-2); }
.tabbar { display: none; }

/* ---------- shared atoms ---------- */
.eyebrow { font: 600 0.68rem var(--mono); letter-spacing: 0.14em; color: var(--accent-2); margin: 0 0 12px; }
.mono { font-family: var(--mono); }
.dim { color: var(--dim); }
.pills { display: flex; gap: 7px; flex-wrap: wrap; }
.pill {
  display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px;
  font: 600 0.62rem var(--mono); letter-spacing: 0.08em; border-radius: 999px; border: 1px solid;
}
.pill-green { color: var(--accent-2); background: var(--accent-dim); border-color: var(--line-2); }
.pill-olive { color: #d8e6b0; background: rgba(163, 230, 53, 0.08); border-color: rgba(163, 230, 53, 0.24); }
.pill-dim { color: var(--muted); background: var(--tint); border-color: var(--line); }
.btn {
  display: inline-flex; align-items: center; gap: 10px; padding: 10px 16px;
  font-weight: 600; font-size: 0.86rem; color: var(--ink); text-decoration: none;
  border: 1px solid var(--line); border-radius: var(--radius); background: var(--tint-soft);
}
.btn:hover { border-color: var(--line-2); background: var(--accent-dim); }
.btn.primary { color: var(--accent-ink); background: linear-gradient(135deg, var(--accent-2), var(--accent)); border-color: transparent; box-shadow: 0 8px 26px var(--accent-glow); }
.btn.primary:hover { filter: brightness(1.07); }
.grade { display: inline-flex; align-items: center; gap: 8px; font: 800 0.95rem var(--mono); }
.grade b {
  display: grid; place-items: center; min-width: 26px; height: 26px; padding: 0 5px;
  border: 1.5px solid currentColor; border-radius: 6px; font-size: 0.8rem;
}
.grade small { font: 500 0.62rem var(--sans); color: var(--muted); white-space: nowrap; }
.grade-a { color: var(--a); } .grade-b { color: var(--b); } .grade-c { color: var(--c); }
.grade-f { color: var(--f); }
.grade-unknown { color: var(--unk); }

/* ---------- hero ---------- */
.hero { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 52px; align-items: start; margin-bottom: 52px; }
.hero h1, .page-head h1, .prose h1, .lane-hero h1 {
  font-size: clamp(2.9rem, 6.4vw, 5.4rem); line-height: 0.96; letter-spacing: -0.055em; margin: 16px 0 18px;
}
.hero h1 em { font-style: normal; color: var(--accent-2); text-shadow: 0 0 32px rgba(110, 247, 176, 0.35); }
.lede { font-size: 1.04rem; color: var(--muted); max-width: 560px; }
.actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0 0; }
.stat-row { display: flex; gap: 24px; margin-top: 38px; }
.stat-row .metric { border: 0; padding: 0; background: none; }
.stat-row .metric b { font-size: 1.55rem; }
.metric { display: grid; gap: 3px; padding: 15px 17px; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); }
.metric span { font-size: 0.7rem; color: var(--muted); }
.metric b { font: 700 1.3rem var(--mono); letter-spacing: -0.02em; }
.metric small { color: var(--dim); font-size: 0.66rem; }

.console { background: var(--panel); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; backdrop-filter: blur(14px); box-shadow: 0 18px 44px rgba(0, 0, 0, 0.35); }
.console-top, .console-foot { display: flex; justify-content: space-between; align-items: center; padding: 12px 15px; font: 600 0.64rem var(--mono); letter-spacing: 0.08em; color: var(--muted); }
.console-top { border-bottom: 1px solid var(--line); }
.console-top span { display: flex; align-items: center; gap: 7px; }
.console-foot { border-top: 1px solid var(--line); justify-content: flex-start; gap: 7px; }
.console-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); }
.console-metrics .metric { border: 0; border-radius: 0; background: var(--panel-2); }
.console-rows { padding: 8px 15px; display: grid; gap: 4px; }
.console-row { display: grid; grid-template-columns: 1fr auto auto; gap: 12px; align-items: baseline; padding: 8px 0; border-bottom: 1px dashed var(--dash); font-size: 0.8rem; }
.console-row:last-child { border-bottom: 0; }
.console-row .ok { color: var(--a); } .console-row .bad { color: var(--f); } .console-row .warn { color: var(--c); }
.console-row b { font-weight: 600; }
.boost-lane { margin: 10px 15px 0; padding: 13px; border: 1px solid rgba(163, 230, 53, 0.22); border-radius: var(--radius); background: linear-gradient(135deg, rgba(52, 211, 153, 0.09), rgba(163, 230, 53, 0.05)); }
.boost-lane-body { display: flex; justify-content: space-between; align-items: center; }
.boost-lane p:last-child { margin: 8px 0 0; font-size: 0.78rem; color: var(--muted); }
.mult { font: 700 0.74rem var(--mono); color: var(--accent-ink); background: var(--b); padding: 3px 8px; border-radius: 6px; }
.boost-lane .eyebrow { color: #d8e6b0; margin-bottom: 7px; }
.dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 10px var(--accent); }

.founding { margin: 0 0 48px; padding: 24px; border-left: 2px solid var(--accent); border-radius: 0 var(--radius) var(--radius) 0; background: linear-gradient(90deg, var(--accent-dim), transparent 70%); }
.founding blockquote { margin: 8px 0 10px; font-size: clamp(1.3rem, 2.8vw, 1.9rem); letter-spacing: -0.03em; }
.founding blockquote strong { color: var(--f); }
.founding span { color: var(--muted); font-size: 0.85rem; }
.founding a { display: block; margin-top: 12px; color: var(--accent-2); font-weight: 600; text-decoration: none; }

.boosts { margin-bottom: 48px; }
.boost-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px; }
.boost { display: flex; align-items: center; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); text-decoration: none; color: var(--ink); }
.boost:hover { border-color: var(--line-2); }
.boost-letter { display: grid; place-items: center; width: 32px; height: 32px; flex: none; font: 800 0.95rem var(--mono); border: 1.5px solid currentColor; border-radius: 8px; }
.boost-t { flex: 1; min-width: 0; }
.boost-t b { display: block; font-size: 0.78rem; }
.boost-t small { color: var(--dim); font-size: 0.66rem; }
.boost-n { font: 700 0.78rem var(--mono); color: var(--muted); }
.boost.grade-a .boost-letter { color: var(--a); } .boost.grade-b .boost-letter { color: var(--b); }
.boost.grade-c .boost-letter { color: var(--c); }
.boost.grade-f .boost-letter { color: var(--f); }
.boost.grade-unknown .boost-letter { color: var(--unk); }

.sec-head { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin: 0 0 18px; }
.sec-head h2 { margin: 0; font-size: 1.65rem; letter-spacing: -0.03em; }
.sec-head > a { color: var(--accent-2); font-weight: 600; text-decoration: none; white-space: nowrap; }

.lane-list { border-top: 1px solid var(--line); margin-bottom: 52px; }
.lane-row {
  display: grid; grid-template-columns: 1fr auto 92px 76px 18px; gap: 20px; align-items: center;
  padding: 14px 8px; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none;
}
.lane-row:hover { background: var(--accent-dim); }
.lane-name { font-weight: 600; }
.lane-name small { display: block; color: var(--dim); font-weight: 400; font-size: 0.72rem; }
.conf { text-align: right; font: 700 0.85rem var(--mono); }
.conf small { display: block; color: var(--dim); font: 400 0.64rem var(--sans); }
.fresh { font: 600 0.64rem var(--mono); text-align: center; padding: 3px 8px; border-radius: 999px; border: 1px solid var(--line); color: var(--muted); }
.fresh-fresh { color: var(--a); border-color: rgba(74, 222, 128, 0.3); }
.fresh-aging { color: var(--b); border-color: rgba(163, 230, 53, 0.3); }
.fresh-stale { color: var(--c); border-color: rgba(245, 158, 11, 0.3); }
.fresh-historical { color: var(--d); border-color: rgba(251, 146, 60, 0.3); }
.arrow { color: var(--accent-2); }
.three-up { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.three-up article { padding: 19px; border-top: 1px solid var(--line-2); background: var(--panel); border-radius: 0 0 var(--radius) var(--radius); }
.three-up span { font: 700 0.68rem var(--mono); color: var(--accent-2); }
.three-up h3 { margin: 10px 0 7px; }
.three-up p { margin: 0; color: var(--muted); font-size: 0.86rem; }

/* ---------- sponsor slot ---------- */
.sponsor { border: 1px dashed var(--line-2); border-radius: var(--radius); background: rgba(52, 211, 153, 0.04); }
.sponsor-tag { display: inline-block; margin: -1px 0 0 -1px; padding: 3px 9px; font: 700 0.58rem var(--mono); letter-spacing: 0.12em; color: var(--accent-2); border: 1px solid var(--line-2); border-radius: var(--radius) 0 var(--radius) 0; }
.sponsor-body { display: flex; align-items: baseline; gap: 10px; padding: 10px 14px 12px; text-decoration: none; color: var(--ink); }
.sponsor-body b { color: var(--accent-2); }
.sponsor-body span { color: var(--muted); font-size: 0.82rem; flex: 1; }
.sponsor-body em { font-style: normal; font: 600 0.74rem var(--mono); color: var(--accent-2); }
.sponsor-home { margin: 0 0 48px; }

/* ---------- inner pages ---------- */
.page-head { margin-bottom: 32px; }
.page-head h1 { font-size: clamp(2.5rem, 5.4vw, 4.4rem); }
.page-head > p:not(.eyebrow) { color: var(--muted); font-size: 0.98rem; }
.filters { display: flex; gap: 16px; padding: 13px 15px; margin-bottom: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); }
.filters label { display: grid; gap: 4px; font-size: 0.7rem; color: var(--muted); }
input, select {
  min-height: 36px; padding: 7px 10px; font: 500 0.84rem var(--sans);
  color: var(--ink); background: var(--panel-solid); border: 1px solid var(--line); border-radius: 8px;
}
input[type="radio"], input[type="checkbox"] {
  min-height: 0; width: 14px; height: 14px; padding: 0; border-radius: 0; flex: none;
}
input[type="radio"] { border-radius: 50%; }
input:focus, select:focus { outline: none; border-color: var(--line-2); }
.back { display: inline-block; margin-bottom: 24px; color: var(--accent-2); text-decoration: none; font-size: 0.84rem; }
.lane-hero { display: flex; justify-content: space-between; align-items: start; gap: 24px; margin-bottom: 30px; }
.lane-hero h1 { font-size: clamp(2.4rem, 5.4vw, 4.6rem); margin-top: 8px; }
.verdict-card {
  display: grid; gap: 5px; justify-items: center; text-align: center; flex: none;
  padding: 20px 24px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel);
}
.verdict-letter { font: 800 2.4rem var(--mono); line-height: 1; }
.verdict-card.grade-a .verdict-letter { color: var(--a); } .verdict-card.grade-b .verdict-letter { color: var(--b); }
.verdict-card.grade-c .verdict-letter { color: var(--c); }
.verdict-card.grade-f .verdict-letter { color: var(--f); }
.verdict-card.grade-unknown .verdict-letter { color: var(--unk); }
.verdict-card b { font-size: 0.78rem; }
.verdict-card small { color: var(--dim); font-size: 0.66rem; }
.metric-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; margin-bottom: 18px; }
a.metric { color: inherit; text-decoration: none; }
a.metric:hover { background: var(--chip-hover); }
.metric-grid .metric { border: 0; border-radius: 0; background: var(--panel-2); }
.metric-grid .metric b { font-size: 0.98rem; }
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; margin-bottom: 13px; }
.panel { padding: 20px; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); }
.panel h2 { margin: 4px 0 12px; font-size: 1.15rem; }
.panel h2 small { color: var(--dim); font-size: 0.72rem; }
.panel p { color: var(--muted); font-size: 0.88rem; }
.panel dl { display: grid; gap: 7px; margin: 15px 0 0; }
.panel dl div { display: flex; justify-content: space-between; gap: 14px; }
.panel dt { color: var(--dim); font-size: 0.76rem; }
.panel dd { margin: 0; font-weight: 600; font-size: 0.8rem; text-align: right; }
.panel a { color: var(--accent-2); }
.mini { padding: 9px 0; border-bottom: 1px dashed var(--dash); }
.mini:last-child { border-bottom: 0; }
.mini b { display: block; font-size: 0.84rem; }
.mini span { display: block; color: var(--muted); font-size: 0.77rem; }
.mini small { display: block; color: var(--dim); font-size: 0.7rem; }
.evidence-list { display: grid; gap: 10px; margin-bottom: 28px; }
.evidence { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 22px; padding: 18px 20px; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); }
.evidence p { margin: 0; color: var(--muted); font-size: 0.86rem; }
.evidence dl { display: grid; gap: 6px; margin: 0; }
.evidence dl div { display: flex; justify-content: space-between; gap: 12px; font-size: 0.74rem; }
.evidence dt { color: var(--dim); }
.evidence dd { margin: 0; color: var(--muted); }
.big-nums { display: flex; gap: 38px; margin: 18px 0 32px; flex-wrap: wrap; }
.big-num { font: 800 clamp(2.7rem, 8vw, 5.6rem) var(--mono); letter-spacing: -0.08em; color: var(--accent-2); line-height: 1; }
.big-num span { display: block; font: 500 0.92rem var(--sans); letter-spacing: 0; color: var(--muted); margin-top: 8px; }
.table-panel { padding: 0; overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: 0.82rem; }
th { text-align: left; padding: 12px 15px; font: 600 0.64rem var(--mono); letter-spacing: 0.1em; color: var(--dim); border-bottom: 1px solid var(--line); }
td { padding: 11px 15px; border-bottom: 1px solid var(--line); vertical-align: top; }
td small { display: block; color: var(--dim); font-size: 0.7rem; }
td a { color: var(--accent-2); text-decoration: none; }
tr:last-child td { border-bottom: 0; }
.prose { max-width: 780px; }
.prose h1 { font-size: clamp(2.5rem, 5.4vw, 4.4rem); }
.prose h2 { font-size: 1.45rem; margin: 40px 0 12px; letter-spacing: -0.02em; }
.prose p, .prose li { color: #b6c6ba; font-size: 0.95rem; }
.prose table { margin: 14px 0; }
.prose th { font: 800 1.02rem var(--mono); }
.prose pre { overflow-x: auto; padding: 15px; background: var(--code-bg); border: 1px solid var(--line); border-radius: var(--radius); color: var(--code-ink); font-size: 0.8rem; }
.prose ol, .prose ul { padding-left: 22px; }
.tiers { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-bottom: 18px; }
.tier { padding: 19px; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); }
.tier h3 { margin: 0 0 6px; font-size: 0.98rem; }
.tier-price { display: block; font: 800 1.45rem var(--mono); color: var(--accent-2); margin-bottom: 8px; }
.tier p { margin: 0 0 10px; font-size: 0.72rem; color: var(--muted); }
.tier ul { margin: 0; padding-left: 16px; color: var(--muted); font-size: 0.78rem; }
.tier .btn { margin-top: 12px; }
.tier-on { border-color: var(--line-2); background: var(--accent-dim); }
.link-stack { display: flex; flex-wrap: wrap; gap: 9px; margin: 14px 0 0; }
.link-stack .btn { padding: 8px 13px; font-size: 0.8rem; }

/* ---------- directory ---------- */
.kind-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.kind-tabs .chip { font-size: 0.74rem; }
.res-list { border-top: 1px solid var(--line); margin-bottom: 26px; }
.res-row {
  display: grid; grid-template-columns: 1fr auto auto auto auto 18px; gap: 16px; align-items: center;
  padding: 13px 8px; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none;
}
.res-row:hover { background: var(--accent-dim); }
.res-name { font-weight: 600; min-width: 0; }
.res-name small { display: block; color: var(--dim); font-weight: 400; font-size: 0.72rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 52ch; }
.res-caps { display: flex; gap: 4px; flex-wrap: wrap; }
.cap { font: 600 0.6rem var(--mono); color: var(--muted); border: 1px solid var(--line); border-radius: 5px; padding: 2px 6px; white-space: nowrap; }
.cap-row { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 10px; }
.tag { font: 600 0.64rem var(--mono); color: var(--accent-2); background: var(--accent-dim); border-radius: 5px; padding: 2px 7px; text-decoration: none; }
.stars { font: 700 0.78rem var(--mono); color: #ffd76e; white-space: nowrap; }
.kind-chip { font: 600 0.6rem var(--mono); letter-spacing: 0.06em; color: var(--muted); border: 1px solid var(--line); border-radius: 5px; padding: 3px 7px; white-space: nowrap; }
.kind-lane { color: var(--a); border-color: rgba(74, 222, 128, 0.3); }
.kind-model { color: #c4b5fd; border-color: rgba(196, 181, 253, 0.3); }
.kind-model-provider { color: #c4b5fd; border-color: rgba(196, 181, 253, 0.3); }
.kind-model-runner { color: #c4b5fd; border-color: rgba(196, 181, 253, 0.3); }
.kind-skill-source { color: var(--b); border-color: rgba(163, 230, 53, 0.3); }
.kind-mcp-server, .kind-mcp-registry { color: #7dd3fc; border-color: rgba(125, 211, 252, 0.3); }
.kind-build-platform { color: #fda4af; border-color: rgba(253, 164, 175, 0.3); }
.kind-finance-rail { color: #fde68a; border-color: rgba(253, 230, 138, 0.3); }
.kind-social-network { color: #f9a8d4; border-color: rgba(249, 168, 212, 0.3); }
.kind-api-service { color: var(--accent-2); border-color: var(--line-2); }
.kind-framework { color: #fdba74; border-color: rgba(253, 186, 116, 0.3); }
.filter-note { align-self: center; margin-left: auto; font-size: 0.72rem; color: var(--dim); }
/* An export link must not break across lines: "JSON ↗" wrapped so the arrow
   was orphaned onto its own line, 90px from the word it belongs to. */
.filter-note a { color: var(--accent-2); white-space: nowrap; }
.filters label input[type="number"] { width: 90px; }


/* ---------- per-kind resource table ---------- */
.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); margin-bottom: 24px; }
.res-table { width: 100%; border-collapse: collapse; font-size: 0.78rem; min-width: 720px; }
.res-table th { position: sticky; top: 0; z-index: 2; background: var(--menu-bg); text-align: left; padding: 10px 12px; font: 600 0.6rem var(--mono); letter-spacing: 0.09em; color: var(--dim); border-bottom: 1px solid var(--line-2); white-space: nowrap; }
.res-table td { padding: 9px 12px; border-bottom: 1px solid var(--tint); vertical-align: middle; }
.res-tr:hover td { background: var(--accent-dim); }
.row-name { font-weight: 650; color: var(--ink); text-decoration: none; }
.row-name:hover { color: var(--accent-2); }
.res-table .x { font: 600 0.7rem var(--mono); color: var(--accent-2); text-decoration: none; white-space: nowrap; }
.th-sort { color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; text-decoration: none; }
.th-sort:hover { color: var(--accent-2); }
.th-sort:focus-visible { outline: 2px solid var(--accent-2); outline-offset: 2px; border-radius: 4px; }
.res-table .yes { color: var(--a); font-weight: 700; }
.res-table .no { color: var(--dim); }
.res-table .score { color: var(--accent-2); font-size: 0.86rem; }
.res-table .cap, .res-table .tag { font-size: 0.56rem; }
.c-name { min-width: 160px; }

/* ---------- auth ---------- */
.auth-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 18px; align-items: start; max-width: 760px; }
.auth-col { display: grid; gap: 10px; align-content: start; }
.auth-btn {
  display: flex; align-items: center; gap: 12px; padding: 12px 15px;
  color: var(--ink); text-decoration: none;
  border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel);
}
.auth-btn:hover { border-color: var(--line-2); background: var(--accent-dim); }
.auth-glyph { display: grid; place-items: center; width: 28px; height: 28px; flex: none; }
.auth-glyph svg { display: block; width: 20px; height: 20px; }
.auth-btn b { font-size: 0.88rem; font-weight: 600; }
.auth-btn small { margin-left: auto; color: var(--dim); font-size: 0.68rem; text-align: right; }
.auth-error {
  padding: 13px 15px; margin-bottom: 16px; font-size: 0.84rem; color: #fca5a5;
  border: 1px solid rgba(248, 113, 113, 0.4); border-radius: var(--radius);
  background: rgba(248, 113, 113, 0.08);
}
.auth-form { display: grid; gap: 10px; margin-top: 10px; }
.auth-form label { display: grid; gap: 5px; font-size: 0.78rem; color: var(--muted); }
.claim-token { font-size: 1.05rem; padding: 10px 14px; color: var(--accent-2); background: var(--code-bg); border: 1px solid var(--line-2); border-radius: 8px; word-break: break-all; }
.key-raw { font-size: 1.05rem; color: var(--accent-2); word-break: break-all; }

/* ---------- search results ---------- */
.search-form { margin: 0 0 22px; }
.search-hint { font-size: 0.82rem; }
.hit-list { display: grid; gap: 4px; margin-bottom: 26px; }
.hit {
  display: flex; align-items: center; gap: 14px; padding: 10px 14px;
  border: 1px solid var(--line); border-radius: 10px; background: var(--panel);
  color: var(--ink); text-decoration: none;
}
.hit:hover { border-color: var(--line-2); background: var(--accent-dim); }
.hit .kind-chip { flex: none; }
.hit-main { flex: 1; min-width: 0; display: grid; gap: 2px; }
.hit-main b { font-weight: 600; }
.hit-main small { color: var(--dim); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hit .arrow { flex: none; color: var(--dim); }
.hit:hover .arrow { color: var(--accent-2); }

/* ---------- excluded lanes ---------- */
.excluded-lanes { margin-top: 30px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); }
.excluded-lanes > summary {
  cursor: pointer; padding: 13px 16px; color: var(--muted); font-size: 0.84rem; line-height: 1.5;
}
.excluded-lanes > summary b { color: var(--ink); font-weight: 600; }
.excluded-lanes > summary:hover { color: var(--ink); }
.excluded-lanes[open] > summary { border-bottom: 1px solid var(--line); }
.excluded-lanes .lane-list { padding: 8px; }

/* ---------- responsive ---------- */
@media (max-width: 1080px) {
  .metric-grid { grid-template-columns: repeat(3, 1fr); }
  .tiers { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 860px) {
  .top { padding: 10px 14px; gap: 8px; }
  .menu { display: none; }
  .top-right { margin-left: auto; gap: 6px; }
  .top-right .pal-btn kbd, .top-right .snap-pill { display: none; }
  .top-right .pal-btn { padding: 7px 9px; }
  .m-nav { display: block; position: relative; }
  .m-nav > summary {
    list-style: none; cursor: pointer; user-select: none;
    display: inline-flex; align-items: center; gap: 6px;
    padding: 7px 12px; font: 550 0.78rem var(--sans); color: var(--muted);
    border: 1px solid var(--line); border-radius: 999px; background: var(--tint);
  }
  .m-nav > summary::-webkit-details-marker { display: none; }
  .m-nav[open] > summary { color: var(--accent-2); border-color: var(--line-2); }
  .m-nav > nav {
    position: absolute; right: 0; top: calc(100% + 8px); z-index: 60;
    width: min(320px, calc(100vw - 28px)); max-height: calc(100dvh - 120px); overflow-y: auto;
    display: grid; gap: 4px; padding: 12px;
    background: var(--menu-bg); border: 1px solid var(--line-2); border-radius: 14px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6);
  }
  .m-nav .m-sec { margin: 10px 4px 2px; font: 700 0.58rem var(--mono); letter-spacing: 0.12em; color: var(--dim); }
  .m-nav .chip { justify-content: flex-start; padding: 8px 12px; }
  main { padding: 26px 15px 90px; }
  .foot { flex-direction: column; align-items: start; padding-bottom: 86px; gap: 14px; }
  .foot-mid { line-height: 1.9; }
  .hero { grid-template-columns: 1fr; gap: 28px; }
  .stat-row { gap: 12px; flex-wrap: wrap; }
  .stat-row .metric { flex: 1 1 40%; }
  .auth-grid { grid-template-columns: 1fr; }
  .filters { flex-wrap: wrap; gap: 12px; }
  .console-metrics { grid-template-columns: 1fr 1fr; }
  .lane-row { grid-template-columns: 1fr auto 18px; gap: 10px; }
  .lane-row .conf, .lane-row .fresh, .grade small { display: none; }
  .three-up, .split, .evidence { grid-template-columns: 1fr; }
  .metric-grid { grid-template-columns: 1fr 1fr; }
  .lane-hero { flex-direction: column; }
  .verdict-card { justify-items: start; text-align: left; }
  .tiers { grid-template-columns: 1fr; }
  /* The tab bar is fixed over the bottom 60px of the viewport, so the page
     needs that much clearance or the bar sits on top of whatever is at the
     bottom of the scroll. Measured at 600px wide: the directory's Apply
     button landed underneath it and every hit test at its centre and both
     corners returned the tab bar, so the control could not be pressed at
     all — and at the foot of a long page the last rows and the pager were
     permanently covered. */
  body { padding-bottom: calc(60px + env(safe-area-inset-bottom, 0px)); }
  .tabbar {
    position: fixed; inset: auto 0 0 0; z-index: 40; display: flex;
    background: rgba(3, 10, 7, 0.94); border-top: 1px solid var(--line); backdrop-filter: blur(20px);
    padding-bottom: env(safe-area-inset-bottom, 0);
  }
  .tab { flex: 1; display: grid; justify-items: center; gap: 2px; padding: 9px 4px 11px; color: var(--dim); text-decoration: none; font-size: 0.6rem; }
  .tab i { font-style: normal; font-size: 0.95rem; }
  .tab.on { color: var(--accent-2); }
}

@media (prefers-reduced-motion: no-preference) {
  .dot { animation: pulse 2.4s ease-in-out infinite; }
  @keyframes pulse { 50% { opacity: 0.55; box-shadow: 0 0 3px var(--accent); } }
  .lane-row, .chip, .boost, .btn { transition: background 0.15s ease, border-color 0.15s ease; }
}

/* ---------- directory: refinements beside the results ---------- */
/*
   One scroll region: the page. The sidebar is a column in normal flow, and a
   long facet list is shortened by a disclosure rather than by a scrollbar of
   its own — three nested scroll areas is three scrollbars for one gesture,
   and the reader cannot tell which one will move.
*/

.dir-layout { display: grid; grid-template-columns: 236px minmax(0, 1fr); gap: 32px; align-items: start; }

.dir-side { min-width: 0; font-size: 0.82rem; }
.dir-side .filters { display: block; margin: 0; padding: 0; border: 0; background: none; }
.side-group + .side-group { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); }
.side-group h3 {
  margin: 0 0 10px; font-size: 0.68rem; font-weight: 600;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted);
}
.side-group h3 b { color: var(--accent-2); font-weight: 600; }

.side-kinds ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.side-kinds a {
  display: flex; align-items: baseline; justify-content: space-between; gap: 10px;
  padding: 5px 8px; margin: 0 -8px; border-radius: 6px;
  color: var(--muted); text-decoration: none; line-height: 1.35;
}
.side-kinds a:hover { background: var(--accent-dim); color: var(--ink); }
.side-kinds a.on { background: var(--accent-dim); color: var(--accent-2); font-weight: 600; }
.side-kinds a b { flex: none; color: var(--dim); font-weight: 400; font-family: var(--mono); font-size: 0.72rem; }

.side-field input {
  width: 100%; padding: 8px 10px; font-size: 0.82rem;
  color: var(--ink); background: var(--panel-solid);
  border: 1px solid var(--line-2); border-radius: 7px;
}
.side-hint { margin: 7px 0 0; font-size: 0.68rem; line-height: 1.4; }

.side-check, .side-radio {
  display: flex; align-items: center; gap: 8px;
  padding: 5px 8px; margin: 0 -8px; border-radius: 6px;
  color: var(--muted); cursor: pointer; line-height: 1.4;
}
.side-check:hover, .side-radio:hover { background: var(--accent-dim); color: var(--ink); }
.side-check input, .side-radio input { flex: none; margin: 0; accent-color: var(--accent); }
.side-check-t { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.facet-count { flex: none; color: var(--dim); font-size: 0.7rem; }
.facet-opts { display: grid; gap: 1px; }
.facet-more > summary {
  list-style: none; cursor: pointer; padding: 5px 8px; margin: 2px -8px 0;
  color: var(--accent-2); font-size: 0.74rem; border-radius: 6px;
}
.facet-more > summary::-webkit-details-marker { display: none; }
.facet-more > summary::before { content: "+ "; }
.facet-more[open] > summary::before { content: "− "; }
.facet-more > summary:hover { background: var(--accent-dim); }
.facet-note { margin: 8px 0 0; font-size: 0.68rem; line-height: 1.4; }
.side-apply { width: 100%; margin-top: 22px; }

/* ---------- the results column ---------- */

.dir-main { min-width: 0; }
.dir-head {
  display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between;
  gap: 8px 20px; padding-bottom: 12px; margin-bottom: 4px; border-bottom: 1px solid var(--line);
}
.dir-count { margin: 0; font-size: 0.95rem; color: var(--muted); }
.dir-count b { color: var(--ink); font-weight: 600; }
.dir-export { font-size: 0.7rem; color: var(--dim); letter-spacing: 0.04em; text-transform: uppercase; }
.dir-export a { color: var(--accent-2); white-space: nowrap; margin-left: 9px; text-decoration: none; }
.dir-export a:hover { text-decoration: underline; }

.applied { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 14px; }
.applied-lead { font-size: 0.72rem; color: var(--dim); margin-right: 3px; }
.applied-chip { text-decoration: none; padding-right: 9px; }
.applied-chip .applied-k { color: var(--dim); }
.applied-chip b { color: var(--accent-2); margin-left: 5px; font-weight: 400; }
.applied-chip:hover b { color: var(--f); }
.applied-clear { border-style: dashed; color: var(--muted); }

.table-scroll {
  overflow-x: auto; -webkit-overflow-scrolling: touch;
  border: 1px solid var(--line); border-radius: var(--radius);
  background: var(--panel); margin-top: 14px;
}
.table-scroll > .res-table { margin: 0; }

/* Sorting lives on the column it orders, not in a second copy of the column
   list hidden in a dropdown. */
.res-table th.th-sort { padding: 0; }
.res-table th.th-sort a {
  display: flex; align-items: center; gap: 5px;
  padding: 9px 11px; color: inherit; text-decoration: none; white-space: nowrap;
}
.res-table th.th-sort a:hover { color: var(--accent-2); background: var(--accent-dim); }
.th-arrow { color: var(--dim); font-size: 0.72em; }
.res-table th.th-sorted { color: var(--accent-2); }
.res-table th.th-sorted .th-arrow { color: var(--accent-2); }

.vh { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

@media (max-width: 980px) {
  .dir-layout { grid-template-columns: 1fr; gap: 20px; }
  /* The refinements become a panel above the results, open by default on a
     tablet and closed on a phone, so the results stay the first thing read. */
  .dir-side {
    border: 1px solid var(--line); border-radius: var(--radius);
    padding: 16px; background: var(--panel);
  }
  .side-group + .side-group { margin-top: 18px; padding-top: 16px; }
  .dir-head { flex-direction: column; align-items: stretch; gap: 10px; }
  .dir-export { text-align: left; }
}

/* ---------- home: the directory's front door ---------- */

.hero-directory { display: block; max-width: 820px; margin: 0 auto 34px; text-align: center; padding: 34px 0 6px; }
.hero-directory .pills { justify-content: center; }
.hero-directory h1 { margin: 12px 0 14px; }
.hero-directory .lede { margin: 0 auto 22px; max-width: 640px; }

.home-search { display: flex; gap: 8px; max-width: 620px; margin: 0 auto 16px; }
.home-search input {
  flex: 1; min-width: 0; padding: 12px 14px; font-size: 0.95rem;
  color: var(--ink); background: var(--panel-solid);
  border: 1px solid var(--line-2); border-radius: var(--radius);
}
.home-search input:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.home-search button { flex: none; padding: 12px 20px; }
.agent-note { margin: 4px 0 0; font-size: 0.8rem; color: var(--dim); }
.agent-note a { color: var(--muted); }
.agent-note code { font: 600 0.78rem var(--mono); color: var(--accent-2); }
.hero-stat { margin: 0; font-size: 0.8rem; color: var(--dim); }
.hero-stat b { color: var(--ink); font-family: var(--mono); }

.kind-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(215px, 1fr)); gap: 10px; margin-bottom: 34px; }
.kind-card {
  position: relative; display: grid; gap: 3px; padding: 13px 14px;
  border: 1px solid var(--line); border-radius: var(--radius);
  background: var(--panel); text-decoration: none; color: var(--ink);
}
.kind-card:hover { border-color: var(--line-2); background: var(--panel-2); }
.kind-card b { font-size: 0.86rem; }
.kind-card small { color: var(--dim); font-size: 0.72rem; line-height: 1.35; }
.kind-card .kind-n { position: absolute; top: 12px; right: 13px; font-family: var(--mono); font-size: 0.74rem; color: var(--accent-2); }
.kind-card .kind-chip { justify-self: start; margin-bottom: 3px; }
.home-lane-note { max-width: 680px; margin: 0 0 30px; font-size: 0.86rem; }

@media (max-width: 860px) {
  .hero-directory { padding: 18px 0 4px; text-align: left; }
  .hero-directory .pills { justify-content: flex-start; }
  .home-search { flex-direction: column; }
  .home-search button { width: 100%; }
  .kind-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .kind-card { padding: 11px; }
  .kind-card small { display: none; }
}
@media (max-width: 480px) {
  .kind-grid { grid-template-columns: 1fr; }
}

/* ---------- jobs board + upsell ---------- */
.panel.flush { padding: 0; overflow-x: auto; }
table.jobs { min-width: 680px; }
table.jobs th { position: sticky; top: 0; background: var(--panel); text-align: left; padding: 10px 12px; font: 600 0.6rem var(--mono); letter-spacing: 0.09em; color: var(--dim); border-bottom: 1px solid var(--line-2); white-space: nowrap; }
table.jobs td { padding: 9px 12px; border-bottom: 1px solid var(--tint); vertical-align: middle; font-size: 0.82rem; }
.job-title a { color: var(--fg); font-weight: 600; text-decoration: none; }
.job-title a:hover { color: var(--accent-2); }
.job-title small { display: block; color: var(--dim); font-size: 0.68rem; margin-top: 2px; }
.job-lane a { font: 600 0.68rem var(--mono); color: var(--accent-2); text-decoration: none; }
.job-reward b, .job-bids b { font-family: var(--mono); color: var(--accent-2); }
.job-age time { font-family: var(--mono); font-size: 0.74rem; white-space: nowrap; }
.bid-lag { display: block; color: var(--amber, #d9a441); font-size: 0.66rem; margin-top: 2px; }
.bid-lag a { color: var(--accent-2); }
tr.redacted-row td { background: rgba(212,168,67,0.06); border-top: 1px dashed var(--line-2); text-align: center; padding: 14px; }
.upgrade-strip { border: 1px solid var(--line-2); border-left: 3px solid var(--accent-2); border-radius: var(--radius); background: var(--panel); padding: 12px 16px; margin-bottom: 16px; font-size: 0.86rem; }
.upgrade-strip a { color: var(--accent-2); font-weight: 700; }
.feed-note { font-size: 0.76rem; margin: 8px 0 22px; }
.btn.sm { padding: 3px 10px; font-size: 0.72rem; display: inline-block; }
