:root {
  --bg: #eef2f1;
  --panel: #ffffff;
  --ink: #111717;
  --muted: #5f686a;
  --line: #d5dcda;
  --soft: #eef4f2;
  --accent: #006c67;
  --accent-dark: #083c3a;
  --gold: #c59b32;
  --high: #b9412d;
  --elevated: #c37a20;
  --watch: #315f9d;
  --low: #27744a;
  --shadow: 0 18px 46px rgba(22, 31, 34, 0.1);
}
* {
  box-sizing: border-box;
}

.brand-home-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.brand-home-link:focus-visible {
  outline: 3px solid #e87840;
  outline-offset: 5px;
  border-radius: 6px;
}

[hidden] {
  display: none !important;
}

body {
  margin: 0;
  color: var(--ink);
  background: linear-gradient(180deg, #f8faf9 0, var(--bg) 360px), var(--bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-variant-numeric: tabular-nums;
}

button,
input,
select {
  font: inherit;
}

.topbar {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  overflow: hidden;
  padding: 22px clamp(16px, 4vw, 48px) 24px;
  color: #f7fbfa;
  background:
    linear-gradient(90deg, rgba(197, 155, 50, 0.1), transparent 28%),
    linear-gradient(135deg, #071113 0%, #10191b 48%, #16243a 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.topbar::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, transparent 0 24%, rgba(255, 255, 255, 0.05) 24.2% 24.6%, transparent 24.8% 50%, rgba(255, 255, 255, 0.04) 50.2% 50.5%, transparent 50.7%),
    linear-gradient(180deg, transparent 0 58%, rgba(255, 255, 255, 0.05) 58.2% 58.6%, transparent 58.8%),
    radial-gradient(circle at 50% 50%, transparent 0 16%, rgba(197, 155, 50, 0.16) 16.3% 17.4%, transparent 17.8%);
  opacity: 0.72;
  pointer-events: none;
}

.topbar::after {
  content: "";
  position: absolute;
  right: clamp(16px, 4vw, 48px);
  bottom: 0;
  left: clamp(16px, 4vw, 48px);
  height: 4px;
  border-radius: 999px 999px 0 0;
  background:
    linear-gradient(90deg, var(--low) 0 25%, var(--watch) 25% 50%, var(--elevated) 50% 75%, var(--high) 75% 100%);
}

.brand {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}

.brand-mark {
  position: relative;
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.24), transparent 42%),
    radial-gradient(circle at 50% 56%, transparent 0 24%, rgba(197, 155, 50, 0.96) 25% 29%, transparent 30%),
    linear-gradient(135deg, #05272c 0%, #006c67 46%, #1e3763 100%);
  clip-path: polygon(50% 0, 92% 17%, 84% 82%, 50% 100%, 16% 82%, 8% 17%);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.34), 0 16px 34px rgba(0, 0, 0, 0.34);
  flex: 0 0 auto;
}

.brand-mark::before {
  content: "";
  position: absolute;
  inset: 12px 15px;
  border-top: 2px solid rgba(255, 255, 255, 0.82);
  border-bottom: 2px solid rgba(255, 255, 255, 0.82);
}

.brand-mark::after {
  content: "";
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: 50%;
  width: 2px;
  background: rgba(255, 255, 255, 0.62);
  transform: translateX(-50%);
}

.brand-mark b {
  position: relative;
  z-index: 1;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
}

.brand-mark i {
  position: absolute;
  right: 15px;
  bottom: 16px;
  z-index: 1;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #f7fbfa;
  box-shadow: 0 0 0 2px rgba(17, 26, 29, 0.48);
}

.brand-copy {
  min-width: 0;
}

.brand p,
.eyebrow {
  margin: 0 0 4px;
  color: var(--accent);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.brand p {
  color: #98d9d3;
}

.brand h1,
h2,
h3 {
  margin: 0;
  letter-spacing: 0;
}

.brand h1 {
  font-size: clamp(20px, 3vw, 30px);
  line-height: 1.12;
}

.brand-signals {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.brand-signals span {
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  padding: 5px 8px;
  background: rgba(255, 255, 255, 0.06);
  color: #d3e0dd;
  font-size: 12px;
  font-weight: 700;
}

.topbar-panel {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: end;
  gap: 6px;
  min-width: 220px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  padding: 11px 12px;
  background: rgba(255, 255, 255, 0.06);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.topbar-panel span {
  color: #98d9d3;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.topbar-meta {
  color: #c9d5d3;
  font-size: 13px;
  font-weight: 700;
  text-align: right;
}

.tabs {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  gap: 6px;
  padding: 10px clamp(16px, 4vw, 48px);
  overflow-x: auto;
  border-bottom: 1px solid var(--line);
  background: rgba(239, 244, 242, 0.96);
  backdrop-filter: blur(10px);
  scrollbar-width: none;
}

.tabs::-webkit-scrollbar {
  display: none;
}

.tab {
  min-width: max-content;
  border: 1px solid transparent;
  border-radius: 7px;
  padding: 9px 12px;
  color: var(--muted);
  background: transparent;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}

.tab:hover,
.tab.is-active {
  color: var(--accent-dark);
  border-color: rgba(197, 155, 50, 0.75);
  background: #fff;
  box-shadow: inset 0 -2px 0 var(--gold);
}

.shell {
  padding: 20px clamp(16px, 4vw, 48px) 48px;
}

.tab-panel {
  display: none;
}

.tab-panel.is-active {
  display: block;
}

.hero-panel,
.panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  box-shadow: var(--shadow);
}

.hero-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.48fr);
  gap: 28px;
  align-items: stretch;
  padding: clamp(22px, 4vw, 34px);
  margin-bottom: 16px;
  background: linear-gradient(135deg, #ffffff 0%, #f9fbfa 62%, #eff6f3 100%);
}

.hero-panel h2 {
  max-width: 820px;
  font-size: clamp(30px, 5vw, 56px);
  line-height: 1;
}

.hero-panel p:not(.eyebrow) {
  max-width: 760px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.55;
}

.risk-visual {
  min-height: 178px;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 12px;
  border: 1px solid #cbd8d5;
  border-radius: 8px;
  padding: 16px;
  background: #111a1d;
  color: #f6fbfa;
  position: relative;
  overflow: hidden;
}

.risk-visual::before {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background:
    linear-gradient(90deg, transparent 49%, rgba(255, 255, 255, 0.1) 49% 51%, transparent 51%),
    radial-gradient(circle at 50% 50%, transparent 0 20%, rgba(197, 155, 50, 0.35) 21% 23%, transparent 24%);
  pointer-events: none;
}

.risk-visual-head,
.risk-legend {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: #c6d4d3;
  font-size: 12px;
  font-weight: 700;
}

.risk-visual-head strong {
  color: #fff;
  font-size: 28px;
}

.risk-bars {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  align-items: end;
  gap: 8px;
  min-height: 94px;
}

.risk-bar {
  display: flex;
  align-items: end;
  justify-content: center;
  height: var(--h);
  min-height: 18px;
  border-radius: 5px 5px 2px 2px;
  background: var(--watch);
}

.risk-bar.elevated {
  background: var(--elevated);
}

.risk-bar.high {
  background: var(--high);
}

.risk-bar i {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  padding: 5px 0;
  color: #fff;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.command-center {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.command-card {
  min-width: 0;
  padding: 16px;
  border: 1px solid #cfd8d5;
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--shadow);
}

.command-card span {
  color: var(--accent);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.command-card strong {
  display: block;
  margin: 6px 0;
  font-size: clamp(20px, 2.4vw, 28px);
  line-height: 1.05;
}

.command-card p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.exposure-panel {
  margin-bottom: 16px;
  overflow: hidden;
  border-color: rgba(16, 25, 27, 0.28);
  background: #10191b;
  color: #f7fbfa;
}

.exposure-panel .panel-title {
  border-bottom-color: rgba(255, 255, 255, 0.12);
}

.exposure-panel .panel-title span {
  color: #a8b8b5;
}

.exposure-brief {
  display: grid;
  grid-template-columns: minmax(300px, 1.12fr) minmax(260px, 0.82fr) minmax(300px, 1fr);
  gap: 14px;
  padding: 14px;
}

.exposure-stack-card,
.claim-panel,
.exposure-leaders {
  min-width: 0;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  padding: 14px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent),
    #152124;
}

.brief-kicker {
  color: #9ed7d2;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.exposure-stack-card > strong {
  display: block;
  margin: 6px 0 2px;
  font-size: clamp(32px, 4.4vw, 52px);
  line-height: 0.95;
}

.exposure-stack-card > span {
  color: #bdccca;
  font-size: 13px;
  font-weight: 800;
}

.exposure-stack {
  display: flex;
  gap: 3px;
  height: 18px;
  margin: 16px 0 12px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.09);
}

.exposure-stack i {
  display: block;
  width: var(--w);
  min-width: 0;
}

.exposure-stack .high,
.exposure-bands .high {
  background: var(--high);
}

.exposure-stack .elevated,
.exposure-bands .elevated {
  background: var(--elevated);
}

.exposure-stack .watch,
.exposure-bands .watch {
  background: var(--watch);
}

.exposure-stack .low,
.exposure-bands .low {
  background: var(--low);
}

.exposure-bands {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}

.exposure-bands article {
  min-width: 0;
  border-radius: 7px;
  padding: 9px;
  color: #fff;
}

.exposure-bands span,
.exposure-bands p {
  color: rgba(255, 255, 255, 0.82);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.exposure-bands strong {
  display: block;
  margin: 3px 0;
  font-size: 15px;
}

.exposure-bands p {
  margin: 0;
  line-height: 1.3;
  text-transform: none;
}

.claim-panel,
.exposure-leaders {
  display: grid;
  align-content: start;
  gap: 10px;
}

.claim-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 10px;
}

.claim-row strong,
.exposure-leaders strong {
  display: block;
  font-size: 13px;
}

.claim-row p {
  margin: 4px 0 0;
  color: #bdccca;
  font-size: 12px;
  line-height: 1.35;
}

.confidence-badge {
  display: grid;
  justify-items: end;
  gap: 2px;
  min-width: 82px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 7px;
  padding: 7px 8px;
  background: rgba(255, 255, 255, 0.07);
  color: #f7fbfa;
}

.confidence-badge.low {
  border-color: rgba(39, 116, 74, 0.65);
}

.confidence-badge.high {
  border-color: rgba(185, 65, 45, 0.72);
}

.confidence-badge b {
  font-size: 12px;
  text-align: right;
  text-transform: uppercase;
}

.confidence-badge i {
  color: #bdccca;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.exposure-leaders article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 9px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 9px;
}

.exposure-leaders span {
  color: #bdccca;
  font-size: 12px;
  font-weight: 800;
}

.exposure-leaders article > b {
  font-size: 13px;
}

.skeleton {
  min-height: 112px;
  border: 1px solid #dce5e2;
  border-radius: 8px;
  background:
    linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.72), transparent),
    linear-gradient(135deg, #edf3f1, #f9fbfa);
  background-size: 220% 100%, 100% 100%;
  animation: pulse 1.4s ease-in-out infinite;
}

@keyframes pulse {
  0% {
    background-position: 120% 0, 0 0;
  }

  100% {
    background-position: -120% 0, 0 0;
  }
}

.metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.metric-grid.small {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 0 16px 16px;
}

.metric {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  box-shadow: 0 8px 24px rgba(18, 30, 32, 0.05);
}

.metric b {
  display: block;
  margin-bottom: 6px;
  font-size: clamp(24px, 4vw, 36px);
  line-height: 1;
}

.metric span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.visual-panel,
.gate-timeline-panel {
  margin-bottom: 16px;
}

.availability-visuals {
  display: grid;
  grid-template-columns: minmax(260px, 0.82fr) minmax(0, 1.18fr);
  gap: 14px;
  padding: 14px;
}

.body-map {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-width: 0;
}

.body-figure {
  position: relative;
  min-height: 270px;
  border: 1px solid #dbe5e2;
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(248, 250, 249, 0.92), rgba(232, 240, 237, 0.9)),
    radial-gradient(circle at 50% 21%, #dce7e3 0 24px, transparent 25px),
    linear-gradient(90deg, transparent 44%, #dce7e3 45% 55%, transparent 56%),
    linear-gradient(90deg, transparent 25%, #dce7e3 26% 32%, transparent 33% 67%, #dce7e3 68% 74%, transparent 75%);
  overflow: hidden;
}

.body-figure::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 54px;
  width: 72px;
  height: 116px;
  border-radius: 34px 34px 20px 20px;
  background: rgba(8, 60, 58, 0.12);
  transform: translateX(-50%);
}

.body-zone {
  position: absolute;
  display: grid;
  place-items: center;
  width: var(--size);
  height: var(--size);
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 999px;
  background: rgba(185, 65, 45, 0.78);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  box-shadow: 0 10px 26px rgba(20, 31, 34, 0.18);
}

.zone-0 {
  left: 45%;
  top: 38%;
}

.zone-1 {
  left: 54%;
  top: 19%;
}

.zone-2 {
  left: 25%;
  top: 43%;
}

.zone-3 {
  left: 46%;
  top: 67%;
}

.zone-4 {
  left: 18%;
  top: 14%;
}

.region-list,
.season-timeline {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.region-list article {
  display: grid;
  gap: 6px;
  border: 1px solid #e0e8e5;
  border-radius: 8px;
  padding: 9px;
  background: #fbfcfc;
}

.region-list article div,
.season-timeline article div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.region-list span,
.season-timeline span,
.season-timeline b {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.region-list i {
  display: block;
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8eeec;
}

.region-list i span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--high), var(--gold));
}

.season-timeline {
  grid-template-columns: repeat(8, minmax(0, 1fr));
  align-items: end;
  min-height: 270px;
}

.season-timeline article {
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 8px;
  min-height: 240px;
  min-width: 0;
  border: 1px solid #e0e8e5;
  border-radius: 8px;
  padding: 9px;
  background: #fbfcfc;
}

.season-timeline article div {
  display: grid;
  gap: 3px;
}

.season-timeline i {
  display: flex;
  align-items: end;
  min-height: 120px;
  border-radius: 999px;
  background: #e8eeec;
  overflow: hidden;
}

.season-timeline i span {
  display: block;
  width: 100%;
  border-radius: inherit;
  background: linear-gradient(180deg, var(--accent), var(--watch));
}

.two-column,
.player-layout,
.trade-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
  gap: 16px;
}

.dossier-panel,
.trust-panel,
.gate-timeline-panel {
  margin-top: 16px;
}

.dossier-panel {
  grid-column: 1 / -1;
}

.panel {
  min-width: 0;
  overflow: hidden;
}

.panel-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
}

.panel-title h3 {
  font-size: 16px;
}

.panel-title h2 {
  margin: 0;
  font-size: 16px;
  line-height: 1.15;
}

.panel-title span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1.4fr) repeat(5, minmax(112px, 1fr));
  gap: 10px;
  margin-bottom: 16px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #e7eeec;
}

.toolbar.compact {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.player-filter-drawer,
.player-filter-grid {
  display: contents;
}

.player-filter-toggle {
  display: none;
}

label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

input,
select {
  width: 100%;
  min-width: 0;
  border: 1px solid #c7d1cc;
  border-radius: 7px;
  background: #fff;
  color: var(--ink);
  padding: 9px 10px;
  font-size: 14px;
}

.player-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 14px;
}

.player-card {
  position: relative;
  display: grid;
  gap: 10px;
  min-height: 272px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0 12px 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 251, 250, 0.98)),
    linear-gradient(135deg, color-mix(in srgb, var(--team-primary, #0e3b44) 10%, #fff), #fff 56%);
  text-align: left;
  cursor: pointer;
}

.player-card:hover,
.player-card.is-selected {
  border-color: rgba(197, 155, 50, 0.7);
  background: #fbfdfc;
  box-shadow: 0 12px 28px rgba(21, 31, 34, 0.09);
}

.player-card.high {
  color: var(--high);
  box-shadow: inset 4px 0 0 var(--high);
}

.player-card.elevated {
  color: var(--elevated);
  box-shadow: inset 4px 0 0 var(--elevated);
}

.player-card.watch {
  color: var(--watch);
  box-shadow: inset 4px 0 0 var(--watch);
}

.player-card.low {
  color: var(--low);
  box-shadow: inset 4px 0 0 var(--low);
}

.player-card.high:hover,
.player-card.high.is-selected,
.player-card.elevated:hover,
.player-card.elevated.is-selected,
.player-card.watch:hover,
.player-card.watch.is-selected,
.player-card.low:hover,
.player-card.low.is-selected {
  box-shadow: inset 4px 0 0 currentColor, 0 12px 28px rgba(21, 31, 34, 0.09);
}

.player-card .card-head,
.player-card .risk-meter,
.player-card .movement-rail,
.player-card .card-stats,
.player-card .card-exposure {
  color: var(--ink);
}

.card-ribbon {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 -12px 2px;
  min-width: 0;
  min-height: 36px;
  padding: 8px 11px 8px 16px;
  background:
    linear-gradient(90deg, rgba(8, 19, 22, 0.18), transparent 46%),
    linear-gradient(135deg, var(--team-primary, #0e3b44), var(--team-secondary, #366399));
  color: #fff;
}

.card-ribbon span,
.card-ribbon b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.card-ribbon span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.card-ribbon .team-logo {
  width: 20px;
  height: 20px;
  object-fit: contain;
}

.card-ribbon b {
  flex: 0 0 auto;
  border: 1px solid rgba(255, 255, 255, 0.42);
  border-radius: 999px;
  padding: 3px 7px;
  background: rgba(3, 16, 19, 0.18);
  font-size: 12px;
  font-weight: 800;
}

.card-head,
.detail-title {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
  gap: 8px;
}

.card-head strong {
  display: block;
  overflow: hidden;
  font-size: 15px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.card-head span,
.subtle {
  display: block;
  overflow: hidden;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.player-avatar {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  border-radius: 50%;
  background:
    radial-gradient(circle at 70% 30%, rgba(255, 255, 255, 0.38), transparent 28%),
    linear-gradient(135deg, var(--team-primary, #0e3b44), var(--team-secondary, #366399));
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.24);
}

.player-avatar b {
  position: absolute;
  right: -2px;
  bottom: -2px;
  display: grid;
  place-items: center;
  min-width: 19px;
  height: 19px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  background: rgba(12, 28, 32, 0.86);
  color: #fff;
  font-size: 8px;
  line-height: 1;
}

.player-portrait {
  position: relative;
  display: grid;
  grid-template-rows: 1fr auto;
  align-items: end;
  justify-items: center;
  width: 56px;
  height: 68px;
  flex: 0 0 auto;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 8px;
  background:
    radial-gradient(circle at 50% 24%, rgba(255, 255, 255, 0.3) 0 16px, transparent 17px),
    linear-gradient(180deg, rgba(255, 255, 255, 0.12), transparent 45%),
    linear-gradient(135deg, var(--team-primary, #0e3b44), var(--team-secondary, #366399));
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.16), 0 10px 22px rgba(20, 31, 34, 0.15);
}

.player-portrait img {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: calc(100% - 19px);
  object-fit: cover;
  object-position: top center;
}

.player-portrait img:not([hidden]) ~ b {
  opacity: 0;
}

.player-portrait b {
  position: relative;
  z-index: 2;
}

.player-portrait b {
  align-self: center;
  margin-top: 7px;
  font-size: 14px;
  font-weight: 800;
  text-shadow: 0 1px 7px rgba(0, 0, 0, 0.34);
}

.player-portrait.detail {
  width: 72px;
  height: 86px;
}

.player-portrait.dossier {
  width: 82px;
  height: 96px;
}

.player-portrait.detail b,
.player-portrait.dossier b {
  font-size: 17px;
}

.pill {
  display: inline-flex;
  align-items: center;
  width: max-content;
  max-width: 100%;
  min-height: 24px;
  border-radius: 999px;
  padding: 3px 8px;
  background: var(--soft);
  color: var(--accent-dark);
  font-size: 12px;
  font-weight: 700;
}

.pill.high {
  background: #f7ded8;
  color: var(--high);
}

.pill.elevated {
  background: #f7ecd1;
  color: #875413;
}

.pill.watch {
  background: #e7edf8;
  color: var(--watch);
}

.pill.low {
  background: #e4f3e8;
  color: var(--low);
}

.risk-meter {
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #edf1ef;
}

.risk-meter span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--watch);
}

.risk-meter.elevated span {
  background: var(--elevated);
}

.risk-meter.high span {
  background: var(--high);
}

.movement-rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.movement-rail.compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.trend-chip {
  display: grid;
  gap: 2px;
  min-width: 0;
  border: 1px solid #dfe7e4;
  border-radius: 7px;
  padding: 8px;
  background: #fbfcfc;
}

.trend-chip b {
  overflow: hidden;
  color: var(--accent-dark);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trend-chip i {
  overflow: hidden;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  text-transform: uppercase;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trend-chip.high {
  border-color: #edc7be;
  background: #fff2ef;
}

.trend-chip.high b {
  color: var(--high);
}

.trend-chip.elevated {
  border-color: #ead1a4;
  background: #fff7e7;
}

.trend-chip.elevated b {
  color: #875413;
}

.trend-chip.watch {
  border-color: #c9d7ee;
  background: #f1f5fb;
}

.trend-chip.watch b {
  color: var(--watch);
}

.trend-chip.low {
  border-color: #c8e5d0;
  background: #edf8f0;
}

.trend-chip.low b {
  color: var(--low);
}

.card-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.card-stats div,
.detail-stat,
.mini-list article {
  border: 1px solid #e2e8e5;
  border-radius: 7px;
  padding: 8px;
  background: #fbfcfc;
}

.card-stats b,
.detail-stat b {
  display: block;
  font-size: 16px;
}

.card-stats span,
.detail-stat span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.card-exposure {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(74px, 0.65fr);
  gap: 6px;
}

.card-exposure span {
  display: grid;
  gap: 3px;
  min-width: 0;
  border: 1px solid #dfe7e4;
  border-radius: 7px;
  padding: 8px;
  background: #fff;
}

.card-exposure b,
.card-exposure i {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.card-exposure b {
  color: var(--accent-dark);
  font-size: 13px;
  font-weight: 800;
}

.card-exposure i {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  text-transform: uppercase;
}

.decision-use-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  min-width: 0;
  border: 1px solid #cfdad6;
  border-radius: 7px;
  padding: 8px 9px;
  background: #132124;
  color: #f7fbfa;
}

.decision-use-line span {
  color: #aec0bb;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.decision-use-line b {
  overflow: hidden;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  text-overflow: ellipsis;
}

.detail-panel {
  position: sticky;
  top: 72px;
  align-self: start;
}

.detail-body {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.detail-title h3 {
  font-size: 24px;
}

.detail-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.dossier-cover {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px;
  color: #f7fbfa;
  background:
    linear-gradient(90deg, rgba(6, 36, 40, 0.92), rgba(11, 74, 72, 0.9)),
    linear-gradient(135deg, #0d1a1d, #0a3d3c);
}

.dossier-identity {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 14px;
}

.dossier-identity .player-avatar {
  width: 58px;
  height: 58px;
  font-size: 15px;
}

.dossier-identity h3 {
  font-size: clamp(24px, 4vw, 38px);
  line-height: 1;
}

.dossier-identity span {
  color: #c7d9d6;
  font-size: 13px;
  font-weight: 800;
}

.dossier-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.dossier-brief-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 14px 0;
}

.dossier-brief-meta span {
  border: 1px solid #dce5e2;
  border-radius: 999px;
  padding: 6px 9px;
  background: #f8faf9;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.dossier-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 14px;
}

.insight-card {
  min-width: 0;
  border: 1px solid #dfe7e4;
  border-top: 4px solid var(--accent);
  border-radius: 8px;
  padding: 12px;
  background: #fbfcfc;
}

.insight-card.high {
  border-top-color: var(--high);
}

.insight-card.elevated {
  border-top-color: var(--elevated);
}

.insight-card.low {
  border-top-color: var(--low);
}

.insight-card span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.insight-card strong {
  display: block;
  margin: 5px 0;
  font-size: 20px;
  line-height: 1.08;
}

.insight-card p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.38;
}

.dossier-signals {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 0 14px 14px;
}

.signal-bar {
  border: 1px solid #e0e8e5;
  border-radius: 8px;
  background: #fbfcfc;
  padding: 10px;
}

.signal-bar div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
}

.signal-bar strong {
  font-size: 13px;
}

.signal-bar span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.signal-bar i {
  display: block;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8eeec;
}

.signal-bar i span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--accent), var(--gold));
}

.signal-bar.high i span {
  background: var(--high);
}

.signal-bar.elevated i span {
  background: var(--elevated);
}

.signal-bar.low i span {
  background: var(--low);
}

.availability-curve-card {
  display: grid;
  gap: 10px;
  margin: 0 14px 14px;
  border: 1px solid #cfdad6;
  border-radius: 8px;
  padding: 12px;
  background:
    linear-gradient(135deg, rgba(197, 155, 50, 0.08), transparent 42%),
    #132124;
  color: #f7fbfa;
}

.availability-curve-card.compact {
  margin: 0;
}

.curve-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.curve-head div {
  min-width: 0;
}

.curve-head span,
.curve-head b {
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.curve-head span {
  display: block;
  color: #a7b9b5;
}

.curve-head strong {
  display: block;
  margin-top: 4px;
  font-size: 18px;
  line-height: 1.05;
}

.curve-head b {
  flex: 0 1 auto;
  max-width: 150px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  padding: 5px 8px;
  color: #f7fbfa;
  line-height: 1.15;
  text-align: center;
}

.curve-head b.high {
  background: rgba(185, 57, 39, 0.72);
}

.curve-head b.elevated {
  background: rgba(178, 116, 24, 0.72);
}

.curve-head b.watch {
  background: rgba(43, 91, 151, 0.68);
}

.curve-head b.low {
  background: rgba(46, 125, 75, 0.7);
}

.curve-canvas {
  min-height: 116px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0 1px, transparent 1px 25%),
    linear-gradient(90deg, rgba(255, 255, 255, 0.07) 0 1px, transparent 1px 25%),
    rgba(255, 255, 255, 0.035);
}

.curve-canvas svg {
  display: block;
  width: 100%;
  height: 116px;
}

.curve-canvas path {
  fill: none;
  stroke: rgba(255, 255, 255, 0.22);
  stroke-width: 1;
}

.curve-canvas polyline {
  fill: none;
  stroke: var(--gold);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
}

.curve-canvas circle {
  fill: var(--watch);
  stroke: #132124;
  stroke-width: 1.7;
}

.curve-canvas circle.high {
  fill: var(--high);
}

.curve-canvas circle.elevated {
  fill: var(--elevated);
}

.curve-canvas circle.low {
  fill: var(--low);
}

.curve-points {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.curve-points article {
  min-width: 0;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-top: 3px solid var(--watch);
  border-radius: 7px;
  padding: 7px;
  background: rgba(255, 255, 255, 0.06);
}

.curve-points article.high {
  border-top-color: var(--high);
}

.curve-points article.elevated {
  border-top-color: var(--elevated);
}

.curve-points article.low {
  border-top-color: var(--low);
}

.curve-points strong,
.curve-points span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.curve-points strong {
  font-size: 15px;
  line-height: 1.1;
}

.curve-points span {
  margin-top: 3px;
  color: #b8c7c3;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.availability-curve-card p {
  margin: 0;
  color: #c7d5d2;
  font-size: 12px;
  line-height: 1.35;
}

.dossier-decision-box {
  display: grid;
  grid-template-columns: minmax(220px, 0.38fr) minmax(0, 1fr);
  gap: 12px;
  margin: 0 14px 14px;
  border: 1px solid #d7e0dd;
  border-radius: 8px;
  padding: 14px;
  background:
    linear-gradient(135deg, rgba(16, 25, 27, 0.04), transparent),
    #fff;
}

.dossier-decision-box span {
  color: var(--accent);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.dossier-decision-box strong {
  display: block;
  margin-top: 4px;
  font-size: 20px;
  line-height: 1.1;
}

.dossier-decision-box ol {
  display: grid;
  gap: 7px;
  margin: 0;
  padding-left: 20px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.dossier-history {
  border-top: 1px solid var(--line);
}

.case-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 14px 14px 0;
}

.case-season-strip {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 8px;
  padding: 14px;
}

.case-season-strip article {
  display: grid;
  grid-template-rows: auto 92px auto;
  gap: 7px;
  min-width: 0;
  border: 1px solid #e0e8e5;
  border-radius: 8px;
  padding: 8px;
  background: #fbfcfc;
}

.case-season-strip strong {
  font-size: 12px;
  line-height: 1.2;
}

.case-season-strip b {
  color: var(--muted);
  font-size: 12px;
}

.case-season-strip i {
  display: flex;
  align-items: end;
  overflow: hidden;
  border-radius: 999px;
  background: #e8eeec;
}

.case-season-strip i span {
  display: block;
  width: 100%;
  border-radius: inherit;
  background: linear-gradient(180deg, var(--high), var(--gold));
}

.case-detail-grid {
  display: grid;
  grid-template-columns: minmax(240px, 0.45fr) minmax(0, 1fr);
  gap: 12px;
  padding: 0 14px 14px;
}

.case-region-mix,
.case-episode-list {
  display: grid;
  gap: 8px;
}

.case-region-mix article,
.case-episode-list article {
  border: 1px solid #e0e8e5;
  border-radius: 8px;
  padding: 10px;
  background: #fbfcfc;
}

.case-region-mix article div,
.case-episode-list article div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: start;
}

.case-region-mix span,
.case-episode-list span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.case-region-mix i {
  display: block;
  height: 8px;
  margin-top: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8eeec;
}

.case-region-mix i span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--watch), var(--gold));
}

.case-episode-list p {
  margin: 7px 0 4px;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.35;
}

.mini-list {
  display: grid;
  gap: 8px;
  padding: 14px;
}

.mini-list article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.mini-list article p {
  grid-column: 2 / -1;
  margin: -4px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.row-score {
  display: grid;
  justify-items: end;
  gap: 3px;
}

.status-stack {
  display: grid;
  gap: 8px;
  padding: 14px;
}

.status-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(72px, max-content);
  gap: 10px;
  align-items: start;
  padding: 10px;
  border: 1px solid #e1e8e5;
  border-radius: 8px;
  background: #fbfcfc;
}

.status-item p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 220px;
  min-height: 24px;
  border-radius: 7px;
  padding: 4px 8px;
  background: var(--soft);
  color: var(--accent-dark);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}

.table-wrap {
  max-height: min(68vh, 760px);
  overflow: auto;
  border-top: 1px solid var(--line);
  background: #fff;
}

table {
  width: 100%;
  min-width: 820px;
  border-collapse: collapse;
}

thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  box-shadow: 0 1px 0 #d8e1de;
}

th,
td {
  padding: 10px 12px;
  border-bottom: 1px solid #e5ebe8;
  text-align: left;
  vertical-align: middle;
  font-size: 13px;
}

th {
  color: var(--muted);
  background: #eef4f2;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

tbody tr {
  background: #fff;
}

tbody tr:hover {
  background: #fbfcfc;
}

tr.board-row.high,
tr.board-row.positive_time_loss {
  box-shadow: inset 4px 0 0 var(--high);
}

tr.board-row.elevated,
tr.board-row.experimental_promising {
  box-shadow: inset 4px 0 0 var(--elevated);
}

tr.board-row.watch,
tr.board-row.weak_context_only,
tr.board-row.negative_control {
  box-shadow: inset 4px 0 0 var(--watch);
}

tr.board-row.low,
tr.board-row.production_usable {
  box-shadow: inset 4px 0 0 var(--low);
}

td strong {
  display: block;
  font-size: 14px;
}

.rank-cell {
  width: 74px;
}

.rank-badge {
  display: inline-grid;
  gap: 1px;
  min-width: 48px;
  border: 1px solid #dce5e2;
  border-radius: 7px;
  padding: 6px 7px;
  background: #f8faf9;
}

.rank-badge b {
  color: var(--accent-dark);
  font-size: 15px;
  line-height: 1;
}

.rank-badge i {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  text-transform: uppercase;
}

.board-name-cell {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  min-width: 220px;
}

.board-metric {
  min-width: 112px;
}

.board-metric strong {
  margin-bottom: 5px;
  font-size: 15px;
}

.board-metric > span:not(.board-meter) {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.board-meter {
  display: block;
  width: min(120px, 100%);
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8eeec;
}

.board-meter i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--accent);
}

.board-meter.high i {
  background: var(--high);
}

.board-meter.elevated i {
  background: var(--elevated);
}

.board-meter.watch i {
  background: var(--watch);
}

.board-meter.low i {
  background: var(--low);
}

.scenario {
  display: grid;
  gap: 10px;
  padding: 14px;
}

.trade-market-brief {
  display: grid;
  grid-template-columns: minmax(260px, 1.1fr) minmax(220px, 0.85fr) minmax(220px, 0.85fr);
  gap: 10px;
  padding: 14px 14px 0;
}

.trade-brief-lead,
.trade-brief-lanes,
.trade-brief-exposure,
.trade-brief-empty {
  min-width: 0;
  border: 1px solid #dfe7e4;
  border-radius: 8px;
  padding: 12px;
  background: #fbfcfc;
}

.trade-brief-lead {
  display: grid;
  align-content: start;
  gap: 8px;
  border-color: rgba(255, 255, 255, 0.12);
  background:
    linear-gradient(135deg, rgba(197, 155, 50, 0.09), transparent 44%),
    #132124;
  color: #f7fbfa;
}

.trade-brief-lead.high {
  box-shadow: inset 4px 0 0 var(--high);
}

.trade-brief-lead.elevated {
  box-shadow: inset 4px 0 0 var(--elevated);
}

.trade-brief-lead.watch {
  box-shadow: inset 4px 0 0 var(--watch);
}

.trade-brief-lead.low {
  box-shadow: inset 4px 0 0 var(--low);
}

.trade-brief-lead > span {
  color: #98d9d3;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.trade-brief-lead strong,
.trade-brief-exposure > strong {
  display: block;
  font-size: clamp(22px, 3vw, 32px);
  line-height: 1.02;
}

.trade-brief-lead p {
  margin: 0;
  color: #c8d5d2;
  font-size: 12px;
  line-height: 1.38;
}

.trade-brief-lead div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.trade-brief-lanes {
  display: grid;
  align-content: start;
  gap: 8px;
}

.trade-brief-lanes .brief-kicker,
.trade-brief-exposure .brief-kicker {
  color: #28736d;
}

.trade-brief-lanes article {
  display: grid;
  min-width: 0;
  gap: 5px;
}

.trade-brief-lanes article div {
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.trade-brief-lanes strong,
.trade-brief-lanes span {
  overflow: hidden;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trade-brief-lanes span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.trade-brief-lanes p,
.trade-brief-exposure p,
.trade-brief-empty p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.trade-brief-lanes i {
  display: block;
  overflow: hidden;
  height: 8px;
  border-radius: 999px;
  background: #e7eeec;
}

.trade-brief-lanes i span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--watch);
}

.trade-brief-lanes article.high i span {
  background: var(--high);
}

.trade-brief-lanes article.elevated i span {
  background: var(--elevated);
}

.trade-brief-exposure {
  display: grid;
  align-content: start;
  gap: 9px;
}

.trade-team-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.trade-team-chips span {
  border: 1px solid #dbe5e2;
  border-radius: 999px;
  padding: 5px 8px;
  background: #fff;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.trade-team-chips b {
  color: var(--accent-dark);
}

.trade-brief-empty {
  grid-column: 1 / -1;
}

.trade-brief-empty strong {
  display: block;
  margin-bottom: 5px;
  font-size: 17px;
}

.team-boardroom {
  display: grid;
  gap: 12px;
  padding: 0 16px 16px;
}

.team-cover {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  border-radius: 8px;
  padding: 16px;
  color: #f7fbfa;
  background:
    linear-gradient(135deg, var(--team-primary), var(--team-secondary)),
    #102022;
}

.team-monogram {
  position: relative;
  display: grid;
  place-items: center;
  width: 66px;
  height: 66px;
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 8px;
  background:
    linear-gradient(90deg, transparent 48%, rgba(255, 255, 255, 0.52) 49% 51%, transparent 52%),
    radial-gradient(circle at 50% 50%, transparent 0 18%, rgba(197, 155, 50, 0.9) 19% 22%, transparent 23%);
  color: #fff;
  font-size: 18px;
  font-weight: 800;
}

.team-monogram .team-logo {
  max-width: 48px;
  max-height: 48px;
  object-fit: contain;
}

.team-monogram span {
  position: absolute;
  right: 5px;
  bottom: 5px;
  border-radius: 999px;
  padding: 2px 5px;
  background: rgba(5, 19, 23, 0.72);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}

.team-cover h3 {
  font-size: clamp(22px, 3vw, 34px);
  line-height: 1;
}

.team-cover span {
  color: #d8e7e4;
  font-size: 13px;
  font-weight: 700;
}

.team-briefing {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.team-visuals {
  display: grid;
  gap: 12px;
  padding: 0 16px 16px;
}

.heat-strip {
  display: grid;
  grid-template-columns: repeat(18, minmax(0, 1fr));
  gap: 4px;
}

.heat-strip span {
  height: 14px;
  border-radius: 3px;
  background: #dfe8e5;
}

.heat-strip .low {
  background: var(--low);
}

.heat-strip .watch {
  background: var(--watch);
}

.heat-strip .elevated {
  background: var(--elevated);
}

.heat-strip .high {
  background: var(--high);
}

.position-stack {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.position-stack article,
.scenario-lead,
.scenario-bars article,
.mobile-card {
  border: 1px solid #e0e8e5;
  border-radius: 8px;
  background: #fbfcfc;
  padding: 10px;
}

.position-stack strong,
.scenario-lead strong {
  display: block;
  font-size: 18px;
}

.position-stack span,
.scenario-lead span,
.mobile-card span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.scenario-lead {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}

.scenario-thesis {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.scenario-controls {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  border: 1px solid #dfe7e4;
  border-radius: 8px;
  padding: 10px;
  background: #f8faf9;
}

.scenario-control {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.scenario-control span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.scenario-control b,
.scenario-control i {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scenario-control b {
  min-width: 0;
}

.scenario-control i {
  color: var(--accent-dark);
  font-style: normal;
  font-weight: 800;
}

input[type="range"] {
  accent-color: var(--accent);
  padding: 0;
}

.scenario-waterfall {
  display: grid;
  grid-template-columns: minmax(150px, 0.55fr) minmax(0, 1fr);
  gap: 10px;
  border: 1px solid #dfe7e4;
  border-radius: 8px;
  padding: 10px;
  background: #fff;
}

.scenario-score {
  display: grid;
  align-content: center;
  gap: 5px;
  border-radius: 7px;
  padding: 12px;
  color: #f7fbfa;
  background: var(--accent-dark);
}

.scenario-waterfall.high .scenario-score {
  background: var(--high);
}

.scenario-waterfall.elevated .scenario-score {
  background: var(--elevated);
}

.scenario-waterfall.watch .scenario-score {
  background: var(--watch);
}

.scenario-waterfall.low .scenario-score {
  background: var(--low);
}

.scenario-score span {
  color: rgba(255, 255, 255, 0.78);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.scenario-score strong {
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1;
}

.scenario-score p {
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 12px;
  line-height: 1.3;
}

.waterfall-bars {
  display: grid;
  gap: 7px;
}

.waterfall-bars article {
  display: grid;
  gap: 5px;
}

.waterfall-bars article div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.waterfall-bars article strong {
  color: var(--ink);
  font-size: 12px;
}

.waterfall-bars article i {
  display: block;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8eeec;
}

.waterfall-bars article i span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--accent);
}

.waterfall-bars article.cost i span,
.waterfall-bars article.high i span {
  background: var(--high);
}

.waterfall-bars article.elevated i span {
  background: var(--elevated);
}

.waterfall-bars article.watch i span {
  background: var(--watch);
}

.waterfall-bars article.low i span,
.waterfall-bars article.positive i span {
  background: var(--low);
}

.scenario-bars {
  display: grid;
  gap: 8px;
}

.scenario-bars article div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
}

.scenario-bars i {
  display: block;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8eeec;
}

.scenario-bars i span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--accent), var(--gold));
}

.scenario-checklist {
  display: grid;
  gap: 8px;
}

.scenario-checklist article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  border: 1px solid #e0e8e5;
  border-radius: 8px;
  padding: 10px;
  background: #fbfcfc;
}

