/* FOMC & Productivity — Lab page. Greenfield rebuild (2026-06-26).
   House theme vars (--mf-*) come from /assets/theme.css. */

:root{
  --ui: 'Inter', system-ui, sans-serif;
  --serif: 'Literata', Georgia, serif;
  --ink: #23211c;
  --muted: #6f6a60;
  --line: #e3ddd0;
  --line-strong: #cfc7b5;
  --paper: #fbf9f4;
  --card: #ffffff;
  /* Rate colours — richer, larger, kept distinct for colour-blind readers via +/− glyphs */
  --lower: #1f8a6d;      /* productivity ⇒ lower rates (disinflation) */
  --lower-soft: #d9efe7;
  --higher: #c8443c;     /* productivity ⇒ higher rates (r*) */
  --higher-soft: #f6dedb;
  --mixed: #b5862b;      /* both channels in tension */
  --mixed-soft: #f3e8cf;
  --none: #b8b1a3;       /* discussed, no rate link */
  /* Persistence colours — red / yellow / green conviction scale */
  --believe: #1f8a6d;    /* will last (green) */
  --believe-soft: #d9efe7;
  --fade: #c8443c;       /* will fade (red) */
  --fade-soft: #f6dedb;
  --nolean: #d6a81e;     /* no lean (yellow) */
  --nolean-soft: #f6ecc8;
}

