/* Moneyball News — ink/cream editorial chrome.
   Serif headlines, grotesque UI, hairline rules. Not GitHub-dark. Not Elementor navy. */
:root {
  --mb-navy: #173a85;
  --mb-ink: #11100e;
  --mb-link: #1a3a6b;
  --mb-paper: #fbf8f1;
  --mb-page: #efe9dc;
  --mb-text: #161513;
  --mb-muted: #6b655c;
  --mb-band: #ebe4d6;
  --mb-line: #161513;
  --mb-rule: #cfc6b6;
  --mb-up: #1f7a45;
  --mb-down: #c41e3a;
  --mb-wordmark: #e10600;
  --mb-gold: #b8952a;
  --mb-serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;
  --mb-sans: "Helvetica Neue", Helvetica, "Segoe UI", Arial, sans-serif;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
/* Page box-sizing reset must not collapse SVG geometry (rects/circles). */
svg, svg * { box-sizing: content-box; }
html { background: var(--mb-page); overflow-x: hidden; }
body {
  font-family: var(--mb-sans);
  background: var(--mb-page);
  color: var(--mb-text);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
a { color: var(--mb-link); text-underline-offset: 0.15em; }
a:hover { color: var(--mb-ink); }
.mb-skip {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 20;
  background: var(--mb-ink);
  color: var(--mb-paper);
  padding: 0.45rem 0.85rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.mb-skip:focus {
  left: 0.75rem;
  top: 0.75rem;
}

.header {
  background: var(--mb-ink);
  color: var(--mb-paper);
  padding: 0.85rem 0 0.95rem;
  text-align: left;
  border-bottom: 3px solid var(--mb-wordmark);
}
.header h1,
.header .deck,
.header > p,
.header nav,
.header .refresh-btn {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.15rem;
  padding-right: 1.15rem;
}
.header h1 {
  font-family: var(--mb-sans);
  font-size: 0.92rem;
  letter-spacing: 0.28em;
  color: var(--mb-wordmark);
  font-weight: 800;
  line-height: 1.2;
}
.deck, .header > p {
  color: #d8d0c4;
  font-family: var(--mb-serif);
  font-size: 1.02rem;
  margin-top: 0.4rem;
  font-weight: 400;
  font-style: italic;
  letter-spacing: 0;
  max-width: 960px;
}
nav.mb-nav, .mb-nav, .header nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 1.05rem;
  justify-content: flex-start;
  margin-top: 0.7rem;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 600;
}
nav.mb-nav a, .mb-nav a, .header nav a {
  color: #ece6da;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  padding-bottom: 0.12rem;
}
nav.mb-nav a:hover, .mb-nav a:hover, .header nav a:hover { border-bottom-color: #ece6da; }
nav.mb-nav a[aria-current="page"], .mb-nav a[aria-current="page"], .header nav a[aria-current="page"] {
  text-decoration: none;
  font-weight: 700;
  border-bottom-color: var(--mb-wordmark);
  color: #fff;
}
nav.mb-nav a[href*="watch"], .mb-nav a[href*="watch"] {
  border: 1px solid #ece6da;
  padding: 0.22rem 0.55rem 0.18rem;
  letter-spacing: 0.06em;
}
.container {
  max-width: 960px;
  margin: 0 auto;
  padding: 1.35rem 1.15rem 3.2rem;
  min-width: 0;
  overflow-x: hidden;
}

.card, .event, .event-card, .archive-item, .price {
  background: var(--mb-paper);
  border: 1px solid var(--mb-rule);
  border-radius: 0;
  padding: 1.05rem 1.15rem 1.1rem;
  margin: 0.95rem 0;
}
.card h2, .event h2, .event-card h2, .archive-item h2, h2.sec, .section-title {
  font-family: var(--mb-serif);
  color: var(--mb-ink);
  font-size: 1.35rem;
  font-weight: 600;
  letter-spacing: -0.015em;
  line-height: 1.2;
  margin-bottom: 0.4rem;
}
.honesty, .meta, .muted, .disclaimer, .event-meta {
  color: var(--mb-muted);
  font-size: 0.82rem;
  margin: 0.55rem 0;
  line-height: 1.45;
}
.amt {
  font-family: var(--mb-serif);
  font-size: 2.1rem;
  color: var(--mb-ink);
  font-weight: 600;
  letter-spacing: -0.03em;
}
.price { text-align: left; padding: 1.35rem 1.25rem 1.5rem; }
.price .amt { font-size: 2.1rem; }
.mb-watch-layout {
  display: grid;
  gap: 1.35rem;
  margin: 0.95rem 0 1.5rem;
}
.mb-watch-layout > * { min-width: 0; }
@media (min-width: 840px) {
  .mb-watch-layout {
    grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.85fr);
    align-items: start;
  }
}
.mb-edition-intro { margin: 0.95rem 0 1.15rem; }
.mb-edition-intro ul { margin: 0.65rem 0 0 1.15rem; }
.mb-edition-intro .mb-hero-lead { max-width: none; }
.mb-subscribe-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 1.15rem;
  align-items: flex-end;
  background: var(--mb-paper);
  border: 1px solid var(--mb-rule);
  padding: 0.7rem 1.05rem 0.8rem;
  margin: 0 0 1.15rem;
}
.mb-subscribe-copy { flex: 1 1 14rem; min-width: 0; }
.mb-subscribe-copy .sku { margin: 0.15rem 0 0; }
.mb-subscribe-bar .mb-capture { flex: 1 1 22rem; margin: 0; }
.mb-subscribe-bar #status { flex: 1 1 100%; margin: 0; }
.mb-newsletter-object { min-width: 0; max-width: 100%; }
.mb-newsletter-object .mb-edition,
.mb-newsletter-object .mb-object-sheet,
.mb-newsletter-object .mb-insight {
  max-width: 100%;
  min-width: 0;
}
.mb-watch-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 0.75rem 0;
}
.mb-watch-pay { margin-top: 1rem; }
.mb-watch-pay button {
  width: 100%;
  max-width: 28rem;
  white-space: normal;
  line-height: 1.35;
  padding: 0.75rem 1rem;
}

