/* ═══════════════════════════════════════════════════════════════════════════
   THE EDITION — stylesheet.

   Rewritten 3 Sep 2026 against docs/INTEL-UX-DESIGN-BRIEF.md. Colour comes
   from assets/css/intel-tokens.css (loaded first, from the same <helmet>);
   this file owns the Edition's components and layout.

   What moved out of the template and into classes here, and why:
     · the masthead (full on Home, compact everywhere else and on scroll);
     · buttons, tags, the status word, table rows, the sheet, the command
       menu, empty states — anything a person clicks is a component with a
       size and a state, not a tracked-caps text link;
     · the phone and touch tiers, which a media query could never reach
       while the values sat in inline style attributes.
   The remaining inline styles in edition.html are layout (grids, padding)
   and the bindings edition-app.js computes per row.
   ═══════════════════════════════════════════════════════════════════════ */

html, body { margin: 0; padding: 0; background: var(--paper, #F3EFE7); }

/* Entrances only. ed-word (word-by-word headline), ed-ghost (the 20vw desk
   name), ed-blink (FLASH / LIVE / skeletons) and ed-flash (the theme veil)
   are gone — every one looped or asserted a state. */
@keyframes ed-rise { from { opacity: 0; transform: translateY(18px) } to { opacity: 1; transform: translateY(0) } }
@keyframes ed-drop { from { opacity: 0; transform: translateY(-10px) } to { opacity: 1; transform: translateY(0) } }
@keyframes ed-rule { from { transform: scaleX(0) } to { transform: scaleX(1) } }
@keyframes ed-in { from { opacity: 0 } to { opacity: 1 } }
@keyframes ed-sheet { from { transform: translateX(105%) } to { transform: translateX(0) } }

.ed-root {
  min-height: 100vh; background: var(--paper); color: var(--ink);
  font-family: var(--sans);
  font-feature-settings: "ss01", "kern";
  transition: background .3s ease, color .3s ease;   /* the edition crossfade, no veil */
}

/* ══ MASTHEAD ═════════════════════════════════════════════════════════════
   Home keeps the full front-page masthead. Every other desk gets the compact
   one — a 56px bar (mark, wordmark, date and clock, the alert counters as
   links) with the nav rail beneath, ~100px in total, stuck to the top.
   Scrolling Home past its own masthead swaps in the compact one as a fixed
   bar; --mast-h (measured by edition-app.js before the swap) holds the full
   masthead's height as padding on <main> so the page does not jump. */
.ed-mast { background: var(--paper); transition: background .3s ease; z-index: 20; }
.ed-mast-in { max-width: 1560px; margin: 0 auto; padding: 22px 40px 0 40px; }
.ed-mast-meta {
  display: flex; justify-content: space-between; align-items: baseline;
  font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-2); font-weight: 500;
  animation: ed-drop .5s ease both;
}
.ed-mast-metagrp { display: flex; gap: 24px; }
.ed-mast-edition { color: var(--red-text); font-weight: 600; }
.ed-mast-internal { font-weight: 600; }
.ed-mast-rule { background: var(--rule-2); transform-origin: left; transition: background .3s; }
.ed-mast-rule-top { height: 2px; margin-top: 10px; animation: ed-rule .7s cubic-bezier(.7,0,.2,1) both .1s; }
.ed-mast-rule-mid { height: 1px; animation: ed-rule .7s cubic-bezier(.7,0,.2,1) both .2s; }
.ed-mast-rule-low { height: 1px; background: var(--rule); }
.ed-mast-logorow { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 26px 0 18px 0; }
.ed-mast-logogrp { display: flex; align-items: flex-end; gap: 22px; animation: ed-rise .7s cubic-bezier(.2,.7,.2,1) both .15s; min-width: 0; }
.ed-mast-logo { height: 58px; display: block; filter: var(--logo-f); transition: filter .3s, height .2s; }
.ed-mast-sub { font-size: 13px; letter-spacing: .34em; color: var(--ink-2); padding-bottom: 6px; font-weight: 500; white-space: nowrap; }
.ed-mast-compactmeta { display: none; gap: 16px; align-items: baseline; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-2); font-weight: 500; white-space: nowrap; }
.ed-mast-alerts { display: flex; gap: 28px; align-items: flex-end; animation: ed-rise .7s ease both .25s; }
.ed-mast-stat { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; text-decoration: none; color: var(--ink); min-height: 32px; justify-content: flex-end; }
.ed-mast-stat .ed-label { white-space: nowrap; }
.ed-mast-stat:hover .ed-mast-num { color: var(--red-text); }
.ed-mast-num { font-size: 20px; font-weight: 700; letter-spacing: -.02em; line-height: 1; font-variant-numeric: tabular-nums; transition: color .2s; }

/* the compact bar */
.ed-root[data-compact="on"] .ed-mast { position: sticky; top: 0; }
.ed-root[data-compact="on"] .ed-mast-in { padding-top: 0; }
.ed-root[data-compact="on"] .ed-mast-meta,
.ed-root[data-compact="on"] .ed-mast-rule-top { display: none; }
.ed-root[data-compact="on"] .ed-mast-logorow { padding: 12px 0 11px 0; align-items: center; min-height: 56px; box-sizing: border-box; }
.ed-root[data-compact="on"] .ed-mast-logogrp { align-items: center; gap: 18px; animation: none; }
.ed-root[data-compact="on"] .ed-mast-logo { height: 26px; }
.ed-root[data-compact="on"] .ed-mast-sub { font-size: 12px; letter-spacing: .2em; padding-bottom: 0; }
.ed-root[data-compact="on"] .ed-mast-compactmeta { display: flex; padding-left: 18px; border-left: 1px solid var(--rule); }
.ed-root[data-compact="on"] .ed-mast-alerts { animation: none; align-items: center; gap: 22px; }
.ed-root[data-compact="on"] .ed-mast-stat { flex-direction: row; align-items: baseline; gap: 8px; }
.ed-root[data-compact="on"] .ed-mast-num { font-size: 15px; }
.ed-root[data-compact="on"] .ed-mast-rule-mid { animation: none; }
/* Home, scrolled past its own masthead: the compact bar is fixed and <main>
   keeps the full masthead's height so nothing moves underneath. */
.ed-root[data-scrolled="on"] .ed-mast { position: fixed; top: 0; left: 0; right: 0; box-shadow: 0 1px 0 var(--rule); }
.ed-root[data-scrolled="on"] .ed-main { padding-top: var(--mast-h, 236px) !important; }