.scenario-checklist article span {
  min-width: 70px;
  border-radius: 999px;
  padding: 3px 7px;
  background: #e8eeec;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}

.scenario-checklist article.is-active {
  border-color: rgba(185, 65, 45, 0.35);
  background: #fff8f6;
}

.scenario-checklist article.is-active span {
  background: #f9e3dc;
  color: #7d2418;
}

.mobile-list {
  display: none;
  gap: 8px;
  padding: 12px;
}

.mobile-card {
  display: grid;
  gap: 5px;
}

.mobile-card div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.mobile-card p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.board-pager {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 0 14px 14px;
}

.board-pager span {
  min-width: 0;
  border: 1px solid #dce5e2;
  border-radius: 7px;
  padding: 10px 12px;
  background: #fbfcfc;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
}

.secondary-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #ccd7d4;
  border-radius: 7px;
  padding: 10px 12px;
  color: var(--accent-dark);
  background: #f7faf9;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}

.secondary-action:hover {
  border-color: var(--gold);
  background: #fff;
}

.secondary-action:disabled {
  border-color: #e0e7e4;
  color: #98a3a0;
  background: #eef4f2;
  cursor: not-allowed;
}

.empty {
  padding: 18px;
  color: var(--muted);
  font-weight: 700;
}

.trust-map {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 14px;
}

.trust-lane {
  min-width: 0;
  border: 1px solid #dfe7e4;
  border-radius: 8px;
  overflow: hidden;
  background: #fbfcfc;
}

.trust-lane > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 12px;
  color: #f7fbfa;
  background: var(--accent-dark);
}

.trust-lane.experimental_promising > div:first-child {
  background: #56420d;
}

.trust-lane.weak_context_only > div:first-child {
  background: #344150;
}

.trust-lane > div:first-child span {
  color: #d9e5e2;
  font-size: 12px;
  font-weight: 700;
}

.trust-targets {
  display: grid;
  gap: 8px;
  padding: 10px;
}

.trust-targets article {
  border-left: 4px solid var(--accent);
  padding: 8px 9px;
  background: #fff;
}

.experimental_promising .trust-targets article {
  border-left-color: var(--gold);
}

.weak_context_only .trust-targets article {
  border-left-color: var(--watch);
}

.trust-targets b {
  display: block;
  font-size: 13px;
}

.trust-targets span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.trust-targets p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.gate-timeline {
  display: grid;
  grid-template-columns: repeat(9, minmax(120px, 1fr));
  gap: 8px;
  overflow-x: auto;
  padding: 14px;
}

.gate-timeline article {
  min-width: 120px;
  border: 1px solid #dfe7e4;
  border-top: 4px solid var(--low);
  border-radius: 8px;
  padding: 10px;
  background: #fbfcfc;
}

.gate-timeline article.failed {
  border-top-color: var(--high);
}

.gate-timeline article > span {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  margin-bottom: 8px;
  border-radius: 999px;
  background: #e4f3e8;
  color: var(--low);
  font-size: 12px;
  font-weight: 800;
}

.gate-timeline article.failed > span {
  background: #f7ded8;
  color: var(--high);
}

.gate-timeline strong {
  display: block;
  font-size: 12px;
  line-height: 1.25;
}

.gate-timeline p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.3;
}

.episode-board-panel {
  margin-top: 16px;
}

.episode-impact-brief {
  display: grid;
  grid-template-columns: minmax(280px, 1.1fr) repeat(2, minmax(220px, 0.75fr)) minmax(280px, 1fr);
  gap: 12px;
  padding: 14px;
}

.episode-hero-card,
.episode-mix-card,
.episode-leader-card,
.episode-brief-empty {
  min-width: 0;
  border: 1px solid #dce5e2;
  border-radius: 8px;
  padding: 12px;
  background: #fbfcfc;
}

.episode-hero-card {
  display: grid;
  align-content: start;
  gap: 8px;
  border-color: rgba(255, 255, 255, 0.12);
  background:
    linear-gradient(135deg, rgba(197, 155, 50, 0.08), transparent 42%),
    #132124;
  color: #f7fbfa;
}

.episode-hero-card > span {
  color: #98d9d3;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.episode-hero-card strong,
.episode-leader-card > strong {
  display: block;
  font-size: clamp(22px, 3vw, 34px);
  line-height: 1.02;
}

.episode-hero-card p,
.episode-leader-card p,
.episode-brief-empty p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.38;
}

.episode-hero-card p {
  color: #c8d5d2;
}

.episode-hero-card div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.episode-share-badge {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 152px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-left: 3px solid var(--watch);
  border-radius: 7px;
  padding: 8px 10px;
  background: rgba(255, 255, 255, 0.07);
}

.episode-share-badge.high {
  border-left-color: var(--high);
}

.episode-share-badge.low {
  border-left-color: var(--low);
}

.episode-share-badge b,
.episode-share-badge i {
  color: #d3e0dd;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.15;
  text-transform: uppercase;
}

.episode-share-badge i {
  color: #fff;
  font-size: 16px;
}

.episode-mix-card {
  display: grid;
  align-content: start;
  gap: 8px;
}

.episode-mix-card article,
.episode-mini-bars article {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.episode-mix-card article div,
.episode-mini-bars article div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.episode-mix-card strong,
.episode-mini-bars strong {
  overflow: hidden;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.episode-mix-card span,
.episode-mini-bars span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.episode-mix-card i,
.episode-mini-bars i {
  display: block;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e7eeec;
}

.episode-mix-card i span,
.episode-mini-bars i span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--watch);
}

.episode-mix-card article.high i span,
.episode-mini-bars article.high i span {
  background: var(--high);
}

.episode-mix-card article.elevated i span,
.episode-mini-bars article.elevated i span {
  background: var(--elevated);
}

.episode-mix-card article.low i span,
.episode-mini-bars article.low i span {
  background: var(--low);
}

.episode-leader-card {
  display: grid;
  align-content: start;
  gap: 10px;
}

.episode-mini-bars {
  display: grid;
  gap: 7px;
}

.episode-team-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.episode-team-chips span {
  border: 1px solid #dbe5e2;
  border-radius: 999px;
  padding: 5px 8px;
  background: #fff;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.episode-team-chips b {
  color: var(--accent-dark);
}

.episode-brief-empty {
  grid-column: 1 / -1;
}

.episode-brief-empty strong {
  display: block;
  margin-bottom: 5px;
  font-size: 18px;
}

.error-state {
  padding-bottom: 18px;
}

.error-state p,
.error-state code {
  display: block;
  margin: 14px 16px 0;
}

.error-state code {
  overflow-x: auto;
  border-radius: 7px;
  padding: 10px;
  background: #111a1d;
  color: #f7fbfa;
}

.site-command-bar {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.8fr) auto;
  gap: 12px;
  align-items: start;
  margin-bottom: 16px;
}

.board-status-strip {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.board-status-strip article,
.claim-banner,
.board-actions,
.compare-workbench,
.method-grid,
.data-status-grid,
.data-artifact-list,
.data-ceiling-list,
.qa-checklist,
.contract-team-exposure,
.evidence-drawer {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(18, 30, 32, 0.05);
}

.board-status-strip article {
  min-width: 0;
  padding: 10px;
}

.board-status-strip span,
.claim-banner span,
.compare-card > span,
.glossary-card > span {
  display: block;
  color: var(--accent);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.board-status-strip strong {
  display: block;
  overflow: hidden;
  margin-top: 3px;
  font-size: 13px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.global-search-shell {
  position: relative;
  min-width: 0;
}

.global-search-results {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  left: 0;
  z-index: 8;
  display: grid;
  gap: 6px;
  border: 1px solid #cad6d2;
  border-radius: 8px;
  padding: 8px;
  background: #fff;
  box-shadow: var(--shadow);
}

.global-search-results button,
.mobile-card-button {
  width: 100%;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.global-search-results button {
  border: 0;
}

.global-search-results button {
  display: grid;
  gap: 3px;
  border-radius: 7px;
  padding: 9px;
  background: #f8faf9;
}

.global-search-results button:hover {
  background: #eef4f2;
}

.share-action {
  min-height: 55px;
  white-space: nowrap;
}

.compact-hero {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.42fr);
  padding: 24px;
}

.compact-hero h2 {
  font-size: clamp(30px, 4vw, 46px);
}

.command-button {
  display: grid;
  text-align: left;
  cursor: pointer;
}

.command-button:hover {
  border-color: rgba(197, 155, 50, 0.7);
  transform: translateY(-1px);
}

.claim-banner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin-bottom: 16px;
  padding: 14px 16px;
  background:
    linear-gradient(135deg, rgba(0, 108, 103, 0.08), transparent 45%),
    #fff;
}

.claim-banner strong {
  display: block;
  margin-top: 4px;
  font-size: 20px;
  line-height: 1.15;
}

.claim-banner p {
  margin: 5px 0 0;
  color: var(--muted);
  line-height: 1.4;
}

.claim-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.recent-movers-panel {
  margin-top: 16px;
}

.board-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
  padding: 10px;
}

.segmented-control,
.filter-presets {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.segment {
  border: 1px solid #ccd7d4;
  border-radius: 7px;
  padding: 9px 12px;
  background: #f7faf9;
  color: var(--muted);
  font-weight: 700;
  cursor: pointer;
}

.segment.is-active {
  border-color: var(--gold);
  background: #fff;
  color: var(--accent-dark);
  box-shadow: inset 0 -2px 0 var(--gold);
}

.player-table-wrap[hidden],
.player-grid[hidden],
.mobile-list[hidden],
.compare-workbench[hidden] {
  display: none !important;
}

.compare-workbench {
  margin: 14px;
  padding: 12px;
}

.compare-controls {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.compare-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.compare-card {
  min-width: 0;
  border: 1px solid #dfe7e4;
  border-top: 4px solid var(--team-secondary, var(--accent));
  border-radius: 8px;
  padding: 12px;
  background: #fbfcfc;
}

.compare-card.high {
  border-top-color: var(--high);
}

.compare-card.elevated {
  border-top-color: var(--elevated);
}

.compare-card.watch {
  border-top-color: var(--watch);
}

.compare-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  margin: 8px 0 10px;
}

.compare-head p,
.compare-card p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 20;
  background: rgba(7, 17, 19, 0.48);
}

.detail-drawer {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 21;
  width: min(540px, 100vw);
  max-height: 92vh;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px 0 0 0;
  background: #fff;
  box-shadow: -18px 0 46px rgba(22, 31, 34, 0.22);
}

.drawer-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
}

.no-pad {
  padding: 0;
}

.contract-team-exposure {
  margin: 0 14px 14px;
  overflow: hidden;
}

.compact-title {
  padding: 10px 12px;
}

.team-exposure-list {
  display: grid;
  gap: 8px;
  padding: 12px;
}

.team-exposure-list article {
  display: grid;
  gap: 5px;
}

.team-exposure-list span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.evidence-drawer {
  margin: 12px;
  overflow: hidden;
}

.evidence-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 12px;
}

.evidence-links {
  display: grid;
  gap: 7px;
  padding: 0 12px 12px;
}

.evidence-links a,
.artifact-link {
  display: grid;
  gap: 3px;
  border: 1px solid #dfe7e4;
  border-radius: 7px;
  padding: 9px;
  background: #fbfcfc;
  color: var(--accent-dark);
  text-decoration: none;
}

.evidence-links a:hover,
.artifact-link:hover {
  border-color: var(--gold);
  background: #fff;
}

.method-intro-panel,
.glossary-panel,
.data-download-panel,
.data-ceiling-panel,
.qa-panel {
  margin-bottom: 16px;
}

.method-grid,
.data-status-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 14px;
}

.glossary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 14px;
}

.glossary-card {
  border: 1px solid #dfe7e4;
  border-top: 4px solid var(--watch);
  border-radius: 8px;
  padding: 12px;
  background: #fbfcfc;
}

.glossary-card.production_usable {
  border-top-color: var(--low);
}

.glossary-card.experimental_promising {
  border-top-color: var(--elevated);
}

.glossary-card strong {
  display: block;
  margin: 5px 0 8px;
  font-size: 16px;
  line-height: 1.15;
}

.glossary-card dl {
  display: grid;
  gap: 5px;
  margin: 0 0 8px;
}

.glossary-card dl div {
  display: grid;
  grid-template-columns: minmax(90px, 0.45fr) minmax(0, 1fr);
  gap: 8px;
}

.glossary-card dt {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.glossary-card dd {
  min-width: 0;
  margin: 0;
  font-size: 12px;
}

.glossary-card p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.data-artifact-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 14px;
  padding: 12px;
}

.data-ceiling-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 14px;
  padding: 12px;
}

.ceiling-card {
  border: 1px solid #dfe7e4;
  border-top: 4px solid var(--watch);
  border-radius: 8px;
  padding: 12px;
  background: #fbfcfc;
}

.ceiling-card.feature-gap {
  border-top-color: var(--high);
}

.ceiling-card span {
  display: block;
  color: var(--accent);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.ceiling-card strong {
  display: block;
  margin: 5px 0 7px;
  font-size: 16px;
  line-height: 1.15;
}

.ceiling-card p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.artifact-link span {
  overflow: hidden;
  color: var(--muted);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.qa-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 14px;
  padding: 12px;
}

.qa-checklist article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  border: 1px solid #dfe7e4;
  border-radius: 7px;
  padding: 9px;
  background: #fbfcfc;
}

.qa-checklist span {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #e4f3e8;
  color: var(--low);
  font-weight: 800;
}

.density-compact .player-card {
  min-height: 0;
  gap: 7px;
  padding-bottom: 9px;
}

.density-compact .movement-rail {
  display: none;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid rgba(197, 155, 50, 0.76);
  outline-offset: 2px;
}

@media (max-width: 1050px) {
  .toolbar {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .site-command-bar,
  .hero-panel,
  .two-column,
  .player-layout,
  .trade-grid,
  .command-center,
  .exposure-brief,
  .availability-visuals,
  .body-map {
    grid-template-columns: 1fr;
  }

  .board-status-strip,
  .method-grid,
  .data-status-grid,
  .glossary-grid,
  .data-artifact-list,
  .data-ceiling-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .compare-grid,
  .evidence-grid {
    grid-template-columns: 1fr;
  }

  .detail-panel {
    position: static;
  }

  .metric-grid,
  .metric-grid.small,
  .player-grid,
  .position-stack,
  .dossier-grid,
  .dossier-signals,
  .dossier-decision-box,
  .case-summary,
  .case-detail-grid,
  .movement-rail,
  .trust-map,
  .team-briefing {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .exposure-bands {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .episode-impact-brief {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trade-market-brief {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trade-brief-lead {
    grid-column: 1 / -1;
  }

  .season-timeline,
  .case-season-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .site-command-bar,
  .claim-banner,
  .board-actions {
    grid-template-columns: 1fr;
  }

  .site-command-bar {
    display: grid;
  }

  .board-status-strip,
  .method-grid,
  .data-status-grid,
  .glossary-grid,
  .data-artifact-list,
  .data-ceiling-list,
  .qa-checklist {
    grid-template-columns: 1fr;
  }

  .claim-badges {
    justify-content: flex-start;
  }

  .global-search-results {
    position: static;
    margin-top: 6px;
  }

  .topbar {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
    padding: 18px 20px 22px;
  }

  .brand {
    align-items: flex-start;
  }

  .brand-mark {
    width: 54px;
    height: 54px;
  }

  .brand-signals {
    gap: 5px;
  }

  .brand-signals span {
    padding: 5px 7px;
    font-size: 12px;
  }

  .topbar-panel {
    justify-items: start;
    width: 100%;
    min-width: 0;
  }

  .topbar-meta {
    text-align: left;
  }

  .brand h1 {
    font-size: 20px;
  }

  .tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    padding: 8px 10px;
    overflow: visible;
    scroll-padding-inline: 0;
  }

  .tab {
    display: grid;
    place-items: center;
    min-width: 0;
    min-height: 38px;
    border-color: #d9e3df;
    padding: 8px 6px;
    background: #fbfcfc;
    font-size: 12px;
    line-height: 1;
    text-align: center;
  }

  .toolbar,
  .toolbar.compact,
  .metric-grid,
  .metric-grid.small,
  .player-grid,
  .detail-stats,
  .curve-points,
  .position-stack,
  .dossier-grid,
  .dossier-signals,
  .dossier-decision-box,
  .case-summary,
  .case-detail-grid,
  .scenario-thesis,
  .scenario-controls,
  .scenario-waterfall,
  .trust-map,
  .team-briefing,
  .episode-impact-brief,
  .trade-market-brief,
  .compare-controls,
  .season-timeline,
  .case-season-strip {
    grid-template-columns: 1fr;
  }

  .trade-brief-lead {
    grid-column: auto;
  }

  .availability-visuals,
  .body-map {
    grid-template-columns: 1fr;
  }

  .curve-points {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .body-figure {
    min-height: 230px;
  }

  .season-timeline article {
    min-height: 104px;
    grid-template-columns: minmax(0, 1fr) 42px auto;
    grid-template-rows: none;
    align-items: center;
  }

  .season-timeline i,
  .case-season-strip i {
    width: 42px;
    min-height: 70px;
  }

  .case-season-strip article {
    grid-template-columns: minmax(0, 1fr) 42px auto;
    grid-template-rows: none;
    align-items: center;
  }

  .case-episode-list article div,
  .case-region-mix article div {
    flex-direction: column;
  }

  .team-cover {
    grid-template-columns: 1fr;
  }

  .risk-visual {
    min-height: 154px;
  }

  .player-layout {
    display: flex;
    flex-direction: column;
  }

  #playerGrid {
    display: none !important;
  }

  #playerMobileRows:not([hidden]) {
    display: grid !important;
  }

  .detail-panel {
    order: 0;
  }

  .dossier-panel {
    order: 0;
  }

  .player-table-wrap {
    display: none;
  }

  .detail-drawer {
    right: 0;
    left: 0;
    width: 100vw;
    border-radius: 8px 8px 0 0;
  }

  .table-wrap {
    display: none;
  }

  .mobile-list {
    display: grid;
  }

  .heat-strip {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .mini-list article {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .mini-list article .row-score {
    grid-column: 1 / -1;
    justify-items: start;
  }

  .mini-list article p {
    grid-column: 1 / -1;
  }

  .card-head,
  .detail-title {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .card-head .pill,
  .detail-title .pill {
    grid-column: 1 / -1;
  }

  .status-item {
    grid-template-columns: 1fr;
  }

  .status-badge {
    justify-content: flex-start;
    width: fit-content;
    max-width: 100%;
    text-align: left;
  }

  .dossier-cover {
    align-items: flex-start;
    flex-direction: column;
  }

  .dossier-actions {
    justify-content: flex-start;
  }

  .dossier-brief-meta {
    flex-direction: column;
  }

  .exposure-leaders article,
  .claim-row {
    grid-template-columns: minmax(0, 1fr);
    justify-items: start;
  }

  .exposure-leaders article .player-avatar {
    display: none;
  }

  .confidence-badge {
    justify-items: start;
  }

  .board-pager {
    grid-template-columns: 1fr 1fr;
  }

  .board-pager span {
    grid-column: 1 / -1;
    grid-row: 1;
  }
}

@media print {
  @page {
    size: letter;
    margin: 0.45in;
  }

  .topbar,
  .tabs,
  .toolbar,
  .board-pager {
    display: none;
  }

  body {
    background: #fff;
  }

  .shell {
    padding: 0;
  }

  .tab-panel {
    display: none;
  }

  #tab-players {
    display: block;
  }

  .player-layout {
    display: block;
  }

  .player-layout > .panel:first-child,
  .detail-panel,
  .dossier-actions {
    display: none;
  }

  .dossier-panel {
    margin: 0;
    border: 0;
    box-shadow: none;
    color: #111717;
  }

  .dossier-cover {
    border-radius: 0;
    padding: 20px 0 16px;
    color: #111717;
    background: #fff;
    border-bottom: 3px solid #111717;
  }

  .dossier-identity span,
  .dossier-cover .eyebrow {
    color: #4f5d5d;
  }

  .dossier-grid,
  .dossier-signals,
  .case-summary,
  .case-season-strip,
  .case-detail-grid,
  .dossier-decision-box {
    padding-left: 0;
    padding-right: 0;
  }

  .dossier-grid,
  .dossier-signals,
  .case-summary,
  .case-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dossier-brief-meta {
    padding-left: 0;
    padding-right: 0;
  }

  .dossier-decision-box,
  .dossier-history,
  .case-episode-list article,
  .insight-card,
  .signal-bar {
    break-inside: avoid;
  }

  .case-season-strip {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .case-season-strip article {
    min-height: 0;
  }
}

/* Compact hockey-reference skin inspired by PuckPedia's dense navy/gold table system. */
:root {
  --bg: #eef2f5;
  --panel: #ffffff;
  --ink: #102033;
  --muted: #5f6b7a;
  --line: #d7e0e8;
  --soft: #f3f6f9;
  --accent: #005ea8;
  --accent-dark: #001b33;
  --gold: #ffc40d;
  --high: #cf3b2e;
  --elevated: #c77916;
  --watch: #3369a8;
  --low: #2b7a4b;
  --shadow: 0 1px 2px rgba(16, 32, 51, 0.08);
}

body {
  color: var(--ink);
  background: var(--bg);
  font-family: Arial, Helvetica, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.topbar {
  min-height: 86px;
  overflow: visible;
  padding: 14px 24px 12px;
  color: #f8fbff;
  background: var(--accent-dark);
  border-bottom: 4px solid var(--gold);
}

.topbar::before,
.topbar::after {
  content: none;
}

.brand {
  gap: 12px;
}

.brand-mark {
  width: 46px;
  height: 46px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 6px;
  clip-path: none;
  background: linear-gradient(180deg, #ffd955, var(--gold));
  box-shadow: none;
}

.brand-mark::before,
.brand-mark::after,
.brand-mark i {
  content: none;
  display: none;
}

.brand-mark b {
  color: var(--accent-dark);
  font-size: 14px;
  font-weight: 800;
}

.brand p,
.brand h1,
.topbar-panel span {
  letter-spacing: 0;
}

.brand p {
  margin-bottom: 2px;
  color: #a7c3db;
  font-size: 12px;
  font-weight: 700;
}

.brand h1 {
  font-size: 26px;
  line-height: 1.05;
}

.brand-signals {
  gap: 5px;
  margin-top: 8px;
}

.brand-signals span {
  border-color: rgba(255, 196, 13, 0.3);
  border-radius: 5px;
  padding: 4px 7px;
  background: rgba(255, 255, 255, 0.08);
  color: #e5edf5;
  font-size: 12px;
}

.topbar-panel {
  min-width: 230px;
  border-color: rgba(255, 255, 255, 0.16);
  border-radius: 6px;
  padding: 9px 10px;
  background: rgba(255, 255, 255, 0.08);
  box-shadow: none;
}

.topbar-panel span {
  color: #a7c3db;
}

.topbar-meta {
  color: #fff;
  font-size: 12px;
}

.tabs {
  top: 0;
  gap: 0;
  padding: 0 24px;
  border-bottom: 1px solid var(--line);
  background: #ffffff;
  box-shadow: 0 1px 0 rgba(16, 32, 51, 0.04);
}

.tab {
  border: 0;
  border-radius: 0;
  padding: 13px 13px 11px;
  color: #586574;
  background: transparent;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.tab:hover,
.tab.is-active {
  color: var(--accent-dark);
  background: transparent;
  box-shadow: inset 0 -4px 0 var(--gold);
}

.shell {
  max-width: 1480px;
  margin: 0 auto;
  padding: 16px 24px 40px;
}

.site-command-bar {
  border-radius: 6px;
  box-shadow: none;
}

.hero-panel,
.panel,
.command-card,
.player-card,
.mobile-card,
.compare-card,
.insight-card,
.status-item,
.glossary-card,
.artifact-link {
  border-color: var(--line);
  border-radius: 6px;
  background: var(--panel);
  box-shadow: var(--shadow);
}

.hero-panel {
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 16px;
  margin-bottom: 12px;
  padding: 18px;
  background: #ffffff;
}

.hero-panel h2 {
  max-width: 780px;
  font-size: 34px;
  line-height: 1.05;
}

.hero-panel p:not(.eyebrow) {
  max-width: 820px;
  font-size: 13px;
  line-height: 1.45;
}

.eyebrow,
.brief-kicker,
.panel-title span,
.command-card span {
  color: var(--accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.risk-visual {
  min-height: 150px;
  gap: 8px;
  border-color: #0d2d4d;
  border-radius: 6px;
  padding: 12px;
  background: var(--accent-dark);
}

.risk-visual::before {
  content: none;
}

.risk-visual-head,
.risk-legend {
  color: #c7d7e6;
  font-size: 12px;
}

.risk-visual-head strong {
  font-size: 24px;
}

.risk-bars {
  min-height: 78px;
  gap: 6px;
}

.risk-bar {
  border-radius: 3px 3px 0 0;
}

.command-center {
  gap: 8px;
  margin-bottom: 12px;
}

.command-card {
  padding: 12px;
}

.command-card strong {
  margin: 4px 0;
  font-size: 22px;
}

.command-card p {
  font-size: 12px;
}

.panel-title {
  min-height: 42px;
  padding: 10px 12px;
}

.panel-title h3 {
  font-size: 16px;
}

.metric-grid {
  gap: 8px;
}

.metric {
  border-radius: 6px;
  padding: 12px;
  box-shadow: none;
}

.metric b {
  font-size: 24px;
}

.metric span {
  font-size: 12px;
}

.claim-banner,
.exposure-panel {
  border-radius: 6px;
  box-shadow: none;
}

.exposure-panel {
  background: var(--accent-dark);
}

.exposure-stack-card,
.claim-panel,
.exposure-leaders {
  border-radius: 6px;
  background: #082642;
}

.toolbar,
.board-actions {
  border-radius: 6px;
  background: #ffffff;
  box-shadow: var(--shadow);
}

.toolbar label,
.global-search-shell label {
  color: #586574;
  font-size: 12px;
  font-weight: 800;
}

input,
select {
  border-color: #cbd6e0;
  border-radius: 5px;
  min-height: 34px;
  background: #ffffff;
  color: var(--ink);
  font-size: 13px;
}

.secondary-action,
.segment {
  border-radius: 5px;
  font-size: 12px;
}

.segment.is-active,
.secondary-action:hover {
  border-color: var(--accent);
  background: #e9f2fb;
  color: var(--accent-dark);
}

.player-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  padding: 8px;
}

.player-card {
  min-height: 238px;
  gap: 8px;
  padding: 0 10px 10px;
  background: #ffffff;
  color: var(--ink);
}

.player-card:hover,
.player-card.is-selected {
  border-color: var(--gold);
  background: #fbfdff;
  box-shadow: 0 2px 8px rgba(16, 32, 51, 0.12);
}

.player-card.high,
.player-card.elevated,
.player-card.watch,
.player-card.low {
  color: var(--ink);
}

.card-ribbon {
  min-height: 30px;
  margin: 0 -10px 1px;
  padding: 6px 9px 6px 10px;
  background: var(--accent-dark);
}

.card-ribbon span {
  font-size: 12px;
}

.card-ribbon b {
  border-radius: 5px;
  font-size: 12px;
}

.card-head,
.detail-title {
  gap: 7px;
}

.card-head strong {
  font-size: 14px;
}

.card-head span,
.subtle {
  font-size: 12px;
}

.player-avatar {
  width: 48px;
  height: 48px;
  overflow: hidden;
  border: 1px solid #cbd6e0;
  border-radius: 50%;
  background: #f3f6f9;
  color: var(--accent-dark);
  box-shadow: none;
}

.player-avatar .avatar-headshot {
  position: absolute;
  inset: 1px;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border-radius: 50%;
  object-fit: cover;
  object-position: top center;
  background: #f3f6f9;
}

.player-avatar .avatar-headshot:not([hidden]) ~ b {
  opacity: 0;
}

.player-avatar b {
  inset: auto;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 24px;
  min-width: 0;
  height: 24px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--accent-dark);
  font-size: 12px;
}

.player-portrait {
  border-color: #cbd6e0;
  border-radius: 6px;
  background: #eef2f5;
  box-shadow: none;
}

.player-portrait img {
  background: #eef2f5;
}

.team-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.team-badge .team-logo {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  object-fit: contain;
}

.team-badge b {
  overflow: hidden;
  text-overflow: ellipsis;
}

.title-team-badge {
  margin-right: 6px;
  vertical-align: middle;
}

.title-team-badge .team-logo {
  width: 28px;
  height: 28px;
}

.table-wrap {
  max-height: min(70vh, 780px);
  margin: 0;
  border-top: 1px solid var(--line);
  background: #ffffff;
}

table {
  min-width: 900px;
}

th,
td {
  padding: 7px 9px;
  border-bottom: 1px solid #e5ebf1;
  font-size: 12px;
}

th {
  color: #5e6a79;
  background: #f2f5f8;
  font-size: 12px;
  letter-spacing: 0;
}

tbody tr:nth-child(even) {
  background: #f9fbfd;
}

tbody tr:hover {
  background: #edf5fd;
}

td strong {
  font-size: 13px;
}

.rank-cell {
  width: 62px;
}

.rank-badge {
  min-width: 42px;
  border-radius: 5px;
  padding: 4px 5px;
}

.rank-badge b {
  font-size: 13px;
}

.rank-badge i {
  font-size: 8px;
}

.board-name-cell {
  min-width: 240px;
  gap: 7px;
}

.board-metric {
  min-width: 100px;
}

.board-metric strong {
  margin-bottom: 4px;
  font-size: 13px;
}

.board-metric > span:not(.board-meter) {
  font-size: 12px;
}

.board-meter {
  height: 5px;
  border-radius: 999px;
  background: #e8eef4;
}

.board-meter i {
  border-radius: 999px;
}

.pill {
  border-radius: 4px;
  padding: 4px 6px;
  font-size: 12px;
}

.risk-meter {
  height: 6px;
  border-radius: 999px;
  background: #e8eef4;
}

.risk-meter span {
  border-radius: 999px;
}

.card-stats,
.card-exposure,
.detail-stats {
  gap: 6px;
}

.card-stats div,
.card-exposure span,
.detail-stat {
  border-radius: 5px;
  padding: 7px;
  background: #f5f8fb;
}

.movement-rail {
  gap: 5px;
}

.trend-chip,
.confidence-badge,
.status-badge {
  border-radius: 5px;
}

.team-cover {
  border-radius: 6px;
  background: var(--accent-dark);
}

.team-monogram {
  border-radius: 6px;
}

.team-monogram .team-logo {
  width: 68px;
  height: 68px;
}

.trade-team-chips span,
.episode-team-chips span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.trade-team-chips .team-badge,
.episode-team-chips .team-badge {
  color: inherit;
}

.trade-team-chips .team-logo,
.episode-team-chips .team-logo {
  width: 16px;
  height: 16px;
}

.team-exposure-list strong .team-badge {
  margin-right: 4px;
}

.team-exposure-list .team-logo {
  width: 18px;
  height: 18px;
}

.mobile-card {
  border-radius: 6px;
}

.mobile-card .mobile-card-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
}

.mobile-card .mobile-card-head strong {
  min-width: 0;
  overflow: hidden;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.15;
  text-overflow: ellipsis;
}

.mobile-card .mobile-card-head strong > span {
  display: flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.mobile-card .player-avatar.mobile {
  width: 38px;
  height: 38px;
}

.global-search-results,
.detail-drawer,
.evidence-drawer {
  border-radius: 6px;
  box-shadow: 0 12px 24px rgba(16, 32, 51, 0.16);
}

.density-compact .player-card {
  min-height: 210px;
}

@media (max-width: 1180px) {
  .player-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .topbar,
  .shell,
  .tabs {
    padding-left: 14px;
    padding-right: 14px;
  }

  .topbar {
    align-items: flex-start;
  }

  .brand h1 {
    font-size: 22px;
  }

  .hero-panel {
    grid-template-columns: 1fr;
  }

  .hero-panel h2 {
    font-size: 28px;
  }

  .player-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .topbar {
    display: grid;
    gap: 12px;
  }

  .topbar-panel {
    justify-items: start;
    width: 100%;
    min-width: 0;
  }

  .tabs {
    padding-left: 8px;
    padding-right: 8px;
  }

  .tab {
    padding: 12px 10px 10px;
    font-size: 12px;
  }

  .shell {
    padding: 12px 10px 32px;
  }

  .site-command-bar {
    display: block;
    margin-bottom: 10px;
  }

  .board-status-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }

  .board-status-strip article {
    padding: 8px 9px;
  }

  .board-status-strip span {
    font-size: 12px;
  }

  .board-status-strip strong {
    font-size: 12px;
    white-space: normal;
  }

  .global-search-shell {
    margin-top: 8px;
  }

  .share-action {
    width: 100%;
    min-height: 38px;
    margin-top: 8px;
  }

  .hero-panel h2 {
    font-size: 24px;
  }

  .player-grid {
    grid-template-columns: 1fr;
  }

  .team-badge .team-logo {
    width: 20px;
    height: 20px;
  }
}

/* Direction B: player dossier workbench */
.tabs-shell {
  position: sticky;
  top: 0;
  z-index: 5;
  background: #ffffff;
}

.site-command-bar {
  grid-template-columns: minmax(360px, 0.92fr) minmax(320px, 1fr) auto;
  align-items: stretch;
}

.board-status-strip {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  min-height: 70px;
}

.dossier-workbench {
  display: grid;
  grid-template-columns: minmax(250px, 0.72fr) minmax(0, 1.5fr) minmax(280px, 0.82fr);
  gap: 12px;
  align-items: start;
  margin-bottom: 12px;
}

.dossier-picker-panel,
.dossier-main-panel,
.dossier-rail-panel {
  min-width: 0;
  overflow: hidden;
}

.dossier-main-panel {
  min-height: 760px;
}

.dossier-picker-panel {
  min-height: 620px;
}

.dossier-rail-panel {
  min-height: 520px;
}

.dossier-picker-controls {
  display: grid;
  gap: 10px;
  padding: 12px;
  border-bottom: 1px solid var(--line);
  background: #f8fafc;
}

.workbench-player-lockup h2 {
  overflow-wrap: anywhere;
}

.workbench-hero {
  display: grid;
  gap: 12px;
  min-height: 180px;
  padding: 16px;
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(135deg, rgba(0, 94, 168, 0.08), transparent 38%),
    #ffffff;
}

.workbench-player-lockup {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
}

.player-portrait.workbench {
  width: 88px;
  height: 88px;
}

.workbench-player-lockup h2 {
  margin: 2px 0 4px;
  font-size: clamp(28px, 4vw, 46px);
  line-height: 0.98;
}

.workbench-player-lockup p,
.workbench-read {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.workbench-read {
  max-width: 780px;
  color: #26384c;
  font-size: 14px;
}

.workbench-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.workbench-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  min-height: 92px;
  padding: 12px;
  border-bottom: 1px solid var(--line);
  background: #f8fafc;
}

.workbench-section {
  padding: 14px;
  border-bottom: 1px solid var(--line);
}

.section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.section-heading h3 {
  margin: 0;
  font-size: 16px;
}

.section-heading span {
  color: var(--accent);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

#workbenchTimeline {
  display: grid;
  gap: 8px;
}

.timeline-file-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px 12px;
  border: 1px solid #dce5ee;
  border-left: 4px solid var(--accent);
  border-radius: 6px;
  padding: 10px;
  background: #ffffff;
}

.timeline-file-row strong {
  display: block;
  font-size: 14px;
}

.timeline-file-row span,
.timeline-file-row p {
  color: var(--muted);
  font-size: 12px;
}

.timeline-file-row b {
  color: var(--ink);
  font-size: 14px;
}

.timeline-file-row p {
  grid-column: 1 / -1;
  margin: 0;
}

.next-checks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.next-checks article {
  border: 1px solid #dce5ee;
  border-top: 4px solid var(--watch);
  border-radius: 6px;
  padding: 10px;
  background: #ffffff;
}

.next-checks article.high {
  border-top-color: var(--high);
}

.next-checks article.elevated {
  border-top-color: var(--elevated);
}

.next-checks article.low {
  border-top-color: var(--low);
}

.next-checks span {
  color: var(--accent);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.next-checks strong {
  display: block;
  margin: 4px 0;
  font-size: 20px;
  line-height: 1;
}

.next-checks p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.dossier-rail-stack {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) repeat(4, minmax(150px, 0.72fr));
  align-items: stretch;
  gap: 8px;
  padding: 12px;
}

.dossier-rail-stack .status-item {
  box-shadow: none;
}

.supporting-board-summary {
  display: grid;
  gap: 12px;
}

.supporting-board-summary .claim-banner {
  margin-bottom: 0;
}

.legacy-overview[hidden] {
  display: none !important;
}

.exposure-stack-card .brief-kicker,
.claim-panel .brief-kicker,
.exposure-leaders .brief-kicker,
.episode-hero-card span,
.episode-mix-card .brief-kicker,
.episode-leader-card .brief-kicker {
  color: #d8ecff;
}

.risk-bar.elevated > i,
.exposure-bands span,
.exposure-bands strong,
.exposure-bands p {
  color: #ffffff;
}

.pill.high,
.trend-chip.high b {
  color: #7d2418;
}

.scenario-waterfall.high .scenario-score {
  background: #7d2418;
}

.scenario-waterfall.elevated .scenario-score {
  background: #6f3f05;
}

.scenario-waterfall.watch .scenario-score {
  background: #264f83;
}

.scenario-waterfall.low .scenario-score {
  background: #1e5a39;
}

.scenario-score span,
.scenario-score p,
.team-cover .eyebrow {
  color: #ffffff;
}

.trade-brief-lanes .brief-kicker,
.trade-brief-exposure .brief-kicker,
.episode-mix-card .brief-kicker,
.episode-leader-card .brief-kicker {
  color: #084d49;
}

@media (max-width: 1180px) {
  .dossier-workbench {
    grid-template-columns: minmax(230px, 0.75fr) minmax(0, 1.45fr);
  }

  .dossier-rail-panel {
    grid-column: 1 / -1;
  }

  .dossier-rail-stack {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .site-command-bar {
    grid-template-columns: 1fr;
  }

  .dossier-workbench {
    display: flex;
    flex-direction: column;
  }

  .dossier-main-panel {
    order: 1;
    width: 100%;
    min-height: 1780px;
  }

  .dossier-picker-panel {
    order: 2;
    width: 100%;
    min-height: 780px;
  }

  .dossier-rail-panel {
    order: 3;
    width: 100%;
    min-height: 560px;
  }

  .dossier-rail-stack {
    grid-template-columns: 1fr;
  }

  .workbench-metrics,
  .next-checks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .topbar {
    min-height: 0;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .topbar-panel {
    display: none;
  }

  .brand-signals {
    display: none;
  }

  .tabs {
    display: flex;
    overflow-x: auto;
  }

  .tab {
    min-width: max-content;
  }

  .board-status-strip {
    display: none;
  }

  .workbench-player-lockup {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .workbench-player-lockup .pill {
    grid-column: 1 / -1;
    width: fit-content;
  }

  .player-portrait.workbench {
    width: 72px;
    height: 72px;
  }

  .workbench-player-lockup h2 {
    font-size: 28px;
  }

  .workbench-metrics,
  .next-checks {
    grid-template-columns: 1fr;
  }

  .workbench-hero {
    min-height: 280px;
  }

  .workbench-metrics {
    min-height: 261px;
  }

  .section-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .timeline-file-row {
    grid-template-columns: 1fr;
  }

  .gate-timeline {
    grid-template-columns: 1fr;
    overflow-x: visible;
  }

  .gate-timeline article {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    min-width: 0;
  }

  .gate-timeline article > span {
    margin-bottom: 0;
  }
}

/* Direction A: clean analyst console */
:root {
  --bg: #f3f6f8;
  --panel: #ffffff;
  --ink: #101923;
  --muted: #627080;
  --line: #d8e0e7;
  --soft: #f4f7fa;
  --accent: #005f73;
  --accent-dark: #0a2c3a;
  --gold: #c69b2c;
  --shadow: 0 1px 2px rgba(16, 25, 35, 0.06);
}

body {
  background: var(--bg);
}

.topbar {
  min-height: 86px;
  padding: 16px clamp(16px, 3vw, 32px);
  background: #071b2a;
}

.topbar::before {
  content: none;
}

.topbar::after {
  right: 0;
  left: 0;
  height: 3px;
  border-radius: 0;
}

.brand-mark {
  width: 46px;
  height: 46px;
  border-radius: 9px;
  clip-path: none;
  background: #ffd84d;
  color: #071b2a;
  box-shadow: none;
}

.brand-mark::before,
.brand-mark::after,
.brand-mark i,
.brand-signals {
  display: none;
}

.brand-mark b {
  color: #071b2a;
}

.brand p {
  margin-bottom: 2px;
  color: #9fb7c7;
}

.brand h1 {
  font-size: clamp(20px, 2.4vw, 28px);
}

.topbar-panel {
  min-width: 280px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.06);
  box-shadow: none;
}

.tabs {
  padding-block: 0;
  background: #ffffff;
}

.tab {
  padding: 12px 13px 10px;
}

.shell {
  max-width: 1440px;
  padding: 14px clamp(12px, 2vw, 24px) 40px;
}

.site-command-bar {
  grid-template-columns: minmax(360px, 0.75fr) minmax(320px, 1fr) auto;
  gap: 10px;
  margin-bottom: 10px;
  border: 1px solid var(--line);
  background: #ffffff;
}

.board-status-strip {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  min-height: 48px;
  gap: 6px;
}

.board-status-strip article {
  min-height: 48px;
  border-radius: 5px;
  padding: 8px 9px;
  background: #f8fafc;
  box-shadow: none;
}

.board-status-strip span {
  font-size: 12px;
}

.board-status-strip strong {
  font-size: 13px;
}

.dossier-workbench {
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 10px;
}

.dossier-main-panel,
.dossier-picker-panel,
.dossier-rail-panel {
  min-height: 0;
}

.dossier-main-panel {
  min-height: 760px;
}

.dossier-picker-panel {
  align-self: start;
}

.dossier-rail-panel {
  grid-column: 1 / -1;
}

.dossier-picker-controls {
  border-bottom: 0;
  padding: 10px;
  background: #ffffff;
}

.workbench-hero {
  min-height: 154px;
  padding: 14px;
  background: #ffffff;
}

.console-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.console-heading h2 {
  margin: 0 0 4px;
  font-size: clamp(22px, 2.6vw, 32px);
  line-height: 1.05;
}

.console-heading p {
  max-width: 620px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.console-heading > span {
  border: 1px solid var(--line);
  border-radius: 5px;
  padding: 6px 8px;
  color: var(--accent-dark);
  background: #f8fafc;
  font-size: 12px;
  font-weight: 800;
}

.workbench-metrics {
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 42px;
  padding: 7px 14px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #ffffff;
}

.workbench-metrics .detail-stat {
  display: inline-flex;
  align-items: baseline;
  min-height: 0;
  gap: 5px;
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.workbench-metrics .detail-stat b {
  margin: 0;
  font-size: 14px;
  line-height: 1;
}

.workbench-metrics .detail-stat span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1;
  white-space: nowrap;
}

.workbench-section {
  padding: 12px 14px;
}

.dossier-main-panel .workbench-section:first-of-type {
  min-height: 590px;
}

.workbench-checks-section {
  display: none;
}

.analyst-table-wrap {
  max-height: 520px;
  border: 1px solid var(--line);
  border-radius: 6px;
}

.analyst-table {
  min-width: 620px;
}

.analyst-table th,
.analyst-table td {
  padding: 9px 10px;
}

.analyst-table .board-name-cell {
  min-width: 300px;
}

.analyst-player-meta {
  max-width: 460px;
}

.analyst-mobile-list {
  display: none;
}

.analyst-row.is-selected {
  background: #eef7f9;
  box-shadow: inset 3px 0 0 var(--accent);
}

.team-code {
  display: inline-flex;
  min-width: 38px;
  justify-content: center;
  border: 1px solid #d9e2ea;
  border-radius: 5px;
  padding: 4px 6px;
  background: #f8fafc;
  color: var(--accent-dark);
  font-size: 12px;
  font-weight: 800;
}

.next-checks {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.next-checks article {
  border-top-width: 3px;
  padding: 9px;
}

.next-checks strong {
  font-size: 16px;
}

.selected-brief-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 12px;
}

.selected-brief-head span,
.selected-brief-note strong {
  color: var(--accent);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.selected-brief-head strong {
  display: block;
  margin: 2px 0;
  color: var(--ink);
  font-size: 24px;
  line-height: 1.05;
}

.selected-brief-head p,
.selected-brief-note p,
.selected-brief-list span {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.selected-brief-tags,
.selected-brief-stats,
.selected-brief-note,
.selected-brief-list {
  display: grid;
  gap: 8px;
  padding: 0 12px 12px;
}

.selected-brief-tags {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.selected-brief-tags .pill {
  width: 100%;
  justify-content: center;
}

.selected-brief-tags span {
  border: 1px solid var(--line);
  border-radius: 5px;
  padding: 6px 7px;
  background: #f8fafc;
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
}

.selected-brief-stats {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.supporting-board-summary {
  display: none;
}

.player-avatar,
.player-portrait {
  overflow: hidden;
  border: 1px solid #ccd7e0;
  background: #f2f5f7;
  color: var(--accent-dark);
  box-shadow: none;
}

.player-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
}

.player-avatar.list,
.player-avatar.table {
  width: 34px;
  height: 34px;
}

.player-avatar.mobile {
  width: 40px;
  height: 40px;
}

.player-avatar .avatar-headshot,
.player-portrait img {
  position: absolute;
  z-index: 2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  background: #f2f5f7;
}

.player-avatar .avatar-headshot:not([hidden]) ~ b,
.player-portrait img:not([hidden]) ~ b {
  opacity: 0;
}

.player-avatar b,
.player-portrait b {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  background: transparent;
  color: var(--accent-dark);
  text-shadow: none;
}

.player-avatar b {
  width: 100%;
  height: 100%;
  border: 0;
  font-size: 12px;
}

.player-portrait {
  display: grid;
  place-items: center;
  width: 62px;
  height: 72px;
  border-radius: 8px;
}

.player-portrait.workbench {
  width: 74px;
  height: 84px;
}

.player-portrait.detail {
  width: 68px;
  height: 78px;
}

.player-portrait.dossier {
  width: 72px;
  height: 82px;
}

.player-portrait.card {
  width: 54px;
  height: 64px;
}

.player-layout {
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 10px;
}

.team-cover {
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 12px;
  background: #ffffff;
  color: var(--ink);
}

.team-monogram {
  width: 46px;
  height: 46px;
  border-color: #d7e0e8;
  background: #f8fafc;
  box-shadow: none;
}

.team-monogram span {
  display: none;
}

.team-monogram .team-logo {
  max-width: 34px;
  max-height: 34px;
}

.team-cover .eyebrow {
  color: var(--accent);
}

.team-cover h3 {
  margin: 0 0 3px;
  font-size: 21px;
  line-height: 1.08;
}

.team-cover span {
  color: var(--muted);
  font-size: 12px;
}

.player-table-wrap table {
  min-width: 720px;
}

.player-table-wrap .rank-cell {
  width: 48px;
}

.player-table-wrap .board-name-cell {
  min-width: 210px;
}

.player-table-wrap .board-metric {
  min-width: 82px;
}

.dossier-panel {
  display: none;
}

.board-actions {
  justify-content: space-between;
  gap: 10px;
}

.filter-presets {
  gap: 7px;
}

.player-table-wrap[hidden],
.player-grid[hidden],
.mobile-list[hidden],
.compare-workbench[hidden] {
  display: none !important;
}

.player-grid {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 8px;
}

.player-card {
  min-height: 0;
  gap: 10px;
  padding: 10px;
}

.card-ribbon,
.card-exposure,
.risk-meter,
.decision-use-line {
  display: none;
}

.card-head {
  grid-template-columns: auto minmax(0, 1fr) auto;
}

.player-card .card-head strong {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}

.card-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.detail-body {
  padding: 12px;
}

.detail-title {
  align-items: center;
}

.detail-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.status-stack.no-pad {
  gap: 7px;
}

.status-stack.no-pad .status-item {
  padding: 9px;
}

.density-control {
  display: none;
}

#tab-players > .toolbar {
  grid-template-columns: minmax(220px, 1.4fr) repeat(4, minmax(112px, 1fr));
}

#tab-teams > .toolbar.compact {
  grid-template-columns: minmax(240px, 1.3fr) minmax(110px, 0.55fr) minmax(170px, 0.8fr);
}

#tab-contracts .toolbar.compact {
  grid-template-columns: minmax(220px, 1.3fr) minmax(160px, 0.7fr);
}

#tab-absences > .toolbar {
  grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(128px, 0.8fr));
}

.toolbar-more {
  min-width: 0;
}

.toolbar-more summary {
  display: grid;
  align-items: center;
  min-height: 34px;
  border: 1px solid #cbd6e0;
  border-radius: 5px;
  padding: 0 10px;
  background: #fff;
  color: var(--ink);
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
  list-style: none;
}

.toolbar-more summary::-webkit-details-marker {
  display: none;
}

.toolbar-more[open] summary {
  margin-bottom: 8px;
}

.toolbar-more-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

#tab-teams .metric-grid.small {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 0;
  padding: 10px 16px;
}

#tab-teams .metric {
  padding: 10px;
}

#tab-teams .metric b {
  margin-bottom: 4px;
  font-size: 22px;
}

.team-boardroom {
  gap: 8px;
  min-height: 86px;
  padding: 0 16px 12px;
}

.team-readout,
.trade-readout,
.episode-readout {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.trade-market-brief,
.episode-impact-brief {
  grid-template-columns: 1fr;
  gap: 0;
  padding: 10px 14px 0;
}

.trade-market-brief {
  min-height: 84px;
}

.episode-impact-brief {
  min-height: 82px;
}

.team-readout article,
.trade-readout article,
.episode-readout article {
  min-width: 0;
  border: 1px solid #dfe7e4;
  border-radius: 6px;
  padding: 10px;
  background: #fbfcfc;
}

.team-readout span,
.trade-readout span,
.episode-readout span {
  display: block;
  color: var(--accent);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.team-readout strong,
.trade-readout strong,
.episode-readout strong {
  display: block;
  overflow: hidden;
  margin-top: 4px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.18;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.team-readout p,
.trade-readout p,
.episode-readout p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
}

.trade-brief-lead,
.episode-hero-card {
  background: #fbfcfc;
  color: var(--ink);
}

.site-command-bar {
  display: none;
}

@media (max-width: 1180px) {
  .dossier-workbench {
    grid-template-columns: 220px minmax(0, 1fr);
  }

  .dossier-rail-panel {
    grid-column: 1 / -1;
  }

  .dossier-rail-stack {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .site-command-bar,
  .dossier-workbench,
  .player-layout {
    grid-template-columns: 1fr;
  }

  .dossier-workbench {
    display: grid;
  }

  .dossier-main-panel {
    order: 1;
    min-height: 1040px;
  }

  .dossier-rail-panel {
    order: 2;
  }

  .dossier-picker-panel {
    order: 3;
  }

  .workbench-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .next-checks,
  .selected-brief-stats,
  .selected-brief-tags {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .tabs {
    gap: 4px;
    padding: 8px 8px;
  }

  .tab {
    padding: 8px 10px;
  }

  .topbar {
    min-height: 72px;
  }

  .brand {
    gap: 10px;
  }

  .brand-mark {
    width: 44px;
    height: 44px;
  }

  .site-command-bar {
    display: none;
  }

  .board-status-strip {
    display: none;
  }

  .console-heading {
    display: grid;
  }

  .workbench-hero {
    min-height: 142px;
  }

  .dossier-main-panel {
    min-height: 920px;
  }

  .workbench-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 12px;
    min-height: 38px;
    overflow: visible;
    padding: 7px 10px;
  }

  .workbench-metrics .detail-stat {
    flex: 0 1 auto;
    min-height: 0;
    padding: 0;
  }

  .workbench-metrics .detail-stat b {
    margin: 0;
    font-size: 13px;
  }

  .workbench-metrics .detail-stat span {
    overflow: hidden;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .analyst-table {
    min-width: 680px;
  }

  .analyst-table-wrap {
    display: none !important;
  }

  .analyst-mobile-list {
    display: grid;
    gap: 6px;
  }

  .analyst-mobile-item {
    display: grid;
    grid-template-columns: 24px 40px minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    width: 100%;
    border: 1px solid #dbe4ea;
    border-left: 3px solid var(--watch);
    border-radius: 6px;
    min-height: 64px;
    padding: 7px 8px;
    background: #ffffff;
    color: var(--ink);
    text-align: left;
  }

  .analyst-mobile-item.high {
    border-left-color: var(--high);
  }

  .analyst-mobile-item.elevated {
    border-left-color: var(--elevated);
  }

  .analyst-mobile-item.low {
    border-left-color: var(--low);
  }

  .analyst-mobile-item.is-selected {
    border-color: #91b8c4;
    background: #eef7f9;
  }

  .mobile-rank {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
  }

  .mobile-player-copy {
    display: grid;
    min-width: 0;
    gap: 2px;
  }

  .mobile-player-copy strong,
  .mobile-player-copy span,
  .mobile-player-signals b,
  .mobile-player-signals i,
  .mobile-player-signals em {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mobile-player-copy strong {
    font-size: 14px;
    line-height: 1.1;
  }

  .mobile-player-copy span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
  }

  .mobile-player-signals {
    display: grid;
    min-width: 62px;
    justify-items: end;
    gap: 1px;
  }

  .mobile-player-signals b {
    font-size: 12px;
  }

  .mobile-player-signals i,
  .mobile-player-signals em {
    color: var(--muted);
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
  }

  .mobile-player-signals em {
    color: var(--accent-dark);
  }

  .player-grid {
    grid-template-columns: 1fr;
  }

  .detail-title .player-portrait {
    grid-row: 1 / span 2;
  }

  .detail-title .pill {
    grid-column: 2;
    justify-self: start;
    min-height: 20px;
    padding: 2px 7px;
    font-size: 12px;
  }

  .board-actions {
    align-items: stretch;
    gap: 8px;
    margin-bottom: 10px;
    padding: 8px;
  }

  #tab-players > .toolbar {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    margin-bottom: 10px;
    padding: 8px;
  }

  #tab-players > .toolbar label {
    gap: 4px;
    font-size: 12px;
  }

  #tab-players > .toolbar label:first-child {
    grid-column: 1;
  }

  #tab-players > .toolbar input,
  #tab-players > .toolbar select {
    min-height: 34px;
    padding: 7px 9px;
    font-size: 13px;
  }

  .player-filter-drawer {
    position: relative;
    display: block;
    align-self: end;
  }

  .player-filter-toggle {
    display: grid;
    align-items: center;
    min-height: 34px;
    border: 1px solid #cbd6e0;
    border-radius: 5px;
    padding: 7px 28px 7px 10px;
    background: #f7faf9;
    color: var(--ink);
    font-size: 12px;
    font-weight: 800;
    list-style: none;
    cursor: pointer;
  }

  .player-filter-toggle::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 10px;
    color: var(--accent);
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    transform: translateY(-50%);
  }

  .player-filter-drawer.is-open .player-filter-toggle::after {
    content: "-";
  }

  .player-filter-grid {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 9;
    display: grid;
    grid-template-columns: minmax(150px, 1fr);
    gap: 8px;
    width: min(336px, calc(100vw - 44px));
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 10px;
    background: #fff;
    box-shadow: var(--shadow);
  }

  .player-filter-drawer:not(.is-open) .player-filter-grid {
    display: none;
  }

  .segmented-control,
  .filter-presets {
    display: grid;
    width: 100%;
  }

  .segmented-control {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .segment[data-player-view="cards"] {
    display: none;
  }

  .filter-presets {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    display: none;
  }

  #tab-teams > .toolbar.compact,
  #tab-contracts .toolbar.compact,
  #tab-absences > .toolbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 10px;
    padding: 10px;
  }

  #tab-teams > .toolbar.compact label:first-child,
  #tab-contracts .toolbar.compact label:first-child,
  #tab-absences > .toolbar label:first-child,
  #tab-absences .toolbar-more {
    grid-column: 1 / -1;
  }

  .toolbar-more-grid {
    grid-template-columns: 1fr;
  }

  #tab-teams .metric-grid.small {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 8px 10px;
  }

  #tab-teams .metric {
    padding: 8px;
  }

  #tab-teams .metric b {
    font-size: 20px;
  }

  .team-boardroom {
    min-height: 158px;
    padding: 0 10px 10px;
  }

  .trade-market-brief,
  .episode-impact-brief {
    min-height: 158px;
  }

  .team-readout,
  .trade-readout,
  .episode-readout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trade-market-brief,
  .episode-impact-brief {
    padding: 8px 10px 0;
  }

  .team-readout article,
  .trade-readout article,
  .episode-readout article {
    padding: 9px;
  }

  .team-readout strong,
  .trade-readout strong,
  .episode-readout strong {
    display: -webkit-box;
    overflow: hidden;
    font-size: 14px;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .team-readout p,
  .trade-readout p,
  .episode-readout p {
    display: -webkit-box;
    overflow: hidden;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  #tab-teams .team-visuals {
    display: none;
  }

  #tab-method .method-grid,
  #tab-data .data-status-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 10px;
  }

  #tab-method #modelMetrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 12px;
  }

  #tab-method #modelMetrics .metric {
    min-height: 74px;
    padding: 10px;
  }

  #tab-method #modelMetrics .metric b {
    font-size: 22px;
  }

  #tab-method #modelMetrics .metric span {
    font-size: 12px;
    line-height: 1.2;
  }

  #tab-method .method-grid .insight-card,
  #tab-data .data-status-grid .insight-card {
    padding: 10px;
  }

  #tab-method .method-grid .insight-card span,
  #tab-data .data-status-grid .insight-card span {
    font-size: 12px;
  }

  #tab-method .method-grid .insight-card strong,
  #tab-data .data-status-grid .insight-card strong {
    margin: 4px 0;
    font-size: 17px;
    line-height: 1.08;
  }

  #tab-method .method-grid .insight-card p,
  #tab-data .data-status-grid .insight-card p {
    display: -webkit-box;
    overflow: hidden;
    font-size: 12px;
    line-height: 1.25;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
}