*{ box-sizing: border-box; }
html{ -webkit-text-size-adjust: 100%; }
body{
  margin:0; background: var(--paper); color: var(--ink);
  font-family: var(--ui); font-size: 15px; line-height: 1.55;
}
.wrap{ max-width: 1180px; margin: 0 auto; padding: 0 28px; }
a{ color: #1f6f8b; }

/* ---------------- masthead ---------------- */
.masthead{ background: linear-gradient(180deg,#fff, var(--paper)); border-bottom: 1px solid var(--line); padding-top: 22px; }
.backlink{ display:inline-block; font-size:13px; color: var(--muted); text-decoration:none; margin-bottom: 14px; }
.backlink:hover{ color: var(--ink); }
.eyebrow{ font-size:12px; letter-spacing:.09em; text-transform:uppercase; color: var(--muted); font-weight:600; }
.masthead h1{ font-family: var(--serif); font-weight:700; font-size: clamp(28px, 4vw, 42px); line-height:1.1; margin:.25em 0 .35em; }
.lede{ font-family: var(--serif); font-size: 18px; line-height:1.6; max-width: 60ch; color:#33302a; }
.lede em{ font-style: italic; }
.inspired{ font-size: 14px; color: var(--muted); max-width: 62ch; margin: .8em 0 0; }
.disclaimer{ font-size: 12.5px; color: var(--muted); max-width: 64ch; margin:.8em 0 18px; padding-left: 12px; border-left: 3px solid var(--line-strong); }

/* ---------------- tabs ---------------- */
.tabs{ display:flex; gap: 4px; flex-wrap:wrap; }
.tab{
  appearance:none; border:none; background:none; cursor:pointer;
  font-family: var(--ui); font-size: 14px; font-weight:600; color: var(--muted);
  padding: 11px 16px; border-bottom: 3px solid transparent; margin-bottom:-1px;
}
.tab:hover{ color: var(--ink); }
.tab.active{ color: var(--ink); border-bottom-color: var(--lower); }

main.wrap{ padding-top: 26px; padding-bottom: 60px; }
.panel{ display:none; animation: fade .25s ease; }
.panel.active{ display:block; }
@keyframes fade{ from{ opacity:0; transform: translateY(4px);} to{opacity:1; transform:none;} }

.section-intro{ font-family: var(--serif); font-size: 16.5px; max-width: 70ch; color:#33302a; margin-top:0; }

/* ---------------- explorer ---------------- */
.explorer-head{ display:flex; justify-content: space-between; align-items: flex-end; gap:16px; flex-wrap:wrap; }
.colorby{ display:flex; align-items:center; gap:8px; }
.colorby-label{ font-size:12px; color: var(--muted); font-weight:600; }

.seg{ display:inline-flex; background:#efeadf; border:1px solid var(--line-strong); border-radius:8px; padding:3px; gap:3px; }
.seg-opt{
  appearance:none; border:none; background:none; cursor:pointer; font-family:var(--ui);
  font-size:13px; font-weight:600; color: var(--muted); padding:6px 12px; border-radius:6px;
}
.seg-opt:hover{ color: var(--ink); }
.seg-opt.active{ background:#fff; color: var(--ink); box-shadow: 0 1px 2px rgba(0,0,0,.08); }
.colorby .seg-opt{ border:1px solid var(--line-strong); border-radius:6px; }
.colorby .seg-opt.active{ background: var(--ink); color:#fff; border-color: var(--ink); }

.explorer-layout{ display:grid; grid-template-columns: 248px 1fr; gap: 26px; margin-top: 18px; align-items:start; }

.sidebar{ background: var(--card); border:1px solid var(--line); border-radius:12px; padding:16px; position:sticky; top:12px; }
.sidebar-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.sidebar-head h2{ font-size:14px; margin:0; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); }
.reset-btn{ appearance:none; border:1px solid var(--line-strong); background:#fff; cursor:pointer; font-size:12px; color:var(--muted); padding:4px 10px; border-radius:6px; font-family:var(--ui); font-weight:600; }
.reset-btn:hover{ color:var(--ink); border-color:var(--muted); }

.fgroup{ margin-bottom:16px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.fgroup:last-child{ border-bottom:none; margin-bottom:0; padding-bottom:0; }
.flabel{ display:block; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); margin-bottom:8px; }
.flabel-aux{ font-weight:500; text-transform:none; letter-spacing:0; color:var(--muted); }
.fhint{ font-size:11.5px; color:var(--muted); margin:8px 0 0; line-height:1.4; }

.year-range{ display:flex; align-items:center; gap:8px; }
.year-range select{ font-family:var(--ui); font-size:13px; padding:5px 8px; border:1px solid var(--line-strong); border-radius:6px; background:#fff; flex:1; }
.dash{ color:var(--muted); }

.two-col{ display:grid; grid-template-columns: 1fr 1fr; gap:14px; }
.col-head{ display:block; font-size:11px; font-weight:600; color:var(--muted); margin-bottom:6px; }

.check-list{ display:flex; flex-direction:column; gap:6px; }
.check-row{ display:flex; align-items:center; gap:8px; font-size:13px; cursor:pointer; user-select:none; }
.check-row input{ margin:0; accent-color: var(--lower); }
.check-row .swatch{ width:12px; height:12px; border-radius:3px; flex:none; }
.check-row .cnt{ margin-left:auto; font-size:11px; color:var(--muted); font-variant-numeric: tabular-nums; }
.speaker-controls{ display:flex; gap:12px; margin-bottom:8px; }
.link-btn{ appearance:none; border:none; background:none; cursor:pointer; font-size:12px; color:#1f6f8b; padding:0; font-family:var(--ui); font-weight:600; }
.speaker-list{ max-height: 240px; overflow:auto; padding-right:4px; }

/* legend */
.legend{ display:flex; flex-wrap:wrap; gap:14px 18px; margin-bottom:12px; padding:10px 14px; background:var(--card); border:1px solid var(--line); border-radius:10px; }
.legend-item{ display:flex; align-items:center; gap:7px; font-size:12.5px; color:#454036; }
.legend-dot{ width:18px; height:18px; border-radius:50%; display:grid; place-items:center; color:#fff; font-weight:700; font-size:12px; }
.legend-note{ font-size:11.5px; color:var(--muted); margin-left:auto; align-self:center; }

/* chart */
.chart-scroller{ overflow-x:auto; background:var(--card); border:1px solid var(--line); border-radius:12px; padding:6px 0; cursor:grab; }
.chart-scroller.dragging{ cursor:grabbing; }
#chart{ display:block; }
.chart-hint{ font-size:12px; color:var(--muted); margin-top:8px; }
.chart-empty{ background:var(--card); border:1px dashed var(--line-strong); border-radius:12px; padding:40px; text-align:center; color:var(--muted); }
.hidden{ display:none !important; }

.mark{ cursor:pointer; }
.mark text{ pointer-events:none; }
.row-label{ font-family:var(--ui); font-size:12px; fill:#454036; cursor:pointer; }
.row-label:hover{ fill: var(--ink); font-weight:600; }
.row-label.dim{ fill:#bbb4a5; }
.axis-tick{ font-family:var(--ui); font-size:10.5px; fill:var(--muted); }
.row-band{ fill: #00000004; }
.year-sep{ stroke: var(--line); stroke-width:1; }

/* ---------------- by year ---------------- */
.byyear-toggle{ display:inline-flex; gap:3px; background:#efeadf; border:1px solid var(--line-strong); border-radius:8px; padding:3px; margin: 8px 0 14px; }
.byyear-legend{ display:flex; gap:18px; flex-wrap:wrap; margin-bottom:10px; }
.byyear-wrap{ background:var(--card); border:1px solid var(--line); border-radius:12px; padding:16px 8px; overflow-x:auto; }
#byyear-chart{ display:block; margin:0 auto; }
.byyear-bar{ cursor:default; }
.byyear-count{ font-family:var(--ui); font-size:12px; font-weight:600; fill:#fff; }
.byyear-count.out{ fill:#5a544a; }
.byyear-yearlbl{ font-family:var(--serif); font-size:14px; font-weight:600; fill:var(--ink); }
.byyear-axis{ font-family:var(--ui); font-size:11px; fill:var(--muted); }

/* ---------------- rankings ---------------- */
.rank-rate{ display:grid; grid-template-columns: 1fr 1fr; gap:22px; margin-bottom: 30px; }
.rank-card{ background:var(--card); border:1px solid var(--line); border-radius:12px; padding:18px 20px; }
.rank-card.lower{ border-top:4px solid var(--lower); }
.rank-card.higher{ border-top:4px solid var(--higher); }
.rank-card h3{ font-family:var(--serif); font-size:18px; margin:0 0 4px; display:flex; align-items:center; gap:8px; }
.rank-card h3 .sign{ display:inline-grid; place-items:center; width:24px; height:24px; border-radius:50%; color:#fff; font-size:15px; font-weight:700; }
.rank-card.lower .sign{ background:var(--lower); }
.rank-card.higher .sign{ background:var(--higher); }
.rank-card h3 em{ font-style:italic; }
.rank-sub{ font-size:13px; color:var(--muted); margin:0 0 14px; }
.rank-list{ list-style:none; margin:0; padding:0; }
.rank-list li{ display:flex; align-items:center; gap:12px; padding:8px 0; border-top:1px solid var(--line); cursor:pointer; }
.rank-list li:hover{ background:#faf7f0; }
.rank-list li:first-child{ border-top:none; }
.rank-name{ font-weight:600; font-size:14.5px; min-width:96px; }
.rank-role{ font-size:11.5px; color:var(--muted); }
.rank-bar-wrap{ flex:1; height:18px; background:#f0ece2; border-radius:4px; overflow:hidden; }
.rank-bar{ display:block; height:100%; border-radius:4px; }
.rank-card.lower .rank-bar{ background:var(--lower); }
.rank-card.higher .rank-bar{ background:var(--higher); }
.rank-n{ font-size:12px; color:var(--muted); font-variant-numeric:tabular-nums; min-width:84px; text-align:right; }

.rank-persist{ background:var(--card); border:1px solid var(--line); border-radius:12px; padding:20px; }
.rank-persist h3{ font-family:var(--serif); font-size:19px; margin:0 0 4px; }
.scale{ margin-top:16px; }
.scale-poles{ display:flex; justify-content:space-between; font-size:12px; font-weight:600; margin-bottom:6px; }
.scale-poles .p-believe{ color:var(--believe); }
.scale-poles .p-fade{ color:var(--fade); }
.scale-row{ display:flex; align-items:center; gap:12px; padding:6px 0; cursor:pointer; }
.scale-row:hover{ background:#faf7f0; }
.scale-name{ min-width:110px; font-weight:600; font-size:14px; }
.scale-meter{ flex:1; height:14px; background: linear-gradient(90deg, var(--fade-soft), var(--nolean-soft) 50%, var(--believe-soft)); border-radius:7px; position:relative; }
.scale-pip{ position:absolute; top:50%; width:14px; height:14px; border-radius:50%; transform:translate(-50%,-50%); border:2px solid #fff; box-shadow:0 1px 3px rgba(0,0,0,.25); }
.scale-val{ min-width:52px; text-align:right; font-size:12px; color:var(--muted); font-variant-numeric:tabular-nums; }

/* ---------------- essay ---------------- */
.essay{ max-width: 70ch; margin: 0 auto; font-family: var(--serif); font-size: 18px; line-height: 1.72; color:#2b2822; }
.essay h2{ font-size: 27px; line-height:1.15; margin: 1.4em 0 .2em; font-weight:700; }
.essay h3{ font-size: 21px; margin: 1.6em 0 .1em; font-weight:600; }
.essay .byline{ font-family:var(--ui); font-size:13.5px; color:var(--muted); margin-top:0; }
.essay p{ margin: .9em 0; }
.essay .dek{ font-size: 20px; color:#4a463d; font-style:italic; }
.essay blockquote{
  margin: 1.2em 0; padding: 6px 0 6px 22px; border-left: 4px solid var(--lower);
  font-size: 19px; line-height:1.6; color:#3a362e;
}
.essay blockquote.higher{ border-left-color: var(--higher); }
.essay blockquote.neutral{ border-left-color: var(--line-strong); }
.essay blockquote.staff{ border-left-style:dashed; border-left-color:#5b6b78; background:#f3f6f8; padding:12px 18px; border-radius:0 8px 8px 0; }
.essay .staff-tag{ display:inline-block; font-family:var(--ui); font-size:10.5px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:#4e5d6a; background:#e3eaef; border-radius:4px; padding:2px 8px; margin-bottom:8px; }
.essay .staff-note{ font-family:var(--ui); font-size:14px; line-height:1.55; background:#f3f6f8; border:1px solid #d8e0e6; border-left:4px solid #5b6b78; border-radius:0 10px 10px 0; padding:14px 16px; color:#3a4750; }
.essay blockquote cite{ display:block; font-family:var(--ui); font-size:13px; font-style:normal; color:var(--muted); margin-top:8px; }
.essay blockquote cite a{ color:inherit; }
.essay .pull-note{ font-family:var(--ui); font-size:14px; background:#faf7f0; border:1px solid var(--line); border-radius:10px; padding:14px 16px; color:#4a463d; }
.essay strong{ font-weight:600; }
.essay .essay-foot{ font-family:var(--ui); font-size:13px; color:var(--muted); border-top:1px solid var(--line); margin-top:2em; padding-top:1em; }

/* ---------------- method ---------------- */
.method{ max-width: 78ch; }
.method h2{ font-family:var(--serif); font-size:26px; margin:.2em 0 .3em; }
.method h3{ font-family:var(--serif); font-size:19px; margin:1.4em 0 .2em; }
.method p, .method li{ font-size:15px; color:#3a362e; }
.method .axis-q{ font-style:italic; color:#4a463d; background:#faf7f0; border-left:3px solid var(--line-strong); padding:10px 14px; border-radius:0 8px 8px 0; }
.codes{ display:flex; flex-direction:column; gap:12px; margin:12px 0; }
.code-card{ border:1px solid var(--line); border-radius:10px; padding:14px 16px; background:var(--card); }
.code-card .code-head{ display:flex; align-items:center; gap:10px; margin-bottom:6px; }
.code-chip{ display:inline-grid; place-items:center; min-width:24px; height:24px; padding:0 7px; border-radius:6px; color:#fff; font-weight:700; font-size:13px; }
.code-name{ font-weight:700; font-size:15px; }
.code-def{ font-size:13.5px; color:#4a463d; margin:0; }
.code-ex{ list-style:none; margin:10px 0 0; padding:0; display:flex; flex-direction:column; gap:8px; }
.code-ex li{ font-size:13px; color:#3a362e; padding-left:12px; border-left:2px solid var(--line); }
.code-ex .who{ font-weight:600; color:var(--muted); font-size:12px; }

.corpus{ margin-top:30px; padding-top:20px; border-top:2px solid var(--line-strong); }
.corpus h3{ margin-top:0; }
.corpus-grid{ display:flex; flex-wrap:wrap; gap:14px; margin-top:12px; }
.corpus-stat{ background:var(--card); border:1px solid var(--line); border-radius:10px; padding:12px 16px; min-width:120px; }
.corpus-stat .num{ font-family:var(--serif); font-size:26px; font-weight:700; line-height:1; }
.corpus-stat .lbl{ font-size:12px; color:var(--muted); margin-top:4px; }
.corpus-bars{ margin-top:18px; }
.corpus-bar-row{ display:flex; align-items:center; gap:10px; margin:5px 0; font-size:13px; }
.corpus-bar-row .cb-label{ min-width:130px; display:flex; align-items:center; gap:7px; }
.corpus-bar-row .cb-track{ flex:1; height:16px; background:#f0ece2; border-radius:4px; overflow:hidden; }
.corpus-bar-row .cb-fill{ display:block; height:100%; }
.corpus-bar-row .cb-n{ min-width:40px; text-align:right; color:var(--muted); font-variant-numeric:tabular-nums; }

/* ---------------- detail panel ---------------- */
.detail-backdrop{ position:fixed; inset:0; background:rgba(20,18,14,.35); z-index:40; }
.detail-panel{ position:fixed; top:0; right:0; height:100%; width: min(440px, 92vw); background:#fff; box-shadow:-8px 0 30px rgba(0,0,0,.18); z-index:50; display:flex; flex-direction:column; }
.detail-head{ display:flex; justify-content:space-between; align-items:flex-start; padding:20px 22px 14px; border-bottom:1px solid var(--line); }
.detail-eyebrow{ font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); font-weight:600; }
.detail-head h3{ font-family:var(--serif); font-size:21px; margin:.2em 0 0; }
.close-btn{ appearance:none; border:none; background:none; font-size:26px; line-height:1; cursor:pointer; color:var(--muted); }
.close-btn:hover{ color:var(--ink); }
.detail-body{ padding:18px 22px 28px; overflow:auto; }
.detail-codes{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:16px; }
.detail-code{ border:1px solid var(--line); border-radius:8px; padding:8px 12px; }
.detail-code .dc-lbl{ font-size:11px; text-transform:uppercase; color:var(--muted); letter-spacing:.04em; }
.detail-code .dc-val{ display:flex; align-items:center; gap:6px; font-weight:600; margin-top:3px; }
.detail-quote{ font-family:var(--serif); font-size:17px; line-height:1.6; color:#2b2822; border-left:4px solid var(--line-strong); padding:4px 0 4px 16px; margin:6px 0 18px; }
.detail-meta{ font-size:13px; color:var(--muted); margin:4px 0; }
.detail-pdf{ display:inline-flex; align-items:center; gap:6px; margin-top:12px; font-size:14px; font-weight:600; padding:9px 14px; border:1px solid var(--line-strong); border-radius:8px; text-decoration:none; color:var(--ink); background:#faf7f0; }
.detail-pdf:hover{ border-color:var(--muted); }
.detail-pdf-hint{ font-size:12px; color:var(--muted); margin-top:8px; }
.glyph{ display:inline-grid; place-items:center; width:20px; height:20px; border-radius:50%; color:#fff; font-weight:700; font-size:12px; }

.site-foot{ font-size:12.5px; color:var(--muted); padding:24px 28px 40px; border-top:1px solid var(--line); margin-top:20px; }

/* ---------------- responsive ---------------- */
@media (max-width: 860px){
  .explorer-layout{ grid-template-columns: 1fr; }
  .sidebar{ position:static; }
  .rank-rate{ grid-template-columns: 1fr; }
  .speaker-list{ max-height: 180px; }
}

/* ============================================================
   New Economy lab — additions (channels, overview, rankings,
   independent study, methodology, discussion). 2026-07-03
   ============================================================ */
:root{
  --prod:#33608f; --nairu:#7a5195; --glob:#c1782e; --grey:#b7b4a8; --conv:#8f8a7d;
}

/* channel + rank switcher */
.channel-bar{ display:flex; gap:6px; flex-wrap:wrap; margin-bottom:14px; border-bottom:1px solid var(--line); padding-bottom:12px; }
.chan-opt{ appearance:none; border:1px solid var(--line-strong); background:#fff; cursor:pointer; font-family:var(--ui); font-size:14px; font-weight:600; color:var(--muted); padding:8px 16px; border-radius:8px; }
.chan-opt:hover{ color:var(--ink); border-color:var(--muted); }
.chan-opt.active{ background:var(--ink); color:#fff; border-color:var(--ink); }
.channel-blurb{ font-family:var(--serif); font-size:15.5px; color:#44403a; max-width:74ch; margin:0 0 18px; }

/* money chart + overview */
.money-card,.ov-card{ background:var(--card); border:1px solid var(--line); border-radius:12px; padding:20px 22px; margin-bottom:18px; }
.money-title{ font-family:var(--serif); font-size:18px; margin:0 0 4px; }
.money-sub{ font-size:12.5px; color:var(--muted); margin:0 0 16px; max-width:72ch; line-height:1.5; }
.money-row{ display:flex; align-items:center; gap:12px; margin:9px 0; }
.money-label{ flex:0 0 150px; font-size:13.5px; font-weight:600; text-align:right; color:#3a3730; }
.money-track{ position:relative; flex:1; height:22px; background:#f1eee5; border-radius:4px; overflow:hidden; }
.money-ghost{ position:absolute; left:0; top:0; height:100%; opacity:.22; }
.money-fill{ position:absolute; left:0; top:0; height:100%; border-radius:4px; }
.money-val{ flex:0 0 42px; font-size:13px; font-weight:700; font-variant-numeric:tabular-nums; color:#3a3730; }
.ov-stats{ display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin:18px 0; }
.ov-stat{ background:var(--card); border:1px solid var(--line); border-radius:10px; padding:14px 10px; text-align:center; }
.ov-num{ font-family:var(--serif); font-size:25px; font-weight:700; color:var(--ink); }
.ov-lbl{ font-size:11.5px; color:var(--muted); margin-top:3px; line-height:1.3; }
.ov-note{ font-size:14px; line-height:1.6; color:#44403a; background:#f3f0e8; border-radius:10px; padding:14px 18px; }
.note-card{ font-size:13.5px; line-height:1.55; color:#44403a; background:#f3f0e8; border-radius:10px; padding:14px 18px; margin-top:16px; }
@media(max-width:720px){ .ov-stats{ grid-template-columns:repeat(2,1fr);} .money-label{ flex-basis:96px; } }

/* independent page */
.indep{ max-width:820px; }
.indep h2{ font-family:var(--serif); font-size:26px; margin:6px 0 10px; }
.indep h3{ font-family:var(--serif); font-size:19px; margin:30px 0 10px; }
.indep-lead{ font-family:var(--serif); font-size:17px; line-height:1.62; color:#33302a; }
.prompt-wrap{ margin:22px 0; border:1px solid var(--line); border-left:3px solid var(--prod); border-radius:10px; background:var(--card); padding:16px 20px; }
.prompt-tag{ font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--prod); margin-bottom:8px; }
.prompt-brief p{ font-family:var(--serif); font-size:15.5px; line-height:1.62; color:#2c2a24; margin:0 0 12px; }
.prompt-brief p:last-child{ margin-bottom:0; }
.prompt-full{ margin:0 0 22px; border:1px solid var(--line); border-radius:10px; background:#faf8f3; padding:0 18px; }
.prompt-full summary{ cursor:pointer; padding:14px 0; font-size:14px; color:#44403a; list-style:none; }
.prompt-full summary::-webkit-details-marker{ display:none; }
.prompt-full summary .chev{ color:var(--prod); font-weight:600; margin-left:4px; }
.prompt-full[open] summary .chev{ display:none; }
.prompt-full-body{ font-size:13.5px; line-height:1.5; color:#3a3730; padding:0 0 16px; max-height:540px; overflow:auto; }
.prompt-full-body h3{ font-size:15px; font-family:var(--ui); margin:16px 0 6px; color:var(--ink); }
.prompt-full-body h4{ font-size:13.5px; margin:12px 0 4px; }
.prompt-full-body code{ background:#efeadf; padding:1px 4px; border-radius:3px; font-size:12px; }
.prompt-full-body ul{ padding-left:18px; } .prompt-full-body li{ margin:3px 0; }
.ps-tbl{ border-collapse:collapse; width:100%; margin:8px 0; font-size:12px; }
.ps-tbl td{ border:1px solid var(--line); padding:4px 7px; vertical-align:top; }
.indep-find ul{ padding-left:20px; } .indep-find li{ margin:8px 0; line-height:1.55; }
.indep-agree{ background:#eaf1ee; border-radius:8px; padding:12px 16px; font-size:14px; line-height:1.55; }
.indep-charts{ display:grid; grid-template-columns:1fr; gap:20px; }
.indep-fig{ margin:0; } .indep-fig img{ width:100%; border:1px solid var(--line); border-radius:8px; background:#fff; }
.indep-fig figcaption{ font-size:12.5px; color:var(--muted); margin-top:6px; }
.indep-dl{ font-size:13.5px; margin-top:22px; line-height:1.55; }

/* methodology */
.method-body,.method{ max-width:820px; }
.tier-card{ background:var(--card); border:1px solid var(--line); border-radius:12px; padding:16px 20px; margin:18px 0; }
.tier-card h3{ margin:0 0 4px; font-size:17px; font-family:var(--serif); }
.tier-card ul{ list-style:none; padding:0; margin:8px 0 0; } .tier-card li{ margin:9px 0; font-size:14px; line-height:1.5; }
.tier{ display:inline-block; font-size:10.5px; font-weight:700; padding:2px 8px; border-radius:20px; margin-right:6px; color:#fff; letter-spacing:.03em; }
.t3{background:#1f8a6d;} .t2{background:#4b7fa8;} .t1{background:#c1782e;} .t0{background:#b0473d;}
.rubric-card{ background:var(--card); border:1px solid var(--line); border-radius:12px; padding:18px 20px; margin:16px 0; }
.rubric-head{ display:flex; align-items:center; gap:10px; margin-bottom:2px; }
.rubric-chip{ width:14px; height:14px; border-radius:4px; flex:none; }
.rubric-head h3{ margin:0; font-size:17px; font-family:var(--serif); }
.rubric-card p{ font-size:14px; line-height:1.55; color:#3d3931; margin:6px 0 12px; }
.rubric-codes{ display:flex; flex-direction:column; gap:8px; }
.rubric-axis{ display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.rubric-axis-lbl{ font-size:12px; font-weight:600; color:var(--muted); margin-right:2px; }
.code-pill{ display:inline-flex; align-items:center; gap:5px; font-size:12px; background:#f4f1ea; border:1px solid var(--line); border-radius:20px; padding:3px 10px; }
.code-pill-dot{ width:9px; height:9px; border-radius:50%; flex:none; }
.method-limits{ margin-top:24px; } .method-limits h3{ font-family:var(--serif); font-size:18px; } .method-limits ul{ padding-left:20px; } .method-limits li{ margin:6px 0; font-size:14px; line-height:1.5; }

/* discussion iframe */
#discussion-frame{ width:100%; border:1px solid var(--line); border-radius:12px; background:#faf7f1; min-height:600px; display:block; }

/* rank cards used without .lower/.higher modifier here */
.rank-card h3{ font-family:var(--serif); font-size:18px; margin:0 0 3px; }

/* ---- equal-size buttons (2026-07-03) ---- */
/* channel + ranking bars: equal-width, responsive columns */
.channel-bar{ display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); }
.channel-bar .chan-opt{ text-align:center; min-width:0; }
/* committee / Greenspan toggle */
.subject-toggle{ display:flex; gap:6px; margin-bottom:16px; flex-wrap:wrap; }
.subject-toggle .chan-opt{ min-width:160px; text-align:center; }
.chan-opt.sm{ padding:7px 14px; font-size:13px; }
/* colour-by options: equal width within the group */
#colorby-opts{ display:inline-flex; gap:6px; flex-wrap:wrap; }
#colorby-opts .seg-opt{ min-width:150px; text-align:center; justify-content:center; }
/* unit toggle: two equal halves */
.fgroup .seg{ display:flex; }
.fgroup .seg .seg-opt{ flex:1; text-align:center; }
@media(max-width:520px){ .subject-toggle .chan-opt{ min-width:0; flex:1; } #colorby-opts .seg-opt{ min-width:0; } }