/* ══ NAV RAIL ═════════════════════════════════════════════════════════════ */
.ed-nav { display: flex; align-items: stretch; gap: 0; flex-wrap: wrap; animation: ed-in .6s ease both .3s; }
.ed-root[data-compact="on"] .ed-nav { animation: none; }
.ed-nav-desk {
  display: flex; gap: 9px; align-items: baseline; white-space: nowrap; text-decoration: none;
  color: var(--ink-2); font-size: 12px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase;
  padding: 12px 20px 13px 0; margin-right: 20px; border-bottom: 2px solid transparent;
  min-height: 32px; box-sizing: border-box;
  transition: color .2s, border-color .2s;
}
.ed-nav-desk:hover { color: var(--ink); }
.ed-nav-desk.ed-on { color: var(--ink); font-weight: 700; border-bottom-color: var(--red); }
.ed-nav-key { font-size: 12px; color: var(--ink-3); font-variant-numeric: tabular-nums; }
.ed-nav-desk.ed-on .ed-nav-key { color: var(--ink); }
.ed-nav-util { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.ed-nav-pill {
  display: inline-flex; align-items: center; min-height: 32px; padding: 0 12px; box-sizing: border-box;
  text-decoration: none; color: var(--ink-2); font-size: 12px; letter-spacing: .06em; font-weight: 600;
  border: 1px solid var(--rule); white-space: nowrap; transition: color .2s, border-color .2s;
}
.ed-nav-pill:hover { color: var(--ink); border-color: var(--rule-2); }

/* ══ MAIN ═════════════════════════════════════════════════════════════════ */
.ed-main { max-width: 1560px; margin: 0 auto; padding: 0 40px 80px 40px; }
@media (min-width: 1440px) { .ed-main { padding-left: 48px; padding-right: 48px; } .ed-mast-in { padding-left: 48px; padding-right: 48px; } }
.ed-main h2 { font-size: 40px; font-weight: 700; letter-spacing: -.02em; margin: 0; }

/* ══ EDITORIAL LAYER ══════════════════════════════════════════════════════ */
.ed-kicker { font-size: 12px; line-height: 1.3; letter-spacing: .12em; font-weight: 600; text-transform: uppercase; color: var(--ink-2); }
.ed-kicker-row { display: flex; gap: 14px; align-items: center; margin-bottom: 14px; }
.ed-dateline { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; margin-top: 16px; }
.ed-lead { cursor: pointer; padding-left: 0; border-left: 3px solid transparent; transition: border-color .25s, padding-left .25s; animation: ed-rise .8s cubic-bezier(.2,.7,.2,1) both .35s; }
.ed-lead.ed-focus { padding-left: 18px; border-left-color: var(--red); }
.ed-story { cursor: pointer; padding: 24px 6px 26px 6px; border-bottom: 1px solid var(--rule); border-left: 3px solid transparent; transition: border-color .25s; animation: ed-rise .7s cubic-bezier(.2,.7,.2,1) both; }
.ed-story.ed-focus { border-left-color: var(--red); }
.ed-story:hover { background: var(--wash); }
.ed-sechead { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; animation: ed-rise .6s ease both; }
.ed-subline { margin-top: 8px; animation: ed-in .6s ease both .1s; }
.ed-rulehead { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; border-bottom: 2px solid var(--rule-2); padding-bottom: 8px; transition: border-color .3s; }
.ed-cardbox { background: var(--card); border: 1px solid var(--rule-2); padding: 18px 20px; transition: background .3s, border-color .3s; }

/* ══ EMPTY STATE — Headline 2, Dek, one Text action, in the voice of the
   quiet morning, in the upper third of the desk. ═══════════════════════ */
.ed-empty { padding: 44px 0 56px 0; max-width: 60ch; animation: ed-rise .6s cubic-bezier(.2,.7,.2,1) both .15s; }
.ed-empty .ed-h2 { margin: 0; }
.ed-empty .ed-dek { color: var(--ink-2); margin-top: 12px; }
.ed-empty-acts { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 18px; }
.ed-empty-acts .ed-btn-text { padding-left: 0; gap: 0; }   /* the interpolation is its own span; no gap between it and the quote marks */

/* ══ SEGMENTED CONTROL (List / Board, People / Companies, region chips,
   the System tabs) ══════════════════════════════════════════════════════ */
.ed-seg { display: inline-flex; border: 1px solid var(--rule-2); flex-wrap: wrap; }
.ed-seg-item {
  display: inline-flex; align-items: center; min-height: 32px; padding: 0 14px; box-sizing: border-box;
  text-decoration: none; color: var(--ink-2); font-size: 13px; font-weight: 500; letter-spacing: 0; white-space: nowrap;
  border-right: 1px solid var(--rule); transition: background .2s, color .2s;
}
.ed-seg-item:last-child { border-right: none; }
.ed-seg-item:hover { color: var(--ink); }
.ed-seg-item.ed-on { background: var(--ink); color: var(--paper); font-weight: 600; }
.ed-seg-item .ed-seg-n { margin-left: 6px; color: inherit; opacity: .7; font-variant-numeric: tabular-nums; }

/* ══ TABLES ═══════════════════════════════════════════════════════════════
   Headers Label 12 in --ink-2. Rows 44px. Identity cell Body 14 / 600.
   Hover --wash; the selected row a 2px ink bar on the left. */
.ed-tblh { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-2); font-weight: 600; transition: border-color .3s; }
.ed-tblh a { text-decoration: none; }
.ed-tbl { min-height: 44px; box-sizing: border-box; border-left: 2px solid transparent; }
.ed-tbl.ed-selected { border-left-color: var(--ink); }
.ed-row-open { cursor: pointer; transition: background .2s; }
.ed-row-open:hover { background: var(--wash); }
.ed-iso { font-size: 12px; letter-spacing: .12em; font-weight: 600; text-transform: uppercase; color: var(--ink-2); }
.ed-ident { font-size: 14px; font-weight: 600; line-height: 1.35; }
.ed-cell { font-size: 14px; font-weight: 500; }
.ed-cell-2 { font-size: 14px; font-weight: 500; color: var(--ink-2); }
.ed-score { font-size: 14px; font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; }
.ed-row-act { justify-self: end; }
.ed-chevron { color: var(--ink-3); font-size: 14px; }
.ed-star { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; text-decoration: none; font-size: 15px; color: var(--ink-3); transition: color .2s; }
.ed-star:hover, .ed-star.ed-on { color: var(--red-text); }