label {
  display: block;
  margin: 0 0 0.3rem;
  color: var(--mb-muted);
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
}
input {
  width: 100%;
  max-width: 360px;
  padding: 0.7rem 0.8rem;
  border-radius: 0;
  border: 1px solid var(--mb-rule);
  background: #fff;
  color: var(--mb-text);
  font-size: 1rem;
  font-family: var(--mb-sans);
}
input:focus {
  outline: 2px solid var(--mb-ink);
  outline-offset: 1px;
  border-color: var(--mb-ink);
}
button, .btn, .refresh-btn {
  background: var(--mb-ink);
  color: var(--mb-paper);
  border: 1px solid var(--mb-ink);
  padding: 0.7rem 1.35rem;
  border-radius: 0;
  font-weight: 700;
  cursor: pointer;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-family: var(--mb-sans);
}
button:hover, .btn:hover, .refresh-btn:hover {
  background: var(--mb-wordmark);
  border-color: var(--mb-wordmark);
  color: #fff;
}
.header .refresh-btn {
  background: transparent;
  color: #ece6da;
  border-color: #ece6da;
  margin-top: 0.75rem;
}
.header .refresh-btn:hover { background: #ece6da; color: var(--mb-ink); }
.err { color: var(--mb-down); margin-top: 0.75rem; font-size: 0.85rem; }
.ok { color: var(--mb-up); margin-top: 0.75rem; font-size: 0.85rem; }
code {
  font-size: 0.8em;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  background: var(--mb-band);
  padding: 0.05em 0.28em;
}
.back { display: inline-block; margin: 1rem 0; color: var(--mb-ink); text-decoration: none; }

.mb-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 1.15rem 1.6rem;
  align-items: end;
  background: var(--mb-paper);
  border: 1px solid var(--mb-rule);
  border-left: 4px solid var(--mb-wordmark);
  padding: 1.15rem 1.2rem 1.2rem;
  margin: 0 0 1.15rem;
}
.mb-hero-kicker {
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.68rem;
  font-weight: 800;
  color: var(--mb-wordmark);
  margin-bottom: 0.25rem;
}
.mb-hero-title {
  font-family: var(--mb-serif);
  font-size: 1.85rem;
  line-height: 1.12;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--mb-ink);
  margin: 0;
}
.mb-hero-lead {
  color: var(--mb-muted);
  font-size: 0.92rem;
  margin: 0.4rem 0 0;
  max-width: 34rem;
}
.mb-shelf {
  background: var(--mb-paper);
  border: 1px solid var(--mb-rule);
  padding: 1rem 1.2rem 1.1rem;
  margin: 0 0 1.15rem;
}
.mb-shelf .mb-hero-title { font-size: 1.45rem; }
.mb-shelf-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 0.7rem;
  font-size: 0.86rem;
}
.mb-shelf-table th {
  text-align: left;
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--mb-muted);
  border-bottom: 1px solid var(--mb-line);
  padding: 0.25rem 0.4rem 0.35rem 0;
}
.mb-shelf-table td {
  padding: 0.4rem 0.4rem 0.4rem 0;
  border-bottom: 1px solid var(--mb-rule);
  font-variant-numeric: tabular-nums;
}
.mb-capture { display: flex; flex-wrap: wrap; gap: 0.45rem; align-items: flex-end; }
.mb-capture input { max-width: none; flex: 1 1 180px; }
.mb-capture button { flex: 0 0 auto; }
.mb-hero-alts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.1rem;
  margin: 0.7rem 0 0;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: 700;
}
.mb-hero-alts a { text-decoration: none; color: var(--mb-ink); border-bottom: 1px solid var(--mb-rule); }
.mb-editions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  margin: 0.2rem 0 1.1rem;
}
.mb-editions a {
  display: block;
  background: var(--mb-paper);
  border: 1px solid var(--mb-rule);
  padding: 0.85rem 0.9rem;
  text-decoration: none;
  color: inherit;
}
.mb-editions a span {
  display: block;
  font-family: var(--mb-serif);
  font-size: 1.05rem;
  color: var(--mb-ink);
  font-weight: 600;
}
.mb-editions a em {
  display: block;
  font-style: normal;
  color: var(--mb-muted);
  font-size: 0.78rem;
  margin-top: 0.2rem;
}

