:root {
  --radar-ink: #10223b;
  --radar-blue: #1857b6;
  --radar-blue-soft: #e9f2ff;
  --radar-cyan: #0b7894;
  --radar-line: #cddbec;
  --radar-surface: #f7faff;
}

.theme-radar-launcher {
  bottom: 104px;
  border-color: #8fb9e7;
  background:
    radial-gradient(circle at 50% 38%, rgba(43, 132, 214, .14), transparent 58%),
    #f6fbff;
  color: #125798;
}

.theme-radar-launcher svg {
  overflow: visible;
}

.theme-radar-launcher .theme-radar-sweep {
  transform-origin: 12px 12px;
  animation: themeRadarSweep 3.2s linear infinite;
}

.theme-radar-launcher .theme-radar-signal {
  fill: #dc2626;
  stroke: none;
  animation: themeRadarSignal 1.6s ease-in-out infinite;
}

.theme-radar-launcher.active {
  border-color: #175eb5;
  background: #175eb5;
  color: #fff;
  box-shadow: 0 16px 34px rgba(23, 94, 181, .28);
}

@keyframes themeRadarSweep {
  to { transform: rotate(360deg); }
}

@keyframes themeRadarSignal {
  50% { opacity: .28; }
}

body.theme-radar-active #themeCatalogView .research-layout {
  display: block;
}

body.theme-radar-active {
  overflow: hidden;
}

body.theme-radar-active #themeCatalogView {
  position: fixed;
  z-index: 110;
  inset: 0;
  display: block;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 18px 18px 104px;
  background:
    radial-gradient(circle at 86% 2%, rgba(42, 112, 191, .09), transparent 28%),
    #eef3f9;
  scrollbar-gutter: stable;
}

body.theme-radar-active #utilityToolsButton {
  opacity: 0;
  pointer-events: none;
}

body.theme-radar-active .theme-radar-launcher.active {
  z-index: 130;
  bottom: 18px;
  width: 82px;
}

body.theme-radar-active.dragon-drawer-open .theme-radar-launcher {
  opacity: 0;
  pointer-events: none;
}

body.theme-radar-active #themeCatalogView .research-side {
  display: none;
}

body.theme-radar-active #themeCatalogView .research-main,
body.theme-radar-active #themeCatalogPanel {
  width: 100%;
  max-width: none;
  min-width: 0;
}

.theme-radar-console {
  display: grid;
  gap: 14px;
  width: 100%;
  max-width: 1780px;
  margin: 0 auto;
  color: var(--radar-ink);
  font-variant-numeric: tabular-nums;
}

.theme-radar-hero {
  position: relative;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 28px;
  overflow: hidden;
  padding: 24px 26px 25px;
  border: 1px solid #c8d8ea;
  border-radius: 20px 20px 10px 10px;
  background:
    radial-gradient(circle at 76% 38%, rgba(36, 111, 194, .14), transparent 25%),
    repeating-radial-gradient(circle at 76% 38%, transparent 0 29px, rgba(28, 91, 162, .055) 30px 31px),
    linear-gradient(105deg, #f9fcff 0%, #edf5ff 100%);
  box-shadow: 0 16px 34px rgba(24, 66, 117, .08);
}

.theme-radar-hero::after {
  content: "";
  position: absolute;
  top: -68px;
  right: 13%;
  width: 1px;
  height: 260px;
  background: linear-gradient(transparent, rgba(22, 90, 168, .34), transparent);
  transform: rotate(38deg);
  transform-origin: bottom center;
  pointer-events: none;
}

.theme-radar-hero-copy {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  max-width: 760px;
}

.theme-radar-kicker,
.theme-radar-ranking header span,
.theme-radar-focus > header > div > span,
.theme-radar-evidence > header span,
.theme-radar-archive > header span,
.theme-radar-ai-panel > header span {
  color: var(--radar-blue);
  font: 800 10px/1.2 ui-monospace, "SFMono-Regular", Consolas, monospace;
  letter-spacing: .13em;
}

.theme-radar-kicker {
  display: flex;
  align-items: center;
  gap: 8px;
}

.theme-radar-kicker i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #df3030;
  box-shadow: 0 0 0 5px rgba(223, 48, 48, .11);
}

.theme-radar-hero h2 {
  margin: 10px 0 7px;
  color: #0b2443;
  font-family: "Microsoft YaHei UI", "PingFang SC", sans-serif;
  font-size: clamp(28px, 3vw, 45px);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -.055em;
}

.theme-radar-hero p {
  max-width: 60ch;
  margin: 0;
  color: #536a86;
  font-size: 14px;
  line-height: 1.65;
}

.theme-radar-source-board {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: auto auto;
  align-content: center;
  gap: 8px 12px;
  min-width: min(380px, 39vw);
  padding: 15px 16px;
  border: 1px solid rgba(122, 157, 198, .44);
  border-radius: 12px;
  background: rgba(255, 255, 255, .74);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
  backdrop-filter: blur(8px);
}

.theme-radar-market-phase {
  align-self: start;
  justify-self: start;
  padding: 4px 8px;
  border-radius: 5px;
  background: #e5ebf3;
  color: #54657b;
  font-size: 11px;
  font-weight: 900;
}

.theme-radar-market-phase.trading {
  background: #fde8e8;
  color: #bd2222;
}

.theme-radar-source-board dl {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1.35fr .65fr;
  gap: 12px;
  margin: 0;
}

.theme-radar-source-board dl > div {
  display: grid;
  gap: 3px;
}

.theme-radar-source-board dt,
.theme-radar-source-board dd {
  margin: 0;
}

.theme-radar-source-board dt {
  color: #71839a;
  font-size: 10px;
  font-weight: 800;
}

.theme-radar-source-board dd {
  overflow: hidden;
  color: #173354;
  font: 800 12px/1.4 ui-monospace, "SFMono-Regular", Consolas, monospace;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.theme-radar-source-board > small {
  align-self: center;
  color: #6a7b90;
  font-size: 11px;
}

.theme-radar-source-board > div {
  display: flex;
  justify-self: end;
  gap: 5px;
}

.theme-radar-source-board > div > button {
  justify-self: end;
  min-width: 58px;
  padding: 6px 10px;
  border: 1px solid #aac2df;
  border-radius: 7px;
  background: #fff;
  color: #225c9e;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}

.theme-radar-source-board .theme-radar-collapse-inline {
  border-color: #cad6e5;
  background: transparent;
  color: #63778f;
}

.theme-radar-source-note {
  padding: 10px 13px;
  border-left: 3px solid #d48a1d;
  background: #fff7e8;
  color: #815718;
  font-size: 12px;
  line-height: 1.55;
}

.theme-radar-source-health {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding: 0 2px;
}

.theme-radar-source-health span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 9px;
  border: 1px solid #cfdae8;
  border-radius: 6px;
  background: rgba(255, 255, 255, .72);
  color: #60758d;
  font-size: 9px;
  font-weight: 800;
}

.theme-radar-source-health i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #a5b0bd;
}