/* ══ FORMS ════════════════════════════════════════════════════════════════ */
.ed-input {
  background: var(--paper); border: 1px solid var(--rule); color: var(--ink); font-family: inherit;
  font-size: 14px; padding: 0 12px; min-height: 40px; box-sizing: border-box; border-radius: 0;
  transition: border-color .2s, background .3s;
}
.ed-input:focus { border-color: var(--rule-2); }
.ed-input-line { background: transparent; border: none; border-bottom: 1px solid var(--rule); color: var(--ink); font-family: inherit; font-size: 15px; font-weight: 500; padding: 8px 2px; min-height: 36px; box-sizing: border-box; border-radius: 0; transition: border-color .2s; }
.ed-input-line:focus { border-bottom-color: var(--rule-2); }
.ed-field { display: flex; flex-direction: column; gap: 6px; }
.ed-composer { display: flex; gap: 12px; margin-top: 22px; border-top: 2px solid var(--rule-2); padding-top: 18px; transition: border-color .3s; animation: ed-rise .6s ease both .3s; }
.ed-composer .ed-input { flex: 1; min-height: 48px; font-size: 15px; padding: 0 15px; }
.ed-composer .ed-btn-fill { min-height: 48px; }

/* ══ SIGNALS: alert card ══════════════════════════════════════════════════ */
.ed-alert { padding: 16px 6px; border-bottom: 1px solid var(--rule); cursor: pointer; animation: ed-rise .6s ease both; transition: background .2s, opacity .3s; }
.ed-alert:hover { background: var(--wash); }
.ed-alert-hd { display: flex; gap: 12px; align-items: center; margin-bottom: 8px; flex-wrap: wrap; }
.ed-inline-acts { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }

/* ══ AGENTS ═══════════════════════════════════════════════════════════════ */
.ed-agent-mark { width: 44px; height: 44px; border: 1px solid var(--rule-2); display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 700; color: var(--red-text); transition: border-color .3s; }
.ed-agent-mark-lg { width: 64px; height: 64px; font-size: 28px; }

/* ══ DETAIL SHEET ═════════════════════════════════════════════════════════ */
.ed-scrim { position: fixed; inset: 0; background: rgba(12,10,7,.35); z-index: 40; animation: ed-in .2s ease both; }
.ed-sheet {
  position: fixed; top: 0; right: 0; bottom: 0; max-width: 94vw;
  background: var(--paper); border-left: 2px solid var(--rule-2); box-shadow: -30px 0 80px var(--shadow);
  z-index: 41; display: flex; flex-direction: column;
  animation: ed-sheet .24s cubic-bezier(.2,.7,.2,1) both; transition: background .3s, border-color .3s;
}
.ed-sheet-hd { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 10px 16px 10px 26px; border-bottom: 2px solid var(--rule-2); transition: border-color .3s; }
.ed-sheet-x { min-width: 44px; min-height: 44px; font-size: 22px; line-height: 1; padding: 0; }
.ed-sheet-body { flex: 1; overflow: auto; padding: 22px 26px 30px 26px; }
.ed-sheet-title { margin: 0; font-size: 18px; line-height: 1.25; font-weight: 700; letter-spacing: -.015em; }
.ed-sheet-meta { margin-top: 8px; line-height: 1.7; }
.ed-sheet-sec { margin-top: 22px; }
.ed-sheet-sechead { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; border-bottom: 2px solid var(--rule-2); padding-bottom: 7px; transition: border-color .3s; }
.ed-bar { flex: 1; height: 8px; background: var(--wash); position: relative; }
.ed-bar-fill { position: absolute; inset: 0; right: auto; background: var(--red); }
.ed-bar-fill.ed-bar-ink { background: var(--ink); }
.ed-sheet-foot { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 16px 26px; border-top: 2px solid var(--rule-2); transition: border-color .3s; }
.ed-sheet-act { width: 100%; }
.ed-pillrow { display: flex; gap: 6px; flex-wrap: wrap; }
.ed-pill {
  display: inline-flex; align-items: center; justify-content: center; min-height: 32px; min-width: 32px; padding: 0 12px; box-sizing: border-box;
  text-decoration: none; font-size: 13px; font-weight: 600; color: var(--ink-2); background: var(--paper); border: 1px solid var(--rule);
  transition: background .2s, color .2s, border-color .2s;
}
.ed-pill:hover { border-color: var(--ink); color: var(--ink); }
.ed-pill.ed-on { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.ed-pill.ed-warn.ed-on { background: var(--red-text); border-color: var(--red-text); }

/* ══ PRESS NOTE (toast) ═══════════════════════════════════════════════════ */
.ed-toast { position: fixed; bottom: 46px; left: 50%; transform: translateX(-50%); background: var(--ink); color: var(--paper); font-size: 13px; letter-spacing: .04em; font-weight: 600; padding: 12px 22px; z-index: 60; white-space: nowrap; animation: ed-rise .3s cubic-bezier(.2,.7,.2,1) both; transition: background .3s, color .3s; }

/* ══ COMMAND MENU ═════════════════════════════════════════════════════════ */
.ed-kbar-scrim { position: fixed; inset: 0; background: rgba(12,10,7,.45); z-index: 50; display: flex; justify-content: center; padding-top: 14vh; animation: ed-in .18s ease both; }
.ed-kbar { width: 620px; height: fit-content; background: var(--card); border: 1px solid var(--rule-2); box-shadow: 0 30px 80px var(--shadow); animation: ed-rise .28s cubic-bezier(.2,.7,.2,1) both; transition: background .3s; }
.ed-kbar-hd { display: flex; justify-content: space-between; gap: 12px; padding: 12px 18px; border-bottom: 2px solid var(--rule-2); }
.ed-kbar-input { width: 100%; box-sizing: border-box; background: transparent; border: none; border-bottom: 1px solid var(--rule); color: var(--ink); font-family: inherit; font-size: 16px; padding: 14px 18px; min-height: 48px; }
.ed-kbar-row { display: flex; gap: 14px; align-items: center; padding: 10px 18px; min-height: 44px; box-sizing: border-box; cursor: pointer; border-bottom: 1px solid var(--rule); }
.ed-kbar-row:hover, .ed-kbar-row.ed-on { background: var(--wash); }
.ed-kbar-row .ed-tag { width: 68px; justify-content: center; }
.ed-kbar-label { flex: 1; font-size: 14px; font-weight: 500; }
.ed-kbar-kbd { min-width: 20px; text-align: right; }

/* ══ KEYBOARD LEGEND ══════════════════════════════════════════════════════ */
.ed-legend {
  position: fixed; bottom: 0; left: 0; right: 0; background: var(--paper); border-top: 1px solid var(--rule);
  display: flex; justify-content: center; align-items: center; gap: 34px; padding: 9px 0;
  font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-2); font-weight: 500;
  z-index: 10; transition: background .3s; animation: ed-in .8s ease both .8s;
}
.ed-legend-right { color: var(--red-text); font-weight: 600; }
.ed-legend-util { display: none; }   /* the phone's night toggle and ⌘K live here; see the phone tier */