/* Phase 4: tokenized analyst design system */
:root {
  --surface-0: #eef2f1;
  --surface-1: #ffffff;
  --surface-2: #f7faf9;
  --surface-3: #eef4f2;
  --surface-dark-0: #0a1416;
  --surface-dark-1: #10191c;
  --surface-dark-2: #16242a;
  --ink-1: #111717;
  --ink-2: #5f686a;
  --ink-on-dark-1: #f7fbfa;
  --ink-on-dark-2: #c7d9d6;
  --accent: #006c67;
  --accent-dark: #083c3a;
  --gold: #c59b32;
  --high: #b9412d;
  --high-soft: #f7ded8;
  --high-text: #8c3122;
  --elevated: #c37a20;
  --elevated-soft: #f7ecd1;
  --elevated-text: #875413;
  --watch: #315f9d;
  --watch-soft: #e7edf8;
  --watch-text: #25497a;
  --low: #27744a;
  --low-soft: #e4f3e8;
  --low-text: #1d5837;
  --line: #d5dcda;
  --line-dark: rgba(255, 255, 255, 0.12);
  --bg: var(--surface-0);
  --panel: var(--surface-1);
  --soft: var(--surface-3);
  --ink: var(--ink-1);
  --muted: var(--ink-2);
  --text-xs: 11px;
  --text-sm: 12px;
  --text-base: 13px;
  --text-md: 14px;
  --text-lg: 16px;
  --text-xl: 20px;
  --text-2xl: 28px;
  --text-3xl: 32px;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-heavy: 800;
  --line-tight: 1.1;
  --line-ui: 1.35;
  --line-prose: 1.6;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-full: 999px;
  --shadow-sm: 0 1px 2px rgba(17, 23, 23, 0.06);
  --shadow-md: 0 8px 20px rgba(17, 23, 23, 0.08);
  --shadow-lg: 0 18px 46px rgba(22, 31, 34, 0.1);
  --shadow: var(--shadow-lg);
  --transition: 150ms ease;
  --data-line: var(--accent);
}

body {
  background: linear-gradient(180deg, var(--surface-2) 0, var(--surface-0) 360px), var(--surface-0);
  color: var(--ink-1);
  font-size: var(--text-base);
  line-height: var(--line-ui);
  font-weight: var(--weight-regular);
  font-variant-numeric: tabular-nums;
}

h1,
h2,
h3,
strong,
b {
  font-weight: var(--weight-bold);
}

.brand h1 {
  font-size: var(--text-2xl);
  font-weight: var(--weight-bold);
  line-height: var(--line-tight);
}

.console-heading h2,
.dossier-identity h3 {
  font-size: var(--text-3xl);
  font-weight: var(--weight-bold);
  line-height: var(--line-tight);
}

.section-heading h3,
.panel-title h2,
.panel-title h3,
.card-head strong,
.player-card .card-head strong,
.mobile-player-copy strong {
  font-size: var(--text-lg);
  font-weight: var(--weight-semibold);
  line-height: var(--line-tight);
}

.eyebrow,
thead th,
.panel-title span,
.toolbar label,
.workbench-metrics .detail-stat span,
.rank-badge i,
.status-badge,
.confidence-badge,
.pill {
  font-size: var(--text-xs);
  font-weight: var(--weight-bold);
  letter-spacing: 0;
  line-height: var(--line-ui);
}

th,
td,
.subtle,
.card-head span,
.metric span,
.insight-card p,
.status-item p,
.selected-brief-head p,
.selected-brief-note p,
.selected-brief-list span {
  font-size: var(--text-base);
  line-height: var(--line-ui);
}

#tab-method,
#tab-data {
  font-size: var(--text-md);
  line-height: var(--line-prose);
}

#tab-method p,
#tab-data p,
#tab-method .insight-card p,
#tab-data .insight-card p {
  line-height: var(--line-prose);
}

.topbar {
  color: var(--ink-on-dark-1);
  background:
    linear-gradient(90deg, rgba(197, 155, 50, 0.1), transparent 28%),
    linear-gradient(135deg, var(--surface-dark-0) 0%, var(--surface-dark-1) 52%, var(--surface-dark-2) 100%);
  border-bottom-color: var(--line-dark);
}

.topbar-panel,
.availability-curve-card,
.exposure-panel .panel-title {
  background: var(--surface-dark-1);
  color: var(--ink-on-dark-1);
  border-color: var(--line-dark);
}

.topbar-panel span,
.topbar-meta,
.availability-curve-card p,
.availability-curve-card span,
.exposure-panel .panel-title span {
  color: var(--ink-on-dark-2);
}

.card-base,
.panel,
.player-card,
.insight-card,
.metric,
.detail-stat,
.status-item,
.claim-row,
.episode-hero-card,
.episode-leader-card,
.compare-card,
.team-cover,
.team-readout article,
.trade-readout article,
.episode-readout article,
.card-stats div {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface-1);
  box-shadow: var(--shadow-sm);
}

.panel,
.player-card,
.insight-card,
.metric,
.episode-hero-card,
.episode-leader-card,
.compare-card {
  padding: var(--space-4);
}

.panel-title,
.workbench-section,
.detail-body,
.dossier-picker-controls,
.team-boardroom,
.trade-market-brief,
.episode-impact-brief {
  padding: var(--space-4);
}

.dossier-workbench,
.player-layout,
.team-boardroom,
.player-grid,
.metric-grid,
.method-grid,
.data-status-grid,
.dossier-rail-stack,
.next-checks,
.team-readout,
.trade-readout,
.episode-readout,
.toolbar-more-grid {
  gap: var(--space-3);
}

.player-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
}

.shell {
  padding: var(--space-4) clamp(var(--space-4), 4vw, var(--space-12)) var(--space-12);
}

.tab,
.secondary-action,
.share-action,
.action-btn,
.picker-btn,
.filter-btn,
.player-filter-toggle,
.toolbar-more summary,
button.btn-primary,
button.btn-secondary,
button.btn-ghost {
  border-radius: var(--radius-sm);
  padding: var(--space-2) var(--space-3);
  font-size: var(--text-sm);
  font-weight: var(--weight-semibold);
  line-height: var(--line-ui);
  transition:
    color var(--transition),
    background-color var(--transition),
    border-color var(--transition),
    box-shadow var(--transition),
    transform var(--transition);
}

.btn-primary,
.action-btn.primary {
  border-color: var(--accent);
  background: var(--accent);
  color: var(--ink-on-dark-1);
}

.btn-secondary,
.secondary-action,
.share-action,
.picker-btn,
.filter-btn,
.player-filter-toggle,
.toolbar-more summary {
  border: 1px solid var(--line);
  background: transparent;
  color: var(--ink-1);
}

.btn-ghost,
.tab {
  border-color: transparent;
  background: transparent;
}

input,
select,
textarea {
  min-height: 36px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: var(--space-2) var(--space-3);
  background: var(--surface-1);
  color: var(--ink-1);
  font-size: var(--text-md);
  line-height: var(--line-ui);
  transition:
    border-color var(--transition),
    box-shadow var(--transition),
    background-color var(--transition);
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
.tab:focus-visible,
tr[tabindex]:focus-visible,
[data-player-id]:focus-visible,
[data-tab]:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent);
}

.tab:hover,
.tab.is-active {
  border-color: var(--gold);
  background: var(--surface-1);
  color: var(--accent-dark);
  box-shadow: inset 0 -2px 0 var(--gold);
}

.pill {
  border-radius: var(--radius-full);
  background: var(--surface-3);
  color: var(--accent-dark);
}

.pill.high,
.status-badge.high {
  background: var(--high-soft);
  color: var(--high-text);
}

.pill.elevated {
  background: var(--elevated-soft);
  color: var(--elevated-text);
}

.pill.watch {
  background: var(--watch-soft);
  color: var(--watch-text);
}

.pill.low {
  background: var(--low-soft);
  color: var(--low-text);
}

.player-avatar,
.player-portrait {
  isolation: isolate;
  overflow: hidden;
  border: 1px solid var(--line);
  background: linear-gradient(180deg, #f8faf9 0%, #e9efed 100%);
  color: var(--accent-dark);
}

.player-avatar .avatar-headshot,
.player-portrait img {
  position: absolute;
  z-index: 2;
  inset: 2px;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  border-radius: inherit;
  object-fit: cover;
  object-position: 50% 8%;
  background: var(--surface-2);
}

.player-avatar .avatar-headshot:not([hidden]) ~ b,
.player-portrait img:not([hidden]) ~ b {
  opacity: 0;
}

.player-avatar b,
.player-portrait b {
  z-index: 1;
  background: transparent;
  color: var(--accent-dark);
  text-shadow: none;
}

.player-portrait.card {
  width: 64px;
  height: 74px;
  border-radius: var(--radius-md);
}

.player-portrait.detail {
  width: 76px;
  height: 88px;
  border-radius: var(--radius-md);
}

.player-portrait.dossier {
  width: 80px;
  height: 92px;
  border-radius: var(--radius-md);
}

.card-head {
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
}

.card-head .pill,
.detail-title .pill,
.dossier-actions .pill {
  align-self: start;
  justify-self: end;
}

.card-head strong,
.mobile-player-copy strong {
  overflow-wrap: anywhere;
}

.body-zone,
.risk-bar.high,
.episode-share-badge.high {
  background: var(--high);
}

.risk-bar.elevated {
  background: var(--elevated);
}

.availability-curve path,
.curve-canvas path {
  stroke: var(--data-line);
}

.table-wrap,
.analyst-table-wrap {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface-1);
}

thead th {
  background: var(--surface-3);
}

tbody tr:hover,
.player-card:hover,
.player-card.is-selected,
.analyst-row.is-selected,
.analyst-mobile-item.is-selected {
  background: var(--surface-2);
}

th,
td {
  padding: var(--space-2) var(--space-3);
}

.brand-mark,
.panel,
.topbar-panel,
.team-cover,
.player-avatar,
.player-portrait,
.team-monogram,
.toolbar-more summary,
input,
select,
textarea,
.analyst-mobile-item,
.team-code,
.status-badge,
.confidence-badge,
.rank-badge {
  box-shadow: var(--shadow-sm);
}

.player-card:hover,
.player-card.is-selected,
.compare-card:hover,
.command-card:hover {
  box-shadow: var(--shadow-md);
}

@media (max-width: 720px) {
  .brand h1 {
    font-size: var(--text-xl);
  }

  .console-heading h2 {
    font-size: var(--text-2xl);
  }

  .workbench-metrics,
  .analyst-mobile-list,
  .player-grid,
  #tab-method .method-grid,
  #tab-data .data-status-grid {
    gap: var(--space-2);
  }
}

/* Imagegen reimagined console */
:root {
  --ice-0: #f8fbfc;
  --ice-1: #eef5f6;
  --ice-2: #e3ecee;
  --graphite-0: #071012;
  --graphite-1: #0d1a1e;
  --graphite-2: #172931;
  --teal-0: #006c72;
  --teal-1: #0b8c91;
  --navy-0: #102b3b;
  --amber-0: #d18a00;
  --red-0: #ca1f28;
  --green-0: #2f8a37;
  --blue-0: #2f6fa8;
  --rail-line: #d9e4e7;
  --soft-shadow: 0 10px 24px rgba(10, 31, 38, 0.08);
}

body {
  min-width: 320px;
  background:
    linear-gradient(90deg, transparent 0 49.85%, rgba(0, 108, 114, 0.045) 49.9% 50.1%, transparent 50.15%),
    linear-gradient(180deg, rgba(202, 31, 40, 0.035) 0 1px, transparent 1px 132px),
    linear-gradient(180deg, var(--ice-0) 0, var(--ice-1) 460px, #edf3f4 100%);
  color: #11181b;
}

.topbar {
  min-height: 92px;
  padding: 14px clamp(18px, 3vw, 34px);
  background:
    linear-gradient(90deg, rgba(0, 108, 114, 0.24), transparent 32%),
    linear-gradient(135deg, var(--graphite-0) 0%, var(--graphite-1) 56%, #061724 100%);
}

.topbar::before {
  background:
    linear-gradient(90deg, transparent 0 19%, rgba(255, 255, 255, 0.06) 19.1% 19.25%, transparent 19.35% 50%, rgba(255, 255, 255, 0.05) 50.05% 50.2%, transparent 50.3% 81%, rgba(255, 255, 255, 0.05) 81.1% 81.25%, transparent 81.35%),
    radial-gradient(circle at 50% 50%, transparent 0 48px, rgba(0, 140, 145, 0.22) 49px 51px, transparent 52px);
  opacity: 0.9;
}

.topbar::after {
  right: clamp(18px, 3vw, 34px);
  left: clamp(18px, 3vw, 34px);
  height: 3px;
  background: linear-gradient(90deg, var(--teal-1), var(--blue-0) 36%, var(--amber-0) 68%, var(--red-0));
}

.brand-mark {
  width: 58px;
  height: 58px;
  border-radius: 8px;
  clip-path: none;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.18), transparent 50%),
    linear-gradient(135deg, var(--teal-0), #083944);
}

.brand-mark::before {
  inset: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.5);
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}

.brand-mark::after {
  background: rgba(255, 255, 255, 0.42);
}

.brand-mark b {
  font-size: 18px;
}

.brand-mark i {
  display: none;
}

.brand p {
  color: #a8dce0;
}

.brand h1 {
  font-size: clamp(24px, 2.3vw, 34px);
}

.brand-signals {
  display: none;
}

.topbar-ops {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(320px, 1fr) auto;
  gap: 10px;
  align-items: stretch;
}

.topbar-panel {
  min-width: min(390px, 38vw);
  border-color: rgba(130, 185, 195, 0.22);
  background: rgba(2, 11, 14, 0.62);
  text-align: left;
  justify-items: start;
}

.topbar-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(88px, 1fr));
  overflow: hidden;
  border: 1px solid rgba(130, 185, 195, 0.22);
  border-radius: 8px;
  background: rgba(2, 11, 14, 0.62);
}

.topbar-action {
  border: 0;
  border-left: 1px solid rgba(130, 185, 195, 0.18);
  padding: 10px 12px;
  background: transparent;
  color: #dcecee;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.topbar-action:first-child {
  border-left: 0;
}

.topbar-action:hover {
  background: rgba(0, 140, 145, 0.18);
  color: #ffffff;
}

.tabs-shell {
  border-bottom: 1px solid var(--rail-line);
  background: rgba(252, 254, 254, 0.96);
}

.tabs {
  max-width: 1680px;
  margin: 0 auto;
  padding: 0 clamp(14px, 2vw, 22px);
  border-bottom: 0;
  background: transparent;
}

.tab {
  min-height: 42px;
  border-radius: 0;
  border-width: 0 0 3px;
  padding: 11px 14px 8px;
  color: #41545b;
  font-size: 13px;
  text-transform: uppercase;
}

.tab:hover,
.tab.is-active {
  border-color: var(--teal-0);
  background: transparent;
  color: var(--navy-0);
  box-shadow: none;
}

.shell {
  max-width: 1680px;
  margin: 0 auto;
  padding: 10px clamp(14px, 2vw, 22px) 34px;
}

.site-command-bar {
  display: none;
}

.dossier-workbench {
  grid-template-columns: 250px minmax(0, 1fr) 390px;
  gap: 10px;
  align-items: stretch;
}

.panel,
.dossier-picker-panel,
.dossier-main-panel,
.dossier-rail-panel,
.claim-banner {
  border-color: var(--rail-line);
  border-radius: 8px;
  box-shadow: var(--soft-shadow);
}

.dossier-picker-panel,
.dossier-main-panel,
.dossier-rail-panel {
  overflow: hidden;
  background: rgba(255, 255, 255, 0.92);
}

.dossier-main-panel {
  min-height: 690px;
}

.dossier-rail-panel {
  grid-column: auto;
}

.panel-title {
  padding: 18px 16px 12px;
  border-bottom: 1px solid var(--rail-line);
}

.panel-title h2,
.panel-title h3 {
  font-size: 18px;
}

.panel-title span,
.section-heading span,
.rail-module-title span,
.dashboard-metric-card span,
.command-context-block span {
  color: var(--teal-0);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.dossier-picker-controls {
  gap: 14px;
  padding: 16px;
  background: transparent;
}

.dossier-picker-controls label,
.global-search-shell label {
  display: grid;
  gap: 6px;
  color: #3f5258;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.dossier-picker-controls input,
.dossier-picker-controls select {
  width: 100%;
  min-height: 36px;
  border-color: #ccd9dd;
  background: rgba(255, 255, 255, 0.94);
  color: #142126;
  font-size: 13px;
  text-transform: none;
}

.filter-save-action {
  min-height: 38px;
  border: 1px solid #99adba;
  border-radius: 6px;
  background: #ffffff;
  color: var(--navy-0);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.filter-save-action:hover {
  border-color: var(--teal-0);
  color: var(--teal-0);
}

.workbench-hero {
  min-height: 112px;
  padding: 20px 26px 12px;
  border-bottom: 0;
  background:
    linear-gradient(90deg, transparent 0 49.7%, rgba(0, 108, 114, 0.045) 49.8% 50.2%, transparent 50.3%),
    radial-gradient(circle at 50% 50%, transparent 0 52px, rgba(202, 31, 40, 0.04) 53px 55px, transparent 56px),
    #ffffff;
}

.console-heading h2 {
  max-width: 760px;
  margin: 2px 0 4px;
  color: #0f171a;
  font-size: clamp(28px, 3vw, 38px);
}

.console-heading p:not(.eyebrow) {
  max-width: 760px;
  color: #4e6067;
}

.console-heading > span {
  border-color: #c9d9de;
  border-radius: 6px;
  background: #f4f9fa;
  color: var(--teal-0);
}

.workbench-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  min-height: 96px;
  padding: 10px 26px 16px;
  border-top: 0;
  background: #ffffff;
}

.dashboard-metric-card {
  position: relative;
  min-width: 0;
  border: 1px solid var(--rail-line);
  border-radius: 8px;
  padding: 15px 16px 13px 52px;
  background: #ffffff;
  box-shadow: 0 6px 18px rgba(16, 43, 59, 0.06);
}

.dashboard-metric-card::before {
  content: "";
  position: absolute;
  top: 18px;
  left: 16px;
  width: 24px;
  height: 24px;
  border: 2px solid var(--teal-0);
  border-radius: 7px;
}

.dashboard-metric-card.review::before {
  border-color: var(--amber-0);
  border-radius: 50%;
  box-shadow:
    inset 0 0 0 5px #ffffff,
    inset 0 0 0 8px rgba(209, 138, 0, 0.16);
}

.dashboard-metric-card.cap::before {
  border-radius: 50%;
}

.dashboard-metric-card.risk::before {
  border-color: var(--teal-0);
  transform: rotate(45deg);
}

.dashboard-metric-card.record::before {
  border-color: var(--navy-0);
  border-radius: 3px;
}

.dashboard-metric-card strong {
  display: block;
  margin-top: 4px;
  color: var(--navy-0);
  font-size: 22px;
  line-height: 1;
}

.dashboard-metric-card p {
  margin: 5px 0 0;
  color: #52666d;
  font-size: 12px;
}

.workbench-section {
  padding: 0 26px 18px;
  border-bottom: 0;
}

.section-heading {
  margin: 0 0 8px;
}

.section-heading h3 {
  color: var(--navy-0);
  font-size: 20px;
}

.analyst-table-wrap {
  max-height: 430px;
  border-color: var(--rail-line);
  border-radius: 8px;
}

.analyst-table {
  min-width: 900px;
  border-collapse: separate;
  border-spacing: 0;
}

.analyst-table th {
  height: 40px;
  background: #edf4f5;
  color: #4b5f67;
  font-size: 12px;
}

.analyst-table td {
  height: 54px;
  border-color: #e3ecef;
  font-size: 13px;
}

.analyst-table .board-name-cell {
  min-width: 220px;
}

.analyst-row {
  box-shadow: inset 4px 0 0 transparent;
  cursor: pointer;
}

.analyst-row.high {
  box-shadow: inset 4px 0 0 var(--red-0);
}

.analyst-row.elevated {
  box-shadow: inset 4px 0 0 var(--amber-0);
}

.analyst-row.watch {
  box-shadow: inset 4px 0 0 var(--blue-0);
}

.analyst-row.low {
  box-shadow: inset 4px 0 0 var(--green-0);
}

.analyst-row.is-selected {
  background: #eaf3fb;
  box-shadow: inset 4px 0 0 var(--blue-0);
}

.team-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 56px;
  color: var(--navy-0);
  font-weight: 800;
}

.team-badge .team-logo {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 22px;
  border-radius: 999px;
  padding: 3px 10px;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.pill.high {
  background: var(--red-0);
  color: #ffffff;
}

.pill.elevated {
  background: var(--amber-0);
  color: #ffffff;
}

.pill.watch {
  background: var(--blue-0);
  color: #ffffff;
}

.pill.low {
  background: var(--green-0);
  color: #ffffff;
}

.trend-cell strong {
  display: block;
  color: var(--navy-0);
}

.trend-cell.high strong,
.trend-cell.elevated strong {
  color: var(--red-0);
}

.trend-cell.low strong {
  color: var(--green-0);
}

.trend-cell span {
  color: #617278;
  font-size: 12px;
}

.dossier-rail-panel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}

.dossier-rail-stack {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  padding: 12px;
}

.selected-player-card {
  position: relative;
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--rail-line);
}

