@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&display=swap');

.theme-legal {
  --primary: #1e3a5f;
  --secondary: #3857a6;
  --tertiary: #b8860b;
  --primary-text: #fff;
  --ink: #1a2332;
  --muted: #5c6b7a;
  --line: #d4dce6;
  --panel: #fff;
  --page-bg: #f4f6f9;
  --workspace-bg: #fff;
  --stage-bg:
    linear-gradient(180deg, #1e3a5f 0%, #152a45 100%);
  --stage-min-h: 38vh;
  --stage-pad: 32px 40px 28px;
  --frame-bg: #0c1829;
  --frame-border: 1px solid rgba(184,134,11,.45);
  --caption-bg: transparent;
  --card-bg: #fff;
  --detail-bg: #f8fafc;
  --detail-border: #d4dce6;
  --bubble-bg: #fff;
  --user-bubble-bg: #eef2f7;
  --composer-bg: #fff;
  --input-bg: #fff;
  --source-bg: #eef2f7;
  --source-border: #d4dce6;
  --user-chip-bg: #dbe4f0;
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 6px;
  --radius-pill: 2px;
  --chip-radius: 2px;
  --bubble-radius: 4px;
  --signal-radius: 2px;
  --signal-bg: linear-gradient(135deg, #1e3a5f, #3857a6);
  --heading-track: .01em;
  --topbar-weight: 700;
  --portrait-filter: drop-shadow(0 16px 32px rgba(0,0,0,.4));
  --shadow: 0 4px 24px rgba(30,58,95,.08);
}

.theme-legal .vertical-pill {
  background: #eef2f7;
  color: #1e3a5f;
  border: 1px solid #d4dce6;
  border-radius: 2px;
}

.theme-legal .caption h1,
.theme-legal .caption p {
  color: #fff;
}

.theme-legal .caption p { color: #c5d3e3; }

.theme-legal .mark { color: #fff; }
.theme-legal .status { color: #d4af37; }
.theme-legal .pulse.live { background: #d4af37; }

.theme-legal .stage {
  border-bottom: 3px solid #b8860b;
}

.theme-legal .topbar {
  border-bottom: 1px solid var(--line);
  padding-bottom: 16px;
}

.theme-legal .lead-card {
  border-left: 4px solid #b8860b;
}

.theme-legal .format-nav a.active {
  background: #1e3a5f;
  border-color: #1e3a5f;
}

.theme-legal button.primary {
  background: #1e3a5f;
  border-color: #1e3a5f;
  border-radius: 2px;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: 13px;
}

.theme-legal .detail-grid {
  border-top: 1px solid var(--line);
  padding-top: 12px;
}