/* ══ CONNECTION FAULT ═════════════════════════════════════════════════════ */
.ed-fault { border: 1px solid var(--red-text); padding: 16px 20px; animation: ed-rise .4s ease both; }
.ed-fault-row { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; }
.ed-fault-hd { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: var(--red-text); }

/* ══ SKELETONS — still, not pulsing ═══════════════════════════════════════ */
.ed-skel { background: var(--rule); opacity: .6; }

/* rendered-markdown voice for agent deliverables (paper/ink) */
.ed-md { font-size: 15px; line-height: 1.68; color: var(--ink); }
.ed-md h1, .ed-md h2, .ed-md h3, .ed-md h4, .ed-md h5, .ed-md h6 { font-weight: 700; letter-spacing: -.015em; line-height: 1.15; margin: 26px 0 10px 0; }
.ed-md h1 { font-size: 30px; letter-spacing: -.02em; }
.ed-md h2 { font-size: 24px; border-bottom: 1px solid var(--rule); padding-bottom: 8px; }
.ed-md h3 { font-size: 19px; }
.ed-md h4, .ed-md h5, .ed-md h6 { font-size: 15px; text-transform: uppercase; letter-spacing: .08em; }
.ed-md p { margin: 0 0 14px 0; }
.ed-md ul, .ed-md ol { margin: 0 0 14px 0; padding-left: 22px; }
.ed-md li { margin: 5px 0; }
.ed-md blockquote { margin: 14px 0; padding: 2px 0 2px 16px; border-left: 3px solid var(--red); color: var(--ink-2); font-style: italic; }
.ed-md hr { border: none; border-top: 1px solid var(--rule); margin: 22px 0; }
.ed-md code { font-family: ui-monospace, Menlo, monospace; font-size: 13px; background: var(--wash); padding: 1px 5px; }
.ed-md pre { font-family: ui-monospace, Menlo, monospace; font-size: 12.5px; line-height: 1.55; background: var(--card); border: 1px solid var(--rule); padding: 14px 16px; overflow-x: auto; margin: 0 0 14px 0; }
.ed-md pre code { background: none; padding: 0; }
.ed-md table { border-collapse: collapse; width: 100%; margin: 0 0 16px 0; font-size: 14px; }
.ed-md th { text-align: left; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-2); border-bottom: 2px solid var(--rule-2); padding: 7px 10px 7px 0; }
.ed-md td { border-bottom: 1px solid var(--rule); padding: 8px 10px 8px 0; vertical-align: top; }
.ed-md a { color: var(--red-text); text-decoration: underline; text-underline-offset: 3px; }
.ed-md strong { font-weight: 700; }

/* ══════════════════════════════════════════════════════════════════════════
   MOBILE REFLOW — phone (<=700px) and tablet (<=1000px) tiers.

   Two mechanisms still share the work, on the same principled line as the
   25 Aug 2026 pass: values that already have a BINDING (twoCol, boardCols,
   shW, cfCols …) get their phone tier in edition-app.js; the data tables,
   which are grid templates in the markup, are reflowed here by class +
   @media + !important, because a stacked cell has to carry its own label
   and only ::before content can inject one. !important inside @media beats
   an inline style attribute — that is the sanctioned way to reach them.
   ══════════════════════════════════════════════════════════════════════ */

/* ── TABLET TIER (<=1000px): System -> Sources is eight columns whose fixed
   tracks alone total 890px. It becomes a record card one tier early. ─── */
@media (max-width: 1000px) {
  .ed-tblh-src { display: none !important; }
  .ed-tbl-src {
    display: flex !important; flex-wrap: wrap !important;
    align-items: baseline !important; gap: 6px 14px !important;
    padding: 15px 6px !important;
  }
  .ed-tbl-src > *:nth-child(1) { order: 1; flex: 1 1 calc(100% - 130px); min-width: 0; font-size: 16px !important; }
  .ed-tbl-src > *:nth-child(7) { order: 2; flex: 0 0 auto; }
  .ed-tbl-src > *:nth-child(2) { order: 3; }
  .ed-tbl-src > *:nth-child(3) { order: 4; }
  .ed-tbl-src > *:nth-child(4) { order: 5; }
  .ed-tbl-src > *:nth-child(5) { order: 6; }
  .ed-tbl-src > *:nth-child(6) { order: 7; text-align: left !important; }
  .ed-tbl-src > *:nth-child(8) { order: 8; flex: 1 1 100%; justify-content: flex-start !important; margin-top: 4px; }
  .ed-tbl-src > *:nth-child(2)::before { content: 'KIND '; }
  .ed-tbl-src > *:nth-child(3)::before { content: 'REGION '; }
  .ed-tbl-src > *:nth-child(4)::before { content: 'CADENCE '; }
  .ed-tbl-src > *:nth-child(5)::before { content: 'FETCHED '; }
  .ed-tbl-src > *:nth-child(6)::before { content: '/DAY '; }
  .ed-tbl-src > *::before {
    font-size: 12px; letter-spacing: .12em; font-weight: 600;
    color: var(--ink-2); margin-right: 4px;
  }
  /* the compact masthead's date group is the first thing to give */
  .ed-mast-compactmeta > span:nth-child(2) { display: none; }
}