.selected-player-card .player-portrait.workbench {
  width: 74px;
  height: 84px;
}

.selected-player-card strong {
  display: block;
  margin: 3px 0 5px;
  color: #10191d;
  font-size: 24px;
  line-height: 1.04;
}

.selected-player-card p {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
  margin: 0;
  color: #4d6068;
  font-size: 12px;
}

.selected-close {
  position: absolute;
  top: -4px;
  right: -2px;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #51656d;
  font-size: 18px;
  cursor: pointer;
}

.rail-module {
  border: 1px solid var(--rail-line);
  border-radius: 8px;
  padding: 12px;
  background: #ffffff;
}

.rail-module-title {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.rail-module-title b {
  color: #52666d;
  font-size: 12px;
  text-transform: uppercase;
}

.rail-risk-readout {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 7px;
}

.rail-risk-readout strong {
  color: var(--navy-0);
  font-size: 24px;
}

.rail-risk-readout span {
  border-radius: 5px;
  padding: 4px 8px;
  background: #e8f1fb;
  color: var(--blue-0);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.rail-risk-readout span.high {
  background: #ffe5e5;
  color: var(--red-0);
}

.rail-risk-readout span.elevated {
  background: #fff0d9;
  color: #9a5b00;
}

.rail-risk-readout span.low {
  background: #e4f5e6;
  color: var(--green-0);
}

.rail-trend {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: #52666d;
  font-size: 12px;
}

.risk-scale {
  position: relative;
  height: 9px;
  margin-top: 12px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--green-0) 0 28%, var(--amber-0) 28% 62%, #ef6f00 62% 78%, var(--red-0) 78% 100%);
}

.risk-scale i {
  position: absolute;
  top: -5px;
  width: 0;
  height: 0;
  border-right: 6px solid transparent;
  border-bottom: 12px solid var(--navy-0);
  border-left: 6px solid transparent;
  transform: translateX(-50%);
}

.risk-scale-labels {
  display: flex;
  justify-content: space-between;
  margin-top: 6px;
  color: #617278;
  font-size: 12px;
  font-weight: 700;
}

.rail-split {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 0;
}

.rail-split .detail-stat {
  min-height: 72px;
  border: 0;
  border-left: 1px solid var(--rail-line);
  border-radius: 0;
  padding: 12px;
  background: transparent;
  box-shadow: none;
}

.rail-split .detail-stat:first-child {
  border-left: 0;
}

.rail-split .detail-stat b {
  color: var(--navy-0);
  font-size: 18px;
}

.rail-split .detail-stat span {
  color: #617278;
  font-size: 12px;
  text-transform: uppercase;
}

.rail-bar {
  display: grid;
  gap: 5px;
  margin-top: 8px;
}

.rail-bar div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.rail-bar i {
  display: block;
  overflow: hidden;
  height: 6px;
  border-radius: 999px;
  background: #e6eef1;
}

.rail-bar b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--blue-0);
}

.rail-bar.high b {
  background: var(--red-0);
}

.rail-bar.elevated b {
  background: var(--amber-0);
}

.rail-bar.low b {
  background: var(--green-0);
}

.record-breakdown p {
  margin: 10px 0 0;
  color: #52666d;
  font-size: 12px;
  line-height: 1.35;
}

.recent-files {
  display: grid;
  gap: 8px;
}

.recent-files article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 8px;
  border-bottom: 1px solid #edf3f5;
  padding-bottom: 6px;
}

.recent-files article:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.recent-files strong {
  color: var(--navy-0);
  font-size: 12px;
}

.recent-files i {
  grid-column: 1 / -1;
  color: #617278;
  font-size: 12px;
  font-style: normal;
}

.full-dossier-action {
  min-height: 44px;
  border: 0;
  border-radius: 7px;
  background: linear-gradient(180deg, #153040, #0c2230);
  color: #ffffff;
  font-weight: 800;
  cursor: pointer;
}

.selected-brief-list {
  display: grid;
  gap: 5px;
  color: #60737a;
  font-size: 12px;
}

.supporting-board-summary {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

.command-center {
  display: block;
}

.command-context-block {
  display: grid;
  grid-template-columns: minmax(320px, 0.9fr) minmax(320px, 1.1fr) minmax(330px, 0.9fr) minmax(220px, 0.55fr);
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--rail-line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: var(--soft-shadow);
}

.command-context-block > * {
  border-left: 1px solid var(--rail-line);
  padding: 13px 16px;
}

.command-context-block > *:first-child {
  border-left: 0;
}

.command-context-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.command-context-metrics .detail-stat {
  min-height: 0;
  border: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.command-context-metrics .detail-stat b {
  color: var(--red-0);
  font-size: 20px;
}

.command-context-metrics .detail-stat span {
  color: #52666d;
  font-size: 12px;
  text-transform: uppercase;
}

.risk-distribution {
  display: grid;
  gap: 7px;
}

.risk-distribution-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.risk-distribution-head strong {
  overflow: hidden;
  color: #52666d;
  font-size: 12px;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.risk-distribution-bar {
  display: flex;
  overflow: hidden;
  height: 12px;
  border-radius: 999px;
  background: #e7eef0;
}

.risk-distribution-bar i.high {
  background: var(--red-0);
}

.risk-distribution-bar i.elevated {
  background: var(--amber-0);
}

.risk-distribution-bar i.watch {
  background: var(--blue-0);
}

.risk-distribution-bar i.low {
  background: var(--green-0);
}

.risk-distribution-labels {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  color: #52666d;
  font-size: 12px;
}

.method-links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  align-content: center;
}

.method-links button {
  min-height: 34px;
  border: 1px solid #ccd9dd;
  border-radius: 6px;
  background: #f6fafb;
  color: var(--navy-0);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.refresh-stamp {
  display: grid;
  align-content: center;
  gap: 6px;
}

.refresh-stamp strong {
  color: var(--navy-0);
  font-size: 13px;
}

.claim-banner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  margin: 0;
  background: rgba(255, 255, 255, 0.9);
}

@media (max-width: 1320px) {
  .dossier-workbench {
    grid-template-columns: 230px minmax(0, 1fr);
  }

  .dossier-rail-panel {
    grid-column: 1 / -1;
  }

  .dossier-rail-stack {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: start;
  }

  .selected-player-card,
  .full-dossier-action,
  .selected-brief-list {
    grid-column: 1 / -1;
  }

  .rail-split,
  .availability-overview,
  .record-breakdown,
  .recent-files {
    min-height: 100%;
  }

  .command-context-block {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .command-context-block > * {
    border-top: 1px solid var(--rail-line);
  }

  .command-context-block > *:nth-child(-n + 2) {
    border-top: 0;
  }

  .command-context-block > *:nth-child(odd) {
    border-left: 0;
  }
}

@media (max-width: 960px) {
  .topbar {
    align-items: stretch;
    flex-direction: column;
  }

  .topbar-ops {
    grid-template-columns: 1fr;
  }

  .topbar-panel {
    min-width: 0;
  }

  .dossier-workbench {
    grid-template-columns: 1fr;
  }

  .dossier-picker-panel,
  .dossier-main-panel,
  .dossier-rail-panel {
    grid-column: auto;
  }

  .dossier-main-panel {
    order: 1;
    min-height: 0;
  }

  .dossier-rail-panel {
    order: 2;
  }

  .dossier-picker-panel {
    order: 3;
  }

  .dossier-picker-controls {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .filter-save-action {
    grid-column: 1 / -1;
  }

  .workbench-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-metric-card:last-child {
    grid-column: 1 / -1;
  }

  .dossier-rail-stack {
    grid-template-columns: 1fr;
  }

  .rail-split {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .command-context-block {
    grid-template-columns: 1fr;
  }

  .command-context-block > * {
    border-top: 1px solid var(--rail-line);
    border-left: 0;
  }

  .command-context-block > *:first-child {
    border-top: 0;
  }
}

@media (max-width: 720px) {
  .topbar {
    min-height: 0;
    padding: 12px;
  }

  .brand h1 {
    font-size: 22px;
  }

  .topbar-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .topbar-action {
    border-top: 0;
    border-left: 1px solid rgba(130, 185, 195, 0.18);
    padding: 9px 6px;
    font-size: 12px;
  }

  .topbar-action:first-child {
    border-left: 0;
  }

  .shell {
    padding: 8px 10px 28px;
  }

  .tabs {
    padding: 0 8px;
  }

  .dossier-picker-controls {
    grid-template-columns: 1fr;
  }

  .workbench-hero,
  .workbench-metrics,
  .workbench-section {
    padding-right: 12px;
    padding-left: 12px;
  }

  .workbench-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-metric-card {
    min-height: 74px;
    padding: 12px 10px 11px 42px;
  }

  .dashboard-metric-card::before {
    top: 16px;
    left: 12px;
    width: 20px;
    height: 20px;
  }

  .dashboard-metric-card strong {
    font-size: 19px;
  }

  .dashboard-metric-card p {
    font-size: 12px;
  }

  .analyst-table-wrap {
    display: none !important;
  }

  .analyst-mobile-list {
    display: grid;
    gap: 8px;
  }

  .analyst-mobile-item {
    grid-template-columns: 26px 40px minmax(0, 1fr);
    min-height: 76px;
  }

  .mobile-player-signals {
    grid-column: 3;
    justify-items: start;
  }

  .selected-player-card {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  .selected-player-card .pill {
    grid-column: 2;
    justify-self: start;
  }

  .rail-split {
    grid-template-columns: 1fr;
  }

  .rail-split .detail-stat {
    border-top: 1px solid var(--rail-line);
    border-left: 0;
  }

  .rail-split .detail-stat:first-child {
    border-top: 0;
  }

  .command-context-metrics,
  .method-links,
  .risk-distribution-labels,
  .claim-banner {
    grid-template-columns: 1fr;
  }

  .claim-badges {
    justify-content: flex-start;
  }
}

/* Availability intelligence product redesign */
:root {
  --bg-canvas: #050914;
  --bg-surface: #0f172a;
  --bg-surface-2: #111c34;
  --border-subtle: #334155;
  --text-primary: #f1f5f9;
  --text-secondary: #cbd5e1;
  --text-muted: #94a3b8;
  --accent-ice: #38bdf8;
  --accent-ice-strong: #0ea5e9;
  --risk-high: #ef4444;
  --risk-elevated: #f59e0b;
  --risk-watch: #eab308;
  --risk-low: #22c55e;
  --focus-ring: #7dd3fc;
  --success: #22c55e;
  --warning: #f59e0b;
  --danger: #ef4444;
  --pdl-bg: #050b10;
  --pdl-bg-2: #08141c;
  --pdl-panel: rgba(11, 25, 34, 0.86);
  --pdl-panel-strong: rgba(15, 32, 43, 0.96);
  --pdl-panel-soft: rgba(22, 45, 58, 0.78);
  --pdl-line: rgba(164, 203, 218, 0.16);
  --pdl-line-strong: rgba(164, 203, 218, 0.28);
  --pdl-ice: #dceff5;
  --pdl-muted: #87a3ae;
  --pdl-faint: #55717c;
  --pdl-accent: #78d7ee;
  --pdl-accent-2: #2d9cba;
  --pdl-green: #48b96d;
  --pdl-yellow: #d2b64b;
  --pdl-orange: #db8435;
  --pdl-red: #d94b4b;
  --pdl-number: "SFMono-Regular", "Roboto Mono", "Cascadia Mono", Consolas, monospace;
  --pdl-radius: 8px;
  --pdl-shadow: 0 22px 60px rgba(0, 0, 0, 0.34);
  --pdl-glow: 0 0 0 1px rgba(120, 215, 238, 0.12), 0 18px 42px rgba(0, 0, 0, 0.24);
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  padding: 0 !important;
  margin: -1px !important;
}

body {
  background:
    linear-gradient(90deg, rgba(120, 215, 238, 0.035) 1px, transparent 1px) 0 0 / 72px 72px,
    linear-gradient(180deg, #06111a 0, var(--pdl-bg) 42%, #04080c 100%);
  color: var(--pdl-ice);
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 50;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.55fr);
  gap: 16px;
  align-items: center;
  min-height: 76px;
  overflow: visible;
  border-bottom: 1px solid var(--pdl-line-strong);
  padding: 10px clamp(16px, 2vw, 30px);
  background: rgba(5, 11, 16, 0.94);
  backdrop-filter: blur(18px);
}

.topbar::before {
  opacity: 0.28;
}

.topbar::after {
  right: 0;
  left: 0;
  height: 2px;
  border-radius: 0;
  background: linear-gradient(90deg, var(--pdl-accent), var(--pdl-green), var(--pdl-yellow), var(--pdl-orange), var(--pdl-red));
}

.topbar-primary,
.topbar-tools {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 16px;
  align-items: center;
  min-width: 0;
}

.brand {
  flex: 0 0 auto;
}

.brand-mark {
  width: 48px;
  height: 48px;
  border-radius: var(--pdl-radius);
  background: linear-gradient(135deg, #102d3a, #0c5567);
  clip-path: none;
  box-shadow: inset 0 0 0 1px rgba(220, 239, 245, 0.26);
}

.brand-mark b {
  color: #ffffff;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}

.brand-mark i {
  display: none;
}

.brand p {
  color: var(--pdl-accent);
  font-size: 12px;
  letter-spacing: 0;
}

.brand h1 {
  color: #ffffff;
  font-size: 18px;
}

.topbar .tabs {
  display: flex;
  gap: 2px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  border: 1px solid var(--pdl-line);
  border-radius: var(--pdl-radius);
  padding: 4px;
  background: rgba(11, 25, 34, 0.7);
}

.topbar .tab {
  flex: 0 0 auto;
  min-height: 34px;
  border: 0;
  border-radius: 6px;
  padding: 8px 10px;
  color: var(--pdl-muted);
  background: transparent;
  font-size: 12px;
  text-transform: none;
  white-space: nowrap;
}

.topbar .tab:hover,
.topbar .tab.is-active {
  color: #ffffff;
  background: rgba(120, 215, 238, 0.13);
  box-shadow: inset 0 0 0 1px rgba(120, 215, 238, 0.22);
}

.topbar-tools {
  justify-content: flex-end;
}

.topbar-search {
  position: relative;
  width: min(320px, 34vw);
}

.topbar-search label,
.filter-bar label,
.toolbar label,
.advanced-filters label {
  color: var(--pdl-muted);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.topbar-search input,
.filter-bar input,
.filter-bar select,
.toolbar input,
.toolbar select,
.advanced-filters select {
  border-color: var(--pdl-line-strong);
  background: rgba(3, 10, 15, 0.68);
  color: var(--pdl-ice);
}

.global-search-results {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  left: 0;
  z-index: 80;
  overflow: hidden;
  border: 1px solid var(--pdl-line-strong);
  border-radius: var(--pdl-radius);
  background: rgba(7, 17, 25, 0.98);
  box-shadow: var(--pdl-shadow);
}

.global-search-results button {
  width: 100%;
  border: 0;
  border-top: 1px solid var(--pdl-line);
  padding: 10px 12px;
  background: transparent;
  color: var(--pdl-ice);
  text-align: left;
  cursor: pointer;
}

.global-search-results button:first-child {
  border-top: 0;
}

.global-search-results button:hover {
  background: rgba(120, 215, 238, 0.1);
}

.global-search-results span {
  display: block;
  color: var(--pdl-muted);
  font-size: 12px;
}

.topbar-action,
.filter-save-action,
.secondary-action,
.share-action {
  border: 1px solid var(--pdl-line-strong);
  border-radius: var(--pdl-radius);
  background: rgba(120, 215, 238, 0.1);
  color: var(--pdl-ice);
  font-weight: 700;
}

.topbar-action {
  min-height: 36px;
  white-space: nowrap;
}

.topbar-panel {
  min-width: 160px;
  max-width: 220px;
  border-color: var(--pdl-line);
  border-radius: var(--pdl-radius);
  background: rgba(11, 25, 34, 0.72);
}

.topbar-panel span,
.topbar-meta {
  color: var(--pdl-muted);
}

.topbar-meta {
  display: block;
  overflow: hidden;
  max-width: clamp(120px, 12vw, 190px);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.shell {
  max-width: 1680px;
  padding: 18px clamp(14px, 2vw, 26px) 42px;
}

.site-command-bar {
  display: none;
}

.product-hero,
.snapshot-grid,
.overview-chart-grid,
.dossier-workbench,
.supporting-board-summary {
  margin-bottom: 12px;
}

.product-hero {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--pdl-line);
  border-radius: var(--pdl-radius);
  background:
    linear-gradient(90deg, rgba(120, 215, 238, 0.12), transparent 44%),
    linear-gradient(135deg, rgba(13, 31, 43, 0.96), rgba(6, 17, 26, 0.96));
  box-shadow: var(--pdl-glow);
}

.product-hero::after {
  content: "";
  position: absolute;
  right: 24px;
  bottom: 18px;
  width: min(34vw, 420px);
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(120, 215, 238, 0.52));
}

.console-heading {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 0.28fr);
  gap: 22px;
  align-items: end;
  min-height: 210px;
  padding: clamp(24px, 4vw, 54px);
}

.console-heading h2 {
  max-width: 760px;
  color: #ffffff;
  font-size: clamp(36px, 5vw, 72px);
  line-height: 0.98;
}

.console-heading p:not(.eyebrow) {
  max-width: 760px;
  color: var(--pdl-muted);
  font-size: clamp(15px, 1.35vw, 19px);
}

.console-heading aside {
  display: grid;
  gap: 8px;
  border: 1px solid var(--pdl-line);
  border-radius: var(--pdl-radius);
  padding: 14px;
  background: rgba(3, 10, 15, 0.54);
}

.console-heading aside strong {
  color: var(--pdl-accent);
  font-family: var(--pdl-number);
  font-size: 18px;
}

.console-heading aside span {
  color: var(--pdl-muted);
  font-size: 12px;
}

.hero-use-guide {
  display: grid;
  gap: 6px;
  margin: 10px 0 0;
  padding-left: 18px;
  color: var(--pdl-muted);
  font-size: 12px;
  line-height: 1.35;
}

.hero-trust-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}

.hero-trust-actions button {
  min-height: 32px;
  border: 1px solid var(--pdl-line);
  border-radius: var(--pdl-radius-sm);
  padding: 6px 10px;
  background: rgba(120, 215, 238, 0.08);
  color: var(--pdl-ice);
  font-size: 12px;
  font-weight: 700;
}

.eyebrow {
  color: var(--pdl-accent);
}

.trust-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}

.trust-chips span {
  border: 1px solid var(--pdl-line-strong);
  border-radius: 999px;
  padding: 6px 10px;
  background: rgba(120, 215, 238, 0.08);
  color: var(--pdl-ice);
  font-size: 12px;
  font-weight: 700;
}

.snapshot-grid,
.workbench-metrics {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  padding: 0;
  background: transparent;
}

.dashboard-metric-card {
  min-height: 118px;
  border: 1px solid var(--pdl-line);
  border-radius: var(--pdl-radius);
  padding: 15px;
  background: var(--pdl-panel);
  box-shadow: none;
}

.dashboard-metric-card::before {
  display: none;
}

.dashboard-metric-card span {
  color: var(--pdl-muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.dashboard-metric-card strong {
  color: #ffffff;
  font-family: var(--pdl-number);
  font-size: 24px;
  line-height: 1.05;
}

.dashboard-metric-card p {
  color: var(--pdl-faint);
  font-size: 12px;
}

.dashboard-metric-card.review {
  border-color: rgba(210, 182, 75, 0.32);
}

.dashboard-metric-card.cap,
.dashboard-metric-card.movement {
  border-color: rgba(219, 132, 53, 0.34);
}

.dashboard-metric-card.record,
.dashboard-metric-card.updated {
  border-color: rgba(120, 215, 238, 0.26);
}

.dossier-workbench {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(360px, 0.55fr);
  gap: 12px;
  align-items: start;
}

.panel,
.risk-board-panel,
.dossier-rail-panel,
.chart-card,
.claim-banner,
.command-context-block,
.method-intro-panel,
.trust-panel,
.gate-timeline-panel,
.data-download-panel,
.data-ceiling-panel,
.qa-panel {
  border: 1px solid var(--pdl-line);
  border-radius: var(--pdl-radius);
  background: var(--pdl-panel);
  color: var(--pdl-ice);
  box-shadow: none;
}

.panel-title {
  border-bottom: 1px solid var(--pdl-line);
  padding: 16px;
}

.panel-title h2,
.panel-title h3,
.section-heading h3 {
  color: #ffffff;
}

.panel-title p {
  margin: 5px 0 0;
  color: var(--pdl-muted);
  font-size: 12px;
}

.panel-title span,
.section-heading span,
.rail-module-title span,
.brief-kicker {
  color: var(--pdl-accent);
}

.filter-bar {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto minmax(120px, 0.35fr) minmax(120px, 0.3fr) minmax(150px, 0.38fr) auto;
  gap: 10px;
  align-items: end;
  border-bottom: 1px solid var(--pdl-line);
  padding: 12px 16px;
  background: rgba(3, 10, 15, 0.26);
}

.filter-bar label,
.advanced-filters div {
  display: grid;
  gap: 6px;
}

.tier-chip-group {
  display: flex;
  gap: 6px;
  align-items: center;
  min-height: 36px;
}

.tier-chip {
  min-height: 34px;
  border: 1px solid var(--pdl-line);
  border-radius: 999px;
  padding: 6px 10px;
  background: rgba(255, 255, 255, 0.03);
  color: var(--pdl-muted);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.tier-chip.is-active {
  color: #ffffff;
  border-color: var(--pdl-accent);
  background: rgba(120, 215, 238, 0.14);
}

.tier-chip.high.is-active {
  border-color: var(--pdl-red);
}

.tier-chip.elevated.is-active {
  border-color: var(--pdl-orange);
}

.tier-chip.watch.is-active {
  border-color: var(--pdl-yellow);
}

.tier-chip.low.is-active {
  border-color: var(--pdl-green);
}

.sort-header-button {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 800;
  text-transform: uppercase;
  cursor: pointer;
}

th[aria-sort="descending"] .sort-header-button {
  color: #ffffff;
}

th[aria-sort="descending"] .sort-header-button::after {
  content: "↓";
  color: var(--pdl-accent);
  font-family: var(--pdl-number);
}

.empty-state {
  display: grid;
  gap: 12px;
  justify-items: start;
  border: 1px solid var(--pdl-line);
  border-radius: var(--pdl-radius);
  padding: 18px;
  background: rgba(3, 10, 15, 0.32);
}

.advanced-filters {
  position: relative;
}

.advanced-filters summary {
  min-height: 36px;
  border: 1px solid var(--pdl-line-strong);
  border-radius: var(--pdl-radius);
  padding: 9px 11px;
  color: var(--pdl-ice);
  background: rgba(120, 215, 238, 0.08);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.advanced-filters div {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 30;
  width: 240px;
  border: 1px solid var(--pdl-line-strong);
  border-radius: var(--pdl-radius);
  padding: 12px;
  background: rgba(7, 17, 25, 0.98);
  box-shadow: var(--pdl-shadow);
}

.workbench-section {
  padding: 14px 16px 16px;
}

.analyst-table-wrap,
.table-wrap {
  max-height: 610px;
  border-color: var(--pdl-line);
  background: rgba(3, 10, 15, 0.36);
}

.analyst-table {
  min-width: 920px;
}

thead th,
.analyst-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  border-bottom: 1px solid var(--pdl-line);
  background: rgba(13, 31, 43, 0.98);
  color: var(--pdl-muted);
}

td,
th,
.analyst-table td {
  border-color: var(--pdl-line);
  color: var(--pdl-ice);
}

.subtle,
.analyst-player-meta,
.trend-cell span {
  color: var(--pdl-muted);
}

.board-row,
.analyst-row {
  background: transparent;
}

tbody tr:hover,
.analyst-row.is-selected,
.analyst-mobile-item.is-selected,
.player-card.is-selected {
  background: rgba(120, 215, 238, 0.09);
}

.board-metric strong,
.trend-cell strong,
.rail-risk-readout strong,
.detail-stat b {
  color: #ffffff;
  font-family: var(--pdl-number);
}

.team-badge,
.team-code {
  color: var(--pdl-ice);
}

.pill.high {
  background: var(--pdl-red);
}

.pill.elevated {
  background: var(--pdl-orange);
}

.pill.watch {
  background: var(--pdl-yellow);
  color: #12170d;
}

.pill.low {
  background: var(--pdl-green);
}

.dossier-rail-stack {
  padding: 12px;
}

.selected-player-card {
  grid-template-columns: 74px minmax(0, 1fr) auto;
  border-bottom-color: var(--pdl-line);
}

.selected-player-card strong {
  color: #ffffff;
}

.selected-player-card p,
.selected-brief-list,
.record-breakdown p,
.recent-files i {
  color: var(--pdl-muted);
}

.selected-close {
  width: auto;
  height: auto;
  border: 1px solid var(--pdl-line);
  border-radius: 999px;
  padding: 4px 8px;
  color: var(--pdl-muted);
  background: rgba(255, 255, 255, 0.03);
  font-size: 12px;
  font-weight: 800;
}

.rail-module {
  border-color: var(--pdl-line);
  background: rgba(3, 10, 15, 0.34);
}

.rail-risk-readout span {
  background: rgba(120, 215, 238, 0.12);
  color: var(--pdl-accent);
}

.rail-risk-readout span.high {
  background: rgba(217, 75, 75, 0.16);
  color: #ff9a9a;
}

.rail-risk-readout span.elevated {
  background: rgba(219, 132, 53, 0.16);
  color: #ffc083;
}

.rail-risk-readout span.low {
  background: rgba(72, 185, 109, 0.16);
  color: #95e5ad;
}

.risk-scale {
  background: linear-gradient(90deg, var(--pdl-green) 0 28%, var(--pdl-yellow) 28% 58%, var(--pdl-orange) 58% 78%, var(--pdl-red) 78% 100%);
}

.risk-scale i {
  border-bottom-color: #ffffff;
}

.risk-scale-labels,
.rail-trend,
.rail-module-title b,
.recent-files span {
  color: var(--pdl-muted);
}

.rail-split .detail-stat {
  border-left-color: var(--pdl-line);
}

.rail-bar i {
  background: rgba(220, 239, 245, 0.12);
}

.rail-bar b {
  background: var(--pdl-accent);
}

.dossier-review-checks .next-checks {
  grid-template-columns: 1fr;
  gap: 8px;
}

.next-checks article {
  border: 1px solid var(--pdl-line);
  border-radius: var(--pdl-radius);
  background: rgba(255, 255, 255, 0.03);
}

.full-dossier-action {
  background: linear-gradient(180deg, #15556a, #0c3445);
}

.overview-chart-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 12px;
}

.exposure-brief,
.availability-visuals,
.team-boardroom,
.trade-market-brief,
.episode-impact-brief,
.method-grid,
.data-status-grid,
.data-artifact-list,
.data-ceiling-list,
.qa-checklist {
  color: var(--pdl-ice);
}

.exposure-stack-card,
.claim-panel,
.exposure-leaders,
.body-figure,
.region-list article,
.season-timeline article,
.insight-card,
.metric,
.status-item,
.ceiling-card,
.glossary-card,
.artifact-link,
.team-readout article,
.trade-readout article,
.episode-readout article {
  border-color: var(--pdl-line);
  background: rgba(3, 10, 15, 0.32);
  color: var(--pdl-ice);
}

.exposure-stack-card > strong,
.episode-readout strong,
.trade-readout strong,
.team-readout strong,
.insight-card strong,
.metric b,
.status-item strong,
.glossary-card strong,
.ceiling-card strong,
.artifact-link strong {
  color: #ffffff;
}

.exposure-stack-card > span,
.claim-row p,
.status-item p,
.insight-card p,
.glossary-card p,
.ceiling-card p,
.artifact-link span {
  color: var(--pdl-muted);
}

.command-context-block {
  grid-template-columns: minmax(280px, 0.8fr) minmax(320px, 1.1fr) minmax(280px, 0.8fr) minmax(210px, 0.5fr);
  overflow: hidden;
}

.command-context-block > * {
  border-left-color: var(--pdl-line);
}

.method-links button {
  border-color: var(--pdl-line);
  background: rgba(120, 215, 238, 0.08);
  color: var(--pdl-ice);
}

.refresh-stamp strong {
  color: #ffffff;
}

.claim-banner {
  background: var(--pdl-panel);
}

.toolbar,
.board-actions,
.player-layout,
.two-column,
.trade-grid {
  gap: 12px;
}

.toolbar {
  border: 1px solid var(--pdl-line);
  border-radius: var(--pdl-radius);
  padding: 12px;
  background: rgba(11, 25, 34, 0.74);
}

.board-actions.toolbar-more {
  border: 1px solid var(--pdl-line);
  border-radius: var(--pdl-radius);
  padding: 0;
  background: rgba(11, 25, 34, 0.74);
}

.board-actions.toolbar-more summary {
  border: 0;
  color: var(--pdl-ice);
}

.board-actions .toolbar-more-grid {
  border-top: 1px solid var(--pdl-line);
  padding: 12px;
}

.board-actions .segmented-control,
.board-actions .filter-presets {
  align-self: end;
}

#tab-players .dossier-panel {
  display: block;
}

.trust-rail {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.trust-rail article {
  display: grid;
  gap: 6px;
  min-height: 104px;
  border: 1px solid var(--pdl-line);
  border-radius: var(--pdl-radius);
  padding: 12px;
  background: rgba(120, 215, 238, 0.06);
}

.trust-rail span {
  display: inline-grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border: 1px solid rgba(34, 197, 94, 0.42);
  border-radius: 999px;
  color: var(--pdl-success);
  font-size: 12px;
}

.trust-rail strong {
  color: var(--pdl-ice);
}

.trust-rail p {
  margin: 0;
  color: var(--pdl-muted);
  font-size: 12px;
  line-height: 1.45;
}

.player-card,
.compare-card,
.mobile-card,
.episode-hero-card,
.episode-leader-card {
  border-color: var(--pdl-line);
  background: var(--pdl-panel);
  color: var(--pdl-ice);
}

.player-avatar,
.player-portrait {
  border-color: var(--pdl-line);
  background: linear-gradient(180deg, #102532, #07141d);
  color: var(--pdl-accent);
}

.skeleton,
.skeleton-line {
  position: relative;
  overflow: hidden;
  border-color: var(--pdl-line);
  background:
    linear-gradient(90deg, transparent, rgba(120, 215, 238, 0.16), transparent),
    linear-gradient(135deg, rgba(18, 41, 54, 0.92), rgba(8, 19, 28, 0.92));
  background-size: 220% 100%, 100% 100%;
  animation: pulse 1.4s ease-in-out infinite;
}

.skeleton-line {
  display: inline-block;
  width: min(180px, 70%);
  height: 12px;
  border-radius: 999px;
}

.skeleton-line.short {
  width: 72px;
}

.skeleton-row td {
  height: 54px;
  color: var(--pdl-muted);
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
.tab:focus-visible,
tr[tabindex]:focus-visible,
[data-player-id]:focus-visible,
[data-tab]:focus-visible,
.sort-header-button:focus-visible,
.tier-chip:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
  box-shadow: 0 0 0 4px rgba(125, 211, 252, 0.18);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }

  .skeleton,
  .skeleton-line {
    animation: none;
  }
}

html body .topbar .tab,
html body :is(#tab-overview, #tab-players, #tab-teams, #tab-contracts, #tab-absences, #tab-method, #tab-data)
  :where(span, label, small, th, td, button, summary, a, i, b, em, input, select) {
  font-size: 14px !important;
}

html body #tab-overview .full-dossier-action {
  border-color: #7b718f !important;
  background: #fff !important;
  color: var(--violet-deep) !important;
}

html body #tab-overview .analyst-player-meta {
  max-width: none !important;
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
}

html body #tab-data .artifact-link span {
  max-width: none !important;
  overflow: visible !important;
  white-space: normal !important;
  word-break: break-word !important;
  text-overflow: clip !important;
}

html body #tab-players .dossier-brief-meta span,
html body #tab-players .availability-curve-card.dossier .curve-head b.elevated,
html body #tab-method .board-row .board-metric > span:last-child {
  font-size: 14px !important;
}

.player-full-file,
.data-downloads-disclosure,
.method-disclosure,
.data-limits-disclosure {
  border: 0 !important;
}

.player-full-file > summary,
.data-downloads-disclosure > summary,
.method-disclosure > summary,
.data-limits-disclosure > summary {
  display: flex !important;
  min-height: 56px !important;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  cursor: pointer;
  border: 1px solid var(--line) !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: var(--violet-deep) !important;
  padding: 14px 16px !important;
  list-style-position: inside;
}

.player-full-file > summary span,
.data-downloads-disclosure > summary span,
.method-disclosure > summary span,
.data-limits-disclosure > summary span {
  color: var(--violet-deep) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}

.player-full-file > summary small,
.data-downloads-disclosure > summary small,
.method-disclosure > summary small,
.data-limits-disclosure > summary small {
  color: var(--ink-muted) !important;
  font-weight: 500 !important;
}

.player-full-file[open] > summary,
.data-downloads-disclosure[open] > summary,
.method-disclosure[open] > summary,
.data-limits-disclosure[open] > summary {
  border-color: #a8a0bd !important;
  background: var(--violet-soft) !important;
}

.player-full-file-body,
.data-downloads-disclosure .data-artifact-list,
.method-disclosure-body,
.data-limits-disclosure .data-ceiling-list {
  margin-top: 18px !important;
}

.player-full-file:not([open]) > .player-full-file-body,
.data-downloads-disclosure:not([open]) > .data-artifact-list,
.method-disclosure:not([open]) > .method-disclosure-body,
.data-limits-disclosure:not([open]) > .data-ceiling-list {
  display: none !important;
}

/* Hidden runtime hooks must stay out of the rendered interface. */
html body [hidden] {
  display: none !important;
}

/* Keep the desktop priority board level with the selected-player read. */
@media (min-width: 1101px) {
  #tab-overview .dossier-workbench {
    align-items: stretch !important;
  }

  #tab-overview .dossier-main-panel {
    display: flex !important;
    align-self: stretch !important;
    flex-direction: column;
  }

  #tab-overview .dossier-rail-panel {
    align-self: start !important;
  }

  #tab-overview .dossier-main-panel > .workbench-section:not([hidden]),
  #tab-overview #workbenchTimeline {
    display: flex !important;
    min-height: 0;
    flex: 1 1 0;
    flex-direction: column;
  }

  #tab-overview .analyst-table-wrap {
    height: 0;
    min-height: 0 !important;
    max-height: none !important;
    flex: 1 1 0;
  }
}

@media (max-width: 1280px) {
  .topbar {
    grid-template-columns: 1fr;
  }

  .topbar-tools {
    justify-content: stretch;
  }

  .topbar-search {
    width: min(420px, 100%);
  }

  .snapshot-grid,
  .workbench-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .dossier-workbench,
  .overview-chart-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 860px) {
  .topbar-primary,
  .topbar-tools {
    align-items: stretch;
    flex-direction: column;
  }

  .topbar-search,
  .topbar-panel {
    width: 100%;
    min-width: 0;
  }

  .console-heading {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .snapshot-grid,
  .workbench-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .filter-bar {
    grid-template-columns: 1fr;
  }

  .tier-chip-group {
    flex-wrap: wrap;
  }

  .advanced-filters div {
    position: fixed;
    top: auto;
    right: 10px;
    bottom: 10px;
    left: 10px;
    z-index: 110;
    width: auto;
    max-width: calc(100vw - 20px);
    max-height: min(70vh, 420px);
    margin-top: 0;
    overflow: auto;
    box-shadow: var(--pdl-shadow);
  }

  .command-context-block {
    grid-template-columns: 1fr;
  }

  .trust-rail {
    grid-template-columns: 1fr;
  }

  .command-context-block > * {
    border-top: 1px solid var(--pdl-line);
    border-left: 0;
  }

  .command-context-block > *:first-child {
    border-top: 0;
  }

}

@media (max-width: 720px) {
  body.overview-dossier-open {
    overflow: hidden;
  }

  body.overview-dossier-open::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 90;
    background: rgba(0, 0, 0, 0.58);
  }

  .dossier-rail-panel {
    position: fixed;
    right: 10px;
    bottom: 10px;
    left: 10px;
    z-index: 100;
    max-height: min(82vh, 720px);
    overflow: auto;
    transform: translateY(calc(100% + 24px));
    pointer-events: none;
    transition: transform 180ms ease;
  }

  body.overview-dossier-open .dossier-rail-panel {
    transform: translateY(0);
    pointer-events: auto;
  }
}

@media (max-width: 560px) {
  .shell {
    padding: 12px 10px 30px;
  }

  .console-heading {
    padding: 22px 16px;
  }

  .console-heading h2 {
    font-size: 36px;
  }

  .snapshot-grid,
  .workbench-metrics {
    grid-template-columns: 1fr;
  }

  .selected-player-card {
    grid-template-columns: 58px minmax(0, 1fr);
  }

  .selected-player-card .pill {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .rail-split {
    grid-template-columns: 1fr;
  }
}

/* Imagegen reference alignment pass */
@media (min-width: 1024px) {
  .shell {
    max-width: none;
    padding-inline: 12px;
  }

  .topbar-search {
    display: none;
  }

  .topbar {
    grid-template-columns: minmax(520px, 1fr) auto;
  }

  .topbar-tools {
    justify-content: end;
  }

  .product-hero {
    margin-top: 10px;
  }

  .console-heading {
    min-height: 228px;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.28fr);
    align-items: center;
  }

  .console-heading h2 {
    font-size: clamp(44px, 3.8vw, 64px);
  }

  .dossier-workbench {
    grid-template-columns: minmax(220px, 0.22fr) minmax(620px, 1fr) minmax(350px, 0.38fr);
  }
}

.filter-rail-panel {
  position: sticky;
  top: 88px;
  align-self: start;
  overflow: visible;
}

.filter-rail-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--pdl-line);
  padding: 16px;
}