.theme-radar-source-health .healthy i,
.theme-radar-source-health .simulated i { background: #138f55; box-shadow: 0 0 0 3px rgba(19, 143, 85, .12); }
.theme-radar-source-health .degraded i,
.theme-radar-source-health .stale i { background: #d58b1f; box-shadow: 0 0 0 3px rgba(213, 139, 31, .12); }
.theme-radar-source-health .offline i { background: #c93636; box-shadow: 0 0 0 3px rgba(201, 54, 54, .11); }

.theme-radar-tape {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  border: 1px solid var(--radar-line);
  border-radius: 10px;
  background: #fff;
}

.theme-radar-tape > span {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  padding: 12px 16px;
  border-right: 1px solid var(--radar-line);
}

.theme-radar-tape > span:last-child { border-right: 0; }
.theme-radar-tape em { color: #6f8095; font-size: 11px; font-style: normal; font-weight: 800; }
.theme-radar-tape strong { color: #16365d; font: 900 21px/1 ui-monospace, "SFMono-Regular", Consolas, monospace; }

.theme-radar-workspace {
  display: grid;
  grid-template-columns: minmax(270px, .8fr) minmax(430px, 1.45fr) minmax(285px, .9fr);
  gap: 12px;
  align-items: start;
}

.theme-radar-ranking,
.theme-radar-focus,
.theme-radar-evidence,
.theme-radar-archive {
  min-width: 0;
  border: 1px solid var(--radar-line);
  background: #fff;
}

.theme-radar-ranking { border-radius: 10px 6px 6px 10px; }
.theme-radar-focus { border-radius: 6px; }
.theme-radar-evidence { border-radius: 6px 10px 10px 6px; }

.theme-radar-ranking > header,
.theme-radar-evidence > header,
.theme-radar-archive > header,
.theme-radar-ai-panel > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.theme-radar-ranking > header,
.theme-radar-evidence > header {
  min-height: 70px;
  padding: 14px 15px;
  border-bottom: 1px solid var(--radar-line);
}

.theme-radar-ranking h3,
.theme-radar-focus h3,
.theme-radar-evidence h3,
.theme-radar-archive h3,
.theme-radar-ai-panel h3 {
  margin: 4px 0 0;
  color: var(--radar-ink);
  font-size: 17px;
  line-height: 1.25;
}

.theme-radar-sort {
  display: flex;
  gap: 2px;
  padding: 2px;
  border: 1px solid #d4dfec;
  border-radius: 7px;
  background: #f4f7fb;
}

.theme-radar-sort button {
  padding: 5px 7px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: #6a7d95;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}

.theme-radar-sort button.active {
  background: #fff;
  color: var(--radar-blue);
  box-shadow: 0 1px 5px rgba(30, 72, 122, .12);
}

.theme-radar-rank-list {
  max-height: 688px;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.theme-radar-rank-row {
  display: grid;
  grid-template-columns: 28px minmax(92px, 1fr) 42px 58px 76px;
  align-items: center;
  gap: 7px;
  width: 100%;
  min-height: 57px;
  padding: 8px 10px;
  border: 0;
  border-bottom: 1px solid #e8eef5;
  background: #fff;
  color: #31475f;
  text-align: left;
  cursor: pointer;
  transition: background-color .16s ease, transform .16s ease;
}

.theme-radar-rank-row:hover { background: #f4f8fd; }
.theme-radar-rank-row:active { transform: translateY(1px); }
.theme-radar-rank-row.active { background: linear-gradient(90deg, #e8f2ff, #f8fbff); box-shadow: inset 3px 0 0 var(--radar-blue); }
.theme-radar-rank-number { color: #8292a6; font: 800 11px/1 ui-monospace, "SFMono-Regular", Consolas, monospace; }
.theme-radar-rank-name { display: grid; gap: 4px; min-width: 0; }
.theme-radar-rank-name strong { overflow: hidden; color: #17304f; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.theme-radar-rank-name small { overflow: hidden; color: #7a8b9e; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.theme-radar-rank-score { display: grid; justify-items: end; gap: 1px; }
.theme-radar-rank-score strong { color: var(--radar-blue); font: 900 14px/1 ui-monospace, "SFMono-Regular", Consolas, monospace; }
.theme-radar-rank-score small { color: #94a2b2; font-size: 8px; }
.theme-radar-rank-row > .positive,
.theme-radar-rank-row > .negative,
.theme-radar-rank-row > .neutral { justify-self: end; font: 800 10px/1 ui-monospace, "SFMono-Regular", Consolas, monospace; }

.theme-radar-focus {
  overflow: hidden;
}

.theme-radar-focus > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  min-height: 128px;
  padding: 20px 20px 12px;
}

.theme-radar-focus > header > div { min-width: 0; }
.theme-radar-focus > header h3 { margin-top: 6px; font-size: clamp(22px, 2vw, 31px); letter-spacing: -.035em; }
.theme-radar-focus > header p { max-width: 54ch; margin: 7px 0 0; color: #65778d; font-size: 12px; line-height: 1.55; }

.theme-radar-lifecycle {
  display: inline-flex;
  max-width: 100%;
  margin-top: 9px;
  padding: 4px 7px;
  border-left: 2px solid currentColor;
  background: #f3f6fa;
  color: #64788f;
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.45;
}

.theme-radar-lifecycle.positive { background: #fff0f0; color: #bd2e35 !important; }
.theme-radar-lifecycle.negative { background: #eaf8f1; color: #087a45 !important; }

.theme-radar-score-orbit {
  position: relative;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 86px;
  height: 86px;
  border: 1px solid #a9c6e8;
  border-radius: 50%;
  background:
    radial-gradient(circle, #fff 0 32%, transparent 33%),
    repeating-radial-gradient(circle, rgba(30, 100, 181, .09) 0 1px, transparent 1px 12px),
    #eef6ff;
  color: #1557a5;
}

.theme-radar-score-orbit::after {
  content: "";
  position: absolute;
  inset: 8px;
  border-right: 2px solid #2d7ac7;
  border-radius: 50%;
  animation: themeRadarSweep 5s linear infinite;
}

.theme-radar-score-orbit span { font: 900 25px/1 ui-monospace, "SFMono-Regular", Consolas, monospace; }
.theme-radar-score-orbit small { margin-top: -12px; color: #6c8199; font-size: 8px; }

.theme-radar-sparkline {
  display: block;
  width: 100%;
  height: 132px;
  padding: 0 15px;
}

.theme-radar-sparkline .theme-radar-grid-line { fill: none; stroke: #e4edf6; stroke-width: 1; }
.theme-radar-sparkline polygon { fill: rgba(39, 116, 195, .1); stroke: none; }
.theme-radar-sparkline polyline { fill: none; stroke: #1c69b8; stroke-linecap: round; stroke-linejoin: round; stroke-width: 3; }

.theme-radar-focus-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 18px;
  border-top: 1px solid #d8e3ef;
  border-bottom: 1px solid #d8e3ef;
}

.theme-radar-focus-metrics > span {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 13px 10px;
  border-right: 1px solid #e0e8f2;
}

.theme-radar-focus-metrics > span:last-child { border-right: 0; }
.theme-radar-focus-metrics > span:nth-child(3n) { border-right: 0; }
.theme-radar-focus-metrics > span:nth-child(-n+3) { border-bottom: 1px solid #e0e8f2; }
.theme-radar-focus-metrics em { color: #75879b; font-size: 9px; font-style: normal; font-weight: 800; }
.theme-radar-focus-metrics strong { overflow: hidden; color: #163251; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.theme-radar-focus-metrics small { overflow: hidden; color: #8795a6; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.theme-radar-console .positive { color: #cf2929 !important; }
.theme-radar-console .negative { color: #098447 !important; }
.theme-radar-console .neutral { color: #68798e !important; }

.theme-radar-focus-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 19px;
}

.theme-radar-focus-actions > button,
.theme-radar-focus-actions > div > button,
.theme-radar-ai-panel > header button {
  flex: 0 0 auto;
  padding: 8px 11px;
  border: 1px solid #9fbbe0;
  border-radius: 7px;
  background: #edf5ff;
  color: #194f93;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}

.theme-radar-focus-actions > div {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
}

.theme-radar-focus-actions .follow-button {
  margin: 0;
}

.theme-radar-focus-actions > span { color: #7b899a; font-size: 9px; line-height: 1.45; text-align: right; }

.theme-radar-constituents {
  margin: 0 18px 14px;
  border-top: 1px solid #d8e3ef;
}

.theme-radar-constituents > header,
.theme-radar-signal-panel > header,
.theme-radar-propagation > header,
.theme-radar-review > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0 10px;
}

.theme-radar-constituents > header span,
.theme-radar-signal-panel > header span,
.theme-radar-propagation > header span,
.theme-radar-review > header span {
  color: var(--radar-blue);
  font: 800 9px/1.2 ui-monospace, "SFMono-Regular", Consolas, monospace;
  letter-spacing: .11em;
}

.theme-radar-constituents h3,
.theme-radar-signal-panel h3,
.theme-radar-propagation h3,
.theme-radar-review h3 { margin: 3px 0 0; color: var(--radar-ink); font-size: 14px; }

.theme-radar-constituents > header small,
.theme-radar-signal-panel > header small,
.theme-radar-propagation > header small { color: #7a8b9f; font-size: 8px; text-align: right; }

.theme-radar-stock-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid #dce6f1;
  background: #f7faff;
}

.theme-radar-stock-stats span { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; padding: 7px 9px; border-right: 1px solid #dce6f1; }
.theme-radar-stock-stats span:last-child { border-right: 0; }
.theme-radar-stock-stats em { color: #75869a; font-size: 8px; font-style: normal; }
.theme-radar-stock-stats strong { color: #1d456f; font: 900 12px/1 ui-monospace, "SFMono-Regular", Consolas, monospace; }

.theme-radar-stock-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-right: 1px solid #e1e8f1;
  border-left: 1px solid #e1e8f1;
}

.theme-radar-stock-strip article {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
  min-width: 0;
  padding: 8px;
  border-right: 1px solid #e1e8f1;
  border-bottom: 1px solid #e1e8f1;
}

.theme-radar-stock-strip article:nth-child(2n) { border-right: 0; }
.theme-radar-stock-strip article > span { color: #8a9aae; font: 800 9px/1 ui-monospace, "SFMono-Regular", Consolas, monospace; }
.theme-radar-stock-strip article > div { display: grid; gap: 3px; min-width: 0; }
.theme-radar-stock-strip article strong { overflow: hidden; color: #25405e; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.theme-radar-stock-strip article small { overflow: hidden; color: #8795a6; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.theme-radar-stock-strip article > em { font: 900 10px/1 ui-monospace, "SFMono-Regular", Consolas, monospace; font-style: normal; }

.theme-association-layer { margin: 12px; border: 1px solid #d7e2ed; border-radius: 8px; overflow: hidden; background: #fff; }
.theme-association-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-bottom: 1px solid #d7e2ed; background: #f4f8fc; }
.theme-association-tabs button { padding: 12px; border: 0; border-right: 1px solid #d7e2ed; background: transparent; color: #64788e; font-weight: 800; cursor: pointer; }
.theme-association-tabs button:last-child { border-right: 0; }
.theme-association-tabs button.active { background: #fff; color: #165aa7; box-shadow: inset 0 -2px #2f7bd3; }
.theme-association-tabs span { margin-left: 5px; color: #8799aa; font: 800 10px/1 ui-monospace, Consolas, monospace; }
.theme-association-notice { margin: 0; padding: 10px 12px; border-bottom: 1px solid #e4ebf2; color: #6f8092; font-size: 10px; line-height: 1.6; }
.theme-association-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; padding: 10px 12px; border-bottom: 1px solid #e4ebf2; }
.theme-association-search input { min-width: 0; padding: 9px 10px; border: 1px solid #cbd9e7; border-radius: 5px; background: #fff; color: #203d5b; }
.theme-association-search button { padding: 0 14px; border: 1px solid #2f7bd3; border-radius: 5px; background: #2f7bd3; color: #fff; font-weight: 800; cursor: pointer; }
.theme-association-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.theme-association-item { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; gap: 8px; padding: 11px 12px; border-right: 1px solid #e4ebf2; border-bottom: 1px solid #e4ebf2; }
.theme-association-item:nth-child(2n) { border-right: 0; }
.theme-association-item > span { color: #91a1b2; font: 800 9px/1.4 ui-monospace, Consolas, monospace; }
.theme-association-item > div { min-width: 0; }
.theme-association-item strong { display: block; color: #213e5e; font-size: 12px; }
.theme-association-item small { display: block; margin-top: 3px; color: #7a8ca0; font-size: 9px; }
.theme-association-item p { margin: 6px 0 0; color: #4d647a; font-size: 10px; line-height: 1.55; }
.theme-association-item a { display: inline-block; margin-top: 6px; color: #246bb8; font-size: 9px; text-decoration: none; }
.theme-association-item > em { align-self: start; padding: 4px 6px; border: 1px solid #b7cde4; border-radius: 999px; color: #49739e; font-size: 8px; font-style: normal; white-space: nowrap; }
.theme-association-item.reviewed > em { border-color: #91d0b6; color: #17704a; }
.theme-association-locked { margin: 12px; padding: 18px; border: 1px dashed #bfd0e2; border-radius: 7px; text-align: center; }
.theme-association-locked strong { color: #244661; }
.theme-association-locked p { color: #77899a; font-size: 10px; }
.theme-association-layer > .load-more-button { width: calc(100% - 24px); margin: 12px; }
[data-color-mode="dark"] .theme-association-layer { border-color: #263b53; background: #101b29; }
[data-color-mode="dark"] .theme-association-tabs { border-color: #263b53; background: #111f30; }
[data-color-mode="dark"] .theme-association-tabs button { border-color: #263b53; color: #8295aa; }
[data-color-mode="dark"] .theme-association-tabs button.active { background: #101b29; color: #6caef5; }
[data-color-mode="dark"] .theme-association-item { border-color: #26384d; }
[data-color-mode="dark"] .theme-association-item strong { color: #d4e5f7; }
[data-color-mode="dark"] .theme-association-item p { color: #9bb0c4; }
[data-color-mode="dark"] .theme-association-search input { border-color: #2b425b; background: #0d1723; color: #d4e5f7; }

@media (max-width: 720px) {
  .theme-association-list { grid-template-columns: 1fr; }
  .theme-association-item { border-right: 0; }
}

.theme-radar-ai-panel {
  margin: 0 18px 18px;
  padding: 15px;
  border: 1px solid #bed4ea;
  border-radius: 8px;
  background: #f5f9fe;
}

.theme-radar-ai-panel > header button:disabled { cursor: wait; opacity: .6; }
.theme-radar-ai-summary { margin: 13px 0 0; color: #263e5b; font-size: 12px; line-height: 1.65; }
.theme-radar-ai-prompt { margin: 12px 0 0; color: #697c93; font-size: 11px; line-height: 1.55; }
.theme-radar-ai-error { margin: 12px 0 0; color: #b4232e; font-size: 11px; }

.theme-radar-ai-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.theme-radar-ai-columns section { min-width: 0; padding: 10px; border-left: 2px solid #8aafd9; background: #fff; }
.theme-radar-ai-columns em { color: #2963a4; font-size: 9px; font-style: normal; font-weight: 900; }
.theme-radar-ai-columns p { margin: 6px 0 0; color: #53687f; font-size: 10px; line-height: 1.5; }
.theme-radar-ai-panel footer { display: flex; justify-content: space-between; gap: 12px; margin-top: 11px; color: #708197; font-size: 9px; }
.theme-radar-ai-warning { display: block; margin-top: 9px; color: #936316; font-size: 9px; line-height: 1.5; }

.theme-radar-evidence > header > small { color: #76879a; font-size: 9px; }
.theme-radar-evidence-list { max-height: 688px; overflow-y: auto; overscroll-behavior: contain; }
.theme-radar-evidence-list > a,
.theme-radar-evidence-list > article {
  position: relative;
  display: grid;
  gap: 7px;
  padding: 13px 14px;
  border-bottom: 1px solid #e5edf5;
  color: inherit;
  text-decoration: none;
}
.theme-radar-catalyst-timeline { position: relative; }
.theme-radar-catalyst-timeline::before { content: ""; position: absolute; top: 18px; bottom: 18px; left: 19px; width: 1px; background: #cfdfef; }
.theme-radar-catalyst-timeline > a,
.theme-radar-catalyst-timeline > article { padding-left: 37px; }
.theme-radar-catalyst-timeline > a::before,
.theme-radar-catalyst-timeline > article::before { content: ""; position: absolute; top: 18px; left: 16px; width: 7px; height: 7px; border: 2px solid #fff; border-radius: 50%; background: #2b70bb; box-shadow: 0 0 0 1px #8eb3da; }
.theme-radar-catalyst-timeline time { color: #2a639d; font: 800 8px/1 ui-monospace, "SFMono-Regular", Consolas, monospace; }
.theme-radar-evidence-list > a:hover { background: #f3f8fe; }
.theme-radar-evidence-meta { display: flex; align-items: center; justify-content: space-between; gap: 7px; }
.theme-radar-evidence-meta em { padding: 3px 5px; border-radius: 4px; background: #e8f2ff; color: #1c5fa7; font-size: 9px; font-style: normal; font-weight: 900; }
.theme-radar-evidence-meta small { overflow: hidden; color: #8997a8; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.theme-radar-evidence-list strong { color: #1e3857; font-size: 11px; line-height: 1.45; }
.theme-radar-evidence-list p { display: -webkit-box; margin: 0; overflow: hidden; color: #687a8f; font-size: 10px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

.theme-radar-locked,
.theme-radar-evidence-loading,
.theme-radar-evidence-empty {
  display: grid;
  gap: 8px;
  margin: 14px;
  padding: 17px;
  border: 1px dashed #b8cae0;
  border-radius: 8px;
  background: #f7faff;
  color: #6d7f94;
  font-size: 11px;
  line-height: 1.55;
}

.theme-radar-locked strong,
.theme-radar-evidence-empty strong { color: #274562; font-size: 12px; }
.theme-radar-locked p,
.theme-radar-evidence-empty p { margin: 0; }
.theme-radar-locked button { justify-self: start; }

.theme-radar-secondary-grid {
  display: grid;
  grid-template-columns: minmax(260px, .85fr) minmax(280px, .9fr) minmax(410px, 1.25fr);
  gap: 12px;
  align-items: stretch;
}

.theme-radar-signal-panel,
.theme-radar-propagation,
.theme-radar-review {
  min-width: 0;
  border: 1px solid var(--radar-line);
  border-radius: 9px;
  background: #fff;
}

.theme-radar-signal-panel > header,
.theme-radar-propagation > header,
.theme-radar-review > header { padding: 13px 15px; border-bottom: 1px solid #e1e9f2; }

.theme-radar-signal-list { display: grid; }
.theme-radar-signal-list article { display: grid; grid-template-columns: 8px minmax(0, 1fr); gap: 9px; padding: 11px 14px; border-bottom: 1px solid #edf1f6; }
.theme-radar-signal-list article:last-child { border-bottom: 0; }
.theme-radar-signal-list article > i { width: 7px; height: 7px; margin-top: 3px; border-radius: 50%; background: #2d75bd; }
.theme-radar-signal-list article.high > i { background: #d03a3a; box-shadow: 0 0 0 4px rgba(208, 58, 58, .1); }
.theme-radar-signal-list article.medium > i { background: #d48923; }
.theme-radar-signal-list article > div { display: grid; gap: 4px; }
.theme-radar-signal-list strong { color: #263f5c; font-size: 10px; }
.theme-radar-signal-list p { margin: 0; color: #718196; font-size: 9px; line-height: 1.5; }

.theme-radar-propagation-map {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 8px;
  min-height: 156px;
  padding: 15px;
  background: radial-gradient(circle at 50% 48%, rgba(46, 111, 184, .1), transparent 42%);
}

.theme-radar-propagation-core {
  grid-row: 1 / span 2;
  align-self: center;
  display: grid;
  place-items: center;
  min-height: 88px;
  padding: 12px;
  border: 1px solid #8db3da;
  border-radius: 50%;
  background: #edf5ff;
  color: #194f8d;
  font-size: 11px;
  text-align: center;
}

.theme-radar-propagation-core small { display: block; margin-top: 4px; color: #7890ab; font-size: 7px; }
.theme-radar-propagation-map button { position: relative; display: grid; gap: 3px; align-content: center; min-width: 0; padding: 9px; border: 1px solid #d2deeb; border-radius: 6px; background: #fbfdff; color: #2e4c6e; text-align: left; cursor: pointer; }
.theme-radar-propagation-map button::before { content: ""; position: absolute; top: 50%; right: 100%; width: 9px; height: 1px; background: #9ebbd9; }
.theme-radar-propagation-map button span { overflow: hidden; font-size: 10px; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
.theme-radar-propagation-map button small { color: #7b8da2; font-size: 8px; }
.theme-radar-propagation-map > p { grid-column: 2; align-self: center; margin: 0; color: #74869a; font-size: 9px; line-height: 1.55; }

.theme-radar-review > header label { display: grid; gap: 3px; color: #7b8a9c; font-size: 8px; }
.theme-radar-review > header select { min-width: 116px; padding: 5px 7px; border: 1px solid #c8d6e6; border-radius: 5px; background: #fff; color: #234361; font-size: 9px; }
.theme-radar-review-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.theme-radar-review-grid > span { display: grid; gap: 5px; padding: 13px; border-right: 1px solid #e3eaf2; border-bottom: 1px solid #e3eaf2; }
.theme-radar-review-grid > span:nth-child(4) { border-right: 0; }
.theme-radar-review-grid em { color: #7a899c; font-size: 8px; font-style: normal; }
.theme-radar-review-grid strong { color: #244563; font: 900 13px/1.2 ui-monospace, "SFMono-Regular", Consolas, monospace; }
.theme-radar-review-grid small { color: #8594a5; font-size: 8px; }
.theme-radar-review-grid .theme-radar-review-outcome { grid-column: 1 / -1; border: 0; background: #f4f8fd; }

.theme-radar-mini-empty { padding: 18px 15px; color: #74869b; font-size: 9px; line-height: 1.55; }

.theme-radar-archive {
  overflow: hidden;
  border-radius: 10px 10px 18px 18px;
}

.theme-radar-archive > header {
  padding: 16px 18px;
  border-bottom: 1px solid var(--radar-line);
}

.theme-radar-archive > header p { max-width: 70ch; margin: 0; color: #6e7f91; font-size: 11px; line-height: 1.5; text-align: right; }
.theme-radar-archive-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.theme-radar-archive-card { display: grid; align-content: start; min-width: 0; min-height: 150px; padding: 14px; border-right: 1px solid #e4ebf3; border-bottom: 1px solid #e4ebf3; background: #fff; }
.theme-radar-archive-card.active { background: #f0f6ff; box-shadow: inset 0 3px 0 var(--radar-blue); }
.theme-radar-archive-select { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 4px 8px; padding: 0; border: 0; background: transparent; text-align: left; cursor: pointer; }
.theme-radar-archive-select > span { grid-row: 1 / 3; color: #8b99aa; font: 800 10px/1.4 ui-monospace, "SFMono-Regular", Consolas, monospace; }
.theme-radar-archive-select strong { overflow: hidden; color: #183553; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.theme-radar-archive-select em { color: #6e8298; font-size: 9px; font-style: normal; }
.theme-radar-archive-card > p { display: -webkit-box; margin: 11px 0; overflow: hidden; color: #6b7d92; font-size: 10px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.theme-radar-archive-card footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; }
.theme-radar-archive-card footer span { color: #8492a3; font-size: 9px; }
.theme-radar-archive-card footer button { padding: 5px 8px; border: 1px solid #b7cbe2; border-radius: 5px; background: #fff; color: #215792; font-size: 9px; font-weight: 900; cursor: pointer; }

.theme-radar-empty {
  display: grid;
  place-items: center;
  min-height: 360px;
  padding: 32px;
  border: 1px dashed #b9cce2;
  border-radius: 12px;
  background: #fff;
  color: #6e8095;
  text-align: center;
}

.theme-radar-empty p { max-width: 55ch; margin: 7px 0 0; }

.theme-radar-console button:focus-visible,
.theme-radar-launcher:focus-visible,
.theme-radar-evidence-list > a:focus-visible {
  outline: 3px solid rgba(37, 99, 235, .28);
  outline-offset: 2px;
}

[data-color-mode="dark"] {
  --radar-ink: #e4edfb;
  --radar-blue: #85b2ff;
  --radar-blue-soft: #172a45;
  --radar-cyan: #67c9dc;
  --radar-line: #334a67;
  --radar-surface: #101c2c;
}

[data-color-mode="dark"] .theme-radar-launcher { border-color: #416f9f; background: #152943; color: #a8c9ff; }
[data-color-mode="dark"] .theme-radar-launcher.active { background: #2f69b3; color: #fff; }
[data-color-mode="dark"] body.theme-radar-active #themeCatalogView,
body[data-color-mode="dark"].theme-radar-active #themeCatalogView { background: radial-gradient(circle at 86% 2%, rgba(62, 129, 202, .12), transparent 28%), #0b1522; }
[data-color-mode="dark"] .theme-radar-console { color: var(--radar-ink); }
[data-color-mode="dark"] .theme-radar-hero {
  border-color: #3a5576;
  background:
    radial-gradient(circle at 76% 38%, rgba(66, 132, 209, .18), transparent 25%),
    repeating-radial-gradient(circle at 76% 38%, transparent 0 29px, rgba(116, 170, 232, .07) 30px 31px),
    linear-gradient(105deg, #12233a, #142a47);
  box-shadow: 0 18px 38px rgba(2, 8, 18, .24);
}
[data-color-mode="dark"] .theme-radar-hero h2,
[data-color-mode="dark"] .theme-radar-ranking h3,
[data-color-mode="dark"] .theme-radar-focus h3,
[data-color-mode="dark"] .theme-radar-evidence h3,
[data-color-mode="dark"] .theme-radar-archive h3,
[data-color-mode="dark"] .theme-radar-ai-panel h3 { color: #edf4ff !important; }
[data-color-mode="dark"] .theme-radar-hero p,
[data-color-mode="dark"] .theme-radar-focus > header p { color: #a5b5c9; }
[data-color-mode="dark"] .theme-radar-source-board { border-color: #45617e; background: rgba(14, 29, 48, .78); }
[data-color-mode="dark"] .theme-radar-source-board dd { color: #d8e6f8; }
[data-color-mode="dark"] .theme-radar-source-board > button,
[data-color-mode="dark"] .theme-radar-source-board > div > button,
[data-color-mode="dark"] .theme-radar-sort button.active,
[data-color-mode="dark"] .theme-radar-archive-card footer button { border-color: #46617f; background: #172941; color: #a9c8f3; }
[data-color-mode="dark"] .theme-radar-source-note { border-color: #b77a24; background: #332918; color: #e6c27f; }
[data-color-mode="dark"] .theme-radar-tape,
[data-color-mode="dark"] .theme-radar-ranking,
[data-color-mode="dark"] .theme-radar-focus,
[data-color-mode="dark"] .theme-radar-evidence,
[data-color-mode="dark"] .theme-radar-archive,
[data-color-mode="dark"] .theme-radar-rank-row,
[data-color-mode="dark"] .theme-radar-archive-card { background: #111f31; }
[data-color-mode="dark"] .theme-radar-tape strong,
[data-color-mode="dark"] .theme-radar-rank-name strong,
[data-color-mode="dark"] .theme-radar-focus-metrics strong,
[data-color-mode="dark"] .theme-radar-evidence-list strong,
[data-color-mode="dark"] .theme-radar-archive-select strong { color: #dce8f8; }
[data-color-mode="dark"] .theme-radar-rank-row { border-color: #2b4058; color: #afbed0; }
[data-color-mode="dark"] .theme-radar-rank-row:hover { background: #172a41; }
[data-color-mode="dark"] .theme-radar-rank-row.active { background: linear-gradient(90deg, #193452, #13243a); }
[data-color-mode="dark"] .theme-radar-score-orbit { border-color: #47729e; background: repeating-radial-gradient(circle, rgba(128, 180, 236, .1) 0 1px, transparent 1px 12px), #172c45; color: #a7caff; }
[data-color-mode="dark"] .theme-radar-sparkline .theme-radar-grid-line { stroke: #2d4259; }
[data-color-mode="dark"] .theme-radar-sparkline polygon { fill: rgba(91, 153, 220, .12); }
[data-color-mode="dark"] .theme-radar-sparkline polyline { stroke: #6ba8e6; }
[data-color-mode="dark"] .theme-radar-focus-metrics { border-color: #344a62; }
[data-color-mode="dark"] .theme-radar-focus-metrics > span { border-color: #2c4057; }
[data-color-mode="dark"] .theme-radar-ai-panel,
[data-color-mode="dark"] .theme-radar-locked,
[data-color-mode="dark"] .theme-radar-evidence-loading,
[data-color-mode="dark"] .theme-radar-evidence-empty { border-color: #3b5674; background: #14263c; }
[data-color-mode="dark"] .theme-radar-ai-summary,
[data-color-mode="dark"] .theme-radar-locked strong,
[data-color-mode="dark"] .theme-radar-evidence-empty strong { color: #d2e1f3; }
[data-color-mode="dark"] .theme-radar-ai-columns section { background: #101f32; }
[data-color-mode="dark"] .theme-radar-ai-columns p,
[data-color-mode="dark"] .theme-radar-evidence-list p,
[data-color-mode="dark"] .theme-radar-archive-card > p { color: #9eb0c4; }
[data-color-mode="dark"] .theme-radar-evidence-list > a,
[data-color-mode="dark"] .theme-radar-evidence-list > article,
[data-color-mode="dark"] .theme-radar-archive-card { border-color: #2d435c; }
[data-color-mode="dark"] .theme-radar-evidence-list > a:hover { background: #172a41; }
[data-color-mode="dark"] .theme-radar-archive-card.active { background: #172b43; }
[data-color-mode="dark"] .theme-radar-source-health span,
[data-color-mode="dark"] .theme-radar-signal-panel,
[data-color-mode="dark"] .theme-radar-propagation,
[data-color-mode="dark"] .theme-radar-review,
[data-color-mode="dark"] .theme-radar-stock-stats,
[data-color-mode="dark"] .theme-radar-propagation-map button,
[data-color-mode="dark"] .theme-radar-review > header select { border-color: #344c66; background: #111f31; color: #cbdbee; }
[data-color-mode="dark"] .theme-radar-lifecycle { background: #16283d; }
[data-color-mode="dark"] .theme-radar-lifecycle.positive { background: #3a2025; }
[data-color-mode="dark"] .theme-radar-lifecycle.negative { background: #123126; }
[data-color-mode="dark"] .theme-radar-stock-stats span,
[data-color-mode="dark"] .theme-radar-stock-strip,
[data-color-mode="dark"] .theme-radar-stock-strip article,
[data-color-mode="dark"] .theme-radar-signal-panel > header,
[data-color-mode="dark"] .theme-radar-propagation > header,
[data-color-mode="dark"] .theme-radar-review > header,
[data-color-mode="dark"] .theme-radar-signal-list article,
[data-color-mode="dark"] .theme-radar-review-grid > span { border-color: #2d4259; }
[data-color-mode="dark"] .theme-radar-stock-strip article strong,
[data-color-mode="dark"] .theme-radar-signal-list strong,
[data-color-mode="dark"] .theme-radar-constituents h3,
[data-color-mode="dark"] .theme-radar-signal-panel h3,
[data-color-mode="dark"] .theme-radar-propagation h3,
[data-color-mode="dark"] .theme-radar-review h3,
[data-color-mode="dark"] .theme-radar-review-grid strong { color: #d9e7f7; }
[data-color-mode="dark"] .theme-radar-propagation-core { border-color: #4778a7; background: #183450; color: #b9d5f4; }
[data-color-mode="dark"] .theme-radar-review-grid .theme-radar-review-outcome { background: #14263b; }
[data-color-mode="dark"] .theme-radar-catalyst-timeline::before { background: #35516e; }
[data-color-mode="dark"] .theme-radar-catalyst-timeline > a::before,
[data-color-mode="dark"] .theme-radar-catalyst-timeline > article::before { border-color: #111f31; }

@media (max-width: 1380px) {
  .theme-radar-tape { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .theme-radar-tape > span:nth-child(3n) { border-right: 0; }
  .theme-radar-tape > span:nth-child(-n+3) { border-bottom: 1px solid var(--radar-line); }
  .theme-radar-workspace { grid-template-columns: minmax(270px, .8fr) minmax(420px, 1.35fr); }
  .theme-radar-evidence { grid-column: 1 / -1; }
  .theme-radar-evidence-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-height: none; }
  .theme-radar-evidence-list > a,
  .theme-radar-evidence-list > article { border-right: 1px solid #e5edf5; }
  .theme-radar-catalyst-timeline::before { display: none; }
  .theme-radar-catalyst-timeline > a,
  .theme-radar-catalyst-timeline > article { padding-left: 28px; }
  .theme-radar-catalyst-timeline > a::before,
  .theme-radar-catalyst-timeline > article::before { left: 11px; }
  .theme-radar-secondary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .theme-radar-review { grid-column: 1 / -1; }
}

@media (max-width: 980px) {
  .theme-radar-hero { flex-direction: column; }
  .theme-radar-source-board { width: 100%; min-width: 0; }
  .theme-radar-workspace { grid-template-columns: 1fr; }
  .theme-radar-evidence { grid-column: auto; }
  .theme-radar-ranking,
  .theme-radar-focus,
  .theme-radar-evidence { border-radius: 9px; }
  .theme-radar-rank-list { max-height: 440px; }
  .theme-radar-evidence-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .theme-radar-secondary-grid { grid-template-columns: 1fr; }
  .theme-radar-review { grid-column: auto; }
}

@media (max-width: 780px) {
  body.theme-radar-active #themeCatalogView { padding: 8px 8px calc(92px + env(safe-area-inset-bottom)); }
  .theme-radar-launcher {
    right: 12px;
    bottom: calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 80px);
    width: 58px;
    min-height: 58px;
    padding: 6px 4px;
    border-radius: 16px;
  }

  .theme-radar-launcher svg { width: 23px; height: 23px; }
  .theme-radar-launcher span { display: block; font-size: 9px; }
  body.theme-radar-active .theme-radar-launcher.active { right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); width: 68px; min-height: 58px; }
  body.pwa-banner-visible .theme-radar-launcher { bottom: calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 214px); }
  body.theme-radar-active.pwa-banner-visible .theme-radar-launcher.active { bottom: calc(12px + env(safe-area-inset-bottom)); }

  .theme-radar-console { gap: 10px; }
  .theme-radar-hero { gap: 16px; padding: 18px 15px 16px; border-radius: 14px 14px 8px 8px; }
  .theme-radar-hero h2 { font-size: 29px; }
  .theme-radar-hero p { font-size: 12px; }
  .theme-radar-source-board { grid-template-columns: 1fr auto; padding: 12px; }
  .theme-radar-source-board dl { grid-template-columns: minmax(0, 1.35fr) minmax(80px, .65fr); }
  .theme-radar-tape { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .theme-radar-tape > span { border-right: 1px solid var(--radar-line); border-bottom: 1px solid var(--radar-line); }
  .theme-radar-tape > span:nth-child(2n) { border-right: 0; }
  .theme-radar-tape > span:nth-last-child(-n+2) { border-bottom: 0; }
  .theme-radar-rank-row { grid-template-columns: 24px minmax(92px, 1fr) 36px 54px 68px; gap: 5px; padding-inline: 8px; }
  .theme-radar-rank-list { max-height: 390px; }
  .theme-radar-focus > header { min-height: 0; padding: 16px 14px 9px; }
  .theme-radar-focus > header h3 { font-size: 23px; }
  .theme-radar-score-orbit { width: 72px; height: 72px; }
  .theme-radar-score-orbit span { font-size: 21px; }
  .theme-radar-sparkline { height: 112px; padding-inline: 8px; }
  .theme-radar-focus-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-inline: 12px; }
  .theme-radar-focus-metrics > span { border-right: 1px solid #e0e8f2; border-bottom: 1px solid #e0e8f2; }
  .theme-radar-focus-metrics > span:nth-child(2n) { border-right: 0; }
  .theme-radar-focus-metrics > span:nth-last-child(-n+2) { border-bottom: 0; }
  .theme-radar-focus-actions { align-items: flex-start; flex-direction: column; padding-inline: 13px; }
  .theme-radar-focus-actions > span { text-align: left; }
  .theme-radar-ai-panel { margin: 0 12px 13px; padding: 12px; }
  .theme-radar-ai-columns { grid-template-columns: 1fr; }
  .theme-radar-constituents { margin-inline: 12px; }
  .theme-radar-stock-strip { grid-template-columns: 1fr; }
  .theme-radar-stock-strip article { border-right: 0; }
  .theme-radar-evidence-list { grid-template-columns: 1fr; }
  .theme-radar-catalyst-timeline::before { display: block; }
  .theme-radar-catalyst-timeline > a,
  .theme-radar-catalyst-timeline > article { padding-left: 37px; }
  .theme-radar-catalyst-timeline > a::before,
  .theme-radar-catalyst-timeline > article::before { left: 16px; }
  .theme-radar-review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .theme-radar-review-grid > span:nth-child(2) { border-right: 0; }
  .theme-radar-review-grid > span:nth-child(4) { border-right: 0; }
  .theme-radar-review > header { align-items: flex-start; }
  .theme-radar-archive > header { align-items: flex-start; flex-direction: column; }
  .theme-radar-archive > header p { text-align: left; }
  .theme-radar-archive-grid { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
  .theme-radar-rank-row { grid-template-columns: 22px minmax(86px, 1fr) 34px 52px 62px; }
  .theme-radar-rank-score small { display: none; }
  .theme-radar-focus > header { gap: 9px; }
  .theme-radar-score-orbit { width: 66px; height: 66px; }
}

@media (prefers-reduced-motion: reduce) {
  .theme-radar-launcher .theme-radar-sweep,
  .theme-radar-launcher .theme-radar-signal,
  .theme-radar-score-orbit::after { animation: none; }
  .theme-radar-rank-row { transition: none; }
}

/* Theme tide v3: the market-wide track is the primary instrument. */
.theme-radar-hero { gap: 18px; min-height: 128px; padding: 14px 18px 15px; }
.theme-radar-hero h2 { margin: 5px 0 4px; font-size: clamp(27px, 2.5vw, 37px); }
.theme-radar-hero p { font-size: 12px; line-height: 1.45; }
.theme-radar-source-board { align-content: center; gap: 4px 10px; padding: 9px 11px; }
.theme-radar-source-board dl { gap: 8px; }
.theme-radar-source-board > small { font-size: 8px; }
.theme-radar-tape > span small { color: #8c99a8; font-size: 8px; }
.theme-catalog-detail-drawer { box-sizing: border-box; }

.theme-radar-dashboard {
  display: grid;
  grid-template-columns: minmax(176px, .48fr) minmax(640px, 2.25fr) minmax(300px, .82fr);
  gap: 12px;
  align-items: stretch;
}

.theme-radar-proof-rail,
.theme-radar-market-stage,
.theme-radar-rank-dock,
.theme-radar-selected-card,
.theme-radar-detail-strip > .theme-radar-constituents,
.theme-radar-detail-strip > .theme-radar-evidence {
  min-width: 0;
  border: 1px solid var(--radar-line);
  background: rgba(255, 255, 255, .92);
}

.theme-radar-proof-rail {
  display: grid;
  align-content: start;
  border-radius: 12px 7px 7px 12px;
  overflow: hidden;
}

.theme-radar-proof-rail > header,
.theme-radar-market-stage > header,
.theme-radar-rank-dock > header,
.theme-radar-selected-card > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 13px 14px;
  border-bottom: 1px solid var(--radar-line);
}

.theme-radar-proof-rail header span,
.theme-radar-market-stage header span,
.theme-radar-rank-dock header span,
.theme-radar-selected-card header > div > span {
  color: #526f8c;
  font: 800 8px/1.2 ui-monospace, "SFMono-Regular", Consolas, monospace;
  letter-spacing: .14em;
}

.theme-radar-proof-rail h3,
.theme-radar-market-stage h3,
.theme-radar-rank-dock h3,
.theme-radar-selected-card h3 {
  margin: 4px 0 0;
  color: #142d49;
  font-size: 14px;
  letter-spacing: -.02em;
}

.theme-radar-proof-rail > section {
  display: grid;
  gap: 4px;
  padding: 11px 12px;
  border-bottom: 1px solid #e5edf5;
}

.theme-radar-proof-rail > section:last-child { border-bottom: 0; }
.theme-radar-proof-rail h4 { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin: 0 0 4px; color: #748497; font-size: 9px; font-weight: 800; }
.theme-radar-proof-rail h4 time { color: #8595a6; font: 750 8px/1 ui-monospace, Consolas, monospace; }
.theme-radar-proof-rail section > button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px;
  align-items: center;
  padding: 6px 0;
  border: 0;
  border-bottom: 1px dotted #dce5ef;
  background: transparent;
  color: #30475f;
  text-align: left;
  cursor: pointer;
}
.theme-radar-proof-rail section > button:last-child { border-bottom: 0; }
.theme-radar-proof-rail section > button:hover span { color: var(--radar-blue); }
.theme-radar-proof-rail section > button span { overflow: hidden; font-size: 10px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.theme-radar-proof-rail .theme-radar-pulse-name { display: grid; gap: 4px; }
.theme-radar-proof-rail .theme-radar-pulse-name b { overflow: hidden; font-size: inherit; text-overflow: ellipsis; white-space: nowrap; }
.theme-radar-proof-rail .theme-radar-pulse-name small { color: #8795a5; font-size: 8px; font-weight: 650; }
.theme-radar-proof-rail section > button strong { font: 800 9px/1 ui-monospace, "SFMono-Regular", Consolas, monospace; }
.theme-radar-proof-rail section > p { margin: 0; color: #8997a7; font-size: 9px; line-height: 1.45; }

.theme-radar-rotation-proxy { background: #f5f8fc; }
.theme-radar-rotation-proxy small { color: #7a899a; font-size: 8px; }
.theme-radar-rotation-proxy > strong { overflow: hidden; color: #25415f; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.theme-radar-rotation-proxy > i { color: #ac6d47; font-size: 16px; font-style: normal; }
.theme-radar-rotation-proxy > p { color: #8b745f !important; font-size: 8px !important; }

.theme-radar-market-stage {
  position: relative;
  overflow: hidden;
  border-radius: 7px;
  box-shadow: 0 18px 44px rgba(36, 68, 103, .09);
}

.theme-radar-market-stage > header { min-height: 68px; padding: 14px 17px 12px; }
.theme-radar-market-stage > header h3 { font-size: 19px; }
.theme-radar-market-stage > header p { margin: 5px 0 0; color: #738399; font-size: 10px; }
.theme-radar-stage-actions { display: grid; justify-items: end; gap: 7px; }
.theme-radar-stage-actions small { max-width: 210px; overflow: hidden; color: #8794a3; font: 700 8px/1.2 ui-monospace, "SFMono-Regular", Consolas, monospace; text-overflow: ellipsis; white-space: nowrap; }
.theme-radar-stage-actions button,
.theme-radar-selected-actions button {
  padding: 6px 9px;
  border: 1px solid #b7c9dc;
  border-radius: 5px;
  background: #fff;
  color: #285d92;
  font-size: 9px;
  font-weight: 800;
  cursor: pointer;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.theme-radar-stage-actions button:hover,
.theme-radar-selected-actions button:hover { border-color: #739dcc; background: #f2f7fd; }
.theme-radar-stage-actions button:active,
.theme-radar-selected-actions button:active { transform: translateY(1px); }

.theme-radar-track-legend {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 32px;
  padding: 7px 17px;
  overflow-x: auto;
  border-bottom: 1px solid #e7edf4;
  white-space: nowrap;
}
.theme-radar-track-legend span { display: inline-flex; align-items: center; gap: 4px; color: #68798d; font-size: 8px; }
.theme-radar-track-legend span i { width: 7px; height: 7px; border-radius: 50%; }
.theme-radar-track-legend em { margin-left: auto; color: #8a6d58; font-size: 8px; font-style: normal; }
.theme-radar-track-scroll { width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }
.theme-radar-track-chart { display: block; width: 100%; min-width: 720px; height: auto; background: #fbfcfe; }
.theme-radar-chart-field { fill: url(#themeRadarStageFade); stroke: #d9e4ef; stroke-width: 1; }
.theme-radar-heat-cell.positive { fill: #d65a51; }
.theme-radar-heat-cell.negative { fill: #4e9679; }
.theme-radar-rank-grid { fill: none; stroke: #dce6ef; stroke-width: 1; stroke-dasharray: 2 8; }
.theme-radar-noon-seam { fill: none; stroke: #c5d2df; stroke-width: 1; stroke-dasharray: 3 6; }
.theme-radar-now-line { stroke: #b54d47; stroke-width: 1.25; stroke-dasharray: 4 5; animation: themeRadarNowPulse 1.9s ease-in-out infinite; }
.theme-radar-axis-label { fill: #7b8a9a; font: 700 11px/1 ui-monospace, "SFMono-Regular", Consolas, monospace; }
.theme-radar-axis-label.rank { font-size: 10px; }
.theme-radar-track { cursor: pointer; outline: none; transition: opacity .25s ease; }
.theme-radar-track.dimmed { opacity: .16; }
.theme-radar-track-shadow { fill: none; stroke: rgba(255, 255, 255, .94); stroke-linecap: round; stroke-linejoin: round; }
.theme-radar-track-line { fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 12 7; animation: themeRadarCurrent 3.4s linear infinite; }
.theme-radar-track-head { stroke: #fff; stroke-width: 2; filter: drop-shadow(0 0 5px var(--track-color)); }
.theme-radar-track.selected .theme-radar-track-head { animation: themeRadarHeadPulse 1.6s ease-in-out infinite; }
.theme-radar-track.selected .theme-radar-track-line { stroke-dasharray: 17 6; }
.theme-radar-track:focus-visible .theme-radar-track-head { stroke: #183d69; stroke-width: 4; }
.theme-radar-track-label { fill: #233d58; font: 800 11px/1 "Microsoft YaHei UI", "PingFang SC", sans-serif; paint-order: stroke; stroke: rgba(255, 255, 255, .92); stroke-width: 4px; stroke-linejoin: round; }
.theme-radar-track.selected .theme-radar-track-label { fill: #0f3157; font-size: 12px; }
.theme-radar-event-marker { fill: #ad533f; stroke: #fff; stroke-width: 1; }
.theme-radar-market-stage > footer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 14px 10px;
  border-top: 1px solid #e2eaf2;
  background: #f7f9fc;
  color: #79899a;
  font-size: 8px;
}

@keyframes themeRadarCurrent { to { stroke-dashoffset: -38; } }
@keyframes themeRadarNowPulse { 50% { opacity: .28; } }
@keyframes themeRadarHeadPulse { 50% { stroke-width: 6; stroke-opacity: .34; } }

.theme-radar-rank-dock { display: grid; grid-template-rows: auto auto auto minmax(0, 1fr); overflow: hidden; border-radius: 7px 12px 12px 7px; }
.theme-radar-rank-dock > header { align-items: center; }
.theme-radar-rank-dock > header small { color: #8796a6; font-size: 9px; }
.theme-radar-rank-search { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 7px; align-items: center; margin: 10px 10px 4px; padding: 7px 9px; border: 1px solid #d2dfeb; border-radius: 7px; background: #f8fafc; color: #73879d; }
.theme-radar-rank-search input { min-width: 0; border: 0; outline: 0; background: transparent; color: #253d56; font-size: 10px; }
.theme-radar-rank-dock > .theme-radar-sort { margin: 5px 10px 8px; }
.theme-radar-rank-dock .theme-radar-rank-list { max-height: 600px; border-top: 1px solid #e2e9f1; }
.theme-radar-rank-dock .theme-radar-rank-row { grid-template-columns: 22px minmax(78px, 1fr) 33px 45px 62px; gap: 4px; min-height: 43px; padding: 7px 8px; }
.theme-radar-rank-dock .theme-radar-rank-name strong { display: flex; align-items: center; gap: 4px; }
.theme-radar-rank-dock .theme-radar-rank-name strong em { flex: none; padding: 2px 3px; border-radius: 3px; background: #fff0db; color: #a85d22; font-size: 7px; font-style: normal; }
.theme-radar-rank-empty { padding: 22px 12px; color: #8090a2; font-size: 10px; text-align: center; }

.theme-radar-detail-strip {
  display: grid;
  grid-template-columns: minmax(240px, .72fr) minmax(440px, 1.45fr) minmax(300px, 1fr);
  gap: 12px;
  align-items: stretch;
}
.theme-radar-selected-card { display: grid; align-content: start; border-radius: 12px 7px 7px 12px; }
.theme-radar-selected-card > header { align-items: center; }
.theme-radar-selected-card > header h3 { font-size: 17px; }
.theme-radar-selected-card > p { display: -webkit-box; margin: 12px 13px 8px; overflow: hidden; color: #65778c; font-size: 10px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.theme-radar-selected-card > small { margin: 0 13px 12px; color: #8b98a8; font-size: 8px; line-height: 1.45; }
.theme-radar-provisional { margin: 10px 13px 0; padding: 6px 7px; border-left: 3px solid #c98039; background: #fff7ec; color: #91551f; font-size: 9px; }
.theme-radar-selected-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 12px; border: 1px solid #dce5ee; }
.theme-radar-selected-metrics span { display: grid; gap: 3px; padding: 9px; border-right: 1px solid #e1e8f0; border-bottom: 1px solid #e1e8f0; }
.theme-radar-selected-metrics span:nth-child(2n) { border-right: 0; }
.theme-radar-selected-metrics span:nth-last-child(-n+2) { border-bottom: 0; }
.theme-radar-selected-metrics em { color: #7a899a; font-size: 8px; font-style: normal; }
.theme-radar-selected-metrics strong { overflow: hidden; color: #233f5c; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.theme-radar-selected-actions { display: flex; align-items: center; gap: 7px; padding: 10px 12px 0; }
.theme-radar-selected-card .theme-radar-ai-panel { margin: 10px 12px; }
.theme-radar-ai-compact { padding: 10px; }
.theme-radar-ai-compact > header { padding: 0 0 8px; }
.theme-radar-ai-compact .theme-radar-ai-summary,
.theme-radar-ai-compact .theme-radar-ai-prompt { display: -webkit-box; margin: 8px 0 0; overflow: hidden; font-size: 9px; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.theme-radar-ai-compact footer { font-size: 8px; }

.theme-radar-detail-strip > .theme-radar-constituents { margin: 0; overflow: hidden; border-radius: 7px; }
.theme-radar-detail-strip > .theme-radar-evidence { overflow: hidden; border-radius: 7px 12px 12px 7px; }
.theme-radar-stock-groups { display: grid; grid-template-columns: minmax(180px, .65fr) minmax(280px, 1.35fr); }
.theme-radar-stock-groups.unified { grid-template-columns: 1fr; }
.theme-radar-stock-groups.unified .theme-radar-stock-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 360px; }
.theme-radar-stock-groups.unified .theme-radar-stock-strip article:nth-child(odd) { border-right: 1px solid #e1e8f1; }
.theme-radar-stock-groups.unified .theme-radar-stock-strip article:nth-child(even) { border-right: 0; }
.theme-radar-stock-groups > div { min-width: 0; border-right: 1px solid #dfe7ef; }
.theme-radar-stock-groups > div:last-child { border-right: 0; }
.theme-radar-stock-groups h4 { display: flex; align-items: center; justify-content: space-between; margin: 0; padding: 8px 10px; border-bottom: 1px solid #e2e9f1; color: #64778c; font-size: 9px; }
.theme-radar-stock-groups h4 span { color: #1e5c99; font: 800 9px/1 ui-monospace, "SFMono-Regular", Consolas, monospace; }
.theme-radar-stock-groups .theme-radar-stock-strip { grid-template-columns: 1fr; max-height: 250px; overflow-y: auto; border-top: 0; }
.theme-radar-stock-groups .theme-radar-stock-strip article { border-right: 0; }
.theme-radar-detail-strip .theme-radar-evidence-list { max-height: 342px; }

[data-color-mode="dark"] .theme-radar-proof-rail,
[data-color-mode="dark"] .theme-radar-market-stage,
[data-color-mode="dark"] .theme-radar-rank-dock,
[data-color-mode="dark"] .theme-radar-selected-card,
[data-color-mode="dark"] .theme-radar-detail-strip > .theme-radar-constituents,
[data-color-mode="dark"] .theme-radar-detail-strip > .theme-radar-evidence { border-color: #334a67; background: rgba(17, 31, 49, .96); }
[data-color-mode="dark"] .theme-radar-proof-rail h3,
[data-color-mode="dark"] .theme-radar-market-stage h3,
[data-color-mode="dark"] .theme-radar-rank-dock h3,
[data-color-mode="dark"] .theme-radar-selected-card h3 { color: #e1ebf8; }
[data-color-mode="dark"] .theme-radar-rotation-proxy,
[data-color-mode="dark"] .theme-radar-market-stage > footer,
[data-color-mode="dark"] .theme-radar-rank-search { background: #14253a; }
[data-color-mode="dark"] .theme-radar-chart-field { fill: #101e2f; stroke: #334a62; }
[data-color-mode="dark"] .theme-radar-track-chart { background: #0f1b2a; }
[data-color-mode="dark"] .theme-radar-rank-grid,
[data-color-mode="dark"] .theme-radar-noon-seam { stroke: #33485e; }
[data-color-mode="dark"] .theme-radar-track-shadow { stroke: rgba(8, 17, 28, .92); }
[data-color-mode="dark"] .theme-radar-track-head { stroke: #0e1b2a; }
[data-color-mode="dark"] .theme-radar-track-label { fill: #d5e0ec; stroke: rgba(14, 27, 42, .95); }
[data-color-mode="dark"] .theme-radar-track.selected .theme-radar-track-label { fill: #fff; }
[data-color-mode="dark"] .theme-radar-rank-search input,
[data-color-mode="dark"] .theme-radar-rotation-proxy > strong,
[data-color-mode="dark"] .theme-radar-selected-metrics strong { color: #d7e5f4; }
[data-color-mode="dark"] .theme-radar-proof-rail > section,
[data-color-mode="dark"] .theme-radar-proof-rail > header,
[data-color-mode="dark"] .theme-radar-market-stage > header,
[data-color-mode="dark"] .theme-radar-rank-dock > header,
[data-color-mode="dark"] .theme-radar-selected-card > header,
[data-color-mode="dark"] .theme-radar-track-legend,
[data-color-mode="dark"] .theme-radar-market-stage > footer,
[data-color-mode="dark"] .theme-radar-selected-metrics,
[data-color-mode="dark"] .theme-radar-selected-metrics span,
[data-color-mode="dark"] .theme-radar-stock-groups > div,
[data-color-mode="dark"] .theme-radar-stock-groups h4 { border-color: #2d4259; }
[data-color-mode="dark"] .theme-radar-provisional { background: #332719; color: #e4b476; }

@media (max-width: 1380px) {
  .theme-radar-dashboard { grid-template-columns: minmax(160px, .42fr) minmax(560px, 1.8fr) minmax(280px, .78fr); }
  .theme-radar-detail-strip { grid-template-columns: minmax(230px, .7fr) minmax(430px, 1.3fr); }
  .theme-radar-detail-strip > .theme-radar-evidence { grid-column: 1 / -1; }
  .theme-radar-detail-strip .theme-radar-evidence-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-height: none; }
}

@media (max-width: 1120px) {
  .theme-radar-dashboard { grid-template-columns: minmax(0, 1fr) minmax(280px, .42fr); }
  .theme-radar-market-stage { grid-column: 1; grid-row: 1; }
  .theme-radar-rank-dock { grid-column: 2; grid-row: 1 / span 2; }
  .theme-radar-proof-rail { grid-column: 1; grid-row: 2; grid-template-columns: repeat(4, minmax(0, 1fr)); border-radius: 7px; }
  .theme-radar-proof-rail > header { grid-column: 1 / -1; }
  .theme-radar-proof-rail > section { border-right: 1px solid #e5edf5; border-bottom: 0; }
  .theme-radar-proof-rail > section:last-child { border-right: 0; }
}

@media (max-width: 780px) {
  .theme-radar-hero { gap: 8px; }
  .theme-radar-source-board { grid-template-columns: auto minmax(0, 1fr) auto; width: 100%; padding: 7px 8px; }
  .theme-radar-source-board .theme-radar-market-phase { grid-column: 1; grid-row: 1; }
  .theme-radar-source-board dl { grid-column: 2; grid-row: 1; grid-template-columns: 1fr; gap: 2px; }
  .theme-radar-source-board dl > div { grid-template-columns: auto minmax(0, 1fr); align-items: baseline; gap: 4px; }
  .theme-radar-source-board > small { display: none; }
  .theme-radar-source-board > div { grid-column: 3; grid-row: 1; align-self: center; }
  .theme-radar-source-board > div button { padding: 5px 6px; }
  .theme-radar-tape { display: grid; grid-template-columns: repeat(6, minmax(112px, 1fr)); overflow-x: auto; overscroll-behavior-inline: contain; }
  .theme-radar-tape > span,
  .theme-radar-tape > span:nth-child(n) { min-height: 48px; padding: 6px 9px; border-right: 1px solid var(--radar-line); border-bottom: 0; }
  .theme-radar-tape > span strong { font-size: 16px; }
  .theme-radar-tape > span small { display: none; }
  .theme-radar-tape > span:last-child { border-right: 0; }
  .theme-radar-dashboard,
  .theme-radar-detail-strip { grid-template-columns: 1fr; }
  .theme-radar-market-stage,
  .theme-radar-rank-dock,
  .theme-radar-proof-rail,
  .theme-radar-detail-strip > .theme-radar-evidence { grid-column: auto; grid-row: auto; border-radius: 9px; }
  .theme-radar-market-stage { order: 1; }
  .theme-radar-rank-dock { order: 2; }
  .theme-radar-proof-rail { order: 3; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .theme-radar-proof-rail > section { border-bottom: 1px solid #e5edf5; }
  .theme-radar-proof-rail > section:nth-last-child(-n+2) { border-bottom: 0; }
  .theme-radar-market-stage > header { align-items: flex-start; flex-direction: column; }
  .theme-radar-stage-actions { justify-items: start; }
  .theme-radar-track-chart { min-width: 700px; }
  .theme-radar-market-stage > footer { align-items: flex-start; flex-direction: column; }
  .theme-radar-track-legend em { margin-left: 0; }
  .theme-radar-rank-dock .theme-radar-rank-list { max-height: 430px; }
  .theme-radar-detail-strip { align-items: stretch; }
  .theme-radar-stock-groups { grid-template-columns: 1fr; }
  .theme-radar-stock-groups > div { border-right: 0; border-bottom: 1px solid #dfe7ef; }
  .theme-radar-stock-groups > div:last-child { border-bottom: 0; }
  .theme-radar-detail-strip .theme-radar-evidence-list { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .theme-radar-track-line,
  .theme-radar-track.selected .theme-radar-track-head,
  .theme-radar-now-line { animation: none; }
}

/* Radar layout v4: governance moves backstage; the front remains a trading surface. */
.theme-radar-hero {
  display: grid;
  grid-template-columns: minmax(300px, 1fr) 400px;
  align-items: stretch;
}

.theme-radar-hero-copy { display: grid; align-content: center; }
.theme-radar-hero-actions { display: flex; gap: 7px; margin-top: 12px; }
.theme-radar-hero-actions button {
  padding: 7px 12px;
  border: 1px solid #b8cadf;
  border-radius: 6px;
  background: rgba(255, 255, 255, .76);
  color: #245d97;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}
.theme-radar-hero-actions button:hover { border-color: #6f9ccd; background: #fff; }
.theme-radar-hero-actions button:active { transform: translateY(1px); }

.theme-radar-hero-review {
  width: 400px;
  justify-self: end;
  align-self: stretch;
  overflow: hidden;
  border-color: rgba(144, 174, 207, .72);
  background: rgba(249, 252, 255, .78);
}
.theme-radar-replay-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 13px;
  border-bottom: 1px solid var(--radar-line);
}
.theme-radar-replay-header > div { min-width: 0; }
.theme-radar-replay-header > div:last-child { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.theme-radar-replay-header > div:first-child > span { color: var(--radar-blue); font: 800 8px/1.2 ui-monospace, "SFMono-Regular", Consolas, monospace; letter-spacing: .12em; }
.theme-radar-replay-header h3 { margin: 4px 0 0; font-size: 14px; }
.theme-radar-replay-header small { color: #53779e; font-size: 8px; font-weight: 800; white-space: nowrap; }
.theme-radar-replay-refresh { display: inline-flex; align-items: center; gap: 4px; padding: 5px 7px; border: 1px solid #b9cadd; border-radius: 5px; background: #fff; color: #315f8d; font-size: 8px; font-weight: 850; cursor: pointer; }
.theme-radar-replay-refresh svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.theme-radar-review-toolbar { display: flex; justify-content: flex-end; padding: 7px 11px 0; }
.theme-radar-review-toolbar label { display: flex; align-items: center; gap: 7px; color: #718398; font-size: 8px; }
.theme-radar-review-toolbar select { min-width: 112px; padding: 4px 6px; border: 1px solid #c8d6e6; border-radius: 5px; background: #fff; color: #234361; font-size: 9px; }
.theme-radar-hero-review .theme-radar-review-grid > span { padding: 8px 10px; }
.theme-radar-hero-review .theme-radar-review-grid strong { font-size: 11px; }
.theme-radar-hero-review .theme-radar-review-outcome { padding-bottom: 9px; }

.theme-radar-hero-access {
  display: grid;
  width: 400px;
  min-height: 82px;
  justify-self: end;
  align-content: center;
  gap: 6px;
  padding: 14px 16px;
  border: 1px solid rgba(144, 174, 207, .72);
  border-radius: 10px;
  background: rgba(249, 252, 255, .78);
}
.theme-radar-hero-access strong { color: #173d65; font-size: 14px; }
.theme-radar-hero-access small { color: #6b8097; font-size: 10px; }

.theme-radar-registration-gate {
  position: relative;
  display: grid;
  min-height: 430px;
  justify-items: center;
  align-content: center;
  gap: 11px;
  overflow: hidden;
  padding: 40px 24px;
  border: 1px solid var(--radar-line);
  border-radius: 12px;
  background:
    linear-gradient(90deg, transparent 0 49.9%, rgba(44, 105, 166, .09) 50%, transparent 50.1%),
    repeating-linear-gradient(0deg, transparent 0 70px, rgba(44, 105, 166, .06) 71px 72px),
    #fbfdff;
  text-align: center;
}
.theme-radar-registration-gate > span { color: #2767a8; font: 900 9px/1.2 ui-monospace, Consolas, monospace; letter-spacing: .14em; }
.theme-radar-registration-gate h3 { margin: 0; color: #123555; font-size: 24px; }
.theme-radar-registration-gate p { max-width: 610px; margin: 0; color: #63788f; font-size: 13px; line-height: 1.7; }
.theme-radar-registration-gate button { min-width: 132px; margin-top: 5px; }

.theme-radar-source-health { margin-top: 0; }
.theme-radar-source-health > span { padding-right: 11px; }

.theme-radar-ranking-strip {
  display: grid;
  grid-template-columns: auto minmax(320px, 1fr);
  min-width: 0;
  overflow: hidden;
  border-radius: 9px;
}
.theme-radar-ranking-strip > header { min-height: 53px; padding: 10px 14px; border-bottom: 0; }
.theme-radar-ranking-strip > header small { color: #8190a1; font-size: 9px; }
.theme-radar-ranking-tools { display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding: 8px 10px; }
.theme-radar-ranking-strip .theme-radar-rank-search { width: min(280px, 42vw); margin: 0; }
.theme-radar-search-submit { flex: 0 0 auto; min-width: 58px; padding: 8px 14px; border: 1px solid #1e65ad; border-radius: 6px; background: #1e65ad; color: #fff; font-size: 10px; font-weight: 850; cursor: pointer; transition: background .18s ease, transform .18s ease; }
.theme-radar-search-submit:hover { background: #174f88; }
.theme-radar-search-submit:active { transform: translateY(1px); }
.theme-radar-search-submit:focus-visible { outline: 2px solid #75aee4; outline-offset: 2px; }
.theme-radar-ranking-strip .theme-radar-rank-list {
  grid-column: 1 / -1;
  position: relative;
  display: block;
  height: 260px;
  min-width: 0;
  overflow: hidden;
  border-top: 1px solid #e2e9f1;
  background: #eef3f8;
}
.theme-radar-ranking-strip .theme-radar-rank-row {
  position: absolute;
  left: calc(var(--treemap-x) * 1% + 2px);
  top: calc(var(--treemap-y) * 1% + 2px);
  display: grid;
  width: calc(var(--treemap-width) * 1% - 4px);
  height: calc(var(--treemap-height) * 1% - 4px);
  min-width: 0;
  min-height: 0;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-rows: auto 1fr auto;
  gap: 5px 8px;
  align-content: start;
  padding: 11px 12px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .82);
  border-radius: 4px;
  color: #fff;
  text-align: left;
  box-shadow: inset 0 0 0 1px rgba(89, 35, 27, .08);
  transition: filter .18s ease, transform .18s ease, box-shadow .18s ease;
}
.theme-radar-ranking-strip .theme-radar-rank-row.positive { background: linear-gradient(135deg, #c9483f, #e27655); }
.theme-radar-ranking-strip .theme-radar-rank-row.negative { background: linear-gradient(135deg, #19745c, #42a47c); }
.theme-radar-ranking-strip .theme-radar-rank-row.neutral { background: linear-gradient(135deg, #60778e, #8297a9); }
.theme-radar-ranking-strip .theme-radar-rank-row:hover { z-index: 2; filter: brightness(1.08); transform: translateY(-1px); }
.theme-radar-ranking-strip .theme-radar-rank-row.active { z-index: 3; background-image: linear-gradient(135deg, #a93631, #e06a4f); box-shadow: inset 0 0 0 3px #fff, 0 4px 14px rgba(23, 49, 79, .2); }
.theme-radar-ranking-strip .theme-radar-rank-row.negative.active { background-image: linear-gradient(135deg, #0f604d, #319774); }
.theme-radar-ranking-strip .theme-radar-rank-row:focus-visible { z-index: 4; outline: 3px solid #0d4f8f; outline-offset: -4px; }
.theme-radar-ranking-strip .theme-radar-rank-number { grid-column: 1; grid-row: 1; color: rgba(255, 255, 255, .82); }
.theme-radar-ranking-strip .theme-radar-rank-name { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.theme-radar-ranking-strip .theme-radar-rank-name strong { color: #fff; font-size: 14px; white-space: normal; }
.theme-radar-ranking-strip .theme-radar-rank-name small { color: rgba(255, 255, 255, .8); font-size: 9px; }
.theme-radar-ranking-strip .theme-radar-rank-score { grid-column: 3; grid-row: 1; }
.theme-radar-ranking-strip .theme-radar-rank-score strong,
.theme-radar-ranking-strip .theme-radar-rank-score small { color: #fff; }
.theme-radar-ranking-strip .theme-radar-rank-pct { grid-column: 1 / span 2; grid-row: 3; align-self: end; color: #fff; font: 900 11px/1 ui-monospace, "SFMono-Regular", Consolas, monospace; }
.theme-radar-ranking-strip .theme-radar-rank-row > :nth-child(5) { grid-column: 3; grid-row: 3; align-self: end; color: #fff !important; font-size: 10px; }
.theme-radar-ranking-strip .theme-radar-rank-empty { position: absolute; inset: 0; display: grid; place-items: center; padding: 20px; background: #f6f9fc; }
.theme-radar-ranking-strip .theme-radar-rank-empty[hidden] { display: none; }

.theme-radar-dashboard { grid-template-columns: minmax(190px, .5fr) minmax(650px, 2.25fr) minmax(300px, .9fr); }
.theme-radar-proof-stack { display: grid; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 12px; min-width: 0; }
.theme-radar-proof-rail,
.theme-radar-proof-stack > .theme-radar-signal-panel,
.theme-radar-evidence-dock { display: flex; min-height: 0; flex-direction: column; overflow: hidden; }
.theme-radar-proof-rail { border-radius: 12px 7px 7px 12px; }
.theme-radar-proof-stack > .theme-radar-signal-panel { border-radius: 12px 7px 7px 12px; }
.theme-radar-proof-stack > .theme-radar-signal-panel > header { padding: 12px; }
.theme-radar-proof-stack > .theme-radar-signal-panel > header small { max-width: 58px; }
.theme-radar-evidence-dock { border-radius: 7px 12px 12px 7px; }
.theme-radar-evidence-dock .theme-radar-evidence-list { flex: 1; max-height: none; overflow-y: auto; }
.theme-radar-market-stage { display: flex; min-height: 610px; flex-direction: column; }
.theme-radar-market-stage .theme-radar-track-scroll { display: flex; min-height: 420px; flex: 1; }
.theme-radar-market-stage .theme-radar-track-chart { width: 100%; height: 100%; min-height: 0; flex: 1; }

.theme-radar-member-lock {
  display: grid;
  min-height: 250px;
  place-content: center;
  justify-items: start;
  gap: 8px;
  margin: 12px;
  padding: 22px;
  border: 1px solid #d7e3ee;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(35, 63, 93, .08);
}
.theme-radar-member-lock strong { color: #183653; font-size: 15px; }
.theme-radar-member-lock p { max-width: 420px; margin: 0; color: #6f8092; font-size: 10px; line-height: 1.6; }
.theme-radar-member-lock button { min-height: 36px; margin-top: 3px; }

.theme-radar-rail-carousel { min-height: 0; flex: 1; overflow-y: auto; overscroll-behavior: contain; }
.theme-radar-rail-track { display: grid; min-height: 100%; height: auto; animation: none; transform: none; }
.theme-radar-rail-carousel.slides-1 .theme-radar-rail-track { grid-template-rows: minmax(72px, 1fr); }
.theme-radar-rail-carousel.slides-2 .theme-radar-rail-track { grid-template-rows: repeat(2, minmax(72px, 1fr)); }
.theme-radar-rail-carousel.slides-3 .theme-radar-rail-track { grid-template-rows: repeat(3, minmax(72px, 1fr)); }
.theme-radar-rail-carousel.slides-4 .theme-radar-rail-track { grid-template-rows: repeat(4, minmax(72px, 1fr)); }
.theme-radar-rail-track > section,
.theme-radar-rail-track > article { min-height: 0; overflow: visible; }
.theme-radar-proof-rail .theme-radar-rail-track > section { display: grid; align-content: center; gap: 4px; padding: 11px 12px; }
.theme-radar-signal-panel .theme-radar-rail-carousel { display: grid; }
.theme-radar-signal-panel .theme-radar-rail-track > article { align-content: center; border-bottom: 1px solid #edf1f6; }
.theme-radar-signal-panel .theme-radar-rail-track > article:last-child { border-bottom: 0; }
.theme-radar-proof-rail > header small { margin-left: auto; color: #7c8b9c; font-size: 8px; white-space: nowrap; }
.theme-radar-proof-rail .theme-radar-rail-track > section.empty { background: transparent; }
.theme-radar-proof-rail .theme-radar-rail-track > section.empty button { cursor: default; opacity: .72; }
.theme-radar-proof-rail .theme-radar-rail-track > section.positive h4 { color: #c43f3f; }
.theme-radar-proof-rail .theme-radar-rail-track > section.negative h4 { color: #16805d; }
.theme-radar-signal-panel .theme-radar-rail-track > article { grid-template-columns: 8px minmax(0, 1fr) auto; }
.theme-radar-signal-panel .theme-radar-rail-track > article > button { align-self: center; padding: 4px 5px; border: 1px solid #c6d6e6; border-radius: 4px; background: #fff; color: #27639c; font-size: 8px; font-weight: 800; cursor: pointer; }
.theme-radar-signal-meta { display: flex; min-width: 0; align-items: baseline; justify-content: space-between; gap: 6px; }
.theme-radar-signal-meta strong { min-width: 0; }
.theme-radar-signal-meta time { flex: none; color: #71869c; font: 800 8px/1 ui-monospace, Consolas, monospace; }

.theme-radar-detail-strip { grid-template-columns: minmax(250px, .72fr) minmax(620px, 2.28fr); }
.theme-radar-detail-strip > .theme-radar-constituents { border-radius: 7px 12px 12px 7px; }
.theme-radar-secondary-grid { grid-template-columns: 1fr; }

[data-color-mode="dark"] .theme-radar-hero-review,
[data-color-mode="dark"] .theme-radar-ranking-strip,
[data-color-mode="dark"] .theme-radar-proof-stack > .theme-radar-signal-panel,
[data-color-mode="dark"] .theme-radar-evidence-dock { border-color: #334a67; background: rgba(17, 31, 49, .96); }
[data-color-mode="dark"] .theme-radar-hero-review { background: rgba(14, 29, 48, .78); }
[data-color-mode="dark"] .theme-radar-hero-access,
[data-color-mode="dark"] .theme-radar-registration-gate { border-color: #334a67; background-color: #101f32; }
[data-color-mode="dark"] .theme-radar-hero-access strong,
[data-color-mode="dark"] .theme-radar-registration-gate h3 { color: #dcecff; }
[data-color-mode="dark"] .theme-radar-hero-access small,
[data-color-mode="dark"] .theme-radar-registration-gate p { color: #9db0c4; }
[data-color-mode="dark"] .theme-radar-ranking-strip .theme-radar-rank-list { background: #0c1827; }
[data-color-mode="dark"] .theme-radar-member-lock { border-color: #3b536f; background: #f8fbff; }
[data-color-mode="dark"] .theme-radar-member-lock strong { color: #173552; }
[data-color-mode="dark"] .theme-radar-member-lock p { color: #60758b; }
[data-color-mode="dark"] .theme-radar-replay-header h3 { color: #edf4ff; }
[data-color-mode="dark"] .theme-radar-replay-header,
[data-color-mode="dark"] .theme-radar-ranking-strip .theme-radar-rank-list,
[data-color-mode="dark"] .theme-radar-ranking-strip .theme-radar-rank-row { border-color: #2d4259; }
[data-color-mode="dark"] .theme-radar-review-toolbar select,
[data-color-mode="dark"] .theme-radar-hero-actions button,
[data-color-mode="dark"] .theme-radar-replay-refresh,
[data-color-mode="dark"] .capital-attack-buttons button { border-color: #45617e; background: #172941; color: #acd0ff; }

@media (max-width: 1380px) {
  .theme-radar-dashboard { grid-template-columns: minmax(180px, .46fr) minmax(580px, 1.9fr) minmax(280px, .8fr); }
  .theme-radar-detail-strip { grid-template-columns: minmax(230px, .65fr) minmax(520px, 1.75fr); }
}

@media (max-width: 1120px) {
  .theme-radar-hero { grid-template-columns: minmax(280px, 1fr) 400px; }
  .theme-radar-dashboard { grid-template-columns: minmax(190px, .42fr) minmax(0, 1.58fr); }
  .theme-radar-proof-stack { grid-column: 1; grid-row: 1; }
  .theme-radar-market-stage { grid-column: 2; grid-row: 1; }
  .theme-radar-evidence-dock { grid-column: 1 / -1; grid-row: 2; max-height: 430px; }
  .theme-radar-detail-strip { grid-template-columns: minmax(230px, .65fr) minmax(0, 1.35fr); }
}

@media (max-width: 780px) {
  .theme-radar-hero { grid-template-columns: 1fr; gap: 7px; min-height: 0; padding: 11px 12px 12px; }
  .theme-radar-hero h2 { font-size: 26px; }
  .theme-radar-hero-copy p { margin-bottom: 0; }
  .theme-radar-hero-actions { margin-top: 8px; }
  .theme-radar-hero-review { width: 100%; justify-self: stretch; }
  .capital-attack-replay-controls { grid-template-columns: 1fr; }
  .capital-attack-scrubber { grid-column: 1; }
  .theme-radar-hero-access { width: 100%; min-height: 70px; justify-self: stretch; }
  .theme-radar-registration-gate { min-height: 360px; padding-inline: 18px; }
  .theme-radar-registration-gate h3 { font-size: 21px; }
  .theme-radar-ranking-strip { grid-template-columns: 1fr; }
  .theme-radar-ranking-tools { align-items: center; flex-direction: row; gap: 6px; }
  .theme-radar-ranking-strip .theme-radar-rank-search { width: auto; min-width: 0; flex: 1; }
  .theme-radar-ranking-strip .theme-radar-sort { flex: 0 0 auto; }
  .theme-radar-ranking-strip .theme-radar-rank-list { grid-column: auto; height: 360px; }
  .theme-radar-ranking-strip .theme-radar-rank-name small { display: none; }
  .theme-radar-dashboard { grid-template-columns: 1fr; }
  .theme-radar-market-stage { grid-column: auto; grid-row: auto; order: 1; min-height: 560px; }
  .theme-radar-proof-stack { grid-column: auto; grid-row: auto; order: 2; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; min-height: 330px; }
  .theme-radar-evidence-dock { grid-column: auto; grid-row: auto; order: 3; max-height: 480px; }
  .theme-radar-detail-strip { grid-template-columns: 1fr; }
  .theme-radar-market-stage .theme-radar-track-scroll { min-height: 420px; }
  .theme-radar-member-lock { min-height: 210px; }
}

@media (max-width: 520px) {
  .theme-radar-proof-stack { grid-template-columns: 1fr; min-height: 620px; }
}

@media (prefers-reduced-motion: reduce) {
  .theme-radar-rail-track { animation: none; transform: none !important; }
}

/* Radar flow v6: one stable strong/weak board and one restrained motion instrument. */
.theme-radar-ranking-strip .theme-radar-rank-row.strong-rank { background-image: linear-gradient(135deg, #bd413c, #df6a50); }
.theme-radar-ranking-strip .theme-radar-rank-row.weak-rank { background-image: linear-gradient(135deg, #176b58, #3d9a76); }
.theme-radar-ranking-strip .theme-radar-rank-row.strong-rank.active { background-image: linear-gradient(135deg, #8f2929, #d75a45); }
.theme-radar-ranking-strip .theme-radar-rank-row.weak-rank.active { background-image: linear-gradient(135deg, #0e5044, #2c8668); }

.theme-radar-flow-toggle {
  flex: 0 0 auto;
  min-width: 74px;
  padding: 7px 10px;
  border: 1px solid #b8cadb;
  border-radius: 5px;
  background: #fff;
  color: #285d92;
  font-size: 9px;
  font-weight: 850;
  cursor: pointer;
}
.theme-radar-flow-clock {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  min-height: 42px;
  align-items: start;
  padding: 8px 17px 12px;
  border-bottom: 1px solid #e1e9f1;
  color: #79899a;
  font: 700 8px/1 ui-monospace, "SFMono-Regular", Consolas, monospace;
}
.theme-radar-flow-clock span { text-align: center; }
.theme-radar-flow-clock span:first-child { text-align: left; }
.theme-radar-flow-clock span:last-of-type { text-align: right; }
.theme-radar-flow-clock::before {
  content: "";
  position: absolute;
  right: 17px;
  bottom: 8px;
  left: 17px;
  height: 3px;
  border-radius: 999px;
  background: #dfe7ef;
}
.theme-radar-flow-clock i {
  position: absolute;
  bottom: 4px;
  left: clamp(17px, var(--trade-progress), calc(100% - 17px));
  width: 11px;
  height: 11px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #dca227;
  box-shadow: 0 0 0 1px #c58a16, 0 0 12px rgba(220, 162, 39, .4);
  transform: translateX(-50%);
}
.theme-radar-flow-map {
  display: grid;
  min-height: 460px;
  flex: 1;
  grid-template-columns: minmax(170px, 1fr) minmax(150px, .8fr) minmax(170px, 1fr);
  gap: 10px;
  align-items: stretch;
  padding: 16px;
  background: linear-gradient(90deg, rgba(36, 143, 104, .045), rgba(255, 255, 255, .72) 48%, rgba(210, 72, 68, .045));
}
.theme-radar-flow-side { display: grid; min-width: 0; align-content: start; gap: 7px; }
.theme-radar-flow-side > header { display: grid; gap: 4px; padding: 3px 2px 7px; border-bottom: 1px solid #e1e9f0; }
.theme-radar-flow-side > header span { font-size: 11px; font-weight: 900; }
.theme-radar-flow-side > header strong { font: 900 15px/1 ui-monospace, "SFMono-Regular", Consolas, monospace; }
.theme-radar-flow-side.outflow > header span,
.theme-radar-flow-side.outflow > header strong { color: #14805f; }
.theme-radar-flow-side.inflow > header span,
.theme-radar-flow-side.inflow > header strong { color: #c84444; text-align: right; }
.theme-radar-flow-side > button {
  display: grid;
  min-width: 0;
  gap: 5px;
  padding: 8px 7px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: #28435f;
  text-align: left;
  cursor: pointer;
}
.theme-radar-flow-side.inflow > button { text-align: right; }
.theme-radar-flow-side > button:hover,
.theme-radar-flow-side > button.active { border-color: #bdcfe0; background: rgba(255, 255, 255, .88); }
.theme-radar-flow-side > button > span { display: flex; min-width: 0; align-items: center; gap: 6px; }
.theme-radar-flow-side.inflow > button > span { justify-content: flex-end; }
.theme-radar-flow-side > button i { width: 7px; height: 7px; flex: 0 0 auto; border: 1px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px #9cabb9; }
.theme-radar-flow-side > button strong { min-width: 0; overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.theme-radar-flow-side > button em { display: grid; min-width: 15px; height: 15px; place-items: center; border-radius: 999px; background: #f0b64a; color: #fff; font-size: 8px; font-style: normal; }
.theme-radar-flow-side > button small { color: #6f8091; font: 800 9px/1 ui-monospace, "SFMono-Regular", Consolas, monospace; }
.theme-radar-flow-side > button b { display: block; width: var(--flow-width); max-width: 100%; height: 4px; border-radius: 999px; }
.theme-radar-flow-side.outflow > button b { background: linear-gradient(90deg, #2db579, #82d5ad); }
.theme-radar-flow-side.inflow > button b { margin-left: auto; background: linear-gradient(90deg, #ef9a91, #d44747); }
.theme-radar-flow-side > p { color: #8291a1; font-size: 9px; }
.theme-radar-flow-stream { position: relative; min-width: 0; overflow: hidden; }
.theme-radar-flow-stream svg { display: block; width: 100%; height: 100%; }
.theme-radar-flow-path {
  fill: none;
  stroke: url(#themeRadarFlowGradient);
  stroke-linecap: round;
  stroke-dasharray: 10 8;
  opacity: .92;
  filter: drop-shadow(0 0 4px rgba(46, 121, 88, .42));
  animation: themeRadarFlowTravel 4.8s linear infinite;
}
.theme-radar-flow-path.entry { stroke: #d79020; }
.theme-radar-flow-path.exit { stroke: #7253b7; }
.theme-radar-flow-stream > span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  border: 1px solid rgba(122, 145, 158, .6);
  border-radius: 50%;
  box-shadow: 0 0 0 8px rgba(122, 145, 158, .08), 0 0 0 20px rgba(122, 145, 158, .035);
  transform: translate(-50%, -50%);
}
.theme-radar-flow-map.paused .theme-radar-flow-path { animation-play-state: paused; }
@keyframes themeRadarFlowTravel { to { stroke-dashoffset: -76; } }

.theme-radar-constituents > header > div { min-width: 0; }
.theme-radar-constituents > header h3 { max-width: none; overflow: visible; line-height: 1.3; text-overflow: clip; white-space: normal; }

[data-color-mode="dark"] .theme-radar-flow-toggle { border-color: #45617e; background: #172941; color: #acd0ff; }
[data-color-mode="dark"] .theme-radar-flow-clock { border-color: #2d4259; color: #92a4b8; }
[data-color-mode="dark"] .theme-radar-flow-clock::before { background: #2a4058; }
[data-color-mode="dark"] .theme-radar-flow-map { background: linear-gradient(90deg, rgba(27, 112, 83, .12), rgba(13, 26, 42, .92) 48%, rgba(173, 58, 58, .12)); }
[data-color-mode="dark"] .theme-radar-flow-side > header { border-color: #2c435c; }
[data-color-mode="dark"] .theme-radar-flow-side > button { color: #d2dfed; }
[data-color-mode="dark"] .theme-radar-flow-side > button:hover,
[data-color-mode="dark"] .theme-radar-flow-side > button.active { border-color: #3c5875; background: rgba(25, 45, 68, .84); }
[data-color-mode="dark"] .theme-radar-flow-side > button small { color: #9fb0c2; }

@media (max-width: 780px) {
  .theme-radar-flow-map { min-height: 430px; grid-template-columns: minmax(105px, 1fr) 78px minmax(105px, 1fr); gap: 4px; padding: 12px 8px; }
  .theme-radar-flow-side > button { padding-inline: 4px; }
  .theme-radar-flow-side > button strong { font-size: 9px; }
  .theme-radar-flow-side > header strong { font-size: 12px; }
  .theme-radar-flow-clock { padding-inline: 11px; }
  .theme-radar-flow-clock::before { right: 11px; left: 11px; }
  .theme-radar-flow-clock i { left: clamp(11px, var(--trade-progress), calc(100% - 11px)); }
}

@media (prefers-reduced-motion: reduce) {
  .theme-radar-flow-path { animation: none; }
}

/* Capital attack route v7: deterministic replay is the central instrument. */
.capital-attack-stage { min-height: 720px; }
.capital-attack-stage > header { align-items: center; }
.capital-attack-status { display: flex; align-items: center; gap: 6px; max-width: 210px; color: #697c90; font-size: 8px; text-align: right; }
.capital-attack-status i { width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: #c13b3b; }
.capital-attack-status i.healthy { background: #178451; }
.capital-attack-status em { padding: 3px 5px; border: 1px solid #d4a44a; color: #8b6118; font-style: normal; }
.capital-attack-status button { padding: 3px 5px; border: 1px solid #afc4d9; border-radius: 4px; background: #fff; color: #23609a; font-size: 8px; font-weight: 800; cursor: pointer; }
.theme-radar-lifecycle-track { flex: 0 0 auto; padding: 9px 16px 8px; border-top: 1px solid #e1e8ef; border-bottom: 1px solid #dbe5ef; background: #f8fafc; }
.theme-radar-lifecycle-track > header { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 8px; }
.theme-radar-lifecycle-track > header div { display: flex; align-items: baseline; gap: 8px; }
.theme-radar-lifecycle-track > header span { color: #1e64a8; font-size: 8px; font-weight: 850; letter-spacing: .08em; }
.theme-radar-lifecycle-track > header strong { color: #243f5b; font-size: 11px; }
.theme-radar-lifecycle-track > header em { max-width: 58%; overflow: hidden; color: #64778c; font-size: 8px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.theme-radar-lifecycle-scroll { overflow-x: auto; overscroll-behavior-inline: contain; }
.theme-radar-lifecycle-line { position: relative; display: flex; align-items: flex-start; gap: 28px; min-width: max-content; padding: 0 6px 2px; }
.theme-radar-lifecycle-line::before { position: absolute; top: 7px; right: 14px; left: 14px; height: 1px; background: #b7c6d5; content: ""; }
.theme-radar-lifecycle-line button { position: relative; display: grid; grid-template-columns: 14px auto; grid-template-rows: auto auto; gap: 2px 5px; min-width: 76px; padding: 0; border: 0; background: transparent; color: #50657b; text-align: left; cursor: pointer; transition: opacity .18s ease; }
.theme-radar-lifecycle-line button i { z-index: 1; grid-row: 1 / span 2; width: 14px; height: 14px; border: 3px solid #fff; border-radius: 50%; background: var(--lifecycle-color); box-shadow: 0 0 0 1px var(--lifecycle-color); }
.theme-radar-lifecycle-line button strong { color: #29445f; font-size: 9px; }
.theme-radar-lifecycle-line button time { color: #7a8da1; font: 700 8px/1 ui-monospace, Consolas, monospace; }
.theme-radar-lifecycle-line button.future { opacity: .28; }
.theme-radar-lifecycle-line button.current i { box-shadow: 0 0 0 1px var(--lifecycle-color), 0 0 0 5px color-mix(in srgb, var(--lifecycle-color) 18%, transparent); }
.theme-radar-lifecycle-track.empty { display: flex; align-items: center; gap: 10px; min-height: 54px; color: #74869a; }
.theme-radar-lifecycle-track.empty span { color: #1e64a8; font-size: 8px; font-weight: 850; }
.theme-radar-lifecycle-track.empty p { margin: 0; font-size: 8px; }
.capital-attack-chart-scroll { min-height: 386px; overflow-x: auto; border-bottom: 1px solid #dbe5ef; background: #fbfcfe; overscroll-behavior-inline: contain; }
.capital-attack-chart { display: block; width: 100%; min-width: 760px; height: auto; }
.capital-attack-chart .auction { fill: #f9eceb; }
.capital-attack-chart .morning,
.capital-attack-chart .afternoon { fill: #f8fafc; }
.capital-attack-chart .lunch { fill: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M-2 2L2-2M0 8L8 0M6 10L10 6' stroke='%23c7d3df' stroke-width='1'/%3E%3C/svg%3E"); opacity: .58; }
.capital-attack-chart .tail { fill: #f5f8fc; }
.capital-attack-lane-band { fill-opacity: .46; }
.capital-attack-lane-band.lane-first_attack { fill: #f8dedd; }
.capital-attack-lane-band.lane-theme_spread { fill: #faedc9; }
.capital-attack-lane-band.lane-broken_board { fill: #fbe5d2; }
.capital-attack-lane-band.lane-reseal_strength { fill: #dcecf9; }
.capital-attack-lane-band.lane-limit_down_risk { fill: #e9e1e6; }
.capital-attack-band-label { fill: #7c8b9c; font: 800 9px/1 "Microsoft YaHei UI", sans-serif; }
.capital-attack-lane-label { fill: #38516c; font: 800 10px/1 "Microsoft YaHei UI", sans-serif; }
.capital-attack-lane-line { stroke: #bdccda; stroke-width: 1.2; }
.capital-attack-tick-line { stroke: #dde6ef; stroke-width: .8; stroke-dasharray: 3 6; }
.capital-attack-tick-label { fill: #74869a; font: 700 9px/1 ui-monospace, Consolas, monospace; }
.capital-attack-relation { fill: none; stroke: #6683a3; stroke-width: 1.2; stroke-dasharray: 5 5; transition: opacity .18s ease; }
.capital-attack-relation.future { opacity: .08; }
.capital-attack-relation.past { opacity: .55; animation: capitalAttackPath 1.2s linear both; }
.capital-attack-node { cursor: pointer; outline: none; transition: opacity .18s ease; }
.capital-attack-node .dot { fill: var(--event-color); stroke: #fff; stroke-width: 2; }
.capital-attack-node.dashed .dot { fill: #fff8ef; stroke: var(--event-color); stroke-width: 2; stroke-dasharray: 3 2; }
.capital-attack-node .halo { fill: none; stroke: var(--event-color); stroke-width: 2; opacity: 0; }
.capital-attack-node text { fill: #fff; font: 900 8px/1 ui-monospace, Consolas, monospace; pointer-events: none; }
.capital-attack-node.dashed text { fill: #9a4d1f; }
.capital-attack-node.future { opacity: .18; }
.capital-attack-node.current .halo { opacity: .72; animation: capitalAttackCurrent 1.6s ease-out infinite; }
.capital-attack-node.arrived .halo { animation: capitalAttackArrive .9s ease-out 1; }
.capital-attack-node.linked-muted { opacity: .07; }
.capital-attack-node.linked .dot { filter: drop-shadow(0 0 3px var(--event-color)); }
.capital-attack-relation.linked-muted { opacity: .04; animation: none; }
.capital-attack-node:focus-visible .halo { opacity: 1; stroke-width: 4; }
.capital-attack-cursor { stroke: #195fa9; stroke-width: 1.5; pointer-events: none; filter: drop-shadow(0 0 3px rgba(25, 95, 169, .34)); }
@keyframes capitalAttackPath { from { stroke-dashoffset: 36; } to { stroke-dashoffset: 0; } }
@keyframes capitalAttackCurrent { from { r: 14; opacity: .8; } to { r: 25; opacity: 0; } }
@keyframes capitalAttackArrive { from { r: 13; opacity: 1; } to { r: 30; opacity: 0; } }

.capital-attack-detail-card { display: grid; gap: 0; margin: 12px; border: 1px solid #d5e1ec; border-radius: 8px; background: #fff; overflow: hidden; }
.capital-attack-statistics { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border-bottom: 1px solid #dce5ee; background: #f7f9fc; }
.capital-attack-statistics span { display: grid; gap: 4px; min-width: 0; padding: 9px 10px; border-right: 1px solid #dce5ee; }
.capital-attack-statistics span:last-child { border-right: 0; }
.capital-attack-statistics em { color: #7a899a; font-size: 8px; font-style: normal; }
.capital-attack-statistics strong { color: #173a60; font: 900 12px/1 ui-monospace, Consolas, monospace; }
.capital-attack-detail-body { display: grid; grid-template-columns: 1.1fr 1fr .9fr; min-height: 180px; }
.capital-attack-detail-body > section { min-width: 0; padding: 13px; border-right: 1px solid #e1e8ef; }
.capital-attack-detail-body > section:last-child { border-right: 0; }
.capital-attack-detail-kicker { color: #1e64a8; font: 800 8px/1.4 ui-monospace, Consolas, monospace; }
.capital-attack-detail-body h4 { margin: 7px 0; color: #173653; font-size: 14px; }
.capital-attack-detail-body h5 { margin: 0 0 9px; color: #526b84; font-size: 9px; }
.capital-attack-detail-body p { margin: 7px 0 0; color: #697b8e; font-size: 9px; line-height: 1.55; }
.capital-attack-detail-body p strong { display: inline-block; margin-right: 6px; color: #9b5a1c; }
.capital-attack-tags { display: flex; flex-wrap: wrap; gap: 4px; }
.capital-attack-tags span { padding: 3px 5px; border: 1px solid #cfdae5; color: #4f6680; font-size: 8px; }
.capital-attack-tags span.theme { padding: 5px 8px; border-color: #8fb6dc; border-radius: 4px; background: #eaf4ff; color: #145a9d; font-size: 11px; font-weight: 900; }
.capital-attack-tags span.completeness { align-self: center; color: #718398; }
.capital-attack-detail-stocks > div { display: grid; gap: 5px; max-height: 128px; overflow-y: auto; }
.capital-attack-detail-stocks span { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 7px; padding-bottom: 5px; border-bottom: 1px dotted #dbe4ed; }
.capital-attack-detail-stocks strong { color: #294560; font-size: 9px; }
.capital-attack-stock-name.limit-up { color: #c83d3d; }
.capital-attack-stock-name.spread { color: #d19a17; }
.capital-attack-stock-name.broken { color: #de762b; }
.capital-attack-stock-name.reseal { color: #2678ba; }
.capital-attack-stock-name.risk { color: #4f3949; }
.capital-attack-detail-stocks small { overflow: hidden; color: #7f8e9e; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.capital-attack-detail-relations button { margin-top: 10px; padding: 7px 9px; border: 1px solid #a9bfd6; border-radius: 5px; background: #fff; color: #235b93; font-size: 9px; font-weight: 850; cursor: pointer; }
.capital-attack-detail-catalysts { display: grid; gap: 5px; margin-top: 12px; padding-top: 10px; border-top: 1px dotted #d5e0ea; }
.capital-attack-detail-catalysts h5 { margin: 0; }
.capital-attack-detail-catalysts button { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px; margin: 0; padding: 5px 6px; text-align: left; }
.capital-attack-detail-catalysts button strong { color: #9b5a1c; }
.capital-attack-detail-catalysts button span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.theme-radar-catalyst-timeline > article.future { opacity: .38; }
.theme-radar-catalyst-actions { display: flex; align-items: center; gap: 6px; }
.theme-radar-catalyst-actions > em { padding: 3px 5px; border: 1px solid #c5d5e5; border-radius: 4px; color: #526f8c; font-size: 8px; font-style: normal; font-weight: 800; }
.theme-radar-catalyst-actions > button,
.theme-radar-catalyst-actions > a { padding: 3px 5px; border: 1px solid #afc5dc; border-radius: 4px; background: #fff; color: #24609a; font-size: 8px; font-weight: 800; text-decoration: none; cursor: pointer; }
.capital-attack-detail-empty,
.capital-attack-empty { display: grid; min-height: 280px; place-content: center; gap: 7px; padding: 28px; color: #718398; text-align: center; }
.capital-attack-detail-empty { min-height: 190px; }
.capital-attack-detail-empty strong,
.capital-attack-empty strong { color: #294661; }
.capital-attack-detail-empty p,
.capital-attack-empty p { max-width: 480px; margin: 0; font-size: 10px; line-height: 1.55; }

.capital-attack-replay-controls { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px 12px; align-items: center; padding: 10px 12px; }
.capital-attack-buttons { display: flex; justify-content: flex-start; gap: 4px; }
.capital-attack-buttons button { min-width: 32px; padding: 5px 7px; border: 1px solid #b9cadd; border-radius: 4px; background: #fff; color: #315f8d; font-size: 8px; font-weight: 850; cursor: pointer; }
.capital-attack-buttons button.active { border-color: #1e65ad; background: #1e65ad; color: #fff; }
.capital-attack-play-button { display: inline-flex; align-items: center; gap: 4px; }
.capital-attack-play-button svg { width: 12px; height: 12px; fill: currentColor; }
.capital-attack-scrubber { display: grid; grid-template-columns: 56px minmax(120px, 1fr); gap: 7px; align-items: center; }
.capital-attack-scrubber strong { color: #174b7e; font: 900 10px/1 ui-monospace, Consolas, monospace; }
.capital-attack-scrubber input { width: 100%; accent-color: #1c67b2; }

.theme-radar-ranking-bottom .theme-radar-rank-list { height: clamp(390px, 38vw, 560px); }
.theme-radar-ranking-bottom .theme-radar-rank-row[hidden] { display: none; }
.theme-radar-ranking-bottom .theme-radar-rank-row,
.theme-radar-ranking-bottom .theme-radar-rank-row.positive,
.theme-radar-ranking-bottom .theme-radar-rank-row.strong-rank { background: #c94b43; background-image: none; }
.theme-radar-ranking-bottom .theme-radar-rank-row.negative,
.theme-radar-ranking-bottom .theme-radar-rank-row.weak-rank { background: #248164; background-image: none; }
.theme-radar-ranking-bottom .theme-radar-rank-row.neutral { background: #6f8091; background-image: none; }
.theme-radar-ranking-bottom .theme-radar-rank-row.active { box-shadow: inset 0 0 0 3px #fff, 0 3px 12px rgba(27, 53, 80, .25); }
.theme-radar-ranking-bottom .theme-radar-rank-row { grid-template-columns: auto minmax(0, 1fr); grid-template-rows: auto 1fr auto; padding: clamp(5px, .8vw, 11px); }
.theme-radar-ranking-bottom .theme-radar-rank-name { grid-column: 1 / -1; grid-row: 2; align-self: center; }
.theme-radar-ranking-bottom .theme-radar-rank-name strong { font-size: clamp(9px, .9vw, 15px); }
.theme-radar-ranking-bottom .theme-radar-rank-name small { color: rgba(255, 255, 255, .78); }
.theme-radar-ranking-bottom .theme-radar-rank-pct { grid-column: 1 / -1; grid-row: 3; font-size: clamp(8px, .75vw, 12px); }
.theme-radar-ranking-bottom .theme-radar-rank-number { grid-column: 1; grid-row: 1; }

.theme-catalog-detail-drawer { overflow-y: auto; }
.theme-radar-drawer-overview { margin: 12px; padding-bottom: 12px; border: 1px solid #d7e2ed; border-radius: 7px; }
.theme-radar-drawer-overview > header { display: flex; align-items: center; justify-content: space-between; padding: 11px 12px; border-bottom: 1px solid #dce5ee; }
.theme-radar-drawer-overview > header span,
.theme-catalog-detail-drawer .theme-radar-propagation > header span { color: #1d60a4; font: 800 8px/1.2 ui-monospace, Consolas, monospace; letter-spacing: .12em; }
.theme-radar-drawer-overview h3 { margin: 4px 0 0; color: #183552; font-size: 16px; }
.theme-catalog-detail-drawer > .theme-radar-constituents,
.theme-catalog-detail-drawer > .theme-radar-propagation { margin: 12px; padding: 0 12px 12px; border: 1px solid #d7e2ed; border-radius: 7px; }

[data-color-mode="dark"] .capital-attack-chart-scroll { border-color: #31475e; background: #0e1c2b; }
[data-color-mode="dark"] .capital-attack-chart .morning,
[data-color-mode="dark"] .capital-attack-chart .afternoon { fill: #102033; }
[data-color-mode="dark"] .capital-attack-chart .auction { fill: #2a1c23; }
[data-color-mode="dark"] .capital-attack-chart .tail { fill: #152337; }
[data-color-mode="dark"] .capital-attack-lane-band.lane-first_attack { fill: #4b2930; }
[data-color-mode="dark"] .capital-attack-lane-band.lane-theme_spread { fill: #4a3b20; }
[data-color-mode="dark"] .capital-attack-lane-band.lane-broken_board { fill: #4a3022; }
[data-color-mode="dark"] .capital-attack-lane-band.lane-reseal_strength { fill: #203d59; }
[data-color-mode="dark"] .capital-attack-lane-band.lane-limit_down_risk { fill: #382c38; }
[data-color-mode="dark"] .capital-attack-lane-label,
[data-color-mode="dark"] .capital-attack-detail-body h4 { fill: #d7e4f1; color: #d7e4f1; }
[data-color-mode="dark"] .capital-attack-lane-line,
[data-color-mode="dark"] .capital-attack-tick-line { stroke: #2f455d; }
[data-color-mode="dark"] .capital-attack-detail-card { border-color: #334b63; background: #122238; }
[data-color-mode="dark"] .theme-radar-lifecycle-track { border-color: #31475e; background: #132439; }
[data-color-mode="dark"] .theme-radar-lifecycle-track > header strong,
[data-color-mode="dark"] .theme-radar-lifecycle-line button strong { color: #d6e4f2; }
[data-color-mode="dark"] .theme-radar-lifecycle-line::before { background: #40566d; }
[data-color-mode="dark"] .theme-radar-lifecycle-line button i { border-color: #132439; }
[data-color-mode="dark"] .capital-attack-statistics { border-color: #334b63; background: #172940; }
[data-color-mode="dark"] .capital-attack-statistics span { border-color: #334b63; }
[data-color-mode="dark"] .capital-attack-statistics strong { color: #d9e9fb; }
[data-color-mode="dark"] .capital-attack-detail-body > section { border-color: #31465d; }
[data-color-mode="dark"] .capital-attack-detail-body p,
[data-color-mode="dark"] .capital-attack-detail-stocks small { color: #9fb0c2; }
[data-color-mode="dark"] .capital-attack-tags span.theme { border-color: #426f9b; background: #183553; color: #b9dcff; }
[data-color-mode="dark"] .theme-radar-search-submit { border-color: #4f85b8; background: #235f99; color: #fff; }
[data-color-mode="dark"] .capital-attack-status button,
[data-color-mode="dark"] .theme-radar-signal-panel .theme-radar-rail-track > article > button,
[data-color-mode="dark"] .theme-radar-catalyst-actions > button,
[data-color-mode="dark"] .theme-radar-catalyst-actions > a { border-color: #46617d; background: #152941; color: #9ec8ef; }

@media (min-width: 1121px) {
  .theme-radar-dashboard { --theme-radar-workspace-height: 860px; grid-template-rows: var(--theme-radar-workspace-height); }
  .theme-radar-proof-stack,
  .theme-radar-market-stage,
  .theme-radar-evidence-dock { height: 100%; min-height: 0; }
  .capital-attack-chart-scroll { min-height: 0; flex: 0 0 auto; }
  .capital-attack-detail-card { min-height: 0; flex: 1; grid-template-rows: auto minmax(0, 1fr); }
  .capital-attack-detail-body { min-height: 0; }
  .capital-attack-detail-body > section { overflow-y: auto; }
}

@media (max-width: 1120px) {
  .capital-attack-detail-body { grid-template-columns: 1fr 1fr; }
  .capital-attack-detail-relations { grid-column: 1 / -1; border-top: 1px solid #e1e8ef; }
}

@media (max-width: 780px) {
  .capital-attack-stage { min-height: 0; }
  .capital-attack-chart-scroll { min-height: 330px; }
  .capital-attack-chart { min-width: 760px; }
  .theme-radar-lifecycle-track { padding-inline: 11px; }
  .theme-radar-lifecycle-track > header { align-items: flex-start; flex-direction: column; gap: 3px; }
  .theme-radar-lifecycle-track > header em { max-width: 100%; }
  .capital-attack-statistics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .capital-attack-statistics span:nth-child(3) { border-right: 0; }
  .capital-attack-statistics span:nth-child(-n+3) { border-bottom: 1px solid #dce5ee; }
  .capital-attack-detail-body { grid-template-columns: 1fr; }
  .capital-attack-detail-body > section { border-right: 0; border-bottom: 1px solid #e1e8ef; }
  .capital-attack-detail-body > section:last-child { border-bottom: 0; }
  .capital-attack-detail-relations { grid-column: auto; }
  .theme-radar-ranking-bottom .theme-radar-rank-list { height: 520px; }
  .theme-radar-ranking-bottom .theme-radar-rank-number,
  .theme-radar-ranking-bottom .theme-radar-rank-name small { display: none; }
  .theme-radar-stock-groups.unified .theme-radar-stock-strip { grid-template-columns: 1fr; }
  .theme-radar-stock-groups.unified .theme-radar-stock-strip article { border-right: 0; }
}

@media (min-width: 781px) {
  .theme-radar-proof-rail h4 { font-size: 11px; }
  .theme-radar-proof-rail section > button span { font-size: 12px; }
  .theme-radar-proof-rail section > button strong { font-size: 11px; }
  .theme-radar-signal-list strong { font-size: 12px; }
  .theme-radar-signal-list p { font-size: 10.5px; }
  .theme-radar-signal-meta time { font-size: 9px; }
  .theme-radar-signal-panel .theme-radar-rail-track > article > button { font-size: 9px; }
  .theme-radar-catalyst-timeline time { font-size: 9px; }
  .theme-radar-evidence-meta em { font-size: 10px; }
  .theme-radar-evidence-meta small { font-size: 9px; }
  .theme-radar-evidence-list strong { font-size: 12px; }
  .theme-radar-evidence-list p { font-size: 11px; }
  .theme-radar-catalyst-actions > em,
  .theme-radar-catalyst-actions > button,
  .theme-radar-catalyst-actions > a { font-size: 9px; }
  .capital-attack-status { font-size: 9px; }
  .capital-attack-band-label,
  .capital-attack-tick-label { font-size: 10px; }
  .capital-attack-lane-label { font-size: 11px; }
  .capital-attack-node text { font-size: 9px; }
  .capital-attack-statistics em { font-size: 9.5px; }
  .capital-attack-statistics strong { font-size: 13px; }
  .capital-attack-detail-kicker { font-size: 9.5px; }
  .capital-attack-detail-body h5 { font-size: 10.5px; }
  .capital-attack-detail-body p { font-size: 10.5px; }
  .capital-attack-tags span.theme { font-size: 12px; }
  .capital-attack-detail-stocks strong { font-size: 13px; }
  .capital-attack-detail-stocks small { font-size: 10.5px; }
  .capital-attack-detail-relations button { font-size: 10px; }
  .capital-attack-replay-controls > label,
  .capital-attack-buttons button { font-size: 9px; }
  .capital-attack-replay-controls select,
  .capital-attack-scrubber strong { font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .capital-attack-node.current .halo,
  .capital-attack-node.arrived .halo,
  .capital-attack-relation.past { animation: none; }
}

/* Radar layout v12: horizontal catalysts, content-sized alerts and a compact live flow instrument. */
.theme-radar-catalyst-strip {
  display: flex;
  height: 250px;
  min-height: 250px;
  flex-direction: column;
  overflow: hidden;
  border-radius: 10px;
}
.theme-radar-catalyst-strip > header { min-height: 58px; padding: 10px 14px; }
.theme-radar-catalyst-strip .theme-radar-evidence-list {
  position: relative;
  display: grid;
  min-height: 0;
  max-height: none;
  flex: 1;
  grid-auto-columns: minmax(250px, 1fr);
  grid-auto-flow: column;
  grid-template-columns: none;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scrollbar-gutter: stable;
}
.theme-radar-catalyst-strip .theme-radar-catalyst-timeline::before {
  top: 18px;
  right: 20px;
  bottom: auto;
  left: 20px;
  width: auto;
  height: 1px;
  display: block;
}
.theme-radar-catalyst-strip .theme-radar-catalyst-timeline > article {
  min-width: 0;
  align-content: start;
  padding: 31px 15px 12px;
  overflow: hidden;
  border-right: 1px solid #e5edf5;
  border-bottom: 0;
}
.theme-radar-catalyst-strip .theme-radar-catalyst-timeline > article::before { top: 14px; left: 15px; }
.theme-radar-catalyst-strip .theme-radar-evidence-list strong,
.theme-radar-catalyst-strip .theme-radar-evidence-list p { -webkit-line-clamp: 1; }
.theme-radar-catalyst-strip .theme-radar-locked,
.theme-radar-catalyst-strip .theme-radar-evidence-loading,
.theme-radar-catalyst-strip .theme-radar-evidence-empty { min-height: 0; flex: 1; align-content: center; }

.theme-radar-alert-dock {
  align-self: start;
  max-height: 860px;
  overflow: hidden;
  border-radius: 12px 7px 7px 12px;
}
.theme-radar-alert-dock .theme-radar-signal-list,
.theme-radar-alert-dock .theme-radar-rail-carousel,
.theme-radar-alert-dock .theme-radar-rail-track { min-height: 0; height: auto; flex: none; }
.theme-radar-alert-dock .theme-radar-signal-list { max-height: 790px; overflow-y: auto; overscroll-behavior: contain; }
.theme-radar-alert-dock .theme-radar-rail-track { display: block; }
.theme-radar-alert-dock .theme-radar-rail-track > article { min-height: 82px; }

.theme-radar-flow-panel {
  display: flex;
  min-height: 0;
  height: 100%;
  flex-direction: column;
  border-radius: 7px 12px 12px 7px;
}
.theme-radar-flow-panel > header { align-items: center; }
.theme-radar-flow-panel > footer {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 9px 11px;
  border-top: 1px solid var(--radar-line);
  color: #74869a;
  font-size: 9.5px;
  line-height: 1.35;
}
.theme-radar-flow-panel > footer time { flex: none; font: 800 9.5px/1.35 ui-monospace, Consolas, monospace; }
.theme-radar-flow-panel > footer span { text-align: right; }
.theme-radar-flow-panel .theme-radar-flow-clock { flex: none; }
.theme-radar-flow-panel .theme-radar-flow-map {
  min-height: 0;
  grid-template-columns: minmax(86px, 1fr) 52px minmax(86px, 1fr);
  gap: 4px;
  padding: 10px 8px;
  overflow: hidden;
}
.theme-radar-flow-panel .theme-radar-flow-side {
  display: grid;
  min-height: 0;
  grid-template-rows: auto repeat(10, minmax(0, 1fr)) auto;
  align-content: stretch;
  gap: 2px;
  padding: 0;
  border: 0;
}
.theme-radar-flow-panel .theme-radar-flow-side > header { padding: 4px 2px 8px; }
.theme-radar-flow-panel .theme-radar-flow-side > header span { font-size: 12px; }
.theme-radar-flow-panel .theme-radar-flow-side > header strong { font-size: 16px; }
.theme-radar-flow-panel .theme-radar-flow-side > button {
  display: grid;
  min-height: 0;
  align-content: center;
  gap: 4px;
  padding: 4px 3px;
  border-bottom: 0;
}
.theme-radar-flow-panel .theme-radar-flow-side > button > span { font-size: 11px; }
.theme-radar-flow-panel .theme-radar-flow-side > button strong { font-size: 11.5px; }
.theme-radar-flow-panel .theme-radar-flow-side > button small { overflow: hidden; font-size: 9.5px; text-overflow: ellipsis; white-space: nowrap; }
.theme-radar-flow-panel .theme-radar-flow-side > p { align-self: start; padding: 8px 3px; }
.theme-radar-flow-panel .theme-radar-flow-path { animation-delay: var(--flow-delay); }
.theme-radar-flow-summary {
  display: grid;
  min-width: 0;
  gap: 4px;
  margin-top: 5px;
  border: 1px solid #d4dee8;
  border-radius: 7px;
  padding: 9px 8px;
  background: rgba(255, 255, 255, .82);
}
.theme-radar-flow-summary em { font-size: 10px; font-style: normal; font-weight: 900; }
.theme-radar-flow-summary strong { color: #1d3856; font: 900 12px/1.2 ui-monospace, Consolas, monospace; }
.theme-radar-flow-summary small { overflow: hidden; color: #79899a; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.theme-radar-flow-side.inflow .theme-radar-flow-summary { text-align: right; }
.theme-radar-flow-summary.entry em { color: #c84444; }
.theme-radar-flow-summary.exit em { color: #14805f; }

[data-color-mode="dark"] .theme-radar-catalyst-strip,
[data-color-mode="dark"] .theme-radar-alert-dock,
[data-color-mode="dark"] .theme-radar-flow-panel { border-color: #334a67; background: rgba(17, 31, 49, .96); }
[data-color-mode="dark"] .theme-radar-catalyst-strip .theme-radar-catalyst-timeline > article { border-color: #2d435c; }
[data-color-mode="dark"] .theme-radar-flow-panel > footer { border-color: #2d4259; color: #9fb0c2; }
[data-color-mode="dark"] .theme-radar-flow-summary { border-color: #2c435c; background: #13243a; }
[data-color-mode="dark"] .theme-radar-flow-summary strong { color: #d8e7f5; }
[data-color-mode="dark"] .theme-radar-flow-summary small { color: #9fb0c2; }

@media (min-width: 1121px) {
  .theme-radar-dashboard > .theme-radar-alert-dock,
  .theme-radar-dashboard > .theme-radar-market-stage,
  .theme-radar-dashboard > .theme-radar-flow-panel { min-height: 0; }
  .theme-radar-dashboard > .theme-radar-market-stage,
  .theme-radar-dashboard > .theme-radar-flow-panel { height: 100%; }
}

@media (max-width: 1120px) {
  .theme-radar-dashboard { grid-template-columns: minmax(190px, .42fr) minmax(0, 1.58fr); }
  .theme-radar-alert-dock { grid-column: 1; grid-row: 1; }
  .theme-radar-market-stage { grid-column: 2; grid-row: 1 / span 2; }
  .theme-radar-flow-panel { grid-column: 1; grid-row: 2; height: 620px; }
}

@media (max-width: 780px) {
  .theme-radar-catalyst-strip { height: 250px; min-height: 250px; }
  .theme-radar-catalyst-strip .theme-radar-evidence-list { grid-auto-columns: minmax(240px, 82vw); grid-template-columns: none; }
  .theme-radar-dashboard { grid-template-columns: 1fr; }
  .theme-radar-market-stage { grid-column: auto; grid-row: auto; order: 1; }
  .theme-radar-alert-dock { grid-column: auto; grid-row: auto; order: 2; max-height: none; }
  .theme-radar-alert-dock .theme-radar-signal-list { max-height: none; overflow-y: visible; }
  .theme-radar-flow-panel { grid-column: auto; grid-row: auto; order: 3; height: 680px; }
  .theme-radar-flow-panel .theme-radar-flow-map { grid-template-columns: minmax(105px, 1fr) 58px minmax(105px, 1fr); padding-inline: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  .theme-radar-flow-panel .theme-radar-flow-path { animation: none; }
}

/* Radar layout v15: alerts become the top market tape; route, flow and race keep independent readable canvases. */
.theme-radar-alert-strip {
  display: flex;
  height: 250px;
  min-height: 250px;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--radar-line);
  border-radius: 10px;
  background: rgba(255, 255, 255, .92);
}
.theme-radar-alert-strip > header { min-height: 58px; padding: 10px 14px; }
.theme-radar-alert-strip .theme-radar-signal-list,
.theme-radar-alert-strip .theme-radar-rail-carousel,
.theme-radar-alert-strip .theme-radar-rail-track { min-height: 0; height: 100%; }
.theme-radar-alert-strip .theme-radar-signal-list { flex: 1; overflow: hidden; }
.theme-radar-alert-strip .theme-radar-rail-track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
}
.theme-radar-alert-strip .theme-radar-rail-track > article { min-height: 0; padding: 9px 11px; border-right: 1px solid #e5edf5; }
.theme-radar-alert-strip .theme-radar-rail-track > article:nth-child(4n) { border-right: 0; }
.theme-radar-alert-strip .theme-radar-rail-track > article:nth-child(-n+4) { border-bottom: 1px solid #e5edf5; }
.theme-radar-alert-strip .theme-radar-rail-track > article p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

.capital-attack-detail-card { grid-template-rows: auto minmax(0, 1fr) auto; }
.capital-attack-detail-body { grid-template-columns: .88fr 1.12fr; min-height: 172px; }
.capital-attack-detail-body > .capital-attack-detail-empty { grid-column: 1 / -1; min-height: 150px; }
.capital-attack-lane-summary { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 1px solid #dce5ee; }
.capital-attack-lane-summary button { position: relative; display: grid; min-width: 0; gap: 4px; padding: 11px 12px 12px 16px; border: 0; border-right: 1px solid #dce5ee; background: #fbfcfe; color: #587087; text-align: left; cursor: pointer; }
.capital-attack-lane-summary button:last-child { border-right: 0; }
.capital-attack-lane-summary button::before { position: absolute; top: 11px; bottom: 11px; left: 7px; width: 3px; border-radius: 2px; background: var(--lane-summary-color); content: ""; }
.capital-attack-lane-summary button:disabled { cursor: default; opacity: .62; }
.capital-attack-lane-summary button.active { background: color-mix(in srgb, var(--lane-summary-color) 8%, #fff); box-shadow: inset 0 -2px var(--lane-summary-color); }
.capital-attack-lane-summary span { color: #53697f; font-size: 9px; font-weight: 800; }
.capital-attack-lane-summary strong { overflow: hidden; color: #173b5f; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.capital-attack-lane-summary small { overflow: hidden; color: #7d8c9c; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.capital-attack-lane-summary .limit-up { --lane-summary-color: #c83d3d; }
.capital-attack-lane-summary .spread { --lane-summary-color: #d19a17; }
.capital-attack-lane-summary .broken { --lane-summary-color: #de762b; }
.capital-attack-lane-summary .reseal { --lane-summary-color: #2678ba; }
.capital-attack-lane-summary .risk { --lane-summary-color: #4f3949; }

.theme-radar-race { overflow: hidden; border: 1px solid var(--radar-line); border-radius: 10px; background: rgba(255, 255, 255, .94); }
.theme-radar-race > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 66px; padding: 13px 16px; border-bottom: 1px solid var(--radar-line); }
.theme-radar-race > header span { color: #1e64a8; font: 800 8px/1.2 ui-monospace, Consolas, monospace; letter-spacing: .12em; }
.theme-radar-race > header h3 { margin: 4px 0 0; color: #173653; font-size: 17px; }
.theme-radar-race > header p { margin: 5px 0 0; color: #728397; font-size: 9px; }
.theme-radar-race > header small { flex: none; color: #677b91; font-size: 9px; }
.theme-radar-race-scroll { overflow-x: auto; overscroll-behavior-inline: contain; }
.theme-radar-race-scroll > svg { display: block; width: 100%; min-width: 980px; height: auto; background: #fbfcfe; }
.theme-radar-race-grid { stroke: #dbe4ed; stroke-width: .8; }
.theme-radar-race-grid.vertical { stroke-dasharray: 3 6; }
.theme-radar-race-zero { stroke: #8192a4; stroke-width: 1.15; stroke-dasharray: 4 4; }
.theme-radar-race-axis { fill: #718397; font: 700 9px/1 ui-monospace, Consolas, monospace; }
.theme-radar-race-line { fill: none; stroke: var(--race-color); stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; opacity: .72; vector-effect: non-scaling-stroke; }
.theme-radar-race-line.active { stroke-width: 3; opacity: 1; filter: drop-shadow(0 1px 2px color-mix(in srgb, var(--race-color) 36%, transparent)); }
.theme-radar-market-line { fill: none; stroke: #243746; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.theme-radar-race-legend { display: flex; align-self: center; gap: 16px; margin-left: auto; color: #617387; font-size: 14px; font-weight: 800; }
.theme-radar-race-legend span { display: inline-flex; gap: 5px; align-items: center; }
.theme-radar-race-legend i { width: 10px; height: 10px; border-radius: 2px; }
.theme-radar-race-legend .inflow i { background: #d84c4c; }
.theme-radar-race-legend .outflow i { background: #238461; }
.theme-radar-topic-flag { cursor: pointer; outline: none; }
.theme-radar-topic-flag line { stroke-width: 1.25; vector-effect: non-scaling-stroke; }
.theme-radar-topic-flag circle { stroke: #fff; stroke-width: 1; }
.theme-radar-topic-flag rect { stroke-width: 1; }
.theme-radar-topic-flag text { font: 800 10px/1 "Microsoft YaHei UI", sans-serif; pointer-events: none; }
.theme-radar-topic-flag.inflow line, .theme-radar-topic-flag.inflow rect { stroke: #d84c4c; }
.theme-radar-topic-flag.inflow rect { fill: #f9dede; }
.theme-radar-topic-flag.inflow circle { fill: #d84c4c; }
.theme-radar-topic-flag.inflow text { fill: #a32323; }
.theme-radar-topic-flag.outflow line, .theme-radar-topic-flag.outflow rect { stroke: #238461; }
.theme-radar-topic-flag.outflow rect { fill: #dff3e9; }
.theme-radar-topic-flag.outflow circle { fill: #238461; }
.theme-radar-topic-flag.outflow text { fill: #175e4a; }
.theme-radar-topic-flag:hover rect, .theme-radar-topic-flag:focus-visible rect, .theme-radar-topic-flag.active rect { stroke-width: 2.5; filter: drop-shadow(0 3px 5px rgb(31 53 71 / 20%)); }
.theme-radar-race-endpoint { cursor: pointer; outline: none; }
.theme-radar-race-endpoint line { stroke: var(--race-color); stroke-width: 1; opacity: .6; }
.theme-radar-race-endpoint circle { fill: var(--race-color); }
.theme-radar-race-endpoint text { fill: var(--race-color); font: 800 9.5px/1 "Microsoft YaHei UI", sans-serif; }
.theme-radar-race-endpoint:focus-visible text { text-decoration: underline; }
.theme-radar-race-cursor { stroke: #1d64aa; stroke-width: 1.2; stroke-dasharray: 4 4; }
.theme-radar-race-empty { display: grid; min-height: 300px; place-content: center; padding: 24px; color: #718397; font-size: 11px; text-align: center; }

[data-color-mode="dark"] .theme-radar-alert-strip,
[data-color-mode="dark"] .theme-radar-race { border-color: #334a67; background: rgba(17, 31, 49, .96); }
[data-color-mode="dark"] .theme-radar-alert-strip .theme-radar-rail-track > article,
[data-color-mode="dark"] .capital-attack-lane-summary,
[data-color-mode="dark"] .capital-attack-lane-summary button { border-color: #30465d; }
[data-color-mode="dark"] .capital-attack-lane-summary button { background: #13243a; }
[data-color-mode="dark"] .capital-attack-lane-summary button.active { background: #18304a; }
[data-color-mode="dark"] .capital-attack-lane-summary strong,
[data-color-mode="dark"] .theme-radar-race > header h3 { color: #d8e7f5; }
[data-color-mode="dark"] .theme-radar-race-scroll > svg { background: #0e1c2b; }
[data-color-mode="dark"] .theme-radar-race-grid { stroke: #2d4259; }
[data-color-mode="dark"] .theme-radar-race-zero { stroke: #60758b; }
[data-color-mode="dark"] .theme-radar-market-line { stroke: #d8e7f5; }
[data-color-mode="dark"] .theme-radar-race-legend { color: #9fb2c8; }
[data-color-mode="dark"] .theme-radar-topic-flag.inflow rect { fill: #51252a; }
[data-color-mode="dark"] .theme-radar-topic-flag.inflow text { fill: #ffb0b0; }
[data-color-mode="dark"] .theme-radar-topic-flag.outflow rect { fill: #173f35; }
[data-color-mode="dark"] .theme-radar-topic-flag.outflow text { fill: #91e2c4; }

@media (min-width: 1121px) {
  .theme-radar-dashboard { --theme-radar-workspace-height: 1140px; grid-template-columns: minmax(0, 1.72fr) minmax(310px, .68fr); grid-template-rows: var(--theme-radar-workspace-height); }
  .theme-radar-dashboard > .theme-radar-market-stage { grid-column: 1; grid-row: 1; }
  .theme-radar-dashboard > .theme-radar-flow-panel { grid-column: 2; grid-row: 1; }
  .capital-attack-detail-stocks > div { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 12px; max-height: none; overflow: visible; }
}

@media (max-width: 1120px) {
  .theme-radar-dashboard { grid-template-columns: minmax(0, 1fr) minmax(280px, .42fr); }
  .theme-radar-market-stage { grid-column: 1; grid-row: 1; }
  .theme-radar-flow-panel { grid-column: 2; grid-row: 1; height: 760px; }
  .theme-radar-alert-strip .theme-radar-rail-track { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); overflow-x: auto; }
  .theme-radar-alert-strip .theme-radar-rail-track > article { min-width: 240px; }
}

@media (max-width: 780px) {
  .theme-radar-alert-strip { height: auto; min-height: 0; }
  .theme-radar-alert-strip .theme-radar-signal-list { overflow-x: auto; }
  .theme-radar-alert-strip .theme-radar-rail-track { display: flex; min-width: max-content; }
  .theme-radar-alert-strip .theme-radar-rail-track > article { width: min(82vw, 300px); min-height: 150px; border-bottom: 0; }
  .theme-radar-dashboard { grid-template-columns: 1fr; }
  .theme-radar-market-stage,
  .theme-radar-flow-panel { grid-column: auto; grid-row: auto; height: auto; }
  .theme-radar-flow-panel { min-height: 680px; }
  .theme-radar-flow-summary { padding-inline: 8px; }
  .capital-attack-detail-body { grid-template-columns: 1fr; }
  .capital-attack-lane-summary { grid-template-columns: repeat(5, minmax(118px, 1fr)); overflow-x: auto; }
  .theme-radar-race > header { align-items: flex-start; flex-direction: column; gap: 5px; }
}

/* Radar playback v19: a local route scrubber, clearer event summaries and deterministic outflow grouping. */
.capital-attack-route-timeline {
  display: grid;
  flex: 0 0 auto;
  gap: 8px;
  padding: 10px 18px 12px;
  border-bottom: 1px solid #dbe5ef;
  background: #f8fbfe;
}
.capital-attack-route-timeline > div {
  display: flex;
  justify-content: space-between;
  color: #72859a;
  font: 800 9px/1.2 ui-monospace, Consolas, monospace;
}
.capital-attack-route-timeline label {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 70px;
  align-items: center;
  gap: 12px;
}
.capital-attack-route-timeline input { width: 100%; margin: 0; accent-color: #1d67ae; cursor: pointer; }
.capital-attack-route-timeline strong { color: #174b7e; font: 900 12px/1 ui-monospace, Consolas, monospace; text-align: right; }

.capital-attack-lane-summary button { min-height: 98px; gap: 6px; padding: 14px 14px 14px 19px; }
.capital-attack-lane-summary button::before { top: 14px; bottom: 14px; left: 8px; width: 4px; }
.capital-attack-lane-summary span { font-size: 11px; }
.capital-attack-lane-summary strong { font-size: 11px; }
.capital-attack-lane-summary small { display: grid; min-width: 0; gap: 3px; overflow: visible; white-space: normal; }
.capital-attack-lane-summary small b { overflow: visible; color: #244c72; font-size: 14px; line-height: 1.35; white-space: normal; }
.capital-attack-lane-summary small em { overflow: visible; color: #60778e; font-size: 11px; font-style: normal; font-weight: 700; line-height: 1.4; white-space: normal; }

[data-color-mode="dark"] .capital-attack-route-timeline { border-color: #30465d; background: #112238; }
[data-color-mode="dark"] .capital-attack-route-timeline > div { color: #9fb0c2; }
[data-color-mode="dark"] .capital-attack-route-timeline strong { color: #9dccff; }
[data-color-mode="dark"] .capital-attack-lane-summary small b { color: #c9def1; }

@media (max-width: 780px) {
  .capital-attack-route-timeline { padding-inline: 12px; }
  .capital-attack-route-timeline > div { font-size: 8px; }
  .capital-attack-route-timeline label { grid-template-columns: minmax(180px, 1fr) 62px; }
  .capital-attack-route-timeline strong { font-size: 10px; }
  .capital-attack-lane-summary { grid-template-columns: repeat(5, minmax(145px, 1fr)); }
  .capital-attack-lane-summary button { min-height: 90px; }
  .capital-attack-lane-summary strong { font-size: 10px; }
  .capital-attack-lane-summary small b { font-size: 13px; }
  .capital-attack-lane-summary small em { font-size: 10px; }
}

/* Radar playback v28: three scoped clocks with one shared control language. */
.theme-radar-hero { grid-template-columns: minmax(300px, 1fr) auto; }
.theme-radar-hero-utility { display: flex; min-width: 0; align-items: center; justify-content: flex-end; gap: 10px; }
.theme-radar-hero-utility .theme-radar-hero-actions { margin-top: 0; }
.theme-radar-hero-actions button {
  min-height: 38px;
  padding: 9px 15px;
  font-size: 12px;
}
.theme-radar-refresh-inline { display: inline-flex; align-items: center; gap: 6px; }
.theme-radar-refresh-inline svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.theme-radar-refresh-inline:disabled { cursor: wait; opacity: .72; }
.theme-radar-refresh-inline.is-loading svg { animation: themeRadarRefreshSpin .8s linear infinite; }
.theme-radar-refresh-feedback { align-self: center; color: #60758d; font-size: 10px; font-weight: 700; }
.theme-radar-refresh-feedback.success { color: #177449; }
.theme-radar-refresh-feedback.error { color: #b53232; }
@keyframes themeRadarRefreshSpin { to { transform: rotate(360deg); } }

.theme-radar-card-playback {
  display: grid;
  grid-template-columns: auto minmax(180px, 1fr);
  gap: 9px 14px;
  align-items: center;
  padding: 10px 14px;
  border-bottom: 1px solid var(--radar-line);
  background: #f8fbfe;
}
.theme-radar-card-playback-actions { display: flex; min-width: 0; align-items: center; gap: 6px; }
.theme-radar-card-playback-actions button {
  min-width: 42px;
  min-height: 32px;
  padding: 7px 10px;
  border: 1px solid #b9cadd;
  border-radius: 5px;
  background: #fff;
  color: #315f8d;
  font-size: 11px;
  font-weight: 850;
  cursor: pointer;
}
.theme-radar-card-playback-actions button.active { border-color: #1e65ad; background: #1e65ad; color: #fff; }
.theme-radar-card-playback-actions small {
  min-width: 38px;
  padding: 5px 7px;
  border: 1px solid #c7d5e4;
  border-radius: 999px;
  color: #496d91;
  font-size: 10px;
  font-weight: 900;
  text-align: center;
}
.theme-radar-card-playback .capital-attack-play-button { min-width: 62px; }
.theme-radar-card-playback .capital-attack-play-button svg { width: 14px; height: 14px; }
.theme-radar-card-playback .capital-attack-scrubber { grid-template-columns: 62px minmax(120px, 1fr); }
.theme-radar-card-playback .capital-attack-scrubber strong { font-size: 11px; }
.theme-radar-flow-panel .theme-radar-card-playback { grid-template-columns: 1fr; }

.capital-attack-lane-summary button { min-height: 128px; align-content: start; }
.capital-attack-lane-summary strong { overflow: visible; text-overflow: clip; white-space: normal; }
.capital-attack-lane-summary small { align-content: start; }

[data-color-mode="dark"] .theme-radar-card-playback { border-color: #30465d; background: #112238; }
[data-color-mode="dark"] .theme-radar-refresh-feedback { color: #a9bdd3; }
[data-color-mode="dark"] .theme-radar-refresh-feedback.success { color: #74d6a4; }
[data-color-mode="dark"] .theme-radar-refresh-feedback.error { color: #ff9d9d; }
[data-color-mode="dark"] .theme-radar-card-playback-actions button { border-color: #45617e; background: #172941; color: #acd0ff; }
[data-color-mode="dark"] .theme-radar-card-playback-actions button.active { border-color: #4389ca; background: #235f99; color: #fff; }
[data-color-mode="dark"] .theme-radar-card-playback-actions small { border-color: #405b76; color: #a9c9e8; }

@media (max-width: 780px) {
  .theme-radar-hero { grid-template-columns: 1fr; }
  .theme-radar-hero-utility { align-items: stretch; flex-direction: column; }
  .theme-radar-hero-actions { justify-content: flex-end; }
  .theme-radar-card-playback { grid-template-columns: 1fr; padding-inline: 12px; }
  .theme-radar-card-playback-actions { flex-wrap: wrap; }
  .capital-attack-lane-summary button { min-height: 116px; }
  .capital-attack-detail-stocks > div { max-height: none; overflow: visible; }
}
