
  *{box-sizing:border-box}
  body{margin:0;padding-top:24px;background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:14px;line-height:1.5}
  a{text-decoration:none;color:inherit}
  .tr-wrap{max-width:1200px;margin:0 auto;padding:0 20px 80px}

  /* ── page header ── */
  .tr-hd{padding:18px 0 14px}
  .tr-back{font-size:12px;color:var(--ink-link, var(--link));display:inline-flex;align-items:center;gap:4px;margin-bottom:10px}
  .tr-back:hover{opacity:.8}
  .tr-eyebrow{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 4px}
  .tr-title{font-size:clamp(22px,3vw,30px);font-weight:800;letter-spacing:-.02em;margin:0 0 6px}
  .tr-sub{color:var(--muted);font-size:13px;max-width:80ch;margin:0 0 4px}
  .tr-asof{color:var(--muted);font-size:12px}

  /* ── glance hero card ── */
  .tr-hero{display:flex;flex-wrap:wrap;gap:16px;margin:20px 0 28px;
    padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
  .tr-hero-stat{display:flex;flex-direction:column;gap:2px;min-width:120px}
  .tr-hero-stat .val{font-size:28px;font-weight:800;letter-spacing:-.02em}
  .tr-hero-stat .lbl{font-size:12px;color:var(--muted);font-weight:600}
  .tr-hero-stat.up .val{color:var(--ink-up, var(--up))}
  .tr-hero-stat.dn .val{color:var(--ink-down, var(--down))}
  .tr-hero-divider{width:1px;background:var(--line);align-self:stretch}
  .tr-hero-stance{flex:1;min-width:220px}
  .tr-hero-stance .stance-main{font-size:14.5px;font-weight:700;line-height:1.5}
  .tr-hero-stance .stance-sub{font-size:12.5px;color:var(--muted);margin-top:4px}
  /* ── measurement-change comparison (era break, 2026-08-07) ──────────────────
     Two readings of the SAME trades, so the visual job is the opposite of the
     hero's: invite comparison, refuse a verdict. Three rules follow from that —
       1. the "before" column is muted with a hairline rail, NOT struck through.
          A strikethrough reads as retracted, and these numbers were never wrong;
          they were measured on a grid that moved. The visual must not contradict
          the sentence above it;
       2. neither column takes .val's 28px or the up/down inks — the hero above
          still owns the headline, and colouring a comparison turns a measurement
          note into a performance claim;
       3. one plain sentence carries the reason, and a second says how much of the
          move is simply more trades finishing. Without it a reader reads the whole
          drop as the measurement change, which is false. */
  /* background is var(--panel) FLAT, not a muted wash over it. The wash reads fine on
     dark (panel #181b21 lifts off canvas #0f1115) but in light it lands on
     rgb(247,248,250) — the page canvas itself — so the whole block dissolved into the
     page while the hero above it stayed white. That is the panel≈bg flatness bug the
     doctrine names (§5.8). The block still reads quieter than the hero, but through
     type and the rail, not through a background that only works in one theme. */
  .tr-basis{margin:-8px 0 26px;padding:16px 18px;border:1px solid var(--line);
    border-left:3px solid color-mix(in srgb,var(--muted) 45%,transparent);
    border-radius:12px;background:var(--panel)}
  .tr-basis-hd{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin-bottom:8px}
  .tr-basis-tag{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
    color:var(--muted)}
  .tr-basis-dt{font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}
  .tr-basis-line{margin:0 0 14px;font-size:12.5px;line-height:1.55;color:var(--text);max-width:80ch}
  .tr-basis-cmp{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:flex-start}
  .tr-basis-col{min-width:170px;padding-left:11px;
    border-left:1px solid color-mix(in srgb,var(--muted) 30%,transparent)}
  .tr-basis-col-k{font-size:11px;font-weight:700;color:var(--muted);margin-bottom:5px}
  .tr-basis-row{display:flex;justify-content:space-between;gap:14px;font-size:13px;line-height:1.75}
  .tr-basis-row .n{font-weight:700;font-variant-numeric:tabular-nums}
  .tr-basis-row .w{color:var(--muted);font-size:12px}
  .tr-basis-then{color:var(--muted)}
  .tr-basis-ft{margin:12px 0 0;font-size:11.5px;line-height:1.5;color:var(--muted);max-width:80ch}
  @media (max-width:560px){ .tr-basis-cmp{gap:14px} .tr-basis-col{min-width:0;flex:1 1 140px} }

  .accruing-chip{display:inline-block;font-size:10px;font-weight:700;padding:2px 8px;border-radius:6px;
    border:1px solid color-mix(in srgb,var(--warn) 50%,var(--line));
    color:var(--ink-warn, var(--warn));background:color-mix(in srgb,var(--warn) 10%,transparent);
    margin-left:6px;vertical-align:middle}

  /* ── section headers ── */
  .tr-section{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
  .tr-section:first-of-type{border-top:none;margin-top:0;padding-top:0}
  .tr-section-hd{font-size:15px;font-weight:750;margin:0 0 4px}
  .tr-section-sub{font-size:12.5px;color:var(--muted);margin:0 0 14px;max-width:72ch}

  /* ── chart canvas ── */
  .tr-chart-wrap{position:relative;width:100%;height:160px;margin:0 0 8px;
    border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:hidden}
  .tr-chart-wrap svg{position:absolute;inset:0;width:100%;height:100%}
  .tr-chart-legend{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:16px;font-size:11.5px;color:var(--muted)}
  .tr-chart-legend span{display:flex;align-items:center;gap:5px}
  .tr-chart-legend .dot{width:10px;height:10px;border-radius:50%}
  .chart-accruing{display:flex;align-items:center;justify-content:center;
    height:160px;border:1px solid var(--line);border-radius:10px;background:var(--panel);
    color:var(--muted);font-size:13px;font-style:italic;margin-bottom:8px}

  /* ── horizon ladder table ── */
  .tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
  table.tr-tbl{width:100%;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums;white-space:nowrap}
  table.tr-tbl th{text-align:right;padding:7px 10px;border-bottom:1.5px solid var(--line);
    color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
  table.tr-tbl th:first-child{text-align:left}
  table.tr-tbl td{text-align:right;padding:7px 10px;border-bottom:1px solid var(--line)}
  table.tr-tbl td:first-child{text-align:left;font-weight:700}
  table.tr-tbl tr:last-child td{border-bottom:none}
  .pos{color:var(--ink-up, var(--up))} .neg{color:var(--ink-down, var(--down))} .neu{color:var(--muted)}
  .ci-range{font-size:10.5px;color:var(--muted)}
  .n-col{font-size:11px;color:var(--muted)}

  /* ── outcomes table ── */
  table.tr-out-tbl{width:100%;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums}
  table.tr-out-tbl th{text-align:right;padding:6px 9px;border-bottom:1.5px solid var(--line);
    color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
  table.tr-out-tbl th:first-child{text-align:left}
  table.tr-out-tbl td{text-align:right;padding:6px 9px;border-bottom:1px solid var(--line)}
  table.tr-out-tbl td:first-child{text-align:left}
  table.tr-out-tbl td.tk-cell{font-weight:700}
  table.tr-out-tbl tr:last-child td{border-bottom:none}
  .oc-dot{display:inline-block;width:8px;height:8px;border-radius:50%;vertical-align:middle}
  .oc-dot.running{background:var(--up)}
  .oc-dot.stopped{background:var(--down)}
  .oc-dot.flat{background:var(--muted)}
  .autopsy-col{color:var(--muted);font-size:11px}

  /* ── coverage / loss ledger cards ── */
  .tr-row-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 14px}
  @media(max-width:620px){.tr-row-grid{grid-template-columns:1fr}}
  .tr-card{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--panel)}
  .tr-card-title{font-size:12.5px;font-weight:700;margin:0 0 8px}
  .tr-card-val{font-size:22px;font-weight:800;letter-spacing:-.02em}
  .tr-card-sub{font-size:11.5px;color:var(--muted);margin-top:3px}
  .tr-gap-note{font-size:12px;color:var(--muted);font-style:italic;padding:10px 0 0}

  /* ── accrual clock banner ── */
  .tr-clock{display:flex;align-items:flex-start;gap:10px;padding:12px 15px;
    border:1.5px solid color-mix(in srgb,var(--warn) 40%,var(--line));
    border-radius:10px;background:color-mix(in srgb,var(--warn) 6%,var(--panel));
    margin-bottom:16px;font-size:12.5px}
  .tr-clock-icon{font-size:18px;flex-shrink:0;margin-top:1px}
  .tr-clock-body{color:var(--muted)}
  .tr-clock-body b{color:var(--text)}

  /* ── disclosure footnote ── */
  .tr-footnote{font-size:11.5px;color:var(--muted);border-top:1px solid var(--line);
    padding-top:14px;margin-top:28px;max-width:90ch;line-height:1.65}
  .tr-footnote b{color:var(--text)}

  /* ── data-gap placeholder ── */
  .tr-gap-block{padding:18px;border:1px dashed var(--line);border-radius:10px;
    background:color-mix(in srgb,var(--muted) 4%,var(--panel));color:var(--muted);
    font-size:12.5px;font-style:italic;text-align:center}