.filter-rail-title h2 {
  margin: 0;
  color: #ffffff;
  font-size: 18px;
}

.filter-rail-title span {
  color: var(--pdl-accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.filter-rail-panel .filter-bar {
  grid-template-columns: 1fr;
  align-items: stretch;
  border-bottom: 0;
  padding: 14px;
  background: transparent;
}

.filter-rail-panel .tier-chip-group {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.filter-rail-panel .tier-chip:first-child {
  grid-column: 1 / -1;
}

.filter-rail-panel .advanced-filters div {
  right: auto;
  left: 0;
  width: min(260px, calc(100vw - 32px));
}

.board-panel-title h2 {
  font-size: 20px;
}

.analyst-table tbody tr,
.analyst-table tbody tr:nth-child(even),
.analyst-table tbody tr:nth-child(odd) {
  background: rgba(3, 12, 18, 0.86);
}

.analyst-table tbody tr:nth-child(even) {
  background: rgba(7, 19, 28, 0.94);
}

.analyst-table tbody tr:hover,
.analyst-table tbody tr.analyst-row.is-selected {
  background: rgba(16, 74, 106, 0.46);
}

.analyst-table td,
.analyst-table th {
  border-color: rgba(120, 215, 238, 0.14);
}

@media (max-width: 1280px) {
  .filter-rail-panel {
    position: static;
  }

  .filter-rail-panel .tier-chip-group {
    display: flex;
  }
}

/* Generated reference parity pass */
.topbar-icon-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  min-width: 0;
}

.topbar-icon-action {
  display: grid;
  justify-items: center;
  gap: 3px;
  min-width: 50px;
  border: 0;
  padding: 4px 2px;
  background: transparent;
  color: var(--pdl-muted);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.topbar-icon-action span {
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  border: 1px solid rgba(220, 239, 245, 0.42);
  border-radius: 6px;
  color: #ffffff;
  font-family: var(--pdl-number);
  font-size: 12px;
}

.topbar-icon-action svg {
  width: 22px;
  height: 22px;
  overflow: visible;
  fill: none;
  stroke: #f7fbff;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 8px rgba(120, 215, 238, 0.16));
}

.topbar-icon-action:hover,
.topbar-icon-action:focus-visible {
  color: #ffffff;
}

.topbar-panel {
  justify-items: start;
  min-width: 184px;
  max-width: 210px;
  padding: 10px 14px;
}

.topbar-panel span {
  position: relative;
  padding-left: 14px;
}

.topbar-panel span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--pdl-green);
  transform: translateY(-50%);
}

.topbar-meta {
  max-width: none;
  text-align: left;
}

.product-hero {
  display: grid;
  gap: 10px;
  padding: 20px 30px 10px;
  background:
    linear-gradient(90deg, rgba(20, 85, 112, 0.4), transparent 58%),
    linear-gradient(135deg, rgba(7, 31, 48, 0.98), rgba(5, 15, 24, 0.97));
}

.product-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 52% -18%, rgba(196, 230, 243, 0.18), transparent 34%),
    linear-gradient(22deg, transparent 0 18%, rgba(196, 230, 243, 0.13) 18.25%, transparent 18.8% 100%),
    linear-gradient(159deg, transparent 0 32%, rgba(145, 205, 229, 0.12) 32.2%, transparent 32.8% 100%),
    linear-gradient(116deg, transparent 0 46%, rgba(220, 239, 245, 0.12) 46.15%, transparent 46.6% 100%),
    linear-gradient(72deg, transparent 0 57%, rgba(120, 215, 238, 0.1) 57.1%, transparent 57.5% 100%),
    repeating-linear-gradient(173deg, transparent 0 46px, rgba(220, 239, 245, 0.055) 47px, transparent 49px);
  opacity: 0.86;
  mix-blend-mode: screen;
}

.product-hero::after {
  content: "";
  position: absolute;
  inset: auto 28px 18px 42%;
  z-index: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(120, 215, 238, 0.5), transparent);
}

.console-heading {
  position: relative;
  z-index: 1;
  min-height: 0;
  align-items: start;
  padding: 0;
}

.console-heading h2 {
  font-size: clamp(32px, 2.4vw, 40px);
  line-height: 1.03;
}

.console-heading p:not(.eyebrow) {
  margin: 6px 0 0;
  font-size: 15px;
}

.console-heading aside {
  align-self: start;
  max-width: 380px;
}

.hero-use-guide,
.hero-trust-actions,
.trust-chips {
  display: none;
}

.product-hero .snapshot-grid {
  position: relative;
  z-index: 1;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
}

.dashboard-metric-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 18px;
  align-content: center;
  min-height: 78px;
  padding: 10px 16px;
}

.dashboard-metric-card::after {
  content: "";
  grid-row: 1 / span 3;
  width: 34px;
  height: 34px;
  border: 2px solid currentColor;
  border-radius: 10px;
  opacity: 0.86;
}

.dashboard-metric-card.players::after {
  border-radius: 999px;
  box-shadow: 15px 0 0 -2px rgba(125, 173, 255, 0.62);
  color: #7dadff;
}

.dashboard-metric-card.review::after {
  clip-path: polygon(50% 0, 63% 34%, 100% 36%, 71% 58%, 82% 100%, 50% 74%, 18% 100%, 29% 58%, 0 36%, 37% 34%);
  border-radius: 0;
  color: var(--pdl-yellow);
}

.dashboard-metric-card.cap::after {
  border-radius: 999px;
  color: #dceff5;
}

.dashboard-metric-card.risk::after {
  border-radius: 999px 999px 12px 12px;
  color: #dceff5;
}

.dashboard-metric-card.record::after {
  border-radius: 4px;
  color: #dceff5;
}

.dashboard-metric-card::after {
  content: none;
}

.dashboard-metric-icon {
  grid-row: 1 / span 3;
  align-self: center;
  width: 46px;
  height: 46px;
  fill: none;
  stroke: #dceff5;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 0.96;
  filter: drop-shadow(0 0 12px rgba(120, 215, 238, 0.16));
}

.dashboard-metric-card.players .dashboard-metric-icon {
  stroke: #7dadff;
}

.dashboard-metric-card.review .dashboard-metric-icon {
  stroke: var(--pdl-yellow);
}

.dashboard-metric-card.cap .dashboard-metric-icon,
.dashboard-metric-card.risk .dashboard-metric-icon,
.dashboard-metric-card.record .dashboard-metric-icon {
  stroke: #dceff5;
}

.dashboard-metric-card span,
.dashboard-metric-card strong,
.dashboard-metric-card p {
  grid-column: 2;
}

.dashboard-metric-card strong {
  font-size: 26px;
}

.dashboard-metric-card p {
  margin: 2px 0 0;
}

.board-command-row {
  display: grid;
  grid-template-columns: minmax(180px, 1.25fr) minmax(90px, 0.52fr) minmax(100px, 0.58fr) minmax(110px, 0.62fr) minmax(150px, 0.82fr) auto auto;
  gap: 8px;
  align-items: center;
  border-bottom: 1px solid var(--pdl-line);
  padding: 10px 12px;
  background: rgba(3, 10, 15, 0.36);
}

.board-command-row label {
  min-width: 0;
}

.board-command-row input,
.board-command-row select {
  min-height: 34px;
  border-color: var(--pdl-line-strong);
  background: rgba(3, 10, 15, 0.68);
  color: var(--pdl-ice);
  font-size: 12px;
}

.board-more-filters summary,
.board-copy-action {
  min-height: 34px;
  white-space: nowrap;
}

.board-more-filters div {
  width: 260px;
}

.filter-rail-panel .filter-bar {
  gap: 12px;
}

.filter-rail-panel .tier-chip-group {
  display: grid;
  grid-template-columns: 1fr;
  gap: 7px;
}

.filter-rail-panel .tier-chip,
.filter-rail-panel .tier-chip:first-child {
  position: relative;
  display: grid;
  grid-column: auto;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  width: 100%;
  min-height: 28px;
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
  color: var(--pdl-muted);
  text-align: left;
}

.filter-rail-panel .tier-chip::before {
  content: "";
  width: 12px;
  height: 12px;
  border: 1px solid var(--pdl-line-strong);
  border-radius: 3px;
}

.filter-rail-panel .tier-chip.is-active::before {
  background: currentColor;
  box-shadow: inset 0 0 0 2px rgba(5, 13, 20, 0.96);
}

.filter-rail-panel .tier-chip span {
  overflow: hidden;
  padding-left: 8px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.filter-rail-panel .tier-chip b {
  color: var(--pdl-muted);
  font-family: var(--pdl-number);
  font-size: 12px;
  font-weight: 700;
}

.filter-rail-panel .tier-chip.high {
  color: var(--pdl-red);
}

.filter-rail-panel .tier-chip.elevated {
  color: var(--pdl-orange);
}

.filter-rail-panel .tier-chip.watch {
  color: var(--pdl-accent);
}

.filter-rail-panel .tier-chip.low {
  color: var(--pdl-green);
}

.rail-save-action {
  width: 100%;
  justify-content: start;
  text-align: left;
}

.dossier-main-panel .workbench-section {
  padding: 0 0 10px;
}

.dossier-main-panel .section-heading {
  padding: 12px 14px 8px;
}

.dossier-main-panel .section-heading h3 {
  font-size: 16px;
}

.analyst-table-wrap {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}

@media (min-width: 1024px) {
  .topbar {
    grid-template-columns: minmax(780px, 1fr) auto;
  }

  .topbar-primary {
    gap: 22px;
  }

  .topbar-tools {
    gap: 18px;
  }

  .shell {
    padding-top: 0;
  }

  .product-hero {
    min-height: 0;
    margin-top: 0;
  }

  .console-heading {
    align-items: start;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.3fr);
  }

  .dossier-workbench {
    grid-template-columns: minmax(230px, 0.22fr) minmax(610px, 1fr) minmax(370px, 0.38fr);
  }
}

@media (max-width: 1440px) {
  .topbar-icon-actions {
    gap: 8px;
  }

  .topbar-icon-action {
    min-width: 42px;
  }

  .topbar-icon-action b {
    display: none;
  }
}

@media (max-width: 1280px) {
  .product-hero .snapshot-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .board-command-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .filter-rail-panel .tier-chip-group {
    display: grid;
  }
}

@media (max-width: 860px) {
  .topbar-icon-actions {
    justify-content: flex-start;
  }

  .product-hero {
    padding: 22px 16px 12px;
  }

  .product-hero .snapshot-grid,
  .board-command-row {
    grid-template-columns: 1fr;
  }
}

/* Cross-tab dark parity pass for the generated console reference. */
.tab-panel .table-wrap,
.tab-panel .analyst-table-wrap {
  border-color: rgba(120, 215, 238, 0.16) !important;
  background: rgba(3, 10, 15, 0.44) !important;
}

.tab-panel table,
.tab-panel thead th,
.tab-panel tbody td,
.tab-panel tbody th,
.tab-panel .analyst-table td,
.tab-panel .analyst-table th {
  border-color: rgba(120, 215, 238, 0.14) !important;
}

.tab-panel thead th,
.tab-panel .analyst-table th {
  background: rgba(13, 31, 43, 0.98) !important;
  color: var(--pdl-muted) !important;
}

.tab-panel tbody tr,
.tab-panel tbody tr:nth-child(odd),
.tab-panel tbody tr:nth-child(even),
.tab-panel .analyst-table tbody tr,
.tab-panel .analyst-table tbody tr:nth-child(odd),
.tab-panel .analyst-table tbody tr:nth-child(even) {
  background: rgba(3, 12, 18, 0.92) !important;
  color: var(--pdl-ice) !important;
}

.tab-panel tbody tr:nth-child(even),
.tab-panel .analyst-table tbody tr:nth-child(even) {
  background: rgba(8, 22, 31, 0.96) !important;
}

.tab-panel tbody tr:hover,
.tab-panel tbody tr.is-selected,
.tab-panel .analyst-table tbody tr:hover,
.tab-panel .analyst-table tbody tr.analyst-row.is-selected {
  background: rgba(16, 74, 106, 0.48) !important;
}

.tab-panel td,
.tab-panel th,
.tab-panel td strong,
.tab-panel .board-name-cell strong,
.tab-panel .board-metric strong {
  color: var(--pdl-ice) !important;
}

.tab-panel .subtle,
.tab-panel .board-metric span,
.tab-panel .team-readout p,
.tab-panel .trade-readout p,
.tab-panel .episode-readout p {
  color: var(--pdl-muted) !important;
}

.rank-badge {
  border-color: rgba(120, 215, 238, 0.24) !important;
  background: rgba(120, 215, 238, 0.08) !important;
  box-shadow: none !important;
}

.rank-badge b {
  color: var(--pdl-ice) !important;
}

.rank-badge i {
  color: var(--pdl-muted) !important;
}

.method-grid,
.data-status-grid,
.data-artifact-list,
.data-ceiling-list,
.qa-checklist,
.trust-map,
.trade-market-brief,
.contract-team-exposure,
.episode-impact-brief {
  border-color: rgba(120, 215, 238, 0.16) !important;
  background: rgba(3, 10, 15, 0.18) !important;
  box-shadow: none !important;
}

.insight-card,
.metric,
.status-item,
.ceiling-card,
.glossary-card,
.artifact-link,
.team-readout article,
.trade-readout article,
.episode-readout article,
.position-stack article,
.scenario-lead,
.scenario-controls,
.scenario-waterfall,
.scenario-bars article,
.scenario-checklist article,
.movement-rail article,
.trend-chip,
.card-stats div,
.detail-stats .detail-stat,
.selected-brief-tags span,
.selected-brief-stats div,
.selected-brief-stats .detail-stat,
.selected-brief-note,
.selected-brief-list,
.evidence-grid .detail-stat,
.mobile-card,
.board-pager span,
.trust-lane,
.trust-targets article {
  border-color: rgba(120, 215, 238, 0.16) !important;
  background: rgba(3, 10, 15, 0.42) !important;
  color: var(--pdl-ice) !important;
  box-shadow: none !important;
}

.insight-card.high,
.ceiling-card.feature-gap,
.scenario-checklist article.is-active {
  border-color: rgba(217, 75, 75, 0.38) !important;
}

.trend-chip.high {
  border-color: rgba(217, 75, 75, 0.38) !important;
}

.trend-chip.elevated,
.trend-chip.watch {
  border-color: rgba(219, 132, 53, 0.38) !important;
}

.trend-chip.low {
  border-color: rgba(72, 185, 109, 0.34) !important;
}

.insight-card.elevated,
.insight-card.watch {
  border-color: rgba(219, 132, 53, 0.38) !important;
}

.insight-card.low {
  border-color: rgba(72, 185, 109, 0.34) !important;
}

.insight-card span,
.metric span,
.status-item span,
.ceiling-card span,
.glossary-card span,
.artifact-link span,
.team-readout span,
.trade-readout span,
.episode-readout span {
  color: var(--pdl-accent) !important;
}

.insight-card strong,
.metric b,
.status-item strong,
.ceiling-card strong,
.glossary-card strong,
.artifact-link strong,
.team-readout strong,
.trade-readout strong,
.episode-readout strong,
.position-stack strong,
.scenario-lead strong,
.scenario-bars strong,
.scenario-checklist strong,
.selected-brief-stats .detail-stat b,
.evidence-grid .detail-stat b {
  color: #ffffff !important;
}

.insight-card p,
.status-item p,
.ceiling-card p,
.glossary-card p,
.scenario-lead span,
.scenario-control b,
.scenario-checklist span,
.movement-rail article span,
.trend-chip i,
.card-stats span,
.selected-brief-stats .detail-stat span,
.selected-brief-stats div span,
.selected-brief-list span,
.evidence-grid .detail-stat span,
.mobile-card span,
.mobile-card p,
.trust-targets span,
.trust-targets p {
  color: var(--pdl-muted) !important;
}

.trend-chip b,
.status-badge {
  color: var(--pdl-accent) !important;
}

.trend-chip.high b {
  color: #ff9a9a !important;
}

.trend-chip.elevated b,
.trend-chip.watch b {
  color: #ffc083 !important;
}

.trend-chip.low b {
  color: #95e5ad !important;
}

.status-badge {
  border: 1px solid rgba(120, 215, 238, 0.22) !important;
  background: rgba(120, 215, 238, 0.1) !important;
}

.scenario-checklist article span,
.selected-brief-tags span,
.selected-brief-tags .pill,
.dossier-brief-meta span,
.tab-panel .pill:not(.high):not(.elevated):not(.watch):not(.low),
.confidence-badge {
  border: 1px solid rgba(120, 215, 238, 0.22) !important;
  background: rgba(120, 215, 238, 0.1) !important;
  color: var(--pdl-accent) !important;
}

.scenario-checklist article.is-active span {
  border-color: rgba(217, 75, 75, 0.34) !important;
  background: rgba(217, 75, 75, 0.12) !important;
  color: #ffb6b6 !important;
}

.confidence-badge i,
.confidence-badge b {
  color: inherit !important;
}

.gate-timeline article,
.qa-checklist article {
  border-color: rgba(120, 215, 238, 0.16) !important;
  background: rgba(3, 10, 15, 0.42) !important;
  color: var(--pdl-ice) !important;
  box-shadow: none !important;
}

.gate-timeline article > span,
.qa-checklist span {
  border: 1px solid rgba(72, 185, 109, 0.28) !important;
  background: rgba(72, 185, 109, 0.14) !important;
  color: #95e5ad !important;
}

.gate-timeline article.failed > span {
  border-color: rgba(217, 75, 75, 0.34) !important;
  background: rgba(217, 75, 75, 0.12) !important;
  color: #ffb6b6 !important;
}

.gate-timeline strong,
.qa-checklist strong {
  color: #ffffff !important;
}

.gate-timeline p {
  color: var(--pdl-muted) !important;
}

.trust-lane > div:first-child {
  border-bottom: 1px solid rgba(120, 215, 238, 0.16);
}

.trust-lane.production_usable > div:first-child {
  background: rgba(8, 76, 67, 0.88) !important;
}

.trust-lane.experimental_promising > div:first-child {
  background: rgba(91, 69, 13, 0.88) !important;
}

.trust-lane.weak_context_only > div:first-child {
  background: rgba(52, 65, 80, 0.88) !important;
}

.trust-targets b,
.card-stats b,
.selected-brief-stats div b,
.movement-rail article strong {
  color: #ffffff !important;
}

.scenario-controls,
.scenario-waterfall,
.data-ceiling-list {
  padding: 12px !important;
}

.scenario-control i,
.waterfall-bars article strong,
.waterfall-bars article div,
.scenario-bars article span {
  color: var(--pdl-ice) !important;
}

.scenario-control input[type="range"] {
  accent-color: var(--pdl-accent);
}

.waterfall-bars article i,
.scenario-bars i,
.trade-brief-lanes i,
.episode-mix-card i,
.episode-mini-bars i,
.board-meter {
  background: rgba(220, 239, 245, 0.12) !important;
}

.position-stack article,
.selected-brief-stats .detail-stat {
  min-height: 58px;
}