details.mb-fold {
  border-top: 1px solid var(--mb-rule);
  margin: 0.65rem 0 0;
  background: transparent;
}
details.mb-fold > summary {
  cursor: pointer;
  list-style: none;
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 800;
  color: var(--mb-muted);
  padding: 0.55rem 0;
}
details.mb-fold > summary::-webkit-details-marker { display: none; }
details.mb-fold > summary::after { content: " +"; color: var(--mb-wordmark); }
details.mb-fold[open] > summary::after { content: " −"; }
details.mb-fold > summary:hover { color: var(--mb-ink); }
details.mb-fold .card { margin: 0.55rem 0; box-shadow: none; }

.mb-edition, .mb-object-sheet {
  background: var(--mb-paper);
  border: 1px solid var(--mb-rule);
  padding: 1.2rem 1.2rem 0.55rem;
  margin: 0 0 1.15rem;
  min-width: 0;
  max-width: 100%;
}
html[data-moneyball-stage="home"] .container {
  display: flex;
  flex-direction: column;
}
html[data-moneyball-stage="home"] .mb-edition[data-moneyball-object="finance-edition-analog"] {
  display: contents;
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
}
html[data-moneyball-stage="home"] .mb-object-sheet { order: 10; }
html[data-moneyball-stage="home"] .mb-shelf { order: 15; }
html[data-moneyball-stage="home"] .mb-hero { order: 20; }
html[data-moneyball-stage="home"] .mb-insight { order: 30; }
html[data-moneyball-stage="home"] .mb-sleeve { order: 31; }
html[data-moneyball-stage="home"] table.mb-paper-table { order: 32; }
html[data-moneyball-stage="home"] .mb-analog-fold { order: 33; }
html[data-moneyball-stage="home"] .mb-ioe { order: 40; }
html[data-moneyball-stage="home"] .mb-winner { order: 50; }
html[data-moneyball-stage="home"] .mb-editions { order: 60; }
html[data-moneyball-stage="home"] .container > .mb-fold:not(.mb-analog-fold) { order: 70; }
html[data-moneyball-stage="home"] .mb-ask { order: 75; }
html[data-moneyball-stage="home"] .mb-site-foot { order: 80; }
#moneyball-ssr-mill,
.mb-crawler-mill {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.mb-masthead {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.85rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--mb-rule);
}
.mb-masthead-brand {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}
.mb-event-mark {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.mb-event-glyph {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
}
.mb-event-kind {
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mb-ink);
}
.mb-wordmark {
  background: var(--mb-ink);
  color: var(--mb-wordmark);
  font-weight: 800;
  letter-spacing: 0.2em;
  padding: 0.28rem 0.65rem;
  font-size: 0.82rem;
  line-height: 1.2;
}
.mb-edition > h2, .mb-object-sheet > h2 {
  font-family: var(--mb-serif);
  font-size: 1.7rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--mb-ink);
  margin: 0.15rem 0 0.2rem;
}
.mb-instances { text-align: right; }
.mb-instances strong {
  display: block;
  font-family: var(--mb-serif);
  font-size: 1.15rem;
  font-weight: 600;
}
.mb-instances span { color: var(--mb-muted); font-size: 0.8rem; }