/* ── PHONE TIER (<=700px) ─────────────────────────────────────────────── */
@media (max-width: 700px) {

  /* The legend's phone height is a CONSTANT the switcher hand-off depends on:
     edition.html's script tag says data-bottom-mobile="calc(48px + 12px +
     env(safe-area-inset-bottom,0px))", and that promise is only true if the
     legend is pinned to exactly 48px. 48 rather than the old 34 because the
     night toggle and ⌘K now live in it as 44px targets. */
  :root { --ed-legend-h: 48px; }

  .ed-root { min-height: 100dvh !important; }

  /* iOS Safari zooms the whole page whenever a focused field is under 16px. */
  .ed-root input, .ed-root select, .ed-root textarea { font-size: 16px !important; line-height: 1.2; }
  .ed-root input[maxlength] { width: auto !important; min-width: 62px !important; }

  .ed-root a, .ed-root input, .ed-root select, .ed-root textarea,
  .ed-root [onclick], .ed-root [role=button] { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
  .ed-scroll, .ed-crit-scroll, .ed-board, .ed-nav, .ed-systabs, .ed-legend { overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
  .ed-nav::-webkit-scrollbar, .ed-systabs::-webkit-scrollbar, .ed-board::-webkit-scrollbar, .ed-legend::-webkit-scrollbar { display: none; }
  .ed-nav, .ed-systabs, .ed-board, .ed-legend { scrollbar-width: none; }

  /* ═══ MASTHEAD: the compact bar only, under 96px ═══
     edition-app.js sets data-compact="on" on every desk on a phone, Home
     included, and never sets data-scrolled there. */
  .ed-mast-in { padding: 0 16px !important; }
  .ed-mast-meta, .ed-mast-rule-top { display: none !important; }
  /* 44px row (the stat links are the 44px targets) + 1px rule + 47px rail + 1px rule = 93px, under the 96px ceiling */
  .ed-mast-logorow { padding: 0 !important; align-items: center !important; min-height: 44px !important; gap: 12px !important; }
  .ed-mast-logogrp { align-items: center !important; gap: 12px !important; animation: none !important; min-width: 0; }
  .ed-mast-logo { height: 22px !important; }
  .ed-mast-sub { display: none !important; }
  .ed-mast-compactmeta { display: flex !important; padding-left: 12px !important; gap: 10px !important; border-left: 1px solid var(--rule); min-width: 0; overflow: hidden; }
  .ed-mast-compactmeta > span:nth-child(3) { display: none; }   /* the clock; the date stays */
  .ed-mast-alerts { animation: none !important; gap: 14px !important; align-items: center !important; flex: none; }
  .ed-mast-stat { flex-direction: row !important; align-items: baseline !important; gap: 6px !important; min-height: 44px; }
  .ed-mast-stat .ed-label { display: none; }            /* the number carries it; the label returns on tap in the desk */
  .ed-mast-stat::before { content: '▲'; font-size: 11px; color: var(--red-text); }
  .ed-mast-stat:nth-child(2)::before { content: '$'; display: none; }
  .ed-mast-num { font-size: 15px !important; }

  /* ═══ NAV RAIL: one swipeable strip of all nine desks; the night toggle
     and ⌘K move to the legend bar. ═══ */
  .ed-nav { flex-wrap: nowrap !important; overflow-x: auto; overscroll-behavior-x: contain; animation: none !important; }
  .ed-nav-desk { padding: 14px 14px 15px 0 !important; margin-right: 12px !important; min-height: 44px; }
  .ed-nav-util { display: none !important; }

  /* ═══ MAIN ═══ 40px -> 16px of side padding; the bottom padding clears the
     legend and the home indicator. The B/ switcher no longer floats here: it is
     hosted at the end of the legend (data-host-mobile on its script tag). */
  .ed-main {
    padding: 0 16px calc(var(--ed-legend-h, 48px) + env(safe-area-inset-bottom, 0px) + 16px) 16px !important;
  }
  .ed-main h2 { font-size: 30px !important; letter-spacing: -.015em !important; }
  .ed-sechead { flex-direction: column !important; align-items: flex-start !important; gap: 10px !important; }
  .ed-headcluster { flex-wrap: wrap !important; gap: 10px 12px !important; }
  .ed-wrapline { flex-wrap: wrap !important; gap: 6px 18px !important; }
  .ed-2col > * { min-width: 0; }
  .ed-stories { grid-template-columns: 1fr !important; }
  .ed-2up { grid-template-columns: 1fr !important; }
  .ed-stat4 { grid-template-columns: repeat(2, 1fr) !important; }
  .ed-stat4 > *:nth-child(n+3) { border-top: 1px solid var(--rule); }
  .ed-systabs { flex-wrap: nowrap !important; overflow-x: auto; overscroll-behavior-x: contain; }
  .ed-systabs .ed-seg { flex-wrap: nowrap; }

  /* every action a 44px target */
  .ed-btn, .ed-btn-sm, .ed-seg-item, .ed-pill, .ed-nav-pill { min-height: 44px !important; }
  .ed-inline-acts { gap: 8px !important; }
  .ed-inline-acts > .ed-btn { flex: 1 1 auto; }

  /* ══ THE DATA TABLES: each multi-column grid becomes a stacked card that
     carries its own labels at Label 12 / Body 14. ══ */
  .ed-tblh, .ed-tblh-mkt, .ed-tblh-ppl, .ed-tblh-co { display: none !important; }
  .ed-tbl {
    display: flex !important; flex-wrap: wrap !important;
    align-items: baseline !important; gap: 6px 12px !important;
  }
  .ed-tbl > *::before, .ed-tblh + .ed-tbl > *::before {
    font-size: 12px; letter-spacing: .12em; font-weight: 600;
    color: var(--ink-2); margin-right: 4px;
  }

  /* SIGNALS wire row */
  .ed-tbl-wire { padding: 14px 6px !important; }
  .ed-tbl-wire > *:nth-child(1) { order: 1; }
  .ed-tbl-wire > *:nth-child(2) { order: 2; }
  .ed-tbl-wire > *:nth-child(4) { order: 3; text-align: left !important; margin-left: auto; }
  .ed-tbl-wire > *:nth-child(3) { order: 4; flex: 1 1 100%; font-size: 16px !important; }
  .ed-tbl-wire > *:nth-child(4)::before { content: 'SCORE '; }

  /* MARKETS */
  .ed-tbl-mkt { padding: 14px 6px !important; }
  .ed-tbl-mkt > *:nth-child(1) { order: 1; flex: 0 0 auto; }
  .ed-tbl-mkt > *:nth-child(2) { order: 2; flex: 1 1 calc(100% - 56px); min-width: 0; font-size: 17px !important; }
  .ed-tbl-mkt > *:nth-child(3) { order: 3; text-align: left !important; }
  .ed-tbl-mkt > *:nth-child(4) { order: 4; text-align: left !important; }
  .ed-tbl-mkt > *:nth-child(5) { order: 5; text-align: left !important; }
  .ed-tbl-mkt > *:nth-child(3)::before { content: 'SCORE '; }
  .ed-tbl-mkt > *:nth-child(4)::before { content: '\00394 30D '; }
  .ed-tbl-mkt > *:nth-child(5)::before { content: 'SIGNALS '; }
  .ed-tbl-mkt > *:nth-child(6) { order: 6; flex: 1 1 100%; margin-top: 8px; width: 100%; }

  /* CRM PEOPLE */
  .ed-tbl-ppl { padding: 14px 6px !important; }
  .ed-tbl-ppl > *:nth-child(1) { order: 1; flex: 0 0 26px; }
  .ed-tbl-ppl > *:nth-child(2) { order: 2; flex: 1 1 calc(100% - 42px); min-width: 0; }
  .ed-tbl-ppl > *:nth-child(3) { order: 3; flex: 1 1 100%; padding-left: 38px; }
  .ed-tbl-ppl > *:nth-child(4) { order: 4; margin-left: 38px; }
  .ed-tbl-ppl > *:nth-child(5) { order: 5; }
  .ed-tbl-ppl > *:nth-child(6) { order: 6; text-align: left !important; margin-left: auto; }
  .ed-tbl-ppl > *:nth-child(6)::before { content: 'TOUCHED '; }

  /* CRM COMPANIES */
  .ed-tbl-co { padding: 15px 6px !important; }
  .ed-tbl-co > *:nth-child(1) { order: 1; flex: 1 1 100%; font-size: 17px !important; }
  .ed-tbl-co > *:nth-child(2) { order: 2; flex: 1 1 100%; }
  .ed-tbl-co > *:nth-child(3) { order: 3; text-align: left !important; }
  .ed-tbl-co > *:nth-child(4) { order: 4; text-align: left !important; }
  .ed-tbl-co > *:nth-child(5) { order: 5; text-align: left !important; }
  .ed-tbl-co > *:nth-child(6) { order: 6; text-align: left !important; flex: 1 1 100%; }
  .ed-tbl-co > *:nth-child(3)::before { content: 'PEOPLE '; }
  .ed-tbl-co > *:nth-child(4)::before { content: 'LEADS '; }
  .ed-tbl-co > *:nth-child(5)::before { content: 'PIPELINE '; }
  .ed-tbl-co > *:nth-child(6)::before { content: 'LAST TOUCH '; }

  /* PIPELINE list */
  .ed-tbl-lead { padding: 14px 6px !important; }
  .ed-tbl-lead > *:nth-child(1) { order: 1; flex: 1 1 auto; min-width: 0; font-size: 17px !important; }
  .ed-tbl-lead > *:nth-child(6) { order: 2; flex: 0 0 auto; margin-left: auto; text-align: right !important; }
  .ed-tbl-lead > *:nth-child(3) { order: 3; flex: 1 1 100%; }
  .ed-tbl-lead > *:nth-child(2) { order: 4; }
  .ed-tbl-lead > *:nth-child(4) { order: 5; }
  .ed-tbl-lead > *:nth-child(5) { order: 6; }
  .ed-tbl-lead > *:nth-child(2)::before { content: 'MKT '; }

  /* AGENTS roster */
  .ed-tbl-ag { padding: 18px 6px !important; align-items: center !important; }
  .ed-tbl-ag > *:nth-child(1) { order: 1; flex: 0 0 52px; }
  .ed-tbl-ag > *:nth-child(2) { order: 2; flex: 1 1 calc(100% - 92px); min-width: 0; }
  .ed-tbl-ag > *:nth-child(4) { order: 3; flex: 0 0 auto; margin-left: auto; }
  .ed-tbl-ag > *:nth-child(3) { order: 4; flex: 1 1 100%; padding-left: 64px; }

  /* SAVED */
  .ed-tbl-clip { padding: 16px 6px !important; }
  .ed-tbl-clip > *:nth-child(1) { order: 1; flex: 1 1 100%; }
  .ed-tbl-clip > *:nth-child(2) { order: 2; flex: 1 1 100%; }
  .ed-tbl-clip > *:nth-child(3) { order: 3; }
  .ed-tbl-clip > *:nth-child(4) { order: 4; margin-left: auto; }

  /* SOURCES */
  .ed-tbl-src > *:nth-child(1) { flex: 1 1 100% !important; }
  .ed-src-acts { gap: 8px !important; margin-top: 8px !important; }
  .ed-src-acts > .ed-btn { flex: 1 1 0; }

  /* WORKFLOWS */
  .ed-tbl-hb { padding: 14px 6px !important; }
  .ed-tbl-hb > *:nth-child(1) { order: 1; flex: 1 1 100%; font-size: 16px !important; }
  .ed-tbl-hb > *:nth-child(2) { order: 2; }
  .ed-tbl-hb > *:nth-child(3) { order: 3; }
  .ed-tbl-hb > *:nth-child(4) { order: 4; }
  .ed-tbl-hb > *:nth-child(5) { order: 5; text-align: left !important; }
  .ed-tbl-hb > *:nth-child(5)::before { content: 'ITEMS '; }

  /* ARCHIVE */
  .ed-tbl-arch { padding: 16px 6px !important; }
  .ed-tbl-arch > *:nth-child(1) { order: 1; }
  .ed-tbl-arch > *:nth-child(2) { order: 2; }
  .ed-tbl-arch > *:nth-child(3) { order: 3; flex: 1 1 100%; font-size: 17px !important; }
  .ed-tbl-arch > *:nth-child(4) { order: 4; text-align: left !important; }
  .ed-tbl-arch > *:nth-child(5) { order: 5; margin-left: auto; text-align: right !important; }

  /* the critique matrix stays a matrix and scrolls inside its own card */
  .ed-crit-scroll { overflow-x: auto; overscroll-behavior-x: contain; }
  .ed-crit-row { min-width: max-content; }
  .ed-crit-row > *:first-child { position: sticky; left: 0; z-index: 1; background: var(--paper); padding-right: 10px; }

  /* the pipeline board is a snap carousel */
  .ed-board { grid-template-columns: none !important; grid-auto-flow: column; grid-auto-columns: 84vw; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; }
  .ed-board-col { scroll-snap-align: start; min-width: 0; padding: 0 14px 20px 14px !important; }

  /* ══ FIXED OVERLAYS ══ */
  .ed-sheet { max-width: 100vw !important; border-left: none !important; box-shadow: none !important; }
  .ed-sheet-hd { padding: calc(8px + env(safe-area-inset-top, 0px)) 12px 8px 18px !important; }
  .ed-sheet-body { padding: 20px 18px 26px 18px !important; }
  .ed-sheet-foot { padding: 14px 18px calc(14px + env(safe-area-inset-bottom, 0px)) 18px !important; grid-template-columns: 1fr 1fr; }
  .ed-sheet-act { min-height: 44px !important; }
  .ed-toast { left: 12px !important; right: 12px !important; transform: none !important; white-space: normal !important; text-align: center; line-height: 1.5; bottom: calc(var(--ed-legend-h, 48px) + 12px + env(safe-area-inset-bottom, 0px)) !important; }
  .ed-kbar-scrim { padding: calc(8vh + env(safe-area-inset-top, 0px)) 12px 0 12px !important; }
  .ed-kbar { width: 100% !important; max-width: none; }

  /* Keyboard legend — the surface's bottom bar. The keyboard hints go (the
     device has no keys); the night toggle and ⌘K arrive as 44px pills. */
  .ed-legend > .ed-legend-key, .ed-legend .ed-legend-key { display: none; }
  .ed-legend {
    box-sizing: content-box !important;
    height: calc(var(--ed-legend-h, 48px) - 4px);
    justify-content: flex-start !important; gap: 14px !important;
    flex-wrap: nowrap !important; overflow-x: auto; overscroll-behavior-x: contain;
    padding: 2px 12px calc(2px + env(safe-area-inset-bottom, 0px)) 12px !important;
    animation: none !important;
  }
  .ed-legend > span { white-space: nowrap; }
  .ed-legend-right { margin-left: auto; }
  .ed-legend-util { display: inline-flex !important; align-items: center; min-height: 44px; padding: 0 12px; border: 1px solid var(--rule); text-decoration: none; color: var(--ink); font-size: 12px; letter-spacing: .06em; font-weight: 600; white-space: nowrap; text-transform: none; }
  /* The platform switcher hosts its B/ here (data-host-mobile=".ed-legend" on
     its script tag). The legend scrolls sideways, so the button is pinned to the
     bar's right edge and the rest scrolls under it; the paper behind it is the
     legend's own, so night follows. Higher specificity than the switcher's own
     hosted rule, which is what lets sticky beat its relative. */
  .ed-legend .bpx-wrap.bpx-hosted { position: sticky !important; right: 0 !important; order: 99; flex: none; background: var(--paper); padding-left: 10px; margin-left: 4px; }

  /* ══ RENDERED MARKDOWN ══ */
  .ed-md { font-size: 16px; }
  .ed-md table { display: block; overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; white-space: nowrap; width: 100%; }
  .ed-md pre { overscroll-behavior-x: contain; }
  .ed-md code { overflow-wrap: anywhere; }
  .ed-md h1 { font-size: 26px; }
  .ed-md h2 { font-size: 21px; }
}

/* ── TOUCH TIER — hit areas only, never layout ─────────────────────────── */
@media (pointer: coarse) {
  .ed-xbtn, .ed-star, .ed-pill-sm { position: relative; }
  .ed-xbtn::after, .ed-star::after, .ed-pill-sm::after {
    content: ''; position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -50%); width: 44px; height: 44px; min-width: 100%;
  }
  .ed-src-acts { gap: 20px !important; }
  .ed-nav-desk { padding-top: 15px !important; padding-bottom: 16px !important; }
  .ed-nav-pill { min-height: 44px !important; }
  .ed-kbar-row { padding: 14px 16px !important; }
  .ed-terr-pill { min-width: 44px !important; }
}

/* ── NO-HOVER TIER — on iOS a :hover state sticks after a tap ─────────── */
@media (hover: none) {
  [class*="scp"]:hover { background: none !important; }
  .ed-row-open:hover, .ed-story:hover, .ed-alert:hover { background: none; }
}

/* print / PDF export — printFiling() builds a clean deliverable sheet here and
   hides the newspaper around it. The sheet pins its own paper/ink so night
   mode still prints ink-on-white. */
#ed-print-sheet { display: none; --paper: #FFFFFF; --card: #FFFFFF; --ink: #17140F; --ink-2: #4A443B; --rule: rgba(23,20,15,.28); --rule-2: #17140F; --red: #C93A22; --red-text: #B5311C; --wash: rgba(201,58,34,.06); background: #FFFFFF; color: var(--ink); font-family: var(--sans); }
#ed-print-sheet .edp-mast { display: flex; justify-content: space-between; gap: 16px; font-size: 12px; letter-spacing: .12em; color: var(--ink-2); font-weight: 600; }
#ed-print-sheet .edp-rule { height: 2px; background: var(--rule-2); margin: 8px 0 24px 0; }
#ed-print-sheet .edp-kicker { font-size: 12px; letter-spacing: .12em; color: var(--red-text); font-weight: 700; }
#ed-print-sheet .edp-title { font-size: 34px; line-height: 1.08; font-weight: 700; letter-spacing: -.02em; margin: 12px 0 0 0; max-width: 30ch; }
#ed-print-sheet .edp-meta { display: flex; flex-wrap: wrap; gap: 18px; font-size: 12px; letter-spacing: .12em; color: var(--ink-2); font-weight: 600; margin-top: 12px; }
#ed-print-sheet .edp-body { margin-top: 22px; border-top: 1px solid var(--rule); padding-top: 18px; }
#ed-print-sheet .edp-src { margin-top: 24px; border-top: 1px solid var(--rule); padding-top: 14px; }
#ed-print-sheet .edp-src-h { font-size: 12px; letter-spacing: .12em; font-weight: 700; margin-bottom: 8px; }
#ed-print-sheet .edp-src-row { font-size: 12px; line-height: 1.6; color: var(--ink-2); word-break: break-word; padding: 2px 0; }
#ed-print-sheet .edp-foot { margin-top: 32px; border-top: 2px solid var(--rule-2); padding-top: 10px; font-size: 12px; letter-spacing: .12em; color: var(--ink-2); font-weight: 600; }
@media print {
  @page { margin: 0 }
  body.ed-printing { background: #FFFFFF !important }
  body.ed-printing > :not(#ed-print-sheet) { display: none !important }
  body.ed-printing #ed-print-sheet { display: block !important; padding: 16mm 18mm }
  #ed-print-sheet .edp-body h1, #ed-print-sheet .edp-body h2, #ed-print-sheet .edp-body h3 { break-after: avoid }
  #ed-print-sheet .edp-body table, #ed-print-sheet .edp-body pre, #ed-print-sheet .edp-body blockquote { break-inside: avoid }
  #ed-print-sheet .edp-body pre { white-space: pre-wrap; word-break: break-word }
}


/* ═══ the country brief in the sheet (assets/js/edition-brief.js) ═══
   The 217 markets pages, rendered in-app from the same corpus: six sections,
   the metric cards with their global-rank bars, the demographics cards, the
   sector reads, the full table behind a fold. Tokens only, so the Hub's and
   New Biz's palettes restyle it without a rule of their own. */
.mb { font-size: 14px; line-height: 1.5; color: var(--ink); }
.mb-hero { display: flex; flex-direction: column; gap: 14px; margin-bottom: 4px; }
.mb-signal { display: flex; flex-direction: column; gap: 3px; padding: 12px 14px; border: 1px solid var(--rule); border-left: 3px solid var(--ink-3); background: var(--card); }
.mb-signal strong { font-family: var(--display); font-size: 18px; font-weight: 700; letter-spacing: -.01em; }
.mb-signal .mb-sl, .mb-signal .mb-sw { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
.mb-signal.mb-green { border-left-color: var(--green-text); } .mb-signal.mb-green strong { color: var(--green-text); }
.mb-signal.mb-amber { border-left-color: var(--amber-text); } .mb-signal.mb-amber strong { color: var(--amber-text); }
.mb-signal.mb-red { border-left-color: var(--red-text); } .mb-signal.mb-red strong { color: var(--red-text); }
.mb-signal.mb-blue { border-left-color: var(--blue-text, var(--ink-2)); } .mb-signal.mb-blue strong { color: var(--blue-text, var(--ink-2)); }
.mb-kv { display: grid; grid-template-columns: 96px 1fr; gap: 6px 12px; margin: 0; font-size: 13px; }
.mb-kv dt { color: var(--ink-3); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; padding-top: 2px; }
.mb-kv dd { margin: 0; font-weight: 500; overflow-wrap: anywhere; }
.mb-kv-wide { grid-template-columns: 112px 1fr; }
.mb-sec { margin-top: 26px; }
.mb-h { display: flex; align-items: baseline; gap: 10px; margin: 0 0 12px 0; padding-bottom: 8px; border-bottom: 1px solid var(--rule-2); font-family: var(--display); font-size: 16px; font-weight: 700; letter-spacing: -.01em; }
.mb-h span { font-size: 11px; letter-spacing: .1em; color: var(--red-text); font-weight: 600; }
.mb-tag { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--red-text); font-weight: 600; }
.mb-meta { font-size: 13px; color: var(--ink-2); margin: 4px 0 12px 0; }
.mb-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.mb-metric { padding: 11px 12px; background: var(--card); border: 1px solid var(--rule); min-width: 0; }
.mb-metric.mb-empty { opacity: .55; }
.mb-ml { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); }
.mb-mv { font-family: var(--display); font-size: 22px; font-weight: 700; letter-spacing: -.02em; line-height: 1.1; margin-top: 4px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.mb-ms { font-size: 11px; letter-spacing: .04em; color: var(--ink-3); margin-top: 2px; }
.mb-rank { height: 3px; background: var(--rule); margin-top: 9px; overflow: hidden; }
.mb-rank-fill { display: block; height: 100%; background: var(--ink); }
.mb-rank-fill.top { background: var(--red); }
.mb-rn { font-size: 10px; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); margin-top: 5px; }
.mb-cards { display: flex; flex-direction: column; gap: 8px; }
.mb-card { padding: 12px 14px; background: var(--card); border: 1px solid var(--rule); }
.mb-ch { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); margin-bottom: 8px; }
.mb-text { font-size: 13px; line-height: 1.55; }
.mb-none { font-size: 13px; color: var(--ink-3); }
.mb-rel { display: grid; grid-template-columns: 110px 1fr 44px; gap: 10px; align-items: center; padding: 4px 0; font-size: 13px; }
.mb-rel-b { height: 6px; background: var(--rule); overflow: hidden; }
.mb-rel-b span { display: block; height: 100%; background: var(--ink); }
.mb-rel-p { text-align: right; font-variant-numeric: tabular-nums; color: var(--ink-2); }
.mb-prose { margin-top: 14px; }
.mb-prose p { margin: 0 0 10px 0; font-size: 14px; line-height: 1.6; color: var(--ink-2); }
.mb-prose p:last-child { margin-bottom: 0; }
.mb-ind summary { cursor: pointer; font-size: 13px; font-weight: 600; padding: 10px 0; list-style: none; display: flex; align-items: center; gap: 8px; }
.mb-ind summary::-webkit-details-marker { display: none; }
.mb-ind summary::before { content: "+"; width: 18px; height: 18px; border: 1px solid var(--rule-2); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; line-height: 1; }
.mb-ind[open] summary::before { content: "–"; }
.mb-table { font-size: 13px; }
.mb-th { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); padding: 12px 0 5px 0; border-bottom: 1px solid var(--rule-2); }
.mb-tr { display: grid; grid-template-columns: 1fr 96px 40px; gap: 10px; padding: 6px 0; border-bottom: 1px dotted var(--rule); font-variant-numeric: tabular-nums; }
.mb-tr span:nth-child(2) { text-align: right; font-weight: 600; }
.mb-tr span:nth-child(3) { text-align: right; color: var(--ink-3); font-size: 11px; letter-spacing: .04em; }
.mb-foot { display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-top: 22px; padding-top: 12px; border-top: 1px solid var(--rule); font-size: 11px; letter-spacing: .04em; color: var(--ink-3); }
.mb-foot a { color: var(--red-text); text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
@media (max-width: 700px) { .mb-grid { grid-template-columns: 1fr 1fr; } .mb-rel { grid-template-columns: 90px 1fr 40px; } }