/* Public-facing reading layer: simple first, analysis second. */
:root {
  --bg: #f5f3ee;
  --panel: #fffdf8;
  --ink: #172321;
  --muted: #66736f;
  --line: #d9ded8;
  --soft: #edf3ef;
  --accent: #087a70;
  --accent-dark: #123f3a;
  --gold: #e1ad45;
  --shadow: 0 18px 50px rgba(23, 45, 38, .09);
}
body { background: radial-gradient(circle at 80% 0%, #e2efe7 0, transparent 30rem), var(--bg); color: var(--ink); line-height: 1.5; }
.topbar { display: block; padding: 18px clamp(18px, 5vw, 72px) 0; background: #123b36; border: 0; }
.topbar::before { opacity: .18; }
.topbar::after { right: 0; left: 0; height: 5px; }
.topbar-primary { max-width: 1320px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.brand { gap: 12px; }
.brand-mark { width: 52px; height: 52px; box-shadow: none; background: linear-gradient(135deg, #0b8b7e, #e1ad45); }
.brand-copy p { color: #a9dfd4; font-size: 12px; letter-spacing: .08em; }
.brand h1 { color: #fffdf8; font-size: clamp(19px, 2.4vw, 28px); letter-spacing: -.03em; }
.topbar-tools { max-width: 1320px; margin: 20px auto 0; padding-bottom: 14px; display: flex; align-items: center; justify-content: flex-end; gap: 14px; }
.topbar-search { max-width: 300px; }
.topbar-panel { border: 0; background: rgba(255,255,255,.08); }
.topbar-icon-action { color: #d8eee9; }
.tabs { position: static; max-width: 1320px; margin: 18px auto 0; padding: 10px 0 12px; background: transparent; border-color: rgba(255,255,255,.16); }
.tab { color: #c0d5d0; border-radius: 999px; padding: 8px 14px; }
.tab:hover, .tab.is-active { color: #123b36; border-color: var(--gold); background: #fffdf8; box-shadow: none; }
.shell { max-width: 1464px; margin: 0 auto; padding: 20px clamp(18px, 5vw, 72px) 72px; }
.site-command-bar { border: 0; padding: 4px 0 10px; }
.product-hero { margin-top: 8px; }
.console-heading { position: relative; overflow: hidden; border: 1px solid #cbdad3; border-radius: 24px; padding: clamp(26px, 5vw, 54px); background: linear-gradient(115deg, #e7f2eb 0%, #fdfcf7 62%); box-shadow: var(--shadow); }
.console-heading::after { content: ""; position: absolute; right: -5%; bottom: -45%; width: 42%; aspect-ratio: 1; border: 1px solid rgba(8,122,112,.13); border-radius: 50%; box-shadow: 0 0 0 34px rgba(8,122,112,.04), 0 0 0 70px rgba(8,122,112,.03); }
.console-heading > div { max-width: 740px; position: relative; z-index: 1; }
.console-heading h2 { max-width: 700px; color: var(--accent-dark) !important; font-size: clamp(32px, 5vw, 68px); line-height: 1.02; letter-spacing: -.055em; }
.console-heading > div > p:not(.eyebrow) { max-width: 620px; margin: 18px 0 0; color: #52645e; font-size: clamp(17px, 2vw, 22px); }
.console-heading aside { position: relative; z-index: 1; margin-top: 30px; padding: 18px 20px; max-width: 520px; border: 1px solid rgba(8,122,112,.18); border-radius: 14px; background: rgba(255,255,255,.62); }
.console-heading aside strong { color: var(--accent-dark); }
.trust-chips span { border-radius: 999px; border-color: #b7d2c8; background: #f7fbf7; color: var(--accent-dark); }
.snapshot-grid { margin-top: 14px; }
.panel, .chart-card { border-color: var(--line); border-radius: 16px; background: var(--panel); box-shadow: 0 8px 24px rgba(29,53,46,.04); }
.panel-title h2, .panel-title h3, .section-heading h3 { color: var(--accent-dark); letter-spacing: -.02em; }
.panel-title p, .panel-title span, .section-heading span { color: var(--muted); }
.dossier-workbench { align-items: start; }
.filter-rail-panel, .dossier-rail-panel { position: sticky; top: 18px; }
input, select, .secondary-action, .filter-save-action { border-color: var(--line); border-radius: 10px; background: #fff; color: var(--ink); }
input:focus, select:focus, button:focus-visible { outline: 3px solid rgba(225,173,69,.45); outline-offset: 2px; }
.risk-board-panel { min-width: 0; }
.table-wrap { border-color: var(--line); }
table th { color: var(--muted); background: #f0f5f0; }
table td { border-color: #e5e9e4; }
.hero-use-guide { color: #52645e; }
.hero-trust-actions button { color: var(--accent); }
@media (max-width: 900px) { .topbar-primary { align-items: flex-start; flex-direction: column; } .topbar-tools { justify-content: flex-start; flex-wrap: wrap; } .filter-rail-panel, .dossier-rail-panel { position: static; } }
@media (max-width: 560px) { .topbar { padding-inline: 14px; } .shell { padding-inline: 14px; } .brand-mark { width: 44px; height: 44px; } .topbar-icon-actions { display: none; } .console-heading { border-radius: 18px; } .console-heading h2 { font-size: 39px; } }

/* Professional template layer */
body { color: #182522 !important; background: #f7f8f5 !important; }
.topbar { position: relative !important; background: #ffffff !important; color: #182522 !important; border-bottom: 1px solid #e4e9e3 !important; box-shadow: 0 1px 0 rgba(20,50,40,.03) !important; }
.topbar::before, .topbar::after { display: none !important; }
.brand-copy p { color: #087a70 !important; font-weight: 800 !important; }
.brand h1 { color: #18352f !important; }
.brand-mark { clip-path: none !important; border-radius: 13px !important; background: #087a70 !important; }
.brand-mark::before { border-color: rgba(255,255,255,.8); }
.brand-mark::after { background: rgba(255,255,255,.6); }
.topbar-tools { position: absolute !important; top: 16px; right: clamp(18px, 5vw, 72px); margin: 0 !important; padding: 0 !important; }
.topbar-tools .global-search-shell, .topbar-tools .topbar-icon-actions { display: none !important; }
.topbar-tools .topbar-panel { display: none !important; }
.topbar-panel { border-color: #dbe6df !important; background: #f5f8f4 !important; }
.topbar-panel span, .topbar-meta { color: #5f7069 !important; }
.topbar-icon-action { color: #42635a !important; }
.tabs { margin-top: 0 !important; border-bottom: 0 !important; background: #ffffff !important; }
.tab { color: #607069 !important; }
.tab:hover, .tab.is-active { color: #087a70 !important; border-color: #b9d8cc !important; background: #edf7f0 !important; box-shadow: none !important; }
.shell { padding-top: 26px !important; }
.product-hero { overflow: visible !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.product-hero::after { display: none !important; }
.site-command-bar { margin-bottom: 12px; }
.board-status-strip article { background: #ffffff !important; border-color: #e2e9e3 !important; box-shadow: none !important; }
.console-heading { min-height: 370px; display: flex; align-items: flex-end; background: linear-gradient(120deg, #e8f5ed 0%, #ffffff 76%) !important; border-color: #cfe3d7 !important; box-shadow: 0 20px 60px rgba(25,75,55,.08) !important; }
.console-heading > div { flex: 1; }
.console-heading aside { margin: 0 0 0 50px; min-width: 260px; }
.console-heading h2 { max-width: 680px; font-size: clamp(38px, 5.5vw, 72px) !important; }
.plain-language-intro { display: grid; grid-template-columns: minmax(240px, .8fr) minmax(0, 1.7fr); gap: 42px; align-items: start; margin: 52px 0 32px; padding: 0 12px; }
.plain-language-heading h2 { max-width: 390px; margin: 4px 0 14px; color: #18352f; font-size: clamp(26px, 3vw, 42px); line-height: 1.08; letter-spacing: -.045em; }
.plain-language-heading > p:last-child { max-width: 400px; margin: 0; color: #68766f; font-size: 16px; }
.plain-language-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.plain-language-grid article { min-height: 206px; padding: 24px; border: 1px solid #dfe8e0; border-radius: 16px; background: #ffffff; box-shadow: 0 8px 24px rgba(30,60,45,.04); }
.plain-language-grid span { color: #087a70; font: 800 12px/1 "SFMono-Regular", monospace; letter-spacing: .12em; }
.plain-language-grid h3 { margin: 34px 0 9px; color: #18352f; font-size: 19px; }
.plain-language-grid p { margin: 0; color: #69766f; font-size: 14px; line-height: 1.55; }
.snapshot-grid { margin-top: 16px !important; }
.snapshot-grid article { border: 1px solid #dfe8e0 !important; background: #ffffff !important; box-shadow: none !important; }
.dossier-workbench { gap: 18px !important; }
.panel { border-color: #dfe8e0 !important; border-radius: 16px !important; background: #ffffff !important; box-shadow: 0 8px 25px rgba(30,60,45,.04) !important; }
.panel-title { border-bottom-color: #e9eee9 !important; }
.panel-title h2, .panel-title h3, .section-heading h3 { color: #18352f !important; }
.filter-rail-panel, .dossier-rail-panel { top: 20px !important; }
.filter-rail-title h2 { color: #18352f !important; }
.risk-board-panel { padding: 0 !important; overflow: hidden; }
.risk-board-panel > .panel-title, .risk-board-panel > .board-command-row, .risk-board-panel > .workbench-section { padding-left: 24px; padding-right: 24px; }
.board-command-row { background: #fbfcfa !important; border-top-color: #eef2ed !important; border-bottom-color: #eef2ed !important; }
.table-wrap { border-color: #e2e9e3 !important; }
table th { background: #f3f7f2 !important; color: #607069 !important; }
table td { border-color: #edf1ed !important; }
.overview-chart-grid, .supporting-board-summary { gap: 18px !important; }
.eyebrow { color: #087a70 !important; letter-spacing: .11em !important; }
.secondary-action, .filter-save-action { border-color: #cfded4 !important; background: #ffffff !important; color: #087a70 !important; }
@media (max-width: 900px) { .console-heading { display: block; min-height: 0; } .console-heading aside { margin: 28px 0 0; } .plain-language-intro { grid-template-columns: 1fr; gap: 24px; } }
@media (max-width: 640px) { .plain-language-grid { grid-template-columns: 1fr; } .plain-language-grid article { min-height: 0; } .topbar-tools { display: none; } .tabs { padding-top: 12px; overflow-x: auto; } }

/* 2026 visual reset: editorial research journal, not a dark operations console. */
:root {
  --ink-strong: #1e2430;
  --ink: #354052;
  --ink-muted: #718096;
  --paper: #fbfaf7;
  --paper-warm: #f1eee7;
  --lavender: #ece9f9;
  --lilac: #d7d0f2;
  --violet: #6152a4;
  --violet-deep: #31285f;
  --orange: #e5693d;
  --line-soft: #ddd9d1;
  --green: #2f855a;
  --font-sans: "DM Sans", ui-sans-serif, system-ui, sans-serif;
  --font-serif: "DM Serif Display", Georgia, serif;
  --font-mono: "DM Mono", ui-monospace, monospace;
}

html { scroll-behavior: smooth; }
body { color: var(--ink) !important; background: linear-gradient(180deg, #fbfaf7 0, #f4f1ea 100%) !important; font-family: var(--font-sans) !important; letter-spacing: -.012em; }
button, input, select, textarea { font-family: var(--font-sans) !important; }
button { transition: transform .16s ease, background-color .16s ease, border-color .16s ease, color .16s ease; }
button:hover { transform: translateY(-1px); }
button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid rgba(97, 82, 164, .28) !important; outline-offset: 2px; }

.topbar { position: sticky !important; top: 0; z-index: 30; padding: 14px clamp(18px, 4vw, 54px) !important; background: rgba(251,250,247,.94) !important; border-bottom: 1px solid var(--line-soft) !important; backdrop-filter: blur(18px); box-shadow: none !important; }
.topbar-primary { max-width: 1440px !important; display: grid !important; grid-template-columns: auto minmax(0, 1fr); align-items: center !important; gap: clamp(24px, 4vw, 70px) !important; }
.brand-mark { width: 40px !important; height: 40px !important; border-radius: 50% !important; background: var(--violet-deep) !important; clip-path: none !important; box-shadow: inset 0 0 0 5px var(--lilac) !important; }
.brand-mark::before, .brand-mark::after, .brand-mark i { display: none !important; }
.brand-mark b { font-family: var(--font-mono) !important; font-size: 12px !important; }
.brand { gap: 10px !important; }
.brand-copy p { margin: 0 0 1px !important; color: var(--orange) !important; font-family: var(--font-mono) !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: .08em !important; }
.brand h1 { color: var(--violet-deep) !important; font-family: var(--font-serif) !important; font-size: 24px !important; font-weight: 400 !important; letter-spacing: -.03em !important; }
.topbar-tools { display: none !important; }
.tabs { display: flex !important; justify-content: flex-end; gap: 2px !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; background: transparent !important; }
.tab { border: 0 !important; border-radius: 5px !important; padding: 8px 10px !important; color: #555e70 !important; background: transparent !important; font-size: 12px !important; font-weight: 600 !important; white-space: nowrap; }
.tab:hover, .tab.is-active { color: var(--violet-deep) !important; background: var(--lavender) !important; box-shadow: none !important; }

.shell { max-width: 1440px !important; padding: 30px clamp(18px, 4vw, 54px) 80px !important; }
.site-command-bar { display: flex !important; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 24px !important; padding: 0 !important; }
.board-status-strip { gap: 8px !important; }
.board-status-strip article { border: 0 !important; border-radius: 999px !important; padding: 7px 11px !important; background: var(--paper-warm) !important; box-shadow: none !important; }
.board-status-strip article span { color: var(--ink-muted) !important; font-size: 12px !important; }
.board-status-strip article strong { color: var(--violet-deep) !important; font-family: var(--font-mono) !important; font-size: 12px !important; }
.secondary-action, .filter-save-action { border: 1px solid var(--violet-deep) !important; border-radius: 5px !important; background: var(--violet-deep) !important; color: #fff !important; font-size: 12px !important; font-weight: 600 !important; box-shadow: none !important; }
.secondary-action:hover, .filter-save-action:hover { background: var(--violet) !important; border-color: var(--violet) !important; }

.product-hero { margin: 0 0 42px !important; overflow: visible !important; background: transparent !important; }
.console-heading { min-height: 0 !important; display: grid !important; grid-template-columns: minmax(0, 1.2fr) minmax(230px, .55fr) !important; gap: 38px !important; align-items: end !important; padding: clamp(30px, 5vw, 70px) !important; border: 1px solid var(--line-soft) !important; border-radius: 0 !important; background: var(--paper) !important; box-shadow: 12px 12px 0 var(--lavender) !important; }
.console-heading::after { content: "PUBLIC DATA · NHL · 2018–PRESENT" !important; position: absolute !important; right: 26px !important; top: 24px !important; width: auto !important; height: auto !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; color: var(--orange) !important; font-family: var(--font-mono) !important; font-size: 12px !important; letter-spacing: .08em !important; }
.console-heading h2, .plain-language-heading h2, .panel-title h2, .method-intro-panel h2 { color: var(--violet-deep) !important; font-family: var(--font-serif) !important; font-weight: 400 !important; letter-spacing: -.035em !important; }
.console-heading h2 { max-width: 720px !important; font-size: clamp(48px, 6vw, 88px) !important; line-height: .94 !important; }
.console-heading > div > p:not(.eyebrow) { max-width: 620px !important; color: var(--ink) !important; font-size: clamp(17px, 2vw, 21px) !important; line-height: 1.45 !important; }
.eyebrow { color: var(--orange) !important; font-family: var(--font-mono) !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: .08em !important; }
.trust-chips { gap: 6px !important; }
.trust-chips span { border: 1px solid var(--lilac) !important; border-radius: 999px !important; background: #f8f7fd !important; color: var(--violet-deep) !important; font-size: 12px !important; }
.console-heading aside { margin: 0 !important; min-width: 0 !important; padding: 20px !important; border: 1px solid var(--lilac) !important; border-radius: 0 !important; background: var(--lavender) !important; }
.console-heading aside strong { color: var(--violet-deep) !important; font-family: var(--font-mono) !important; font-size: 16px !important; }
.console-heading aside span, .hero-use-guide { color: #53506a !important; }
.hero-trust-actions button { color: var(--violet-deep) !important; font-family: var(--font-sans) !important; }
.snapshot-grid { gap: 10px !important; margin-top: 26px !important; }
.snapshot-grid article { border: 1px solid var(--line-soft) !important; border-radius: 0 !important; background: var(--paper) !important; box-shadow: none !important; }
.snapshot-grid article strong { color: var(--violet-deep) !important; font-family: var(--font-serif) !important; font-size: 28px !important; font-weight: 400 !important; }

.plain-language-intro { grid-template-columns: minmax(220px,.75fr) minmax(0,1.7fr) !important; gap: 54px !important; margin: 0 0 48px !important; padding: 34px 0 !important; border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }
.plain-language-heading h2 { font-size: clamp(31px, 3.3vw, 48px) !important; line-height: 1 !important; }
.plain-language-heading > p:last-child { color: var(--ink-muted) !important; line-height: 1.55 !important; }
.plain-language-grid { gap: 0 !important; border-left: 1px solid var(--line-soft); }
.plain-language-grid article { min-height: 250px !important; padding: 24px !important; border: 0 !important; border-right: 1px solid var(--line-soft) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.plain-language-grid span { color: var(--orange) !important; font-family: var(--font-mono) !important; }
.plain-language-grid h3 { color: var(--violet-deep) !important; font-family: var(--font-serif) !important; font-size: 25px !important; font-weight: 400 !important; }
.plain-language-grid p { color: var(--ink-muted) !important; font-size: 15px !important; }

.panel, .chart-card { border: 1px solid var(--line-soft) !important; border-radius: 0 !important; background: var(--paper) !important; box-shadow: none !important; }
.dossier-workbench { gap: 16px !important; }
.panel-title { border-bottom: 1px solid var(--line-soft) !important; }
.panel-title h2, .panel-title h3, .section-heading h3, .filter-rail-title h2 { color: var(--violet-deep) !important; font-family: var(--font-serif) !important; font-weight: 400 !important; letter-spacing: -.02em !important; }
.panel-title p, .panel-title span, .section-heading span, .empty, .subtle { color: var(--ink-muted) !important; }
.filter-rail-panel, .dossier-rail-panel { top: 88px !important; }
.filter-rail-panel { background: #f0edf9 !important; border-color: var(--lilac) !important; }
.filter-bar label, .filter-bar summary { color: #50576a !important; font-size: 12px !important; font-weight: 700 !important; }
input, select { border: 1px solid #cbc5df !important; border-radius: 3px !important; background: #fff !important; color: var(--ink-strong) !important; box-shadow: none !important; }
select { min-height: 36px !important; }
.tier-chip { border-color: var(--lilac) !important; border-radius: 3px !important; background: rgba(255,255,255,.68) !important; color: var(--violet-deep) !important; }
.tier-chip.is-active { border-color: var(--violet-deep) !important; background: var(--violet-deep) !important; color: #fff !important; }
.tier-chip b { font-family: var(--font-mono) !important; }
.risk-board-panel { overflow: hidden !important; }
.board-command-row { background: #f5f3ef !important; border-top: 1px solid var(--line-soft) !important; border-bottom: 1px solid var(--line-soft) !important; }
.table-wrap { border-color: var(--line-soft) !important; }
table { font-size: 13px !important; }
table th { color: var(--violet-deep) !important; background: #f0edf9 !important; font-family: var(--font-mono) !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: .04em !important; }
table td { border-color: #ebe7df !important; color: var(--ink) !important; }
table tr:hover td { background: #fbf9ef !important; }
.pill, .status-badge, .confidence-badge { border-radius: 999px !important; background: #f0edf9 !important; color: var(--violet-deep) !important; }
.rank-badge, .rank-cell { font-family: var(--font-mono) !important; }
.overview-chart-grid, .supporting-board-summary { gap: 16px !important; }

/* Pull the remaining data-heavy screens into the same light editorial system. */
.tab-panel :is(.metric, .insight-card, .glossary-card, .mobile-card, .selected-brief, .dossier-brief, .trade-brief, .trade-candidate, .episode-mix-card, .episode-impact-card, .data-artifact, .data-ceiling, .status-item, .gate-timeline article, .qa-checklist article, .team-summary-card, .position-stack article, .movement-rail article, .scenario-checklist article, .source-stack article, .aging-comps article, .risk-driver, .player-card, .comparison-card) { border-color: var(--line-soft) !important; border-radius: 0 !important; background: var(--paper) !important; color: var(--ink) !important; box-shadow: none !important; }
.tab-panel :is(.metric strong, .insight-card strong, .glossary-card strong, .mobile-card strong, .selected-brief strong, .dossier-brief strong, .trade-brief strong, .trade-candidate strong, .episode-mix-card strong, .episode-impact-card strong, .data-artifact strong, .data-ceiling strong, .status-item strong, .gate-timeline strong, .qa-checklist strong, .team-summary-card strong, .position-stack strong, .movement-rail strong, .scenario-checklist strong, .source-stack strong, .aging-comps strong, .risk-driver strong, .player-card strong, .comparison-card strong) { color: var(--violet-deep) !important; }
.tab-panel :is(.metric span, .insight-card p, .glossary-card p, .mobile-card p, .selected-brief p, .dossier-brief p, .trade-brief p, .trade-candidate p, .episode-mix-card p, .episode-impact-card p, .data-artifact p, .data-ceiling p, .status-item p, .gate-timeline p, .qa-checklist p, .team-summary-card p, .position-stack p, .movement-rail p, .scenario-checklist p, .source-stack p, .aging-comps p, .risk-driver p, .player-card p, .comparison-card p) { color: var(--ink-muted) !important; }
.tab-panel :is(.board-meter, .waterfall-bars article i, .scenario-bars i, .trade-brief-lanes i, .episode-mix-card i, .episode-mini-bars i) { background: #e5e0f5 !important; }
.tab-panel :is(.board-meter span, .waterfall-bars article i span, .scenario-bars i span, .trade-brief-lanes i span, .episode-mix-card i span, .episode-mini-bars i span) { background: var(--violet) !important; }
.method-intro-panel, .trust-panel, .gate-timeline-panel, .glossary-panel { background: #f9f7ff !important; }
.method-intro-panel .panel-title, .trust-panel .panel-title, .gate-timeline-panel .panel-title, .glossary-panel .panel-title { border-bottom-color: var(--lilac) !important; }
.data-status-grid article, .data-artifact-list article, .data-ceiling-list article { background: #fffdf8 !important; border-color: var(--line-soft) !important; }

@media (max-width: 1120px) { .topbar-primary { grid-template-columns: 1fr !important; gap: 12px !important; } .tabs { justify-content: flex-start !important; overflow-x: auto !important; padding-bottom: 2px !important; } }
@media (max-width: 900px) { .console-heading { grid-template-columns: 1fr !important; gap: 22px !important; padding-top: 56px !important; } .plain-language-intro { grid-template-columns: 1fr !important; gap: 28px !important; } .plain-language-grid { grid-template-columns: repeat(3, 1fr) !important; } .filter-rail-panel, .dossier-rail-panel { position: static !important; } }
@media (max-width: 640px) { .topbar { padding: 12px 16px !important; } .brand h1 { font-size: 22px !important; } .shell { padding: 22px 16px 60px !important; } .site-command-bar { display: none !important; } .console-heading { padding: 54px 24px 26px !important; box-shadow: 7px 7px 0 var(--lavender) !important; } .console-heading::after { left: 24px !important; right: auto !important; top: 22px !important; } .console-heading h2 { font-size: clamp(45px, 15vw, 63px) !important; } .snapshot-grid { grid-template-columns: repeat(2, 1fr) !important; } .plain-language-grid { grid-template-columns: 1fr !important; border-top: 1px solid var(--line-soft); } .plain-language-grid article { min-height: 0 !important; border-bottom: 1px solid var(--line-soft) !important; } .dossier-workbench { grid-template-columns: 1fr !important; } .risk-board-panel > .panel-title, .risk-board-panel > .board-command-row, .risk-board-panel > .workbench-section { padding-left: 16px !important; padding-right: 16px !important; } }

/* Legacy component cleanup: force every data surface out of the retired dark-console palette. */
.toolbar, .board-actions.toolbar-more { border: 1px solid var(--lilac) !important; border-radius: 0 !important; background: #f1eef9 !important; }
.toolbar label, .toolbar-more summary { color: var(--violet-deep) !important; font-family: var(--font-mono) !important; font-size: 12px !important; letter-spacing: .04em !important; }
.board-actions.toolbar-more summary { border: 0 !important; color: var(--violet-deep) !important; }
.board-actions .toolbar-more-grid { border-top-color: var(--lilac) !important; }
.player-filter-toggle, .segment { border: 1px solid var(--lilac) !important; border-radius: 3px !important; background: #fff !important; color: var(--violet-deep) !important; }
.segment.is-active { background: var(--violet-deep) !important; color: #fff !important; }

#tab-players .table-wrap, #tab-contracts .table-wrap, #tab-absences .table-wrap, #tab-teams .table-wrap { border: 1px solid var(--line-soft) !important; background: #fffdf8 !important; }
#tab-players table, #tab-contracts table, #tab-absences table, #tab-teams table,
#tab-players table tbody, #tab-contracts table tbody, #tab-absences table tbody, #tab-teams table tbody,
#tab-players table tr, #tab-contracts table tr, #tab-absences table tr, #tab-teams table tr { background: #fffdf8 !important; }
#tab-players table th, #tab-contracts table th, #tab-absences table th, #tab-teams table th { background: #eeeaf8 !important; color: var(--violet-deep) !important; }
#tab-players table td, #tab-contracts table td, #tab-absences table td, #tab-teams table td { color: var(--ink) !important; background: #fffdf8 !important; border-color: #e9e5dd !important; }
#tab-players table tr:hover td, #tab-contracts table tr:hover td, #tab-absences table tr:hover td, #tab-teams table tr:hover td { background: #faf7ef !important; }
#tab-players table strong, #tab-contracts table strong, #tab-absences table strong, #tab-teams table strong { color: var(--violet-deep) !important; }

.metric-grid article.metric, .team-readout article, .trade-readout article, .episode-readout article { border: 1px solid var(--line-soft) !important; border-radius: 0 !important; background: #fffdf8 !important; box-shadow: none !important; }
.metric-grid article.metric b, .team-readout article strong, .trade-readout article strong, .episode-readout article strong { color: var(--violet-deep) !important; font-family: var(--font-serif) !important; font-weight: 400 !important; }
.metric-grid article.metric span, .team-readout article span, .team-readout article p, .trade-readout article span, .trade-readout article p, .episode-readout article span, .episode-readout article p { color: var(--ink-muted) !important; }
.team-readout article span, .trade-readout article span, .episode-readout article span { color: var(--orange) !important; font-family: var(--font-mono) !important; font-size: 12px !important; }
.team-visuals > *, .trade-market-brief > *, .episode-impact-brief > * { border-color: var(--line-soft) !important; }

.detail-panel, .dossier-panel, .detail-drawer, .scenario-controls, .scenario-waterfall, .player-card, .selected-brief, .contract-review, .trade-brief, .trade-candidate { background: #fffdf8 !important; border-color: var(--line-soft) !important; color: var(--ink) !important; }
.detail-panel :is(strong,h2,h3), .dossier-panel :is(strong,h2,h3), .detail-drawer :is(strong,h2,h3), .scenario-controls :is(strong,h2,h3), .scenario-waterfall :is(strong,h2,h3), .player-card :is(strong,h2,h3), .selected-brief :is(strong,h2,h3), .contract-review :is(strong,h2,h3), .trade-brief :is(strong,h2,h3), .trade-candidate :is(strong,h2,h3) { color: var(--violet-deep) !important; }
.detail-panel :is(span,p), .dossier-panel :is(span,p), .detail-drawer :is(span,p), .scenario-controls :is(span,p), .scenario-waterfall :is(span,p), .player-card :is(span,p), .selected-brief :is(span,p), .contract-review :is(span,p), .trade-brief :is(span,p), .trade-candidate :is(span,p) { color: var(--ink-muted) !important; }
.team-boardroom, .trade-market-brief, .episode-impact-brief { background: transparent !important; }
.method-intro-panel #methodIntro, .data-status-grid { background: #eeeaf8 !important; }
.method-intro-panel #methodIntro .insight-card, .data-status-grid .status-item { background: #fffdf8 !important; border-color: var(--line-soft) !important; }
.dossier-rail-panel { grid-column: auto !important; }
.card-stats > div, .selected-brief-stats > div, .detail-stat, .scenario-controls, .scenario-waterfall { background: #f5f2fb !important; border-color: var(--lilac) !important; }
.card-stats > div :is(b,strong), .selected-brief-stats > div :is(b,strong), .detail-stat :is(b,strong), .scenario-controls :is(b,strong), .scenario-waterfall :is(b,strong) { color: var(--violet-deep) !important; }
.card-stats > div :is(span,i), .selected-brief-stats > div :is(span,i), .detail-stat :is(span,i), .scenario-controls :is(span,i), .scenario-waterfall :is(span,i) { color: var(--ink-muted) !important; }
.board-pager span { border: 1px solid var(--line-soft) !important; border-radius: 3px !important; background: #f1eee7 !important; color: var(--violet-deep) !important; font-family: var(--font-mono) !important; }
.tabs { scrollbar-width: none; }
.tabs::-webkit-scrollbar { display: none; }

/* Keep the three-column overview inside the available canvas at every desktop width. */
.dossier-workbench { grid-template-columns: minmax(200px, .72fr) minmax(0, 1.7fr) minmax(280px, .9fr) !important; }
@media (max-width: 1080px) { .dossier-workbench { grid-template-columns: minmax(200px, .6fr) minmax(0, 1fr) !important; } .dossier-rail-panel { grid-column: 1 / -1 !important; } }
@media (max-width: 640px) { .dossier-workbench { grid-template-columns: 1fr !important; } .dossier-rail-panel { grid-column: auto !important; } }

/* Audit remediation: one coherent editorial interface across every route. */
:root {
  --ink-muted: #586477;
  --lilac: #d5cdec;
  --lavender: #eeeaf8;
}

.hero-trust-actions { display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 18px !important; }
.hero-trust-actions button { min-height: 40px; border: 1px solid #bdb3dd !important; border-radius: 4px; padding: 9px 14px; background: #fffdf8 !important; color: var(--violet-deep) !important; font-size: 13px; font-weight: 700; cursor: pointer; }
.hero-trust-actions .hero-primary-action { border-color: var(--violet-deep) !important; background: var(--violet-deep) !important; color: #fff !important; }
body[data-active-tab="overview"] .site-command-bar { display: none !important; }
@media (min-width: 901px) { .product-hero .snapshot-grid { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; } }
.dashboard-metric-card strong { font-size: clamp(25px, 2.4vw, 34px) !important; }
.dashboard-metric-card span, .filter-bar label, .toolbar label { font-size: 12px !important; }

.page-intro { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(320px, 1.2fr); gap: 36px; align-items: end; margin-bottom: 18px; padding: 24px 28px; border-left: 4px solid var(--orange); background: #f4f1fb; }
.page-intro h2 { max-width: 620px; margin: 2px 0 0; color: var(--violet-deep); font-family: var(--font-serif); font-size: clamp(28px, 3vw, 42px); font-weight: 400; line-height: 1.02; letter-spacing: -.035em; }
.page-intro > p { max-width: 650px; margin: 0; color: var(--ink-muted); font-size: 15px; line-height: 1.55; }
.compact-intro h2 { font-size: clamp(26px, 2.6vw, 36px); }

.board-actions.toolbar-more summary, .toolbar-more summary { position: relative; cursor: pointer; font-family: var(--font-sans) !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0 !important; }
.board-actions.toolbar-more summary, .toolbar-more summary { padding-right: 42px !important; }
.board-actions.toolbar-more summary::after, .toolbar-more summary::after { content: "+"; position: absolute; right: 12px; color: var(--violet-deep); font-size: 18px; line-height: 1; }
.board-actions.toolbar-more[open] summary::after, .toolbar-more[open] summary::after { content: "−"; }

/* Overview: remove duplicate controls and keep the ranked board plus dossier readable. */
#tab-overview .dossier-workbench { grid-template-columns: minmax(0, 1fr) minmax(320px, 370px) !important; align-items: stretch !important; }
#tab-overview .filter-rail-panel { display: none !important; }
#tab-overview .dossier-main-panel, #tab-overview .dossier-rail-panel { min-width: 0 !important; width: auto !important; overflow: hidden !important; }
#tab-overview .dossier-rail-panel { grid-column: auto !important; position: sticky !important; top: 88px !important; }
#tab-overview .dossier-rail-stack { display: grid !important; grid-template-columns: 1fr !important; width: 100% !important; min-width: 0 !important; gap: 10px !important; padding: 14px !important; }
#tab-overview .dossier-rail-stack > * { min-width: 0 !important; max-width: 100% !important; }
#tab-overview .selected-player-card { grid-template-columns: 64px minmax(0, 1fr) !important; }
#tab-overview .selected-player-card > :last-child { grid-column: 1 / -1; }
#tab-overview .selected-player-card strong { color: var(--violet-deep) !important; font-family: var(--font-serif) !important; }
#tab-overview .selected-player-card p, #tab-overview .selected-brief-list, #tab-overview .record-breakdown p, #tab-overview .recent-files i { color: var(--ink-muted) !important; }
#tab-overview .rail-module, #tab-overview .next-checks article, #tab-overview .recent-files article { border: 1px solid var(--line-soft) !important; border-radius: 4px !important; background: #fffdf8 !important; color: var(--ink) !important; }
#tab-overview .rail-risk-readout { width: auto !important; border: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; }
#tab-overview .rail-risk-readout strong, #tab-overview .detail-stat b, #tab-overview .rail-module-title strong, #tab-overview .rail-module-title b { color: var(--violet-deep) !important; }
#tab-overview .rail-module-title span { color: #704d82 !important; }
#tab-overview .next-checks { grid-template-columns: 1fr !important; }
#tab-overview .full-dossier-action { width: 100%; border: 0; border-radius: 4px; padding: 12px; background: var(--violet-deep) !important; color: #fff; font-weight: 700; }
#tab-overview .selected-brief-list { border: 1px solid var(--line-soft) !important; border-radius: 4px !important; padding: 10px !important; background: #f4f1fb !important; color: var(--ink-muted) !important; }

#tab-overview .analyst-table-wrap { max-width: 100% !important; border: 1px solid var(--line-soft) !important; background: #fffdf8 !important; overflow: auto !important; }
#tab-overview .analyst-table { min-width: 800px !important; background: #fffdf8 !important; }
#tab-overview .analyst-table thead th { background: var(--lavender) !important; color: var(--violet-deep) !important; }
#tab-overview .analyst-table tbody tr, #tab-overview .analyst-table tbody tr:nth-child(odd), #tab-overview .analyst-table tbody tr:nth-child(even) { background: #fffdf8 !important; color: var(--ink) !important; }
#tab-overview .analyst-table tbody tr:nth-child(even) { background: #f8f5ee !important; }
#tab-overview .analyst-table tbody tr:hover, #tab-overview .analyst-table tbody tr.analyst-row.is-selected { background: #eeeaf8 !important; }
#tab-overview .analyst-table td, #tab-overview .analyst-table td strong, #tab-overview .analyst-table .board-name-cell strong, #tab-overview .analyst-table .board-metric strong, #tab-overview .analyst-table .team-code { color: var(--violet-deep) !important; }
#tab-overview .analyst-table .subtle, #tab-overview .analyst-table .trend-cell span { color: var(--ink-muted) !important; }

#tab-overview .command-context-block { display: grid !important; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr) minmax(0, 1.2fr) !important; gap: 0 !important; overflow: hidden !important; border: 1px solid var(--line-soft) !important; border-radius: 4px !important; background: #fffdf8 !important; box-shadow: none !important; }
#tab-overview .command-context-block > * { min-width: 0 !important; border-color: var(--line-soft) !important; background: #fffdf8 !important; color: var(--ink) !important; }
#tab-overview .trust-rail { display: grid !important; grid-template-columns: 1fr !important; gap: 8px !important; }
#tab-overview .trust-rail article { border: 1px solid var(--line-soft) !important; border-radius: 4px !important; padding: 10px !important; background: #f8f5ee !important; color: var(--ink) !important; }
#tab-overview .trust-rail strong, #tab-overview .command-context-metrics b, #tab-overview .risk-distribution strong, #tab-overview .refresh-stamp strong { color: var(--violet-deep) !important; }
#tab-overview .trust-rail p, #tab-overview .command-context-metrics span, #tab-overview .risk-distribution-labels, #tab-overview .refresh-stamp span { color: var(--ink-muted) !important; }
#tab-overview .method-links { grid-column: 1 / 3; display: flex !important; flex-wrap: wrap; gap: 8px !important; }
#tab-overview .method-links button { border: 1px solid var(--lilac) !important; border-radius: 4px !important; background: #f4f1fb !important; color: var(--violet-deep) !important; }
#tab-overview .refresh-stamp { grid-column: 3; }
#tab-overview .claim-banner { border: 1px solid var(--line-soft) !important; border-radius: 4px !important; background: #f4f1fb !important; color: var(--ink) !important; }
#tab-overview .claim-banner strong { color: var(--violet-deep) !important; }
#tab-overview .claim-banner p { color: var(--ink-muted) !important; }

#tab-overview .overview-chart-grid .panel-title, #tab-overview .overview-chart-grid .chart-card, #tab-overview .exposure-brief, #tab-overview .exposure-stack-card, #tab-overview .availability-visuals, #tab-overview .body-map, #tab-overview .season-timeline { border-color: var(--line-soft) !important; background: #fffdf8 !important; color: var(--ink) !important; }
#tab-overview .overview-chart-grid :is(h3,strong) { color: var(--violet-deep) !important; }
#tab-overview .overview-chart-grid :is(p,span) { color: var(--ink-muted) !important; }
#tab-overview .body-figure, #tab-overview .region-list article, #tab-overview .season-timeline article, #tab-overview .exposure-bands article, #tab-overview .claim-panel, #tab-overview .claim-row, #tab-overview .exposure-leaders, #tab-overview .exposure-leaders article { border-color: var(--line-soft) !important; background: #f8f5ee !important; color: var(--ink) !important; }
#tab-overview .region-list article, #tab-overview .season-timeline article { border-radius: 4px !important; }
#tab-overview .body-zone { color: var(--violet-deep) !important; }
#tab-overview .region-list i, #tab-overview .season-timeline i { background: #e5dfd4 !important; }
#tab-overview .season-timeline i span { background: linear-gradient(180deg, #7c65ad, #4f3f82) !important; }
#tab-overview .exposure-leaders b { color: var(--violet-deep) !important; }

/* Detail and contract surfaces: remove low-contrast gray legacy panels. */
#tab-players .detail-title, #tab-contracts .scenario-lead { border: 1px solid var(--line-soft) !important; border-radius: 4px !important; background: #fffdf8 !important; color: var(--ink) !important; }
#tab-players .detail-title h3, #tab-contracts .scenario-lead strong { color: var(--violet-deep) !important; }
#tab-players .detail-title .subtle, #tab-contracts .scenario-lead span { display: block !important; overflow: visible !important; color: var(--ink-muted) !important; white-space: normal !important; text-overflow: clip !important; }
#tab-players .detail-stats .detail-stat, #tab-contracts .scenario-controls, #tab-contracts .scenario-waterfall { border-color: var(--lilac) !important; background: #f4f1fb !important; }
#tab-contracts .scenario-controls { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
#tab-contracts .scenario-control { min-width: 0 !important; }
#tab-contracts .scenario-control > span { display: flex !important; justify-content: space-between; gap: 8px; }
#tab-contracts .scenario-control b { overflow: visible !important; white-space: normal !important; text-overflow: clip !important; }
#tab-contracts .scenario-control i { flex: 0 0 auto; }
#tab-contracts .trade-grid { grid-template-columns: minmax(0, 1.45fr) minmax(360px, .65fr) !important; }
#tab-contracts .table-wrap { max-width: 100%; overflow-x: auto !important; }
#tab-contracts table { min-width: 760px; }
#tab-contracts input[type="range"] { height: 6px; border: 0 !important; border-radius: 999px !important; accent-color: var(--violet-deep); background: #d9d1ec !important; }
#tab-contracts .contract-team-exposure, #tab-contracts .team-exposure-list, #tab-contracts .team-exposure-list article { border-color: var(--line-soft) !important; background: #fffdf8 !important; color: var(--ink) !important; }
#tab-contracts .team-exposure-list article span { color: var(--ink-muted) !important; }

/* Clearer explanatory content and stronger contrast. */
.insight-card span, .team-readout span, .trade-readout span, .episode-readout span, .data-status-grid .insight-card span { color: #704d82 !important; font-size: 12px !important; }
.insight-card p, .status-item p, .metric span, .team-readout p, .trade-readout p, .episode-readout p { color: var(--ink-muted) !important; }
.method-grid, .data-status-grid { gap: 12px !important; padding: 12px !important; background: transparent !important; }
.method-grid .insight-card, .data-status-grid .insight-card { min-width: 0 !important; border: 0 !important; border-left: 3px solid var(--lilac) !important; background: #f8f5ee !important; }
.data-status-grid .insight-card:nth-child(7), .data-status-grid .insight-card:nth-child(8) { border-left-color: var(--orange) !important; background: #f4f1fb !important; }
.method-grid .insight-card p, .data-status-grid .insight-card p { display: block !important; overflow: visible !important; max-height: none !important; white-space: normal !important; text-overflow: clip !important; }

.team-tier-legend { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 10px 0 16px; padding: 0 12px; color: var(--ink-muted); font-size: 12px; }
.team-tier-legend span { display: inline-flex; align-items: center; gap: 6px; }
.team-tier-legend span::before { content: ""; width: 18px; height: 6px; border-radius: 999px; background: #3d7d59; }
.team-tier-legend .watch::before { background: #4668a5; }
.team-tier-legend .elevated::before { background: #b77a2f; }
.team-tier-legend .high::before { background: #a84b45; }

#tab-absences .toolbar > .toolbar-more { grid-column: auto !important; align-self: end; }
#tab-absences .toolbar > .toolbar-more summary { min-height: 38px; display: flex; align-items: center; padding: 8px 12px !important; }
#tab-absences .episode-readout article:nth-child(2) span { max-width: 150px; line-height: 1.25; }

#tab-teams .metric-grid { margin-bottom: 12px !important; }
#tab-teams .team-readout { gap: 12px !important; }
#tab-teams .team-readout article { min-height: 0 !important; height: auto !important; overflow: visible !important; }
#tab-teams .team-readout article p { display: block !important; overflow: visible !important; max-height: none !important; white-space: normal !important; text-overflow: clip !important; }
#tab-teams .team-visuals { margin-top: 12px !important; }

/* Contract board metadata should never lose the final coverage label. */
#tab-contracts .subtle {
  max-width: none;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}

#tab-contracts .trend-chip,
#tab-contracts .trend-chip b {
  min-width: max-content;
  overflow: visible;
  white-space: nowrap;
}

/* Screenshot repairs: chart panels must respond to their own column width. */
#tab-overview .overview-chart-grid {
  align-items: start !important;
}

#tab-overview .overview-chart-grid > .panel {
  align-self: start !important;
  height: auto !important;
  min-width: 0 !important;
}

#tab-overview .exposure-brief {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

#tab-overview .exposure-stack-card {
  grid-column: 1 / -1;
}

#tab-overview .availability-visuals {
  grid-template-columns: minmax(0, 1fr) !important;
}

#tab-overview .body-map {
  grid-template-columns: minmax(170px, 0.72fr) minmax(260px, 1.28fr) !important;
}

#tab-overview .region-list,
#tab-overview .season-timeline {
  width: 100% !important;
  min-width: 0 !important;
}

#tab-overview .region-list article,
#tab-overview .season-timeline article {
  min-width: 0 !important;
  overflow: hidden !important;
}

#tab-overview .region-list article div {
  align-items: start;
}

#tab-overview .region-list article div > :first-child {
  min-width: 0;
  overflow-wrap: anywhere;
}

#tab-overview .body-zone {
  transform: translate(-50%, -50%);
}

#tab-overview .season-timeline {
  grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
}

#tab-overview .season-timeline article {
  padding: 8px 6px !important;
}

#tab-overview .season-timeline article div,
#tab-overview .season-timeline article div span {
  min-width: 0 !important;
  overflow-wrap: anywhere;
}

/* Keep the overview summary compact instead of stretching small metrics vertically. */
#tab-overview .trust-rail {
  grid-column: 1 / -1 !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

#tab-overview .command-context-metrics {
  grid-column: 1 !important;
}

#tab-overview .risk-distribution {
  grid-column: 2 / -1 !important;
}

#tab-overview .command-context-block > * {
  align-self: stretch !important;
}

/* Mobile: independent tab scroller, readable content, and non-truncated controls. */
@media (max-width: 700px) {
  .topbar { overflow: hidden !important; }
  .topbar-primary { display: block !important; width: 100% !important; min-width: 0 !important; }
  .brand { width: 100% !important; min-width: 0 !important; }
  .brand-copy { min-width: 0 !important; }
  .brand h1 { overflow: visible !important; font-size: clamp(19px, 5.6vw, 22px) !important; line-height: 1.08 !important; white-space: normal !important; text-overflow: clip !important; }
  .tabs { width: auto !important; max-width: none !important; margin: 12px -16px 0 !important; padding: 0 32px 4px 16px !important; overflow-x: auto !important; overflow-y: hidden !important; scroll-snap-type: x proximity; box-shadow: inset -20px 0 18px -18px rgba(49,40,95,.55); }
  .tab { scroll-snap-align: start; }

  #tab-overview .dossier-workbench { grid-template-columns: 1fr !important; }
  #tab-overview .dossier-rail-panel { grid-column: auto !important; position: static !important; }
  #tab-overview .analyst-table-wrap { display: none !important; }
  #tab-overview .analyst-mobile-list { display: grid !important; }
  #tab-overview .command-context-block { grid-template-columns: 1fr !important; }
  #tab-overview .method-links, #tab-overview .refresh-stamp { grid-column: auto !important; }
  #tab-overview .exposure-brief { grid-template-columns: 1fr !important; }
  #tab-overview .exposure-stack-card { grid-column: auto; }
  #tab-overview .trust-rail { grid-column: auto !important; grid-template-columns: 1fr !important; }
  #tab-overview .command-context-metrics, #tab-overview .risk-distribution { grid-column: auto !important; }
  #tab-overview .body-map, #tab-overview .season-timeline { grid-template-columns: 1fr !important; }
  #tab-overview .season-timeline article { min-height: 104px !important; grid-template-columns: minmax(0, 1fr) 42px auto !important; grid-template-rows: none !important; align-items: center !important; }

  #tab-contracts .scenario-controls { grid-template-columns: 1fr !important; }
  #tab-contracts .trade-grid { grid-template-columns: 1fr !important; }
  #tab-contracts .toolbar.compact { grid-template-columns: 1fr !important; }
  #tab-contracts .toolbar select { width: 100% !important; min-width: 0 !important; }

  #tab-method .method-grid, #tab-data .data-status-grid { grid-template-columns: 1fr !important; }
  #tab-method .method-grid .insight-card, #tab-data .data-status-grid .insight-card { min-height: 0 !important; height: auto !important; }
  #tab-method .panel-title, #tab-data .panel-title { display: grid !important; grid-template-columns: 1fr !important; gap: 6px !important; }
  #tab-method .panel-title span, #tab-data .panel-title span { text-align: left !important; white-space: normal !important; }

  #tab-absences .episode-readout { grid-template-columns: 1fr !important; }
  #tab-absences .board-pager { display: grid !important; grid-template-columns: auto auto !important; gap: 8px !important; }
  #tab-absences .board-pager span { grid-column: 1 / -1; grid-row: 1; padding: 9px !important; white-space: normal !important; text-align: center; }
  #tab-absences .board-pager button { width: 100%; }
  .page-intro { grid-template-columns: 1fr; gap: 12px; padding: 20px; }
  .page-intro h2, .compact-intro h2 { font-size: 30px; }
}

/* 2026-07 record-analysis and readability pass.
   Final tokens are deliberately WCAG AAA for body copy on their surfaces. */
:root {
  --paper: #fbfaf7;
  --paper-warm: #f3f0e9;
  --ink-strong: #262042;
  --ink: #354052;
  --ink-muted: #526076;
  --violet-deep: #31285f;
  --violet: #59479a;
  --lavender: #eeeaf8;
  --lilac: #d5cdec;
  --orange: #9f3f20;
  --line-soft: #cbc6bb;
  --focus: #1d4ed8;
  --high-bg: #fde8e6;
  --high-ink: #872b25;
  --elevated-bg: #fff1d6;
  --elevated-ink: #734500;
  --watch-bg: #e8effb;
  --watch-ink: #254e8a;
  --low-bg: #e3f4e9;
  --low-ink: #1e6740;
}

html {
  color-scheme: light;
  scroll-behavior: smooth;
}

body {
  min-width: 320px;
  color: var(--ink) !important;
  background: var(--paper) !important;
  font-size: 15px;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body :is(p, li, dd, td, input, select, button) {
  line-height: 1.5;
}

body :is(.subtle, .topbar-meta, .panel-title > span, .section-heading > span) {
  color: var(--ink-muted) !important;
}

.brand-copy p,
.eyebrow,
.brief-kicker,
.rail-module-title span,
.insight-card > span,
.team-readout article > span,
.trade-readout article > span,
.episode-readout article > span {
  color: var(--orange) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.045em !important;
}

.brand h1,
.console-heading h2,
.page-intro h2,
.panel-title h2,
.panel-title h3,
.section-heading h3 {
  color: var(--violet-deep) !important;
}

.tab,
input,
select,
button,
.secondary-action,
.filter-save-action {
  min-height: 44px;
}

.tab {
  display: inline-flex;
  align-items: center;
  color: var(--ink-muted) !important;
  font-size: 13px !important;
}

.tab:hover,
.tab.is-active {
  color: var(--violet-deep) !important;
  background: var(--lavender) !important;
}

:where(a, button, input, select, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--focus) !important;
  outline-offset: 3px !important;
}

a {
  color: #4338a8;
  text-decoration-thickness: 0.09em;
  text-underline-offset: 0.16em;
}

.console-heading {
  min-height: 310px !important;
  border-color: var(--line-soft) !important;
  background: linear-gradient(120deg, #f2effb 0%, var(--paper) 72%) !important;
  box-shadow: 10px 10px 0 #e9e4f5 !important;
}

.console-heading h2 {
  max-width: 650px !important;
  font-size: clamp(42px, 7vw, 78px) !important;
  line-height: 0.94 !important;
}

.console-heading > div > p:not(.eyebrow) {
  max-width: 640px !important;
  color: var(--ink) !important;
  font-size: clamp(17px, 2vw, 21px) !important;
}

.console-heading aside {
  border-color: var(--lilac) !important;
  background: var(--lavender) !important;
}

.console-heading aside span,
.hero-use-guide {
  color: var(--ink-muted) !important;
}

.product-hero .snapshot-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  max-width: none;
}

.console-heading::after {
  font-size: 12px !important;
}

.dashboard-metric-card {
  min-height: 96px !important;
  border-color: var(--line-soft) !important;
  background: #fff !important;
}

.dashboard-metric-card p {
  color: var(--ink-muted) !important;
}

.page-intro {
  grid-template-columns: minmax(220px, 0.8fr) minmax(220px, 1.2fr);
  padding-block: 18px !important;
  border-left-color: var(--orange) !important;
  background: var(--lavender) !important;
}

.page-intro > p {
  color: var(--ink-muted) !important;
  font-size: 16px;
}

.panel,
.detail-panel,
.dossier-panel,
.detail-drawer,
.evidence-drawer {
  border-color: var(--line-soft) !important;
  background: #fff !important;
  box-shadow: none !important;
}

.panel-title {
  border-bottom-color: #e4e0d7 !important;
}

.board-command-row,
.toolbar,
.toolbar-more {
  border-color: var(--line-soft) !important;
  background: var(--paper-warm) !important;
}

.toolbar label,
.filter-bar label,
.topbar-search label,
.toolbar-more summary,
table th {
  color: var(--violet-deep) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.advanced-filters summary,
.board-more-filters summary {
  border: 1px solid #aaa2bd !important;
  background: #fff !important;
  color: var(--violet-deep) !important;
  font-size: 12px !important;
}

input,
select {
  border-color: #aaa2bd !important;
  background: #fff !important;
  color: var(--ink-strong) !important;
}

input::placeholder {
  color: #667085;
  opacity: 1;
}

table th {
  background: var(--lavender) !important;
}

table td {
  color: var(--ink) !important;
  border-color: #e3ded4 !important;
}

table tbody tr:hover td,
table tbody tr:focus td,
.analyst-table tbody tr.analyst-row.is-selected td {
  background: #f4f1fb !important;
}

.pill.high,
.status-badge.high,
.confidence-badge.high {
  color: var(--high-ink) !important;
  background: var(--high-bg) !important;
}

.pill {
  min-height: 28px !important;
  font-size: 12px !important;
}

.team-badge,
.team-badge b,
.team-code {
  color: var(--violet-deep) !important;
}

.dashboard-metric-card > span,
.board-status-strip article span,
.section-heading > span,
.topbar-panel > span {
  font-size: 12px !important;
}

.pill.elevated,
.status-badge.elevated,
.confidence-badge.elevated {
  color: var(--elevated-ink) !important;
  background: var(--elevated-bg) !important;
}

.pill.watch,
.status-badge.watch,
.confidence-badge.watch {
  color: var(--watch-ink) !important;
  background: var(--watch-bg) !important;
}

.pill.low,
.status-badge.low,
.confidence-badge.low {
  color: var(--low-ink) !important;
  background: var(--low-bg) !important;
}

.dossier-interpretation p,
.record-analysis-card p,
.status-item p,
.insight-card p {
  max-width: 72ch;
  color: var(--ink-muted) !important;
  font-size: 14px;
  line-height: 1.6;
}

.dossier-interpretation {
  border-left: 4px solid var(--orange) !important;
  background: #fffaf3 !important;
}

.team-analysis-card {
  grid-column: 1 / -1;
  border-left: 4px solid var(--orange) !important;
  background: #fffaf3 !important;
}

.team-analysis-card p {
  max-width: 92ch;
}

.evidence-drawer .status-stack .status-item:first-child {
  border-left: 4px solid var(--orange) !important;
  background: #fffaf3 !important;
}

.workbench-checks-section,
.supporting-board-summary {
  display: none !important;
}

.risk-scale,
.board-meter,
.signal-bar i,
.waterfall-bars article i,
.scenario-bars i {
  overflow: hidden;
  border: 1px solid #c7c1b7;
  background: #e6e1d8 !important;
}

.secondary-action,
.filter-save-action,
.hero-trust-actions button {
  border-color: var(--violet-deep) !important;
  color: var(--violet-deep) !important;
  background: #fff !important;
}

.hero-trust-actions .hero-primary-action,
.segment.is-active,
.tier-chip.is-active,
.full-dossier-action {
  border-color: var(--violet-deep) !important;
  color: #fff !important;
  background: var(--violet-deep) !important;
}

@media (max-width: 900px) {
  .console-heading {
    min-height: 0 !important;
  }

  .product-hero .snapshot-grid {
    max-width: none;
  }

  .team-analysis-card {
    grid-column: auto;
  }
}

@media (max-width: 700px) {
  body {
    font-size: 16px;
  }

  .shell {
    padding-inline: 14px !important;
  }

  .console-heading {
    padding: 24px 20px !important;
    box-shadow: 6px 6px 0 #e9e4f5 !important;
  }

  .console-heading h2 {
    font-size: clamp(42px, 15vw, 62px) !important;
  }

  .product-hero .snapshot-grid {
    grid-template-columns: 1fr !important;
  }

  .page-intro {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

@media (forced-colors: active) {
  :where(.pill, .status-badge, .confidence-badge, .tab.is-active) {
    border: 1px solid ButtonText !important;
  }
}

/* Final contrast guardrails for legacy components kept in the compact layout. */
.body-zone {
  color: var(--violet-deep) !important;
  background: #fff !important;
  border-color: var(--violet) !important;
  font-size: 12px !important;
}

.sort-header-button,
.advanced-filters label,
.filter-rail-title span,
.selected-brief-list span,
.selected-brief-tags span,
.empty {
  color: var(--ink-muted) !important;
}

.sort-header-button,
.advanced-filters label,
.filter-rail-title span,
.selected-brief-list span,
.selected-brief-tags span,
.empty,
.selected-close,
.tier-chip b,
.brand-mark b,
.board-status-strip strong,
.trust-chips span,
.dashboard-metric-card p,
.tier-chip span,
.trend-cell span,
.risk-scale-labels span,
.rail-trend span,
.recent-files span,
.recent-files i {
  font-size: 12px !important;
}

.dashboard-metric-card > span {
  color: var(--orange) !important;
}

.rail-trend,
.rail-trend span,
.risk-scale-labels span,
.recent-files span,
.recent-files i {
  color: var(--ink-muted) !important;
}

.rail-trend b {
  color: var(--violet-deep) !important;
}

.selected-close {
  color: var(--violet-deep) !important;
  background: #fff !important;
  border: 1px solid var(--line-strong) !important;
}

.tier-chip b {
  color: inherit !important;
}

.rail-risk-readout > span.high,
.risk-pill.high {
  color: var(--high-ink) !important;
  background: var(--high-bg) !important;
}

.rail-risk-readout > span.elevated,
.risk-pill.elevated {
  color: var(--elevated-ink) !important;
  background: var(--elevated-bg) !important;
}

.rail-risk-readout > span.watch,
.risk-pill.watch {
  color: var(--watch-ink) !important;
  background: var(--watch-bg) !important;
}

.rail-risk-readout > span.low,
.risk-pill.low {
  color: var(--low-ink) !important;
  background: var(--low-bg) !important;
}

.advanced-filters .empty {
  color: #dceff5 !important;
}

.player-dossier-card > div > span {
  color: var(--violet-deep) !important;
}

.row-avatar b,
.player-portrait b,
.dossier-rail-stack :where(small, i),
.dashboard-readout :where(small, i),
.signal-grid :where(small, i),
.risk-tiers :where(small, i),
.region-grid :where(small, i) {
  font-size: 12px !important;
}

.tab,
.hero-primary-action,
input,
select {
  min-height: 44px !important;
}

.player-filter-toggle,
.segment {
  min-width: 44px !important;
  min-height: 44px !important;
}

@media (max-width: 700px) {
  .console-heading::after {
    display: none !important;
  }
}

/* Cross-route contrast normalization. */
.subtle,
.dossier-brief-meta,
.dossier-brief-meta *,
.curve-head,
.curve-head *,
.availability-curve-card.dossier p {
  color: var(--ink-muted) !important;
}

.rank-badge {
  color: var(--violet-deep) !important;
  background: #f0edf9 !important;
  border-color: #cbc3e6 !important;
}

.rank-badge > * {
  color: inherit !important;
}

.board-metric,
.board-metric strong {
  color: var(--violet-deep) !important;
}

.board-metric :where(span, small) {
  color: var(--ink-muted) !important;
}

:where(.team-readout, .trade-readout, .episode-readout) article {
  color: var(--ink) !important;
  background: #fffdf8 !important;
}

:where(.team-readout, .trade-readout, .episode-readout) article span,
.record-analysis-card > span,
.ceiling-card > span,
.glossary-card > span,
.passed > span {
  color: var(--orange) !important;
}

:where(.team-readout, .trade-readout, .episode-readout) article strong,
.record-analysis-card strong,
.ceiling-card strong,
.glossary-card strong,
.passed strong {
  color: var(--violet-deep) !important;
}

:where(.team-readout, .trade-readout, .episode-readout) article p,
.record-analysis-card p,
.ceiling-card p,
.ceiling-card li,
.glossary-card p,
.glossary-card li,
.passed p {
  color: var(--ink-muted) !important;
}

.ceiling-card,
.glossary-card,
.passed {
  color: var(--ink) !important;
  background: #fffdf8 !important;
}

.status-badge {
  color: var(--violet-deep) !important;
  background: #f0edf9 !important;
  border-color: #cbc3e6 !important;
  font-size: 12px !important;
}

.pill.positive_time_loss {
  color: var(--high-ink) !important;
  background: var(--high-bg) !important;
}

.pill.negative_control {
  color: var(--low-ink) !important;
  background: var(--low-bg) !important;
}

.pill.exclude_from_training {
  color: var(--elevated-ink) !important;
  background: var(--elevated-bg) !important;
}

.pill.experimental_promising,
.pill.production_usable,
.pill.weak_context_only {
  color: var(--violet-deep) !important;
  background: #f0edf9 !important;
}

.scenario-score,
.scenario-score * {
  color: #fff !important;
}

.waterfall-bars article strong {
  color: var(--violet-deep) !important;
}

.waterfall-bars article :where(span, p) {
  color: var(--ink-muted) !important;
}

.scenario-check.is-active span {
  color: var(--high-ink) !important;
  background: var(--high-bg) !important;
}

#tab-players .subtle,
#tab-teams .subtle,
#tab-contracts .subtle,
#tab-absences .subtle {
  color: var(--ink-muted) !important;
}

.tab-panel .rank-badge b,
.tab-panel .rank-badge span {
  color: var(--violet-deep) !important;
}

.tab-panel .board-metric strong {
  color: var(--violet-deep) !important;
}

.tab-panel .board-metric span,
.tab-panel .board-metric small {
  color: var(--ink-muted) !important;
}

.tab-panel .team-readout article,
.tab-panel .trade-readout article,
.tab-panel .episode-readout article {
  color: var(--ink) !important;
  background: #fffdf8 !important;
}

.tab-panel .team-readout article > span,
.tab-panel .trade-readout article > span,
.tab-panel .episode-readout article > span {
  color: var(--orange) !important;
}

.tab-panel .team-readout article strong,
.tab-panel .trade-readout article strong,
.tab-panel .episode-readout article strong {
  color: var(--violet-deep) !important;
}

.tab-panel .team-readout article p,
.tab-panel .trade-readout article p,
.tab-panel .episode-readout article p {
  color: var(--ink-muted) !important;
}

#tab-absences .pill.positive_time_loss {
  color: var(--high-ink) !important;
  background: var(--high-bg) !important;
}

#tab-absences .pill.negative_control,
#tab-players .pill.negative_control {
  color: var(--low-ink) !important;
  background: var(--low-bg) !important;
}

#tab-absences .pill.exclude_from_training,
#tab-players .pill.exclude_from_training {
  color: var(--elevated-ink) !important;
  background: var(--elevated-bg) !important;
}

#tab-players .pill.positive_time_loss {
  color: var(--high-ink) !important;
  background: var(--high-bg) !important;
}

#tab-contracts .scenario-score,
#tab-contracts .scenario-score * {
  color: #fff !important;
}

#tab-contracts .waterfall-bars article strong {
  color: var(--violet-deep) !important;
}

#tab-contracts .waterfall-bars article span,
#tab-contracts .waterfall-bars article p {
  color: var(--ink-muted) !important;
}

#tab-contracts .scenario-check.is-active span {
  color: var(--high-ink) !important;
  background: var(--high-bg) !important;
}

#tab-method .rank-badge b,
#tab-method .rank-badge span,
#tab-method .status-badge,
#tab-method .glossary-card strong,
#tab-method .passed strong {
  color: var(--violet-deep) !important;
}

#tab-method .glossary-card span,
#tab-method .passed span {
  color: var(--orange) !important;
}

#tab-method .glossary-card p,
#tab-method .glossary-card li,
#tab-method .passed p {
  color: var(--ink-muted) !important;
}

#tab-method .pill.experimental_promising,
#tab-method .pill.production_usable,
#tab-method .pill.weak_context_only {
  color: var(--violet-deep) !important;
  background: #f0edf9 !important;
}

.tab-panel .rank-badge i {
  color: var(--ink-muted) !important;
  font-size: 12px !important;
}

#tab-contracts .status-badge {
  color: var(--violet-deep) !important;
  background: #f0edf9 !important;
}

#tab-contracts .scenario-checklist article.is-active {
  background: #fffdf8 !important;
}

#tab-contracts .scenario-checklist article.is-active span {
  color: var(--high-ink) !important;
  background: var(--high-bg) !important;
}

#tab-contracts .scenario-checklist article.is-active strong {
  color: var(--violet-deep) !important;
}

#tab-method .board-row {
  color: var(--ink) !important;
  background: #fffdf8 !important;
}

#tab-method .passed > span {
  color: var(--low-ink) !important;
  background: var(--low-bg) !important;
  font-size: 12px !important;
}

#tab-method .board-metric strong {
  color: var(--violet-deep) !important;
}

#tab-method .board-metric > span:last-child {
  color: var(--ink-muted) !important;
  font-size: 12px !important;
}

#tab-players .dossier-brief-meta span {
  color: var(--violet-deep) !important;
  background: #f0edf9 !important;
  font-size: 12px !important;
}

#tab-players .availability-curve-card.dossier {
  color: var(--ink) !important;
  background: #fffdf8 !important;
}

#tab-players .availability-curve-card.dossier :where(h3, strong) {
  color: var(--violet-deep) !important;
}

#tab-players .availability-curve-card.dossier :where(p, span) {
  color: var(--ink-muted) !important;
}

#tab-players .availability-curve-card.dossier .curve-head .watch {
  color: var(--watch-ink) !important;
  background: var(--watch-bg) !important;
  font-size: 12px !important;
}

#tab-players .availability-curve-card.dossier > p,
#tab-players .availability-curve-card.dossier .curve-head span:not(.watch) {
  color: var(--ink-muted) !important;
}

#tab-method .board-row,
#tab-method .board-row td,
#tab-method .board-row td > * {
  color: var(--ink) !important;
}

#tab-method .board-row .subtle,
#tab-method .board-row td > span:last-child {
  color: var(--ink-muted) !important;
}

#tab-method .board-row .rank-badge b {
  color: var(--violet-deep) !important;
}

#tab-method .board-row .rank-badge i {
  color: var(--ink-muted) !important;
}

/* Movement chips sit on the final light dossier surface. */
.tab-panel .trend-chip {
  color: var(--ink) !important;
  background: #fffdf8 !important;
  border-color: var(--line-soft) !important;
}

.tab-panel .trend-chip i {
  color: var(--ink-muted) !important;
}

.tab-panel .trend-chip b {
  color: var(--violet-deep) !important;
}

.tab-panel .trend-chip.high {
  color: var(--high-ink) !important;
  background: var(--high-bg) !important;
}

.tab-panel .trend-chip.high b {
  color: var(--high-ink) !important;
}

.tab-panel .trend-chip.elevated {
  color: var(--elevated-ink) !important;
  background: var(--elevated-bg) !important;
}

.tab-panel .trend-chip.elevated b {
  color: var(--elevated-ink) !important;
}

.tab-panel .trend-chip.watch {
  color: var(--watch-ink) !important;
  background: var(--watch-bg) !important;
}

.tab-panel .trend-chip.watch b {
  color: var(--watch-ink) !important;
}

.tab-panel .trend-chip.low {
  color: var(--low-ink) !important;
  background: var(--low-bg) !important;
}

.tab-panel .trend-chip.low b {
  color: var(--low-ink) !important;
}

.player-avatar b,
.player-portrait b {
  color: #fff !important;
}

.toolbar-more > summary,
.advanced-filters > summary,
.sort-header-button {
  min-width: 44px !important;
  min-height: 44px !important;
}

#tab-contracts .scenario-bars article {
  color: var(--ink) !important;
  background: #fffdf8 !important;
  border-color: var(--line-soft) !important;
}

#tab-contracts .scenario-bars article div,
#tab-contracts .scenario-bars article strong,
#tab-contracts .scenario-bars article span {
  color: var(--violet-deep) !important;
}

#tab-method .trust-map {
  color: var(--ink) !important;
  background: transparent !important;
  border-color: var(--line-soft) !important;
}

#tab-method .trust-lane {
  color: var(--ink) !important;
  background: #f8f5ee !important;
  border-color: var(--line-soft) !important;
}

#tab-method .trust-targets article {
  color: var(--ink) !important;
  background: #fffdf8 !important;
  border-color: var(--line-soft) !important;
}

#tab-method .trust-targets article b {
  color: var(--violet-deep) !important;
}

#tab-method .trust-targets article span,
#tab-method .trust-targets article p {
  color: var(--ink-muted) !important;
}

#tab-data .data-artifact-list {
  color: var(--ink) !important;
  background: transparent !important;
  border-color: var(--line-soft) !important;
}

#tab-data .artifact-link {
  color: var(--ink) !important;
  background: #fffdf8 !important;
  border-color: var(--line-soft) !important;
}

#tab-data .artifact-link strong {
  color: var(--violet-deep) !important;
}

#tab-data .artifact-link span {
  color: var(--ink-muted) !important;
}

/* Dossier curve labels use the same accessible risk palette as the board. */
#tab-players .availability-curve-card.dossier .curve-head :is(.high, .elevated, .watch, .low) {
  font-size: 12px !important;
}

#tab-players .availability-curve-card.dossier .curve-head .high {
  color: var(--high-ink) !important;
  background: var(--high-bg) !important;
}

#tab-players .availability-curve-card.dossier .curve-head .elevated {
  color: var(--elevated-ink) !important;
  background: var(--elevated-bg) !important;
}

#tab-players .availability-curve-card.dossier .curve-head .watch {
  color: var(--watch-ink) !important;
  background: var(--watch-bg) !important;
}

#tab-players .availability-curve-card.dossier .curve-head .low {
  color: var(--low-ink) !important;
  background: var(--low-bg) !important;
}

/* Mobile cards inherit the final light-surface text tokens, not legacy console colors. */
.tab-panel .mobile-card span {
  color: var(--ink-muted) !important;
}

#tab-players .availability-curve-card.dossier .curve-points article span {
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
}

/* ==========================================================================
   Calm public-site redesign — July 2026
   A final, deliberate presentation layer over the legacy analytical UI.
   ========================================================================== */

:root {
  color-scheme: light;
  --paper: #f6f3ed;
  --paper-strong: #fffdf9;
  --paper-soft: #eeeae3;
  --ink: #211e33;
  --ink-muted: #5c586b;
  --line: #d6d0c7;
  --line-soft: #e5e0d8;
  --violet: #4a3d7d;
  --violet-deep: #2f2858;
  --violet-soft: #eeeaf8;
  --orange: #a94d20;
  --orange-soft: #fae8de;
  --high-ink: #8f2f2b;
  --high-bg: #f8e5e2;
  --elevated-ink: #855116;
  --elevated-bg: #faedcf;
  --watch-ink: #4d4777;
  --watch-bg: #ece9f7;
  --low-ink: #176148;
  --low-bg: #dff1e9;
  --shadow-soft: 0 12px 34px rgba(35, 29, 57, 0.07);
}

[hidden] {
  display: none !important;
}

html {
  min-width: 320px;
  background: var(--paper);
  scroll-behavior: smooth;
}

body {
  min-width: 320px;
  margin: 0;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 12% -10%, rgba(114, 92, 170, 0.1), transparent 31rem),
    var(--paper) !important;
  color: var(--ink) !important;
  font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body * {
  box-sizing: border-box;
  font-size: 14px !important;
  line-height: 1.5;
}

body :where(p, li, dd) {
  font-size: 15px !important;
  line-height: 1.62;
}

body :where(strong, b) {
  font-weight: 700 !important;
}

body h1,
body h2,
body h3,
body h4 {
  margin: 0;
  color: var(--ink) !important;
  font-family: "DM Sans", system-ui, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em;
  line-height: 1.12;
  text-wrap: balance;
}

body h1 {
  font-size: 20px !important;
}

body h2 {
  font-size: clamp(27px, 3vw, 38px) !important;
}

body h3 {
  font-size: 20px !important;
}

body h4 {
  font-size: 17px !important;
}

body p {
  margin: 0;
  color: var(--ink-muted) !important;
}

body :where(button, input, select, summary, a) {
  font-family: inherit !important;
}

body :where(button, summary, a) {
  font-weight: 600 !important;
}

body :where(button, input, select, summary) {
  min-height: 44px;
}

body :where(input, select) {
  width: 100%;
  border: 1px solid #bcb5aa !important;
  border-radius: 10px !important;
  outline: none;
  background: #fff !important;
  color: var(--ink) !important;
  padding: 10px 13px !important;
}

body :where(input, select):focus {
  border-color: var(--violet) !important;
  box-shadow: 0 0 0 3px rgba(74, 61, 125, 0.16) !important;
}

body :where(button, a, input, select, summary):focus-visible {
  outline: 3px solid #d05a28 !important;
  outline-offset: 3px !important;
}

.runtime-tools,
.topbar-tools,
.site-command-bar {
  display: none !important;
}

.topbar {
  position: sticky !important;
  top: 0;
  z-index: 40;
  width: 100%;
  min-height: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  background: rgba(255, 253, 249, 0.96) !important;
  box-shadow: 0 6px 20px rgba(35, 29, 57, 0.05) !important;
  backdrop-filter: blur(15px);
}

.topbar-primary {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
  width: min(1320px, 100%) !important;
  min-height: 76px !important;
  margin: 0 auto !important;
  padding: 12px 28px !important;
}

.brand {
  display: flex !important;
  flex: 0 0 auto;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0;
}

.brand-mark {
  display: grid !important;
  width: 46px !important;
  height: 46px !important;
  place-items: center;
  border: 0 !important;
  border-radius: 13px !important;
  background: var(--violet-deep) !important;
  box-shadow: none !important;
}

.brand-mark b {
  color: #fff !important;
  font-size: 14px !important;
  letter-spacing: 0.08em;
}

.brand-mark i {
  display: none !important;
}

.brand-copy {
  display: grid;
  gap: 1px;
}

.brand-copy p {
  color: var(--orange) !important;
  font-size: 14px !important;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.brand-copy h1 {
  white-space: nowrap;
}

.tabs {
  display: flex !important;
  align-items: center !important;
  gap: 3px !important;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.tabs::-webkit-scrollbar {
  display: none;
}

.tab {
  min-height: 44px !important;
  flex: 0 0 auto;
  border: 0 !important;
  border-radius: 9px !important;
  background: transparent !important;
  color: var(--ink-muted) !important;
  padding: 10px 12px !important;
  box-shadow: none !important;
}

.tab:hover {
  background: var(--paper-soft) !important;
  color: var(--ink) !important;
}

.tab.is-active {
  background: var(--violet-soft) !important;
  color: var(--violet-deep) !important;
}

.shell {
  width: min(1320px, 100%) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 34px 28px 72px !important;
}

.tab-panel {
  width: 100%;
  min-width: 0;
}

.tab-panel.is-active {
  display: block !important;
}

.tab-panel > * + * {
  margin-top: 22px !important;
}

.panel,
.toolbar,
.page-intro {
  border: 1px solid var(--line) !important;
  border-radius: 18px !important;
  background: var(--paper-strong) !important;
  color: var(--ink) !important;
  box-shadow: var(--shadow-soft) !important;
}

.panel {
  min-width: 0;
  overflow: visible !important;
  padding: 24px !important;
}

.panel::before,
.panel::after,
.toolbar::before,
.toolbar::after,
.page-intro::before,
.page-intro::after {
  display: none !important;
}

.panel-title {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin: 0 0 18px !important;
  padding: 0 0 16px !important;
  border-bottom: 1px solid var(--line-soft) !important;
}

.panel-title > :where(span, strong) {
  color: var(--ink-muted) !important;
  font-weight: 600 !important;
}

.panel-title h2,
.panel-title h3 {
  max-width: 32ch;
}

.eyebrow {
  margin: 0 0 8px !important;
  color: var(--orange) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.11em !important;
  line-height: 1.25 !important;
  text-transform: uppercase;
}

.page-intro {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 0.65fr) !important;
  align-items: end !important;
  gap: 28px !important;
  min-height: 0 !important;
  padding: 28px 30px !important;
  overflow: hidden !important;
}

.page-intro h2 {
  max-width: 24ch;
}

.page-intro > p {
  max-width: 50ch;
  justify-self: end;
  color: var(--ink-muted) !important;
}

.overview-purpose {
  display: grid !important;
  grid-template-columns: minmax(0, 1.18fr) minmax(340px, 0.82fr) !important;
  align-items: center;
  gap: clamp(30px, 6vw, 76px) !important;
  min-height: 440px;
  padding: clamp(34px, 6vw, 72px) !important;
  overflow: hidden;
  border: 1px solid #2e294a !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 8% 12%, rgba(211, 94, 40, 0.22), transparent 22rem),
    linear-gradient(135deg, #1a172f, #292244) !important;
  box-shadow: 0 24px 55px rgba(33, 28, 57, 0.18) !important;
}

#tab-overview .overview-purpose :where(h2, strong) {
  color: #fff !important;
}

#tab-overview .overview-purpose .eyebrow {
  color: #f2a47e !important;
}

#tab-overview .overview-purpose p {
  color: #dedbea !important;
}

.overview-purpose-copy {
  max-width: 720px;
}

.overview-purpose h2 {
  max-width: 13ch;
  font-size: clamp(42px, 6vw, 72px) !important;
  letter-spacing: -0.045em;
}

.overview-lede {
  max-width: 55ch;
  margin-top: 22px !important;
  font-size: clamp(17px, 1.7vw, 20px) !important;
  line-height: 1.55 !important;
}

.overview-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.primary-action,
.text-action,
.secondary-action,
.full-dossier-action {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 46px !important;
  border-radius: 10px !important;
  padding: 11px 17px !important;
  text-decoration: none;
}

.primary-action {
  border: 1px solid #db7040 !important;
  background: #d45c28 !important;
  color: #fff !important;
}

.primary-action:hover {
  background: #b94b1d !important;
}

.text-action {
  border: 1px solid #77708e !important;
  background: transparent !important;
  color: #fff !important;
}

.text-action:hover {
  border-color: #fff !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

.overview-value {
  display: grid;
  gap: 10px;
}

.overview-value article {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.06);
}

.overview-value article > span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: rgba(242, 164, 126, 0.14);
  color: #f4b596 !important;
  font-weight: 700;
}

.overview-value article strong {
  display: block;
  margin-bottom: 3px;
  font-size: 17px !important;
}

.overview-value article p {
  line-height: 1.5 !important;
}

.product-hero {
  display: grid !important;
  grid-template-columns: minmax(280px, 0.7fr) minmax(0, 1.3fr) !important;
  gap: 16px !important;
  margin-top: 22px !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#workbenchHero,
#workbenchMetrics {
  min-width: 0;
}

.board-context {
  display: flex;
  height: 100%;
  min-height: 126px;
  flex-direction: column;
  justify-content: space-between;
  gap: 18px;
  padding: 22px !important;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--paper-strong);
  box-shadow: var(--shadow-soft);
}

.board-context div {
  display: grid;
  gap: 4px;
}

.board-context span {
  color: var(--orange) !important;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.board-context strong {
  color: var(--ink) !important;
  font-size: 19px !important;
}

.snapshot-grid,
.metric-grid,
.method-grid,
.data-status-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.dashboard-metric-card,
.metric,
.insight-card {
  min-width: 0;
  border: 1px solid var(--line) !important;
  border-radius: 15px !important;
  background: var(--paper-strong) !important;
  color: var(--ink) !important;
  box-shadow: none !important;
}

.dashboard-metric-card {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  align-content: center;
  gap: 2px 12px !important;
  min-height: 126px !important;
  padding: 20px !important;
}

.dashboard-metric-icon {
  grid-row: 1 / 4;
  width: 24px !important;
  height: 24px !important;
  align-self: start;
  color: var(--violet) !important;
  stroke: currentColor !important;
}

.dashboard-metric-card > span {
  color: var(--ink-muted) !important;
  font-weight: 700 !important;
  text-transform: none !important;
}

.dashboard-metric-card > strong {
  color: var(--violet-deep) !important;
  font-size: clamp(25px, 2.3vw, 32px) !important;
  line-height: 1.1;
}

.dashboard-metric-card > p {
  font-size: 14px !important;
}

.dossier-workbench {
  display: grid !important;
  grid-template-columns: minmax(0, 1.75fr) minmax(310px, 0.75fr) !important;
  align-items: start !important;
  gap: 18px !important;
  margin-top: 22px !important;
}

.filter-rail-panel {
  display: none !important;
}

.dossier-main-panel,
.dossier-rail-panel {
  min-width: 0;
}

.board-panel-title p:last-child {
  margin-top: 7px;
}

.board-command-row {
  display: grid !important;
  grid-template-columns: minmax(220px, 1.7fr) repeat(4, minmax(120px, 0.7fr)) !important;
  gap: 10px !important;
  margin: 0 0 20px !important;
  padding: 0 0 20px !important;
  border-bottom: 1px solid var(--line-soft) !important;
  background: transparent !important;
}

.board-command-row > * {
  min-width: 0;
  margin: 0 !important;
}

.workbench-section {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.section-heading {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin: 0 0 12px !important;
}

.section-heading h3 {
  font-size: 18px !important;
}

.section-heading span {
  color: var(--ink-muted) !important;
  font-weight: 600;
}

.table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: 12px !important;
  background: #fff !important;
}

table {
  width: 100%;
  border-collapse: collapse !important;
  color: var(--ink) !important;
}

th {
  padding: 12px 14px !important;
  border-bottom: 1px solid var(--line) !important;
  background: #f1eee8 !important;
  color: #4f4a5e !important;
  font-weight: 700 !important;
  letter-spacing: 0.015em;
  text-align: left;
  white-space: nowrap;
}

td {
  padding: 14px !important;
  border-bottom: 1px solid var(--line-soft) !important;
  background: #fff !important;
  color: var(--ink) !important;
  vertical-align: middle !important;
}

tbody tr:last-child td {
  border-bottom: 0 !important;
}

.board-row {
  color: var(--ink) !important;
  background: #fff !important;
}

.board-row:hover td,
.board-row.is-selected td {
  background: #f3f0fa !important;
}

.board-row.is-selected td:first-child {
  box-shadow: inset 4px 0 0 var(--violet) !important;
}

.board-name-cell {
  gap: 10px !important;
  min-width: 190px;
}

.board-name-cell strong {
  color: var(--ink) !important;
  font-size: 15px !important;
}

.subtle,
.analyst-player-meta,
.board-metric span,
.board-metric small,
.trend-cell span {
  color: var(--ink-muted) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

.board-metric strong {
  color: var(--violet-deep) !important;
  font-size: 15px !important;
}

.sort-header-button {
  min-height: 44px !important;
  border: 0 !important;
  background: transparent !important;
  color: inherit !important;
  padding: 0 !important;
}

.dossier-rail-panel {
  padding: 22px !important;
}

.dossier-rail-stack {
  display: grid;
  gap: 12px !important;
}

.selected-player-card,
.rail-module,
.status-item,
.detail-stat,
.glossary-card,
.ceiling-card,
.artifact-link,
.gate-timeline article,
.trust-targets article {
  min-width: 0;
  border: 1px solid var(--line-soft) !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: var(--ink) !important;
  box-shadow: none !important;
}

.selected-player-card,
.rail-module,
.status-item,
.glossary-card,
.ceiling-card {
  padding: 16px !important;
}

.selected-player-card {
  position: relative;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  gap: 12px !important;
  align-items: center !important;
}

.selected-player-card > div strong {
  display: block;
  color: var(--ink) !important;
  font-size: 18px !important;
}

.selected-close {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  width: auto !important;
  display: none !important;
  min-height: 32px !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--ink-muted) !important;
  padding: 4px 7px !important;
}

.rail-module-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin-bottom: 10px !important;
}

.rail-module-title span {
  color: var(--orange) !important;
  font-weight: 700 !important;
}

.rail-module-title b {
  color: var(--ink-muted) !important;
}

.dossier-interpretation p,
.record-breakdown p {
  color: var(--ink) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

.rail-split {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.detail-stat {
  display: grid !important;
  gap: 4px !important;
  padding: 12px !important;
}

.detail-stat strong {
  color: var(--violet-deep) !important;
  font-size: 17px !important;
}

.detail-stat span {
  color: var(--ink-muted) !important;
}

.recent-files article {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 3px 10px !important;
  padding: 11px 0 !important;
  border-top: 1px solid var(--line-soft) !important;
}

.recent-files article i {
  grid-column: 1 / -1;
  color: var(--ink-muted) !important;
  font-style: normal;
}

.full-dossier-action,
.secondary-action {
  border: 1px solid #a8a0bd !important;
  background: #fff !important;
  color: var(--violet-deep) !important;
}

.full-dossier-action {
  width: 100%;
}

.full-dossier-action:hover,
.secondary-action:hover {
  border-color: var(--violet) !important;
  background: var(--violet-soft) !important;
}

.toolbar {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: end !important;
  gap: 12px !important;
  padding: 18px !important;
  box-shadow: none !important;
}

.toolbar > label,
.toolbar .player-filter-grid > label {
  display: grid !important;
  flex: 1 1 170px;
  gap: 6px !important;
  min-width: 150px;
  color: var(--ink) !important;
  font-weight: 600 !important;
}

.toolbar > label:first-child {
  flex-grow: 1.5;
}

.player-filter-drawer {
  flex: 3 1 520px;
}

.player-filter-toggle {
  display: none !important;
}

.player-filter-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(130px, 1fr)) !important;
  gap: 12px !important;
}

.player-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.65fr) !important;
  align-items: start !important;
  gap: 18px !important;
}

.player-layout > .dossier-panel {
  grid-column: 1 / -1;
}

.two-column,
.trade-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.75fr) !important;
  align-items: start !important;
  gap: 18px !important;
}

.metric-grid.small {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin-bottom: 18px !important;
}

.metric {
  padding: 18px !important;
}

.metric strong {
  color: var(--violet-deep) !important;
  font-size: 26px !important;
}

.metric b {
  color: var(--violet-deep) !important;
  font-size: 26px !important;
  line-height: 1.1 !important;
}

.team-readout,
.trade-readout,
.episode-readout {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 0 0 20px !important;
}

.team-readout article,
.trade-readout article,
.episode-readout article {
  min-width: 0;
  padding: 18px !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: 13px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.team-readout article > span,
.trade-readout article > span,
.episode-readout article > span {
  color: var(--orange) !important;
  font-weight: 700 !important;
}

.team-readout article > strong,
.trade-readout article > strong,
.episode-readout article > strong {
  display: block;
  margin: 6px 0 3px;
  color: var(--violet-deep) !important;
  font-size: 18px !important;
}

.method-grid,
.data-status-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
}

#tab-data .data-status-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.insight-card {
  padding: 20px !important;
}

.insight-card > span,
.glossary-card > span,
.ceiling-card > span {
  color: var(--orange) !important;
  font-weight: 700 !important;
}

.insight-card > strong,
.glossary-card > strong,
.ceiling-card > strong {
  display: block;
  margin: 6px 0;
  color: var(--violet-deep) !important;
  font-size: 18px !important;
}

.status-stack {
  display: grid;
  gap: 10px !important;
}

.status-item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 16px !important;
}

.status-item p,
.status-item span {
  color: var(--ink-muted) !important;
}

.status-badge,
.pill,
.trend-chip,
#tab-method .passed > span {
  display: inline-flex !important;
  align-items: center;
  min-height: 28px !important;
  border: 1px solid currentColor !important;
  border-radius: 999px !important;
  padding: 4px 9px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

.pill.high,
.trend-chip.high,
.pill.positive_time_loss {
  border-color: #d9a19b !important;
  background: var(--high-bg) !important;
  color: var(--high-ink) !important;
}

.pill.elevated,
.trend-chip.elevated,
.pill.exclude_from_training {
  border-color: #d8b978 !important;
  background: var(--elevated-bg) !important;
  color: var(--elevated-ink) !important;
}

.pill.watch,
.trend-chip.watch,
.pill.experimental_promising,
.pill.weak_context_only {
  border-color: #b6afd2 !important;
  background: var(--watch-bg) !important;
  color: var(--watch-ink) !important;
}

.pill.low,
.trend-chip.low,
.pill.production_usable,
.pill.negative_control,
#tab-method .passed > span {
  border-color: #92c5b1 !important;
  background: var(--low-bg) !important;
  color: var(--low-ink) !important;
}

.rank-badge {
  color: var(--violet-deep) !important;
  background: var(--violet-soft) !important;
}

.rank-badge :where(b, span) {
  color: var(--violet-deep) !important;
  font-size: 14px !important;
}

.rank-badge i {
  color: var(--ink-muted) !important;
  font-size: 14px !important;
}

.board-pager {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  margin: 18px 0 !important;
}

.artifact-link {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 56px;
  padding: 14px 16px !important;
  color: var(--ink) !important;
  text-decoration: none;
}

.artifact-link:hover {
  border-color: var(--violet) !important;
  background: var(--violet-soft) !important;
}

.artifact-link span {
  overflow-wrap: anywhere;
  color: var(--ink-muted) !important;
}

.data-artifact-list,
.data-ceiling-list,
.glossary-grid {
  display: grid !important;
  gap: 12px !important;
}

.data-ceiling-list,
.glossary-grid {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
}

.empty,
.empty-state {
  color: var(--ink-muted) !important;
}

.empty-state {
  padding: 28px !important;
  border: 1px dashed #bdb5aa !important;
  border-radius: 12px !important;
  background: #faf8f3 !important;
}

@media (max-width: 1060px) {
  .topbar-primary {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding-block: 13px !important;
  }

  .tabs {
    width: 100%;
  }

  .overview-purpose {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.8fr) !important;
    gap: 34px !important;
  }

  .product-hero {
    grid-template-columns: 1fr !important;
  }

  .dossier-workbench {
    grid-template-columns: minmax(0, 1.5fr) minmax(300px, 0.8fr) !important;
  }

  .board-command-row {
    grid-template-columns: minmax(220px, 1.5fr) repeat(2, minmax(130px, 0.75fr)) !important;
  }

  .board-command-row > :nth-child(4),
  .board-command-row > :nth-child(5) {
    grid-row: 2;
  }

  .player-layout,
  .two-column,
  .trade-grid {
    grid-template-columns: 1fr !important;
  }

  #tab-data .data-status-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .player-layout > .dossier-panel {
    grid-column: auto;
  }
}

@media (max-width: 760px) {
  body :where(p, li, dd) {
    font-size: 15px !important;
  }

  .topbar {
    position: relative !important;
  }

  .topbar-primary {
    min-height: 0 !important;
    padding: 12px 16px 8px !important;
  }

  .brand-mark {
    width: 42px !important;
    height: 42px !important;
  }

  .tabs {
    margin: 0 -16px !important;
    width: calc(100% + 32px) !important;
    padding: 0 16px 8px !important;
  }

  .tab {
    padding-inline: 11px !important;
  }

  .shell {
    padding: 18px 14px 48px !important;
  }

  .tab-panel > * + * {
    margin-top: 16px !important;
  }

  .overview-purpose {
    grid-template-columns: 1fr !important;
    min-height: 0;
    gap: 30px !important;
    padding: 30px 22px !important;
    border-radius: 18px !important;
  }

  .overview-purpose h2 {
    max-width: 11ch;
    font-size: clamp(38px, 12vw, 52px) !important;
  }

  .overview-lede {
    margin-top: 17px !important;
    font-size: 17px !important;
  }

  .overview-value {
    gap: 8px;
  }

  .overview-value article {
    padding: 15px !important;
  }

  .product-hero,
  .snapshot-grid,
  .metric-grid,
  .method-grid,
  .data-status-grid {
    grid-template-columns: 1fr !important;
  }

  #tab-data .data-status-grid {
    grid-template-columns: 1fr !important;
  }

  .board-context,
  .dashboard-metric-card {
    min-height: 0 !important;
  }

  .dashboard-metric-card {
    grid-template-columns: 30px minmax(0, 1fr) auto !important;
    align-items: center !important;
    padding: 16px !important;
  }

  .dashboard-metric-icon {
    grid-row: 1 / 3;
  }

  .dashboard-metric-card > strong {
    grid-column: 3;
    grid-row: 1 / 3;
    font-size: 24px !important;
  }

  .dashboard-metric-card > p {
    grid-column: 2;
  }

  .dossier-workbench {
    display: block !important;
  }

  .panel {
    padding: 18px !important;
    border-radius: 15px !important;
  }

  .page-intro {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 22px 20px !important;
  }

  .page-intro > p {
    justify-self: start;
  }

  .page-intro h2 {
    font-size: 28px !important;
  }

  .board-command-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .board-command-row > :first-child {
    grid-column: 1 / -1;
  }

  .board-command-row > :nth-child(4),
  .board-command-row > :nth-child(5) {
    grid-row: auto;
  }

  #tab-overview .dossier-rail-panel {
    display: none !important;
  }

  body.overview-dossier-open {
    overflow: hidden !important;
  }

  body.overview-dossier-open #tab-overview .dossier-rail-panel {
    position: fixed !important;
    inset: 8vh 0 0 !important;
    z-index: 90;
    display: block !important;
    overflow-y: auto !important;
    border-radius: 22px 22px 0 0 !important;
    box-shadow: 0 -20px 60px rgba(22, 18, 40, 0.3) !important;
  }

  body.overview-dossier-open #tab-overview .selected-close {
    display: inline-flex !important;
  }

  .toolbar {
    display: grid !important;
    grid-template-columns: 1fr !important;
    padding: 16px !important;
  }

  .toolbar > label,
  .player-filter-drawer,
  .player-filter-grid {
    min-width: 0;
    width: 100%;
  }

  .player-filter-toggle {
    display: flex !important;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    border: 1px solid #bcb5aa !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: var(--ink) !important;
    padding: 10px 13px !important;
  }

  .player-filter-grid {
    display: none !important;
    grid-template-columns: 1fr !important;
    margin-top: 10px;
  }

  .player-filter-drawer.is-open .player-filter-grid {
    display: grid !important;
  }

  .team-readout,
  .trade-readout,
  .episode-readout,
  .metric-grid.small {
    grid-template-columns: 1fr !important;
  }

  .team-readout article,
  .trade-readout article,
  .episode-readout article {
    padding: 16px !important;
  }

  .panel-title {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 7px !important;
  }

  .artifact-link {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .status-item {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
}

/* Keep every homepage card header as a full-width top band. */
html body #tab-overview .overview-method-card {
  padding: 0 26px 26px;
}

html body #tab-overview .overview-method-card .overview-method-number {
  display: block;
  grid-column: 1 / -1;
  width: calc(100% + 52px);
  margin: 0 -26px;
  padding: 14px 26px 12px;
  border-bottom: 1px solid #d8d0c5;
  background: #f4eee6;
}

html body #tab-overview .overview-method-card-dark .overview-method-number {
  border-bottom-color: rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.08);
}

html body #tab-overview .overview-method-card-accent .overview-method-number {
  background: rgba(255, 255, 255, 0.32);
}

html body #tab-overview .overview-rebuild-origin-note,
html body #tab-overview .overview-rebuild-future {
  overflow: hidden;
}

html body #tab-overview .overview-rebuild-origin-note > span,
html body #tab-overview .overview-rebuild-future > span {
  display: block;
  grid-column: 1 / -1;
  width: calc(100% + 40px);
  margin: -18px -20px 0;
  padding: 12px 20px 10px;
  border-bottom: 1px solid #d8d0c5;
}

html body #tab-overview .overview-rebuild-future > span {
  border-bottom-color: rgba(255, 255, 255, 0.2);
}