.mb-hold { margin: 0.4rem 0 1.25rem; }
.mb-hold-title {
  text-align: center;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 0.2rem;
}
.mb-hold-sub { text-align: center; color: var(--mb-muted); font-size: 0.78rem; margin-bottom: 0.45rem; }
.mb-hold-chart { margin: 0.2rem 0 0.4rem; }
.mb-hold-span-row {
  display: grid;
  grid-template-columns: repeat(var(--mb-cols, 5), minmax(0, 1fr));
  height: 10px;
  margin: 0.1rem 0 0.15rem;
}
.mb-hold-span {
  background: var(--mb-navy);
  border-radius: 0;
  height: 8px;
  align-self: center;
  min-width: 4px;
}
.mb-hold-grid {
  display: grid;
  grid-template-columns: repeat(var(--mb-cols, 5), minmax(0, 1fr));
  gap: 0;
  align-items: stretch;
}
.mb-hold-col {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
}
.mb-callout-slot {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  padding: 0 0.15rem;
  gap: 0.35rem;
}
.mb-slot-top { min-height: 4.25rem; justify-content: flex-end; }
.mb-slot-bot { min-height: 4.75rem; justify-content: flex-start; padding-top: 0.35rem; }
.mb-tick {
  text-align: center;
  position: relative;
  border-top: 2px solid var(--mb-line);
  padding: 0.55rem 0.15rem 0.35rem;
}
.mb-tick::before {
  content: "";
  position: absolute;
  top: -7px;
  left: 50%;
  width: 2px;
  height: 12px;
  background: var(--mb-line);
  transform: translateX(-50%);
}
.mb-tick-off {
  display: block;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.2;
}
.mb-tick-date {
  display: block;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--mb-muted);
  line-height: 1.25;
  margin-top: 0.12rem;
}
.mb-callout {
  background: #fff;
  border: 1.4px solid var(--mb-line);
  border-radius: 0;
  padding: 0.34rem 0.5rem;
  font-weight: 700;
  font-size: 0.78rem;
  text-align: center;
  max-width: 100%;
  line-height: 1.2;
  white-space: normal;
}
.mb-callout-label {
  display: block;
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.2;
}
.mb-callout-date {
  display: block;
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--mb-muted);
  line-height: 1.2;
  margin-top: 0.1rem;
}
.mb-callout-event { }
.mb-callout-buy { }
.mb-callout-sell { }

