.regime-view.rg-app {
  position: fixed;
  inset: 0;
  z-index: 6;
  height: var(--app-height, 100dvh);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--bg);
  color: var(--ink);
}
.rg-main {
  flex: 1;
  min-height: 0;
  overflow: auto;
  width: min(1120px, calc(100% - 40px));
  margin: 0 auto;
  padding: 14px 0 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.rg-main.rg-roomy {
  padding: 22px 0 28px;
  gap: 20px;
}
.rg-roomy .rg-top { gap: 18px; }
.rg-roomy .rg-facts,
.rg-roomy .rg-cards,
.rg-roomy .rg-probs { gap: 16px; }
.rg-roomy .rg-fact,
.rg-roomy .rg-card { padding: 16px 18px; }
.rg-roomy .rg-commentary { line-height: 1.65; }
.rg-roomy .rg-split { gap: 18px 24px; }
.rg-roomy .rg-markov .rg-canvas { height: 280px; }
.rg-top {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
}
.rg-hero { display: flex; align-items: flex-end; }
.rg-score { font-family: var(--font-title); font-size: 44px; line-height: 0.95; letter-spacing: -0.03em; }
.rg-verdict { font-size: 15px; font-weight: 600; margin-top: 4px; }
.rg-sub { color: var(--ink-2); margin-top: 2px; font-size: 13px; }
.rg-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.rg-fact, .rg-card, .rg-panel { background: var(--surface); border-radius: 16px; box-shadow: var(--shadow-1); }
.rg-panel { padding: 8px 16px; }
.rg-tone-pos { color: var(--pos); }
.rg-tone-info { color: var(--info); }
.rg-tone-warn { color: var(--warn); }
.rg-tone-neg { color: var(--neg); }
.rg-w-0 { width: 0%; } .rg-w-5 { width: 5%; } .rg-w-10 { width: 10%; } .rg-w-15 { width: 15%; }
.rg-w-20 { width: 20%; } .rg-w-25 { width: 25%; } .rg-w-30 { width: 30%; } .rg-w-35 { width: 35%; }
.rg-w-40 { width: 40%; } .rg-w-45 { width: 45%; } .rg-w-50 { width: 50%; } .rg-w-55 { width: 55%; }
.rg-w-60 { width: 60%; } .rg-w-65 { width: 65%; } .rg-w-70 { width: 70%; } .rg-w-75 { width: 75%; }
.rg-w-80 { width: 80%; } .rg-w-85 { width: 85%; } .rg-w-90 { width: 90%; } .rg-w-95 { width: 95%; }
.rg-w-100 { width: 100%; }
.rg-bar .rg-tone-pos { background: var(--pos); }
.rg-bar .rg-tone-info { background: var(--info); }
.rg-bar .rg-tone-warn { background: var(--warn); }
.rg-bar .rg-tone-neg { background: var(--neg); }
.rg-fact { padding: 10px 12px; }
.rg-k { color: var(--ink-3); font-size: 12px; }
.rg-v { font-size: 17px; font-weight: 600; margin-top: 2px; font-variant-numeric: tabular-nums; }
.rg-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.rg-card { padding: 12px 14px; }
.rg-card button { appearance: none; border: 0; background: transparent; padding: 0; text-align: left; cursor: pointer; color: inherit; font: inherit; width: 100%; }
.rg-bar { height: 4px; border-radius: 99px; background: var(--fill); margin-top: 8px; overflow: hidden; }
.rg-bar > span { display: block; height: 100%; border-radius: inherit; }
.rg-commentary { margin: 0; font-size: 14.5px; line-height: 1.5; }
.rg-note { margin: 0; color: var(--ink-3); font-size: 12px; }
.rg-metrics { display: grid; gap: 8px; }
.rg-metric { display: grid; grid-template-columns: minmax(0, 1fr) 96px 64px; gap: 12px; align-items: center; padding: 5px 0; border-bottom: 1px solid var(--hairline); font-size: 13.5px; }
.rg-metric b, .rg-metric span:last-child { text-align: right; }
.rg-metric b { font-variant-numeric: tabular-nums; }
.rg-canvas { height: 220px; min-height: 0; }
.rg-probs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.rg-split {
  display: grid;
  grid-template-columns: minmax(320px, 0.85fr) minmax(0, 1.15fr);
  grid-template-rows: auto auto auto;
  gap: 10px 16px;
  align-items: center;
}
.rg-split .rg-hero { grid-column: 1 / -1; }
.rg-split .rg-panel { grid-column: 1; grid-row: 2; }
.rg-split .rg-canvas { grid-column: 2; grid-row: 2; height: 260px; margin: 0; }
.rg-split .rg-note,
.rg-split .rg-legend,
.rg-split .rg-periods,
.rg-split .rg-event { grid-column: 1 / -1; }
.rg-legend { display: flex; flex-wrap: wrap; gap: 8px 14px; }
.rg-key { display: inline-flex; align-items: center; gap: 6px; color: var(--ink-2); font-size: 12px; }
.rg-mark { width: 8px; height: 8px; border-radius: 99px; display: inline-block; background: var(--ink-3); }
.rg-mark.rg-tone-pos { background: var(--pos); }
.rg-mark.rg-tone-info { background: var(--info); }
.rg-mark.rg-tone-warn { background: var(--warn); }
.rg-mark.rg-tone-neg { background: var(--neg); }
.rg-mark-mo { background: var(--info); }
.rg-mark-q { background: var(--warn); }
.rg-mark-then { background: var(--ink); }
.rg-cards-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rg-banner { margin: 0; padding: 10px 12px; border-radius: 12px; background: #F4EBD2; color: #6A4E08; font-size: 13px; }
.rg-fi-goldilocks .rg-bar > span { background: #1E7A4F; }
.rg-fi-reflation .rg-bar > span { background: #8A5A00; }
.rg-fi-stagflation .rg-bar > span { background: #B4382B; }
.rg-fi-deflation .rg-bar > span { background: #2F5F8A; }
.rg-periods { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.rg-all { display: inline-flex; align-items: center; gap: 6px; color: var(--ink-2); font-size: 12px; }
.rg-event { margin: 0; color: var(--ink-2); font-size: 13px; line-height: 1.45; }
.rg-event b { color: var(--ink); font-weight: 600; }
.rg-markov { grid-template-rows: auto auto auto; }
.rg-markov .rg-probs { grid-column: 1 / -1; }
.rg-markov .rg-canvas { grid-column: 2; grid-row: 3; height: 240px; }
.rg-markov .rg-table { grid-column: 1; grid-row: 3; margin: 0; }
.rg-empty, .rg-error { color: var(--ink-2); padding: 48px 0; }
.rg-table { width: 100%; border-collapse: collapse; margin-top: 0; }
.rg-table th, .rg-table td { text-align: left; padding: 6px 8px; border-bottom: 1px solid var(--hairline); font-variant-numeric: tabular-nums; font-size: 13px; }
.rg-table th { color: var(--ink-3); font-weight: 500; font-size: 12px; }
@media (max-width: 800px) {
  .rg-main { width: min(100% - 32px, 1120px); }
  .rg-top, .rg-split, .rg-markov { display: flex; flex-direction: column; }
  .rg-split .rg-canvas, .rg-markov .rg-canvas { height: 200px; }
  .rg-facts, .rg-cards, .rg-probs { grid-template-columns: 1fr 1fr; }
  .rg-hero { align-items: flex-start; }
}
@media (max-width: 520px) {
  .rg-facts, .rg-cards, .rg-probs { grid-template-columns: 1fr; }
}