html body #tab-overview .overview-rebuild-origin-note > strong,
html body #tab-overview .overview-rebuild-future > div {
  grid-column: 1 / -1;
}

html body #tab-overview .overview-rebuild-performance-head {
  grid-template-columns: minmax(0, 1fr);
  padding-left: clamp(24px, 6vw, 88px);
}

html body #tab-overview .overview-rebuild-performance-head h2 {
  grid-column: 1 / -1;
}

@media (max-width: 760px) {
  html body #tab-overview .overview-rebuild-performance-head {
    padding-left: 0;
  }
}

/* Homepage introduction: keep the overview focused on the question and the method. */
.homepage-board-runtime[hidden] {
  display: none !important;
}

.homepage-why {
  display: grid;
  gap: 16px;
  align-content: center;
  min-height: 220px;
  padding: clamp(22px, 4vw, 34px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.07);
}

.homepage-why span,
.homepage-why small {
  color: #f2a47e;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.35;
  text-transform: uppercase;
}

.homepage-why p {
  max-width: 19ch;
  margin: 0 !important;
  color: #fff !important;
  font-family: var(--display);
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.08 !important;
}

.homepage-why small {
  color: #dedbea;
  font-size: 11px;
  letter-spacing: 0.08em;
}

.homepage-method {
  display: grid;
  grid-template-columns: minmax(200px, 0.72fr) minmax(0, 1.68fr);
  gap: clamp(28px, 6vw, 78px);
  align-items: start;
  padding: clamp(30px, 5vw, 58px) clamp(4px, 1vw, 12px) 8px;
}

.homepage-method-heading {
  position: sticky;
  top: 22px;
}

.homepage-method-heading h2 {
  max-width: 9ch;
  margin-top: 8px;
  font-size: clamp(34px, 4.5vw, 58px) !important;
  letter-spacing: -0.045em;
  line-height: 0.98;
}

.homepage-method-heading > p:last-child {
  max-width: 28ch;
  margin-top: 18px;
  color: var(--ink-muted);
}

.homepage-method-steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 34px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.homepage-method-steps li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 14px;
  padding: 20px 0 22px;
  border-top: 1px solid var(--line-soft);
}

.homepage-method-steps li > span {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 50%;
  background: var(--soft-violet);
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 800;
}

.homepage-method-steps h3 {
  margin: 1px 0 5px;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.2;
}

.homepage-method-steps p {
  margin: 0;
  color: var(--ink-muted);
  font-size: 14px;
  line-height: 1.45;
}

.homepage-boundary {
  grid-column: 1 / -1;
  margin: 8px 0 0;
  padding: 14px 16px;
  border-left: 3px solid var(--orange);
  background: #f4f1fb;
  color: var(--ink-muted);
  font-size: 14px;
  line-height: 1.45;
}

.homepage-boundary strong {
  color: var(--ink);
}

.homepage-next {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(240px, 1.15fr);
  gap: 28px;
  align-items: center;
  margin-top: 18px;
  padding: 24px 0 4px;
  border-top: 1px solid var(--line-soft);
}