table, .mb-paper-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
  margin: 0.6rem 0 1.1rem;
}
.mb-paper-table th, .mb-paper-table td, table th, table td {
  padding: 0.5rem 0.7rem;
  text-align: left;
}
.mb-paper-table th, table th { font-weight: 700; }
.mb-band th, tr.mb-band td, .mb-paper-table thead th {
  background: var(--mb-band);
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.mb-paper-table tbody td { border-bottom: 1px solid var(--mb-rule); }
.num, .mb-paper-table .num, td.num, th.num { text-align: right; font-variant-numeric: tabular-nums; }
.mb-pct { white-space: nowrap; }
.mb-pct svg, .mb-arr { vertical-align: -1px; margin-right: 0.2rem; }
.positive { color: var(--mb-up); }
.negative { color: var(--mb-down); }

.mb-pattern, .mb-winrate, .mb-sleeve-chart, .mb-corridor { overflow: visible; }
.mb-year-chart { overflow: visible; }
.mb-pattern { margin: 1rem 0 1.15rem; }
.mb-pattern svg { width: 100%; height: auto; display: block; min-height: 13.5rem; aspect-ratio: 640 / 248; background: #fff; overflow: visible; }
.mb-winrate { margin: 0 0 1.15rem; }
.mb-winrate svg { width: 100%; height: auto; display: block; min-height: 12.5rem; aspect-ratio: 640 / 240; background: #fff; overflow: visible; }
.mb-year-chart:focus { outline: 2px solid var(--mb-navy); outline-offset: 2px; }
.mb-pattern-hit, .mb-year-hit, .mb-year-bar, .mb-year-lab { cursor: pointer; }
.mb-pattern-bar.is-dim, .mb-year-bar.is-dim { opacity: 0.28; }
.mb-pattern-bar.is-on { stroke: #111; stroke-width: 1.25; }
.mb-year-bar.is-on { fill: #0d2458; }
.mb-year-lab.is-on { font-weight: 800; }
.mb-instance-ledger tbody tr.is-year-off { display: none; }
.mb-year-filter {
  margin: -0.35rem 0 0.55rem;
  font-size: 0.82rem;
  color: var(--mb-ink);
}
.mb-year-filter[hidden] { display: none; }
.mb-year-filter button {
  margin-left: 0.55rem;
  font: inherit;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border: 1px solid var(--mb-ink);
  background: #fff;
  padding: 0.12rem 0.45rem;
  cursor: pointer;
}
.mb-chart-tip {
  position: fixed;
  z-index: 80;
  max-width: 16rem;
  padding: 0.4rem 0.55rem;
  background: #111;
  color: #fff;
  font-size: 0.75rem;
  line-height: 1.35;
  pointer-events: none;
  box-shadow: 0 4px 14px rgba(0,0,0,0.18);
}
.mb-explore {
  margin: 0.85rem 0 1rem;
  padding: 0.55rem 0.7rem 0.75rem;
  border: 1px solid var(--mb-rule);
  background: #fff;
}
.mb-explore > summary,
.mb-mega > summary,
.mb-evo > summary,
.mb-freq > summary {
  cursor: pointer;
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--mb-ink);
}
.mb-explore-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 1rem;
  margin: 0.45rem 0 0.55rem;
  font-size: 0.82rem;
}
.mb-explore-controls select {
  margin-left: 0.25rem;
  max-width: 16rem;
}
.mb-explore-svg { width: 100%; height: auto; display: block; min-height: 17rem; aspect-ratio: 640 / 300; background: #fff; overflow: visible; }
.mb-ex-pt, .mb-ex-bar, .mb-hist-bar, .mb-hist-hit, .mb-ex-hit { cursor: pointer; }
.mb-plot-panel { fill: #ffffff; stroke: var(--mb-rule); stroke-width: 1; pointer-events: none; }
.mb-axis-grid { stroke: #e6e0d4; stroke-width: 1; fill: none; pointer-events: none; vector-effect: non-scaling-stroke; }
.mb-axis-line { stroke: #11100e; stroke-width: 1.15; fill: none; pointer-events: none; vector-effect: non-scaling-stroke; }
.mb-axis-zero { stroke: #8a8478; stroke-width: 1; fill: none; pointer-events: none; vector-effect: non-scaling-stroke; }
.mb-axis-tick, .mb-axis-name, .mb-chart-title, .mb-ex-leg { fill: #11100e; pointer-events: none; }
.mb-axis-tick { font-size: 11px; fill: #11100e; }
.mb-axis-name { font-size: 10px; fill: #5c5c5c; }
.mb-chart-title { font-size: 13px; font-weight: 700; }
.mb-hist-bar.mb-sign-pos, .mb-ex-bar.mb-sign-pos, .mb-pattern-bar.mb-sign-pos { fill: var(--mb-up); }
.mb-hist-bar.mb-sign-neg, .mb-ex-bar.mb-sign-neg, .mb-pattern-bar.mb-sign-neg { fill: var(--mb-down); }
.mb-hist-bar, .mb-ex-bar { stroke: #11100e; stroke-width: 0.7; vector-effect: non-scaling-stroke; }
.mb-hist-bar.is-on, .mb-ex-bar.is-on, .mb-ex-pt.is-on { stroke-width: 1.8; }
.mb-hist-hit, .mb-ex-hit { fill: transparent; pointer-events: all; }
.mb-ex-pt { stroke: #11100e; stroke-width: 1; vector-effect: non-scaling-stroke; }
.mb-ex-pt.is-primary { fill: var(--mb-navy); }
.mb-ex-pt.is-overlay { fill: var(--mb-gold); }
.mb-ex-line { fill: none; stroke-width: 1.6; pointer-events: none; vector-effect: non-scaling-stroke; }
.mb-ex-line.is-primary { stroke: var(--mb-navy); }
.mb-ex-line.is-overlay { stroke: var(--mb-gold); opacity: 0.85; }
.mb-ex-leg.is-primary { fill: var(--mb-navy); font-size: 10px; }
.mb-ex-leg.is-overlay { fill: #8a6d12; font-size: 10px; }
.mb-mega-row.is-on { background: var(--mb-band); }
.mb-mega-table { font-size: 0.78rem; }
.mb-season-table tbody tr[data-season] { cursor: pointer; }
.mb-instance-ledger tbody tr.is-year-off { display: none; }
.mb-chart-note { margin-top: -0.4rem; }

.mb-sleeve {
  margin: 1.15rem 0 1.25rem;
  padding: 0.95rem 1rem 1.05rem;
  border: 1px solid var(--mb-rule);
  background: #fff;
}
.mb-sleeve-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.4rem 0.85rem; margin-bottom: 0.65rem; }
.mb-sleeve-title {
  font-family: var(--mb-serif);
  color: var(--mb-ink);
  font-size: 1.15rem;
  font-weight: 600;
}
.mb-sleeve-sub { color: var(--mb-muted); font-size: 0.82rem; flex: 1 1 200px; }
.mb-sleeve-badge {
  font-size: 0.62rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 0.18rem 0.5rem;
  border: 1px solid var(--mb-rule);
  color: var(--mb-muted);
}
.mb-sleeve-badge.mb-sleeve-ok { border-color: var(--mb-up); color: var(--mb-up); }
.mb-sleeve-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
  gap: 0.45rem;
  margin: 0.65rem 0 0.85rem;
}
.mb-metric {
  background: var(--mb-paper);
  border: 1px solid var(--mb-rule);
  padding: 0.5rem 0.5rem 0.55rem;
  text-align: left;
}
.mb-metric-k {
  display: block;
  font-size: 0.62rem;
  color: var(--mb-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 700;
}
.mb-metric-v {
  display: block;
  font-family: var(--mb-serif);
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--mb-ink);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
  margin-top: 0.12rem;
}
.mb-metric-sub { display: block; font-size: 0.7rem; color: var(--mb-muted); font-weight: 600; min-height: 0.9rem; }
.mb-sleeve-chart svg { width: 100%; height: auto; display: block; min-height: 16rem; aspect-ratio: 640 / 286; background: #fff; overflow: visible; }
.mb-overlay-note { margin: 0.35rem 0 0.85rem; }
.mb-overlay-live { margin: 0.4rem 0 0.85rem; }
.mb-overlay-svg { width: 100%; height: auto; display: block; cursor: crosshair; min-height: 16rem; aspect-ratio: 640 / 286; background: #fff; overflow: visible; }
.mb-overlay-svg:focus,
.mb-overlay-hit:focus {
  outline: 2px solid var(--mb-navy);
  outline-offset: 2px;
}
.mb-overlay-hit { touch-action: none; }
@media (prefers-reduced-motion: reduce) {
  .mb-overlay-cursor { transition: none; }
}
.mb-trade-window {
  margin-top: 0.55rem;
  border: 1px solid var(--mb-ink);
  background: #fff;
  padding: 0.65rem 0.75rem 0.75rem;
}
.mb-trade-window[hidden] { display: none; }
.mb-trade-card h4 {
  font-family: var(--mb-serif);
  font-size: 1.02rem;
  font-weight: 600;
  margin: 0 0 0.25rem;
}
.mb-trade-tot {
  display: flex;
  gap: 1.1rem;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  margin: 0.35rem 0 0.55rem;
}
.mb-trade-scroll { max-height: 16rem; overflow: auto; border: 1px solid var(--mb-rule); }
.mb-trade-days th, .mb-trade-days td { font-size: 0.72rem; }
.mb-trade-basis { margin: 0.45rem 0 0; }
.mb-trade-empty { margin: 0; color: var(--mb-muted); }
.mb-instance-ledger tbody tr { cursor: pointer; }
.mb-instance-ledger tbody tr:hover,
.mb-instance-ledger tbody tr.is-on { background: var(--mb-band); }
.mb-sleeve-table { margin-top: 0.85rem; }
.mb-sleeve-parity { margin-top: 0.75rem; }
.mb-sleeve[data-tape="unhydrated"] { border-style: dashed; }
.mb-sleeve[data-tape="validated"] { border-color: var(--mb-ink); }

.mb-insight {
  margin: 1.05rem 0 1.2rem;
  padding: 0.95rem 1rem 1.05rem;
  border: 1px solid var(--mb-gold);
  background: #fff;
}
.mb-insight[data-tape="unhydrated"] { border-style: dashed; border-color: var(--mb-rule); }
.mb-insight[data-tape="validated"] { border-left: 4px solid var(--mb-gold); }
.mb-insight-lead {
  font-family: var(--mb-serif);
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--mb-ink);
  margin: 0 0 0.65rem;
}
.mb-insight-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 0.45rem; margin: 0.55rem 0 0.8rem; }
.mb-corridor-table { margin: 0.55rem 0 0.85rem; }
.mb-corridor svg, .mb-corridor-svg { width: 100%; height: auto; display: block; min-height: 16rem; aspect-ratio: 640 / 292; background: #fff; overflow: visible; }
.mb-insight-h {
  font-family: var(--mb-serif);
  color: var(--mb-ink);
  font-size: 1.02rem;
  font-weight: 600;
  margin: 0.55rem 0 0.3rem;
}
.mb-temporal-row { display: flex; flex-wrap: wrap; gap: 0.3rem; margin: 0.35rem 0 0.55rem; }
.mb-temporal-chip {
  display: inline-block;
  border: 1px solid var(--mb-rule);
  background: var(--mb-paper);
  padding: 0.18rem 0.42rem;
  font-size: 0.72rem;
  font-variant-numeric: tabular-nums;
  color: var(--mb-ink);
}
.mb-insight-legs { margin-top: 0.5rem; }
.mb-diag-metrics { margin-top: 0.35rem; }
.mb-diagnostics { margin: 0.85rem 0 0.4rem; }
.mb-hist { margin: 0.45rem 0 0.7rem; }
.mb-hist svg, .mb-hist-svg { width: 100%; height: auto; display: block; min-height: 12.5rem; aspect-ratio: 640 / 220; background: #fff; overflow: visible; }
.mb-extremes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
  margin: 0.55rem 0 0.8rem;
}
.mb-extreme-table, .mb-season-table { margin: 0.4rem 0 0.7rem; }
.mb-corridor-dot { cursor: pointer; }
.mb-pattern-bar { cursor: pointer; }
@media (max-width: 720px) {
  .mb-extremes { grid-template-columns: 1fr; }
}
.mb-diagnostics { margin: 0.85rem 0 1rem; }
.mb-diag-metrics { margin-top: 0.45rem; }
.mb-hist { margin: 0.45rem 0 0.75rem; }
.mb-hist svg, .mb-hist-svg { width: 100%; height: auto; display: block; min-height: 12.5rem; aspect-ratio: 640 / 220; background: #fff; overflow: visible; }
.mb-extremes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
  margin: 0.45rem 0 0.75rem;
}
.mb-extreme-table { margin: 0; }
.mb-corridor-dot { cursor: pointer; }
.mb-pattern-bar { cursor: pointer; }
.mb-corridor-table { max-width: 100%; }
@media (max-width: 720px) {
  .mb-extremes { grid-template-columns: 1fr; }
}
.mb-instance-ledger { margin: 1rem 0 1.2rem; }
.mb-instance-scroll {
  max-height: 28rem;
  overflow: auto;
  border: 1px solid var(--mb-rule);
}

.mb-ioe { margin: 0 0 1.15rem; }
.mb-funnel-hook {
  background: var(--mb-paper);
  border-color: var(--mb-ink);
  border-width: 1px;
  padding-top: 1.15rem;
}
.mb-ioe-kicker {
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.68rem;
  font-weight: 800;
  color: var(--mb-wordmark);
  margin-bottom: 0.3rem;
}
.mb-ioe-lead {
  font-family: var(--mb-serif);
  font-size: 1.08rem;
  line-height: 1.35;
  margin: 0.35rem 0 0.85rem;
  max-width: 42rem;
}
.mb-ioe-buyer {
  margin: 0.15rem 0 0.35rem;
  max-width: 42rem;
  font-size: 0.92rem;
  line-height: 1.45;
  color: var(--mb-ink);
}
.mb-ioe-honesty-h {
  margin: 0.85rem 0 0.35rem;
  font-size: 0.88rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--mb-ink);
}
.mb-ioe-layers {
  list-style: none;
  margin: 0.35rem 0 0.85rem;
  counter-reset: layer;
}
.mb-ioe-layers li {
  counter-increment: layer;
  margin: 0.65rem 0;
  padding-left: 1.6rem;
  position: relative;
}
.mb-ioe-layers li::before {
  content: counter(layer);
  position: absolute;
  left: 0;
  top: 0;
  font-family: var(--mb-serif);
  color: var(--mb-wordmark);
  font-weight: 600;
}
.mb-ioe-layers strong { color: var(--mb-ink); display: block; font-size: 0.88rem; }
.mb-ioe-layers span { display: block; color: var(--mb-muted); font-size: 0.84rem; font-weight: 400; margin-top: 0.15rem; }
.mb-ioe-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 0.5rem;
  margin: 0.75rem 0 0.45rem;
}
.mb-ioe-metrics-hero { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mb-funnel-hook h2, .mb-funnel-method h2, .mb-funnel-cta h2 { color: var(--mb-ink); }
.mb-funnel-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0.9rem 0 0.15rem;
}
.mb-funnel-actions a {
  display: inline-block;
  border: 1px solid var(--mb-ink);
  color: var(--mb-ink);
  padding: 0.55rem 0.9rem;
  font-weight: 700;
  text-decoration: none;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.mb-funnel-actions a.mb-funnel-primary {
  background: var(--mb-ink);
  color: var(--mb-paper);
}
.mb-funnel-actions a.mb-funnel-primary:hover {
  background: var(--mb-wordmark);
  border-color: var(--mb-wordmark);
  color: #fff;
}
.mb-ioe-strip {
  margin: 0 0 1rem;
  padding: 0.45rem 0;
  border: 0;
  border-bottom: 1px solid var(--mb-rule);
  background: transparent;
  font-size: 0.78rem;
  color: var(--mb-muted);
}
.mb-ladder h2 { margin-bottom: 0.55rem; }
.mb-ladder-rungs {
  list-style: none;
  margin: 0.55rem 0 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
  counter-reset: rung;
}
.mb-ladder-rungs li {
  counter-increment: rung;
  margin: 0;
  border: 1px solid var(--mb-rule);
  padding: 0.85rem 0.8rem 0.95rem;
  background: #fff;
}
.mb-ladder-rungs li::before {
  content: counter(rung);
  display: block;
  font-family: var(--mb-serif);
  font-size: 1.25rem;
  color: var(--mb-wordmark);
  font-weight: 600;
  line-height: 1;
  margin-bottom: 0.3rem;
}
.mb-ladder-rungs strong { color: var(--mb-ink); display: block; font-size: 0.95rem; margin-bottom: 0.25rem; }
.mb-ladder-rungs span { display: block; color: var(--mb-muted); font-size: 0.8rem; }
.mb-refuse-list { margin: 0.55rem 0 0 1.1rem; color: var(--mb-muted); }
.mb-refuse-list li { margin: 0.28rem 0; font-size: 0.85rem; }

.mb-analog-note { font-size: 0.8rem; }

.stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 0.65rem; margin: 1rem 0; }
.stat { background: var(--mb-paper); border: 1px solid var(--mb-rule); padding: 0.75rem; text-align: left; }
.stat .label { font-size: 0.68rem; color: var(--mb-muted); text-transform: uppercase; letter-spacing: 0.08em; }
.stat .value { font-family: var(--mb-serif); font-size: 1.3rem; font-weight: 600; color: var(--mb-ink); }
.hold-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 4px; margin: 1rem 0; }
.hold-cell { background: var(--mb-paper); border: 1px solid var(--mb-rule); padding: 0.4rem; text-align: center; font-size: 0.8rem; }
.hold-label { font-weight: 600; color: var(--mb-muted); }
.cta { background: var(--mb-paper); border: 1px solid var(--mb-ink); padding: 1rem 1.2rem; margin: 1rem 0 1.5rem; }
.archive-item a { display: block; padding: 0; text-decoration: none; color: inherit; }
.badge { background: var(--mb-band); color: var(--mb-ink); padding: 0.15rem 0.5rem; font-size: 0.72rem; margin-left: 0.5rem; letter-spacing: 0.06em; text-transform: uppercase; }
.loading { text-align: center; padding: 4rem; color: var(--mb-muted); font-family: var(--mb-serif); }
.error { border: 1px solid var(--mb-down); padding: 1rem; margin: 1rem 0; background: var(--mb-paper); }

.mb-site-foot {
  margin-top: 1.4rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--mb-rule);
}

@media (max-width: 720px) {
  .mb-hero { grid-template-columns: 1fr; }
  .mb-editions { grid-template-columns: 1fr; }
  .mb-ladder-rungs { grid-template-columns: 1fr; }
  .mb-ioe-metrics-hero { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .header { text-align: left; }
}
@media (max-width: 640px) {
  .mb-hold-grid { gap: 0.15rem; }
  .mb-slot-top { min-height: 3.5rem; }
  .mb-slot-bot { min-height: 4rem; }
  .mb-callout { font-size: 0.72rem; padding: 0.28rem 0.35rem; }
  .mb-tick-date { font-size: 0.66rem; }
  .mb-masthead { flex-direction: column; }
  .mb-instances { text-align: left; }
  .mb-event-kind { font-size: 0.62rem; }
  .container { padding: 1rem 0.9rem 2.4rem; }
}