.homepage-next h2 {
  margin-top: 6px;
  font-size: clamp(24px, 3vw, 36px) !important;
  letter-spacing: -0.035em;
}

.homepage-next > p {
  max-width: 48ch;
  justify-self: end;
  color: var(--ink-muted);
  font-size: 15px;
  line-height: 1.5;
}

@media (max-width: 900px) {
  .overview-purpose {
    grid-template-columns: 1fr;
  }

  .homepage-method {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .homepage-method-heading {
    position: static;
  }

  .homepage-method-heading h2 {
    max-width: none;
  }

  .homepage-next {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .homepage-next > p {
    justify-self: start;
  }
}

@media (max-width: 640px) {
  .homepage-why {
    min-height: 0;
  }

  .homepage-why p {
    max-width: 22ch;
  }

  .homepage-method {
    padding-top: 34px;
  }

  .homepage-method-steps {
    grid-template-columns: 1fr;
  }

  .homepage-method-steps li {
    padding-block: 16px 18px;
  }

  .homepage-boundary {
    margin-top: 0;
  }
}

/* Homepage rebuild: an editorial project note with a clear research trail. */
#tab-overview .overview-rebuild {
  display: block !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid #d8d0c5 !important;
  border-radius: 18px !important;
  background: #f6f2ea !important;
  box-shadow: 0 18px 45px rgba(33, 28, 57, 0.1) !important;
}

#tab-overview .overview-rebuild-topline {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 18px;
  padding: 14px 22px;
  border-bottom: 1px solid #d8d0c5;
  color: #706a65;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-transform: uppercase;
}

#tab-overview .overview-rebuild-topline span:nth-child(2) {
  color: var(--accent-dark);
}

#tab-overview .overview-rebuild-topline span:last-child {
  justify-self: end;
  text-align: right;
}

#tab-overview .overview-rebuild-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(260px, 0.65fr);
  gap: clamp(28px, 6vw, 92px);
  align-items: end;
  min-height: 500px;
  padding: clamp(38px, 7vw, 86px) clamp(24px, 7vw, 88px) clamp(34px, 5vw, 58px);
  background:
    linear-gradient(120deg, rgba(246, 242, 234, 0.98), rgba(240, 235, 228, 0.86)),
    repeating-linear-gradient(90deg, transparent 0, transparent 79px, rgba(71, 60, 54, 0.045) 80px);
}

#tab-overview .overview-rebuild-hero-copy {
  max-width: 780px;
}

#tab-overview .overview-rebuild-hero .eyebrow,
#tab-overview .overview-rebuild-section-label .eyebrow {
  color: var(--orange) !important;
}

#tab-overview .overview-rebuild-hero h1 {
  max-width: 10ch;
  margin: 14px 0 0;
  color: var(--ink) !important;
  font-family: var(--display);
  font-size: clamp(48px, 8vw, 104px) !important;
  font-weight: 700;
  letter-spacing: -0.065em;
  line-height: 0.88;
}

#tab-overview .overview-rebuild-lede {
  max-width: 54ch;
  margin: 28px 0 0 !important;
  color: #58525d !important;
  font-size: clamp(17px, 1.6vw, 21px) !important;
  line-height: 1.55 !important;
}

#tab-overview .overview-rebuild-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 30px;
}

#tab-overview .overview-rebuild-actions .primary-action {
  border-color: var(--accent-dark) !important;
  background: var(--accent-dark) !important;
  color: #fff !important;
}

#tab-overview .overview-rebuild-actions .primary-action:hover {
  border-color: #17152b !important;
  background: #17152b !important;
}

#tab-overview .overview-rebuild-actions .text-action {
  border-color: #857a70 !important;
  color: var(--ink) !important;
}

#tab-overview .overview-rebuild-actions .text-action:hover {
  border-color: var(--accent-dark) !important;
  background: #ebe5dc !important;
}

#tab-overview .overview-rebuild-stamp {
  display: grid;
  gap: 16px;
  align-content: end;
  min-height: 286px;
  padding: 24px;
  border-left: 3px solid var(--orange);
  background: #211d3b;
  color: #fff;
  box-shadow: 12px 12px 0 rgba(211, 94, 40, 0.15);
}

#tab-overview .overview-rebuild-stamp-label,
#tab-overview .overview-rebuild-stats,
#tab-overview .overview-rebuild-section-label span,
#tab-overview .overview-method-number {
  color: #f2a47e;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

#tab-overview .overview-rebuild-stamp strong {
  max-width: 18ch;
  color: #fff !important;
  font-family: var(--display);
  font-size: clamp(23px, 2.5vw, 34px);
  letter-spacing: -0.035em;
  line-height: 1.02;
}

#tab-overview .overview-rebuild-stamp p {
  margin: 0 !important;
  color: #d9d3e2 !important;
  font-size: 14px;
  line-height: 1.45;
}

#tab-overview .overview-rebuild-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  color: #c7c0d5;
  font-size: 10px;
  letter-spacing: 0.04em;
}

#tab-overview .overview-rebuild-stats b {
  display: block;
  margin-bottom: 3px;
  color: #fff;
  font-family: var(--display);
  font-size: 18px;
  letter-spacing: -0.02em;
}

#tab-overview .overview-rebuild-origin,
#tab-overview .overview-rebuild-method,
#tab-overview .overview-rebuild-scoring,
#tab-overview .overview-rebuild-performance,
#tab-overview .overview-rebuild-limits {
  display: grid;
  grid-template-columns: minmax(90px, 0.3fr) minmax(0, 1.7fr);
  gap: clamp(24px, 6vw, 88px);
  padding: clamp(40px, 7vw, 84px) clamp(24px, 7vw, 88px);
  border-top: 1px solid #d8d0c5;
  background: #fbf9f5;
}

#tab-overview .overview-rebuild-section-label {
  display: grid;
  align-content: start;
  gap: 12px;
}

#tab-overview .overview-rebuild-section-label span {
  color: var(--accent-dark);
  font-size: 14px;
}

#tab-overview .overview-rebuild-section-label p {
  margin: 0;
  white-space: nowrap;
}

#tab-overview .overview-rebuild-origin-copy h2,
#tab-overview .overview-rebuild-section-head h2,
#tab-overview .overview-rebuild-scoring-copy h2,
#tab-overview .overview-rebuild-performance-head h2,
#tab-overview .overview-rebuild-limits h2 {
  max-width: 18ch;
  margin: 0;
  color: var(--ink) !important;
  font-family: var(--display);
  font-size: clamp(30px, 4vw, 54px) !important;
  letter-spacing: -0.05em;
  line-height: 0.98;
}

#tab-overview .overview-rebuild-origin-copy {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(210px, 0.8fr);
  gap: 26px 50px;
}

#tab-overview .overview-rebuild-origin-copy h2 {
  grid-column: 1 / -1;
  max-width: 18ch;
}

#tab-overview .overview-rebuild-origin-copy p,
#tab-overview .overview-rebuild-section-head > p,
#tab-overview .overview-rebuild-scoring-copy > p,
#tab-overview .overview-rebuild-performance-head > p,
#tab-overview .overview-rebuild-limits > div > p {
  max-width: 65ch;
  margin: 0;
  color: var(--ink-muted);
  font-size: 15px;
  line-height: 1.65;
}

#tab-overview .overview-rebuild-origin-note {
  align-self: end;
  display: grid;
  gap: 10px;
  padding: 19px;
  border: 1px solid #d8d0c5;
  border-left: 3px solid var(--orange);
  background: #f1ece4;
}

#tab-overview .overview-rebuild-origin-note span {
  color: var(--orange);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

#tab-overview .overview-rebuild-origin-note strong {
  color: var(--ink) !important;
  font-family: var(--display);
  font-size: 20px;
  letter-spacing: -0.025em;
  line-height: 1.15;
}

#tab-overview .overview-rebuild-method {
  display: block;
}

#tab-overview .overview-rebuild-section-head {
  display: grid;
  grid-template-columns: minmax(90px, 0.3fr) minmax(0, 1.4fr) minmax(220px, 0.6fr);
  gap: clamp(20px, 4vw, 56px);
  align-items: start;
  margin-bottom: 34px;
}

#tab-overview .overview-rebuild-section-head .overview-rebuild-section-label {
  grid-row: 1 / span 2;
}

#tab-overview .overview-rebuild-section-head > p {
  align-self: end;
  max-width: 35ch;
}

#tab-overview .overview-rebuild-method-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid #d8d0c5;
  background: #d8d0c5;
}

#tab-overview .overview-method-card {
  display: grid;
  gap: 15px;
  align-content: start;
  min-height: 250px;
  padding: 26px;
  background: #fffdf9;
}

#tab-overview .overview-method-card-dark {
  background: #211d3b;
  color: #fff;
}

#tab-overview .overview-method-card-accent {
  background: #f2e6dc;
}

#tab-overview .overview-method-card h3 {
  margin: 0;
  color: var(--ink) !important;
  font-family: var(--display);
  font-size: 25px;
  letter-spacing: -0.035em;
  line-height: 1.02;
}

#tab-overview .overview-method-card-dark h3 {
  color: #fff !important;
}

#tab-overview .overview-method-card p {
  max-width: 47ch;
  margin: 0;
  color: var(--ink-muted);
  font-size: 14px;
  line-height: 1.55;
}

#tab-overview .overview-method-card-dark p {
  color: #d9d3e2;
}

#tab-overview .overview-method-card code,
#tab-overview .overview-rebuild-equation code,
#tab-overview .overview-rebuild-limits code {
  display: block;
  padding: 10px 11px;
  overflow-wrap: anywhere;
  border: 1px solid #d8d0c5;
  background: #f1ece4;
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 11px;
  line-height: 1.45;
}

#tab-overview .overview-method-card-dark code {
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.08);
  color: #f2a47e;
}

#tab-overview .overview-rebuild-scoring {
  align-items: start;
}

#tab-overview .overview-rebuild-scoring-copy {
  display: grid;
  gap: 20px;
}

#tab-overview .overview-rebuild-equation {
  grid-column: 2;
  display: grid;
  gap: 14px;
  margin-top: 28px;
  padding: 22px;
  border: 1px solid #2e294a;
  background: #211d3b;
  color: #fff;
}

#tab-overview .overview-rebuild-equation > span {
  color: #f2a47e;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

#tab-overview .overview-rebuild-equation code {
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

#tab-overview .overview-rebuild-equation p {
  max-width: 68ch;
  margin: 0;
  color: #d9d3e2;
  font-size: 13px;
  line-height: 1.55;
}

#tab-overview .overview-rebuild-performance {
  display: block;
}

#tab-overview .overview-rebuild-performance > .overview-rebuild-section-label {
  float: left;
  width: 15%;
}

#tab-overview .overview-rebuild-performance-head {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(220px, 0.9fr);
  gap: 30px;
  margin-left: 15%;
}

#tab-overview .overview-rebuild-performance-head h2 {
  max-width: 16ch;
}

#tab-overview .overview-rebuild-model-families {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 28px 0 18px 15%;
}

#tab-overview .overview-rebuild-model-families span {
  padding: 7px 9px;
  border: 1px solid #cfc5b8;
  background: #f1ece4;
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

#tab-overview .overview-rebuild-table-wrap {
  clear: both;
  margin-left: 15%;
  overflow-x: auto;
  border: 1px solid #d8d0c5;
  background: #fffdf9;
}

#tab-overview .overview-rebuild-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  text-align: left;
}

#tab-overview .overview-rebuild-table th,
#tab-overview .overview-rebuild-table td {
  padding: 13px 14px;
  border-bottom: 1px solid #e4ddd3;
  color: var(--ink-muted);
  font-size: 12px;
  line-height: 1.35;
  vertical-align: top;
}

#tab-overview .overview-rebuild-table th {
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

#tab-overview .overview-rebuild-table tr:last-child td {
  border-bottom: 0;
}

#tab-overview .overview-rebuild-table td:first-child {
  color: var(--ink);
  font-weight: 700;
}

#tab-overview .overview-rebuild-table .is-production td {
  background: #f2e6dc;
  color: var(--ink);
  font-weight: 700;
}

#tab-overview .overview-rebuild-performance-note {
  margin: 16px 0 0 15%;
  padding: 13px 15px;
  border-left: 3px solid var(--orange);
  background: #f1ece4;
  color: var(--ink-muted);
  font-size: 13px;
  line-height: 1.5;
}

#tab-overview .overview-rebuild-performance-note strong {
  color: var(--ink) !important;
}

#tab-overview .overview-rebuild-limits {
  grid-template-columns: minmax(90px, 0.3fr) minmax(0, 1.3fr) minmax(220px, 0.7fr);
  align-items: start;
}

#tab-overview .overview-rebuild-limits .overview-rebuild-section-label {
  grid-column: 1;
}

#tab-overview .overview-rebuild-limits > div:nth-child(2) {
  display: grid;
  gap: 18px;
}

#tab-overview .overview-rebuild-quote {
  display: grid;
  gap: 12px;
  padding: 22px;
  border-top: 3px solid var(--orange);
  background: #211d3b;
  color: #fff;
}

#tab-overview .overview-rebuild-quote span {
  color: #f2a47e;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

#tab-overview .overview-rebuild-quote strong {
  color: #fff !important;
  font-family: var(--display);
  font-size: 23px;
  letter-spacing: -0.035em;
  line-height: 1.08;
}

@media (max-width: 980px) {
  #tab-overview .overview-rebuild-hero {
    grid-template-columns: minmax(0, 1.25fr) minmax(230px, 0.75fr);
    gap: 32px;
  }

  #tab-overview .overview-rebuild-section-head {
    grid-template-columns: 80px minmax(0, 1fr);
  }

  #tab-overview .overview-rebuild-section-head > p {
    grid-column: 2;
  }
}

@media (max-width: 760px) {
  #tab-overview .overview-rebuild-topline {
    grid-template-columns: 1fr auto;
    gap: 8px 14px;
    padding: 12px 16px;
  }

  #tab-overview .overview-rebuild-topline span:last-child {
    grid-column: 1 / -1;
    justify-self: start;
    text-align: left;
  }

  #tab-overview .overview-rebuild-hero {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 44px 22px 26px;
  }

  #tab-overview .overview-rebuild-hero h1 {
    max-width: 11ch;
    font-size: clamp(45px, 15vw, 72px) !important;
  }

  #tab-overview .overview-rebuild-stamp {
    min-height: 0;
  }

  #tab-overview .overview-rebuild-origin,
  #tab-overview .overview-rebuild-method,
  #tab-overview .overview-rebuild-scoring,
  #tab-overview .overview-rebuild-performance,
  #tab-overview .overview-rebuild-limits {
    display: block;
    padding: 38px 22px;
  }

  #tab-overview .overview-rebuild-section-label {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 22px;
  }

  #tab-overview .overview-rebuild-section-label p {
    white-space: normal;
  }

  #tab-overview .overview-rebuild-origin-copy,
  #tab-overview .overview-rebuild-section-head,
  #tab-overview .overview-rebuild-performance-head {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    margin: 0;
  }

  #tab-overview .overview-rebuild-section-head .overview-rebuild-section-label {
    margin-bottom: 0;
  }

  #tab-overview .overview-rebuild-section-head > p,
  #tab-overview .overview-rebuild-origin-copy h2 {
    grid-column: auto;
  }

  #tab-overview .overview-rebuild-origin-note {
    margin-top: 8px;
  }

  #tab-overview .overview-rebuild-method-grid {
    grid-template-columns: 1fr;
  }

  #tab-overview .overview-method-card {
    min-height: 0;
  }

  #tab-overview .overview-rebuild-equation {
    margin-top: 26px;
  }

  #tab-overview .overview-rebuild-performance > .overview-rebuild-section-label,
  #tab-overview .overview-rebuild-performance-head,
  #tab-overview .overview-rebuild-model-families,
  #tab-overview .overview-rebuild-table-wrap,
  #tab-overview .overview-rebuild-performance-note {
    float: none;
    width: auto;
    margin-left: 0;
  }

  #tab-overview .overview-rebuild-model-families {
    margin-top: 24px;
  }

  #tab-overview .overview-rebuild-limits > div:nth-child(2) {
    display: grid;
  }

  #tab-overview .overview-rebuild-quote {
    margin-top: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Box inset guardrails: bordered reading surfaces always keep text off their edges. */
.recent-files article,
#tab-players .detail-title,
#tab-contracts .scenario-lead {
  padding: 14px 16px !important;
}

/* Homepage readability correction: looser display type, compact sections, WCAG-safe contrast. */
html body #tab-overview .overview-rebuild-hero {
  grid-template-columns: minmax(0, 1fr);
  min-height: 420px;
  gap: clamp(28px, 5vw, 72px);
  padding: clamp(34px, 5vw, 64px) clamp(24px, 7vw, 88px);
}

html body #tab-overview .overview-rebuild-hero h1 {
  max-width: none;
  font-size: clamp(46px, 6.2vw, 78px) !important;
  letter-spacing: -0.012em !important;
  line-height: 1.01 !important;
}

html body #tab-overview .overview-rebuild-hero-copy {
  max-width: none;
}

html body #tab-overview .overview-rebuild-lede {
  max-width: none;
}

html body #tab-overview .overview-rebuild-section-head .overview-rebuild-section-label {
  grid-row: auto;
}

html body #tab-overview .overview-rebuild-origin-copy h2,
html body #tab-overview .overview-rebuild-section-head h2,
html body #tab-overview .overview-rebuild-scoring-copy h2,
html body #tab-overview .overview-rebuild-performance-head h2,
html body #tab-overview .overview-rebuild-limits h2 {
  letter-spacing: -0.008em !important;
  line-height: 1.07 !important;
}

html body #tab-overview .overview-method-card h3,
html body #tab-overview .overview-rebuild-stamp strong,
html body #tab-overview .overview-rebuild-origin-note strong,
html body #tab-overview .overview-rebuild-future strong,
html body #tab-overview .overview-rebuild-quote strong {
  letter-spacing: 0 !important;
  line-height: 1.16 !important;
}

html body #tab-overview .overview-purpose.overview-rebuild .overview-rebuild-lede,
html body #tab-overview .overview-rebuild-origin-copy > p,
html body #tab-overview .overview-rebuild-section-head > p,
html body #tab-overview .overview-rebuild-scoring-copy > p,
html body #tab-overview .overview-rebuild-performance-head > p,
html body #tab-overview .overview-rebuild-limits > div > p,
html body #tab-overview .overview-rebuild-performance-note {
  color: #514b58 !important;
}

html body #tab-overview .overview-rebuild-stamp p,
html body #tab-overview .overview-method-card-dark p,
html body #tab-overview .overview-rebuild-equation p {
  color: #eeeaf5 !important;
}

html body #tab-overview .overview-rebuild-origin,
html body #tab-overview .overview-rebuild-method,
html body #tab-overview .overview-rebuild-scoring,
html body #tab-overview .overview-rebuild-performance,
html body #tab-overview .overview-rebuild-limits {
  padding-top: clamp(38px, 5vw, 64px);
  padding-bottom: clamp(38px, 5vw, 64px);
}

html body #tab-overview .overview-rebuild-origin-copy {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 34px;
}

html body #tab-overview .overview-rebuild-origin-copy h2,
html body #tab-overview .overview-rebuild-origin-note,
html body #tab-overview .overview-rebuild-future {
  grid-column: 1 / -1;
}

html body #tab-overview .overview-rebuild-origin-note {
  align-self: auto;
  grid-template-columns: minmax(150px, 0.35fr) minmax(0, 1.65fr);
  align-items: start;
  gap: 18px;
  margin: 2px 0 0;
  padding: 18px 20px;
}

html body #tab-overview .overview-rebuild-origin-note strong {
  font-size: 18px;
}

html body #tab-overview .overview-rebuild-future {
  display: grid;
  grid-template-columns: minmax(170px, 0.45fr) minmax(0, 1.55fr);
  gap: 20px;
  padding: 22px;
  border-top: 3px solid #e87840;
  background: #211d3b;
}

html body #tab-overview .overview-rebuild-future > span {
  color: #f5ad87 !important;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.45;
  text-transform: uppercase;
}

html body #tab-overview .overview-rebuild-future > div {
  display: grid;
  gap: 10px;
}

html body #tab-overview .overview-rebuild-future strong {
  color: #fff !important;
  font-family: var(--display);
  font-size: 22px;
}

html body #tab-overview .overview-rebuild-future p {
  max-width: 72ch;
  margin: 0 !important;
  color: #eeeaf5 !important;
  font-size: 14px;
  line-height: 1.58;
}

html body #tab-overview .overview-method-card p {
  color: #514b58 !important;
}

html body #tab-overview .overview-method-card-dark p {
  color: #eeeaf5 !important;
}

html body #tab-overview .overview-method-card-dark code,
html body #tab-overview .overview-rebuild-equation code {
  color: #fff4ec !important;
}

html body #tab-overview .overview-rebuild-table thead th {
  background: #132a36 !important;
  color: #fff !important;
}

html body #tab-overview .overview-rebuild-table tbody td {
  background: #fffdf9 !important;
  color: #403a47 !important;
}

html body #tab-overview .overview-rebuild-table tbody td:first-child {
  color: #211d3b !important;
}

html body #tab-overview .overview-rebuild-table tbody .is-production td {
  background: #f2e6dc !important;
  color: #211d3b !important;
}

html body #tab-overview .overview-rebuild-formulas {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

html body #tab-overview .overview-rebuild-formulas > div {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid #d8d0c5;
  background: #f1ece4;
}

html body #tab-overview .overview-rebuild-formulas span {
  color: #9b3e18 !important;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

html body #tab-overview .overview-rebuild-formulas code {
  padding: 0;
  border: 0;
  background: transparent;
  color: #164f48 !important;
  font-size: 11px;
}

@media (max-width: 760px) {
  html body #tab-overview .overview-rebuild-hero {
    min-height: 0;
    padding: 38px 22px 28px;
  }

  html body #tab-overview .overview-rebuild-hero h1 {
    max-width: 12ch;
    font-size: clamp(42px, 12vw, 60px) !important;
  }

  html body #tab-overview .overview-rebuild-origin-copy,
  html body #tab-overview .overview-rebuild-origin-note,
  html body #tab-overview .overview-rebuild-future,
  html body #tab-overview .overview-rebuild-formulas {
    grid-template-columns: 1fr;
  }

  html body #tab-overview .overview-rebuild-origin-note,
  html body #tab-overview .overview-rebuild-future {
    grid-column: auto;
  }
}

.mobile-card {
  padding: 14px 16px !important;
}

.board-pager > span,
#tab-absences .board-pager > span {
  padding: 10px 14px !important;
}

/* Player dossier identity guardrails: the portrait column must match the portrait. */
#tab-overview .selected-player-card.player-dossier-card {
  grid-template-columns: 74px minmax(0, 1fr) !important;
  column-gap: 16px !important;
  row-gap: 12px !important;
  align-items: start !important;
}

#tab-overview .player-dossier-card .player-portrait.workbench {
  width: 74px !important;
  height: 84px !important;
  align-self: start;
}

#tab-overview .player-dossier-card > div {
  min-width: 0;
}

#tab-overview .player-dossier-card > div > span {
  display: block;
  line-height: 1.35;
}

#tab-overview .player-dossier-card > div > strong {
  line-height: 1.15 !important;
  overflow-wrap: anywhere;
}

#tab-overview .player-dossier-card > div > p {
  column-gap: 6px !important;
  row-gap: 4px !important;
}

@media (max-width: 1060px) {
  body.overview-dossier-open #tab-overview .player-dossier-card .selected-close {
    position: static !important;
    grid-column: 1 / -1;
    justify-self: end;
    margin: -4px -2px 0 0;
  }
}

/* Final interaction contrast and compact-mobile guardrails. */
body :where(input, select),
body .player-filter-toggle {
  border-color: #82796f !important;
}

.primary-action {
  border-color: #b94b1d !important;
  background: #b94b1d !important;
}

.primary-action:hover {
  border-color: #963c18 !important;
  background: #963c18 !important;
}

.full-dossier-action,
.secondary-action {
  border-color: #7b718f !important;
}

@media (max-width: 760px) {
  /* The board is the mobile overview; summary widgets repeat what it already shows. */
  #tab-overview .product-hero {
    display: none !important;
  }

  #tab-overview .board-command-row > :nth-child(5) {
    grid-column: 1 / -1 !important;
  }

  #tab-players .board-pager {
    display: grid !important;
    width: 100%;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  #tab-players .board-pager > span {
    grid-column: 1 / -1;
    grid-row: 1;
    width: 100%;
    white-space: normal !important;
    text-align: center;
  }

  #tab-players .board-pager > button {
    width: 100%;
  }
}

/* Homepage section headlines should use the full reading column. Keep the
   translation formula close to its explanation instead of leaving a large
   second-row gap. */
html body #tab-overview .overview-rebuild-origin-copy h2,
html body #tab-overview .overview-rebuild-section-head h2,
html body #tab-overview .overview-rebuild-scoring-copy h2,
html body #tab-overview .overview-rebuild-performance-head h2,
html body #tab-overview .overview-rebuild-limits h2 {
  max-width: none !important;
  width: 100%;
}

html body #tab-overview .overview-rebuild-scoring {
  row-gap: 18px;
}

html body #tab-overview .overview-rebuild-equation {
  margin-top: 0;
}

@media (max-width: 760px) {
  html body #tab-overview .overview-rebuild-scoring {
    row-gap: 18px;
  }

  html body #tab-overview .overview-rebuild-equation {
    margin-top: 18px;
  }
}

/* Give the method formulas a restrained LaTeX-like treatment: italic
   variables, raised indices, and readable serif operators/text. */
html body #tab-overview .overview-method-card code.math-expression {
  display: block;
  min-height: 50px;
  padding: 12px 15px;
  border-radius: 2px;
  font-family: "STIX Two Math", "Cambria Math", "Times New Roman", serif;
  font-size: clamp(16px, 1.35vw, 20px);
  font-weight: 500;
  letter-spacing: 0.015em;
  line-height: 1.35;
  white-space: normal;
  overflow-wrap: anywhere;
}

html body #tab-overview .overview-method-card code.math-expression .math-variable {
  font-style: italic;
  font-weight: 600;
}

html body #tab-overview .overview-method-card code.math-expression .math-identifier {
  letter-spacing: 0.01em;
}

html body #tab-overview .overview-method-card code.math-expression .math-text,
html body #tab-overview .overview-method-card code.math-expression .math-set {
  font-style: normal;
  letter-spacing: 0;
}

html body #tab-overview .overview-method-card code.math-expression .math-relation,
html body #tab-overview .overview-method-card code.math-expression .math-arrow {
  display: inline-block;
  margin: 0 0.22em;
  font-size: 1.05em;
  font-weight: 400;
}

html body #tab-overview .overview-method-card code.math-expression sub,
html body #tab-overview .overview-method-card code.math-expression sup {
  position: relative;
  margin-left: 0.04em;
  font-size: 0.62em;
  font-style: normal;
  letter-spacing: 0;
  line-height: 0;
}

html body #tab-overview .overview-method-card code.math-expression sub {
  bottom: -0.18em;
}

html body #tab-overview .overview-method-card code.math-expression sup {
  top: -0.22em;
}

@media (max-width: 760px) {
  html body #tab-overview .overview-method-card code.math-expression {
    font-size: 16px;
  }
}

/* Player Explorer sortable table controls. */
html body #tab-players .player-sort-header {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 30px;
  border: 0;
  padding: 4px 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}

html body #tab-players .player-sort-header:hover,
html body #tab-players th[aria-sort="descending"] .player-sort-header {
  color: #211d3b;
}

html body #tab-players th[aria-sort="descending"] .player-sort-header::after {
  content: "↓";
  color: #b94b1d;
  font-weight: 800;
}

/* Player Dossier cards: keep the tier badge in the header while giving the
   interpretation copy the full card width. */
html body #tab-players .status-stack.no-pad .status-item {
  position: relative;
  display: block !important;
  min-width: 0;
  padding: 16px !important;
}

html body #tab-players .status-stack.no-pad .status-item > div {
  display: block;
  min-width: 0;
}

html body #tab-players .status-stack.no-pad .status-item > div > strong {
  display: block;
  padding-right: 108px;
}

html body #tab-players .status-stack.no-pad .status-item > span {
  position: absolute;
  top: 14px;
  right: 14px;
  max-width: calc(100% - 28px);
}

html body #tab-players .status-stack.no-pad .status-item p {
  max-width: none !important;
  margin: 9px 0 0 !important;
}

html body #tab-overview .full-dossier-disabled {
  margin: 0;
  padding: 13px 14px;
  border: 1px solid #d8d0c5;
  background: #f4f1fb;
  color: #514b58;
  font-size: 13px;
  line-height: 1.45;
}

/* White-paper method page: a single reading path from question to limitation. */
html body #tab-method.method-paper {
  display: none !important;
  max-width: 1180px;
  margin: 0 auto;
  color: var(--ink) !important;
}

html body #tab-method.method-paper.is-active {
  display: block !important;
}

html body #tab-method .method-paper-header {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(28px, 5vw, 78px);
  padding: clamp(30px, 6vw, 72px) 0 36px;
  border-bottom: 1px solid var(--line-soft);
}

html body #tab-method .method-paper-kicker,
html body #tab-method .method-paper-section-heading > span,
html body #tab-method .method-paper-step-index {
  margin: 0 0 14px;
  color: var(--orange) !important;
  font-family: var(--font-mono) !important;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

html body #tab-method .method-paper-header h2 {
  max-width: 850px;
  margin: 0;
  color: var(--violet-deep) !important;
  font-family: var(--font-serif) !important;
  font-size: clamp(42px, 6vw, 78px);
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: .98;
}

html body #tab-method .method-paper-question-callout {
  max-width: 920px;
  margin: 28px 0 0;
  padding: 18px 21px;
  border: 1px solid var(--lilac);
  border-left: 4px solid var(--orange);
  background: var(--lavender);
}

html body #tab-method .method-paper-question-callout strong {
  display: block;
  color: var(--violet-deep) !important;
  font-family: var(--font-serif) !important;
  font-size: clamp(17px, 2vw, 23px);
  font-weight: 700;
  line-height: 1.3;
}

html body #tab-method .method-paper-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
  padding: 15px 0;
  border-bottom: 1px solid var(--line-soft);
  color: var(--ink-muted) !important;
  font-family: var(--font-mono) !important;
  font-size: 11px;
  letter-spacing: .02em;
}

html body #tab-method .method-paper-meta span { min-width: 0; }
html body #tab-method .method-paper-meta strong { color: var(--violet-deep) !important; font-weight: 700; }

html body #tab-method .method-paper-callout {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 28px;
  margin: 32px 0 48px;
  padding: 23px 26px;
  border: 1px solid var(--lilac);
  border-left: 4px solid var(--orange);
  background: var(--lavender);
}

html body #tab-method .method-paper-callout div { display: grid; gap: 8px; }
html body #tab-method .method-paper-callout span { color: var(--orange) !important; font-family: var(--font-mono) !important; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
html body #tab-method .method-paper-callout strong { color: var(--violet-deep) !important; font-family: var(--font-serif) !important; font-size: 25px; font-weight: 400; line-height: 1.1; }
html body #tab-method .method-paper-callout p { margin: 0; color: var(--ink-muted) !important; font-size: 15px; line-height: 1.58; }

html body #tab-method .method-paper-steps { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: method-step; }
html body #tab-method .method-paper-step { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 24px; padding: 34px 0 38px; border-top: 1px solid var(--line-soft); }
html body #tab-method .method-paper-step:last-child { border-bottom: 1px solid var(--line-soft); }
html body #tab-method .method-paper-step-index { margin: 4px 0 0; color: var(--violet-deep) !important; }
html body #tab-method .method-paper-step h3 { max-width: 900px; margin: 0 0 12px; color: var(--violet-deep) !important; font-family: var(--font-serif) !important; font-size: clamp(25px, 3vw, 38px); font-weight: 400; letter-spacing: -.035em; line-height: 1.04; }
html body #tab-method .method-paper-step p { max-width: 900px; margin: 0 0 12px; color: var(--ink-muted) !important; font-size: 15px; line-height: 1.68; }
html body #tab-method .method-paper-step p:last-child { margin-bottom: 0; }
html body #tab-method .method-paper-note { color: #6b6379 !important; font-size: 13px !important; }
html body #tab-method .method-paper-formula { display: block; width: fit-content; max-width: 100%; margin-top: 16px; padding: 12px 15px; overflow-x: auto; border: 1px solid var(--lilac); background: #f6f3fb; color: var(--violet-deep) !important; font-family: var(--font-mono) !important; font-size: 13px; line-height: 1.45; white-space: nowrap; }
html body #tab-method .method-paper-formula sub, html body #tab-method .method-paper-formula sup { font-size: .72em; line-height: 0; }

html body #tab-method .method-paper-family-list { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 16px; }
html body #tab-method .method-paper-family-list span { padding: 7px 9px; border: 1px solid var(--line-soft); background: var(--paper-warm); color: var(--violet-deep) !important; font-family: var(--font-mono) !important; font-size: 11px; }
html body #tab-method .method-paper-metric-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 220px)); gap: 10px; margin-top: 17px; }
html body #tab-method .method-paper-metric-pair span { display: grid; gap: 4px; padding: 13px 14px; border: 1px solid var(--line-soft); background: var(--paper-warm); }
html body #tab-method .method-paper-metric-pair strong { color: var(--violet-deep) !important; font-family: var(--font-mono) !important; font-size: 14px; }
html body #tab-method .method-paper-metric-pair small { color: var(--ink-muted) !important; font-size: 12px; line-height: 1.35; }

html body #tab-method .method-paper-results,
html body #tab-method .method-paper-limitations,
html body #tab-method .method-paper-appendix { margin-top: 58px; padding-top: 30px; border-top: 1px solid var(--line-soft); }
html body #tab-method .method-paper-section-heading { margin-bottom: 20px; }
html body #tab-method .method-paper-section-heading h3 { margin: 0; color: var(--violet-deep) !important; font-family: var(--font-serif) !important; font-size: clamp(30px, 4vw, 50px); font-weight: 400; letter-spacing: -.045em; line-height: 1; }
html body #tab-method .method-paper-section-heading p { max-width: 700px; margin: 12px 0 0; color: var(--ink-muted) !important; font-size: 14px; line-height: 1.55; }
html body #tab-method .method-paper-metrics { margin: 0 0 16px; }
html body #tab-method .method-paper-metrics .metric { min-height: 92px; }
html body #tab-method .method-paper-table-wrap { border: 1px solid var(--line-soft) !important; background: var(--paper) !important; }
html body #tab-method .method-paper-table-wrap { max-height: none !important; overflow-x: auto !important; overflow-y: visible !important; }
html body #tab-method .method-paper-table-wrap thead th { position: static !important; }
html body #tab-method .method-paper-table-wrap table { min-width: 860px; }
html body #tab-method .method-paper-table-wrap th,
html body #tab-method .method-paper-table-wrap td { padding: 13px 14px; vertical-align: top; }
html body #tab-method .method-paper-table-wrap th { background: var(--lavender) !important; }
html body #tab-method .method-paper-table-wrap td { line-height: 1.45; }
html body #tab-method .method-paper-results > .method-paper-note { margin: 14px 0 0; }

html body #tab-method .method-paper-audit-grid { display: grid; grid-template-columns: 1fr; gap: 18px; margin-top: 34px; }
html body #tab-method .method-paper-audit-card { min-width: 0; padding: 22px; border: 1px solid var(--line-soft); background: var(--paper-warm); }
html body #tab-method .method-paper-audit-card .method-paper-section-heading { margin-bottom: 16px; }
html body #tab-method .method-paper-audit-card .method-paper-section-heading h3 { font-size: 30px; }
html body #tab-method .method-paper-audit-card .trust-map,
html body #tab-method .method-paper-audit-card .gate-timeline { max-height: none; overflow: visible; }
html body #tab-method .method-paper-audit-card .gate-timeline { grid-template-columns: repeat(5, minmax(0, 1fr)); }
html body #tab-method .method-paper-audit-card .gate-timeline article { min-width: 0; }
html body #tab-method .method-paper-audit-card .gate-timeline article > span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  text-align: center !important;
  line-height: 1 !important;
  text-indent: 0 !important;
  font-variant-numeric: tabular-nums;
  margin: 0 0 8px !important;
}
html body #tab-method .method-paper-audit-card .gate-timeline article > span > b {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  line-height: 1 !important;
}

html body #tab-method .method-paper-limit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
html body #tab-method .method-paper-limit-grid article { padding: 19px 20px; border-left: 3px solid var(--orange); background: var(--paper-warm); }
html body #tab-method .method-paper-limit-grid article + article { border-left-color: var(--violet); }
html body #tab-method .method-paper-limit-grid strong { color: var(--violet-deep) !important; font-family: var(--font-mono) !important; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
html body #tab-method .method-paper-limit-grid p { margin: 10px 0 0; color: var(--ink-muted) !important; font-size: 14px; line-height: 1.58; }

html body #tab-method .method-paper-appendix-grid { display: grid; grid-template-columns: 1fr; gap: 18px; }
html body #tab-method .method-paper-appendix-grid > div { min-width: 0; padding: 20px; border: 1px solid var(--line-soft); background: var(--paper); }
html body #tab-method .method-paper-appendix-grid h4 { margin: 0; color: var(--violet-deep) !important; font-family: var(--font-serif) !important; font-size: 25px; font-weight: 400; }
html body #tab-method .method-paper-appendix-grid > div > p { margin: 8px 0 16px; color: var(--ink-muted) !important; font-size: 13px; }
/* The Metric guide has nine definitions: keep them as a readable 3 × 3 grid
   on wide screens instead of leaving an orphan card on a third row. */
html body #tab-method .method-paper-appendix-grid .glossary-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 9px !important;
}
html body #tab-method .method-paper-appendix-grid .glossary-card { padding: 14px; }

@media (max-width: 820px) {
  html body #tab-method .method-paper-header,
  html body #tab-method .method-paper-callout,
  html body #tab-method .method-paper-audit-grid,
  html body #tab-method .method-paper-appendix-grid { grid-template-columns: 1fr; }
  html body #tab-method .method-paper-abstract { max-width: 560px; }
}

@media (max-width: 620px) {
  html body #tab-method .method-paper-header { padding-top: 18px; }
  html body #tab-method .method-paper-header h2 { font-size: 43px; }
  html body #tab-method .method-paper-step { grid-template-columns: 1fr; gap: 5px; padding: 27px 0 30px; }
  html body #tab-method .method-paper-step-index { margin: 0 0 8px; }
  html body #tab-method .method-paper-callout { padding: 19px; }
  html body #tab-method .method-paper-limit-grid,
  html body #tab-method .method-paper-metric-pair { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  html body #tab-method .method-paper-audit-card .gate-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  html body #tab-method .method-paper-audit-card .gate-timeline { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  html body #tab-method .method-paper-appendix-grid .glossary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 460px) {
  html body #tab-method .method-paper-appendix-grid .glossary-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Give every heading a relaxed, readable rhythm. Several legacy layers used
   negative tracking for display type, which made the public headers feel
   compressed at normal viewing sizes. */
html body :is(h1, h2, h3, h4, h5, h6),
html body :is(.panel-title, .section-heading, .page-intro, .method-paper-section-heading),
html body .topbar .tab {
  letter-spacing: 0 !important;
}
