:root {
  --paper: #fbfaf6;
  --surface: #ffffff;
  --surface-soft: #f7f5ee;
  --ink: #111111;
  --ink-soft: #2a2a2a;
  --muted: #6f716b;
  --line: #dedbd2;
  --line-strong: #c9c2b2;
  --gold: #9a6a12;
  --gold-soft: #ead9ae;
  --green: #148355;
  --red: #c23d3d;
  --blue: #2f6190;
  --radius: 8px;
  color-scheme: light;
}

* {
  box-sizing: border-box;
}

html {
  background: var(--paper);
}

body {
  margin: 0;
  background:
    linear-gradient(90deg, rgba(17, 17, 17, 0.018) 1px, transparent 1px) 0 0 / 96px 96px,
    linear-gradient(180deg, rgba(154, 106, 18, 0.028), transparent 320px),
    var(--paper);
  color: var(--ink);
  font-family: Inter, "SF Pro Text", "PingFang SC", "Hiragino Sans GB", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: 0;
  line-height: 1.42;
}

button,
input {
  font: inherit;
}

button {
  color: inherit;
}

h1,
h2,
p {
  margin: 0;
}

.app-shell {
  min-height: 100vh;
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 30;
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto minmax(260px, 1fr);
  align-items: center;
  gap: 18px;
  padding: 13px 30px;
  border-bottom: 1px solid var(--ink);
  background: rgba(251, 250, 246, 0.94);
  backdrop-filter: blur(16px);
}

.brand {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
}

.mark {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border: 1px solid #111;
  background: #080808;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 19px;
  font-weight: 700;
}

.brand h1 {
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 30px;
  line-height: 0.95;
  text-transform: uppercase;
}

.brand p {
  margin-top: 5px;
  color: var(--gold);
  font-size: 11px;
  font-weight: 760;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.dateplate {
  min-width: 230px;
  text-align: left;
}

.dateplate b {
  display: block;
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 21px;
  line-height: 1.05;
}

.dateplate span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
}

.toolbar {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  min-width: 0;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 46px;
  padding: 0 22px;
  border: 1px solid var(--line-strong);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--ink);
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 760;
}

.button:hover {
  border-color: var(--ink);
  background: #fff;
}

.button.primary {
  border-color: var(--ink);
  background: var(--ink);
  color: #fff;
}

.button:disabled {
  cursor: wait;
  opacity: 0.72;
}

main {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 30px 42px;
}

.timeboard {
  display: grid;
  grid-template-columns: 170px 46px minmax(0, 1fr) 46px;
  align-items: center;
  gap: 16px;
  padding: 24px 0 18px;
  border-bottom: 1px solid var(--line-strong);
}

.timeboard-copy h2,
.section-head h2 {
  font-size: 16px;
  line-height: 1.15;
}

.timeboard-copy p,
.section-head p {
  margin-top: 7px;
  color: var(--muted);
  font-size: 12px;
}

.nav-day {
  display: grid;
  place-items: center;
  width: 46px;
  height: 48px;
  border: 1px solid var(--line-strong);
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
  font-size: 34px;
  line-height: 0;
}

.nav-day:hover {
  border-color: var(--ink);
}

.timeline-wrap {
  position: relative;
  min-width: 0;
  padding-top: 2px;
  --progress: 100%;
}

.month-ticks {
  display: grid;
  align-items: end;
  height: 20px;
  margin-bottom: 6px;
  color: #111;
  font-size: 12px;
  font-weight: 780;
}

.month-ticks span {
  text-align: center;
}

.day-bars {
  display: grid;
  align-items: end;
  gap: 0;
  height: 36px;
  padding: 0 12px;
}

.day-bars button {
  appearance: none;
  align-self: end;
  min-width: 0;
  height: var(--h, 14px);
  border: 0;
  border-radius: 2px 2px 0 0;
  background: #eadbb7;
  cursor: pointer;
}

.day-bars button.active {
  background: var(--gold);
  box-shadow: 0 0 0 4px rgba(154, 106, 18, 0.14);
}

.timeline-range {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 24px;
  margin: -4px 0 0;
  appearance: none;
  background: transparent;
  cursor: grab;
}

.timeline-range:active {
  cursor: grabbing;
}

.timeline-range::-webkit-slider-runnable-track {
  height: 2px;
  background: transparent;
}

.timeline-range::-webkit-slider-thumb {
  appearance: none;
  width: 13px;
  height: 13px;
  margin-top: -5px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 0 1px var(--gold), 0 7px 18px rgba(154, 106, 18, 0.32);
}

.timeline-range::-moz-range-track {
  height: 2px;
  background: transparent;
}

.timeline-range::-moz-range-thumb {
  width: 13px;
  height: 13px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 0 1px var(--gold);
}

.timeline-rule {
  position: relative;
  height: 1px;
  margin: -13px 12px 16px;
  background: var(--line-strong);
}

.timeline-rule span {
  position: absolute;
  left: 0;
  top: -1px;
  width: var(--progress);
  height: 3px;
  background: var(--gold);
}

.timeline-legend {
  display: flex;
  align-items: center;
  gap: 28px;
  color: var(--muted);
  font-size: 12px;
}

.timeline-legend span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}

.dot {
  width: 14px;
  height: 3px;
  display: inline-block;
  background: var(--line-strong);
}

.dot.selected {
  background: var(--gold);
}

.dot.available {
  background: #eadbb7;
}

.metric-rail {
  display: grid;
  grid-template-columns: 1.25fr repeat(7, minmax(118px, 1fr));
  border-bottom: 1px solid var(--line-strong);
  background: rgba(255, 255, 255, 0.52);
}

.metric {
  min-height: 104px;
  padding: 18px 20px 16px;
  border-right: 1px solid var(--line-strong);
}

.metric:last-child {
  border-right: 0;
}

.metric span {
  display: block;
  color: var(--ink-soft);
  font-size: 12px;
  font-weight: 760;
}

.metric strong {
  display: block;
  margin-top: 9px;
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: clamp(22px, 2vw, 31px);
  line-height: 1;
  font-weight: 400;
  font-variant-numeric: tabular-nums;
}

.metric small {
  display: block;
  margin-top: 9px;
  max-width: 190px;
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.metric .tone-high,
.tone-high {
  color: var(--green);
}

.tone-low {
  color: var(--red);
}

.session-tape {
  display: grid;
  grid-template-columns: minmax(290px, 0.86fr) minmax(0, 1.55fr);
  gap: 14px;
  align-items: stretch;
  padding: 14px 0 0;
}

.session-copy,
.session-chip-grid span,
.session-chip-grid button {
  min-width: 0;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.68);
}

.session-copy {
  display: grid;
  gap: 6px;
  padding: 13px 14px;
  border-left: 4px solid var(--gold);
}

.session-copy.hot {
  border-left-color: #c45335;
}

.session-copy.cool {
  border-left-color: #2f6190;
}

.session-copy span,
.session-copy small,
.session-chip-grid i,
.session-chip-grid small {
  overflow: hidden;
  color: var(--muted);
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.session-copy span,
.session-chip-grid i {
  font-size: 10px;
  font-weight: 840;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.session-copy strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.session-copy small,
.session-chip-grid small {
  font-size: 10px;
}

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

.session-chip-grid span,
.session-chip-grid button {
  display: grid;
  gap: 5px;
  padding: 11px 10px;
  color: var(--ink);
  text-align: left;
  font: inherit;
  font-variant-numeric: tabular-nums;
}

.session-chip-grid button {
  cursor: pointer;
}

.session-chip-grid button:hover {
  border-color: var(--gold);
  background: rgba(154, 106, 18, 0.1);
}

.session-chip-grid b {
  overflow: hidden;
  color: var(--ink);
  font-size: 15px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.session-chip-grid .hot {
  border-color: rgba(196, 83, 53, 0.34);
  box-shadow: inset 3px 0 0 #c45335;
}

.session-chip-grid .cool {
  border-color: rgba(47, 97, 144, 0.34);
  box-shadow: inset 3px 0 0 #2f6190;
}

.workbench {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 392px;
  gap: 20px;
  align-items: start;
  padding-top: 22px;
}

.report-stage,
.side-rail,
.panel {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 18px 54px rgba(17, 17, 17, 0.055);
}

.report-stage {
  padding: 16px;
}

.side-rail {
  position: sticky;
  top: 92px;
  max-height: calc(100vh - 112px);
  overflow: auto;
  scrollbar-width: thin;
  padding: 16px;
}

.section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.section-head.compact {
  margin-bottom: 12px;
}

.search-wrap {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  padding: 10px 11px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}

.search-wrap span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 760;
}

.search-wrap input {
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--ink);
}

.digest {
  display: grid;
  gap: 8px;
  margin-bottom: 14px;
}

.digest div {
  padding: 11px 12px;
  border-left: 2px solid var(--gold);
  background: var(--surface-soft);
  color: #2b2924;
  font-size: 13px;
}

.mini-table {
  max-width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow-x: auto;
  overflow-y: hidden;
  background: #fff;
}

.mini-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 12px;
  border-bottom: 1px solid var(--line);
}

.mini-head > div:first-child {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.mini-head b {
  font-size: 13px;
}

.mini-head span {
  color: var(--muted);
  font-size: 12px;
}

.stock-sort-tabs {
  display: inline-flex;
  flex: 0 0 auto;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: rgba(247, 245, 238, 0.9);
}

.stock-sort-tabs button {
  min-width: 38px;
  min-height: 30px;
  padding: 0 8px;
  border: 0;
  border-left: 1px solid var(--line);
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font-size: 11px;
  font-weight: 820;
}

.stock-sort-tabs button:first-child {
  border-left: 0;
}

.stock-sort-tabs button:hover,
.stock-sort-tabs button.active {
  background: var(--ink);
  color: #fff;
}

.stock-sort-read {
  display: grid;
  gap: 8px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(135deg, rgba(154, 106, 18, 0.08), transparent 64%),
    rgba(247, 245, 238, 0.72);
}

.stock-sort-lead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 10px;
  width: 100%;
  padding: 10px 11px;
  border: 1px solid rgba(154, 106, 18, 0.34);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.82);
  text-align: left;
  cursor: pointer;
}

.stock-sort-lead span,
.stock-sort-lead small,
.stock-sort-runners small,
.stock-sort-empty span {
  color: var(--muted);
  font-size: 11px;
}

.stock-sort-lead strong {
  min-width: 0;
  font-size: 18px;
  line-height: 1.05;
}

.stock-sort-lead b {
  grid-row: 1 / span 2;
  grid-column: 2;
  align-self: center;
  font-size: 15px;
  white-space: nowrap;
}

.stock-sort-lead small {
  grid-column: 1 / -1;
}

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

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

.stock-sort-runners button {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 8px 7px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.74);
  text-align: left;
  cursor: pointer;
}

.stock-sort-compass button {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 7px 6px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.66);
  text-align: left;
  cursor: pointer;
}

.stock-sort-runners span,
.stock-sort-runners b,
.stock-sort-runners small,
.stock-sort-compass i,
.stock-sort-compass span,
.stock-sort-compass b,
.stock-sort-compass small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.stock-sort-compass i {
  color: var(--muted);
  font-size: 9px;
  font-style: normal;
  font-weight: 820;
}

.stock-sort-runners span {
  font-size: 11px;
  font-weight: 840;
}

.stock-sort-compass span {
  font-size: 11px;
  font-weight: 860;
}

.stock-sort-runners b {
  font-size: 12px;
}

.stock-sort-compass b {
  font-size: 12px;
}

.stock-sort-compass small {
  color: var(--muted);
  font-size: 9px;
}

.stock-sort-lead:hover,
.stock-sort-runners button:hover,
.stock-sort-compass button:hover {
  border-color: var(--ink);
}

.stock-coverage-strip {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.54);
}

.stock-coverage-strip.hot {
  border-color: rgba(196, 83, 53, 0.28);
}

.stock-coverage-strip.cool {
  border-color: rgba(47, 97, 144, 0.28);
}

.stock-bias-strip {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.5);
}

.stock-bias-strip.hot {
  border-color: rgba(196, 83, 53, 0.28);
}

.stock-bias-strip.cool {
  border-color: rgba(47, 97, 144, 0.28);
}

.stock-rank-split {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.52);
}

.stock-rank-split.hot {
  border-color: rgba(196, 83, 53, 0.28);
}

.stock-rank-split.cool {
  border-color: rgba(47, 97, 144, 0.28);
}

.stock-intensity-strip {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.52);
}

.stock-intensity-strip.hot {
  border-color: rgba(196, 83, 53, 0.28);
}

.stock-intensity-strip.cool {
  border-color: rgba(47, 97, 144, 0.28);
}

.stock-expiry-crowding {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.52);
}

.stock-expiry-crowding.hot {
  border-color: rgba(196, 83, 53, 0.28);
}

.stock-expiry-crowding.cool {
  border-color: rgba(47, 97, 144, 0.28);
}

.stock-coverage-lead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 8px;
  min-width: 0;
}

.stock-bias-lead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 8px;
  min-width: 0;
}

.stock-rank-split-lead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 8px;
  min-width: 0;
}

.stock-intensity-lead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 8px;
  min-width: 0;
}

.stock-expiry-lead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 8px;
  min-width: 0;
}

.stock-coverage-lead span,
.stock-coverage-lead small,
.stock-coverage-cells i,
.stock-coverage-cells small,
.stock-expiry-lead span,
.stock-expiry-lead small,
.stock-expiry-cells i,
.stock-expiry-cells small,
.stock-rank-split-lead span,
.stock-rank-split-lead small,
.stock-rank-split-cells i,
.stock-rank-split-cells small,
.stock-intensity-lead span,
.stock-intensity-lead small,
.stock-intensity-cells i,
.stock-intensity-cells small,
.stock-bias-lead span,
.stock-bias-lead small,
.stock-bias-cells i,
.stock-bias-cells small,
.stock-bias-extremes i,
.stock-bias-extremes small {
  overflow: hidden;
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.stock-coverage-lead span,
.stock-coverage-cells i,
.stock-expiry-lead span,
.stock-expiry-cells i,
.stock-rank-split-lead span,
.stock-rank-split-cells i,
.stock-intensity-lead span,
.stock-intensity-cells i,
.stock-bias-lead span,
.stock-bias-cells i,
.stock-bias-extremes i {
  font-size: 9px;
  font-style: normal;
  font-weight: 840;
  text-transform: uppercase;
}

.stock-coverage-lead b,
.stock-expiry-lead b,
.stock-rank-split-lead b,
.stock-intensity-lead b,
.stock-bias-lead b {
  grid-row: 1 / span 2;
  grid-column: 2;
  align-self: center;
  color: var(--ink);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.stock-coverage-lead small,
.stock-expiry-lead small,
.stock-rank-split-lead small,
.stock-intensity-lead small,
.stock-bias-lead small {
  font-size: 9px;
  line-height: 1.25;
  white-space: normal;
}

.stock-coverage-cells,
.stock-expiry-cells,
.stock-rank-split-cells,
.stock-intensity-cells,
.stock-bias-cells,
.stock-bias-extremes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
}

.stock-coverage-cells {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.stock-expiry-cells {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.stock-intensity-cells {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

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

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

.stock-coverage-cells span,
.stock-expiry-cells span,
.stock-rank-split-cells span,
.stock-intensity-cells span,
.stock-bias-cells span,
.stock-bias-extremes button {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 6px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: rgba(247, 245, 238, 0.72);
  font-variant-numeric: tabular-nums;
}

.stock-bias-extremes button {
  cursor: pointer;
  text-align: left;
}

.stock-coverage-cells .hot,
.stock-expiry-cells .hot,
.stock-rank-split-cells .hot,
.stock-intensity-cells .hot,
.stock-bias-cells .hot {
  box-shadow: inset 3px 0 0 #c45335;
}

.stock-coverage-cells .cool,
.stock-expiry-cells .cool,
.stock-rank-split-cells .cool,
.stock-intensity-cells .cool,
.stock-bias-cells .cool {
  box-shadow: inset 3px 0 0 #2f6190;
}

.stock-bias-extremes button:hover {
  border-color: var(--ink);
}

.stock-coverage-cells b,
.stock-expiry-cells b,
.stock-rank-split-cells b,
.stock-intensity-cells b,
.stock-bias-cells b,
.stock-bias-extremes b {
  overflow: hidden;
  color: var(--ink);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.stock-coverage-cells small,
.stock-expiry-cells small,
.stock-rank-split-cells small,
.stock-intensity-cells small,
.stock-bias-cells small,
.stock-bias-extremes small {
  display: none;
}

.stock-sort-empty {
  display: grid;
  gap: 3px;
  padding: 10px 11px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.74);
}

.side-intel {
  display: grid;
  gap: 18px;
  margin-top: 18px;
}

.side-module {
  display: grid;
  gap: 11px;
  padding-top: 17px;
  border-top: 1px solid var(--line-strong);
}

.side-module-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.side-module-head b {
  font-size: 13px;
  letter-spacing: 0.01em;
}

.side-module-head span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 820;
  text-transform: uppercase;
}

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

.side-flow-grid span {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 10px;
  border-left: 3px solid var(--line-strong);
  background: rgba(246, 242, 233, 0.72);
  font-variant-numeric: tabular-nums;
}

.side-flow-grid span.hot {
  border-left-color: #c45335;
}

.side-flow-grid span.cool {
  border-left-color: #2f6190;
}

.side-flow-grid i,
.side-flow-grid small,
.side-module p,
.side-leader-list span,
.side-leader-list small {
  overflow: hidden;
  color: var(--muted);
  font-style: normal;
  text-overflow: ellipsis;
}

.side-flow-grid i,
.side-flow-grid small,
.side-leader-list span,
.side-leader-list small {
  white-space: nowrap;
}

.side-flow-grid i {
  font-size: 10px;
  font-weight: 820;
}

.side-flow-grid b {
  overflow: hidden;
  color: var(--ink);
  font-size: 15px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.side-flow-grid small {
  font-size: 10px;
}

.side-bucket-strip {
  display: grid;
  grid-template-columns: repeat(13, minmax(0, 1fr));
  align-items: end;
  gap: 4px;
  min-height: 62px;
  padding: 9px 8px 6px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.side-bucket-strip span {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 52px;
  min-width: 0;
}

.side-bucket-strip span::before {
  width: 100%;
  height: var(--h);
  min-height: 9px;
  content: "";
  background: #b99b5f;
}

.side-bucket-strip span.hot::before {
  background: #c45335;
}

.side-bucket-strip span.cool::before {
  background: #2f6190;
}

.side-bucket-strip i {
  position: absolute;
  bottom: -2px;
  color: rgba(17, 17, 17, 0.64);
  font-size: 8px;
  font-style: normal;
  font-weight: 760;
}

.side-module p {
  margin: 0;
  font-size: 12px;
  line-height: 1.58;
}

.side-leader-list {
  display: grid;
  gap: 7px;
}

.side-leader-list button {
  display: grid;
  grid-template-columns: 42px 62px minmax(0, 1fr);
  gap: 3px 9px;
  align-items: center;
  width: 100%;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.58);
  color: var(--ink);
  cursor: pointer;
  text-align: left;
  font-variant-numeric: tabular-nums;
}

.side-leader-list button:hover,
.side-leader-list button.symbol-active {
  border-color: var(--gold);
  background: rgba(154, 106, 18, 0.1);
}

.side-leader-list button.hot {
  box-shadow: inset 3px 0 0 #c45335;
}

.side-leader-list button.cool {
  box-shadow: inset 3px 0 0 #2f6190;
}

.side-leader-list b {
  color: var(--ink);
  font-size: 15px;
}

.side-leader-list i {
  overflow: hidden;
  color: var(--ink-soft);
  font-size: 12px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.side-leader-list small {
  grid-column: 3;
  font-size: 10px;
}

.side-lane-stack {
  display: grid;
  gap: 8px;
}

.side-lane-stack span {
  position: relative;
  display: grid;
  grid-template-columns: 48px 68px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  min-width: 0;
  padding: 9px 10px 10px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.48);
  overflow: hidden;
  font-variant-numeric: tabular-nums;
}

.side-lane-stack i,
.side-lane-stack small,
.side-extreme-list span {
  overflow: hidden;
  color: var(--muted);
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.side-lane-stack i {
  font-size: 11px;
  font-weight: 820;
}

.side-lane-stack b {
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.side-lane-stack small {
  font-size: 11px;
}

.side-lane-stack em {
  position: absolute;
  left: 0;
  height: 3px;
}

.side-lane-stack .volume-share {
  bottom: 0;
  width: var(--w);
  background: #b99b5f;
}

.side-lane-stack .premium-share {
  bottom: 4px;
  width: var(--p);
  background: rgba(154, 106, 18, 0.38);
}

.side-lane-stack .hot .volume-share {
  background: #c45335;
}

.side-lane-stack .cool .volume-share {
  background: #2f6190;
}

.side-concentration-read {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--line);
  background:
    linear-gradient(135deg, rgba(154, 106, 18, 0.09), transparent 64%),
    rgba(255, 255, 255, 0.54);
  font-variant-numeric: tabular-nums;
}

.side-concentration-read.hot {
  border-color: rgba(196, 83, 53, 0.34);
  box-shadow: inset 3px 0 0 #c45335;
}

.side-concentration-read.cool {
  border-color: rgba(47, 97, 144, 0.34);
  box-shadow: inset 3px 0 0 #2f6190;
}

.side-concentration-head {
  display: grid;
  grid-template-columns: minmax(64px, auto) minmax(0, 1fr);
  gap: 3px 9px;
  align-items: baseline;
}

.side-concentration-head span,
.side-concentration-head small,
.side-concentration-rows i,
.side-concentration-rows small {
  overflow: hidden;
  color: var(--muted);
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.side-concentration-head span {
  font-size: 10px;
  font-weight: 840;
  text-transform: uppercase;
}

.side-concentration-head b {
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.side-concentration-head small {
  grid-column: 1 / -1;
  font-size: 10px;
}

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

.side-concentration-rows span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 7px 6px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.5);
}

.side-concentration-rows span.hot {
  border-color: rgba(196, 83, 53, 0.28);
}

.side-concentration-rows span.cool {
  border-color: rgba(47, 97, 144, 0.28);
}

.side-concentration-rows i,
.side-concentration-rows small {
  font-size: 9px;
}

.side-concentration-rows b {
  overflow: hidden;
  color: var(--ink);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.side-extreme-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.side-extreme-list button {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 9px 8px;
  border: 1px solid var(--line);
  background: rgba(246, 242, 233, 0.68);
  color: var(--ink);
  cursor: pointer;
  text-align: left;
  font-variant-numeric: tabular-nums;
}

.side-extreme-list button:hover,
.side-extreme-list button.symbol-active {
  border-color: var(--gold);
  background: rgba(154, 106, 18, 0.1);
}

.side-extreme-list b,
.side-extreme-list i {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.side-extreme-list b {
  color: var(--ink);
  font-size: 14px;
}

.side-extreme-list i {
  color: var(--ink-soft);
  font-size: 11px;
  font-style: normal;
}

.side-extreme-list span {
  font-size: 10px;
  font-weight: 820;
}

.analysis-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
  gap: 20px;
  margin-top: 20px;
}

.panel {
  padding: 16px;
  min-width: 0;
}

.bucket-bars {
  display: grid;
  grid-template-columns: repeat(13, minmax(46px, 1fr));
  align-items: stretch;
  gap: 8px;
  min-height: 222px;
  overflow-x: auto;
}

.bar {
  display: grid;
  grid-template-rows: 1fr auto auto;
  gap: 7px;
  min-width: 46px;
  min-height: 206px;
  height: 100%;
  text-align: center;
}

.bar-track {
  position: relative;
  align-self: stretch;
  min-height: 152px;
  height: auto;
  border-bottom: 1px solid var(--line-strong);
  background: linear-gradient(180deg, transparent, rgba(234, 217, 174, 0.35));
}

.bar-fill {
  position: absolute;
  left: 28%;
  right: 28%;
  bottom: 0;
  min-height: 2px;
  background: var(--gold);
}

.bar strong,
.bar span {
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

.bar span {
  color: var(--muted);
}

.heatmap {
  max-width: 100%;
  overflow-x: auto;
}

.heatmap-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}

.heatmap-summary span {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.6);
  font-variant-numeric: tabular-nums;
}

.heatmap-summary i,
.heatmap-summary small {
  overflow: hidden;
  color: var(--muted);
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.heatmap-summary i {
  font-size: 11px;
  font-weight: 820;
}

.heatmap-summary b {
  overflow: hidden;
  color: var(--ink);
  font-size: 16px;
  line-height: 1;
  font-weight: 820;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.heatmap-summary small {
  font-size: 10px;
}

.heatmap-summary .hot {
  border-color: rgba(196, 83, 53, 0.34);
  box-shadow: inset 3px 0 0 #c45335;
}

.heatmap-rhythm {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: -4px 0 12px;
}

.heat-rhythm-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px 10px;
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.56);
  color: var(--ink);
  cursor: pointer;
  text-align: left;
  font-variant-numeric: tabular-nums;
}

.heat-rhythm-card:hover {
  background: rgba(255, 255, 255, 0.78);
  border-color: var(--ink);
}

.heat-rhythm-card span,
.heat-rhythm-card small {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.heat-rhythm-card strong {
  overflow: hidden;
  font-size: 15px;
  font-weight: 860;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.heat-rhythm-card b {
  grid-row: span 2;
  align-self: center;
  color: var(--ink);
  font-size: 16px;
  line-height: 1;
}

.heat-rhythm-card.hot {
  border-color: rgba(196, 83, 53, 0.34);
  box-shadow: inset 3px 0 0 #c45335;
}

.heat-rhythm-card.cool {
  border-color: rgba(47, 97, 144, 0.34);
  box-shadow: inset 3px 0 0 #2f6190;
}

.heatmap-baton {
  display: grid;
  grid-template-columns: 0.72fr 1.55fr;
  gap: 9px;
  margin: -4px 0 13px;
  font-variant-numeric: tabular-nums;
}

.heat-baton-head,
.heat-baton-row {
  min-width: 0;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.58);
}

.heat-baton-head {
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 10px 11px;
  border-left: 4px solid var(--gold);
}

.heat-baton-head.hot {
  border-left-color: #c45335;
}

.heat-baton-head.cool {
  border-left-color: #2f6190;
}

.heat-baton-head span,
.heat-baton-head small,
.heat-baton-row small {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-weight: 820;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.heat-baton-head strong {
  overflow: hidden;
  color: var(--ink);
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 23px;
  line-height: 1;
  font-weight: 400;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.heat-baton-head small {
  line-height: 1.35;
  white-space: normal;
}

.heat-baton-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.heat-baton-row {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) 72px;
  gap: 4px 8px;
  align-items: center;
  padding: 8px 9px;
  color: var(--ink);
  cursor: pointer;
  text-align: left;
}

.heat-baton-row:hover {
  border-color: var(--ink);
  background: rgba(255, 255, 255, 0.78);
}

.heat-baton-row.hot {
  box-shadow: inset 3px 0 0 #c45335;
}

.heat-baton-row.cool {
  box-shadow: inset 3px 0 0 #2f6190;
}

.heat-baton-row strong,
.heat-baton-row b {
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  line-height: 1;
  font-weight: 860;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.heat-baton-row b {
  text-align: right;
}

.heat-baton-row small {
  grid-column: 1 / -1;
  font-size: 9px;
}

.heat-baton-track {
  display: flex;
  min-width: 0;
  height: 6px;
  overflow: hidden;
  background: rgba(201, 194, 178, 0.24);
}

.heat-baton-track i {
  display: block;
  min-width: 3px;
  height: 100%;
}

.heat-baton-track .open {
  background: rgba(196, 83, 53, 0.72);
}

.heat-baton-track .mid {
  background: rgba(154, 106, 18, 0.68);
}

.heat-baton-track .close {
  background: rgba(47, 97, 144, 0.72);
}

.heat-baton-track .rest {
  background: rgba(20, 131, 85, 0.58);
}

.heat-table {
  display: grid;
  grid-template-columns: 74px repeat(13, minmax(60px, 1fr));
  min-width: 890px;
  border: 1px solid var(--line);
  overflow: hidden;
}

.heat-cell {
  min-height: 33px;
  padding: 7px 6px;
  border-right: 1px solid rgba(255, 255, 255, 0.72);
  border-bottom: 1px solid rgba(255, 255, 255, 0.72);
  font-size: 11px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.heat-cell.head {
  background: #f0ede4;
  color: #59564f;
  font-weight: 780;
}

.heat-cell.symbol {
  text-align: left;
  background: #fff;
  color: var(--ink);
  font-weight: 800;
}

.heat-cell.symbol-active {
  box-shadow: inset 0 0 0 2px var(--ink);
}

tr.symbol-active td {
  background: rgba(154, 106, 18, 0.1);
}

.mini-table tr.symbol-active td:first-child,
.mini-table tr.symbol-active td:nth-child(2) {
  box-shadow: inset 3px 0 0 var(--gold);
}

table {
  width: 100%;
  border-collapse: collapse;
  font-variant-numeric: tabular-nums;
}

th,
td {
  padding: 8px 9px;
  border-bottom: 1px solid var(--line);
  font-size: 12px;
  text-align: left;
  white-space: nowrap;
}

th {
  background: var(--surface-soft);
  color: #5f5b51;
  font-size: 11px;
  font-weight: 780;
}

td.right,
th.right {
  text-align: right;
}

td.symbol {
  font-weight: 840;
}

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

.kzg-report {
  width: min(100%, 980px);
  margin: 0 auto;
  border: 1px solid var(--line-strong);
  background: #fff;
  color: #171717;
  overflow: hidden;
}

.report-top {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 16px;
  padding: 18px 22px 14px;
  border-bottom: 1px solid #151515;
}

.report-mark {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  background: #050505;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-weight: 700;
}

.report-title h3 {
  margin: 0;
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 27px;
  line-height: 0.98;
  text-transform: uppercase;
}

.report-title p,
.report-meta p {
  margin: 4px 0 0;
  color: var(--gold);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.report-meta {
  text-align: right;
}

.report-meta b {
  display: block;
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 20px;
  font-weight: 400;
}

.report-body {
  padding: 16px 18px 14px;
}

.report-grid {
  display: grid;
  grid-template-columns: 1.05fr 1.35fr 1fr;
  gap: 12px;
}

.report-block {
  border: 1px solid #e4dfd4;
  border-radius: 6px;
  background: #fff;
  overflow: hidden;
}

.report-block.wide {
  grid-column: 1 / -1;
}

.report-block-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 11px;
  border-bottom: 1px solid #e4dfd4;
  background: #faf8f1;
}

.report-block-title b {
  font-size: 13px;
}

.report-block-title span {
  color: var(--muted);
  font-size: 10px;
}

.report-summary {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 1px solid #e4dfd4;
}

.report-summary div {
  min-height: 76px;
  padding: 11px 12px;
  border-right: 1px solid #e4dfd4;
}

.report-summary div:last-child {
  border-right: 0;
}

.report-summary span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 760;
}

.report-summary strong {
  display: block;
  margin-top: 7px;
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 25px;
  line-height: 1;
  font-weight: 400;
}

.report-copy {
  padding: 11px 12px 12px;
  color: #4a4841;
  font-size: 12px;
  text-align: justify;
}

.report-table {
  width: 100%;
  border-collapse: collapse;
}

.report-table th,
.report-table td {
  padding: 7px 8px;
  border-bottom: 1px solid #eee9dc;
  font-size: 11px;
}

.report-table tr:last-child td {
  border-bottom: 0;
}

.report-table th {
  background: transparent;
  color: #6f695d;
}

.report-bars {
  display: grid;
  grid-template-columns: repeat(13, minmax(18px, 1fr));
  align-items: end;
  gap: 3px;
  height: 118px;
  padding: 11px 10px 2px;
}

.report-bars div {
  position: relative;
  height: 100%;
  border-bottom: 1px solid #dfd8c8;
}

.report-bars i {
  position: absolute;
  left: 22%;
  right: 22%;
  bottom: 0;
  min-height: 2px;
  background: var(--gold);
}

.report-bars span {
  position: absolute;
  left: 50%;
  bottom: -16px;
  transform: translateX(-50%);
  color: var(--muted);
  font-size: 8px;
  white-space: nowrap;
}

.report-heat {
  display: grid;
  grid-template-columns: 54px repeat(13, minmax(24px, 1fr));
  padding: 10px;
}

.report-heat span {
  min-height: 24px;
  padding: 5px 4px;
  border-right: 1px solid rgba(255, 255, 255, 0.75);
  border-bottom: 1px solid rgba(255, 255, 255, 0.75);
  font-size: 9px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.report-heat .head {
  background: #f0ede4;
  color: #5f5b51;
  font-weight: 780;
}

.report-heat .sym {
  background: #fff;
  color: var(--ink);
  font-weight: 780;
  text-align: left;
}

.report-foot {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 16px;
  padding: 13px 22px 16px;
  border-top: 1px solid #e4dfd4;
  color: var(--muted);
  font-size: 10px;
}

.report-foot b {
  display: block;
  margin-bottom: 4px;
  color: #111;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  font-weight: 400;
}

@media (max-width: 1280px) {
  .metric-rail {
    grid-template-columns: repeat(4, 1fr);
  }

  .metric:nth-child(4n) {
    border-right: 0;
  }

  .metric:nth-child(n + 5) {
    border-top: 1px solid var(--line-strong);
  }

  .workbench,
  .analysis-grid {
    grid-template-columns: 1fr;
  }

  .side-rail {
    position: static;
  }
}

@media (max-width: 820px) {
  .topbar {
    grid-template-columns: 1fr;
    align-items: start;
    padding: 12px 14px;
  }

  .toolbar {
    justify-content: stretch;
  }

  .button {
    flex: 1 1 auto;
  }

  main {
    padding: 0 12px 34px;
  }

  .timeboard {
    grid-template-columns: 36px minmax(0, 1fr) 36px;
    gap: 10px;
  }

  .timeboard-copy {
    grid-column: 1 / -1;
  }

  .nav-day {
    width: 36px;
    height: 40px;
    font-size: 28px;
  }

  .metric-rail {
    grid-template-columns: repeat(2, 1fr);
  }

  .metric,
  .metric:nth-child(4n) {
    min-height: 96px;
    border-right: 1px solid var(--line-strong);
  }

  .metric:nth-child(2n) {
    border-right: 0;
  }

  .metric:nth-child(n + 3) {
    border-top: 1px solid var(--line-strong);
  }

  .report-top,
  .report-grid,
  .report-foot {
    grid-template-columns: 1fr;
  }

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

  .report-summary {
    grid-template-columns: repeat(2, 1fr);
  }

  .report-summary div:nth-child(2n) {
    border-right: 0;
  }

  .report-summary div:nth-child(n + 3) {
    border-top: 1px solid #e4dfd4;
  }

  .timeline-legend {
    flex-wrap: wrap;
    gap: 10px 18px;
  }

  .day-bars {
    gap: 0;
    padding: 0 6px;
  }

  .timeline-rule {
    margin-left: 6px;
    margin-right: 6px;
  }

  .report-heat {
    grid-template-columns: 42px repeat(13, minmax(13px, 1fr));
    padding: 8px 6px;
  }

  .report-heat span {
    min-height: 20px;
    padding: 4px 1px;
    font-size: 7px;
  }
}

@media (max-width: 520px) {
  .brand h1 {
    font-size: 24px;
  }

  .brand p {
    letter-spacing: 0.1em;
  }

  .dateplate b {
    font-size: 18px;
  }

  .toolbar {
    display: grid;
    grid-template-columns: 1fr;
  }

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

  .metric,
  .metric:nth-child(2n),
  .metric:nth-child(4n) {
    border-right: 0;
    border-top: 1px solid var(--line-strong);
  }

  .metric:first-child {
    border-top: 0;
  }

  .report-stage,
  .side-rail,
  .panel {
    padding: 12px;
  }

  #stockTable th:nth-child(5),
  #stockTable td:nth-child(5),
  #stockTable th:nth-child(6),
  #stockTable td:nth-child(6) {
    display: none;
  }

  #stockTable th,
  #stockTable td {
    padding: 7px 6px;
    font-size: 11px;
  }

  .heat-table {
    grid-template-columns: 42px repeat(13, minmax(0, 1fr));
    min-width: 100%;
  }

  .heatmap-summary {
    grid-template-columns: 1fr;
  }

  .heat-cell {
    min-height: 25px;
    padding: 6px 1px;
    overflow: hidden;
    font-size: 8px;
    text-overflow: clip;
  }

  .heat-cell.symbol {
    font-size: 9px;
  }

  .bucket-bars {
    grid-template-columns: repeat(13, minmax(0, 1fr));
    gap: 3px;
    overflow-x: hidden;
  }

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

  .bar {
    min-width: 0;
  }

  .momentum-row {
    grid-template-columns: 48px minmax(0, 1fr) 68px 54px;
    gap: 5px;
    padding: 6px 7px;
  }

  .mom-value,
  .mom-delta {
    font-size: 11px;
  }

  .report-title h3 {
    font-size: 22px;
  }
}

html,
body,
.app-shell,
.kzg-report {
  -webkit-user-select: none;
  user-select: none;
}

input {
  -webkit-user-select: text;
  user-select: text;
}

img,
canvas,
.kzg-report,
.kzg-sheet {
  -webkit-user-drag: none;
}

body[data-theme="dark"] {
  --paper: #151412;
  --surface: #1f1d1a;
  --surface-soft: #27231d;
  --ink: #f5f0e6;
  --ink-soft: #ddd4c3;
  --muted: #a79e8e;
  --line: #393329;
  --line-strong: #514836;
  --gold: #d8a84b;
  --gold-soft: #4a3920;
  --green: #6ec59c;
  --red: #e0796e;
  --blue: #7cafdf;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px) 0 0 / 72px 72px,
    linear-gradient(180deg, rgba(216, 168, 75, 0.06), transparent 300px),
    var(--paper);
}

body[data-theme="dark"] .topbar {
  background: rgba(21, 20, 18, 0.94);
  border-color: #6d604b;
}

body[data-theme="dark"] .button,
body[data-theme="dark"] .nav-day,
body[data-theme="dark"] .search-wrap,
body[data-theme="dark"] .mini-table,
body[data-theme="dark"] .report-stage,
body[data-theme="dark"] .side-rail,
body[data-theme="dark"] .panel {
  background: rgba(31, 29, 26, 0.86);
}

body[data-theme="dark"] .stock-sort-read {
  background:
    linear-gradient(135deg, rgba(216, 168, 75, 0.12), transparent 64%),
    rgba(255, 255, 255, 0.035);
}

body[data-theme="dark"] .stock-sort-lead,
body[data-theme="dark"] .stock-sort-runners button,
body[data-theme="dark"] .stock-sort-compass button,
body[data-theme="dark"] .stock-coverage-strip,
body[data-theme="dark"] .stock-coverage-cells span,
body[data-theme="dark"] .stock-expiry-crowding,
body[data-theme="dark"] .stock-expiry-cells span,
body[data-theme="dark"] .stock-rank-split,
body[data-theme="dark"] .stock-rank-split-cells span,
body[data-theme="dark"] .stock-intensity-strip,
body[data-theme="dark"] .stock-intensity-cells span,
body[data-theme="dark"] .stock-bias-strip,
body[data-theme="dark"] .stock-bias-cells span,
body[data-theme="dark"] .stock-bias-extremes button,
body[data-theme="dark"] .stock-sort-empty,
body[data-theme="dark"] .side-concentration-read,
body[data-theme="dark"] .side-concentration-rows span {
  background: rgba(255, 255, 255, 0.055);
}

body[data-theme="dark"] .button.primary {
  background: #f5f0e6;
  color: #111;
}

.toolbar {
  flex-wrap: wrap;
}

.button.icon-toggle {
  padding-inline: 16px;
}

.analysis-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) minmax(360px, 0.85fr);
}

.trend-panel {
  min-height: 296px;
}

.trend-chart {
  min-height: 224px;
}

.trend-summary {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 8px;
  padding: 12px 14px;
  border-left: 3px solid var(--blue);
  background: rgba(47, 97, 144, 0.09);
}

.trend-summary.trend-hot {
  border-color: #c45335;
  background: rgba(196, 83, 53, 0.1);
}

.trend-summary strong {
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 30px;
  font-weight: 400;
}

.trend-summary span {
  color: var(--muted);
  font-size: 12px;
}

.trend-chart svg {
  display: block;
  width: 100%;
  height: auto;
  min-height: 190px;
}

.trend-chart text {
  fill: var(--muted);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}

.trend-marker {
  cursor: pointer;
}

.trend-marker circle {
  fill: var(--surface);
  stroke: var(--ink);
  stroke-width: 2;
}

.trend-marker text {
  fill: var(--ink);
  font-size: 11px;
  font-weight: 820;
}

.trend-marker.high circle {
  stroke: #c45335;
}

.trend-marker.low circle {
  stroke: #2f6190;
}

.trend-marker.latest circle {
  stroke: #148355;
}

.trend-marker:hover circle {
  fill: var(--ink);
  stroke: var(--ink);
}

.trend-marker:hover text {
  fill: var(--ink);
}

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

.flow-part {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4px 10px;
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.62);
  font-variant-numeric: tabular-nums;
}

.flow-part i {
  grid-column: 1 / -1;
  display: block;
  height: 5px;
  min-width: 8px;
  border-radius: 999px;
  background: var(--c);
}

.flow-part span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.flow-part b {
  font-size: 12px;
  text-align: right;
}

.kzg-report {
  position: relative;
  width: min(100%, 780px);
  border: 0;
  background: transparent;
  overflow: visible;
  --sheet-scale: 1;
}

.report-stage .kzg-report {
  max-height: 1240px;
  overflow: hidden;
}

.report-stage .kzg-report::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 94px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(251, 250, 246, 0.96));
  content: "";
  pointer-events: none;
}

.kzg-sheet {
  width: 760px;
  max-width: none;
  margin: 0 auto;
  padding: 26px 28px 28px;
  background: #fff;
  color: #34383c;
  font-family: "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", sans-serif;
  line-height: 1.18;
  box-shadow: 0 20px 60px rgba(20, 24, 28, 0.12);
}

.kzg-report.is-scaled {
  overflow: hidden;
}

.kzg-report.is-scaled .kzg-sheet {
  margin: 0;
  transform: scale(var(--sheet-scale));
  transform-origin: top left;
}

.sheet-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
  padding-bottom: 10px;
  border-bottom: 1px solid #d8d8d8;
}

.sheet-head b {
  display: block;
  color: #1f2428;
  font-size: 18px;
  font-weight: 800;
}

.sheet-head span {
  display: block;
  margin-top: 5px;
  color: #8b8f93;
  font-size: 12px;
}

.sheet-head strong {
  display: grid;
  place-items: center;
  width: 44px;
  height: 30px;
  border: 1px solid #d4d7da;
  color: #7c8288;
  font-size: 13px;
  letter-spacing: 0.08em;
}

.sheet-section {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid #d7d7d7;
}

.sheet-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.sheet-title b {
  color: #25292d;
  font-size: 18px;
  font-weight: 800;
}

.sheet-title span {
  color: #8b8f93;
  font-size: 12px;
  white-space: nowrap;
}

.sheet-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}

.sheet-table th {
  padding: 7px 9px;
  border-bottom: 1px solid #d4d8dc;
  background: #f1f1f1;
  color: #252a2e;
  font-size: 16px;
  font-weight: 800;
}

.sheet-table td {
  padding: 6px 9px;
  border-bottom: 1px solid #e6e8ea;
  background: #f4f4f4;
  color: #33383d;
  font-size: 16px;
  font-weight: 500;
}

.sheet-table th:nth-child(2),
.sheet-table td:nth-child(2) {
  background: #fff;
  font-weight: 800;
}

.sheet-table .num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.sheet-table .muted {
  color: #4c5359;
  font-family: "SF Mono", Menlo, Consolas, monospace;
  font-size: 15px;
}

.sheet-bars {
  display: grid;
  grid-template-columns: repeat(13, 1fr);
  align-items: end;
  gap: 9px;
  height: 116px;
  margin-top: 6px;
  padding: 0 8px;
}

.sheet-bar {
  position: relative;
  display: grid;
  grid-template-rows: 20px 1fr 18px;
  align-items: end;
  height: 116px;
  text-align: center;
}

.sheet-bar span {
  color: #4c6f9a;
  font-size: 13px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

.sheet-bar i {
  display: block;
  width: 100%;
  min-height: 3px;
  background: #315d8a;
}

.sheet-bar em {
  color: #8c8f92;
  font-size: 12px;
  font-style: normal;
  font-variant-numeric: tabular-nums;
}

.sheet-legend {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 5px;
  color: #6e7378;
  font-size: 12px;
}

.sheet-legend i {
  width: 9px;
  height: 9px;
  background: #315d8a;
}

.sheet-heat {
  display: grid;
  grid-template-columns: 70px repeat(13, 1fr);
}

.sheet-heat span {
  min-height: 25px;
  padding: 5px 5px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  background: #eef3f7;
  color: #30363b;
  font-size: 14px;
  line-height: 1.05;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.sheet-heat .head {
  background: #f1f1f1;
  color: #353a3f;
  font-weight: 800;
}

.sheet-heat .sym {
  background: #fff;
  font-weight: 800;
  text-align: left;
}

.sheet-heat .empty-cell {
  color: #9aa0a5;
}

.sheet-foot {
  margin-top: 18px;
  padding-top: 9px;
  border-top: 1px solid #d7d7d7;
  color: #8b8f93;
  font-size: 12px;
}

.sheet-foot b,
.sheet-foot span {
  display: block;
}

.sheet-foot b {
  margin-top: 6px;
  text-align: right;
  font-weight: 600;
}

.export-clone {
  position: fixed;
  left: -20000px;
  top: 0;
  z-index: -1;
  width: 760px !important;
  max-width: none !important;
  background: #fff;
}

.export-clone .kzg-sheet {
  width: 760px;
  max-width: none;
  box-shadow: none;
}

.export-clone .kzg-sheet::after {
  display: none;
}

@media (max-width: 1280px) {
  .analysis-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {
  .toolbar {
    justify-content: stretch;
  }
}

main {
  max-width: 1720px;
}

.timeboard {
  grid-template-columns: 210px 46px minmax(0, 1fr) 46px;
  padding-top: 22px;
  padding-bottom: 20px;
}

.timeboard-copy h2 {
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 21px;
  font-weight: 400;
}

.timeboard-copy p {
  font-variant-numeric: tabular-nums;
}

.month-ticks {
  height: 24px;
  color: var(--muted);
  font-size: 10px;
  letter-spacing: 0.02em;
}

.month-ticks span {
  overflow: hidden;
  text-overflow: clip;
  white-space: nowrap;
}

.day-bars {
  gap: 0;
  height: 44px;
  padding-inline: 8px;
}

.day-bars button {
  background: #d9d2c4;
  opacity: 0.86;
  transition: height 160ms ease, background 160ms ease, opacity 160ms ease;
}

.day-bars button:hover,
.day-bars button.active {
  opacity: 1;
}

.metric-rail {
  margin-top: 4px;
  border: 1px solid var(--line-strong);
  border-left: 0;
  border-right: 0;
}

.metric {
  min-height: 112px;
  padding-top: 20px;
}

.metric strong {
  letter-spacing: 0;
}

.workbench {
  grid-template-columns: minmax(780px, 960px) minmax(470px, 1fr);
  gap: 24px;
  padding-top: 24px;
}

.report-stage,
.side-rail,
.panel {
  border-radius: 6px;
  box-shadow: 0 14px 42px rgba(17, 17, 17, 0.05);
}

.report-stage {
  padding: 18px 18px 22px;
}

.side-rail {
  top: 100px;
}

.section-head h2 {
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 20px;
  font-weight: 400;
}

.section-head p {
  max-width: 560px;
  line-height: 1.5;
}

.analysis-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: start;
  gap: 18px;
}

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

.signal-panel {
  grid-column: span 7;
}

.regime-panel {
  grid-column: span 5;
}

.heatmap-panel {
  grid-column: span 7;
}

.bucket-panel {
  grid-column: span 5;
}

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

.range-tabs {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.62);
}

.range-tabs button {
  min-width: 48px;
  height: 30px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.range-tabs button.active,
.range-tabs button:hover {
  background: var(--ink);
  color: var(--surface);
}

.trend-summary {
  align-items: stretch;
  margin-bottom: 12px;
  border-left-width: 4px;
}

.trend-summary > div:first-child {
  display: grid;
  gap: 5px;
}

.trend-kpis {
  display: grid;
  align-content: center;
  justify-items: end;
  gap: 5px;
}

.trend-kpis span {
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}

.trend-cockpit {
  display: grid;
  grid-template-columns: minmax(390px, 0.82fr) minmax(0, 1.28fr);
  gap: 14px;
  align-items: start;
}

.trend-cockpit-left,
.trend-cockpit-right {
  min-width: 0;
}

.trend-cockpit .trend-lens {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0 0 10px;
}

.trend-cockpit .trend-radar {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0 0 10px;
}

.trend-cockpit .trend-radar button:last-child {
  grid-column: 1 / -1;
}

.trend-cockpit .trend-window-stack {
  grid-template-columns: 1fr;
  margin: 0 0 10px;
}

.trend-cockpit .trend-pulse-strip {
  grid-template-columns: 92px minmax(0, 1fr);
  margin: 0;
}

.trend-cockpit-right .trend-pulse-strip {
  margin-top: 10px;
}

.trend-cockpit-right svg {
  margin-top: 2px;
}

.trend-cockpit-right .trend-extremes {
  margin: 10px 0 10px;
}

.trend-cockpit + .trend-window-stack {
  margin: 12px 0 0;
}

.trend-lens {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: -2px 0 12px;
}

.trend-lens span {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.58);
  font-variant-numeric: tabular-nums;
}

.trend-lens i,
.trend-lens small {
  overflow: hidden;
  color: var(--muted);
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trend-lens i {
  font-size: 11px;
  font-weight: 820;
}

.trend-lens b {
  overflow: hidden;
  color: var(--ink);
  font-size: 17px;
  line-height: 1;
  font-weight: 820;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trend-lens small {
  font-size: 10px;
}

.trend-lens .hot {
  border-color: rgba(196, 83, 53, 0.34);
  box-shadow: inset 3px 0 0 #c45335;
}

.trend-lens .cool {
  border-color: rgba(47, 97, 144, 0.34);
  box-shadow: inset 3px 0 0 #2f6190;
}

.trend-radar {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin: -2px 0 12px;
}

.trend-radar button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 10px;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.56);
  color: var(--ink);
  cursor: pointer;
  text-align: left;
  font-variant-numeric: tabular-nums;
}

.trend-radar button:hover {
  border-color: var(--ink);
  background: #fff;
}

.trend-radar button.active {
  border-color: var(--ink);
  background: rgba(154, 106, 18, 0.12);
  box-shadow: inset 0 0 0 1px rgba(154, 106, 18, 0.22);
}

.trend-radar span,
.trend-radar small {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trend-radar b {
  grid-row: span 2;
  align-self: center;
  color: var(--ink);
  font-size: 17px;
  line-height: 1;
}

.trend-radar .hot {
  border-color: rgba(196, 83, 53, 0.34);
  box-shadow: inset 3px 0 0 #c45335;
}

.trend-radar .cool {
  border-color: rgba(47, 97, 144, 0.34);
  box-shadow: inset 3px 0 0 #2f6190;
}

.trend-window-stack {
  display: grid;
  grid-template-columns: 0.74fr 1.6fr;
  gap: 8px;
  margin: -2px 0 13px;
  font-variant-numeric: tabular-nums;
}

.trend-phase-read {
  display: grid;
  grid-template-columns: minmax(190px, 0.68fr) minmax(0, 1.62fr);
  gap: 8px;
  margin: -2px 0 13px;
  font-variant-numeric: tabular-nums;
}

.trend-latest-confirm {
  display: grid;
  grid-template-columns: minmax(170px, 0.58fr) minmax(0, 1.72fr);
  gap: 8px;
  margin: -5px 0 13px;
  font-variant-numeric: tabular-nums;
}

.trend-latest-position {
  display: grid;
  grid-template-columns: minmax(160px, 0.5fr) minmax(0, 1.7fr);
  gap: 8px;
  margin: -5px 0 13px;
  font-variant-numeric: tabular-nums;
}

.trend-window-lead,
.trend-window-cards span,
.trend-phase-lead,
.trend-phase-cells span,
.trend-latest-lead,
.trend-latest-cells span,
.trend-latest-position-lead,
.trend-latest-position-cells span,
.trend-latest-position-cells button {
  min-width: 0;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.58);
}

.trend-phase-lead {
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 10px 11px;
  border-left: 4px solid var(--gold);
}

.trend-latest-lead {
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 10px 11px;
  border-left: 4px solid var(--gold);
}

.trend-latest-position-lead {
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 10px 11px;
  border-left: 4px solid var(--gold);
}

.trend-phase-read.hot .trend-phase-lead {
  border-left-color: #c45335;
}

.trend-phase-read.cool .trend-phase-lead {
  border-left-color: #2f6190;
}

.trend-latest-confirm.hot .trend-latest-lead {
  border-left-color: #c45335;
}

.trend-latest-confirm.cool .trend-latest-lead {
  border-left-color: #2f6190;
}

.trend-latest-confirm.split .trend-latest-lead {
  border-left-color: #7d6943;
}

.trend-latest-position.hot .trend-latest-position-lead {
  border-left-color: #c45335;
}

.trend-latest-position.cool .trend-latest-position-lead {
  border-left-color: #2f6190;
}

.trend-phase-read.split .trend-phase-lead {
  border-left-color: #7d6943;
  background:
    linear-gradient(135deg, rgba(196, 83, 53, 0.08), rgba(47, 97, 144, 0.08)),
    rgba(255, 255, 255, 0.58);
}

.trend-window-lead {
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 10px 11px;
  border-left: 4px solid var(--gold);
}

.trend-window-lead.hot {
  border-left-color: #c45335;
}

.trend-window-lead.cool {
  border-left-color: #2f6190;
}

.trend-window-lead span,
.trend-window-lead small,
.trend-window-cards i,
.trend-window-cards small,
.trend-phase-lead span,
.trend-phase-lead small,
.trend-phase-cells i,
.trend-phase-cells small,
.trend-latest-lead span,
.trend-latest-lead small,
.trend-latest-cells i,
.trend-latest-cells small,
.trend-latest-position-lead span,
.trend-latest-position-lead small,
.trend-latest-position-cells i,
.trend-latest-position-cells small {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 820;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trend-window-lead strong {
  color: var(--ink);
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 26px;
  line-height: 1;
  font-weight: 400;
}

.trend-phase-lead strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.18;
  font-weight: 860;
}

.trend-latest-lead strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.18;
  font-weight: 860;
}

.trend-latest-position-lead strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.18;
  font-weight: 860;
}

.trend-window-lead small {
  line-height: 1.35;
  white-space: normal;
}

.trend-phase-lead small {
  line-height: 1.35;
  white-space: normal;
}

.trend-latest-lead small {
  line-height: 1.35;
  white-space: normal;
}

.trend-latest-position-lead small {
  line-height: 1.35;
  white-space: normal;
}

.trend-window-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

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

.trend-latest-cells {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 7px;
}

.trend-latest-position-cells {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}

.trend-window-cards span {
  display: grid;
  gap: 5px;
  padding: 9px 10px 8px;
  border-top: 3px solid var(--gold);
}

.trend-phase-cells span {
  display: grid;
  gap: 5px;
  padding: 9px 10px 8px;
  border-top: 3px solid var(--gold);
}

.trend-latest-cells span {
  display: grid;
  gap: 5px;
  padding: 9px 10px 8px;
  border-top: 3px solid var(--gold);
}

.trend-latest-position-cells span,
.trend-latest-position-cells button {
  display: grid;
  gap: 5px;
  padding: 9px 10px 8px;
  border-top: 3px solid var(--gold);
  color: inherit;
  text-align: left;
}

.trend-latest-position-cells button {
  cursor: pointer;
}

.trend-window-cards .hot {
  border-top-color: #c45335;
}

.trend-window-cards .cool {
  border-top-color: #2f6190;
}

.trend-phase-cells .hot {
  border-top-color: #c45335;
}

.trend-phase-cells .cool {
  border-top-color: #2f6190;
}

.trend-latest-cells .hot {
  border-top-color: #c45335;
}

.trend-latest-cells .cool {
  border-top-color: #2f6190;
}

.trend-latest-position-cells .hot {
  border-top-color: #c45335;
}

.trend-latest-position-cells .cool {
  border-top-color: #2f6190;
}

.trend-window-cards b {
  overflow: hidden;
  color: var(--ink);
  font-size: 16px;
  line-height: 1;
  font-weight: 840;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trend-phase-cells b {
  overflow: hidden;
  color: var(--ink);
  font-size: 15px;
  line-height: 1;
  font-weight: 840;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trend-latest-cells b {
  overflow: hidden;
  color: var(--ink);
  font-size: 15px;
  line-height: 1;
  font-weight: 840;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trend-latest-position-cells b {
  overflow: hidden;
  color: var(--ink);
  font-size: 15px;
  line-height: 1;
  font-weight: 840;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trend-latest-position-cells button:hover {
  border-color: var(--ink);
}

.trend-phase-path {
  display: grid;
  grid-template-columns: minmax(150px, 0.48fr) minmax(0, 1.52fr);
  gap: 8px;
  margin: -5px 0 13px;
  font-variant-numeric: tabular-nums;
}

.trend-phase-path-lead,
.trend-phase-path-cells span,
.trend-phase-path-cells button {
  min-width: 0;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.58);
}

.trend-phase-path-lead {
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 9px 10px;
  border-left: 4px solid var(--gold);
}

.trend-phase-path.hot .trend-phase-path-lead {
  border-left-color: #c45335;
}

.trend-phase-path.cool .trend-phase-path-lead {
  border-left-color: #2f6190;
}

.trend-phase-path-lead span,
.trend-phase-path-lead small,
.trend-phase-path-cells i,
.trend-phase-path-cells small {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 820;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trend-phase-path-lead strong,
.trend-phase-path-cells b {
  overflow: hidden;
  color: var(--ink);
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trend-phase-path-lead strong {
  font-size: 15px;
  font-weight: 860;
}

.trend-phase-path-lead small {
  line-height: 1.35;
  white-space: normal;
}

.trend-phase-path-cells {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}

.trend-phase-path-cells span,
.trend-phase-path-cells button {
  display: grid;
  gap: 5px;
  padding: 8px 9px;
  border-top: 3px solid var(--gold);
  color: inherit;
  text-align: left;
}

.trend-phase-path-cells button {
  cursor: pointer;
}

.trend-phase-path-cells .hot {
  border-top-color: #c45335;
}

.trend-phase-path-cells .cool {
  border-top-color: #2f6190;
}

.trend-phase-path-cells b {
  font-size: 14px;
  font-weight: 840;
}

.trend-phase-path-cells button:hover {
  border-color: var(--ink);
}

.trend-window-cards em {
  display: block;
  width: var(--w);
  height: 3px;
  background: rgba(154, 106, 18, 0.76);
}

.trend-window-cards .prem {
  background: rgba(47, 97, 144, 0.68);
}

.trend-window-cards .stock {
  background: rgba(196, 83, 53, 0.66);
}

.trend-pulse-strip {
  display: grid;
  grid-template-columns: 106px minmax(0, 1fr);
  align-items: stretch;
  gap: 10px;
  margin: -2px 0 13px;
  font-variant-numeric: tabular-nums;
}

.trend-pulse-strip > div:first-child {
  display: grid;
  align-content: center;
  gap: 4px;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.58);
}

.trend-pulse-strip span,
.signal-pulse-tape span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 820;
}

.trend-pulse-strip b,
.signal-pulse-tape b {
  color: var(--ink);
  font-size: 15px;
  line-height: 1;
}

.trend-pulse-cells,
.signal-pulse-cells {
  display: grid;
  align-items: end;
  min-width: 0;
}

.trend-pulse-cells {
  grid-template-columns: repeat(28, minmax(0, 1fr));
  gap: 3px;
}

.trend-pulse-cells button,
.signal-pulse-cells button {
  display: grid;
  align-content: end;
  gap: 4px;
  min-width: 0;
  border: 0;
  border-bottom: 2px solid rgba(154, 106, 18, 0.28);
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  padding: 0 0 4px;
  text-align: center;
}

.trend-pulse-cells button:hover,
.signal-pulse-cells button:hover,
.trend-pulse-cells button.active,
.signal-pulse-cells button.active {
  border-bottom-color: var(--ink);
}

.trend-pulse-cells i,
.signal-pulse-cells i {
  display: block;
  width: 100%;
  height: var(--h);
  min-height: 9px;
  background: rgba(154, 106, 18, 0.42);
}

.trend-pulse-cells .hot i,
.signal-pulse-cells .hot i {
  background: rgba(196, 83, 53, 0.72);
}

.trend-pulse-cells .cool i,
.signal-pulse-cells .cool i {
  background: rgba(47, 97, 144, 0.72);
}

.trend-pulse-cells span,
.signal-pulse-cells span {
  overflow: hidden;
  color: var(--muted);
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trend-extremes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: -4px 0 10px;
  font-variant-numeric: tabular-nums;
}

.trend-extremes button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.55);
  color: var(--muted);
  cursor: pointer;
  font-size: 11px;
  text-align: left;
}

.trend-extremes button:hover {
  border-color: var(--ink);
  background: #fff;
  color: var(--ink);
}

.trend-extremes b {
  color: var(--ink);
  font-weight: 780;
  white-space: nowrap;
}

.signal-board {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 14px;
  min-height: 286px;
}

.pulse-gauge {
  position: relative;
  display: grid;
  align-content: space-between;
  min-height: 286px;
  padding: 18px;
  border: 1px solid var(--line);
  background:
    radial-gradient(circle at 50% 38%, rgba(154, 106, 18, 0.16), transparent 38%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.76), rgba(247, 245, 238, 0.72));
  overflow: hidden;
}

.pulse-gauge::before {
  content: "";
  position: absolute;
  inset: 18px 18px auto;
  height: 118px;
  border-radius: 999px 999px 0 0;
  background:
    conic-gradient(from -90deg at 50% 100%, var(--pulse-color, var(--gold)) var(--pulse), rgba(201, 194, 178, 0.25) 0 180deg, transparent 0);
  clip-path: inset(0 0 48% 0);
  opacity: 0.9;
}

.pulse-gauge::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 82px;
  width: 104px;
  height: 104px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: var(--surface);
  box-shadow: inset 0 0 0 1px var(--line);
}

.pulse-gauge.hot {
  --pulse-color: #c45335;
}

.pulse-gauge.cool {
  --pulse-color: #2f6190;
}

.pulse-gauge > div,
.pulse-gauge p {
  position: relative;
  z-index: 2;
}

.pulse-gauge > div {
  display: grid;
  justify-items: center;
  gap: 4px;
  padding-top: 80px;
}

.pulse-gauge span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 820;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.pulse-gauge strong {
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 58px;
  line-height: 0.9;
  font-weight: 400;
  font-variant-numeric: tabular-nums;
}

.pulse-gauge p {
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.62;
}

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

.signal-right {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.signal-strip {
  display: grid;
  align-content: start;
  gap: 5px;
  min-height: 88px;
  padding: 12px 12px 11px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.68);
  font-variant-numeric: tabular-nums;
}

.signal-strip span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 820;
}

.signal-strip strong {
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 25px;
  line-height: 1;
  font-weight: 400;
}

.signal-strip small {
  min-height: 16px;
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.signal-strip i {
  display: block;
  width: var(--meter);
  height: 4px;
  margin-top: 4px;
  background: var(--meter-color, var(--gold));
}

.signal-strip.hot {
  --meter-color: #c45335;
}

.signal-strip.cool {
  --meter-color: #2f6190;
}

.signal-pulse-tape {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 9px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.58);
  font-variant-numeric: tabular-nums;
}

.signal-pulse-tape > div:first-child {
  display: grid;
  align-content: center;
  gap: 4px;
}

.signal-pulse-cells {
  grid-template-columns: repeat(18, minmax(0, 1fr));
  gap: 3px;
}

.signal-pulse-cells i {
  min-height: 8px;
}

.regime-map {
  display: grid;
  align-content: space-between;
  min-height: 286px;
}

.regime-tape {
  display: grid;
  grid-template-columns: repeat(15, minmax(0, 1fr));
  gap: 5px;
}

.regime-tape button {
  aspect-ratio: 1 / 1;
  min-width: 0;
  border: 1px solid rgba(17, 17, 17, 0.06);
  border-radius: 3px;
  background: var(--cell-color, var(--gold));
  cursor: pointer;
  opacity: calc(0.34 + (var(--heat) * 0.62));
}

.regime-tape button.hot {
  --cell-color: #c45335;
}

.regime-tape button.cool {
  --cell-color: #2f6190;
}

.regime-tape button.flat {
  --cell-color: #9a6a12;
}

.regime-tape button:hover {
  opacity: 1;
  border-color: var(--ink);
  transform: translateY(-1px);
}

.regime-tape button.selected {
  opacity: 1;
  border-color: var(--ink);
  box-shadow: inset 0 0 0 2px #fff, 0 0 0 2px var(--ink);
}

.regime-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
  font-variant-numeric: tabular-nums;
}

.regime-stats span,
.regime-stats button {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.55);
  color: var(--muted);
  font-size: 11px;
  text-align: left;
}

.regime-stats button {
  cursor: pointer;
}

.regime-stats button:hover {
  border-color: var(--ink);
  background: #fff;
  color: var(--ink);
}

.regime-stats b {
  overflow: hidden;
  color: var(--ink);
  font-size: 12px;
  font-weight: 820;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.regime-foot {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}

.regime-foot b {
  color: var(--ink);
  font-weight: 800;
  text-align: right;
}

.bucket-bars {
  min-height: 236px;
}

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

.bucket-profile span {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.6);
  font-variant-numeric: tabular-nums;
}

.bucket-profile i {
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 820;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bucket-profile b {
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  font-weight: 820;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bucket-profile .hot {
  border-color: rgba(196, 83, 53, 0.36);
  box-shadow: inset 3px 0 0 #c45335;
}

.bucket-profile .cool {
  border-color: rgba(47, 97, 144, 0.36);
  box-shadow: inset 3px 0 0 #2f6190;
}

.bucket-flow {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
  margin: 0 0 12px;
}

.flow-bucket {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 8px 6px 7px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.6);
  font-variant-numeric: tabular-nums;
}

.flow-bucket i,
.flow-bucket b,
.flow-bucket small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.flow-bucket i {
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 820;
}

.flow-bucket b {
  color: var(--ink);
  font-size: 12px;
  line-height: 1;
}

.flow-bucket small {
  color: var(--muted);
  font-size: 9px;
}

.flow-bucket em {
  display: block;
  width: var(--bias);
  height: 3px;
  background: var(--bias-color, var(--gold));
}

.flow-bucket.hot {
  --bias-color: #c45335;
  border-color: rgba(196, 83, 53, 0.34);
}

.flow-bucket.cool {
  --bias-color: #2f6190;
  border-color: rgba(47, 97, 144, 0.34);
}

.bucket-signature {
  display: grid;
  grid-template-columns: 1.05fr 1.45fr;
  gap: 9px;
  margin: 0 0 12px;
  font-variant-numeric: tabular-nums;
}

.signature-lead,
.signature-lanes span {
  min-width: 0;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.58);
}

.signature-lead {
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 11px 12px;
  border-left: 4px solid var(--gold);
}

.signature-lead.hot {
  border-left-color: #c45335;
}

.signature-lead.cool {
  border-left-color: #2f6190;
}

.signature-lead span,
.signature-lanes i {
  color: var(--muted);
  font-size: 10px;
  font-weight: 820;
  font-style: normal;
}

.signature-lead strong {
  color: var(--ink);
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 24px;
  line-height: 1.12;
  font-weight: 400;
}

.signature-lead small,
.signature-lanes small {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.signature-lead small {
  white-space: normal;
}

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

.signature-lanes span {
  display: grid;
  gap: 5px;
  padding: 10px 9px 9px;
}

.signature-lanes b {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.35;
}

.signature-lanes em {
  display: block;
  width: var(--w);
  height: 4px;
  background: var(--bias-color, var(--gold));
}

.signature-lanes .hot {
  --bias-color: #c45335;
  border-color: rgba(196, 83, 53, 0.34);
}

.signature-lanes .cool {
  --bias-color: #2f6190;
  border-color: rgba(47, 97, 144, 0.34);
}

.bucket-risk {
  display: grid;
  grid-template-columns: 0.9fr 1.55fr 0.95fr;
  gap: 8px;
  margin: 0 0 13px;
  font-variant-numeric: tabular-nums;
}

.risk-lead,
.risk-cards span,
.risk-pulse {
  min-width: 0;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.62);
}

.risk-lead {
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 11px 12px;
  border-left: 4px solid var(--gold);
}

.risk-lead.hot {
  border-left-color: #c45335;
}

.risk-lead.cool {
  border-left-color: #2f6190;
}

.risk-lead span,
.risk-cards i,
.risk-pulse span,
.risk-cells i {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 820;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.risk-lead strong {
  color: var(--ink);
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 31px;
  line-height: 1;
  font-weight: 400;
}

.risk-lead small,
.risk-cards small {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.35;
  text-overflow: ellipsis;
}

.risk-lead small {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

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

.risk-cards span {
  display: grid;
  gap: 5px;
  padding: 10px 9px 9px;
  border-top: 3px solid var(--gold);
}

.risk-cards .hot {
  border-top-color: #c45335;
}

.risk-cards .cool {
  border-top-color: #2f6190;
}

.risk-cards b {
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.1;
  font-weight: 840;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.risk-pulse {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 8px;
  padding: 10px 9px 9px;
}

.risk-pulse > div:first-child {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.risk-pulse b {
  color: var(--ink);
  font-size: 12px;
  font-weight: 840;
}

.risk-cells {
  display: grid;
  grid-template-columns: repeat(13, minmax(0, 1fr));
  align-items: end;
  gap: 3px;
  min-height: 62px;
}

.risk-cells span {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  min-width: 0;
  height: 100%;
  padding-bottom: 13px;
}

.risk-cells span::before {
  content: "";
  position: absolute;
  right: 12%;
  bottom: 13px;
  left: 12%;
  height: var(--h);
  min-height: 4px;
  background: rgba(154, 106, 18, 0.72);
}

.risk-cells .hot::before {
  background: rgba(196, 83, 53, 0.78);
}

.risk-cells .cool::before {
  background: rgba(47, 97, 144, 0.78);
}

.risk-cells i {
  position: absolute;
  bottom: 0;
  font-size: 8px;
}

.bar-track {
  border-left: 1px solid rgba(201, 194, 178, 0.5);
  border-right: 1px solid rgba(201, 194, 178, 0.5);
}

.bar-fill {
  left: 20%;
  right: 20%;
  background: #9a6a12;
  z-index: 2;
}

.bar-avg {
  position: absolute;
  left: 52%;
  right: 12%;
  bottom: 0;
  min-height: 2px;
  border: 1px solid rgba(47, 97, 144, 0.35);
  border-bottom: 0;
  background: rgba(47, 97, 144, 0.15);
}

.bar.hot .bar-fill {
  background: #c45335;
}

.bar.cool .bar-fill {
  background: #2f6190;
}

.momentum-panel {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(430px, 0.82fr) minmax(0, 1.18fr);
  gap: 14px;
  align-items: start;
}

.momentum-panel .section-head {
  grid-column: 1 / -1;
  margin-bottom: 2px;
}

.momentum-panel .symbol-focus {
  grid-column: 1;
  margin-bottom: 0;
}

.momentum-panel .symbol-momentum {
  grid-column: 2;
  min-width: 0;
}

.symbol-rotation {
  display: grid;
  gap: 12px;
}

.rotation-head {
  display: grid;
  grid-template-columns: 150px 150px minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
}

.rotation-head span {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.62);
  font-variant-numeric: tabular-nums;
}

.rotation-head i {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 820;
}

.rotation-head b {
  overflow: hidden;
  color: var(--ink);
  font-size: 17px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rotation-brief {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.78fr);
  gap: 10px;
  align-items: stretch;
}

.rotation-brief p,
.rotation-brief span {
  min-width: 0;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.58);
}

.rotation-brief p {
  margin: 0;
  padding: 12px 13px;
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.62;
}

.rotation-brief > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.rotation-brief span {
  display: grid;
  gap: 5px;
  padding: 10px 11px;
  font-variant-numeric: tabular-nums;
}

.rotation-brief i {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 820;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rotation-brief b {
  overflow: hidden;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rotation-brief .hot {
  border-color: rgba(196, 83, 53, 0.34);
  box-shadow: inset 3px 0 0 #c45335;
}

.rotation-brief .cool {
  border-color: rgba(47, 97, 144, 0.34);
  box-shadow: inset 3px 0 0 #2f6190;
}

.rotation-map {
  display: grid;
  grid-template-columns: 0.72fr 1.78fr 0.82fr;
  gap: 10px;
  align-items: stretch;
  min-height: 250px;
}

.rotation-map-lead,
.rotation-map-grid,
.rotation-map-stats span {
  min-width: 0;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.58);
}

.rotation-map-lead {
  display: grid;
  align-content: center;
  gap: 7px;
  padding: 14px;
  border-left: 4px solid var(--gold);
}

.rotation-map-lead.hot {
  border-left-color: #c45335;
}

.rotation-map-lead.cool {
  border-left-color: #2f6190;
}

.rotation-map-lead span,
.rotation-map-lead small,
.rotation-map-stats i,
.rotation-map-stats small {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 820;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rotation-map-lead strong {
  color: var(--ink);
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 36px;
  line-height: 1;
  font-weight: 400;
}

.rotation-map-lead small {
  line-height: 1.45;
  white-space: normal;
}

.rotation-map-grid {
  position: relative;
  overflow: hidden;
  min-height: 250px;
  background:
    linear-gradient(90deg, rgba(47, 97, 144, 0.07), transparent 48%, rgba(196, 83, 53, 0.07)),
    linear-gradient(0deg, rgba(47, 97, 144, 0.05), transparent 50%, rgba(154, 106, 18, 0.07)),
    rgba(255, 255, 255, 0.54);
}

.rotation-map-grid .axis-x,
.rotation-map-grid .axis-y {
  position: absolute;
  z-index: 1;
  display: block;
  background: rgba(117, 110, 96, 0.28);
}

.rotation-map-grid .axis-x {
  top: var(--y0);
  right: 0;
  left: 0;
  height: 1px;
}

.rotation-map-grid .axis-y {
  top: 0;
  bottom: 0;
  left: var(--x0);
  width: 1px;
}

.rotation-map-grid .quad {
  position: absolute;
  z-index: 2;
  color: rgba(101, 95, 82, 0.62);
  font-size: 10px;
  font-weight: 820;
  pointer-events: none;
}

.rotation-map-grid .q1 {
  top: 10px;
  right: 12px;
}

.rotation-map-grid .q2 {
  top: 10px;
  left: 12px;
}

.rotation-map-grid .q3 {
  bottom: 10px;
  left: 12px;
}

.rotation-map-grid .q4 {
  right: 12px;
  bottom: 10px;
}

.rotation-map-grid button {
  position: absolute;
  z-index: 3;
  top: var(--y);
  left: var(--x);
  display: grid;
  place-items: center;
  width: var(--s);
  height: var(--s);
  max-width: 68px;
  max-height: 68px;
  min-width: 28px;
  min-height: 28px;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(154, 106, 18, 0.34);
  border-radius: 999px;
  background: rgba(154, 106, 18, 0.78);
  color: #fff;
  cursor: pointer;
  font-size: 10px;
  font-weight: 860;
  font-variant-numeric: tabular-nums;
  box-shadow: 0 8px 18px rgba(80, 66, 38, 0.12);
}

.rotation-map-grid button.hot {
  border-color: rgba(196, 83, 53, 0.42);
  background: rgba(196, 83, 53, 0.82);
}

.rotation-map-grid button.cool {
  border-color: rgba(47, 97, 144, 0.42);
  background: rgba(47, 97, 144, 0.82);
}

.rotation-map-grid button:hover,
.rotation-map-grid button.symbol-active {
  z-index: 5;
  border-color: var(--ink);
  box-shadow: 0 0 0 3px rgba(17, 17, 17, 0.1), 0 14px 28px rgba(17, 17, 17, 0.18);
}

.rotation-map-stats {
  display: grid;
  grid-template-rows: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.rotation-map-stats span {
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 8px 10px;
  border-top: 3px solid var(--gold);
  font-variant-numeric: tabular-nums;
}

.rotation-map-stats .hot {
  border-top-color: #c45335;
}

.rotation-map-stats .cool {
  border-top-color: #2f6190;
}

.rotation-map-stats b {
  color: var(--ink);
  font-size: 18px;
  line-height: 1;
  font-weight: 840;
}

.rotation-conviction-strip {
  display: grid;
  grid-template-columns: minmax(176px, 0.55fr) minmax(0, 1.45fr);
  gap: 1px;
  min-width: 0;
  margin-top: 8px;
  border: 1px solid rgba(20, 20, 18, 0.09);
  background: rgba(20, 20, 18, 0.07);
  box-shadow: inset 4px 0 0 rgba(167, 128, 44, 0.66);
}

.rotation-conviction-strip.hot {
  box-shadow: inset 4px 0 0 rgba(196, 83, 53, 0.72);
}

.rotation-conviction-strip.cool {
  box-shadow: inset 4px 0 0 rgba(47, 97, 144, 0.76);
}

.rotation-acceleration-strip {
  display: grid;
  grid-template-columns: minmax(176px, 0.55fr) minmax(0, 1.45fr);
  gap: 1px;
  min-width: 0;
  margin-top: 8px;
  border: 1px solid rgba(20, 20, 18, 0.09);
  background: rgba(20, 20, 18, 0.07);
  box-shadow: inset 4px 0 0 rgba(167, 128, 44, 0.66);
}

.rotation-acceleration-strip.hot {
  box-shadow: inset 4px 0 0 rgba(196, 83, 53, 0.72);
}

.rotation-acceleration-strip.cool {
  box-shadow: inset 4px 0 0 rgba(47, 97, 144, 0.76);
}

.rotation-conviction-lead,
.rotation-conviction-cells span,
.rotation-acceleration-lead,
.rotation-acceleration-cells span {
  min-width: 0;
  padding: 10px;
  background: rgba(255, 255, 252, 0.70);
}

.rotation-conviction-lead,
.rotation-acceleration-lead {
  display: grid;
  align-content: center;
  gap: 5px;
}

.rotation-conviction-cells,
.rotation-acceleration-cells {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  min-width: 0;
}

.rotation-conviction-cells span,
.rotation-acceleration-cells span {
  display: grid;
  align-content: center;
  gap: 4px;
  font-variant-numeric: tabular-nums;
}

.rotation-conviction-lead span,
.rotation-conviction-lead small,
.rotation-conviction-cells i,
.rotation-conviction-cells small,
.rotation-acceleration-lead span,
.rotation-acceleration-lead small,
.rotation-acceleration-cells i,
.rotation-acceleration-cells small {
  overflow: hidden;
  color: var(--muted);
  font: 800 10px/1.22 var(--sans);
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rotation-conviction-lead span,
.rotation-conviction-cells i,
.rotation-acceleration-lead span,
.rotation-acceleration-cells i {
  text-transform: uppercase;
}

.rotation-conviction-lead b,
.rotation-conviction-cells b,
.rotation-acceleration-lead b,
.rotation-acceleration-cells b {
  overflow-wrap: anywhere;
  color: var(--ink);
  font: 900 14px/1.08 var(--sans);
}

.rotation-conviction-lead b,
.rotation-acceleration-lead b {
  font-family: var(--serif);
  font-size: 17px;
}

.rotation-acceleration-lead small {
  line-height: 1.32;
  white-space: normal;
}

.rotation-conviction-cells .hot,
.rotation-acceleration-cells .hot {
  box-shadow: inset 3px 0 0 rgba(196, 83, 53, 0.72);
}

.rotation-conviction-cells .cool,
.rotation-acceleration-cells .cool {
  box-shadow: inset 3px 0 0 rgba(47, 97, 144, 0.76);
}

.rotation-conviction-cells .flat,
.rotation-acceleration-cells .flat {
  box-shadow: inset 3px 0 0 rgba(167, 128, 44, 0.68);
}

.rotation-lanes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.rotation-lane {
  min-width: 0;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.55);
}

.rotation-lane.hot {
  box-shadow: inset 4px 0 0 #c45335;
}

.rotation-lane.cool {
  box-shadow: inset 4px 0 0 #2f6190;
}

.rotation-lane-title {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 11px;
}

.rotation-lane-title b {
  color: var(--ink);
  font-size: 12px;
}

.rotation-row {
  display: grid;
  grid-template-columns: 58px minmax(84px, 1fr) 74px 118px;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 43px;
  padding: 6px 10px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  text-align: left;
}

.rotation-row:last-child {
  border-bottom: 0;
}

.rotation-row:hover {
  background: rgba(255, 255, 255, 0.72);
}

.rotation-row.active {
  background: rgba(154, 106, 18, 0.12);
  box-shadow: inset 0 0 0 1px rgba(154, 106, 18, 0.22);
}

.rotation-row strong {
  font-weight: 860;
}

.rotation-row svg {
  display: block;
  width: 100%;
  height: 28px;
}

.rotation-row em,
.rotation-row small {
  overflow: hidden;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.rotation-row em {
  font-style: normal;
  font-weight: 820;
}

.rotation-lane.hot .rotation-row em {
  color: var(--red);
}

.rotation-lane.cool .rotation-row em {
  color: var(--blue);
}

.rotation-row small {
  color: var(--muted);
  font-size: 11px;
}

.symbol-momentum {
  display: grid;
  gap: 12px;
}

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

.momentum-summary span {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.58);
  font-variant-numeric: tabular-nums;
}

.momentum-summary span.hot {
  border-color: rgba(196, 83, 53, 0.34);
  box-shadow: inset 3px 0 0 #c45335;
}

.momentum-summary span.cool {
  border-color: rgba(47, 97, 144, 0.34);
  box-shadow: inset 3px 0 0 #2f6190;
}

.momentum-summary i,
.momentum-summary small {
  overflow: hidden;
  color: var(--muted);
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.momentum-summary i {
  font-size: 10px;
  font-weight: 820;
}

.momentum-summary b {
  overflow: hidden;
  color: var(--ink);
  font-size: 16px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.momentum-summary small {
  font-size: 10px;
}

.momentum-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px 12px;
}

.symbol-focus {
  margin-bottom: 14px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.64);
}

.focus-head {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 14px 16px;
  border-left: 4px solid var(--gold);
  border-bottom: 1px solid var(--line);
}

.focus-head.hot {
  border-left-color: #c45335;
}

.focus-head.cool {
  border-left-color: #2f6190;
}

.focus-head span,
.focus-contract span,
.focus-charts span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 820;
}

.focus-head strong {
  display: block;
  margin-top: 3px;
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 34px;
  line-height: 1;
  font-weight: 400;
}

.focus-head small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
}

.focus-contract {
  min-width: 170px;
  max-width: 230px;
  text-align: right;
}

.focus-contract b {
  display: block;
  margin-top: 8px;
  font-family: "SF Mono", Menlo, Consolas, monospace;
  font-size: 13px;
  font-weight: 760;
}

.focus-contract small {
  display: block;
  margin-top: 5px;
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-weight: 820;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.focus-contract.call b {
  color: #9d3e25;
}

.focus-contract.put b {
  color: #25577f;
}

.focus-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid var(--line);
}

.focus-metrics span {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 12px 16px;
  border-right: 1px solid var(--line);
  color: var(--muted);
  font-size: 11px;
}

.focus-metrics span:last-child {
  border-right: 0;
}

.focus-metrics b {
  color: var(--ink);
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 24px;
  line-height: 1;
  font-weight: 400;
}

.focus-metrics i {
  overflow: hidden;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.focus-extremes {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid var(--line);
}

.focus-leap-skew {
  display: grid;
  grid-template-columns: minmax(170px, 0.58fr) minmax(0, 1.72fr);
  gap: 8px;
  padding: 12px 14px 0;
  font-variant-numeric: tabular-nums;
}

.focus-leap-lead,
.focus-leap-cells span {
  min-width: 0;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.58);
}

.focus-leap-lead {
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 10px 11px;
  border-left: 4px solid var(--gold);
}

.focus-leap-skew.hot .focus-leap-lead {
  border-left-color: #c45335;
}

.focus-leap-skew.cool .focus-leap-lead {
  border-left-color: #2f6190;
}

.focus-leap-lead span,
.focus-leap-lead small,
.focus-leap-cells i,
.focus-leap-cells small {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 820;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.focus-leap-lead strong {
  color: var(--ink);
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 20px;
  line-height: 1.08;
  font-weight: 400;
}

.focus-leap-lead small {
  line-height: 1.35;
  white-space: normal;
}

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

.focus-leap-cells span {
  display: grid;
  gap: 5px;
  padding: 9px 10px 8px;
  border-top: 3px solid var(--gold);
}

.focus-leap-cells .hot {
  border-top-color: #c45335;
}

.focus-leap-cells .cool {
  border-top-color: #2f6190;
}

.focus-leap-cells b {
  overflow: hidden;
  color: var(--ink);
  font-size: 16px;
  line-height: 1;
  font-weight: 840;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.focus-ticket-size {
  display: grid;
  grid-template-columns: minmax(170px, 0.58fr) minmax(0, 1.72fr);
  gap: 8px;
  padding: 8px 14px 0;
  font-variant-numeric: tabular-nums;
}

.focus-ticket-lead,
.focus-ticket-cells span {
  min-width: 0;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.54);
}

.focus-ticket-lead {
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 10px 11px;
  border-left: 4px solid var(--gold);
}

.focus-ticket-size.hot .focus-ticket-lead {
  border-left-color: #c45335;
}

.focus-ticket-size.cool .focus-ticket-lead {
  border-left-color: #2f6190;
}

.focus-ticket-lead span,
.focus-ticket-lead small,
.focus-ticket-cells i,
.focus-ticket-cells small {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 820;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.focus-ticket-lead strong {
  color: var(--ink);
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 20px;
  line-height: 1.08;
  font-weight: 400;
}

.focus-ticket-lead small {
  line-height: 1.35;
  white-space: normal;
}

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

.focus-ticket-cells span {
  display: grid;
  gap: 5px;
  padding: 9px 10px 8px;
  border-top: 3px solid var(--gold);
}

.focus-ticket-cells .hot {
  border-top-color: #c45335;
}

.focus-ticket-cells .cool {
  border-top-color: #2f6190;
}

.focus-ticket-cells b {
  overflow: hidden;
  color: var(--ink);
  font-size: 16px;
  line-height: 1;
  font-weight: 840;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.focus-extremes button {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 10px 16px;
  border: 0;
  border-right: 1px solid var(--line);
  background: rgba(246, 242, 233, 0.55);
  color: var(--ink);
  cursor: pointer;
  text-align: left;
  font-variant-numeric: tabular-nums;
}

.focus-extremes button:last-child {
  border-right: 0;
}

.focus-extremes button:hover {
  background: rgba(154, 106, 18, 0.1);
}

.focus-extremes span,
.focus-extremes small {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-weight: 820;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.focus-extremes b {
  overflow: hidden;
  color: var(--ink);
  font-size: 15px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.focus-extremes .hot {
  box-shadow: inset 3px 0 0 #c45335;
}

.focus-extremes .cool {
  box-shadow: inset 3px 0 0 #2f6190;
}

.focus-window-stack {
  display: grid;
  grid-template-columns: 0.7fr 1.6fr;
  gap: 10px;
  padding: 12px 14px 0;
  font-variant-numeric: tabular-nums;
}

.focus-window-lead,
.focus-window-cards span {
  min-width: 0;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.58);
}

.focus-window-lead {
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 10px 11px;
  border-left: 4px solid var(--gold);
}

.focus-window-lead.hot {
  border-left-color: #c45335;
}

.focus-window-lead.cool {
  border-left-color: #2f6190;
}

.focus-window-lead span,
.focus-window-lead small,
.focus-window-cards i,
.focus-window-cards small {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 820;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.focus-window-lead strong {
  color: var(--ink);
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 26px;
  line-height: 1;
  font-weight: 400;
}

.focus-window-lead small {
  line-height: 1.35;
  white-space: normal;
}

.focus-window-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.focus-window-cards span {
  display: grid;
  gap: 5px;
  padding: 9px 10px 8px;
  border-top: 3px solid var(--gold);
}

.focus-window-cards .hot {
  border-top-color: #c45335;
}

.focus-window-cards .cool {
  border-top-color: #2f6190;
}

.focus-window-cards b {
  overflow: hidden;
  color: var(--ink);
  font-size: 16px;
  line-height: 1;
  font-weight: 840;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.focus-window-cards em {
  display: block;
  width: var(--w);
  height: 3px;
  background: rgba(154, 106, 18, 0.76);
}

.focus-window-cards .prem {
  background: rgba(47, 97, 144, 0.68);
}

.focus-window-cards .cp {
  background: rgba(20, 131, 85, 0.68);
}

.focus-session-tape {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
  padding: 12px 14px 4px;
}

.focus-session-tape > div:first-child {
  display: grid;
  align-content: center;
  gap: 3px;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.56);
}

.focus-session-tape span {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-weight: 820;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.focus-session-tape b {
  color: var(--ink);
  font-size: 16px;
  font-variant-numeric: tabular-nums;
}

.focus-session-cells {
  display: grid;
  grid-template-columns: repeat(28, minmax(0, 1fr));
  align-items: end;
  gap: 3px;
  min-height: 58px;
}

.focus-session-cells button {
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 4px;
  align-items: end;
  min-width: 0;
  height: 58px;
  padding: 0 0 2px;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
}

.focus-session-cells button.active {
  border-bottom-color: var(--ink);
}

.focus-session-cells i {
  display: block;
  width: 100%;
  height: var(--h);
  min-height: 8px;
  background: #b99b5f;
}

.focus-session-cells .hot i {
  background: #c45335;
}

.focus-session-cells .cool i {
  background: #2f6190;
}

.focus-session-cells span {
  min-height: 10px;
  font-size: 8px;
  text-align: center;
}

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

.focus-charts div {
  min-width: 0;
}

.focus-charts svg {
  display: block;
  width: 100%;
  height: 62px;
  margin-top: 5px;
}

.momentum-row {
  display: grid;
  grid-template-columns: 64px minmax(90px, 1fr) 92px 70px;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 6px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.74);
  color: var(--ink);
  cursor: default;
  text-align: left;
}

.momentum-row:hover {
  border-color: var(--ink);
  background: #fff;
}

.momentum-row.active {
  border-color: var(--ink);
  background: #fff;
  box-shadow: inset 4px 0 0 var(--gold);
}

.mom-symbol {
  font-weight: 860;
  letter-spacing: 0.03em;
}

.mom-spark svg {
  display: block;
  width: 100%;
  height: 34px;
}

.mom-value,
.mom-delta {
  text-align: right;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}

.mom-delta {
  font-weight: 800;
}

.momentum-row.hot .mom-delta {
  color: var(--red);
}

.momentum-row.cool .mom-delta {
  color: var(--blue);
}

@media (min-width: 1500px) {
  .momentum-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

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

@media (min-width: 1281px) {
  .bucket-panel .bucket-bars {
    min-height: 420px;
  }
}

[data-symbol] {
  cursor: default;
}

.market-tooltip {
  position: fixed;
  z-index: 1000;
  width: 310px;
  padding: 13px;
  border: 1px solid rgba(17, 17, 17, 0.18);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.96);
  color: #171717;
  box-shadow: 0 22px 58px rgba(17, 17, 17, 0.18);
  pointer-events: none;
}

.tip-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.tip-head strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  font-weight: 400;
}

.tip-head span {
  color: #777065;
  font-size: 11px;
  font-weight: 780;
}

.tip-chart {
  margin-top: 8px;
  padding: 5px 0;
  border-top: 1px solid #ebe6dc;
  border-bottom: 1px solid #ebe6dc;
}

.tip-chart span,
.tip-mini span {
  display: block;
  color: #777065;
  font-size: 10px;
  font-weight: 780;
}

.tip-chart svg {
  display: block;
  width: 100%;
  height: 54px;
  margin-top: 3px;
}

.tip-mini {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 8px;
}

.tip-mini svg {
  display: block;
  width: 100%;
  height: 30px;
  margin-top: 2px;
}

.tip-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px 12px;
  margin-top: 9px;
  color: #6f716b;
  font-size: 11px;
}

.tip-grid b {
  display: block;
  margin-top: 2px;
  color: #171717;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}

body[data-theme="dark"] .range-tabs,
body[data-theme="dark"] .momentum-row,
body[data-theme="dark"] .rotation-head span,
body[data-theme="dark"] .rotation-brief p,
body[data-theme="dark"] .rotation-brief span,
body[data-theme="dark"] .rotation-map-lead,
body[data-theme="dark"] .rotation-map-grid,
body[data-theme="dark"] .rotation-map-stats span,
body[data-theme="dark"] .rotation-conviction-lead,
body[data-theme="dark"] .rotation-conviction-cells span,
body[data-theme="dark"] .rotation-acceleration-lead,
body[data-theme="dark"] .rotation-acceleration-cells span,
body[data-theme="dark"] .rotation-lane,
body[data-theme="dark"] .rotation-row,
body[data-theme="dark"] .flow-bucket,
body[data-theme="dark"] .signature-lead,
body[data-theme="dark"] .signature-lanes span,
body[data-theme="dark"] .risk-lead,
body[data-theme="dark"] .risk-cards span,
body[data-theme="dark"] .risk-pulse,
body[data-theme="dark"] .symbol-focus,
body[data-theme="dark"] .trend-extremes button,
body[data-theme="dark"] .trend-radar button,
body[data-theme="dark"] .trend-pulse-strip > div:first-child,
body[data-theme="dark"] .trend-window-lead,
body[data-theme="dark"] .trend-window-cards span,
body[data-theme="dark"] .trend-phase-lead,
body[data-theme="dark"] .trend-phase-cells span,
body[data-theme="dark"] .trend-phase-path-lead,
body[data-theme="dark"] .trend-phase-path-cells span,
body[data-theme="dark"] .trend-phase-path-cells button,
body[data-theme="dark"] .trend-latest-lead,
body[data-theme="dark"] .trend-latest-cells span,
body[data-theme="dark"] .trend-latest-position-lead,
body[data-theme="dark"] .trend-latest-position-cells span,
body[data-theme="dark"] .trend-latest-position-cells button,
body[data-theme="dark"] .trend-lens span,
body[data-theme="dark"] .bucket-profile span,
body[data-theme="dark"] .heatmap-summary span,
body[data-theme="dark"] .heat-rhythm-card,
body[data-theme="dark"] .heat-baton-head,
body[data-theme="dark"] .heat-baton-row,
body[data-theme="dark"] .regime-stats span,
body[data-theme="dark"] .regime-stats button,
body[data-theme="dark"] .signal-strip,
body[data-theme="dark"] .signal-pulse-tape,
body[data-theme="dark"] .session-copy,
body[data-theme="dark"] .session-chip-grid span,
body[data-theme="dark"] .session-chip-grid button,
body[data-theme="dark"] .side-flow-grid span,
body[data-theme="dark"] .side-leader-list button,
body[data-theme="dark"] .side-lane-stack span,
body[data-theme="dark"] .side-extreme-list button,
body[data-theme="dark"] .momentum-summary span,
body[data-theme="dark"] .focus-extremes button,
body[data-theme="dark"] .focus-window-lead,
body[data-theme="dark"] .focus-window-cards span,
body[data-theme="dark"] .focus-leap-lead,
body[data-theme="dark"] .focus-leap-cells span,
body[data-theme="dark"] .focus-ticket-lead,
body[data-theme="dark"] .focus-ticket-cells span,
body[data-theme="dark"] .focus-session-tape > div:first-child,
body[data-theme="dark"] .market-tooltip {
  background: rgba(31, 29, 26, 0.96);
  color: var(--ink);
}

body[data-theme="dark"] .trend-extremes button:hover,
body[data-theme="dark"] .trend-radar button:hover,
body[data-theme="dark"] .rotation-row:hover,
body[data-theme="dark"] .heat-rhythm-card:hover,
body[data-theme="dark"] .heat-baton-row:hover,
body[data-theme="dark"] .session-chip-grid button:hover,
body[data-theme="dark"] .side-leader-list button:hover,
body[data-theme="dark"] .side-extreme-list button:hover,
body[data-theme="dark"] .focus-extremes button:hover,
body[data-theme="dark"] .regime-stats button:hover {
  background: #27231d;
}

body[data-theme="dark"] .pulse-gauge {
  background:
    radial-gradient(circle at 50% 38%, rgba(154, 106, 18, 0.18), transparent 38%),
    linear-gradient(180deg, rgba(31, 29, 26, 0.88), rgba(24, 22, 19, 0.74));
}

body[data-theme="dark"] .pulse-gauge::after {
  background: #191714;
}

body[data-theme="dark"] .regime-foot,
body[data-theme="dark"] .trend-lens i,
body[data-theme="dark"] .trend-lens small,
body[data-theme="dark"] .trend-radar span,
body[data-theme="dark"] .trend-radar small,
body[data-theme="dark"] .trend-window-lead span,
body[data-theme="dark"] .trend-window-lead small,
body[data-theme="dark"] .trend-window-cards i,
body[data-theme="dark"] .trend-window-cards small,
body[data-theme="dark"] .trend-phase-lead span,
body[data-theme="dark"] .trend-phase-lead small,
body[data-theme="dark"] .trend-phase-cells i,
body[data-theme="dark"] .trend-phase-cells small,
body[data-theme="dark"] .trend-phase-path-lead span,
body[data-theme="dark"] .trend-phase-path-lead small,
body[data-theme="dark"] .trend-phase-path-cells i,
body[data-theme="dark"] .trend-phase-path-cells small,
body[data-theme="dark"] .trend-latest-lead span,
body[data-theme="dark"] .trend-latest-lead small,
body[data-theme="dark"] .trend-latest-cells i,
body[data-theme="dark"] .trend-latest-cells small,
body[data-theme="dark"] .trend-latest-position-lead span,
body[data-theme="dark"] .trend-latest-position-lead small,
body[data-theme="dark"] .trend-latest-position-cells i,
body[data-theme="dark"] .trend-latest-position-cells small,
body[data-theme="dark"] .trend-pulse-strip span,
body[data-theme="dark"] .trend-pulse-cells span,
body[data-theme="dark"] .signal-pulse-tape span,
body[data-theme="dark"] .signal-pulse-cells span,
body[data-theme="dark"] .session-copy span,
body[data-theme="dark"] .session-copy small,
body[data-theme="dark"] .session-chip-grid i,
body[data-theme="dark"] .session-chip-grid small,
body[data-theme="dark"] .bucket-profile i,
body[data-theme="dark"] .heatmap-summary i,
body[data-theme="dark"] .heatmap-summary small,
body[data-theme="dark"] .rotation-head i,
body[data-theme="dark"] .rotation-brief i,
body[data-theme="dark"] .rotation-map-lead span,
body[data-theme="dark"] .rotation-map-lead small,
body[data-theme="dark"] .rotation-map-stats i,
body[data-theme="dark"] .rotation-map-stats small,
body[data-theme="dark"] .side-flow-grid i,
body[data-theme="dark"] .side-flow-grid small,
body[data-theme="dark"] .side-module p,
body[data-theme="dark"] .side-module-head span,
body[data-theme="dark"] .side-leader-list span,
body[data-theme="dark"] .side-leader-list small,
body[data-theme="dark"] .side-lane-stack i,
body[data-theme="dark"] .side-lane-stack small,
body[data-theme="dark"] .side-extreme-list span,
body[data-theme="dark"] .momentum-summary i,
body[data-theme="dark"] .momentum-summary small,
body[data-theme="dark"] .focus-extremes span,
body[data-theme="dark"] .focus-extremes small,
body[data-theme="dark"] .focus-window-lead span,
body[data-theme="dark"] .focus-window-lead small,
body[data-theme="dark"] .focus-window-cards i,
body[data-theme="dark"] .focus-window-cards small,
body[data-theme="dark"] .focus-session-tape span,
body[data-theme="dark"] .focus-session-cells span,
body[data-theme="dark"] .rotation-row small,
body[data-theme="dark"] .rotation-lane-title,
body[data-theme="dark"] .flow-bucket i,
body[data-theme="dark"] .flow-bucket small,
body[data-theme="dark"] .signature-lead span,
body[data-theme="dark"] .signature-lead small,
body[data-theme="dark"] .signature-lanes i,
body[data-theme="dark"] .signature-lanes small,
body[data-theme="dark"] .risk-lead span,
body[data-theme="dark"] .risk-lead small,
body[data-theme="dark"] .risk-cards i,
body[data-theme="dark"] .risk-cards small,
body[data-theme="dark"] .risk-pulse span,
body[data-theme="dark"] .risk-cells i,
body[data-theme="dark"] .heat-rhythm-card span,
body[data-theme="dark"] .heat-rhythm-card small,
body[data-theme="dark"] .heat-baton-head span,
body[data-theme="dark"] .heat-baton-head small,
body[data-theme="dark"] .heat-baton-row small,
body[data-theme="dark"] .signal-strip small,
body[data-theme="dark"] .signal-strip span {
  color: var(--muted);
}

body[data-theme="dark"] .range-tabs button.active,
body[data-theme="dark"] .range-tabs button:hover {
  background: var(--ink);
  color: #151412;
}

body[data-theme="dark"] .trend-phase-read.split .trend-phase-lead {
  background:
    linear-gradient(135deg, rgba(196, 83, 53, 0.12), rgba(47, 97, 144, 0.12)),
    rgba(31, 29, 26, 0.96);
}

body[data-theme="dark"] .momentum-row:hover {
  background: #27231d;
}

body[data-theme="dark"] .momentum-row.active {
  background: #27231d;
}

body[data-theme="dark"] .trend-radar button.active {
  background: rgba(216, 168, 75, 0.14);
  box-shadow: inset 0 0 0 1px rgba(216, 168, 75, 0.24);
}

body[data-theme="dark"] .trend-pulse-cells button.active,
body[data-theme="dark"] .signal-pulse-cells button.active,
body[data-theme="dark"] .focus-session-cells button.active {
  border-bottom-color: var(--ink);
}

body[data-theme="dark"] tr.symbol-active td {
  background: rgba(216, 168, 75, 0.12);
}

body[data-theme="dark"] .side-leader-list button.symbol-active {
  background: rgba(216, 168, 75, 0.14);
  box-shadow: inset 0 0 0 1px rgba(216, 168, 75, 0.24);
}

body[data-theme="dark"] .side-extreme-list button.symbol-active {
  background: rgba(216, 168, 75, 0.14);
  box-shadow: inset 0 0 0 1px rgba(216, 168, 75, 0.24);
}

body[data-theme="dark"] .rotation-row.active {
  background: rgba(216, 168, 75, 0.14);
  box-shadow: inset 0 0 0 1px rgba(216, 168, 75, 0.24);
}

body[data-theme="dark"] .rotation-map-grid button.symbol-active {
  border-color: var(--ink);
  box-shadow: 0 0 0 3px rgba(216, 168, 75, 0.16), 0 14px 28px rgba(0, 0, 0, 0.24);
}

body[data-theme="dark"] .market-tooltip {
  border-color: rgba(245, 240, 230, 0.18);
  box-shadow: 0 22px 58px rgba(0, 0, 0, 0.34);
}

body[data-theme="dark"] .tip-head span,
body[data-theme="dark"] .tip-chart span,
body[data-theme="dark"] .tip-mini span,
body[data-theme="dark"] .tip-grid {
  color: var(--muted);
}

body[data-theme="dark"] .tip-chart {
  border-color: var(--line);
}

body[data-theme="dark"] .tip-grid b {
  color: var(--ink);
}

@media (max-width: 1280px) {
  .workbench {
    grid-template-columns: 1fr;
  }

  .session-tape {
    grid-template-columns: 1fr;
  }

  .session-chip-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .side-rail {
    position: static;
  }

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

  .trend-panel,
  .signal-panel,
  .regime-panel,
  .heatmap-panel,
  .bucket-panel,
  .momentum-panel {
    grid-column: 1 / -1;
  }
}

@media (max-width: 1080px) {
  .trend-cockpit {
    grid-template-columns: 1fr;
  }

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

  .momentum-panel .symbol-focus,
  .momentum-panel .symbol-momentum {
    grid-column: 1 / -1;
  }

  .trend-cockpit .trend-radar {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .trend-cockpit .trend-radar button:last-child {
    grid-column: auto;
  }

  .trend-phase-read {
    grid-template-columns: 1fr;
  }

  .trend-latest-confirm {
    grid-template-columns: 1fr;
  }

  .trend-latest-position {
    grid-template-columns: 1fr;
  }

  .trend-phase-path {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {
  .topbar {
    gap: 10px;
    padding: 10px 14px 12px;
  }

  .brand {
    gap: 10px;
  }

  .mark {
    width: 44px;
    height: 44px;
    font-size: 16px;
  }

  .dateplate {
    min-width: 0;
  }

  .timeboard {
    grid-template-columns: 36px minmax(0, 1fr) 36px;
  }

  .timeboard-copy {
    grid-column: 1 / -1;
  }

  .month-ticks {
    display: none;
  }

  .day-bars {
    margin-top: 8px;
  }

  .timeline-legend {
    flex-wrap: wrap;
    gap: 12px 18px;
  }

  .range-tabs {
    width: 100%;
    justify-content: space-between;
  }

  .trend-extremes,
  .signal-board,
  .signal-strips,
  .heatmap-rhythm,
  .heatmap-baton {
    grid-template-columns: 1fr;
  }

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

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

  .trend-pulse-strip,
  .trend-window-stack,
  .trend-latest-confirm,
  .trend-latest-position,
  .trend-phase-path,
  .rotation-conviction-strip,
  .rotation-acceleration-strip,
  .focus-window-stack,
  .signal-pulse-tape {
    grid-template-columns: 1fr;
  }

  .trend-window-cards,
  .focus-window-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .trend-pulse-cells {
    grid-template-columns: repeat(14, minmax(0, 1fr));
  }

  .signal-pulse-cells {
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }

  .side-flow-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

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

  .pulse-gauge {
    min-height: 236px;
  }

  .regime-tape {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }

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

  .range-tabs button {
    flex: 1;
  }

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

  .button {
    min-height: 38px;
    padding: 0 12px;
    font-size: 13px;
  }

  .momentum-list {
    grid-template-columns: 1fr;
  }

  .momentum-summary,
  .focus-extremes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .focus-session-tape {
    grid-template-columns: 1fr;
  }

  .focus-session-cells {
    grid-template-columns: repeat(14, minmax(0, 1fr));
  }

  .rotation-head,
  .rotation-brief,
  .rotation-map,
  .rotation-lanes {
    grid-template-columns: 1fr;
  }

  .rotation-map {
    min-height: 0;
  }

  .rotation-map-grid {
    min-height: 300px;
  }

  .rotation-map-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: none;
  }

  .rotation-brief > div {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .rotation-row {
    grid-template-columns: 52px minmax(0, 1fr) 68px 100px;
    gap: 7px;
  }

  .bucket-flow {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .bucket-signature {
    grid-template-columns: 1fr;
  }

  .bucket-risk {
    grid-template-columns: 1fr;
  }

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

  .focus-head,
  .focus-metrics,
  .focus-charts {
    grid-template-columns: 1fr;
  }

  .focus-head {
    display: grid;
  }

  .focus-contract {
    text-align: left;
  }

  .focus-metrics span {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .focus-metrics span:last-child {
    border-bottom: 0;
  }

  .momentum-row {
    grid-template-columns: 56px minmax(80px, 1fr) 78px 62px;
    gap: 7px;
  }
}

@media (max-width: 520px) {
  .brand h1 {
    font-size: 22px;
  }

  .brand p {
    margin-top: 3px;
    font-size: 10px;
    letter-spacing: 0.12em;
  }

  .dateplate b {
    font-size: 17px;
  }

  .dateplate span {
    margin-top: 2px;
    font-size: 11px;
  }

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

  .button {
    min-height: 36px;
    gap: 6px;
    padding: 0 8px;
    font-size: 12px;
  }

  .trend-radar small {
    font-size: 9px;
    white-space: normal;
  }

  .trend-window-cards,
  .focus-window-cards {
    grid-template-columns: 1fr;
  }

  .trend-pulse-cells span,
  .signal-pulse-cells span,
  .focus-session-cells span {
    display: none;
  }

  .momentum-summary,
  .focus-extremes,
  .momentum-list,
  .session-tape,
  .side-flow-grid,
  .heat-baton-list,
  .side-leader-list button,
  .side-lane-stack span,
  .side-extreme-list {
    grid-template-columns: 1fr;
  }

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

  .side-leader-list small {
    grid-column: auto;
  }

  .trend-pulse-cells button,
  .signal-pulse-cells button,
  .focus-session-cells button {
    gap: 0;
    padding-bottom: 3px;
  }

  .rotation-head span {
    padding: 9px 10px;
  }

  .rotation-brief > div {
    grid-template-columns: 1fr;
  }

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

  .rotation-map-grid {
    min-height: 270px;
  }

  .rotation-map-grid .quad {
    font-size: 9px;
  }

  .rotation-map-grid button {
    overflow: hidden;
    max-width: 48px;
    max-height: 48px;
    font-size: 9px;
  }

  .rotation-brief p {
    font-size: 12px;
  }

  .rotation-row {
    grid-template-columns: 48px minmax(0, 1fr) 62px;
    gap: 5px;
    padding: 6px 7px;
  }

  .rotation-row small {
    display: none;
  }

  .rotation-row em {
    font-size: 11px;
  }

  .flow-bucket {
    padding: 7px 5px;
  }

  .bucket-flow {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .signature-lanes {
    grid-template-columns: 1fr;
  }

  .risk-cards {
    grid-template-columns: 1fr;
  }

  .risk-cells {
    grid-template-columns: repeat(7, minmax(0, 1fr));
    min-height: 56px;
  }

  .risk-cells span:nth-child(even) {
    display: none;
  }

  .signature-lead small,
  .signature-lanes small {
    white-space: normal;
  }

  .momentum-row {
    grid-template-columns: 48px minmax(0, 1fr) 68px 54px;
    gap: 5px;
    padding: 6px 7px;
  }

  .mom-value,
  .mom-delta {
    font-size: 11px;
  }
}

@media (max-width: 520px) {
  .topbar {
    grid-template-columns: minmax(0, 1fr) 122px;
    align-items: center;
    gap: 8px 10px;
    padding: 8px 12px 9px;
  }

  .brand {
    min-width: 0;
    gap: 8px;
  }

  .brand > div {
    min-width: 0;
  }

  .mark {
    width: 36px;
    height: 36px;
    font-size: 13px;
  }

  .brand h1 {
    overflow: hidden;
    font-size: 17px;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .brand p {
    margin-top: 2px;
    overflow: hidden;
    font-size: 8px;
    letter-spacing: 0.08em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .dateplate {
    justify-self: end;
    max-width: 122px;
    text-align: right;
  }

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

  .dateplate b {
    font-size: 14px;
  }

  .dateplate span {
    font-size: 9px;
  }

  .toolbar {
    grid-column: 1 / -1;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
  }

  .button {
    min-height: 34px;
    gap: 4px;
    padding: 0 5px;
    font-size: 11px;
  }

  .button span:first-child {
    font-size: 12px;
  }

  .timeboard {
    gap: 8px;
    padding: 13px 0 11px;
  }

  .timeboard-copy {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
  }

  .timeboard-copy h2 {
    font-size: 18px;
  }

  .timeboard-copy p {
    margin-top: 0;
    font-size: 10px;
    text-align: right;
  }

  .day-bars {
    height: 30px;
    margin-top: 2px;
  }

  .timeline-range {
    height: 18px;
  }

  .timeline-rule {
    margin-bottom: 8px;
  }

  .timeline-legend {
    min-height: 17px;
    gap: 8px;
    font-size: 10px;
  }

  .timeline-legend span:nth-child(n + 2) {
    display: none;
  }

  .metric-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 0;
  }

  .metric {
    min-height: 74px;
    padding: 11px 12px 10px;
    border-top: 1px solid var(--line-strong);
    border-right: 1px solid var(--line-strong);
  }

  .metric.lead,
  .metric:last-child {
    grid-column: 1 / -1;
  }

  .metric:first-child {
    border-top: 0;
  }

  .metric:nth-child(odd),
  .metric.lead,
  .metric:last-child {
    border-right: 0;
  }

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

  .metric strong {
    margin-top: 6px;
    font-size: 22px;
  }

  .metric small {
    margin-top: 6px;
    font-size: 9px;
  }

  .session-tape {
    gap: 8px;
    padding-top: 10px;
  }

  .session-copy {
    padding: 10px 11px;
  }

  .session-copy strong {
    white-space: normal;
  }

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

  .session-chip-grid span,
  .session-chip-grid button {
    gap: 3px;
    padding: 8px 7px;
  }

  .session-chip-grid i,
  .session-chip-grid small {
    font-size: 8px;
  }

  .session-chip-grid b {
    font-size: 13px;
  }

  .report-stage .kzg-report {
    max-height: 860px;
  }

  .report-stage .kzg-report::after {
    height: 70px;
  }

  .side-rail {
    max-height: none;
    overflow: visible;
  }

  .side-rail .section-head {
    margin-bottom: 10px;
  }

  .search-wrap {
    margin-bottom: 9px;
    padding: 8px 9px;
  }

  .digest {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin-bottom: 10px;
  }

  .digest div {
    display: -webkit-box;
    overflow: hidden;
    padding: 8px 9px;
    font-size: 11px;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .digest div:first-child,
  .digest div:nth-child(2) {
    grid-column: 1 / -1;
  }

  .mini-table {
    max-height: 382px;
    overflow-y: auto;
  }

  .mini-head {
    position: sticky;
    top: 0;
    z-index: 1;
    align-items: stretch;
    padding: 8px 9px;
    background: var(--surface);
  }

  .stock-sort-tabs button {
    min-width: 34px;
    min-height: 28px;
    padding: 0 6px;
    font-size: 10px;
  }

  .stock-coverage-lead,
  .stock-expiry-lead,
  .stock-rank-split-lead,
  .stock-intensity-lead,
  .stock-bias-lead {
    grid-template-columns: 1fr;
  }

  .stock-coverage-lead b,
  .stock-expiry-lead b,
  .stock-rank-split-lead b,
  .stock-intensity-lead b,
  .stock-bias-lead b {
    grid-row: auto;
    grid-column: auto;
    justify-self: start;
    font-size: 12px;
  }

  .stock-coverage-lead small,
  .stock-coverage-cells small,
  .stock-expiry-lead small,
  .stock-expiry-cells small,
  .stock-rank-split-lead small,
  .stock-rank-split-cells small,
  .stock-intensity-lead small,
  .stock-intensity-cells small,
  .stock-bias-lead small,
  .stock-bias-cells small,
  .stock-bias-extremes small {
    display: none;
  }

  .stock-coverage-cells span,
  .stock-expiry-cells span,
  .stock-rank-split-cells span,
  .stock-intensity-cells span,
  .stock-bias-cells span,
  .stock-bias-extremes button {
    min-height: 38px;
    align-content: center;
    padding: 6px 5px;
  }

  .stock-bias-cells b {
    font-size: 10px;
  }

  .side-intel {
    gap: 11px;
    margin-top: 12px;
  }

  .side-module {
    gap: 8px;
    padding-top: 11px;
  }

  .side-flow-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  .side-flow-grid span {
    gap: 3px;
    padding: 8px 7px;
  }

  .side-flow-grid b {
    font-size: 13px;
  }

  .side-bucket-strip {
    min-height: 48px;
    padding: 6px 5px 4px;
  }

  .side-bucket-strip span {
    height: 38px;
  }

  .side-module p {
    display: -webkit-box;
    overflow: hidden;
    font-size: 11px;
    line-height: 1.42;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .side-leader-list,
  .side-lane-stack,
  .side-extreme-list {
    gap: 6px;
  }

  .side-leader-list button {
    grid-template-columns: 34px 54px minmax(0, 1fr);
    gap: 2px 7px;
    padding: 7px 8px;
  }

  .side-leader-list small {
    grid-column: 3;
    font-size: 9px;
  }

  .side-lane-stack span {
    grid-template-columns: 42px 54px minmax(0, 1fr);
    gap: 6px;
    padding: 7px 8px;
  }

  .side-concentration-read {
    gap: 6px;
    padding: 8px;
  }

  .side-concentration-head {
    grid-template-columns: 1fr;
    gap: 2px;
  }

  .side-concentration-rows {
    gap: 5px;
  }

  .side-concentration-rows span {
    padding: 6px 5px;
  }

  .side-extreme-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .side-extreme-list button {
    padding: 7px 6px;
  }

  .side-extreme-list b {
    font-size: 12px;
  }
}

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

  .button {
    min-height: 32px;
  }
}

@media (max-width: 520px) {
  .rotation-head {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  .rotation-head span {
    gap: 3px;
    padding: 8px 9px;
  }

  .rotation-head i,
  .rotation-brief i,
  .rotation-map-lead span,
  .rotation-map-stats i,
  .rotation-conviction-lead span,
  .rotation-conviction-cells i,
  .rotation-acceleration-lead span,
  .rotation-acceleration-cells i,
  .rotation-map-stats small {
    font-size: 8px;
  }

  .rotation-conviction-cells,
  .rotation-acceleration-cells {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rotation-acceleration-cells small {
    line-height: 1.24;
    white-space: normal;
  }

  .rotation-head b {
    font-size: 14px;
  }

  .rotation-brief {
    gap: 6px;
  }

  .rotation-brief p {
    display: -webkit-box;
    overflow: hidden;
    padding: 9px 10px;
    font-size: 11px;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .rotation-brief > div {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }

  .rotation-brief span {
    gap: 3px;
    padding: 8px 7px;
  }

  .rotation-brief b {
    font-size: 11px;
  }

  .rotation-map {
    gap: 6px;
  }

  .rotation-map-lead {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 5px 9px;
    padding: 9px 10px;
  }

  .rotation-map-lead strong {
    font-size: 25px;
  }

  .rotation-map-lead small {
    grid-column: 1 / -1;
    overflow: hidden;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .rotation-map-grid {
    min-height: 226px;
  }

  .rotation-map-grid button {
    max-width: 42px;
    max-height: 42px;
    min-width: 22px;
    min-height: 22px;
    font-size: 8px;
  }

  .rotation-map-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
  }

  .rotation-map-stats span {
    gap: 2px;
    padding: 7px 5px;
  }

  .rotation-map-stats b {
    font-size: 15px;
  }

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

  .rotation-lane-title {
    padding: 8px 9px;
    font-size: 10px;
  }

  .rotation-row {
    grid-template-columns: 43px minmax(0, 1fr) 44px;
    min-height: 36px;
    gap: 4px;
    padding: 5px 6px;
  }

  .rotation-row span,
  .rotation-row small {
    display: none;
  }

  .rotation-row strong {
    overflow: hidden;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .rotation-row em {
    font-size: 10px;
  }

  .focus-head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
  }

  .focus-head strong {
    font-size: 28px;
  }

  .focus-head small {
    font-size: 10px;
  }

  .focus-contract {
    min-width: 118px;
    text-align: right;
  }

  .focus-contract b {
    margin-top: 4px;
    font-size: 11px;
  }

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

  .focus-metrics span {
    min-height: 76px;
    padding: 9px 10px;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }

  .focus-metrics span:nth-child(2n),
  .focus-extremes button:nth-child(2n) {
    border-right: 0;
  }

  .focus-metrics span:nth-last-child(-n + 2),
  .focus-extremes button:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .focus-metrics b {
    font-size: 20px;
  }

  .focus-extremes button {
    min-height: 68px;
    padding: 8px 10px;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }

  .focus-window-stack {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 9px 10px 0;
  }

  .focus-window-lead {
    min-height: 70px;
    padding: 8px 10px;
  }

  .focus-window-lead strong {
    font-size: 22px;
  }

  .focus-window-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
  }

  .focus-window-cards span {
    gap: 4px;
    padding: 8px 6px 7px;
  }

  .focus-window-cards b {
    font-size: 13px;
  }

  .focus-window-cards i,
  .focus-window-cards small {
    font-size: 8px;
  }

  .focus-session-tape {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 7px;
    padding: 9px 10px 2px;
  }

  .focus-session-tape > div:first-child {
    padding: 7px;
  }

  .focus-session-cells {
    grid-template-columns: repeat(28, minmax(0, 1fr));
    min-height: 44px;
    gap: 2px;
  }

  .focus-session-cells button {
    height: 44px;
  }

  .focus-charts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    padding: 9px 10px 11px;
  }

  .focus-charts span {
    font-size: 9px;
  }

  .focus-charts svg {
    height: 48px;
  }

  .momentum-summary {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
  }

  .momentum-summary span {
    gap: 3px;
    padding: 7px 6px;
  }

  .momentum-summary i,
  .momentum-summary small {
    font-size: 8px;
  }

  .momentum-summary b {
    font-size: 13px;
  }

  .momentum-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  .momentum-row {
    grid-template-columns: 44px minmax(0, 1fr) 43px;
    min-height: 37px;
    gap: 5px;
    padding: 5px 6px;
  }

  .mom-value {
    display: none;
  }

  .mom-symbol {
    overflow: hidden;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mom-spark svg {
    height: 26px;
  }

  .mom-delta {
    font-size: 10px;
  }
}

@media (max-width: 520px) {
  .analysis-grid {
    gap: 16px;
  }

  .trend-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    margin-bottom: 9px;
    padding: 10px 11px;
  }

  .trend-summary strong {
    font-size: 23px;
  }

  .trend-kpis {
    gap: 3px;
  }

  .trend-kpis span {
    font-size: 9px;
  }

  .trend-cockpit {
    gap: 10px;
  }

  .trend-cockpit .trend-lens {
    gap: 6px;
    margin-bottom: 7px;
  }

  .trend-cockpit .trend-radar {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin-bottom: 7px;
  }

  .trend-radar button,
  .trend-lens span {
    min-height: 62px;
    padding: 8px 7px;
  }

  .trend-radar strong,
  .trend-lens b {
    font-size: 14px;
  }

  .trend-radar small,
  .trend-lens small {
    display: -webkit-box;
    overflow: hidden;
    line-height: 1.25;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .trend-chart svg {
    min-height: 148px;
  }

  .trend-phase-read,
  .trend-latest-confirm,
  .trend-latest-position,
  .trend-phase-path,
  .trend-window-stack {
    grid-template-columns: 1fr;
    gap: 7px;
    margin-bottom: 10px;
  }

  .trend-phase-lead,
  .trend-latest-lead,
  .trend-latest-position-lead,
  .trend-phase-path-lead {
    padding: 9px 10px;
  }

  .trend-phase-lead strong,
  .trend-latest-lead strong,
  .trend-latest-position-lead strong,
  .trend-phase-path-lead strong {
    font-size: 14px;
  }

  .trend-phase-cells,
  .trend-latest-cells,
  .trend-latest-position-cells,
  .trend-phase-path-cells {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  .trend-phase-cells span,
  .trend-latest-cells span,
  .trend-latest-position-cells span,
  .trend-latest-position-cells button,
  .trend-phase-path-cells span,
  .trend-phase-path-cells button {
    padding: 8px 7px;
  }

  .trend-phase-cells b,
  .trend-latest-cells b,
  .trend-latest-position-cells b,
  .trend-phase-path-cells b {
    font-size: 13px;
  }

  .trend-cockpit-right svg {
    max-height: 156px;
  }

  .trend-cockpit-right .trend-extremes {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
    margin: 7px 0;
  }

  .trend-extremes button {
    display: grid;
    gap: 3px;
    padding: 7px 6px;
    font-size: 9px;
  }

  .trend-extremes b {
    overflow: hidden;
    font-size: 11px;
    text-overflow: ellipsis;
  }

  .trend-cockpit-right .trend-pulse-strip {
    grid-template-columns: 60px minmax(0, 1fr);
    gap: 7px;
    margin-top: 7px;
  }

  .trend-pulse-strip > div:first-child {
    padding: 7px 6px;
  }

  .trend-pulse-cells {
    grid-template-columns: repeat(28, minmax(0, 1fr));
    gap: 2px;
  }

  .trend-pulse-cells i {
    min-height: 7px;
  }

  .trend-cockpit + .trend-window-stack {
    grid-template-columns: 0.72fr 1.55fr;
    gap: 7px;
    margin-top: 9px;
  }

  .trend-window-lead {
    padding: 8px 9px;
  }

  .trend-window-lead strong {
    font-size: 21px;
  }

  .trend-window-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
  }

  .trend-window-cards span {
    gap: 4px;
    padding: 8px 6px 7px;
  }

  .trend-window-cards b {
    font-size: 12px;
  }

  .trend-window-cards small {
    font-size: 8px;
  }

  .signal-board {
    gap: 9px;
  }

  .pulse-gauge {
    min-height: 128px;
  }

  .signal-strips {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  .signal-strip {
    min-height: 82px;
    padding: 8px 8px 7px;
  }

  .signal-pulse-tape {
    grid-template-columns: 60px minmax(0, 1fr);
    gap: 7px;
  }

  .heatmap-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
    margin-bottom: 8px;
  }

  .heatmap-summary span {
    gap: 3px;
    padding: 8px 6px 7px;
  }

  .heatmap-summary i,
  .heatmap-summary small {
    font-size: 8px;
  }

  .heatmap-summary b {
    font-size: 13px;
  }

  .heatmap-rhythm {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
    margin: 0 0 8px;
  }

  .heat-rhythm-card {
    grid-template-columns: 1fr;
    gap: 3px;
    padding: 8px 6px 7px;
  }

  .heat-rhythm-card span,
  .heat-rhythm-card small {
    font-size: 8px;
  }

  .heat-rhythm-card strong,
  .heat-rhythm-card b {
    grid-row: auto;
    font-size: 12px;
  }

  .heatmap-baton {
    grid-template-columns: 0.78fr 1.35fr;
    gap: 6px;
    margin: 0 0 9px;
  }

  .heat-baton-head {
    padding: 8px 9px;
  }

  .heat-baton-head strong {
    font-size: 18px;
  }

  .heat-baton-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
  }

  .heat-baton-row {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 4px;
    padding: 7px 6px;
  }

  .heat-baton-row b,
  .heat-baton-row small {
    display: none;
  }

  .heat-baton-row strong {
    font-size: 11px;
  }

  .heat-baton-track {
    height: 5px;
  }

  .heat-cell {
    min-height: 22px;
    padding: 4px 1px;
    font-size: 7px;
  }

  .heat-cell.symbol {
    font-size: 8px;
  }

  .bucket-profile {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
    margin-bottom: 8px;
  }

  .bucket-profile span {
    gap: 3px;
    padding: 8px 6px 7px;
  }

  .bucket-profile i {
    font-size: 8px;
  }

  .bucket-profile b {
    font-size: 11px;
  }

  .bucket-flow {
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 4px;
    margin-bottom: 8px;
  }

  .flow-bucket {
    gap: 3px;
    padding: 7px 3px 6px;
  }

  .flow-bucket i {
    font-size: 8px;
  }

  .flow-bucket b {
    font-size: 10px;
  }

  .flow-bucket small {
    display: none;
  }

  .bucket-signature {
    grid-template-columns: 0.82fr 1.28fr;
    gap: 6px;
    margin-bottom: 8px;
  }

  .signature-lead {
    padding: 8px 9px;
  }

  .signature-lead strong {
    font-size: 18px;
  }

  .signature-lead small {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .signature-lanes {
    gap: 5px;
  }

  .signature-lanes span {
    gap: 4px;
    padding: 8px 5px 7px;
  }

  .signature-lanes b {
    font-size: 12px;
  }

  .signature-lanes small {
    display: none;
  }

  .bucket-risk {
    gap: 6px;
    margin-bottom: 8px;
  }

  .risk-lead {
    min-height: 92px;
    padding: 8px 9px;
  }

  .risk-lead strong {
    font-size: 25px;
  }

  .risk-lead small {
    -webkit-line-clamp: 2;
  }

  .risk-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
  }

  .risk-cards span {
    gap: 4px;
    padding: 8px 6px 7px;
  }

  .risk-cards b {
    font-size: 11px;
  }

  .risk-cards small {
    font-size: 8px;
  }

  .risk-pulse {
    grid-template-columns: 56px minmax(0, 1fr);
    grid-template-rows: none;
    gap: 6px;
    padding: 8px 7px 7px;
  }

  .risk-pulse > div:first-child {
    display: grid;
    align-content: center;
    gap: 3px;
  }

  .risk-cells {
    grid-template-columns: repeat(13, minmax(0, 1fr));
    min-height: 46px;
    gap: 2px;
  }

  .risk-cells span:nth-child(even) {
    display: flex;
  }

  .bucket-bars {
    gap: 2px;
    min-height: 160px;
  }

  .bar {
    min-height: 148px;
    gap: 5px;
  }

  .bar-track {
    min-height: 104px;
  }

  .bar strong,
  .bar span {
    font-size: 8px;
  }

  .momentum-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
  }

  .momentum-row {
    grid-template-columns: 1fr;
    min-height: 62px;
    align-content: center;
    gap: 4px;
    padding: 7px 6px;
  }

  .mom-symbol,
  .mom-delta {
    text-align: center;
  }

  .mom-spark {
    display: none;
  }

  .mom-delta {
    font-size: 11px;
  }
}

.heat-lane-board {
  display: grid;
  gap: 0;
  padding: 6px 7px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.44);
}

.heat-lane-axis,
.heat-lane-row {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) 76px;
  gap: 8px;
  align-items: center;
}

.heat-lane-axis {
  padding: 0 6px 3px;
  border-bottom: 1px solid rgba(201, 194, 178, 0.52);
  color: var(--muted);
  font-size: 9px;
  font-weight: 780;
  font-variant-numeric: tabular-nums;
}

.heat-lane-axis > span:nth-child(2) {
  display: grid;
  grid-template-columns: repeat(13, minmax(0, 1fr));
  gap: 3px;
}

.heat-lane-axis span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.heat-lane-row {
  min-width: 0;
  min-height: 27px;
  padding: 3px 6px;
  border: 0;
  border-bottom: 1px solid rgba(201, 194, 178, 0.45);
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  text-align: left;
  font-variant-numeric: tabular-nums;
}

.heat-lane-row:hover,
.heat-lane-row.symbol-active {
  background: rgba(255, 255, 255, 0.7);
}

.heat-lane-row.hot {
  box-shadow: inset 2px 0 0 rgba(196, 83, 53, 0.68);
}

.heat-lane-row.cool {
  box-shadow: inset 2px 0 0 rgba(47, 97, 144, 0.68);
}

.heat-lane-row strong,
.heat-lane-meta b {
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  font-weight: 860;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.heat-lane-track {
  display: grid;
  grid-template-columns: repeat(13, minmax(0, 1fr));
  align-items: end;
  height: 10px;
  min-width: 0;
  gap: 2px;
  padding: 1px 0 0;
  border-bottom: 1px solid rgba(201, 194, 178, 0.58);
}

.heat-lane-track i {
  display: block;
  height: 4px;
  min-height: 4px;
  border-radius: 999px;
  background: var(--c);
  opacity: 0.62;
  filter: saturate(0.82);
}

.heat-lane-meta {
  display: grid;
  align-items: center;
  justify-items: end;
  min-width: 0;
}

.heat-lane-meta small {
  display: none;
}

.regime-map {
  min-height: 250px;
}

.regime-tape {
  grid-template-columns: repeat(60, minmax(0, 1fr));
  gap: 2px 1px;
  padding: 8px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.44);
}

.regime-tape button {
  aspect-ratio: auto;
  height: 6px;
  border: 0;
  border-radius: 2px;
  background: var(--cell-color, var(--gold));
  opacity: calc(0.18 + (var(--heat) * 0.32));
}

.regime-tape button:hover {
  opacity: 0.88;
  transform: translateY(-1px);
}

.regime-tape button.selected {
  opacity: 1;
  border: 0;
  box-shadow: 0 0 0 2px var(--surface), 0 0 0 3px var(--ink);
}

body[data-theme="dark"] .heat-lane-board,
body[data-theme="dark"] .heat-lane-row,
body[data-theme="dark"] .regime-tape {
  border-color: rgba(245, 240, 230, 0.15);
  background: rgba(245, 240, 230, 0.04);
}

body[data-theme="dark"] .heat-lane-row:hover,
body[data-theme="dark"] .heat-lane-row.symbol-active {
  border-color: rgba(245, 240, 230, 0.44);
  background: rgba(245, 240, 230, 0.08);
}

body[data-theme="dark"] .heat-lane-track {
  border-bottom-color: rgba(245, 240, 230, 0.14);
}

/* v27 evolution: tighter dashboard fit, ledger-style analysis, fewer blocky surfaces. */
body {
  background:
    linear-gradient(90deg, rgba(17, 17, 17, 0.024) 1px, transparent 1px) 0 0 / 88px 88px,
    linear-gradient(180deg, rgba(154, 106, 18, 0.026), transparent 280px),
    var(--paper);
}

main {
  padding-bottom: 34px;
}

.panel {
  padding: 15px;
}

.analysis-grid {
  grid-auto-flow: dense;
  gap: 16px;
}

.trend-drift-ledger {
  display: grid;
  grid-template-columns: minmax(170px, 0.52fr) minmax(0, 1.48fr);
  gap: 8px;
  margin-top: 10px;
  font-variant-numeric: tabular-nums;
}

.trend-drift-lead,
.trend-drift-rows span {
  min-width: 0;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.58);
}

.trend-drift-lead {
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 10px 11px;
  border-left: 4px solid var(--gold);
}

.trend-drift-lead.hot {
  border-left-color: #c45335;
}

.trend-drift-lead.cool {
  border-left-color: #2f6190;
}

.trend-drift-lead span,
.trend-drift-lead small,
.trend-drift-rows i,
.trend-drift-rows small {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 820;
  text-overflow: ellipsis;
}

.trend-drift-lead strong {
  color: var(--ink);
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 26px;
  line-height: 1;
  font-weight: 400;
}

.trend-drift-lead small {
  line-height: 1.35;
}

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

.trend-drift-rows span {
  display: grid;
  gap: 5px;
  padding: 9px 10px 8px;
  border-top: 3px solid var(--gold);
}

.trend-drift-rows .hot {
  border-top-color: #c45335;
}

.trend-drift-rows .cool {
  border-top-color: #2f6190;
}

.trend-drift-rows b {
  overflow: hidden;
  color: var(--ink);
  font-size: 16px;
  line-height: 1;
  font-weight: 840;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trend-drift-rows small {
  white-space: nowrap;
}

.trend-drift-rows em {
  display: block;
  width: var(--w);
  height: 3px;
  background: rgba(154, 106, 18, 0.76);
}

.trend-drift-rows .hot em {
  background: rgba(196, 83, 53, 0.72);
}

.trend-drift-rows .cool em {
  background: rgba(47, 97, 144, 0.72);
}

.bucket-pressure-ribbon {
  display: grid;
  grid-template-columns: 156px minmax(0, 1fr);
  gap: 8px;
  margin: -4px 0 10px;
  font-variant-numeric: tabular-nums;
}

.bucket-pressure-ribbon > div:first-child,
.bucket-pressure-track {
  min-width: 0;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.58);
}

.bucket-pressure-ribbon > div:first-child {
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 9px 10px;
  border-left: 4px solid var(--gold);
}

.bucket-pressure-ribbon.hot > div:first-child {
  border-left-color: #c45335;
}

.bucket-pressure-ribbon.cool > div:first-child {
  border-left-color: #2f6190;
}

.bucket-pressure-ribbon span,
.bucket-pressure-ribbon small {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-weight: 820;
  text-overflow: ellipsis;
}

.bucket-pressure-ribbon strong {
  color: var(--ink);
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 23px;
  line-height: 1;
  font-weight: 400;
}

.bucket-pressure-ribbon small {
  line-height: 1.32;
}

.bucket-pressure-track {
  display: grid;
  grid-template-columns: repeat(13, minmax(0, 1fr));
  align-items: end;
  gap: 3px;
  padding: 8px 8px 6px;
}

.bucket-pressure-track span {
  display: grid;
  align-content: end;
  gap: 4px;
  min-width: 0;
  min-height: 54px;
}

.bucket-pressure-track i {
  display: block;
  width: var(--w);
  height: 5px;
  min-width: 8px;
  background: rgba(154, 106, 18, 0.58);
}

.bucket-pressure-track .hot i {
  background: rgba(196, 83, 53, 0.72);
}

.bucket-pressure-track .cool i {
  background: rgba(47, 97, 144, 0.72);
}

.bucket-pressure-track b {
  overflow: hidden;
  color: var(--muted);
  font-size: 8px;
  font-weight: 780;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-theme="dark"] {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.022) 1px, transparent 1px) 0 0 / 88px 88px,
    linear-gradient(180deg, rgba(216, 168, 75, 0.045), transparent 280px),
    var(--paper);
}

body[data-theme="dark"] .trend-drift-lead,
body[data-theme="dark"] .trend-drift-rows span,
body[data-theme="dark"] .bucket-pressure-ribbon > div:first-child,
body[data-theme="dark"] .bucket-pressure-track {
  border-color: rgba(245, 240, 230, 0.15);
  background: rgba(245, 240, 230, 0.04);
}

body[data-theme="dark"] .trend-drift-lead span,
body[data-theme="dark"] .trend-drift-lead small,
body[data-theme="dark"] .trend-drift-rows i,
body[data-theme="dark"] .trend-drift-rows small,
body[data-theme="dark"] .bucket-pressure-ribbon span,
body[data-theme="dark"] .bucket-pressure-ribbon small,
body[data-theme="dark"] .bucket-pressure-track b {
  color: var(--muted);
}

@media (min-width: 1281px) {
  .bucket-panel .bucket-bars {
    min-height: 268px;
  }

  .bucket-panel .bar {
    min-height: 252px;
  }

  .bucket-panel .bar-track {
    min-height: 186px;
  }

  .rotation-map-grid {
    min-height: 342px;
  }
}

@media print {
  body {
    visibility: hidden;
  }
}

@media (max-width: 820px) {
  .regime-map {
    min-height: 236px;
  }

  .regime-tape {
    grid-template-columns: repeat(40, minmax(0, 1fr));
    gap: 2px 1px;
  }

  .regime-tape button {
    height: 5px;
  }
}

@media (max-width: 520px) {
  .panel {
    padding: 11px;
  }

  .heat-lane-board {
    gap: 3px;
    padding: 6px;
  }

  .heat-lane-axis {
    display: none;
  }

  .heat-lane-axis,
  .heat-lane-row {
    grid-template-columns: 42px minmax(0, 1fr) 62px;
    gap: 6px;
  }

  .heat-lane-axis {
    padding-inline: 6px;
    font-size: 8px;
  }

  .heat-lane-row {
    min-height: 25px;
    padding: 3px 5px;
  }

  .heat-lane-row strong,
  .heat-lane-meta b {
    font-size: 11px;
  }

  .heat-lane-track {
    height: 9px;
    gap: 2px;
  }

  .heat-lane-track i {
    height: 3px;
    min-height: 3px;
  }

  .heat-lane-meta small {
    font-size: 8px;
  }

  .regime-tape {
    grid-template-columns: repeat(40, minmax(0, 1fr));
    padding: 7px;
  }

  .regime-tape button {
    height: 5px;
  }

  .trend-drift-ledger,
  .bucket-pressure-ribbon {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .trend-drift-rows {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
  }

  .trend-drift-rows span {
    gap: 4px;
    padding: 8px 6px 7px;
  }

  .trend-drift-rows b {
    font-size: 12px;
  }

  .trend-drift-rows i,
  .trend-drift-rows small,
  .trend-drift-lead span,
  .trend-drift-lead small {
    font-size: 8px;
  }

  .trend-drift-lead {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 4px 8px;
    padding: 8px 9px;
  }

  .trend-drift-lead strong {
    font-size: 20px;
  }

  .trend-drift-lead small {
    grid-column: 1 / -1;
  }

  .bucket-pressure-ribbon {
    margin-bottom: 8px;
  }

  .bucket-pressure-ribbon > div:first-child {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 3px 8px;
    padding: 8px 9px;
  }

  .bucket-pressure-ribbon strong {
    font-size: 19px;
  }

  .bucket-pressure-ribbon small {
    grid-column: 1 / -1;
    white-space: nowrap;
  }

  .bucket-pressure-track {
    gap: 2px;
    padding: 7px 6px 5px;
  }

  .bucket-pressure-track span {
    min-height: 32px;
    gap: 2px;
  }

  .bucket-pressure-track i {
    height: 4px;
    min-width: 4px;
  }
}

@media (max-width: 360px) {
  .topbar {
    grid-template-columns: 1fr;
  }

  .dateplate {
    display: none;
  }

  .brand h1 {
    font-size: 16px;
    text-overflow: clip;
  }

  .brand p {
    max-width: 190px;
  }
}

/* v31-v35 cohesion pass: thinner ledgers, fewer floating boxes, denser lower analysis. */
.section-head {
  margin-bottom: 12px;
}

.rotation-map {
  gap: 10px;
}

.rotation-map-grid {
  min-height: 304px;
  background:
    linear-gradient(90deg, transparent calc(var(--x0) - 1px), rgba(17, 17, 17, 0.14) var(--x0), transparent calc(var(--x0) + 1px)),
    linear-gradient(180deg, transparent calc(var(--y0) - 1px), rgba(17, 17, 17, 0.14) var(--y0), transparent calc(var(--y0) + 1px)),
    radial-gradient(circle at 82% 18%, rgba(196, 83, 53, 0.08), transparent 34%),
    radial-gradient(circle at 16% 82%, rgba(47, 97, 144, 0.08), transparent 34%),
    rgba(255, 255, 255, 0.42);
}

.rotation-map-grid .axis-x,
.rotation-map-grid .axis-y {
  display: none;
}

.rotation-map-grid button {
  border-radius: 999px;
  box-shadow: 0 0 0 1px rgba(17, 17, 17, 0.08), 0 7px 18px rgba(17, 17, 17, 0.08);
}

.rotation-map-stats {
  grid-template-rows: repeat(4, minmax(0, auto));
}

.rotation-map-stats span {
  padding: 9px 10px;
  background: rgba(255, 255, 255, 0.48);
}

.rotation-lanes {
  gap: 10px;
}

.rotation-lane {
  border-left: 3px solid var(--gold);
  background: rgba(255, 255, 255, 0.42);
}

.rotation-lane.hot,
.rotation-lane.cool {
  box-shadow: none;
}

.rotation-lane.hot {
  border-left-color: #c45335;
}

.rotation-lane.cool {
  border-left-color: #2f6190;
}

.rotation-lane-title {
  padding: 8px 10px;
  background: rgba(255, 255, 255, 0.46);
}

.rotation-row {
  grid-template-columns: 54px minmax(78px, 1fr) 66px 104px;
  min-height: 35px;
  gap: 8px;
  padding: 5px 8px;
}

.rotation-row svg {
  height: 21px;
}

.rotation-row small {
  font-size: 10px;
}

.symbol-focus {
  margin-bottom: 10px;
  background: rgba(255, 255, 255, 0.5);
}

.focus-head {
  padding: 11px 13px;
}

.focus-head strong {
  font-size: 30px;
}

.focus-contract b {
  margin-top: 5px;
}

.focus-metrics span {
  padding: 9px 12px;
}

.focus-metrics b {
  font-size: 20px;
}

.focus-extremes button {
  padding: 8px 12px;
}

.focus-window-stack,
.focus-session-tape,
.focus-charts {
  padding-left: 12px;
  padding-right: 12px;
}

.focus-window-stack {
  gap: 8px;
  padding-top: 10px;
}

.focus-window-lead,
.focus-window-cards span,
.focus-session-tape > div:first-child {
  background: rgba(255, 255, 255, 0.48);
}

.focus-window-cards span {
  padding: 8px 9px 7px;
}

.focus-session-tape {
  gap: 9px;
  padding-top: 10px;
}

.focus-session-cells {
  min-height: 48px;
  gap: 2px;
}

.focus-session-cells button {
  height: 48px;
}

.focus-session-cells i {
  min-height: 6px;
  opacity: 0.84;
}

.focus-charts {
  gap: 10px;
  padding-top: 10px;
  padding-bottom: 12px;
}

.focus-charts svg {
  height: 50px;
}

.symbol-momentum {
  gap: 10px;
}

.momentum-summary {
  gap: 6px;
}

.momentum-summary span {
  padding: 8px 9px;
  background: rgba(255, 255, 255, 0.48);
}

.momentum-summary b {
  font-size: 14px;
}

.momentum-list {
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--line);
}

.momentum-row {
  min-height: 36px;
  padding: 4px 8px;
  border: 0;
  border-radius: 0;
  background: rgba(255, 255, 255, 0.66);
}

.momentum-row:hover,
.momentum-row.active {
  background: rgba(255, 255, 255, 0.9);
}

.momentum-row.active {
  box-shadow: inset 3px 0 0 var(--gold);
}

.mom-spark svg {
  height: 24px;
}

.mom-value,
.mom-delta {
  font-size: 11px;
}

body[data-theme="dark"] .rotation-map-grid,
body[data-theme="dark"] .rotation-map-stats span,
body[data-theme="dark"] .rotation-lane,
body[data-theme="dark"] .rotation-lane-title,
body[data-theme="dark"] .symbol-focus,
body[data-theme="dark"] .focus-window-lead,
body[data-theme="dark"] .focus-window-cards span,
body[data-theme="dark"] .focus-session-tape > div:first-child,
body[data-theme="dark"] .momentum-summary span,
body[data-theme="dark"] .momentum-row {
  background: rgba(245, 240, 230, 0.04);
}

body[data-theme="dark"] .rotation-map-grid {
  background:
    linear-gradient(90deg, transparent calc(var(--x0) - 1px), rgba(245, 240, 230, 0.14) var(--x0), transparent calc(var(--x0) + 1px)),
    linear-gradient(180deg, transparent calc(var(--y0) - 1px), rgba(245, 240, 230, 0.14) var(--y0), transparent calc(var(--y0) + 1px)),
    radial-gradient(circle at 82% 18%, rgba(224, 121, 110, 0.11), transparent 34%),
    radial-gradient(circle at 16% 82%, rgba(124, 175, 223, 0.1), transparent 34%),
    rgba(245, 240, 230, 0.04);
}

@media (min-width: 1500px) {
  .momentum-panel .momentum-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1280px) {
  .rotation-map-grid {
    min-height: 286px;
  }
}

@media (max-width: 520px) {
  .rotation-map-grid {
    min-height: 204px;
  }

  .rotation-row {
    min-height: 33px;
  }

  .focus-head {
    padding: 9px 11px;
  }

  .focus-head strong {
    font-size: 26px;
  }

  .focus-window-stack,
  .focus-session-tape,
  .focus-charts {
    padding-left: 9px;
    padding-right: 9px;
  }

  .focus-charts svg {
    height: 42px;
  }

  .momentum-row {
    min-height: 42px;
  }
}

/* v36-v40 cockpit pass: quieter field, tighter command surface, more unified ledgers. */
body {
  background:
    linear-gradient(90deg, rgba(17, 17, 17, 0.016) 1px, transparent 1px) 0 0 / 116px 116px,
    linear-gradient(180deg, rgba(154, 106, 18, 0.022), transparent 320px),
    var(--paper);
}

body[data-theme="dark"] {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.014) 1px, transparent 1px) 0 0 / 116px 116px,
    linear-gradient(180deg, rgba(216, 168, 75, 0.032), transparent 320px),
    var(--paper);
}

.topbar {
  grid-template-columns: minmax(310px, 1fr) minmax(230px, auto) minmax(410px, 1fr);
  gap: 16px;
  padding: 10px 30px;
}

.mark {
  width: 48px;
  height: 48px;
  font-size: 18px;
}

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

.brand p {
  margin-top: 4px;
  font-size: 10px;
  letter-spacing: 0.16em;
}

.dateplate b {
  font-size: 20px;
}

.button {
  min-height: 42px;
  padding: 0 18px;
}

main {
  max-width: 1580px;
}

.timeboard {
  grid-template-columns: 156px 42px minmax(0, 1fr) 42px;
  gap: 14px;
  padding: 18px 0 14px;
}

.nav-day {
  width: 42px;
  height: 44px;
  font-size: 31px;
}

.day-bars {
  height: 31px;
}

.month-ticks {
  height: 18px;
  margin-bottom: 4px;
  font-size: 11px;
}

.timeline-legend {
  gap: 18px;
}

.metric-rail {
  grid-template-columns: 1.18fr repeat(7, minmax(108px, 1fr));
}

.metric {
  min-height: 92px;
  padding: 15px 18px 13px;
}

.metric strong {
  margin-top: 7px;
  font-size: clamp(20px, 1.78vw, 28px);
}

.metric small {
  margin-top: 7px;
}

.session-tape {
  grid-template-columns: minmax(280px, 0.78fr) minmax(0, 1.68fr);
  gap: 11px;
  padding-top: 11px;
}

.session-copy,
.session-chip-grid span,
.session-chip-grid button {
  background: rgba(255, 255, 255, 0.58);
}

.session-copy {
  padding: 11px 13px;
}

.session-chip-grid {
  gap: 6px;
}

.session-chip-grid span,
.session-chip-grid button {
  padding: 9px 9px;
}

.workbench {
  grid-template-columns: minmax(0, 1fr) 368px;
  gap: 16px;
  padding-top: 18px;
}

.report-stage,
.side-rail,
.panel {
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 12px 34px rgba(17, 17, 17, 0.042);
}

.report-stage,
.side-rail,
.panel {
  padding: 14px;
}

.side-rail {
  top: 82px;
  max-height: calc(100vh - 96px);
}

.search-wrap,
.mini-table,
.side-flow-grid span,
.side-leader-list button,
.side-lane-stack span,
.side-extreme-list button,
.heatmap-summary span,
.heat-rhythm-card,
.heat-baton-head,
.heat-baton-row,
.bucket-profile-card,
.bucket-risk-card,
.rotation-head span,
.rotation-map-stats span,
.rotation-lane,
.momentum-summary span,
.symbol-focus,
.trend-drift-lead,
.trend-drift-rows span,
.bucket-pressure-ribbon > div:first-child,
.bucket-pressure-track {
  border-radius: 0;
}

.section-head h2 {
  font-size: 19px;
}

.section-head p {
  margin-top: 5px;
  font-size: 11px;
}

.analysis-grid {
  gap: 15px;
  margin-top: 16px;
}

.trend-chart {
  min-height: 315px;
}

.trend-drift-ledger {
  grid-template-columns: minmax(154px, 0.48fr) minmax(0, 1.52fr);
  gap: 7px;
}

.trend-drift-lead {
  padding: 9px 10px;
}

.trend-drift-lead strong {
  font-size: 24px;
}

.trend-drift-rows {
  gap: 6px;
}

.trend-drift-rows span {
  padding: 8px 9px 7px;
}

.heatmap-summary,
.heatmap-rhythm {
  gap: 6px;
  margin-bottom: 10px;
}

.heatmap-baton {
  gap: 7px;
  margin-bottom: 11px;
}

.heat-lane-board {
  border-radius: 0;
}

.bucket-panel .bucket-bars {
  min-height: 236px;
}

.bucket-panel .bar {
  min-height: 224px;
}

.bucket-panel .bar-track {
  min-height: 160px;
}

.rotation-head {
  grid-template-columns: 136px 136px minmax(0, 1fr) minmax(0, 1fr);
  gap: 8px;
}

.rotation-head span {
  padding: 9px 10px;
}

.rotation-map {
  grid-template-columns: minmax(0, 1.35fr) minmax(210px, 0.65fr);
}

.rotation-map-grid {
  min-height: 286px;
}

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

.rotation-row {
  grid-template-columns: 50px minmax(70px, 1fr) 62px 94px;
  min-height: 33px;
}

.momentum-panel {
  grid-template-columns: minmax(390px, 0.78fr) minmax(0, 1.22fr);
  gap: 12px;
}

.symbol-focus {
  margin-bottom: 0;
}

.focus-head strong {
  font-size: 28px;
}

.focus-metrics {
  gap: 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--line);
}

.focus-metrics span {
  border: 0;
  background: rgba(255, 255, 255, 0.62);
}

.momentum-list {
  border-color: var(--line-strong);
}

.momentum-row {
  min-height: 34px;
}

body[data-theme="dark"] .report-stage,
body[data-theme="dark"] .side-rail,
body[data-theme="dark"] .panel,
body[data-theme="dark"] .session-copy,
body[data-theme="dark"] .session-chip-grid span,
body[data-theme="dark"] .session-chip-grid button,
body[data-theme="dark"] .focus-metrics span {
  background: rgba(245, 240, 230, 0.045);
}

@media (min-width: 1500px) {
  .workbench {
    grid-template-columns: minmax(0, 1fr) 382px;
  }
}

@media (max-width: 1320px) {
  .topbar {
    grid-template-columns: minmax(280px, 1fr) auto;
  }

  .dateplate {
    justify-self: end;
  }

  .toolbar {
    grid-column: 1 / -1;
    justify-content: stretch;
  }

  .button {
    flex: 1;
  }

  .workbench,
  .momentum-panel {
    grid-template-columns: 1fr;
  }

  .momentum-panel .symbol-focus,
  .momentum-panel .symbol-momentum {
    grid-column: 1;
  }
}

@media (max-width: 820px) {
  .timeboard {
    grid-template-columns: 1fr;
  }

  .timeboard-copy {
    grid-column: auto;
  }

  .nav-day {
    display: none;
  }

  .timeline-wrap {
    grid-column: auto;
  }

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

  .session-tape,
  .rotation-map,
  .rotation-lanes {
    grid-template-columns: 1fr;
  }

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

@media (max-width: 520px) {
  .topbar {
    padding: 9px 24px 10px;
  }

  .mark {
    width: 44px;
    height: 44px;
    font-size: 17px;
  }

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

  .brand p {
    font-size: 9px;
    letter-spacing: 0.12em;
  }

  .button {
    min-height: 38px;
  }

  .metric {
    min-height: 78px;
    padding: 12px 13px 10px;
  }

  .metric strong {
    font-size: 23px;
  }

  .rotation-head {
    gap: 6px;
  }

  .rotation-row {
    grid-template-columns: 46px minmax(62px, 1fr) 58px;
  }

  .rotation-row small {
    display: none;
  }

  .momentum-list {
    grid-template-columns: 1fr;
  }
}

/* v40 correction: keep the rotation map reading structure on desktop. */
.rotation-map {
  grid-template-columns: minmax(158px, 0.58fr) minmax(0, 1.82fr) minmax(188px, 0.68fr);
}

.rotation-map-lead {
  padding: 11px 12px;
}

.rotation-map-lead strong {
  font-size: 30px;
}

.rotation-map-grid {
  min-height: 276px;
}

.rotation-map-stats {
  grid-template-rows: repeat(4, minmax(0, 1fr));
}

@media (max-width: 820px) {
  .rotation-map {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 360px) {
  .brand {
    gap: 10px;
  }

  .mark {
    width: 42px;
    height: 42px;
    font-size: 16px;
  }

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

  .brand p {
    width: 210px;
    max-width: none;
    overflow: visible;
    font-size: 8px;
    letter-spacing: 0.07em;
    text-overflow: clip;
  }
}

/* v41-v45 pass: sparse time axis, denser trend cockpit, softer hover targets. */
.month-ticks span {
  overflow: hidden;
  color: rgba(17, 17, 17, 0.56);
  text-overflow: clip;
  white-space: nowrap;
}

.month-ticks span.year {
  color: var(--ink);
}

.month-ticks span:empty {
  opacity: 0;
}

.trend-summary {
  margin-bottom: 7px;
  padding: 10px 12px;
}

.trend-summary strong {
  font-size: 27px;
}

.trend-chart {
  min-height: 0;
}

.trend-cockpit {
  grid-template-columns: 1fr;
  gap: 9px;
}

.trend-cockpit-left {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: 8px;
}

.trend-cockpit .trend-lens,
.trend-cockpit .trend-radar {
  margin: 0;
  gap: 6px;
}

.trend-cockpit .trend-lens {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.trend-cockpit .trend-radar {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.trend-cockpit .trend-radar button:last-child {
  grid-column: auto;
}

.trend-lens span,
.trend-radar button {
  padding: 8px 9px;
}

.trend-lens b,
.trend-radar b {
  font-size: 15px;
}

.trend-cockpit-right {
  display: grid;
  grid-template-columns: minmax(0, 1.48fr) minmax(260px, 0.52fr);
  gap: 9px;
  align-items: start;
}

.trend-cockpit-right svg {
  grid-row: span 3;
  margin-top: 0;
}

.trend-cockpit-right .trend-extremes {
  grid-template-columns: 1fr;
  gap: 6px;
  margin: 0;
}

.trend-cockpit-right .flow-stack {
  grid-template-columns: 1fr;
  gap: 6px;
  margin: 0;
}

.trend-cockpit-right .trend-pulse-strip {
  grid-column: 1 / -1;
  margin-top: 0;
}

.trend-hit {
  cursor: pointer;
  fill: transparent;
  pointer-events: all;
  stroke: transparent;
  stroke-width: 12;
}

.trend-hit:hover {
  stroke: rgba(17, 17, 17, 0.16);
}

.trend-cockpit + .trend-window-stack,
.trend-drift-ledger {
  margin-top: 8px;
}

.trend-window-stack {
  margin-bottom: 9px;
}

.trend-window-lead,
.trend-drift-lead {
  padding: 8px 10px;
}

.trend-window-cards span,
.trend-drift-rows span {
  padding: 7px 9px;
}

.trend-window-lead strong,
.trend-drift-lead strong {
  font-size: 22px;
}

body[data-theme="dark"] .month-ticks span {
  color: rgba(245, 240, 230, 0.56);
}

body[data-theme="dark"] .month-ticks span.year {
  color: var(--ink);
}

body[data-theme="dark"] .trend-hit:hover {
  stroke: rgba(245, 240, 230, 0.18);
}

@media (max-width: 1080px) {
  .trend-cockpit-left,
  .trend-cockpit-right {
    grid-template-columns: 1fr;
  }

  .trend-cockpit-right svg {
    grid-row: auto;
  }

  .trend-cockpit-right .trend-extremes,
  .trend-cockpit-right .flow-stack {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .month-ticks span {
    font-size: 9px;
  }

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

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

  .trend-cockpit-right .trend-extremes,
  .trend-cockpit-right .flow-stack {
    grid-template-columns: 1fr;
  }

  .trend-latest-confirm {
    grid-template-columns: 1fr;
  }

  .trend-latest-position {
    grid-template-columns: 1fr;
  }

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

  .trend-latest-position-cells {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* v46-v50 pass: richer hover card, slimmer lower analysis. */
.market-tooltip {
  width: 348px;
  padding: 12px;
  border-radius: 0;
}

.tip-read {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  margin-top: 8px;
  padding: 8px 9px;
  border-left: 3px solid var(--gold);
  background: rgba(246, 242, 233, 0.72);
}

.tip-read.hot {
  border-left-color: #c45335;
}

.tip-read.cool {
  border-left-color: #2f6190;
}

.tip-read b {
  font-size: 12px;
}

.tip-read span {
  color: #6f716b;
  font-size: 10px;
  line-height: 1.35;
}

.tip-bands {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-top: 8px;
}

.tip-bands span {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid #ebe6dc;
  background: rgba(255, 255, 255, 0.66);
  font-variant-numeric: tabular-nums;
}

.tip-bands span.hot {
  border-color: rgba(196, 83, 53, 0.34);
  box-shadow: inset 2px 0 0 #c45335;
}

.tip-bands span.cool {
  border-color: rgba(47, 97, 144, 0.34);
  box-shadow: inset 2px 0 0 #2f6190;
}

.tip-bands i,
.tip-bands small {
  overflow: hidden;
  color: #777065;
  font-size: 9px;
  font-style: normal;
  font-weight: 780;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tip-bands b {
  color: #171717;
  font-size: 12px;
  line-height: 1;
}

.tip-bands em {
  display: block;
  width: var(--w);
  height: 3px;
  background: #9a6a12;
}

.tip-bands .hot em {
  background: #c45335;
}

.tip-bands .cool em {
  background: #2f6190;
}

.tip-contract {
  display: grid;
  gap: 4px;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid #ebe6dc;
}

.tip-quadrant {
  display: grid;
  gap: 4px;
  margin-top: 8px;
  padding: 9px 10px;
  border-left: 3px solid var(--gold);
  background: rgba(255, 255, 255, 0.62);
}

.tip-quadrant.hot {
  border-left-color: #c45335;
}

.tip-quadrant.cool {
  border-left-color: #2f6190;
}

.tip-quadrant span,
.tip-quadrant small {
  color: #777065;
  font-size: 10px;
  font-weight: 780;
  line-height: 1.3;
}

.tip-quadrant b {
  color: #171717;
  font-size: 13px;
  line-height: 1.05;
}

.tip-contract span {
  color: #777065;
  font-size: 10px;
  font-weight: 780;
}

.tip-contract b {
  overflow: hidden;
  font-family: "SF Mono", Menlo, Consolas, monospace;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tip-contract small {
  overflow: hidden;
  color: #777065;
  font-size: 10px;
  font-weight: 780;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rotation-map {
  min-height: 0;
  gap: 8px;
}

.rotation-map-grid {
  min-height: 252px;
}

.rotation-map-lead strong {
  font-size: 28px;
}

.rotation-map-stats {
  gap: 6px;
}

.rotation-map-stats span {
  padding: 7px 8px;
}

.rotation-lanes {
  gap: 8px;
}

.rotation-lane-title {
  padding: 7px 9px;
}

.rotation-row {
  min-height: 31px;
  padding: 4px 7px;
  gap: 7px;
}

.rotation-row svg {
  height: 19px;
}

.momentum-panel {
  gap: 10px;
}

.focus-head {
  padding: 10px 12px;
}

.focus-head strong {
  font-size: 26px;
}

.focus-metrics span {
  padding: 8px 10px;
}

.focus-metrics b {
  font-size: 18px;
}

.focus-extremes button {
  padding: 7px 10px;
}

.focus-window-stack {
  gap: 7px;
  padding-top: 8px;
}

.focus-window-cards span {
  padding: 7px 8px 6px;
}

.focus-session-cells,
.focus-session-cells button {
  height: 42px;
  min-height: 42px;
}

.focus-charts {
  padding-top: 8px;
  padding-bottom: 10px;
}

.focus-charts svg {
  height: 44px;
}

.momentum-row {
  min-height: 32px;
  padding: 3px 7px;
}

.mom-spark svg {
  height: 22px;
}

body[data-theme="dark"] .tip-read,
body[data-theme="dark"] .tip-bands span,
body[data-theme="dark"] .tip-quadrant {
  border-color: rgba(245, 240, 230, 0.16);
  background: rgba(245, 240, 230, 0.055);
}

body[data-theme="dark"] .tip-read span,
body[data-theme="dark"] .tip-bands i,
body[data-theme="dark"] .tip-bands small,
body[data-theme="dark"] .tip-quadrant span,
body[data-theme="dark"] .tip-quadrant small,
body[data-theme="dark"] .tip-contract span,
body[data-theme="dark"] .tip-contract small {
  color: var(--muted);
}

body[data-theme="dark"] .tip-bands b,
body[data-theme="dark"] .tip-quadrant b,
body[data-theme="dark"] .tip-contract b {
  color: var(--ink);
}

@media (max-width: 520px) {
  .market-tooltip {
    width: min(330px, calc(100vw - 24px));
  }

  .tip-bands {
    grid-template-columns: 1fr;
  }

  .rotation-map-grid {
    min-height: 212px;
  }

  .momentum-row {
    min-height: 40px;
  }
}

/* v51-v55 pass: replace blocky pulse grids with thin flow tapes. */
.trend-pulse-strip,
.signal-pulse-tape,
.focus-session-tape {
  gap: 8px;
}

.trend-pulse-strip > div:first-child,
.signal-pulse-tape > div:first-child,
.focus-session-tape > div:first-child,
.risk-pulse > div:first-child {
  background: rgba(255, 255, 255, 0.44);
}

.trend-pulse-cells,
.signal-pulse-cells,
.focus-session-cells,
.risk-cells {
  display: flex;
  gap: 2px;
  align-items: stretch;
  min-height: 46px;
  padding: 4px 0 0;
  border-bottom: 1px solid rgba(154, 106, 18, 0.28);
}

.trend-pulse-cells button,
.signal-pulse-cells button,
.focus-session-cells button {
  position: relative;
  flex: 1 1 0;
  height: 46px;
  min-width: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.34), rgba(201, 194, 178, 0.12));
}

.trend-pulse-cells button:hover,
.signal-pulse-cells button:hover,
.focus-session-cells button:hover,
.trend-pulse-cells button.active,
.signal-pulse-cells button.active,
.focus-session-cells button.active {
  box-shadow: inset 0 -3px 0 var(--ink);
}

.trend-pulse-cells i,
.signal-pulse-cells i,
.focus-session-cells i {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  width: auto;
  height: var(--h);
  min-height: 5px;
  background: rgba(154, 106, 18, 0.68);
}

.trend-pulse-cells .hot i,
.signal-pulse-cells .hot i,
.focus-session-cells .hot i {
  background: rgba(196, 83, 53, 0.76);
}

.trend-pulse-cells .cool i,
.signal-pulse-cells .cool i,
.focus-session-cells .cool i {
  background: rgba(47, 97, 144, 0.76);
}

.trend-pulse-cells span,
.signal-pulse-cells span,
.focus-session-cells span {
  position: absolute;
  right: -1px;
  bottom: 5px;
  left: -1px;
  min-height: 0;
  color: transparent;
  font-size: 0;
}

.trend-pulse-cells button.active span,
.signal-pulse-cells button.active span,
.focus-session-cells button.active span {
  bottom: 1px;
  color: var(--ink);
  font-size: 7px;
  line-height: 1;
}

.risk-pulse {
  gap: 6px;
}

.risk-cells {
  min-height: 46px;
  padding-bottom: 0;
}

.risk-cells span {
  flex: 1 1 0;
  height: 46px;
  padding-bottom: 0;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.34), rgba(201, 194, 178, 0.12));
}

.risk-cells span::before {
  right: 0;
  bottom: 0;
  left: 0;
  height: var(--h);
  min-height: 5px;
}

.risk-cells i {
  bottom: 2px;
  color: transparent;
  font-size: 0;
}

.heat-lane-track {
  gap: 2px;
  padding-bottom: 1px;
  border-bottom: 1px solid rgba(154, 106, 18, 0.22);
}

.heat-lane-track i {
  min-width: 3px;
  height: max(5px, calc(var(--h) * 0.74));
  background: var(--c);
}

/* v1.31 pass: soften blocky heat surfaces and tighten typographic rhythm. */
.heat-lane-board {
  gap: 6px;
  padding: 11px;
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(47, 97, 144, 0.045), transparent 44%, rgba(154, 106, 18, 0.045)),
    rgba(255, 255, 255, 0.5);
}

.heat-lane-axis {
  padding: 0 9px 1px;
  border-bottom: 0;
  opacity: 0.78;
}

.heat-lane-row {
  min-height: 36px;
  padding: 6px 9px;
  border: 1px solid rgba(201, 194, 178, 0.44);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.42);
}

.heat-lane-row:hover,
.heat-lane-row.symbol-active {
  border-color: rgba(154, 106, 18, 0.62);
  background: rgba(255, 255, 255, 0.76);
}

.heat-lane-track {
  height: 14px;
  gap: 3px;
  align-items: center;
  padding: 0;
  border-bottom: 0;
}

.heat-lane-track i {
  height: max(3px, calc(var(--h) * 0.24));
  min-height: 3px;
  opacity: 0.72;
}

.heat-lane-meta small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.05;
}

.heatmap-summary span,
.heat-rhythm-card,
.heat-baton-head,
.heat-baton-row,
.premium-card,
.unlock-lead,
.unlock-tabs button,
.unlock-preview,
.premium-quadrant-copy,
.premium-quadrant-map,
.premium-quadrant-stats span,
.premium-lookback,
.premium-signal-stack {
  border-radius: 6px;
}

.section-head h2,
.timeboard-copy h2 {
  letter-spacing: 0;
}

.section-head p,
.timeboard-copy p,
.digest div,
.side-module p {
  line-height: 1.55;
}

.premium-preview {
  border-radius: 8px;
}

.premium-head h2 {
  font-size: 17px;
}

.premium-grid.is-blurred .premium-card,
.premium-quadrant.is-blurred .premium-quadrant-map,
.premium-quadrant.is-blurred .premium-quadrant-stats,
.premium-lookback.is-blurred .lookback-body,
.premium-signal-stack.is-blurred .signal-stack-rows,
.premium-signal-stack.is-blurred .signal-stack-tape {
  opacity: 0.68;
}

html,
body {
  overflow-x: hidden;
}

@media (max-width: 520px) {
  .topbar {
    grid-template-columns: minmax(0, 1fr);
  }

  .dateplate {
    justify-self: start;
    max-width: 100%;
    text-align: left;
  }

  .toolbar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .toolbar .button {
    min-width: 0;
  }

  .button.primary {
    grid-column: 1 / -1;
  }
}

body[data-theme="dark"] .trend-pulse-strip > div:first-child,
body[data-theme="dark"] .signal-pulse-tape > div:first-child,
body[data-theme="dark"] .focus-session-tape > div:first-child,
body[data-theme="dark"] .risk-pulse > div:first-child {
  background: rgba(245, 240, 230, 0.055);
}

body[data-theme="dark"] .trend-pulse-cells,
body[data-theme="dark"] .signal-pulse-cells,
body[data-theme="dark"] .focus-session-cells,
body[data-theme="dark"] .risk-cells,
body[data-theme="dark"] .heat-lane-track {
  border-color: rgba(245, 240, 230, 0.2);
}

@media (max-width: 520px) {
  .trend-pulse-cells,
  .signal-pulse-cells,
  .focus-session-cells,
  .risk-cells {
    min-height: 38px;
  }

  .trend-pulse-cells button,
  .signal-pulse-cells button,
  .focus-session-cells button,
  .risk-cells span {
    height: 38px;
  }
}

/* v56-v60 pass: navigation shell and advanced analysis rails. */
.toolbar {
  flex-wrap: wrap;
}

.button.advanced-button {
  border-color: rgba(154, 106, 18, 0.46);
  background: linear-gradient(180deg, rgba(234, 217, 174, 0.4), rgba(255, 255, 255, 0.72));
}

.access-strip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: stretch;
  margin-top: 14px;
}

.access-copy {
  display: grid;
  grid-template-columns: 110px 150px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.64);
}

.access-copy.locked {
  border-color: rgba(196, 83, 53, 0.34);
  box-shadow: inset 3px 0 0 #c45335;
}

.access-copy.open {
  box-shadow: inset 3px 0 0 var(--gold);
}

.access-copy span,
.access-copy small,
.access-actions button,
.premium-head p,
.premium-card span,
.premium-card small,
.account-hero span,
.account-hero p,
.account-section-head span,
.service-row span,
.route-row span,
.route-row i,
.service-console span,
.service-console small,
.service-date-picker span,
.pipeline-lead span,
.pipeline-steps small,
.pipeline-steps i,
.flow-simulation span,
.flow-simulation small,
.flow-simulation i,
.readiness-lead span,
.readiness-lead small,
.readiness-steps i,
.readiness-steps small,
.advanced-readiness-ribbon span,
.advanced-readiness-ribbon small,
.advanced-readiness-ribbon i,
.audit-lead span,
.audit-lead p,
.audit-grid i,
.audit-grid small,
.audit-note span,
.audit-note small,
.unlock-lead span,
.unlock-lead p,
.unlock-lead small,
.unlock-tabs i,
.unlock-tabs span,
.unlock-checklist i,
.unlock-mini-tape b,
.signal-stack-lead span,
.signal-stack-lead p,
.signal-stack-rows i,
.signal-stack-rows small,
.signal-stack-tape b,
.flow-note {
  color: var(--muted);
  font-size: 11px;
  font-weight: 760;
}

.access-copy b {
  color: var(--ink);
  font-size: 18px;
  font-variant-numeric: tabular-nums;
}

.access-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.access-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(132px, 1fr));
  gap: 8px;
}

.access-actions button,
.premium-head button,
.premium-lock,
.tier-card,
.account-close {
  border: 1px solid var(--line-strong);
  background: rgba(255, 255, 255, 0.76);
  color: var(--ink);
  cursor: pointer;
}

.access-actions button,
.premium-head button {
  padding: 0 16px;
  font-size: 12px;
  font-weight: 820;
}

.premium-preview {
  position: relative;
  margin-top: 20px;
  padding: 16px;
  border: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(154, 106, 18, 0.05), transparent 46%),
    rgba(255, 255, 255, 0.66);
}

.premium-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: start;
  margin-bottom: 12px;
}

.premium-head h2 {
  font-size: 18px;
  line-height: 1.15;
}

.premium-head p {
  margin-top: 5px;
}

.data-audit-seal {
  display: grid;
  grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1fr) minmax(240px, 0.48fr);
  gap: 10px;
  margin-bottom: 12px;
}

.audit-lead,
.audit-grid span,
.audit-note {
  min-width: 0;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.62);
}

.audit-lead {
  display: grid;
  align-content: center;
  gap: 7px;
  padding: 14px;
  box-shadow: inset 3px 0 0 #148355;
}

.audit-lead strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.08;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.audit-lead p,
.audit-note span {
  line-height: 1.45;
}

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

.audit-grid span {
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 11px 12px;
}

.audit-grid b {
  overflow: hidden;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.audit-note {
  display: grid;
  align-content: center;
  gap: 6px;
  padding: 13px;
  box-shadow: inset 3px 0 0 #2f6190;
}

.audit-note b {
  color: var(--ink);
  font-size: 18px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.audit-note small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.advanced-readiness-ribbon {
  display: grid;
  grid-template-columns: minmax(240px, 0.5fr) minmax(0, 1fr);
  gap: 10px;
  margin-bottom: 12px;
}

.advanced-readiness-ribbon > div {
  min-width: 0;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.62);
}

.advanced-readiness-ribbon > div:first-child {
  display: grid;
  align-content: center;
  gap: 6px;
  padding: 13px 14px;
  box-shadow: inset 3px 0 0 var(--gold);
}

.advanced-readiness-ribbon.is-locked > div:first-child {
  box-shadow: inset 3px 0 0 #c45335;
}

.advanced-readiness-ribbon b {
  overflow: hidden;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.advanced-readiness-ribbon > div:last-child {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
}

.advanced-readiness-ribbon > div:last-child span {
  display: grid;
  align-content: center;
  gap: 4px;
  min-width: 0;
  padding: 11px;
  border-right: 1px solid var(--line);
}

.advanced-readiness-ribbon > div:last-child span:last-child {
  border-right: 0;
}

.advanced-readiness-ribbon .ready {
  box-shadow: inset 0 3px 0 rgba(20, 131, 85, 0.72);
}

.advanced-readiness-ribbon .queued {
  box-shadow: inset 0 3px 0 rgba(47, 97, 144, 0.62);
}

.advanced-readiness-ribbon .locked {
  box-shadow: inset 0 3px 0 rgba(196, 83, 53, 0.62);
}

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

.premium-unlock-deck {
  display: grid;
  grid-template-columns: minmax(230px, 0.48fr) minmax(0, 1fr) minmax(300px, 0.62fr);
  gap: 10px;
  margin-bottom: 12px;
}

.unlock-lead,
.unlock-tabs button,
.unlock-preview {
  min-width: 0;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.62);
}

.unlock-lead {
  display: grid;
  align-content: center;
  gap: 7px;
  padding: 15px;
  box-shadow: inset 3px 0 0 var(--gold);
}

.unlock-lead strong {
  color: var(--ink);
  font-size: 21px;
  line-height: 1.05;
}

.unlock-lead p {
  line-height: 1.45;
}

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

.unlock-tabs button {
  display: grid;
  align-content: start;
  gap: 5px;
  min-height: 112px;
  padding: 12px;
  color: var(--ink);
  cursor: pointer;
  text-align: left;
}

.unlock-tabs button.active {
  border-color: rgba(154, 106, 18, 0.56);
  background: rgba(234, 217, 174, 0.24);
  box-shadow: inset 3px 0 0 var(--gold);
}

.unlock-tabs b {
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.15;
  text-overflow: ellipsis;
}

.unlock-preview {
  display: grid;
  grid-template-columns: minmax(150px, 0.52fr) minmax(0, 1fr);
  gap: 8px;
  padding: 10px;
  background:
    linear-gradient(90deg, rgba(154, 106, 18, 0.06), transparent 55%),
    rgba(251, 250, 246, 0.72);
}

.unlock-preview.is-blurred {
  filter: none;
  opacity: 1;
  pointer-events: auto;
  user-select: auto;
}

.unlock-checklist {
  display: grid;
  gap: 7px;
}

.unlock-checklist span {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 9px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.58);
}

.unlock-checklist span.hot {
  box-shadow: inset 3px 0 0 #c45335;
}

.unlock-checklist span.cool {
  box-shadow: inset 3px 0 0 #2f6190;
}

.unlock-checklist b {
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.unlock-mini-tape {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 3px;
  align-items: end;
  min-height: 116px;
}

.unlock-mini-tape button {
  display: grid;
  grid-template-rows: minmax(0, 1fr) 14px;
  align-items: end;
  min-width: 0;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}

.unlock-mini-tape i {
  display: block;
  width: 100%;
  height: var(--h);
  min-height: 8px;
  background: rgba(154, 106, 18, 0.34);
}

.unlock-mini-tape .hot i {
  background: rgba(196, 83, 53, 0.48);
}

.unlock-mini-tape .cool i {
  background: rgba(47, 97, 144, 0.46);
}

.unlock-mini-tape b {
  overflow: hidden;
  margin-top: 4px;
  text-align: center;
  text-overflow: clip;
  white-space: nowrap;
}

.premium-card {
  display: grid;
  gap: 7px;
  min-width: 0;
  min-height: 138px;
  padding: 13px 14px;
  border: 1px solid var(--line);
  background: rgba(251, 250, 246, 0.84);
}

.premium-card strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 25px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.premium-card b {
  overflow: hidden;
  color: var(--ink-soft);
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.premium-quadrant {
  display: grid;
  grid-template-columns: minmax(210px, 0.34fr) minmax(0, 1fr) minmax(170px, 0.28fr);
  gap: 12px;
  margin-top: 12px;
}

.premium-quadrant-copy,
.premium-quadrant-map,
.premium-quadrant-stats span,
.account-status-grid span {
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.62);
}

.premium-quadrant-copy {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 16px;
}

.premium-quadrant-copy span,
.premium-quadrant-copy p,
.premium-quadrant-stats i,
.premium-quadrant-stats small,
.account-status-grid i,
.account-status-grid small,
.service-row i {
  color: var(--muted);
  font-size: 11px;
  font-weight: 760;
}

.premium-quadrant-copy strong {
  color: var(--ink);
  font-size: 22px;
  line-height: 1.05;
}

.premium-quadrant-copy p {
  line-height: 1.45;
}

.premium-quadrant-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin-top: 4px;
}

.premium-quadrant-meta span {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 8px;
  border: 1px solid var(--line);
  background: rgba(251, 250, 246, 0.76);
}

.premium-quadrant-meta i {
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 760;
}

.premium-quadrant-meta b {
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.premium-quadrant-flow {
  display: grid;
  gap: 6px;
  margin-top: 4px;
}

.premium-quadrant-flow span {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px 42px;
  gap: 6px;
  align-items: center;
  min-width: 0;
  padding: 7px 0 8px;
  border-bottom: 1px solid rgba(201, 194, 178, 0.54);
  overflow: hidden;
  font-variant-numeric: tabular-nums;
}

.premium-quadrant-flow span:last-child {
  border-bottom: 0;
}

.premium-quadrant-flow i,
.premium-quadrant-flow small {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 780;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.premium-quadrant-flow b {
  color: var(--ink);
  font-size: 13px;
  line-height: 1;
}

.premium-quadrant-flow em {
  position: absolute;
  left: 0;
  bottom: 0;
  width: var(--w);
  height: 2px;
  background: var(--gold);
}

.premium-quadrant-flow .hot em {
  background: #c45335;
}

.premium-quadrant-flow .cool em {
  background: #2f6190;
}

.premium-quadrant-map {
  position: relative;
  min-height: 286px;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(47, 97, 144, 0.07), transparent 48%, rgba(196, 83, 53, 0.07)),
    linear-gradient(180deg, rgba(196, 83, 53, 0.08), transparent 50%, rgba(47, 97, 144, 0.08)),
    rgba(251, 250, 246, 0.72);
}

.premium-quadrant-map .axis-x,
.premium-quadrant-map .axis-y {
  position: absolute;
  background: rgba(17, 17, 17, 0.24);
  pointer-events: none;
}

.premium-quadrant-map .axis-x {
  left: 0;
  right: 0;
  top: var(--y0);
  height: 1px;
}

.premium-quadrant-map .axis-y {
  top: 0;
  bottom: 0;
  left: var(--x0);
  width: 1px;
}

.premium-quadrant-map .q {
  position: absolute;
  z-index: 1;
  color: var(--muted);
  font-size: 10px;
  font-weight: 840;
  text-transform: uppercase;
}

.premium-quadrant-map .q1 {
  top: 10px;
  right: 12px;
}

.premium-quadrant-map .q2 {
  top: 10px;
  left: 12px;
}

.premium-quadrant-map .q3 {
  left: 12px;
  bottom: 10px;
}

.premium-quadrant-map .q4 {
  right: 12px;
  bottom: 10px;
}

.premium-quadrant-map button {
  position: absolute;
  left: var(--x);
  top: var(--y);
  z-index: 2;
  width: var(--s);
  height: var(--s);
  transform: translate(-50%, -50%);
  border: 1px solid rgba(17, 17, 17, 0.26);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.76);
  color: var(--ink);
  font-size: clamp(8px, calc(var(--s) * 0.24), 12px);
  font-weight: 850;
  cursor: pointer;
}

.premium-quadrant-map button.hot {
  border-color: rgba(196, 83, 53, 0.5);
  background: rgba(196, 83, 53, 0.12);
}

.premium-quadrant-map button.cool {
  border-color: rgba(47, 97, 144, 0.5);
  background: rgba(47, 97, 144, 0.12);
}

.premium-quadrant-map button:hover,
.premium-quadrant-map button.symbol-active {
  z-index: 5;
  border-color: var(--ink);
  background: rgba(255, 255, 255, 0.92);
  transform: translate(-50%, -50%) scale(1.08);
}

.premium-quadrant-veil {
  position: absolute;
  inset: auto 14px 14px 14px;
  z-index: 6;
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  border: 1px solid rgba(154, 106, 18, 0.3);
  background: rgba(251, 250, 246, 0.78);
  backdrop-filter: blur(8px);
}

.premium-quadrant-veil b {
  color: var(--ink);
  font-size: 13px;
}

.premium-quadrant-veil span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 740;
  line-height: 1.35;
}

.premium-quadrant-stats {
  display: grid;
  gap: 8px;
}

.premium-quadrant-stats span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 11px;
}

.premium-quadrant-stats b {
  color: var(--ink);
  font-size: 20px;
}

.premium-quadrant-stats .hot {
  box-shadow: inset 3px 0 0 #c45335;
}

.premium-quadrant-stats .cool {
  box-shadow: inset 3px 0 0 #2f6190;
}

.premium-quadrant.is-blurred .premium-quadrant-map,
.premium-quadrant.is-blurred .premium-quadrant-stats {
  filter: none;
  opacity: 1;
  user-select: auto;
}

.premium-grid.is-blurred .premium-card {
  filter: none;
  opacity: 1;
  transform: translateZ(0);
  user-select: auto;
}

.premium-lookback {
  display: grid;
  gap: 10px;
  margin-top: 12px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.58);
}

.lookback-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
  padding: 13px 14px;
  border-bottom: 1px solid var(--line);
}

.lookback-head.hot {
  box-shadow: inset 3px 0 0 #c45335;
}

.lookback-head.cool {
  box-shadow: inset 3px 0 0 #2f6190;
}

.lookback-head.flat {
  box-shadow: inset 3px 0 0 var(--gold);
}

.lookback-head span,
.lookback-head p,
.lookback-metrics i,
.lookback-metrics small,
.lookback-chart b {
  color: var(--muted);
  font-size: 11px;
  font-weight: 760;
}

.lookback-head strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 20px;
  line-height: 1.05;
}

.lookback-head p {
  margin-top: 5px;
  line-height: 1.4;
}

.lookback-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(46px, 1fr));
  gap: 6px;
}

.lookback-tabs button {
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid var(--line);
  background: rgba(251, 250, 246, 0.8);
  color: var(--muted);
  font-size: 11px;
  font-weight: 860;
  cursor: pointer;
}

.lookback-tabs button.active {
  border-color: var(--ink);
  background: var(--ink);
  color: var(--paper);
}

.lookback-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.42fr);
  gap: 12px;
  padding: 12px 14px 14px;
}

.lookback-chart {
  display: grid;
  grid-template-columns: repeat(24, minmax(0, 1fr));
  gap: 4px;
  align-items: end;
  min-height: 126px;
  padding: 10px;
  border: 1px solid var(--line);
  background:
    linear-gradient(180deg, rgba(196, 83, 53, 0.07), transparent 50%, rgba(47, 97, 144, 0.07)),
    rgba(251, 250, 246, 0.7);
}

.lookback-chart span {
  display: grid;
  grid-template-rows: minmax(0, 1fr) 14px;
  align-items: end;
  min-width: 0;
  height: 100%;
}

.lookback-chart i {
  display: block;
  width: 100%;
  height: var(--h);
  min-height: 7px;
  background: rgba(154, 106, 18, 0.36);
}

.lookback-chart .hot i {
  background: rgba(196, 83, 53, 0.48);
}

.lookback-chart .cool i {
  background: rgba(47, 97, 144, 0.46);
}

.lookback-chart b {
  overflow: hidden;
  margin-top: 4px;
  text-align: center;
  text-overflow: clip;
  white-space: nowrap;
}

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

.lookback-metrics span {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  background: rgba(251, 250, 246, 0.76);
}

.lookback-metrics span.hot {
  box-shadow: inset 3px 0 0 #c45335;
}

.lookback-metrics span.cool {
  box-shadow: inset 3px 0 0 #2f6190;
}

.lookback-metrics b {
  overflow: hidden;
  color: var(--ink);
  font-size: 20px;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.premium-lookback.is-blurred .lookback-body {
  filter: none;
  opacity: 1;
  user-select: auto;
}

.premium-signal-stack {
  display: grid;
  grid-template-columns: minmax(220px, 0.42fr) minmax(300px, 0.7fr) minmax(260px, 0.58fr);
  gap: 10px;
  margin-top: 12px;
}

.signal-stack-lead,
.signal-stack-rows span,
.signal-stack-tape {
  min-width: 0;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.6);
}

.signal-stack-lead {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 16px;
}

.premium-signal-stack.hot .signal-stack-lead {
  box-shadow: inset 3px 0 0 #c45335;
}

.premium-signal-stack.cool .signal-stack-lead {
  box-shadow: inset 3px 0 0 #2f6190;
}

.premium-signal-stack.flat .signal-stack-lead {
  box-shadow: inset 3px 0 0 var(--gold);
}

.signal-stack-lead strong {
  color: var(--ink);
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 36px;
  line-height: 0.95;
  font-weight: 400;
}

.signal-stack-lead p {
  line-height: 1.45;
}

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

.signal-stack-rows span {
  display: grid;
  gap: 5px;
  padding: 12px;
  font-variant-numeric: tabular-nums;
}

.signal-stack-rows span.hot {
  box-shadow: inset 3px 0 0 #c45335;
}

.signal-stack-rows span.cool {
  box-shadow: inset 3px 0 0 #2f6190;
}

.signal-stack-rows span.flat {
  box-shadow: inset 3px 0 0 var(--gold);
}

.signal-stack-rows b {
  overflow: hidden;
  color: var(--ink);
  font-size: 21px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.signal-stack-tape {
  display: grid;
  grid-template-columns: repeat(18, minmax(0, 1fr));
  gap: 3px;
  align-items: end;
  min-height: 170px;
  padding: 10px;
  background:
    linear-gradient(180deg, rgba(196, 83, 53, 0.07), transparent 54%, rgba(47, 97, 144, 0.08)),
    rgba(251, 250, 246, 0.68);
}

.signal-stack-tape button {
  display: grid;
  grid-template-rows: minmax(0, 1fr) 14px;
  align-items: end;
  min-width: 0;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}

.signal-stack-tape i {
  display: block;
  width: 100%;
  height: var(--h);
  min-height: 7px;
  background: rgba(154, 106, 18, 0.34);
}

.signal-stack-tape .hot i {
  background: rgba(196, 83, 53, 0.52);
}

.signal-stack-tape .cool i {
  background: rgba(47, 97, 144, 0.48);
}

.signal-stack-tape b {
  overflow: hidden;
  margin-top: 4px;
  text-align: center;
  text-overflow: clip;
  white-space: nowrap;
}

.premium-signal-stack.is-blurred .signal-stack-rows,
.premium-signal-stack.is-blurred .signal-stack-tape {
  filter: none;
  opacity: 1;
  user-select: auto;
}

.live-silhouette {
  display: grid;
  grid-template-columns: minmax(210px, 0.38fr) minmax(300px, 0.58fr) minmax(0, 1fr);
  gap: 10px;
  margin-top: 12px;
}

.live-silhouette-lead,
.live-silhouette-lanes span,
.live-silhouette-stream {
  min-width: 0;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.58);
}

.live-silhouette-lead {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 16px;
  box-shadow: inset 3px 0 0 #148355;
}

.live-silhouette-lead span,
.live-silhouette-lead p,
.live-silhouette-lanes i,
.live-silhouette-lanes small,
.live-silhouette-stream span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 760;
}

.live-silhouette-lead strong {
  overflow: hidden;
  color: var(--ink);
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 34px;
  line-height: 0.96;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.live-silhouette-lead p {
  line-height: 1.45;
}

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

.live-silhouette-lanes span {
  display: grid;
  gap: 5px;
  padding: 12px;
  font-variant-numeric: tabular-nums;
}

.live-silhouette-lanes .hot {
  box-shadow: inset 3px 0 0 #c45335;
}

.live-silhouette-lanes .cool {
  box-shadow: inset 3px 0 0 #2f6190;
}

.live-silhouette-lanes .flat {
  box-shadow: inset 3px 0 0 var(--gold);
}

.live-silhouette-lanes b {
  overflow: hidden;
  color: var(--ink);
  font-size: 18px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.live-silhouette-stream {
  display: grid;
  gap: 6px;
  padding: 12px;
  background:
    linear-gradient(90deg, rgba(20, 131, 85, 0.08), transparent 55%),
    rgba(251, 250, 246, 0.68);
}

.live-silhouette-stream button {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) 62px;
  gap: 9px;
  align-items: center;
  min-width: 0;
  padding: 4px 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  text-align: left;
}

.live-silhouette-stream b {
  overflow: hidden;
  color: var(--ink);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.live-silhouette-stream i {
  position: relative;
  display: block;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(201, 194, 178, 0.55);
}

.live-silhouette-stream i::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: var(--w);
  content: "";
  border-radius: inherit;
  background: #b99b5f;
}

.live-silhouette-stream .hot i::before {
  background: #c45335;
}

.live-silhouette-stream .cool i::before {
  background: #2f6190;
}

.live-silhouette.is-blurred .live-silhouette-lanes,
.live-silhouette.is-blurred .live-silhouette-stream {
  filter: none;
  opacity: 1;
  pointer-events: auto;
  user-select: auto;
}

/* v1.35 pass: turn premium blocks into quieter continuous rails. */
.audit-grid,
.premium-grid,
.unlock-tabs {
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.46);
}

.audit-grid span,
.premium-card,
.unlock-tabs button {
  border: 0;
  border-right: 1px solid var(--line);
  background: transparent;
}

.audit-grid span:last-child,
.premium-card:last-child,
.unlock-tabs button:last-child {
  border-right: 0;
}

.premium-card {
  min-height: 104px;
  align-content: center;
  padding: 12px 14px;
}

.premium-card strong {
  font-size: 22px;
}

.unlock-tabs button {
  min-height: 92px;
  padding: 11px 12px;
}

.unlock-tabs button.active {
  border-color: transparent;
  background:
    linear-gradient(90deg, rgba(154, 106, 18, 0.18), transparent 72%),
    rgba(234, 217, 174, 0.16);
}

.data-audit-seal,
.premium-unlock-deck,
.premium-lookback,
.premium-signal-stack,
.live-silhouette,
.premium-quadrant {
  scroll-margin-top: 94px;
}

.premium-lock {
  position: absolute;
  right: 16px;
  bottom: 16px;
  display: grid;
  gap: 8px;
  max-width: min(420px, calc(100% - 32px));
  padding: 12px 14px;
  text-align: left;
  box-shadow: 0 18px 50px rgba(17, 17, 17, 0.12);
}

.premium-lock b,
.pro-lock-overlay b,
.premium-quadrant-veil b {
  color: var(--ink);
  font-size: 14px;
}

.premium-lock span,
.pro-lock-overlay span,
.premium-quadrant-veil span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 720;
  line-height: 1.35;
}

.premium-lock small,
.pro-lock-overlay small,
.premium-quadrant-veil small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 760;
  line-height: 1.35;
}

.lock-preview-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  justify-content: center;
}

.premium-lock .lock-preview-chips,
.premium-quadrant-veil .lock-preview-chips {
  justify-content: flex-start;
}

.lock-preview-chips i {
  display: inline-grid;
  min-height: 22px;
  align-items: center;
  padding: 0 8px;
  border: 1px solid rgba(154, 106, 18, 0.26);
  background: rgba(255, 255, 255, 0.48);
  color: var(--ink);
  font-size: 10px;
  font-style: normal;
  font-weight: 820;
}

.panel.is-pro-locked {
  position: relative;
  overflow: hidden;
}

.panel.is-pro-locked > :not(.section-head):not(.pro-lock-overlay) {
  filter: none;
  opacity: 1;
  pointer-events: auto;
  user-select: auto;
}

.pro-lock-overlay {
  position: absolute;
  top: 52%;
  left: 50%;
  z-index: 6;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 9px;
  width: min(382px, calc(100% - 32px));
  padding: 16px 18px;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(154, 106, 18, 0.34);
  background: rgba(251, 250, 246, 0.88);
  backdrop-filter: blur(14px);
  box-shadow: 0 20px 70px rgba(17, 17, 17, 0.12);
  text-align: center;
}

.account-modal[hidden] {
  display: none;
}

.account-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
}

.account-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(17, 17, 17, 0.34);
  backdrop-filter: blur(8px);
}

.account-sheet {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(1040px, calc(100vw - 34px));
  max-height: min(760px, calc(100vh - 34px));
  overflow: auto;
  transform: translate(-50%, -50%);
  border: 1px solid var(--ink);
  background: var(--paper);
  box-shadow: 0 28px 90px rgba(17, 17, 17, 0.28);
}

.account-close {
  position: sticky;
  top: 12px;
  float: right;
  z-index: 2;
  width: 38px;
  height: 38px;
  margin: 12px 12px 0 0;
  font-size: 22px;
  line-height: 1;
}

.account-hero {
  padding: 30px 32px 18px;
  border-bottom: 1px solid var(--line-strong);
}

.account-hero h2 {
  margin-top: 8px;
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 36px;
  line-height: 1;
  text-transform: uppercase;
}

.account-hero p {
  max-width: 760px;
  margin-top: 10px;
  line-height: 1.5;
}

.account-status-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  padding: 14px 32px 0;
}

.account-status-grid span {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 12px;
}

.account-status-grid b {
  overflow: hidden;
  color: var(--ink);
  font-size: 15px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.account-readiness {
  display: grid;
  grid-template-columns: minmax(220px, 0.42fr) minmax(0, 1fr);
  gap: 8px;
  padding: 14px 32px 0;
}

.readiness-lead,
.readiness-steps span {
  min-width: 0;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.62);
}

.readiness-lead {
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 12px;
  box-shadow: inset 3px 0 0 var(--gold);
}

.readiness-lead b {
  overflow: hidden;
  color: var(--ink);
  font-size: 15px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.readiness-steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.readiness-steps span {
  display: grid;
  gap: 4px;
  padding: 10px;
  font-variant-numeric: tabular-nums;
}

.readiness-steps span.ready {
  box-shadow: inset 3px 0 0 #148355;
}

.readiness-steps span.queued {
  box-shadow: inset 3px 0 0 #2f6190;
}

.readiness-steps span.locked {
  box-shadow: inset 3px 0 0 #c45335;
}

.readiness-steps strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.account-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.55fr);
  gap: 18px;
  padding: 20px 32px 32px;
}

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

.access-method-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 14px;
}

.access-method-grid button {
  display: grid;
  gap: 5px;
  min-height: 78px;
  padding: 12px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.62);
  color: var(--ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.access-method-grid button.active {
  border-color: rgba(154, 106, 18, 0.54);
  background: rgba(234, 217, 174, 0.22);
  box-shadow: inset 3px 0 0 var(--gold);
}

.access-method-grid b {
  color: var(--ink);
  font-size: 13px;
}

.access-method-grid span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 740;
  line-height: 1.35;
}

.account-section-head b {
  font-size: 15px;
}

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

.tier-card {
  display: grid;
  gap: 8px;
  min-height: 146px;
  padding: 15px;
  text-align: left;
}

.tier-card.featured {
  border-color: var(--ink);
  box-shadow: inset 3px 0 0 var(--gold);
}

.tier-card.active {
  background: rgba(234, 217, 174, 0.28);
  box-shadow: inset 0 0 0 1px rgba(154, 106, 18, 0.42);
}

.tier-card span,
.tier-card p {
  color: var(--muted);
  font-size: 11px;
  font-weight: 780;
}

.tier-card strong {
  color: var(--ink);
  font-size: 27px;
  line-height: 1;
}

.tier-card small {
  color: var(--muted);
  font-size: 12px;
}

.tier-card p {
  margin-top: auto;
  line-height: 1.38;
}

.flow-note {
  margin-top: 10px;
  padding: 10px 12px;
  border-left: 3px solid var(--gold);
  background: rgba(234, 217, 174, 0.24);
  line-height: 1.45;
}

.flow-simulation {
  display: grid;
  grid-template-columns: minmax(150px, 0.48fr) minmax(0, 1fr);
  gap: 8px;
  margin-top: 10px;
  padding: 11px;
  border: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(47, 97, 144, 0.06), transparent 62%),
    rgba(255, 255, 255, 0.58);
}

.flow-simulation > div {
  min-width: 0;
}

.flow-simulation > div:first-child {
  display: grid;
  align-content: center;
  gap: 5px;
}

.flow-simulation > div:last-child {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.flow-simulation b {
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.flow-simulation span {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 8px;
  border: 1px solid var(--line);
  background: rgba(251, 250, 246, 0.7);
}

.flow-simulation > div:first-child span {
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
}

.service-panel {
  display: grid;
  align-content: start;
  gap: 8px;
}

.service-row,
.route-row {
  display: grid;
  gap: 3px;
  padding: 10px 11px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.62);
}

.service-row {
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.service-row.active {
  border-color: rgba(154, 106, 18, 0.54);
  box-shadow: inset 3px 0 0 var(--gold);
}

.service-row b,
.route-row b {
  color: var(--ink);
  font-size: 13px;
}

.service-console {
  display: grid;
  gap: 7px;
}

.service-console button {
  display: grid;
  grid-template-columns: 74px minmax(96px, 0.6fr) minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.6);
  color: var(--ink);
  cursor: pointer;
  text-align: left;
}

.service-console button.active {
  border-color: rgba(154, 106, 18, 0.54);
  background: rgba(234, 217, 174, 0.22);
  box-shadow: inset 3px 0 0 var(--gold);
}

.service-console b,
.service-date-picker b,
.pipeline-lead b,
.pipeline-steps b {
  overflow: hidden;
  color: var(--ink);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.service-console span,
.service-console small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.service-date-picker {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin-top: 3px;
}

.service-date-picker button {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.56);
  color: var(--ink);
  cursor: pointer;
  text-align: left;
}

.service-date-picker button.active {
  border-color: rgba(47, 97, 144, 0.42);
  box-shadow: inset 3px 0 0 #2f6190;
}

.account-pipeline {
  display: grid;
  gap: 8px;
  margin-top: 4px;
  padding: 12px;
  border: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(154, 106, 18, 0.08), transparent 62%),
    rgba(251, 250, 246, 0.68);
}

.pipeline-lead {
  display: grid;
  gap: 5px;
}

.pipeline-lead b {
  font-size: 13px;
  line-height: 1.35;
  white-space: normal;
}

.pipeline-steps {
  display: grid;
  gap: 6px;
}

.pipeline-steps span {
  display: grid;
  grid-template-columns: 22px 68px minmax(0, 1fr);
  gap: 7px;
  align-items: center;
  min-width: 0;
  padding-top: 7px;
  border-top: 1px solid rgba(201, 194, 178, 0.62);
}

.pipeline-steps i {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.64);
  font-style: normal;
}

.route-head {
  margin-top: 12px;
  margin-bottom: 2px;
}

.route-row {
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
}

.route-row b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.entitlement-matrix {
  padding: 0 32px 32px;
}

.entitlement-head-row,
.entitlement-row {
  display: grid;
  grid-template-columns: minmax(145px, 0.8fr) minmax(108px, 0.48fr) minmax(0, 1.35fr);
  gap: 0;
  align-items: stretch;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.entitlement-head-row {
  border-top: 1px solid var(--line);
  background: rgba(234, 217, 174, 0.18);
}

.entitlement-head-row span,
.entitlement-row b,
.entitlement-row span,
.entitlement-row strong,
.entitlement-row small {
  display: flex;
  align-items: center;
  min-width: 0;
  padding: 10px 11px;
  border-right: 1px solid var(--line);
}

.entitlement-head-row span:last-child,
.entitlement-row small {
  border-right: 0;
}

.entitlement-head-row span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 860;
  text-transform: uppercase;
}

.entitlement-row b {
  color: var(--ink);
  font-size: 12px;
}

.entitlement-row span,
.entitlement-row small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 740;
  line-height: 1.35;
}

.entitlement-row strong {
  color: var(--ink);
  font-size: 12px;
  font-weight: 860;
}

.entitlement-row.open strong {
  color: #148355;
}

.entitlement-row.locked strong {
  color: #9a6a12;
}

.entitlement-row.queued strong {
  color: #2f6190;
}

body.modal-open {
  overflow: hidden;
}

body[data-theme="dark"] .button.advanced-button,
body[data-theme="dark"] .access-copy,
body[data-theme="dark"] .premium-preview,
body[data-theme="dark"] .data-audit-seal .audit-lead,
body[data-theme="dark"] .data-audit-seal .audit-grid span,
body[data-theme="dark"] .data-audit-seal .audit-note,
body[data-theme="dark"] .advanced-readiness-ribbon > div,
body[data-theme="dark"] .advanced-readiness-ribbon > div:last-child span,
body[data-theme="dark"] .premium-unlock-deck .unlock-lead,
body[data-theme="dark"] .premium-unlock-deck .unlock-tabs button,
body[data-theme="dark"] .premium-unlock-deck .unlock-preview,
body[data-theme="dark"] .unlock-checklist span,
body[data-theme="dark"] .premium-card,
body[data-theme="dark"] .premium-quadrant-copy,
body[data-theme="dark"] .premium-quadrant-map,
body[data-theme="dark"] .premium-quadrant-stats span,
body[data-theme="dark"] .premium-quadrant-meta span,
body[data-theme="dark"] .premium-lookback,
body[data-theme="dark"] .premium-signal-stack .signal-stack-lead,
body[data-theme="dark"] .premium-signal-stack .signal-stack-rows span,
body[data-theme="dark"] .premium-signal-stack .signal-stack-tape,
body[data-theme="dark"] .live-silhouette-lead,
body[data-theme="dark"] .live-silhouette-lanes span,
body[data-theme="dark"] .live-silhouette-stream,
body[data-theme="dark"] .lookback-chart,
body[data-theme="dark"] .lookback-metrics span,
body[data-theme="dark"] .lookback-tabs button,
body[data-theme="dark"] .account-sheet,
body[data-theme="dark"] .account-status-grid span,
body[data-theme="dark"] .account-readiness .readiness-lead,
body[data-theme="dark"] .account-readiness .readiness-steps span,
body[data-theme="dark"] .access-method-grid button,
body[data-theme="dark"] .flow-simulation,
body[data-theme="dark"] .flow-simulation span,
body[data-theme="dark"] .service-row,
body[data-theme="dark"] .service-console button,
body[data-theme="dark"] .service-date-picker button,
body[data-theme="dark"] .account-pipeline,
body[data-theme="dark"] .pipeline-steps i,
body[data-theme="dark"] .route-row,
body[data-theme="dark"] .tier-card,
body[data-theme="dark"] .pro-lock-overlay,
body[data-theme="dark"] .premium-lock {
  border-color: rgba(245, 240, 230, 0.18);
  background: rgba(245, 240, 230, 0.06);
}

body[data-theme="dark"] .account-sheet {
  background: #10100f;
}

@media (max-width: 980px) {
  .access-strip,
  .account-grid,
  .account-readiness,
  .advanced-readiness-ribbon {
    grid-template-columns: 1fr;
  }

  .data-audit-seal {
    grid-template-columns: 1fr;
  }

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

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

  .advanced-readiness-ribbon > div:last-child,
  .readiness-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .premium-unlock-deck {
    grid-template-columns: 1fr;
  }

  .unlock-preview {
    grid-template-columns: 1fr;
  }

  .premium-quadrant {
    grid-template-columns: 1fr;
  }

  .premium-signal-stack {
    grid-template-columns: 1fr;
  }

  .live-silhouette {
    grid-template-columns: 1fr;
  }

  .premium-quadrant-map {
    min-height: 320px;
  }

  .lookback-head,
  .lookback-body {
    grid-template-columns: 1fr;
  }

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

  .account-readiness {
    padding-top: 10px;
  }

  .access-method-grid {
    grid-template-columns: 1fr;
  }

  .flow-simulation {
    grid-template-columns: 1fr;
  }

  .service-console button {
    grid-template-columns: 72px minmax(96px, 0.7fr) minmax(0, 1fr);
  }

  .entitlement-head-row,
  .entitlement-row {
    grid-template-columns: minmax(110px, 0.8fr) minmax(74px, 0.45fr) minmax(82px, 0.45fr) minmax(0, 1fr);
  }
}

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

  .access-copy {
    grid-template-columns: 1fr;
  }

  .access-copy small {
    white-space: normal;
  }
}

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

  .premium-grid,
  .tier-grid,
  .unlock-tabs {
    grid-template-columns: 1fr;
  }

  .premium-card,
  .unlock-tabs button,
  .audit-grid span {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .premium-card:last-child,
  .unlock-tabs button:last-child,
  .audit-grid span:last-child {
    border-bottom: 0;
  }

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

  .audit-lead strong,
  .audit-note small {
    white-space: normal;
  }

  .access-actions {
    grid-template-columns: 1fr;
  }

  .account-hero,
  .account-status-grid,
  .account-readiness,
  .entitlement-matrix,
  .account-grid {
    padding-right: 18px;
    padding-left: 18px;
  }

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

  .advanced-readiness-ribbon > div:last-child,
  .readiness-steps {
    grid-template-columns: 1fr;
  }

  .lookback-tabs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .lookback-chart {
    gap: 2px;
    min-height: 112px;
    padding: 8px;
  }

  .lookback-chart b {
    display: none;
  }

  .signal-stack-rows,
  .live-silhouette-lanes,
  .service-date-picker {
    grid-template-columns: 1fr;
  }

  .signal-stack-tape {
    gap: 2px;
    min-height: 118px;
    padding: 8px;
  }

  .signal-stack-tape b {
    display: none;
  }

  .live-silhouette-stream {
    padding: 10px;
  }

  .live-silhouette-stream button {
    grid-template-columns: 48px minmax(0, 1fr) 54px;
    gap: 7px;
  }

  .unlock-mini-tape {
    gap: 2px;
    min-height: 88px;
  }

  .unlock-mini-tape b {
    display: none;
  }

  .flow-simulation > div:last-child {
    grid-template-columns: 1fr;
  }

  .service-console button,
  .pipeline-steps span {
    grid-template-columns: 1fr;
  }

  .service-console span,
  .service-console b,
  .service-console small,
  .pipeline-steps b,
  .pipeline-steps small {
    white-space: normal;
  }

  .lookback-metrics {
    grid-template-columns: 1fr;
  }

  .entitlement-head-row {
    display: none;
  }

  .entitlement-row {
    grid-template-columns: 1fr;
    margin-bottom: 8px;
    border-top: 1px solid var(--line);
  }

  .entitlement-row b,
  .entitlement-row span,
  .entitlement-row strong,
  .entitlement-row small {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .entitlement-row small {
    border-bottom: 0;
  }

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

  .pro-lock-overlay {
    inset: 58px 10px 10px;
  }
}

@media (max-width: 520px) {
  .topbar {
    grid-template-columns: minmax(0, 1fr);
  }

  .toolbar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    width: 100%;
  }

  .toolbar .button {
    min-width: 0;
    padding: 0 8px;
    overflow: hidden;
    font-size: 11px;
  }

  .toolbar .button span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .toolbar .button.primary {
    grid-column: 1 / -1;
  }
}

/* v1.32 pass: compact lower cockpit rhythm without exposing commercial internals. */
.premium-preview {
  margin-top: 18px;
  padding: 14px;
  background:
    linear-gradient(90deg, rgba(154, 106, 18, 0.045), transparent 42%),
    rgba(255, 255, 255, 0.7);
}

.premium-head {
  align-items: end;
  margin-bottom: 10px;
}

.premium-head h2 {
  font-size: 17px;
}

.premium-head p {
  max-width: 760px;
  line-height: 1.48;
}

.data-audit-seal {
  grid-template-columns: minmax(230px, 0.58fr) minmax(0, 1.08fr) minmax(210px, 0.42fr);
  gap: 8px;
  margin-bottom: 10px;
}

.audit-lead,
.audit-note {
  padding: 12px;
}

.audit-grid {
  gap: 6px;
}

.audit-grid span {
  padding: 9px 10px;
}

.audit-lead strong,
.audit-note b {
  font-size: 16px;
}

.premium-unlock-deck {
  grid-template-columns: minmax(210px, 0.4fr) minmax(0, 1.12fr) minmax(260px, 0.5fr);
  gap: 8px;
  margin-bottom: 10px;
}

.unlock-lead {
  gap: 6px;
  padding: 13px;
}

.unlock-lead strong {
  font-size: 19px;
}

.unlock-tabs {
  gap: 6px;
}

.unlock-tabs button {
  min-height: 96px;
  padding: 10px;
}

.unlock-preview {
  gap: 6px;
  padding: 8px;
}

.unlock-checklist {
  gap: 6px;
}

.unlock-checklist span {
  padding: 8px;
}

.unlock-mini-tape {
  min-height: 104px;
}

.premium-grid {
  gap: 8px;
}

.premium-card {
  min-height: 114px;
  padding: 11px 12px;
}

.premium-card strong {
  font-size: 22px;
}

.premium-lookback,
.premium-signal-stack,
.premium-quadrant {
  margin-top: 10px;
}

.lookback-head {
  padding: 12px;
}

.lookback-body {
  grid-template-columns: minmax(0, 1fr) minmax(230px, 0.36fr);
  gap: 10px;
  padding: 10px 12px 12px;
}

.lookback-chart {
  min-height: 112px;
}

.lookback-metrics {
  gap: 6px;
}

.lookback-metrics span {
  padding: 9px;
}

.lookback-metrics b {
  font-size: 18px;
}

.premium-signal-stack {
  grid-template-columns: minmax(190px, 0.34fr) minmax(0, 0.8fr) minmax(220px, 0.46fr);
  gap: 8px;
}

.signal-stack-lead {
  padding: 13px;
}

.signal-stack-lead strong {
  font-size: 30px;
}

.signal-stack-rows {
  gap: 6px;
}

.signal-stack-rows span {
  padding: 10px;
}

.signal-stack-rows b {
  font-size: 19px;
}

.signal-stack-tape {
  min-height: 138px;
  padding: 8px;
}

.premium-quadrant {
  grid-template-columns: minmax(190px, 0.3fr) minmax(0, 1fr) minmax(150px, 0.24fr);
  gap: 10px;
}

.premium-quadrant-copy {
  padding: 14px;
}

.premium-quadrant-copy strong {
  font-size: 20px;
}

.premium-quadrant-meta {
  gap: 6px;
}

.premium-quadrant-map {
  min-height: 262px;
}

.premium-quadrant-stats {
  gap: 6px;
}

.premium-quadrant-stats span {
  padding: 10px;
}

.premium-lock {
  right: 14px;
  bottom: 14px;
  padding: 10px 12px;
}

.analysis-grid {
  gap: 16px;
  margin-top: 18px;
}

.panel {
  padding: 14px;
}

@media (max-width: 1180px) {
  .data-audit-seal,
  .premium-unlock-deck,
  .premium-signal-stack,
  .premium-quadrant {
    grid-template-columns: 1fr;
  }

  .premium-quadrant-map {
    min-height: 300px;
  }
}

/* v1.33 pass: mobile advanced-preview compression and lower-panel entry rhythm. */
@media (max-width: 760px) {
  .premium-preview {
    margin-top: 14px;
    padding: 12px;
  }

  .premium-head {
    display: grid;
    gap: 6px;
  }

  .premium-head h2 {
    font-size: 16px;
  }

  .data-audit-seal,
  .premium-unlock-deck,
  .premium-signal-stack,
  .premium-quadrant {
    gap: 8px;
  }

  .audit-lead,
  .audit-note,
  .unlock-lead,
  .premium-quadrant-copy,
  .signal-stack-lead {
    padding: 11px;
  }

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

  .audit-grid span {
    min-height: 68px;
  }

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

  .unlock-tabs button {
    min-height: 78px;
  }

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

  .premium-card {
    min-height: 96px;
  }

  .premium-card strong {
    font-size: 20px;
  }

  .lookback-body {
    grid-template-columns: 1fr;
  }

  .lookback-chart {
    min-height: 92px;
  }

  .lookback-metrics,
  .signal-stack-rows,
  .premium-quadrant-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .signal-stack-tape {
    min-height: 96px;
  }

  .premium-quadrant-map {
    min-height: 238px;
  }

  .analysis-grid {
    gap: 12px;
    margin-top: 14px;
  }
}

@media (max-width: 420px) {
  .premium-preview {
    padding: 10px;
  }

  .audit-grid,
  .premium-grid,
  .lookback-metrics,
  .signal-stack-rows,
  .premium-quadrant-stats {
    grid-template-columns: 1fr;
  }

  .audit-grid span,
  .premium-card,
  .signal-stack-rows span,
  .premium-quadrant-stats span {
    min-height: auto;
  }

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

  .unlock-tabs button {
    min-height: 70px;
  }

  .unlock-tabs b {
    font-size: 12px;
  }

  .unlock-preview {
    padding: 7px;
  }

  .unlock-mini-tape,
  .signal-stack-tape,
  .lookback-chart {
    min-height: 82px;
  }

  .premium-quadrant-map {
    min-height: 220px;
  }

  .premium-lock {
    position: static;
    max-width: none;
    margin-top: 8px;
  }
}

/* v2.93-v2.96: decisive row states, touch hold, linked focus semantics, and tablet continuity. */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

#stockTable tbody tr[data-symbol-row] {
  cursor: pointer;
  outline: 0;
}

#stockTable tbody tr[data-symbol-row] td {
  transition: background-color 130ms ease, box-shadow 130ms ease, color 130ms ease;
}

@media (hover: hover) {
  #stockTable tbody tr[data-symbol-row]:hover td,
  #stockTable tbody tr[data-symbol-row].symbol-peer-hover td {
    background: color-mix(in srgb, var(--blue) 7%, var(--surface));
  }
}

#stockTable tbody tr[data-symbol-row]:focus-visible td {
  background: color-mix(in srgb, var(--blue) 6%, var(--surface));
  box-shadow: inset 0 2px 0 color-mix(in srgb, var(--blue) 72%, transparent), inset 0 -2px 0 color-mix(in srgb, var(--blue) 72%, transparent);
}

#stockTable tbody tr[data-symbol-row]:focus-visible td:first-child {
  box-shadow: inset 2px 0 0 var(--blue), inset 0 2px 0 color-mix(in srgb, var(--blue) 72%, transparent), inset 0 -2px 0 color-mix(in srgb, var(--blue) 72%, transparent);
}

#stockTable tbody tr[data-symbol-row]:focus-visible td:last-child {
  box-shadow: inset -2px 0 0 var(--blue), inset 0 2px 0 color-mix(in srgb, var(--blue) 72%, transparent), inset 0 -2px 0 color-mix(in srgb, var(--blue) 72%, transparent);
}

#stockTable tbody tr[data-symbol-row].symbol-pressing td,
#stockTable tbody tr[data-symbol-row].symbol-key-pressed td {
  background: color-mix(in srgb, var(--ink) 9%, var(--surface));
  box-shadow: inset 0 2px 7px color-mix(in srgb, var(--ink) 16%, transparent);
}

#stockTable tbody tr[data-symbol-row][aria-selected="true"] td,
#stockTable tbody tr[data-symbol-row].symbol-active td {
  background: color-mix(in srgb, var(--gold) 12%, var(--surface));
}

#stockTable tbody tr[data-symbol-row][aria-selected="true"] td:first-child,
#stockTable tbody tr[data-symbol-row].symbol-active td:first-child {
  box-shadow: inset 4px 0 0 var(--gold);
}

[data-symbol] {
  -webkit-tap-highlight-color: transparent;
}

[data-symbol].symbol-pressing:not(tr),
[data-symbol].symbol-key-pressed:not(tr) {
  outline: 2px solid color-mix(in srgb, var(--gold) 72%, transparent);
  outline-offset: 1px;
  filter: brightness(0.97);
}

[data-symbol].symbol-long-pressed:not(tr) {
  outline-color: var(--gold);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--gold) 15%, transparent);
}

@media (pointer: coarse) {
  [data-symbol] {
    touch-action: pan-y;
  }

  #stockTable tbody tr[data-symbol-row] {
    height: 44px;
  }

  #stockTable tbody tr[data-symbol-row] td {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .rotation-row,
  .momentum-row,
  .realtime-bias-list button,
  .side-leader-list button,
  .side-extreme-list button,
  .live-event-queue button,
  .stock-sort-tabs button {
    min-height: 44px;
  }

  .rotation-map-grid button::after {
    position: absolute;
    inset: -8px;
    content: "";
  }
}

@media (prefers-reduced-motion: no-preference) {
  [data-symbol].symbol-pressing:not(tr) {
    animation: kzg-symbol-hold 460ms ease-out both;
  }
}

@keyframes kzg-symbol-hold {
  from { outline-offset: 7px; }
  to { outline-offset: 1px; }
}

@media (prefers-reduced-motion: reduce) {
  #stockTable tbody tr[data-symbol-row] td,
  [data-symbol].symbol-pressing:not(tr) {
    transition: none;
    animation: none;
  }
}

@media (min-width: 761px) and (max-width: 1024px) {
  .premium-preview,
  .realtime-sector,
  .realtime-topline,
  .realtime-transition-rail,
  .realtime-router,
  .realtime-layout,
  .realtime-brief,
  .realtime-filter-console,
  .realtime-terminal,
  .realtime-side-lists,
  .realtime-history-handoff,
  .history-sector-intro,
  .analysis-grid,
  .panel {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .premium-preview,
  .realtime-router,
  .realtime-layout,
  .realtime-terminal,
  .realtime-side-lists {
    overflow: hidden;
  }

  .realtime-layout,
  .realtime-router {
    grid-template-columns: minmax(0, 1fr);
  }

  .router-gates {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .router-tape {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .realtime-side-lists {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
  }

  .terminal-table-head,
  .terminal-table-body button {
    grid-template-columns: 48px 58px minmax(120px, 1fr) 58px 72px 68px;
    gap: 6px;
  }

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

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

/* v1.37 pass: advanced-preview rail with less block-stack pressure. */
.premium-capability-rail {
  display: grid;
  grid-template-columns: minmax(230px, 0.42fr) minmax(360px, 0.7fr) minmax(280px, 0.58fr);
  gap: 10px;
  margin: 0 0 12px;
}

.capability-lead,
.capability-rails,
.capability-meter {
  min-width: 0;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.58);
}

.capability-lead {
  display: grid;
  align-content: center;
  gap: 7px;
  padding: 14px;
  box-shadow: inset 3px 0 0 var(--gold);
}

.premium-capability-rail.hot .capability-lead {
  box-shadow: inset 3px 0 0 #c45335;
}

.premium-capability-rail.cool .capability-lead {
  box-shadow: inset 3px 0 0 #2f6190;
}

.capability-lead span,
.capability-lead p,
.capability-rails i,
.capability-rails small,
.capability-meter b {
  color: var(--muted);
  font-size: 11px;
  font-weight: 760;
}

.capability-lead strong {
  overflow: hidden;
  color: var(--ink);
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 32px;
  line-height: 0.96;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.capability-lead p {
  line-height: 1.45;
}

.capability-rails {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
}

.capability-rails span {
  display: grid;
  align-content: center;
  gap: 5px;
  min-width: 0;
  min-height: 112px;
  padding: 12px;
  border-right: 1px solid var(--line);
  font-variant-numeric: tabular-nums;
}

.capability-rails span:last-child {
  border-right: 0;
}

.capability-rails .hot {
  box-shadow: inset 0 3px 0 rgba(196, 83, 53, 0.62);
}

.capability-rails .cool {
  box-shadow: inset 0 3px 0 rgba(47, 97, 144, 0.62);
}

.capability-rails .flat {
  box-shadow: inset 0 3px 0 rgba(154, 106, 18, 0.42);
}

.capability-rails b {
  overflow: hidden;
  color: var(--ink);
  font-size: 20px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.capability-meter {
  display: grid;
  grid-template-columns: repeat(15, minmax(0, 1fr));
  gap: 3px;
  align-items: end;
  min-height: 112px;
  padding: 10px 12px;
  background:
    linear-gradient(90deg, rgba(47, 97, 144, 0.07), transparent 48%, rgba(196, 83, 53, 0.07)),
    rgba(251, 250, 246, 0.7);
}

.capability-meter button {
  display: grid;
  grid-template-rows: minmax(0, 1fr) 14px;
  align-items: end;
  min-width: 0;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}

.capability-meter i {
  position: relative;
  display: block;
  width: 100%;
  height: var(--h);
  min-height: 8px;
  overflow: hidden;
  background: rgba(201, 194, 178, 0.46);
}

.capability-meter .hot i {
  background: #c45335;
}

.capability-meter .cool i {
  background: #2f6190;
}

.capability-meter b {
  overflow: hidden;
  margin-top: 4px;
  text-align: center;
  text-overflow: clip;
  white-space: nowrap;
}

.premium-capability-rail.is-locked .capability-rails,
.premium-capability-rail.is-locked .capability-meter {
  filter: none;
  opacity: 1;
  pointer-events: auto;
  user-select: auto;
}

body[data-theme="dark"] .capability-lead,
body[data-theme="dark"] .capability-rails,
body[data-theme="dark"] .capability-meter {
  background: rgba(24, 26, 25, 0.74);
}

body[data-theme="dark"] .lock-preview-chips i {
  border-color: rgba(214, 173, 84, 0.32);
  background: rgba(255, 255, 255, 0.07);
}

@media (max-width: 1180px) {
  .premium-capability-rail {
    grid-template-columns: 1fr;
  }

  .capability-rails span {
    min-height: 90px;
  }
}

@media (max-width: 760px) {
  .premium-capability-rail {
    gap: 8px;
  }

  .capability-lead {
    padding: 11px;
  }

  .capability-lead strong {
    font-size: 26px;
  }

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

  .capability-rails span:nth-child(2n) {
    border-right: 0;
  }

  .capability-rails span:nth-last-child(-n + 2) {
    border-top: 1px solid var(--line);
  }
}

@media (max-width: 420px) {
  .capability-rails {
    grid-template-columns: 1fr;
  }

  .capability-rails span {
    min-height: auto;
    border-right: 0;
    border-top: 1px solid var(--line);
  }

  .capability-rails span:first-child {
    border-top: 0;
  }
}

/* v1.39 pass: final mobile chrome compression and lower-panel rhythm. */
@media (max-width: 760px) {
  .analysis-grid {
    gap: 10px;
    margin-top: 12px;
  }

  .panel {
    padding: 12px;
  }

  .section-head {
    margin-bottom: 10px;
  }

  .section-head h2 {
    font-size: 15px;
  }

  .section-head p {
    margin-top: 4px;
    line-height: 1.35;
  }

  .trend-cockpit,
  .signal-dashboard,
  .bucket-rhythm,
  .rotation-map,
  .symbol-momentum {
    gap: 8px;
  }

  .trend-radar,
  .signal-metrics,
  .bucket-metrics,
  .rotation-summary,
  .focus-metrics {
    gap: 6px;
  }
}

@media (max-width: 520px) {
  .topbar {
    grid-template-columns: minmax(0, 1fr) minmax(104px, auto);
    align-items: center;
    gap: 6px 10px;
    padding: 7px 12px 8px;
  }

  .brand {
    gap: 8px;
    min-width: 0;
  }

  .mark {
    width: 36px;
    height: 36px;
    font-size: 14px;
  }

  .brand h1 {
    overflow: hidden;
    font-size: 18px;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .brand p {
    margin-top: 2px;
    overflow: hidden;
    font-size: 8px;
    letter-spacing: 0.08em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .dateplate {
    justify-self: end;
    max-width: 118px;
    min-width: 0;
    text-align: right;
  }

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

  .dateplate b {
    font-size: 13px;
  }

  .dateplate span {
    margin-top: 2px;
    font-size: 8px;
  }

  .toolbar {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
    width: 100%;
  }

  .toolbar .button,
  .toolbar .button.primary {
    grid-column: auto;
    min-width: 0;
    min-height: 31px;
    gap: 3px;
    padding: 0 5px;
    overflow: hidden;
    font-size: 10px;
  }

  .toolbar .button span:first-child {
    font-size: 10px;
  }

  .toolbar .button span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .timeboard {
    padding-top: 18px;
  }

  .premium-preview {
    margin-top: 12px;
    padding: 9px;
  }

  .premium-capability-rail,
  .data-audit-seal,
  .premium-unlock-deck,
  .premium-grid,
  .premium-lookback,
  .premium-signal-stack,
  .premium-quadrant {
    gap: 7px;
  }

  .capability-lead,
  .audit-lead,
  .audit-note,
  .unlock-lead,
  .lookback-head,
  .premium-quadrant-copy,
  .signal-stack-lead {
    padding: 10px;
  }
}

/* v1.40 pass: deploy-checkpoint polish for desktop fit, advanced silhouettes, and mobile lower rhythm. */
@media (min-width: 1181px) {
  .workbench {
    grid-template-columns: minmax(0, 1fr) clamp(330px, 23vw, 374px);
    gap: 14px;
    align-items: start;
  }

  .report-stage,
  .side-rail,
  .panel {
    padding: 13px;
  }

  .side-rail {
    display: grid;
    gap: 10px;
  }

  .digest {
    gap: 7px;
  }

  .digest div {
    min-height: 36px;
    padding: 9px 10px;
  }

  .premium-preview {
    padding: 14px;
  }

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

  .premium-capability-rail {
    grid-template-columns: minmax(180px, 0.42fr) minmax(0, 1fr) minmax(270px, 0.62fr);
  }

  .live-silhouette {
    grid-template-columns: minmax(190px, 0.48fr) minmax(0, 0.78fr) minmax(300px, 1.12fr);
    gap: 8px;
  }

  .live-silhouette-lead,
  .live-silhouette-lanes span {
    padding: 10px 11px;
  }

  .live-silhouette-stream {
    gap: 6px;
    padding: 10px;
  }

  .live-silhouette-stream button {
    min-height: 31px;
  }

  .premium-quadrant {
    grid-template-columns: minmax(218px, 0.52fr) minmax(0, 1.14fr) minmax(174px, 0.38fr);
    gap: 8px;
  }

  .premium-quadrant-map {
    min-height: 246px;
  }
}

@media (max-width: 760px) {
  .side-rail {
    gap: 9px;
  }

  .digest {
    gap: 6px;
  }

  .digest div {
    min-height: auto;
    padding: 8px 9px;
  }

  .premium-grid,
  .live-silhouette,
  .premium-quadrant,
  .premium-signal-stack {
    gap: 7px;
  }

  .live-silhouette-lead,
  .live-silhouette-lanes span,
  .live-silhouette-stream {
    padding: 10px;
  }
}

@media (max-width: 520px) {
  .access-strip,
  .access-copy {
    gap: 7px;
  }

  .access-copy {
    grid-template-columns: 88px minmax(96px, 0.72fr) minmax(0, 1fr);
    padding: 9px;
  }

  .access-copy b {
    font-size: 15px;
  }

  .account-sheet {
    width: calc(100vw - 22px);
    max-height: calc(100vh - 22px);
  }

  .account-hero,
  .account-status-grid,
  .account-readiness,
  .account-section,
  .entitlement-matrix {
    padding-left: 18px;
    padding-right: 18px;
  }
}

/* v1.41 pass: tighten lower-dashboard rhythm without changing the KZG PNG sheet. */
.premium-preview {
  scroll-margin-top: 88px;
}

@media (min-width: 1181px) {
  .premium-preview {
    padding: 12px;
  }

  .premium-head {
    padding-bottom: 9px;
  }

  .premium-head h2 {
    font-size: 16px;
    line-height: 1.05;
  }

  .premium-head p {
    max-width: 520px;
    line-height: 1.42;
  }

  .premium-unlock-deck {
    grid-template-columns: minmax(198px, 0.38fr) minmax(0, 1fr) minmax(262px, 0.52fr);
    gap: 8px;
    margin-bottom: 8px;
  }

  .unlock-lead,
  .unlock-preview,
  .premium-card,
  .premium-quadrant-copy,
  .premium-quadrant-stats span,
  .lookback-head,
  .lookback-metrics span,
  .signal-stack-lead,
  .signal-stack-rows span,
  .live-silhouette-lead,
  .live-silhouette-lanes span,
  .live-silhouette-stream {
    border-color: rgba(201, 194, 178, 0.86);
  }

  .unlock-lead,
  .unlock-preview {
    padding: 10px;
  }

  .unlock-lead strong {
    font-size: 18px;
  }

  .unlock-tabs {
    gap: 6px;
  }

  .unlock-tabs button {
    min-height: 86px;
    padding: 9px;
  }

  .unlock-tabs b,
  .unlock-checklist b {
    font-size: 12px;
  }

  .premium-grid {
    gap: 7px;
  }

  .premium-card {
    min-height: 74px;
    padding: 10px;
  }

  .premium-card strong {
    font-size: 20px;
  }

  .premium-lookback,
  .premium-signal-stack,
  .live-silhouette,
  .premium-quadrant {
    margin-top: 8px;
  }

  .lookback-body {
    grid-template-columns: minmax(0, 1fr) minmax(224px, 0.36fr);
    gap: 8px;
    padding: 9px 10px 10px;
  }

  .lookback-chart {
    min-height: 96px;
    gap: 3px;
    padding: 8px;
  }

  .lookback-metrics {
    gap: 6px;
  }

  .lookback-metrics span {
    padding: 8px;
  }

  .lookback-metrics b {
    font-size: 17px;
  }

  .premium-signal-stack {
    grid-template-columns: minmax(184px, 0.34fr) minmax(260px, 0.58fr) minmax(226px, 0.5fr);
    gap: 8px;
  }

  .signal-stack-lead,
  .signal-stack-rows span {
    padding: 10px;
  }

  .signal-stack-lead strong {
    font-size: 30px;
  }

  .signal-stack-rows {
    gap: 6px;
  }

  .signal-stack-rows b {
    font-size: 18px;
  }

  .signal-stack-tape {
    gap: 5px;
    padding: 9px;
  }

  .live-silhouette {
    grid-template-columns: minmax(178px, 0.4fr) minmax(0, 0.68fr) minmax(280px, 1fr);
  }

  .live-silhouette-lead strong {
    font-size: 28px;
  }

  .premium-quadrant {
    grid-template-columns: minmax(196px, 0.44fr) minmax(0, 1fr) minmax(152px, 0.32fr);
  }

  .premium-quadrant-copy {
    padding: 12px;
  }

  .premium-quadrant-copy strong {
    font-size: 19px;
  }

  .premium-quadrant-map {
    min-height: 220px;
  }

  .premium-quadrant-stats {
    gap: 6px;
  }

  .premium-quadrant-stats span {
    padding: 9px;
  }
}

@media (max-width: 760px) {
  .report-stage .kzg-report {
    max-height: 780px;
  }

  .report-stage .kzg-report::after {
    height: 58px;
  }

  .premium-head {
    gap: 6px;
  }

  .premium-head h2 {
    font-size: 15px;
  }

  .premium-unlock-deck,
  .premium-lookback,
  .premium-signal-stack,
  .live-silhouette,
  .premium-quadrant {
    margin-top: 8px;
  }

  .unlock-tabs button,
  .premium-card,
  .lookback-metrics span,
  .signal-stack-rows span,
  .premium-quadrant-stats span {
    padding: 8px;
  }

  .unlock-tabs button {
    min-height: 72px;
  }

  .lookback-chart {
    min-height: 92px;
  }

  .live-silhouette-lead strong,
  .signal-stack-lead strong {
    font-size: 28px;
  }

  .premium-quadrant-map {
    min-height: 214px;
  }
}

@media (max-width: 520px) {
  .mark {
    width: 34px;
    height: 34px;
    font-size: 13px;
  }

  .brand {
    gap: 7px;
  }

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

  .brand p {
    font-size: 7.5px;
    letter-spacing: 0.07em;
  }
}

/* v1.42 pass: mobile-first screen fit and calmer desktop lower-panel calligraphy. */
@media (min-width: 1181px) {
  .topbar {
    gap: 13px;
  }

  .toolbar {
    gap: 7px;
  }

  .hero {
    gap: 12px;
  }

  .timeboard {
    padding: 18px 18px 16px;
  }

  .timeboard-copy h2 {
    font-size: 24px;
  }

  .timeboard-copy p {
    max-width: 360px;
    line-height: 1.44;
  }

  .metric-rail {
    gap: 8px;
  }

  .metric {
    min-height: 86px;
    padding: 10px 11px;
  }

  .metric strong {
    font-size: 22px;
  }

  .workbench {
    gap: 12px;
  }

  .report-stage,
  .side-rail,
  .panel {
    padding: 12px;
  }

  .premium-preview {
    padding: 11px;
  }

  .premium-unlock-deck {
    grid-template-columns: minmax(188px, 0.36fr) minmax(0, 1fr) minmax(244px, 0.48fr);
    gap: 7px;
    margin-bottom: 7px;
  }

  .unlock-lead,
  .unlock-preview {
    padding: 9px;
  }

  .unlock-tabs button {
    min-height: 78px;
    padding: 8px;
  }

  .premium-card {
    min-height: 68px;
    padding: 9px;
  }

  .premium-card strong {
    font-size: 19px;
  }

  .premium-lookback,
  .premium-signal-stack,
  .live-silhouette,
  .premium-quadrant {
    margin-top: 7px;
  }

  .lookback-body {
    grid-template-columns: minmax(0, 1fr) minmax(210px, 0.34fr);
    gap: 7px;
    padding: 8px 9px 9px;
  }

  .lookback-chart {
    min-height: 88px;
  }

  .premium-signal-stack {
    grid-template-columns: minmax(172px, 0.32fr) minmax(250px, 0.56fr) minmax(210px, 0.46fr);
    gap: 7px;
  }

  .signal-stack-lead,
  .signal-stack-rows span,
  .live-silhouette-lead,
  .live-silhouette-lanes span,
  .live-silhouette-stream {
    padding: 9px;
  }

  .signal-stack-tape {
    min-height: 136px;
    padding: 8px;
  }

  .live-silhouette {
    grid-template-columns: minmax(168px, 0.34fr) minmax(0, 0.62fr) minmax(260px, 0.94fr);
    gap: 7px;
  }

  .premium-quadrant {
    grid-template-columns: minmax(184px, 0.4fr) minmax(0, 1fr) minmax(146px, 0.3fr);
    gap: 7px;
  }

  .premium-quadrant-map {
    min-height: 204px;
  }

  .premium-quadrant-stats span {
    padding: 8px;
  }
}

@media (max-width: 760px) {
  .topbar {
    gap: 9px;
    padding-top: 8px;
  }

  .toolbar {
    gap: 6px;
  }

  .hero {
    gap: 9px;
  }

  .timeboard {
    padding: 18px 12px 14px;
  }

  .timeboard-copy h2 {
    font-size: clamp(25px, 7.2vw, 32px);
    line-height: 1.05;
  }

  .timeboard-copy p {
    line-height: 1.45;
  }

  .metric-rail {
    gap: 7px;
  }

  .metric {
    padding: 9px 10px;
  }

  .report-stage {
    padding: 10px;
  }

  .report-stage .section-head {
    gap: 4px;
  }

  .report-stage .kzg-report {
    max-height: 720px;
  }

  .report-stage .kzg-report::after {
    height: 52px;
  }

  .premium-preview {
    padding: 8px;
  }

  .premium-grid {
    gap: 6px;
  }

  .premium-unlock-deck,
  .premium-lookback,
  .premium-signal-stack,
  .live-silhouette,
  .premium-quadrant {
    gap: 6px;
    margin-top: 7px;
  }

  .unlock-tabs {
    gap: 6px;
  }

  .unlock-tabs button {
    min-height: 66px;
  }

  .premium-card,
  .lookback-metrics span,
  .signal-stack-rows span,
  .premium-quadrant-stats span {
    padding: 7px;
  }

  .lookback-body {
    padding: 8px;
  }

  .lookback-chart {
    min-height: 84px;
  }

  .signal-stack-tape {
    min-height: 118px;
    padding: 7px;
  }

  .premium-quadrant-map {
    min-height: 196px;
  }
}

@media (max-width: 520px) {
  .app-shell {
    padding-inline: 10px;
  }

  .topbar {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px;
    padding: 8px 12px 9px;
    align-items: center;
  }

  .brand {
    min-width: 0;
    gap: 7px;
  }

  .mark {
    width: 32px;
    height: 32px;
    font-size: 12px;
  }

  .brand h1 {
    font-size: 15px;
    line-height: 0.98;
  }

  .brand p {
    margin-top: 3px;
    font-size: 7px;
    letter-spacing: 0.08em;
  }

  .dateplate {
    max-width: 132px;
    min-width: 0;
    text-align: right;
  }

  .dateplate b {
    font-size: 11px;
    line-height: 1;
    overflow: visible;
    text-overflow: clip;
  }

  .dateplate span {
    margin-top: 3px;
    font-size: 7.5px;
    line-height: 1.15;
  }

  .toolbar {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
  }

  .toolbar .button {
    min-height: 34px;
    padding-inline: 6px;
    gap: 5px;
    font-size: 11px;
  }

  .timeboard {
    gap: 10px;
  }

  .timeboard-copy {
    gap: 5px;
  }

  .timeline-shell {
    padding: 8px 8px 10px;
  }

  .timeline-labels {
    font-size: 9px;
  }

  .metric-rail {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .metric.lead,
  .metric:last-child {
    grid-column: auto;
  }

  .metric,
  .metric:nth-child(odd),
  .metric:nth-child(2n),
  .metric:nth-child(4n),
  .metric.lead,
  .metric:last-child {
    border-top: 1px solid var(--line-strong);
    border-right: 1px solid var(--line-strong);
  }

  .metric:nth-child(-n + 4) {
    border-top: 0;
  }

  .metric:nth-child(4n) {
    border-right: 0;
  }

  .metric {
    min-height: 58px;
    padding: 7px 6px;
  }

  .metric strong {
    margin-top: 3px;
    font-size: 15px;
    line-height: 1.05;
  }

  .metric span {
    font-size: 7.5px;
    line-height: 1.15;
  }

  .metric small {
    margin-top: 3px;
    font-size: 7px;
    line-height: 1.15;
  }

  .access-copy {
    grid-template-columns: 82px minmax(84px, 0.64fr) minmax(0, 1fr);
  }

  .workbench {
    gap: 10px;
  }

  .section-head h2 {
    font-size: 17px;
  }

  .section-head p {
    font-size: 12px;
    line-height: 1.42;
  }

  .premium-head h2 {
    font-size: 14px;
  }

  .premium-head p {
    font-size: 11px;
  }

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

  .premium-card {
    min-height: 62px;
  }

  .premium-card strong,
  .lookback-metrics b,
  .signal-stack-rows b {
    font-size: 16px;
  }

  .live-silhouette-lead strong,
  .signal-stack-lead strong {
    font-size: 24px;
  }
}

/* v1.43 pass: compress the mobile long page below the first screen. */
@media (max-width: 520px) {
  .premium-preview {
    margin-top: 14px;
    padding: 7px;
  }

  .premium-head {
    gap: 6px;
    margin-bottom: 8px;
  }

  .premium-head h2 {
    font-size: 13px;
  }

  .premium-head p {
    font-size: 10px;
    line-height: 1.32;
  }

  .premium-unlock-deck {
    grid-template-columns: 1fr;
    gap: 5px;
    margin-bottom: 6px;
  }

  .unlock-lead,
  .unlock-preview {
    padding: 7px;
  }

  .unlock-lead {
    gap: 4px;
  }

  .unlock-lead strong {
    font-size: 15px;
  }

  .unlock-lead p {
    font-size: 10px;
    line-height: 1.32;
  }

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

  .unlock-tabs button {
    min-height: 46px;
    gap: 2px;
    padding: 6px;
  }

  .unlock-tabs i {
    display: none;
  }

  .unlock-preview {
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1fr);
    gap: 5px;
  }

  .unlock-checklist {
    gap: 5px;
  }

  .unlock-checklist span {
    padding: 6px;
  }

  .unlock-checklist b {
    font-size: 11px;
  }

  .unlock-mini-tape {
    min-height: 66px;
  }

  .premium-card {
    min-height: 54px;
    gap: 4px;
    padding: 7px;
  }

  .premium-lookback,
  .premium-signal-stack,
  .live-silhouette,
  .premium-quadrant {
    margin-top: 6px;
  }

  .lookback-body {
    grid-template-columns: 1fr;
    gap: 5px;
    padding: 7px;
  }

  .lookback-chart {
    min-height: 68px;
    gap: 2px;
    padding: 6px;
  }

  .lookback-chart span,
  .signal-stack-tape button {
    grid-template-rows: minmax(0, 1fr) 10px;
  }

  .lookback-metrics,
  .signal-stack-rows,
  .live-silhouette-lanes,
  .premium-quadrant-stats,
  .premium-quadrant-meta {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
  }

  .lookback-metrics span,
  .signal-stack-rows span,
  .live-silhouette-lanes span,
  .premium-quadrant-stats span,
  .premium-quadrant-meta span {
    min-height: 48px;
    padding: 6px;
  }

  .lookback-metrics b,
  .signal-stack-rows b,
  .live-silhouette-lanes b,
  .premium-quadrant-stats b,
  .premium-quadrant-meta b {
    font-size: 12px;
    line-height: 1.05;
  }

  .premium-signal-stack,
  .live-silhouette,
  .premium-quadrant {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .signal-stack-lead,
  .live-silhouette-lead,
  .premium-quadrant-copy {
    min-height: 0;
    padding: 8px;
  }

  .signal-stack-lead,
  .live-silhouette-lead {
    gap: 4px;
  }

  .signal-stack-lead p,
  .live-silhouette-lead p,
  .premium-quadrant-copy p {
    display: none;
  }

  .signal-stack-lead strong,
  .live-silhouette-lead strong {
    font-size: 20px;
  }

  .signal-stack-tape {
    min-height: 70px;
    padding: 6px;
  }

  .live-silhouette-stream {
    gap: 4px;
    padding: 7px;
  }

  .live-silhouette-stream button {
    grid-template-columns: 42px minmax(0, 1fr) 44px;
    gap: 5px;
    min-height: 22px;
    padding: 1px 0;
  }

  .premium-quadrant-copy {
    gap: 5px;
  }

  .premium-quadrant-copy strong {
    font-size: 15px;
  }

  .premium-quadrant-flow {
    gap: 3px;
  }

  .premium-quadrant-flow span {
    grid-template-columns: minmax(0, 1fr) 26px 34px;
    gap: 4px;
    padding: 4px 0 5px;
  }

  .premium-quadrant-map {
    min-height: 168px;
  }

  .premium-quadrant-map .q {
    font-size: 8px;
  }
}

/* v1.44 pass: tighten rotation, focus, and momentum panels after the premium stack. */
@media (min-width: 1181px) {
  .symbol-rotation,
  .symbol-momentum {
    gap: 10px;
  }

  .rotation-map {
    gap: 7px;
    min-height: 224px;
  }

  .rotation-map-grid {
    min-height: 224px;
  }

  .rotation-map-lead {
    padding: 12px;
  }

  .rotation-map-lead strong {
    font-size: 30px;
  }

  .rotation-map-stats {
    gap: 6px;
  }

  .rotation-map-stats span {
    padding: 7px 8px;
  }

  .rotation-lanes {
    gap: 8px;
  }

  .rotation-row {
    grid-template-columns: 54px minmax(70px, 1fr) 64px 94px;
    min-height: 34px;
    gap: 7px;
    padding: 4px 8px;
  }

  .rotation-row svg {
    height: 20px;
  }

  .momentum-panel {
    gap: 10px;
  }

  .momentum-panel .symbol-focus {
    margin-bottom: 0;
  }

  .focus-head {
    padding: 11px 13px;
  }

  .focus-head strong {
    font-size: 29px;
  }

  .focus-metrics span {
    padding: 9px 11px;
  }

  .focus-metrics b {
    font-size: 20px;
  }

  .focus-extremes button {
    padding: 8px 11px;
  }

  .focus-window-stack {
    gap: 7px;
    padding: 9px 11px 0;
  }

  .focus-window-cards {
    gap: 5px;
  }

  .focus-window-cards span {
    padding: 7px 8px 6px;
  }

  .focus-session-tape {
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 8px;
    padding: 9px 11px 3px;
  }

  .focus-session-cells,
  .focus-session-cells button {
    height: 40px;
    min-height: 40px;
  }

  .focus-charts {
    gap: 8px;
    padding: 9px 11px 11px;
  }

  .focus-charts svg {
    height: 40px;
  }

  .momentum-list {
    gap: 6px 8px;
  }

  .momentum-row {
    grid-template-columns: 54px minmax(72px, 1fr) 72px 58px;
    min-height: 34px;
    gap: 7px;
    padding: 4px 8px;
  }

  .mom-spark svg {
    height: 20px;
  }
}

@media (min-width: 521px) and (max-width: 1080px) {
  .topbar {
    grid-template-columns: minmax(0, 1fr) minmax(176px, auto);
    gap: 8px 12px;
    padding: 9px 18px;
  }

  .brand {
    gap: 9px;
  }

  .mark {
    width: 40px;
    height: 40px;
    font-size: 15px;
  }

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

  .brand p {
    margin-top: 3px;
    font-size: 8px;
    letter-spacing: 0.12em;
  }

  .dateplate {
    min-width: 0;
    text-align: right;
  }

  .dateplate b {
    font-size: 16px;
  }

  .dateplate span {
    font-size: 10px;
  }

  .toolbar {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
    width: 100%;
  }

  .toolbar .button {
    min-width: 0;
    min-height: 38px;
    padding: 0 10px;
    font-size: 13px;
  }

  .toolbar .button.primary {
    grid-column: auto;
  }
}

@media (max-width: 520px) {
  .rotation-panel,
  .momentum-panel {
    gap: 8px;
  }

  .symbol-rotation,
  .symbol-momentum {
    gap: 8px;
  }

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

  .rotation-head span {
    min-height: 46px;
    gap: 3px;
    padding: 6px;
  }

  .rotation-head i {
    font-size: 8px;
  }

  .rotation-head b {
    font-size: 12px;
  }

  .rotation-brief {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .rotation-brief p {
    padding: 7px 8px;
    font-size: 11px;
    line-height: 1.35;
  }

  .rotation-brief > div {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4px;
  }

  .rotation-brief span {
    min-height: 40px;
    gap: 3px;
    padding: 6px;
  }

  .rotation-brief i {
    font-size: 8px;
  }

  .rotation-brief b {
    font-size: 11px;
  }

  .rotation-map {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .rotation-map-lead {
    align-content: start;
    gap: 4px;
    padding: 8px;
  }

  .rotation-map-lead strong {
    font-size: 22px;
  }

  .rotation-map-grid {
    min-height: 168px;
  }

  .rotation-map-grid .quad {
    font-size: 8px;
  }

  .rotation-map-grid button {
    min-width: 22px;
    min-height: 22px;
    max-width: 44px;
    max-height: 44px;
    font-size: 8px;
  }

  .rotation-map-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: none;
    gap: 4px;
  }

  .rotation-map-stats span {
    min-height: 42px;
    gap: 3px;
    padding: 5px;
  }

  .rotation-map-stats i,
  .rotation-map-stats small {
    font-size: 8px;
  }

  .rotation-map-stats b {
    font-size: 12px;
  }

  .rotation-lanes {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .rotation-lane-title {
    padding: 5px 7px;
  }

  .rotation-row {
    grid-template-columns: 42px minmax(0, 1fr) 46px;
    min-height: 26px;
    gap: 5px;
    padding: 3px 6px;
  }

  .rotation-row svg {
    height: 15px;
  }

  .rotation-row small {
    display: none;
  }

  .rotation-row em {
    font-size: 10px;
  }

  .momentum-panel .symbol-focus {
    margin-bottom: 7px;
  }

  .focus-head {
    gap: 8px;
    padding: 8px;
  }

  .focus-head strong {
    font-size: 23px;
  }

  .focus-head small,
  .focus-contract b {
    font-size: 10px;
  }

  .focus-contract {
    min-width: 104px;
  }

  .focus-metrics,
  .focus-extremes {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .focus-metrics span {
    gap: 3px;
    padding: 6px;
    font-size: 8px;
  }

  .focus-metrics b {
    font-size: 14px;
  }

  .focus-extremes button {
    gap: 3px;
    padding: 6px;
  }

  .focus-extremes span,
  .focus-extremes small {
    font-size: 8px;
  }

  .focus-extremes b {
    font-size: 11px;
  }

  .focus-window-stack {
    grid-template-columns: 1fr;
    gap: 5px;
    padding: 7px 7px 0;
  }

  .focus-window-lead {
    gap: 4px;
    padding: 7px;
  }

  .focus-window-lead strong {
    font-size: 19px;
  }

  .focus-window-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4px;
  }

  .focus-window-cards span {
    gap: 3px;
    padding: 6px;
  }

  .focus-window-cards b {
    font-size: 11px;
  }

  .focus-window-cards i,
  .focus-window-cards small {
    font-size: 8px;
  }

  .focus-session-tape {
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 5px;
    padding: 7px 7px 2px;
  }

  .focus-session-tape > div:first-child {
    padding: 6px;
  }

  .focus-session-tape b {
    font-size: 12px;
  }

  .focus-session-cells,
  .focus-session-cells button {
    height: 30px;
    min-height: 30px;
  }

  .focus-charts {
    gap: 5px;
    padding: 7px;
  }

  .focus-charts svg {
    height: 30px;
  }

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

  .momentum-summary span {
    min-height: 44px;
    gap: 3px;
    padding: 6px;
  }

  .momentum-summary i,
  .momentum-summary small {
    font-size: 8px;
  }

  .momentum-summary b {
    font-size: 11px;
  }

  .momentum-list {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .momentum-row {
    grid-template-columns: 42px minmax(0, 1fr) 46px 42px;
    min-height: 26px;
    gap: 5px;
    padding: 3px 6px;
  }

  .mom-symbol,
  .mom-value,
  .mom-delta {
    font-size: 10px;
  }

  .mom-spark svg {
    height: 15px;
  }
}

/* v1.45 pass: make phone rotation and momentum read as slimmer ledgers. */
@media (max-width: 520px) {
  .rotation-panel .section-head,
  .momentum-panel .section-head {
    gap: 3px;
  }

  .rotation-panel .section-head p,
  .momentum-panel .section-head p {
    max-width: 31ch;
    font-size: 10px;
    line-height: 1.28;
  }

  .rotation-head span,
  .momentum-summary span {
    min-height: 38px;
    padding: 5px;
  }

  .rotation-brief {
    gap: 4px;
  }

  .rotation-brief p {
    display: none;
  }

  .rotation-brief span {
    min-height: 34px;
    padding: 5px;
  }

  .rotation-map {
    gap: 4px;
  }

  .rotation-map-lead {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    padding: 6px 7px;
  }

  .rotation-map-lead span {
    font-size: 8px;
  }

  .rotation-map-lead strong {
    grid-row: 1 / span 2;
    grid-column: 2;
    font-size: 18px;
  }

  .rotation-map-lead small {
    font-size: 8px;
    line-height: 1.2;
  }

  .rotation-map-grid {
    min-height: 150px;
  }

  .rotation-map-grid button {
    min-width: 20px;
    min-height: 20px;
    max-width: 38px;
    max-height: 38px;
    font-size: 7px;
  }

  .rotation-map-stats span {
    min-height: 34px;
    padding: 4px;
  }

  .rotation-lane {
    gap: 3px;
  }

  .rotation-lane-title {
    padding: 4px 6px;
  }

  .rotation-lane .rotation-row:nth-of-type(n+7) {
    display: none;
  }

  .rotation-row {
    grid-template-columns: 38px minmax(0, 1fr) 42px;
    min-height: 23px;
    padding: 2px 5px;
  }

  .rotation-row svg,
  .mom-spark svg {
    height: 13px;
  }

  .focus-window-stack {
    padding-top: 5px;
  }

  .focus-window-cards span {
    min-height: 40px;
    padding: 5px;
  }

  .focus-session-tape {
    grid-template-columns: 48px minmax(0, 1fr);
    padding: 6px 6px 1px;
  }

  .focus-session-cells,
  .focus-session-cells button {
    height: 26px;
    min-height: 26px;
  }

  .focus-charts svg {
    height: 26px;
  }

  .momentum-list {
    gap: 4px;
  }

  .momentum-list .momentum-row:nth-of-type(n+13) {
    display: none;
  }

  .momentum-row {
    grid-template-columns: 38px minmax(0, 1fr) 43px 39px;
    min-height: 23px;
    padding: 2px 5px;
  }
}

/* v1.46 pass: make advanced preview, rotation, and momentum read as one mobile spine. */
@media (max-width: 760px) {
  .analysis-grid {
    gap: 10px;
  }

  #premiumPreview,
  .rotation-panel,
  .momentum-panel {
    position: relative;
  }

  .app-shell {
    overflow-x: clip;
    max-width: 100%;
  }

  #premiumPreview::after,
  .rotation-panel::after {
    content: "";
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: -8px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(40, 43, 39, 0.16), transparent);
    pointer-events: none;
  }

  .premium-preview,
  .rotation-panel,
  .momentum-panel {
    border-radius: 7px;
    box-shadow: 0 1px 0 rgba(32, 32, 28, 0.05);
  }

  .premium-head,
  .rotation-panel .section-head,
  .momentum-panel .section-head {
    padding-bottom: 6px;
    border-bottom: 1px solid rgba(35, 35, 30, 0.08);
  }

  .premium-head h2,
  .rotation-panel .section-head h2,
  .momentum-panel .section-head h2 {
    font-size: clamp(18px, 5vw, 24px);
    line-height: 1.02;
  }

  .premium-head p,
  .rotation-panel .section-head p,
  .momentum-panel .section-head p {
    max-width: 34ch;
  }

  .premium-capability-rail,
  .premium-unlock-deck,
  .premium-grid,
  .premium-lookback,
  .premium-signal-stack,
  .premium-quadrant,
  .symbol-rotation,
  .symbol-momentum {
    margin-top: 0;
  }
}

@media (max-width: 520px) {
  .premium-preview,
  .rotation-panel,
  .momentum-panel {
    padding-top: 13px;
    padding-bottom: 13px;
  }

  .premium-head,
  .rotation-panel .section-head,
  .momentum-panel .section-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 4px 8px;
  }

  .premium-head h2,
  .rotation-panel .section-head h2,
  .momentum-panel .section-head h2 {
    margin: 0;
  }

  .premium-head p,
  .rotation-panel .section-head p,
  .momentum-panel .section-head p {
    grid-column: 1 / -1;
  }

  .premium-capability-rail,
  .premium-unlock-deck,
  .premium-grid,
  .premium-lookback,
  .premium-signal-stack,
  .premium-quadrant,
  .symbol-rotation,
  .symbol-momentum {
    gap: 6px;
  }

  .premium-card,
  .lookback-metrics span,
  .signal-stack-rows span,
  .premium-quadrant-stats span,
  .rotation-head span,
  .rotation-brief span,
  .rotation-map-stats span,
  .momentum-summary span {
    border-radius: 6px;
  }

  .premium-card {
    min-height: 58px;
  }

  .premium-card b {
    font-size: 18px;
  }

  .premium-lookback,
  .premium-signal-stack {
    padding: 8px;
  }

  .premium-quadrant {
    gap: 6px;
  }

  .premium-quadrant-map {
    min-height: 142px;
  }

  .rotation-map-grid button {
    min-width: 18px;
    min-height: 18px;
    max-width: 30px;
    max-height: 30px;
    font-size: 6.5px;
    box-shadow: none;
    opacity: 0.88;
  }

  .rotation-map-grid button:hover,
  .rotation-map-grid button.symbol-active {
    opacity: 1;
    box-shadow: 0 0 0 2px rgba(17, 17, 17, 0.12);
  }

  .momentum-panel {
    margin-bottom: 10px;
  }
}

body[data-theme="dark"] #premiumPreview::after,
body[data-theme="dark"] .rotation-panel::after {
  background: linear-gradient(90deg, transparent, rgba(245, 241, 230, 0.16), transparent);
}

/* v1.47 pass: shorten the mobile advanced entry and momentum tail without changing the PNG sheet. */
@media (max-width: 520px) {
  .premium-capability-rail {
    gap: 5px;
  }

  .capability-lead {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 3px 8px;
    padding: 7px 8px;
  }

  .capability-lead span {
    grid-column: 1;
  }

  .capability-lead strong {
    grid-row: 1 / span 2;
    grid-column: 2;
    max-width: 112px;
    font-size: 20px;
    text-align: right;
  }

  .capability-lead p {
    grid-column: 1 / -1;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

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

  .capability-rails span,
  .capability-rails span:first-child {
    min-height: 42px;
    padding: 5px 6px;
    border-top: 1px solid var(--line);
  }

  .capability-rails span:nth-child(-n + 2) {
    border-top: 0;
  }

  .capability-rails span:nth-child(odd) {
    border-right: 1px solid var(--line);
  }

  .capability-rails b {
    font-size: 12px;
  }

  .capability-rails small {
    display: none;
  }

  .capability-meter {
    min-height: 48px;
    padding: 6px 7px;
  }

  .capability-meter button {
    grid-template-rows: minmax(0, 1fr);
  }

  .capability-meter b {
    display: none;
  }

  .unlock-tabs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .unlock-tabs button {
    min-height: 36px;
    padding: 5px 4px;
  }

  .unlock-tabs b {
    font-size: 9px;
    line-height: 1.1;
  }

  .unlock-tabs span {
    display: none;
  }

  .unlock-preview {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr);
  }

  .unlock-mini-tape {
    min-height: 52px;
  }

  .focus-window-stack {
    grid-template-columns: 66px minmax(0, 1fr);
    gap: 4px;
    padding: 5px 5px 0;
  }

  .focus-window-lead {
    padding: 6px;
  }

  .focus-window-lead strong {
    font-size: 17px;
  }

  .focus-window-lead small,
  .focus-window-cards small {
    display: none;
  }

  .focus-window-cards span {
    min-height: 34px;
    padding: 5px;
  }

  .focus-session-tape {
    grid-template-columns: 42px minmax(0, 1fr);
    padding: 5px 5px 0;
  }

  .focus-session-tape > div:first-child {
    padding: 5px;
  }

  .focus-session-cells,
  .focus-session-cells button {
    height: 23px;
    min-height: 23px;
  }

  .focus-session-cells button:nth-of-type(n+23) {
    display: none;
  }

  .focus-charts {
    padding: 5px;
  }

  .focus-charts svg {
    height: 22px;
  }

  .momentum-summary span {
    min-height: 36px;
  }

  .momentum-list {
    gap: 3px;
  }

  .momentum-list .momentum-row:nth-of-type(n+11) {
    display: none;
  }

  .momentum-row {
    grid-template-columns: 36px minmax(0, 1fr) 42px 38px;
    min-height: 21px;
    padding: 2px 5px;
  }

  .mom-spark svg {
    height: 12px;
  }
}

/* v1.48 pass: compact the live-feed silhouette and tighten the lower desktop reading rhythm. */
@media (min-width: 1181px) {
  .analysis-grid {
    gap: 14px 16px;
  }

  .trend-panel,
  .signal-panel,
  .regime-panel,
  .heatmap-panel,
  .bucket-panel,
  .rotation-panel,
  .momentum-panel {
    padding: 13px;
  }

  .rotation-panel {
    margin-top: -2px;
  }

  .premium-preview {
    gap: 10px;
  }

  .live-silhouette {
    grid-template-columns: minmax(168px, 0.36fr) minmax(0, 0.7fr) minmax(256px, 0.86fr);
    gap: 7px;
  }

  .live-silhouette-lead,
  .live-silhouette-lanes span {
    padding: 9px 10px;
  }

  .live-silhouette-stream {
    gap: 5px;
    padding: 8px;
  }

  .live-silhouette-stream button {
    min-height: 27px;
  }
}

@media (max-width: 520px) {
  .premium-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
  }

  .premium-card {
    min-height: 46px;
    padding: 6px;
  }

  .premium-card p {
    display: none;
  }

  .premium-card b {
    font-size: 16px;
  }

  .live-silhouette {
    gap: 4px;
  }

  .live-silhouette-lead {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 2px 7px;
    padding: 6px 7px;
  }

  .live-silhouette-lead span {
    grid-column: 1;
  }

  .live-silhouette-lead strong {
    grid-row: 1 / span 2;
    grid-column: 2;
    max-width: 92px;
    font-size: 18px;
    text-align: right;
  }

  .live-silhouette-lead p {
    display: none;
  }

  .live-silhouette-lanes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3px;
  }

  .live-silhouette-lanes span {
    min-height: 36px;
    padding: 5px 6px;
  }

  .live-silhouette-lanes b {
    font-size: 11px;
  }

  .live-silhouette-lanes small {
    display: none;
  }

  .live-silhouette-stream {
    gap: 3px;
    padding: 5px;
  }

  .live-silhouette-stream button {
    grid-template-columns: 36px minmax(0, 1fr) 38px;
    min-height: 19px;
    gap: 4px;
    padding: 2px 4px;
    font-size: 9px;
  }

  .live-silhouette-stream button:nth-of-type(n+8) {
    display: none;
  }

  .live-silhouette-stream i {
    min-height: 4px;
  }

  .premium-quadrant-map {
    min-height: 132px;
  }
}

body[data-theme="dark"] .live-silhouette-lead,
body[data-theme="dark"] .live-silhouette-lanes span,
body[data-theme="dark"] .live-silhouette-stream {
  border-color: rgba(238, 232, 218, 0.14);
}

/* v1.49 pass: connect the advanced-preview tail to rotation and improve dark-mode contrast. */
@media (min-width: 1181px) {
  .premium-lookback,
  .premium-signal-stack,
  .live-silhouette,
  .premium-quadrant {
    min-height: 0;
  }

  .trend-drift-ledger,
  .regime-grid,
  .bucket-risk-grid,
  .rotation-map-stats,
  .momentum-summary {
    gap: 6px;
  }

  .rotation-map {
    gap: 8px;
  }

  .rotation-map-grid {
    min-height: 196px;
  }

  .rotation-lanes {
    gap: 6px;
  }
}

@media (max-width: 760px) {
  .premium-preview {
    margin-bottom: 0;
  }

  #premiumPreview::after {
    left: 28px;
    right: 28px;
    bottom: -6px;
  }

  .rotation-panel {
    margin-top: -2px;
  }
}

@media (max-width: 520px) {
  .premium-quadrant {
    margin-bottom: 0;
  }

  .premium-quadrant-copy {
    padding: 6px;
  }

  .premium-quadrant-copy strong {
    font-size: 15px;
  }

  .premium-quadrant-flow {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3px;
  }

  .premium-quadrant-flow span {
    min-height: 30px;
    padding: 4px 5px;
  }

  .premium-quadrant-stats {
    gap: 3px;
  }

  .premium-quadrant-stats span,
  .rotation-map-stats span {
    min-height: 34px;
    padding: 5px;
  }

  .rotation-map {
    gap: 5px;
  }

  .rotation-map-grid {
    min-height: 142px;
    background-size: 50% 50%;
  }

  .rotation-map-grid button {
    max-width: 28px;
    max-height: 28px;
  }

  .rotation-lanes {
    gap: 5px;
  }
}

body[data-theme="dark"] .live-silhouette {
  background: linear-gradient(135deg, rgba(22, 25, 25, 0.96), rgba(14, 16, 17, 0.96));
  border-color: rgba(236, 229, 214, 0.16);
}

body[data-theme="dark"] .live-silhouette-lead,
body[data-theme="dark"] .live-silhouette-stream,
body[data-theme="dark"] .rotation-map,
body[data-theme="dark"] .rotation-lane,
body[data-theme="dark"] .rotation-map-stats span {
  background: rgba(255, 251, 240, 0.035);
  border-color: rgba(238, 232, 218, 0.15);
}

body[data-theme="dark"] .live-silhouette-lanes span,
body[data-theme="dark"] .rotation-row {
  background: rgba(255, 251, 240, 0.045);
  border-color: rgba(238, 232, 218, 0.13);
}

body[data-theme="dark"] .live-silhouette-stream .hot i::before {
  background: linear-gradient(90deg, rgba(233, 168, 94, 0.72), rgba(215, 91, 78, 0.9));
}

body[data-theme="dark"] .live-silhouette-stream .cool i::before {
  background: linear-gradient(90deg, rgba(114, 159, 208, 0.7), rgba(89, 122, 164, 0.88));
}

/* v1.50 pass: phone first-screen compression and iOS companion cadence sync. */
@media (max-width: 760px) {
  main {
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 30px;
  }

  .workbench {
    gap: 10px;
    padding-top: 12px;
  }

  .report-stage,
  .side-rail,
  .panel {
    border-radius: 7px;
  }

  .report-stage,
  .side-rail {
    padding: 10px;
  }

  .side-rail {
    max-height: none;
    overflow: visible;
  }

  .section-head {
    margin-bottom: 8px;
  }

  .section-head h2 {
    font-size: 14px;
  }

  .section-head p {
    font-size: 10px;
    line-height: 1.25;
  }
}

@media (max-width: 520px) {
  main {
    padding-right: 9px;
    padding-left: 9px;
  }

  .timeboard {
    grid-template-columns: 30px minmax(0, 1fr) 30px;
    gap: 6px;
    padding: 7px 0 6px;
  }

  .timeboard-copy {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: end;
    gap: 3px 7px;
  }

  .timeboard-copy h2 {
    font-size: 12px;
  }

  .timeboard-copy p {
    margin-top: 0;
    overflow: hidden;
    font-size: 9px;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .nav-day {
    width: 30px;
    height: 31px;
    border-radius: 5px;
    font-size: 22px;
  }

  .month-ticks {
    height: 12px;
    margin-bottom: 3px;
    font-size: 8px;
  }

  .day-bars {
    height: 20px;
    padding: 0 4px;
  }

  .timeline-range {
    height: 17px;
    margin-top: -3px;
  }

  .timeline-rule {
    margin: -9px 4px 6px;
  }

  .timeline-legend {
    gap: 5px 8px;
    font-size: 9px;
  }

  .timeline-legend span {
    gap: 4px;
  }

  .dot {
    width: 10px;
    height: 2px;
  }

  .metric-rail {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .metric,
  .metric:nth-child(2n),
  .metric:nth-child(4n) {
    min-height: 52px;
    padding: 6px 5px;
    border-top: 1px solid var(--line-strong);
    border-right: 1px solid var(--line-strong);
  }

  .metric:nth-child(-n + 4) {
    border-top: 0;
  }

  .metric:nth-child(4n) {
    border-right: 0;
  }

  .metric span {
    font-size: 8px;
    line-height: 1.1;
  }

  .metric strong {
    margin-top: 4px;
    font-size: clamp(13px, 4.2vw, 17px);
    line-height: 0.96;
  }

  .metric small {
    display: none;
  }

  .metric.lead strong {
    font-size: 13px;
  }

  .session-tape {
    grid-template-columns: 1fr;
    gap: 5px;
    padding-top: 7px;
  }

  .session-copy {
    gap: 3px;
    padding: 7px 8px;
    border-left-width: 3px;
  }

  .session-copy strong {
    display: -webkit-box;
    overflow: hidden;
    font-size: 13px;
    line-height: 1.18;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .session-copy small {
    display: none;
  }

  .session-chip-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4px;
  }

  .session-chip-grid span,
  .session-chip-grid button {
    min-height: 38px;
    gap: 2px;
    padding: 5px;
  }

  .session-chip-grid i {
    font-size: 8px;
  }

  .session-chip-grid b {
    font-size: 11px;
  }

  .session-chip-grid small {
    display: none;
  }

  .access-strip {
    gap: 5px;
    margin-top: 7px;
  }

  .access-copy {
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 7px 8px;
  }

  .access-copy span {
    font-size: 9px;
  }

  .access-copy b {
    font-size: 13px;
  }

  .access-copy small {
    grid-column: 1 / -1;
    font-size: 9px;
  }

  .report-stage .section-head {
    margin-bottom: 7px;
  }

  .report-stage .section-head p {
    display: none;
  }

  .report-stage .kzg-report {
    padding: 6px;
  }

  .panel.is-pro-locked > :not(.section-head):not(.pro-lock-overlay) {
    filter: none;
    opacity: 1;
  }

  .pro-lock-overlay {
    inset: auto 8px 8px 8px;
    width: auto;
    gap: 5px;
    align-content: start;
    justify-items: start;
    padding: 9px 10px;
    transform: none;
    background: rgba(251, 250, 246, 0.97);
    text-align: left;
  }

  .pro-lock-overlay b {
    font-size: 13px;
    line-height: 1.08;
  }

  .pro-lock-overlay span {
    font-size: 10px;
    line-height: 1.22;
  }

  .pro-lock-overlay small {
    font-size: 9px;
    line-height: 1.2;
  }

  .pro-lock-overlay .lock-preview-chips {
    justify-content: flex-start;
    gap: 3px;
  }

  .pro-lock-overlay .lock-preview-chips i {
    min-height: 18px;
    padding: 0 6px;
    font-size: 8px;
  }
}

body[data-theme="dark"] .trend-panel,
body[data-theme="dark"] .signal-panel,
body[data-theme="dark"] .regime-panel,
body[data-theme="dark"] .bucket-panel,
body[data-theme="dark"] .rotation-panel,
body[data-theme="dark"] .momentum-panel {
  background: linear-gradient(180deg, rgba(27, 29, 29, 0.98), rgba(19, 20, 20, 0.98));
  border-color: rgba(238, 232, 218, 0.16);
}

body[data-theme="dark"] .trend-drift-ledger span,
body[data-theme="dark"] .regime-grid span,
body[data-theme="dark"] .bucket-risk-grid span,
body[data-theme="dark"] .momentum-summary span,
body[data-theme="dark"] .focus-session-tape,
body[data-theme="dark"] .symbol-focus,
body[data-theme="dark"] .symbol-momentum {
  background: rgba(255, 251, 240, 0.04);
  border-color: rgba(238, 232, 218, 0.13);
}

body[data-theme="dark"] .pro-lock-overlay {
  background: linear-gradient(180deg, rgba(13, 14, 14, 0.94), rgba(13, 14, 14, 0.98));
  border-color: rgba(238, 232, 218, 0.16);
}

/* v1.51 pass: tune the live layer texture and rhythm. */
.live-silhouette {
  isolation: isolate;
}

.live-silhouette::before {
  content: "";
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: 10px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(26, 119, 88, 0.78), rgba(184, 116, 54, 0.76), rgba(52, 87, 132, 0.72));
  opacity: 0.82;
}

.live-silhouette::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(26, 119, 88, 0.075), transparent 30%),
    linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.025));
  pointer-events: none;
}

.live-silhouette-lead,
.live-silhouette-lanes span,
.live-silhouette-stream {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.live-silhouette-lead strong {
  letter-spacing: 0;
}

.live-silhouette-stream {
  position: relative;
  background:
    linear-gradient(180deg, rgba(255, 255, 252, 0.78), rgba(246, 244, 237, 0.86)),
    repeating-linear-gradient(180deg, rgba(15, 17, 17, 0.025) 0 1px, transparent 1px 27px);
}

.live-silhouette-stream button {
  position: relative;
  grid-template-columns: 52px minmax(0, 1fr) 52px;
  gap: 8px;
  min-height: 26px;
  border-bottom: 1px solid rgba(29, 31, 31, 0.05);
}

.live-silhouette-stream button:last-child {
  border-bottom: 0;
}

.live-silhouette-stream button::after {
  content: "";
  position: absolute;
  right: 48px;
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: rgba(101, 101, 96, 0.42);
}

.live-silhouette-stream button.hot::after {
  background: rgba(190, 88, 72, 0.7);
}

.live-silhouette-stream button.cool::after {
  background: rgba(69, 105, 154, 0.68);
}

.live-silhouette-stream i {
  box-shadow: inset 0 0 0 1px rgba(17, 18, 18, 0.035);
}

.live-silhouette-stream b,
.live-silhouette-stream span {
  white-space: nowrap;
}

.live-event-queue {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin-top: -1px;
}

.feed-boundary-rail {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.feed-boundary-rail span {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-width: 0;
  min-height: 34px;
  padding: 6px 8px;
  border: 1px solid rgba(25, 27, 27, 0.075);
  border-radius: 7px;
  background:
    linear-gradient(180deg, rgba(255, 255, 252, 0.68), rgba(246, 244, 237, 0.74)),
    linear-gradient(90deg, rgba(184, 116, 54, 0.055), transparent);
  gap: 2px;
}

.feed-boundary-rail span.active {
  border-color: rgba(167, 128, 44, 0.34);
  box-shadow: inset 0 0 0 1px rgba(167, 128, 44, 0.16);
}

.feed-boundary-rail span.open.active {
  box-shadow: inset 3px 0 0 rgba(26, 119, 88, 0.72), inset 0 0 0 1px rgba(26, 119, 88, 0.12);
}

.feed-boundary-rail span.preview.active {
  box-shadow: inset 3px 0 0 rgba(184, 116, 54, 0.72), inset 0 0 0 1px rgba(184, 116, 54, 0.12);
}

.feed-boundary-rail span.queued.active {
  box-shadow: inset 3px 0 0 rgba(52, 87, 132, 0.7), inset 0 0 0 1px rgba(52, 87, 132, 0.12);
}

.feed-boundary-rail i,
.feed-boundary-rail small {
  overflow: hidden;
  color: var(--muted);
  font-size: 9px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.feed-boundary-rail small {
  display: none;
}

.feed-boundary-rail b {
  overflow: hidden;
  color: var(--ink);
  font-size: 11px;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.live-event-queue button {
  display: grid;
  min-width: 0;
  min-height: 54px;
  padding: 8px 9px;
  border: 1px solid rgba(25, 27, 27, 0.075);
  border-radius: 7px;
  background:
    linear-gradient(180deg, rgba(255, 255, 252, 0.74), rgba(246, 244, 237, 0.8)),
    linear-gradient(90deg, rgba(22, 119, 88, 0.06), transparent);
  color: inherit;
  cursor: pointer;
  font-variant-numeric: tabular-nums;
  gap: 3px;
  text-align: left;
}

.live-event-queue button.hot {
  box-shadow: inset 2px 0 0 rgba(196, 83, 53, 0.78);
}

.live-event-queue button.cool {
  box-shadow: inset 2px 0 0 rgba(47, 97, 144, 0.72);
}

.live-event-queue button.flat {
  box-shadow: inset 2px 0 0 rgba(167, 128, 44, 0.64);
}

.live-event-queue i,
.live-event-queue small {
  overflow: hidden;
  color: var(--muted);
  font-size: 9px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.live-event-queue b {
  overflow: hidden;
  color: var(--ink);
  font-size: 14px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.live-event-queue span {
  overflow: hidden;
  color: var(--ink);
  font-size: 10px;
  font-weight: 820;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.live-event-queue.is-blurred {
  filter: none;
  opacity: 1;
  pointer-events: auto;
  user-select: auto;
}

.premium-capability-rail {
  position: relative;
}

.premium-capability-rail::before {
  content: "";
  position: absolute;
  top: 11px;
  bottom: 11px;
  left: 11px;
  width: 2px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(183, 128, 47, 0.68), rgba(26, 119, 88, 0.6));
  opacity: 0.8;
}

.capability-meter {
  background:
    linear-gradient(180deg, rgba(255, 255, 252, 0.8), rgba(246, 244, 237, 0.82)),
    repeating-linear-gradient(90deg, transparent 0 16px, rgba(20, 22, 22, 0.035) 16px 17px);
}

.capability-meter button {
  transition: transform 140ms ease, opacity 140ms ease;
}

.capability-meter button:hover {
  transform: translateY(-1px);
}

body[data-theme="dark"] .live-silhouette::before {
  background: linear-gradient(180deg, rgba(72, 170, 126, 0.82), rgba(229, 167, 91, 0.76), rgba(112, 150, 198, 0.72));
}

body[data-theme="dark"] .live-silhouette::after {
  background:
    linear-gradient(90deg, rgba(58, 156, 116, 0.1), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(0, 0, 0, 0.14));
}

body[data-theme="dark"] .live-silhouette-stream {
  background:
    linear-gradient(180deg, rgba(26, 28, 28, 0.94), rgba(18, 19, 19, 0.96)),
    repeating-linear-gradient(180deg, rgba(238, 232, 218, 0.045) 0 1px, transparent 1px 27px);
}

body[data-theme="dark"] .live-silhouette-lead,
body[data-theme="dark"] .live-silhouette-lanes span,
body[data-theme="dark"] .live-silhouette-stream {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

body[data-theme="dark"] .premium-capability-rail::before {
  background: linear-gradient(180deg, rgba(225, 159, 74, 0.72), rgba(65, 160, 121, 0.64));
}

body[data-theme="dark"] .capability-meter {
  background:
    linear-gradient(180deg, rgba(24, 26, 26, 0.92), rgba(18, 19, 19, 0.96)),
    repeating-linear-gradient(90deg, transparent 0 16px, rgba(238, 232, 218, 0.045) 16px 17px);
}

body[data-theme="dark"] .live-event-queue button {
  border-color: rgba(238, 232, 218, 0.12);
  background:
    linear-gradient(180deg, rgba(28, 30, 30, 0.9), rgba(18, 19, 19, 0.94)),
    linear-gradient(90deg, rgba(70, 164, 122, 0.08), transparent);
}

body[data-theme="dark"] .feed-boundary-rail span {
  border-color: rgba(238, 232, 218, 0.12);
  background:
    linear-gradient(180deg, rgba(27, 29, 29, 0.88), rgba(18, 19, 19, 0.93)),
    linear-gradient(90deg, rgba(225, 159, 74, 0.06), transparent);
}

@media (min-width: 1181px) {
  .live-silhouette {
    grid-template-columns: minmax(150px, 0.66fr) minmax(260px, 0.92fr) minmax(360px, 1.24fr);
    gap: 9px;
    padding-left: 18px;
  }

  .live-silhouette-lead,
  .live-silhouette-lanes span,
  .live-silhouette-stream {
    border-radius: 7px;
  }

  .live-silhouette-lanes {
    gap: 5px;
  }

  .live-event-queue {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .live-event-queue button {
    min-height: 45px;
    padding: 7px 7px 6px;
  }

  .live-event-queue small {
    display: none;
  }
}

@media (max-width: 760px) {
  .live-silhouette {
    padding-left: 14px;
  }

  .live-silhouette::before {
    top: 8px;
    bottom: 8px;
    left: 7px;
    width: 2px;
  }

  .premium-capability-rail::before {
    display: none;
  }

  .capability-meter {
    background-size: auto;
  }

  .live-event-queue {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
  }

  .feed-boundary-rail {
    gap: 5px;
  }

  .feed-boundary-rail span {
    min-height: 32px;
    padding: 6px 7px;
  }

  .live-event-queue button {
    min-height: 41px;
    padding: 6px 7px;
  }

  .live-event-queue small {
    display: none;
  }
}

@media (max-width: 520px) {
  .live-silhouette-stream button {
    grid-template-columns: 40px minmax(0, 1fr) 43px;
    gap: 5px;
    min-height: 22px;
  }

  .live-silhouette-stream button::after {
    right: 40px;
    width: 3px;
    height: 3px;
  }

  .live-silhouette-lead p {
    max-width: 100%;
  }

  .live-event-queue button:nth-child(n+5) {
    display: none;
  }
}

/* v1.54 public-open correction: no public feature blur or lock veil. */
.premium-grid.is-blurred .premium-card,
.premium-quadrant.is-blurred .premium-quadrant-map,
.premium-quadrant.is-blurred .premium-quadrant-stats,
.premium-lookback.is-blurred .lookback-body,
.premium-signal-stack.is-blurred .signal-stack-rows,
.premium-signal-stack.is-blurred .signal-stack-tape,
.premium-capability-rail.is-locked .capability-rails,
.premium-capability-rail.is-locked .capability-meter,
.unlock-preview.is-blurred,
.live-silhouette.is-blurred .live-silhouette-lanes,
.live-silhouette.is-blurred .live-silhouette-stream,
.live-event-queue.is-blurred,
.panel.is-pro-locked > :not(.section-head):not(.pro-lock-overlay) {
  filter: none !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.premium-lock,
.premium-quadrant-veil,
.pro-lock-overlay {
  display: none !important;
}

/* v1.55 restructure: daily, flow sample, and historical sections. */
.premium-preview.realtime-sector {
  position: relative;
  display: grid;
  gap: 12px;
  margin-top: 18px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.realtime-topline {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(340px, 0.8fr);
  gap: 14px;
  align-items: stretch;
  padding: 16px;
  border: 1px solid var(--line-strong);
  background:
    linear-gradient(90deg, rgba(255, 255, 252, 0.98), rgba(248, 246, 239, 0.95)),
    linear-gradient(135deg, rgba(196, 83, 53, 0.06), transparent 34%, rgba(47, 97, 144, 0.05));
}

.realtime-heading {
  display: grid;
  align-content: center;
  gap: 7px;
  min-width: 0;
}

.realtime-heading span,
.history-intro-copy span,
.filter-console-head span,
.terminal-head span,
.realtime-brief-main span,
.realtime-bias-list > div span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 860;
  line-height: 1;
  text-transform: uppercase;
}

.realtime-heading h2,
.history-intro-copy h2 {
  margin: 0;
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(28px, 4.4vw, 58px);
  line-height: 0.92;
  font-weight: 920;
  letter-spacing: 0;
}

.realtime-heading p,
.history-intro-copy p,
.realtime-brief-main p,
.realtime-boundary-note span {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
  font-weight: 640;
}

.realtime-command-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.realtime-command-strip span,
.realtime-scoreboard span,
.history-intro-stats span {
  display: grid;
  min-width: 0;
  gap: 6px;
  padding: 11px 12px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.7);
  font-variant-numeric: tabular-nums;
}

.realtime-command-strip span.active {
  border-color: rgba(196, 83, 53, 0.34);
  background:
    linear-gradient(180deg, rgba(255, 255, 252, 0.92), rgba(250, 243, 233, 0.9)),
    linear-gradient(90deg, rgba(196, 83, 53, 0.08), transparent);
  box-shadow: inset 3px 0 0 rgba(196, 83, 53, 0.78);
}

.realtime-command-strip i,
.realtime-scoreboard i,
.history-intro-stats i {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 820;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.realtime-command-strip b,
.realtime-scoreboard b,
.history-intro-stats b {
  overflow: hidden;
  color: var(--ink);
  font-size: 17px;
  line-height: 1;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.realtime-command-strip small,
.realtime-scoreboard small,
.history-intro-stats small {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-weight: 760;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.realtime-layout {
  display: grid;
  grid-template-columns: minmax(230px, 0.78fr) minmax(320px, 0.95fr) minmax(360px, 1.08fr) minmax(250px, 0.72fr);
  gap: 12px;
  align-items: stretch;
}

.realtime-brief,
.realtime-filter-console,
.realtime-terminal,
.realtime-side-lists,
.realtime-boundary-note,
.history-sector-intro {
  border: 1px solid var(--line-strong);
  background:
    linear-gradient(180deg, rgba(255, 255, 252, 0.94), rgba(248, 246, 239, 0.92)),
    linear-gradient(90deg, rgba(167, 128, 44, 0.04), transparent);
}

.realtime-brief {
  display: grid;
  grid-template-rows: auto auto 1fr;
  align-content: start;
  gap: 12px;
  padding: 14px;
}

.realtime-brief-main {
  display: grid;
  gap: 8px;
}

.realtime-brief-main strong {
  color: var(--ink);
  font-size: clamp(32px, 4.8vw, 64px);
  line-height: 0.88;
  font-weight: 950;
  letter-spacing: 0;
}

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

.realtime-scoreboard span {
  min-height: 106px;
}

.realtime-scoreboard .hot,
.history-intro-stats .hot {
  box-shadow: inset 3px 0 0 rgba(196, 83, 53, 0.78);
}

.realtime-scoreboard .cool,
.history-intro-stats .cool {
  box-shadow: inset 3px 0 0 rgba(47, 97, 144, 0.76);
}

.realtime-flow-model {
  display: grid;
  gap: 6px;
  padding-top: 4px;
  border-top: 1px solid var(--line);
}

.realtime-flow-model span {
  display: grid;
  grid-template-columns: 22px 54px minmax(0, 1fr);
  gap: 7px;
  align-items: center;
  min-height: 28px;
  padding: 5px 0;
  border-bottom: 1px solid rgba(25, 27, 27, 0.055);
}

.realtime-flow-model i,
.realtime-flow-model b,
.realtime-flow-model small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.realtime-flow-model i {
  color: var(--gold);
  font-size: 11px;
  font-style: italic;
  font-weight: 900;
}

.realtime-flow-model b {
  color: var(--ink);
  font-size: 12px;
  font-weight: 900;
}

.realtime-flow-model small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 720;
}

.realtime-filter-console {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  align-content: start;
  gap: 10px;
  padding: 12px;
}

.filter-console-head,
.terminal-head,
.realtime-bias-list > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.filter-console-head b,
.terminal-head b,
.realtime-bias-list > div b {
  color: var(--ink);
  font-size: 12px;
  line-height: 1;
  font-weight: 860;
}

.filter-console-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: minmax(74px, auto);
  align-content: start;
  gap: 7px;
}

.filter-console-grid button {
  display: grid;
  align-content: space-between;
  min-width: 0;
  min-height: 74px;
  gap: 6px;
  padding: 10px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.64);
  color: inherit;
  cursor: pointer;
  text-align: left;
}

.filter-console-grid button:hover {
  border-color: rgba(167, 128, 44, 0.52);
  background: rgba(255, 255, 252, 0.88);
}

.filter-console-grid i,
.filter-console-grid small {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 780;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.filter-console-grid b {
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.1;
  font-weight: 880;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.strategy-cloud {
  display: grid;
  align-content: start;
  gap: 8px;
  min-height: 0;
  padding-top: 4px;
}

.strategy-cloud > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding-top: 4px;
  border-top: 1px solid var(--line);
}

.strategy-cloud span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 860;
  text-transform: uppercase;
}

.strategy-cloud b {
  color: var(--ink);
  font-size: 11px;
  font-weight: 820;
}

.strategy-cloud p {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
  margin: 0;
}

.strategy-cloud strong,
.strategy-cloud i {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 4px 7px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.54);
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 760;
  line-height: 1;
  white-space: nowrap;
}

.strategy-cloud strong {
  border-color: rgba(167, 128, 44, 0.38);
  color: var(--ink);
  font-weight: 900;
}

.realtime-terminal {
  position: relative;
  display: grid;
  grid-template-rows: auto auto minmax(360px, 1fr);
  gap: 8px;
  overflow: hidden;
  padding: 12px;
}

.terminal-table-head,
.terminal-table-body button {
  display: grid;
  grid-template-columns: 52px 62px minmax(132px, 1fr) 62px 78px 74px;
  gap: 8px;
  align-items: center;
  min-width: 0;
}

.terminal-table-head {
  padding: 0 8px 4px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 860;
  line-height: 1;
  text-transform: uppercase;
}

.terminal-table-body {
  position: relative;
  display: grid;
  gap: 5px;
  min-height: 350px;
  padding: 4px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(18, 20, 20, 0.98), rgba(28, 29, 27, 0.96)),
    repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.055) 0 1px, transparent 1px 30px);
}

.terminal-table-body::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent, rgba(238, 232, 218, 0.08), transparent);
  animation: realtime-scan 2.8s linear infinite;
  pointer-events: none;
}

.terminal-table-body button {
  position: relative;
  min-height: 28px;
  padding: 6px 8px;
  border: 1px solid rgba(238, 232, 218, 0.09);
  background: rgba(255, 255, 255, 0.025);
  color: rgba(252, 251, 246, 0.9);
  cursor: pointer;
  font-variant-numeric: tabular-nums;
  text-align: left;
  animation: realtime-row-pulse 2.1s ease-in-out infinite;
}

.terminal-table-body button:nth-child(2n) {
  animation-delay: 360ms;
}

.terminal-table-body button:nth-child(3n) {
  animation-delay: 760ms;
}

.terminal-table-body button.hot {
  box-shadow: inset 3px 0 0 rgba(217, 85, 53, 0.9);
}

.terminal-table-body button.cool {
  box-shadow: inset 3px 0 0 rgba(83, 151, 220, 0.86);
}

.terminal-table-body span,
.terminal-table-body i {
  overflow: hidden;
  color: rgba(238, 232, 218, 0.68);
  font-size: 10px;
  font-style: normal;
  font-weight: 760;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.terminal-table-body b,
.terminal-table-body strong {
  overflow: hidden;
  color: rgba(255, 255, 250, 0.94);
  font-size: 12px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.terminal-table-body strong {
  color: #f0c279;
}

.terminal-table-body.is-realtime-gated {
  filter: blur(2.7px) saturate(1.25);
  opacity: 0.82;
  pointer-events: none;
  user-select: none;
}

.terminal-veil {
  position: absolute;
  left: 50%;
  top: 55%;
  z-index: 2;
  display: grid;
  width: min(420px, calc(100% - 36px));
  gap: 8px;
  padding: 15px 16px;
  border: 1px solid rgba(238, 232, 218, 0.24);
  background: rgba(20, 22, 22, 0.72);
  color: rgba(255, 255, 250, 0.94);
  text-align: center;
  transform: translate(-50%, -50%);
  backdrop-filter: blur(8px);
}

.terminal-veil strong {
  font-family: var(--serif);
  font-size: 28px;
  line-height: 0.95;
}

.terminal-veil span {
  color: rgba(238, 232, 218, 0.78);
  font-size: 12px;
  line-height: 1.45;
  font-weight: 680;
}

.realtime-side-lists {
  display: grid;
  grid-template-rows: 1fr 1fr;
  align-content: start;
  gap: 10px;
  padding: 12px;
}

.realtime-bias-list {
  display: grid;
  align-content: start;
  gap: 5px;
  min-width: 0;
}

.realtime-bias-list button {
  display: grid;
  grid-template-columns: 48px 34px minmax(0, 1fr) 72px;
  gap: 8px;
  align-items: center;
  min-width: 0;
  min-height: 30px;
  padding: 6px 8px;
  border: 1px solid rgba(25, 27, 27, 0.075);
  background: rgba(255, 255, 255, 0.58);
  color: inherit;
  cursor: pointer;
  font-variant-numeric: tabular-nums;
  text-align: left;
}

.realtime-bias-list.hot button {
  box-shadow: inset 2px 0 0 rgba(196, 83, 53, 0.6);
}

.realtime-bias-list.cool button {
  box-shadow: inset 2px 0 0 rgba(47, 97, 144, 0.62);
}

.realtime-bias-list strong,
.realtime-bias-list b,
.realtime-bias-list em,
.realtime-bias-list span,
.realtime-bias-list small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.realtime-bias-list strong {
  color: var(--ink);
  font-size: 12px;
  font-weight: 900;
}

.realtime-bias-list b {
  color: var(--ink);
  font-size: 11px;
  font-weight: 860;
}

.realtime-bias-list em {
  color: var(--gold);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}

.realtime-bias-list span,
.realtime-bias-list small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 760;
}

.realtime-boundary-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
}

.realtime-boundary-note b {
  color: var(--ink);
  font-size: 13px;
  font-weight: 900;
}

.history-sector-intro {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1.08fr);
  gap: 16px;
  align-items: center;
  margin-top: 18px;
  padding: 16px;
}

.history-intro-copy {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.history-intro-copy h2 {
  font-size: clamp(25px, 3.9vw, 46px);
}

.history-intro-stats {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.history-intro-path {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(210px, 0.88fr) repeat(4, minmax(0, 1fr));
  gap: 8px;
  padding-top: 2px;
}

.history-intro-path > div,
.history-intro-path button {
  min-width: 0;
  border: 1px solid rgba(20, 20, 18, 0.09);
  background: rgba(255, 255, 255, 0.58);
}

.history-intro-path > div {
  display: grid;
  gap: 5px;
  align-content: center;
  padding: 10px 11px;
}

.history-intro-path button {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 3px 7px;
  align-content: center;
  min-height: 72px;
  padding: 9px 10px;
  color: inherit;
  cursor: pointer;
  text-align: left;
  transition: transform 150ms ease, border-color 150ms ease, background 150ms ease;
}

.history-intro-path button:hover {
  border-color: rgba(167, 128, 44, 0.55);
  background: rgba(255, 255, 252, 0.9);
  transform: translateY(-1px);
}

.history-intro-path i {
  grid-row: 1 / span 3;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 1px solid var(--line);
  color: var(--gold);
  font: 900 10px/1 var(--sans);
  font-style: normal;
}

.history-intro-path span,
.history-intro-path small,
.history-intro-path > div span {
  overflow: hidden;
  color: var(--muted);
  font: 820 10px/1.08 var(--sans);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.history-intro-path > div span {
  text-transform: uppercase;
}

.history-intro-path b {
  overflow: hidden;
  color: var(--ink);
  font: 900 13px/1.08 var(--sans);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.history-intro-path > div b {
  font: 900 clamp(15px, 1.8vw, 20px)/1 var(--serif);
  white-space: normal;
}

.history-intro-path .hot {
  box-shadow: inset 3px 0 0 rgba(196, 83, 53, 0.74);
}

.history-intro-path .cool {
  box-shadow: inset 3px 0 0 rgba(47, 97, 144, 0.76);
}

.history-story-strip {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(210px, 0.88fr) repeat(4, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}

.history-story-lede,
.history-story-card {
  min-width: 0;
  border: 1px solid rgba(20, 20, 18, 0.09);
  background:
    linear-gradient(180deg, rgba(255, 255, 252, 0.68), rgba(250, 248, 242, 0.58)),
    linear-gradient(90deg, rgba(167, 128, 44, 0.05), transparent);
}

.history-story-lede {
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 10px 11px;
}

.history-story-lede span {
  overflow: hidden;
  color: var(--muted);
  font: 820 10px/1.08 var(--sans);
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.history-story-lede b {
  color: var(--ink);
  font: 900 clamp(15px, 1.8vw, 20px)/1 var(--serif);
}

.history-story-card {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 4px 8px;
  align-content: start;
  min-height: 108px;
  padding: 10px;
  color: inherit;
  cursor: pointer;
  text-align: left;
  transition: transform 150ms ease, border-color 150ms ease, background 150ms ease;
}

.history-story-card:hover {
  border-color: rgba(167, 128, 44, 0.55);
  background: rgba(255, 255, 252, 0.9);
  transform: translateY(-1px);
}

.history-story-card i {
  grid-row: 1 / span 3;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border: 1px solid var(--line);
  color: var(--gold);
  font: 900 10px/1 var(--sans);
  font-style: normal;
}

.history-story-card span {
  overflow: hidden;
  color: var(--muted);
  font: 820 10px/1.08 var(--sans);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.history-story-card b {
  overflow-wrap: anywhere;
  color: var(--ink);
  font: 920 18px/1 var(--sans);
}

.history-story-card small {
  color: var(--muted);
  font: 720 11px/1.38 var(--sans);
}

.history-story-card.hot {
  box-shadow: inset 3px 0 0 rgba(196, 83, 53, 0.72);
}

.history-story-card.cool {
  box-shadow: inset 3px 0 0 rgba(47, 97, 144, 0.76);
}

.panel {
  scroll-margin-top: 88px;
}

.panel.history-scroll-focus {
  animation: history-scroll-focus 1800ms ease both;
}

body[data-theme="dark"] .panel.history-scroll-focus {
  animation-name: history-scroll-focus-dark;
}

.bucket-rotation-bridge {
  display: block;
  margin: 10px 0 12px;
}

.bucket-bridge-shell {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  align-items: stretch;
  min-width: 0;
  border: 1px solid rgba(20, 20, 18, 0.09);
  background:
    linear-gradient(180deg, rgba(255, 255, 252, 0.72), rgba(250, 248, 242, 0.58)),
    linear-gradient(90deg, rgba(167, 128, 44, 0.06), transparent);
}

.bucket-bridge-shell.hot {
  box-shadow: inset 4px 0 0 rgba(196, 83, 53, 0.74);
}

.bucket-bridge-shell.cool {
  box-shadow: inset 4px 0 0 rgba(47, 97, 144, 0.76);
}

.bucket-bridge-copy,
.bucket-bridge-steps span,
.bucket-bridge-jump {
  min-width: 0;
  padding: 10px;
}

.bucket-bridge-copy {
  display: grid;
  align-content: center;
  gap: 5px;
}

.bucket-bridge-copy span,
.bucket-bridge-steps i,
.bucket-bridge-jump span,
.bucket-bridge-copy small,
.bucket-bridge-steps small,
.bucket-bridge-jump small {
  color: var(--muted);
  font: 800 10px/1.22 var(--sans);
}

.bucket-bridge-copy span,
.bucket-bridge-steps i,
.bucket-bridge-jump span {
  text-transform: uppercase;
}

.bucket-bridge-copy b,
.bucket-bridge-steps b,
.bucket-bridge-jump b {
  overflow-wrap: anywhere;
  color: var(--ink);
  font: 900 13px/1.1 var(--sans);
}

.bucket-bridge-copy b {
  font: 900 16px/1.03 var(--serif);
}

.bucket-bridge-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  min-width: 0;
  background: rgba(20, 20, 18, 0.07);
}

.bucket-bridge-steps span {
  display: grid;
  align-content: center;
  gap: 4px;
  background: rgba(255, 255, 252, 0.72);
}

.bucket-bridge-steps .hot {
  box-shadow: inset 3px 0 0 rgba(196, 83, 53, 0.72);
}

.bucket-bridge-steps .cool {
  box-shadow: inset 3px 0 0 rgba(47, 97, 144, 0.76);
}

.bucket-bridge-jump {
  display: grid;
  align-content: center;
  gap: 5px;
  border: 0;
  border-top: 1px solid rgba(20, 20, 18, 0.09);
  background: rgba(255, 255, 252, 0.64);
  color: inherit;
  cursor: pointer;
  text-align: left;
}

.bucket-bridge-jump:hover {
  background: rgba(255, 255, 252, 0.92);
}

/* v1.68 pass: connect open rotation breadth into the open single-symbol lens. */
.rotation-focus-handoff {
  display: block;
  margin: 8px 0 0;
}

.rotation-focus-shell {
  display: grid;
  grid-template-columns: minmax(190px, 0.9fr) minmax(280px, 1.35fr) minmax(140px, 0.52fr);
  gap: 1px;
  min-width: 0;
  border: 1px solid rgba(20, 20, 18, 0.09);
  background:
    linear-gradient(90deg, rgba(167, 128, 44, 0.08), transparent),
    rgba(255, 255, 252, 0.68);
}

.rotation-focus-shell.hot {
  box-shadow: inset 4px 0 0 rgba(196, 83, 53, 0.74);
}

.rotation-focus-shell.cool {
  box-shadow: inset 4px 0 0 rgba(47, 97, 144, 0.76);
}

.rotation-focus-copy,
.rotation-focus-steps span,
.rotation-focus-jump {
  min-width: 0;
  padding: 10px;
}

.rotation-focus-copy {
  display: grid;
  align-content: center;
  gap: 5px;
  background: rgba(255, 255, 252, 0.62);
}

.rotation-focus-copy span,
.rotation-focus-steps i,
.rotation-focus-jump span,
.rotation-focus-copy small,
.rotation-focus-steps small,
.rotation-focus-jump small {
  color: var(--muted);
  font: 800 10px/1.22 var(--sans);
}

.rotation-focus-copy span,
.rotation-focus-steps i,
.rotation-focus-jump span {
  text-transform: uppercase;
}

.rotation-focus-copy b,
.rotation-focus-steps b,
.rotation-focus-jump b {
  overflow-wrap: anywhere;
  color: var(--ink);
  font: 900 13px/1.1 var(--sans);
}

.rotation-focus-copy b {
  font: 900 16px/1.05 var(--serif);
}

.rotation-focus-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  min-width: 0;
  background: rgba(20, 20, 18, 0.07);
}

.rotation-focus-steps span {
  display: grid;
  align-content: center;
  gap: 4px;
  background: rgba(255, 255, 252, 0.72);
}

.rotation-focus-steps .hot {
  box-shadow: inset 3px 0 0 rgba(196, 83, 53, 0.72);
}

.rotation-focus-steps .cool {
  box-shadow: inset 3px 0 0 rgba(47, 97, 144, 0.76);
}

.rotation-focus-steps .flat {
  box-shadow: inset 3px 0 0 rgba(167, 128, 44, 0.68);
}

.rotation-focus-jump {
  display: grid;
  align-content: center;
  gap: 5px;
  border: 0;
  border-left: 1px solid rgba(20, 20, 18, 0.09);
  background: rgba(255, 255, 252, 0.66);
  color: inherit;
  cursor: pointer;
  text-align: left;
}

.rotation-focus-jump:hover {
  background: rgba(255, 255, 252, 0.94);
}

body[data-theme="dark"] .rotation-focus-shell {
  border-color: rgba(255, 255, 255, 0.12);
  background:
    linear-gradient(90deg, rgba(225, 159, 74, 0.11), transparent),
    rgba(255, 255, 255, 0.045);
}

body[data-theme="dark"] .rotation-focus-copy,
body[data-theme="dark"] .rotation-focus-steps span,
body[data-theme="dark"] .rotation-focus-jump {
  background: rgba(255, 255, 255, 0.045);
}

body[data-theme="dark"] .rotation-focus-steps {
  background: rgba(255, 255, 255, 0.10);
}

body[data-theme="dark"] .rotation-focus-jump {
  border-color: rgba(255, 255, 255, 0.10);
}

@media (max-width: 920px) {
  .rotation-focus-shell {
    grid-template-columns: 1fr;
  }

  .rotation-focus-jump {
    border-left: 0;
    border-top: 1px solid rgba(20, 20, 18, 0.09);
  }
}

@media (max-width: 520px) {
  .rotation-focus-handoff {
    margin-top: 6px;
  }

  .rotation-map-grid {
    min-height: 136px;
  }

  .rotation-lanes {
    gap: 5px;
  }

  .rotation-lane .rotation-row:nth-of-type(n+6) {
    display: none;
  }

  .rotation-focus-shell {
    gap: 1px;
  }

  .rotation-focus-copy,
  .rotation-focus-steps span,
  .rotation-focus-jump {
    padding: 7px;
  }

  .rotation-focus-copy small,
  .rotation-focus-jump small {
    display: none;
  }

  .rotation-focus-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .rotation-focus-steps span {
    min-height: 42px;
  }

  .rotation-focus-steps i,
  .rotation-focus-steps small {
    font-size: 8px;
  }

  .rotation-focus-steps b,
  .rotation-focus-jump b {
    font-size: 11px;
  }
}

/* v1.69 pass: return the open single-symbol lens into the open momentum queue. */
.symbol-momentum-handoff {
  display: block;
  margin: 8px 0 0;
}

.symbol-momentum-shell {
  display: grid;
  grid-template-columns: minmax(190px, 0.9fr) minmax(280px, 1.35fr) minmax(140px, 0.52fr);
  gap: 1px;
  min-width: 0;
  border: 1px solid rgba(20, 20, 18, 0.09);
  background:
    linear-gradient(90deg, rgba(20, 131, 85, 0.07), rgba(167, 128, 44, 0.07)),
    rgba(255, 255, 252, 0.68);
}

.symbol-momentum-shell.hot {
  box-shadow: inset 4px 0 0 rgba(196, 83, 53, 0.74);
}

.symbol-momentum-shell.cool {
  box-shadow: inset 4px 0 0 rgba(47, 97, 144, 0.76);
}

.symbol-momentum-shell.flat {
  box-shadow: inset 4px 0 0 rgba(167, 128, 44, 0.70);
}

.symbol-momentum-copy,
.symbol-momentum-steps span,
.symbol-momentum-jump {
  min-width: 0;
  padding: 10px;
}

.symbol-momentum-copy {
  display: grid;
  align-content: center;
  gap: 5px;
  background: rgba(255, 255, 252, 0.62);
}

.symbol-momentum-copy span,
.symbol-momentum-steps i,
.symbol-momentum-jump span,
.symbol-momentum-copy small,
.symbol-momentum-steps small,
.symbol-momentum-jump small {
  color: var(--muted);
  font: 800 10px/1.22 var(--sans);
}

.symbol-momentum-copy span,
.symbol-momentum-steps i,
.symbol-momentum-jump span {
  text-transform: uppercase;
}

.symbol-momentum-copy b,
.symbol-momentum-steps b,
.symbol-momentum-jump b {
  overflow-wrap: anywhere;
  color: var(--ink);
  font: 900 13px/1.1 var(--sans);
}

.symbol-momentum-copy b {
  font: 900 16px/1.05 var(--serif);
}

.symbol-momentum-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  min-width: 0;
  background: rgba(20, 20, 18, 0.07);
}

.symbol-momentum-steps span {
  display: grid;
  align-content: center;
  gap: 4px;
  background: rgba(255, 255, 252, 0.72);
}

.symbol-momentum-steps .hot {
  box-shadow: inset 3px 0 0 rgba(196, 83, 53, 0.72);
}

.symbol-momentum-steps .cool {
  box-shadow: inset 3px 0 0 rgba(47, 97, 144, 0.76);
}

.symbol-momentum-steps .flat {
  box-shadow: inset 3px 0 0 rgba(167, 128, 44, 0.68);
}

.symbol-momentum-jump {
  display: grid;
  align-content: center;
  gap: 5px;
  border: 0;
  border-left: 1px solid rgba(20, 20, 18, 0.09);
  background: rgba(255, 255, 252, 0.66);
  color: inherit;
  cursor: pointer;
  text-align: left;
}

.symbol-momentum-jump:hover {
  background: rgba(255, 255, 252, 0.94);
}

body[data-theme="dark"] .symbol-momentum-shell {
  border-color: rgba(255, 255, 255, 0.12);
  background:
    linear-gradient(90deg, rgba(69, 181, 139, 0.08), rgba(225, 159, 74, 0.09)),
    rgba(255, 255, 255, 0.045);
}

body[data-theme="dark"] .symbol-momentum-copy,
body[data-theme="dark"] .symbol-momentum-steps span,
body[data-theme="dark"] .symbol-momentum-jump {
  background: rgba(255, 255, 255, 0.045);
}

body[data-theme="dark"] .symbol-momentum-steps {
  background: rgba(255, 255, 255, 0.10);
}

body[data-theme="dark"] .symbol-momentum-jump {
  border-color: rgba(255, 255, 255, 0.10);
}

@media (max-width: 920px) {
  .symbol-momentum-shell {
    grid-template-columns: 1fr;
  }

  .symbol-momentum-jump {
    border-left: 0;
    border-top: 1px solid rgba(20, 20, 18, 0.09);
  }
}

@media (max-width: 520px) {
  .symbol-momentum-handoff {
    margin-top: 6px;
  }

  .symbol-momentum-shell {
    gap: 1px;
  }

  .symbol-momentum-copy,
  .symbol-momentum-steps span,
  .symbol-momentum-jump {
    padding: 7px;
  }

  .symbol-momentum-copy small,
  .symbol-momentum-jump small {
    display: none;
  }

  .symbol-momentum-steps span {
    min-height: 42px;
  }

  .symbol-momentum-steps i,
  .symbol-momentum-steps small {
    font-size: 8px;
  }

  .symbol-momentum-steps b,
  .symbol-momentum-jump b {
    font-size: 11px;
  }
}

/* v1.70 pass: compact the open momentum queue into a readable capital/CP/active-row compass. */
.momentum-queue-compass {
  display: block;
  margin: 7px 0;
}

.momentum-compass-shell {
  display: grid;
  grid-template-columns: minmax(185px, 0.88fr) minmax(260px, 1.32fr) minmax(136px, 0.5fr);
  gap: 1px;
  min-width: 0;
  border: 1px solid rgba(20, 20, 18, 0.09);
  background:
    linear-gradient(90deg, rgba(167, 128, 44, 0.07), rgba(20, 131, 85, 0.06)),
    rgba(255, 255, 252, 0.66);
}

.momentum-compass-shell.hot {
  box-shadow: inset 4px 0 0 rgba(196, 83, 53, 0.72);
}

.momentum-compass-shell.cool {
  box-shadow: inset 4px 0 0 rgba(47, 97, 144, 0.74);
}

.momentum-compass-shell.flat {
  box-shadow: inset 4px 0 0 rgba(167, 128, 44, 0.68);
}

.momentum-compass-copy,
.momentum-compass-steps button,
.momentum-compass-jump {
  min-width: 0;
  padding: 9px 10px;
}

.momentum-compass-copy {
  display: grid;
  align-content: center;
  gap: 5px;
  background: rgba(255, 255, 252, 0.62);
}

.momentum-compass-copy span,
.momentum-compass-steps i,
.momentum-compass-jump span,
.momentum-compass-copy small,
.momentum-compass-steps small,
.momentum-compass-jump small {
  color: var(--muted);
  font: 800 10px/1.22 var(--sans);
}

.momentum-compass-copy span,
.momentum-compass-steps i,
.momentum-compass-jump span {
  text-transform: uppercase;
}

.momentum-compass-copy b,
.momentum-compass-steps b,
.momentum-compass-jump b {
  overflow-wrap: anywhere;
  color: var(--ink);
  font: 900 13px/1.1 var(--sans);
}

.momentum-compass-copy b {
  font: 900 16px/1.05 var(--serif);
}

.momentum-compass-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  min-width: 0;
  background: rgba(20, 20, 18, 0.07);
}

.momentum-compass-steps button {
  display: grid;
  align-content: center;
  gap: 4px;
  border: 0;
  background: rgba(255, 255, 252, 0.72);
  color: inherit;
  cursor: pointer;
  text-align: left;
}

.momentum-compass-steps button:hover,
.momentum-compass-jump:hover {
  background: rgba(255, 255, 252, 0.94);
}

.momentum-compass-steps .hot {
  box-shadow: inset 3px 0 0 rgba(196, 83, 53, 0.72);
}

.momentum-compass-steps .cool {
  box-shadow: inset 3px 0 0 rgba(47, 97, 144, 0.76);
}

.momentum-compass-steps .flat {
  box-shadow: inset 3px 0 0 rgba(167, 128, 44, 0.68);
}

.momentum-compass-jump {
  display: grid;
  align-content: center;
  gap: 5px;
  border: 0;
  border-left: 1px solid rgba(20, 20, 18, 0.09);
  background: rgba(255, 255, 252, 0.66);
  color: inherit;
  cursor: pointer;
  text-align: left;
}

body[data-theme="dark"] .momentum-compass-shell {
  border-color: rgba(255, 255, 255, 0.12);
  background:
    linear-gradient(90deg, rgba(225, 159, 74, 0.09), rgba(69, 181, 139, 0.07)),
    rgba(255, 255, 255, 0.045);
}

body[data-theme="dark"] .momentum-compass-copy,
body[data-theme="dark"] .momentum-compass-steps button,
body[data-theme="dark"] .momentum-compass-jump {
  background: rgba(255, 255, 255, 0.045);
}

body[data-theme="dark"] .momentum-compass-steps {
  background: rgba(255, 255, 255, 0.10);
}

body[data-theme="dark"] .momentum-compass-jump {
  border-color: rgba(255, 255, 255, 0.10);
}

@media (max-width: 920px) {
  .momentum-compass-shell {
    grid-template-columns: 1fr;
  }

  .momentum-compass-jump {
    border-left: 0;
    border-top: 1px solid rgba(20, 20, 18, 0.09);
  }
}

@media (max-width: 520px) {
  .momentum-queue-compass {
    margin: 5px 0;
  }

  .momentum-compass-copy,
  .momentum-compass-steps button,
  .momentum-compass-jump {
    padding: 7px;
  }

  .momentum-compass-copy small,
  .momentum-compass-jump small {
    display: none;
  }

  .momentum-compass-steps button {
    min-height: 40px;
  }

  .momentum-compass-steps i,
  .momentum-compass-steps small {
    font-size: 8px;
  }

  .momentum-compass-steps b,
  .momentum-compass-jump b {
    font-size: 11px;
  }
}

@keyframes realtime-scan {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(100%);
  }
}

@keyframes realtime-row-pulse {
  0%,
  100% {
    opacity: 0.74;
  }
  48% {
    opacity: 1;
  }
}

@keyframes history-scroll-focus {
  0% {
    box-shadow: 0 0 0 0 rgba(167, 128, 44, 0);
  }
  20% {
    border-color: rgba(167, 128, 44, 0.68);
    box-shadow: 0 0 0 4px rgba(167, 128, 44, 0.16), 0 12px 28px rgba(60, 52, 35, 0.11);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(167, 128, 44, 0);
  }
}

@keyframes history-scroll-focus-dark {
  0% {
    box-shadow: 0 0 0 0 rgba(225, 159, 74, 0);
  }
  20% {
    border-color: rgba(225, 159, 74, 0.58);
    box-shadow: 0 0 0 4px rgba(225, 159, 74, 0.16), 0 12px 28px rgba(0, 0, 0, 0.36);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(225, 159, 74, 0);
  }
}

body[data-theme="dark"] .realtime-topline,
body[data-theme="dark"] .realtime-brief,
body[data-theme="dark"] .realtime-filter-console,
body[data-theme="dark"] .realtime-terminal,
body[data-theme="dark"] .realtime-side-lists,
body[data-theme="dark"] .realtime-boundary-note,
body[data-theme="dark"] .history-sector-intro {
  border-color: rgba(238, 232, 218, 0.13);
  background:
    linear-gradient(180deg, rgba(24, 26, 26, 0.94), rgba(18, 19, 19, 0.96)),
    linear-gradient(90deg, rgba(225, 159, 74, 0.05), transparent);
}

body[data-theme="dark"] .realtime-command-strip span,
body[data-theme="dark"] .realtime-scoreboard span,
body[data-theme="dark"] .history-intro-stats span,
body[data-theme="dark"] .history-intro-path > div,
body[data-theme="dark"] .history-intro-path button,
body[data-theme="dark"] .history-story-lede,
body[data-theme="dark"] .history-story-card,
body[data-theme="dark"] .bucket-bridge-shell,
body[data-theme="dark"] .bucket-bridge-steps span,
body[data-theme="dark"] .bucket-bridge-jump,
body[data-theme="dark"] .filter-console-grid button,
body[data-theme="dark"] .realtime-bias-list button,
body[data-theme="dark"] .strategy-cloud strong,
body[data-theme="dark"] .strategy-cloud i {
  border-color: rgba(238, 232, 218, 0.11);
  background: rgba(255, 255, 255, 0.035);
}

@media (max-width: 1180px) {
  .realtime-layout,
  .realtime-topline,
  .history-sector-intro {
    grid-template-columns: 1fr;
  }

  .realtime-side-lists {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
  }

  .history-intro-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .history-intro-path {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .history-story-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .history-intro-path > div {
    grid-column: 1 / -1;
  }

  .history-story-lede {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .realtime-topline,
  .realtime-brief,
  .realtime-filter-console,
  .realtime-terminal,
  .realtime-side-lists,
  .realtime-boundary-note,
  .history-sector-intro {
    padding: 11px;
  }

  .realtime-command-strip,
  .realtime-scoreboard,
  .history-intro-stats,
  .filter-console-grid,
  .realtime-side-lists {
    grid-template-columns: 1fr;
  }

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

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

  .history-intro-path > div {
    grid-column: 1 / -1;
  }

  .history-story-lede {
    grid-column: 1 / -1;
  }

  .history-intro-path b,
  .history-intro-path small {
    white-space: normal;
  }

  .history-story-card {
    min-height: 104px;
  }

  .bucket-bridge-steps {
    grid-template-columns: 1fr;
  }

  .bucket-bridge-copy,
  .bucket-bridge-steps span,
  .bucket-bridge-jump {
    padding: 9px;
  }

  .terminal-table-head {
    display: none;
  }

  .terminal-table-body button {
    grid-template-columns: 44px 52px minmax(86px, 1fr) 58px;
  }

  .terminal-table-body button span:nth-of-type(3),
  .terminal-table-body button i {
    display: none;
  }

  .realtime-bias-list button {
    grid-template-columns: 48px 32px minmax(0, 1fr) 62px;
  }

  .realtime-boundary-note {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .terminal-veil strong {
    font-size: 23px;
  }
}

@media (max-width: 520px) {
  .history-intro-path,
  .history-story-strip {
    grid-template-columns: 1fr;
  }

  .bucket-rotation-bridge {
    margin: 8px 0 10px;
  }
}

/* v1.58 pass: bridge the open daily dashboard into the flow sample. */
.premium-preview.realtime-sector {
  gap: 10px;
  margin-top: 14px;
}

.realtime-topline {
  padding: 14px;
}

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

.realtime-transition-rail span {
  position: relative;
  display: grid;
  grid-template-columns: 22px minmax(0, 0.72fr) minmax(0, 1fr);
  gap: 6px 8px;
  align-items: baseline;
  min-width: 0;
  min-height: 54px;
  padding: 9px 10px 8px;
  border: 1px solid var(--line-strong);
  background:
    linear-gradient(180deg, rgba(255, 255, 252, 0.91), rgba(247, 245, 239, 0.9)),
    linear-gradient(90deg, rgba(167, 128, 44, 0.05), transparent);
  font-variant-numeric: tabular-nums;
}

.realtime-transition-rail span.active {
  border-color: rgba(196, 83, 53, 0.36);
  box-shadow: inset 3px 0 0 rgba(196, 83, 53, 0.78);
}

.realtime-transition-rail i,
.realtime-transition-rail b,
.realtime-transition-rail strong,
.realtime-transition-rail small,
.filter-weight-rail i,
.filter-weight-rail b,
.filter-weight-rail small {
  overflow: hidden;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.realtime-transition-rail i {
  color: var(--gold);
  font-size: 12px;
  font-style: italic;
  font-weight: 950;
}

.realtime-transition-rail b {
  color: var(--ink);
  font-size: 12px;
  font-weight: 900;
}

.realtime-transition-rail strong {
  color: var(--ink);
  font-size: 13px;
  font-weight: 900;
}

.realtime-transition-rail small {
  grid-column: 2 / 4;
  color: var(--muted);
  font-size: 10px;
  font-weight: 760;
}

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

.filter-weight-rail span {
  display: grid;
  min-width: 0;
  gap: 4px;
  padding: 8px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.54);
  font-variant-numeric: tabular-nums;
}

.filter-weight-rail span.hot {
  box-shadow: inset 3px 0 0 rgba(196, 83, 53, 0.7);
}

.filter-weight-rail span.cool {
  box-shadow: inset 3px 0 0 rgba(47, 97, 144, 0.72);
}

.filter-weight-rail i {
  color: var(--muted);
  font-size: 9px;
  font-style: normal;
  font-weight: 850;
  text-transform: uppercase;
}

.filter-weight-rail b {
  color: var(--ink);
  font-size: 13px;
  font-weight: 920;
}

.filter-weight-rail small {
  color: var(--muted);
  font-size: 9px;
  font-weight: 760;
}

.realtime-filter-console {
  gap: 9px;
}

.filter-console-grid {
  grid-auto-rows: minmax(66px, auto);
}

.filter-console-grid button {
  min-height: 66px;
  padding: 9px;
}

.strategy-cloud {
  gap: 7px;
}

.realtime-terminal {
  grid-template-rows: auto auto minmax(330px, 1fr);
}

.terminal-table-body {
  min-height: 322px;
}

body[data-theme="dark"] .realtime-transition-rail span,
body[data-theme="dark"] .filter-weight-rail span {
  border-color: rgba(238, 232, 218, 0.12);
  background:
    linear-gradient(180deg, rgba(26, 28, 28, 0.92), rgba(18, 19, 19, 0.94)),
    linear-gradient(90deg, rgba(225, 159, 74, 0.05), transparent);
}

@media (max-width: 1180px) {
  .realtime-transition-rail {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .premium-preview.realtime-sector {
    gap: 8px;
    margin-top: 10px;
  }

  .realtime-topline {
    gap: 9px;
    padding: 11px;
  }

  .realtime-heading h2 {
    font-size: clamp(25px, 10vw, 40px);
  }

  .realtime-heading p {
    font-size: 12px;
    line-height: 1.45;
  }

  .realtime-transition-rail span {
    min-height: 48px;
    padding: 8px;
  }

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

  .filter-console-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: minmax(60px, auto);
    gap: 6px;
  }

  .filter-console-grid button {
    min-height: 60px;
    padding: 8px;
  }

  .terminal-table-body {
    min-height: 270px;
  }
}

@media (max-width: 520px) {
  .realtime-command-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
  }

  .realtime-command-strip span {
    min-height: 50px;
    padding: 8px 7px;
  }

  .realtime-command-strip b {
    font-size: 14px;
  }

  .realtime-command-strip small {
    font-size: 9px;
  }

  .realtime-transition-rail span {
    grid-template-columns: 20px minmax(0, 1fr);
  }

  .realtime-transition-rail strong,
  .realtime-transition-rail small {
    grid-column: 2;
  }

  .filter-console-grid {
    grid-template-columns: 1fr;
  }
}

/* v1.59 pass: make the page read as three simple sectors before the heavy panels begin. */
.sector-spine {
  display: grid;
  grid-template-columns: minmax(170px, 0.28fr) minmax(0, 1fr);
  gap: 10px;
  align-items: stretch;
  margin-top: 10px;
}

.sector-spine-copy,
.sector-spine-buttons button {
  border: 1px solid var(--line-strong);
  background:
    linear-gradient(180deg, rgba(255, 255, 252, 0.94), rgba(248, 246, 239, 0.91)),
    linear-gradient(90deg, rgba(167, 128, 44, 0.045), transparent);
}

.sector-spine-copy {
  display: grid;
  align-content: center;
  gap: 7px;
  min-width: 0;
  padding: 12px 13px;
}

.sector-spine-copy span {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-weight: 880;
  line-height: 1;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.sector-spine-copy b {
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(22px, 2.8vw, 34px);
  line-height: 0.94;
  font-weight: 920;
  letter-spacing: 0;
}

.sector-spine-buttons {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}

.sector-spine-buttons button {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) minmax(70px, 0.34fr);
  gap: 5px 9px;
  align-items: baseline;
  min-width: 0;
  min-height: 84px;
  padding: 11px 12px 10px;
  color: inherit;
  cursor: pointer;
  font-variant-numeric: tabular-nums;
  text-align: left;
}

.sector-spine-buttons button:hover {
  border-color: rgba(167, 128, 44, 0.52);
  background:
    linear-gradient(180deg, rgba(255, 255, 252, 0.98), rgba(250, 247, 241, 0.96)),
    linear-gradient(90deg, rgba(167, 128, 44, 0.08), transparent);
}

.sector-spine-buttons button.hot {
  box-shadow: inset 3px 0 0 rgba(196, 83, 53, 0.78);
}

.sector-spine-buttons button.cool {
  box-shadow: inset 3px 0 0 rgba(47, 97, 144, 0.74);
}

.sector-spine-buttons i,
.sector-spine-buttons span,
.sector-spine-buttons strong,
.sector-spine-buttons b,
.sector-spine-buttons small {
  overflow: hidden;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sector-spine-buttons i {
  color: var(--gold);
  font-size: 13px;
  font-style: italic;
  font-weight: 950;
}

.sector-spine-buttons span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}

.sector-spine-buttons strong {
  grid-column: 2 / 4;
  color: var(--ink);
  font-size: 14px;
  font-weight: 920;
}

.sector-spine-buttons b {
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
  color: var(--ink);
  font-size: 15px;
  font-weight: 940;
}

.sector-spine-buttons small {
  grid-column: 2 / 4;
  color: var(--muted);
  font-size: 10px;
  font-weight: 760;
}

body[data-theme="dark"] .sector-spine-copy,
body[data-theme="dark"] .sector-spine-buttons button {
  border-color: rgba(238, 232, 218, 0.12);
  background:
    linear-gradient(180deg, rgba(26, 28, 28, 0.92), rgba(18, 19, 19, 0.94)),
    linear-gradient(90deg, rgba(225, 159, 74, 0.05), transparent);
}

@media (max-width: 1080px) {
  .sector-spine {
    grid-template-columns: 1fr;
  }

  .sector-spine-copy {
    min-height: 72px;
  }
}

@media (max-width: 760px) {
  .sector-spine {
    gap: 7px;
    margin-top: 8px;
  }

  .sector-spine-copy {
    min-height: 0;
    padding: 10px 11px;
  }

  .sector-spine-buttons {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .sector-spine-buttons button {
    grid-template-columns: 24px minmax(0, 1fr);
    min-height: 66px;
    padding: 9px 10px;
  }

  .sector-spine-buttons strong,
  .sector-spine-buttons b,
  .sector-spine-buttons small {
    grid-column: 2;
  }

  .sector-spine-buttons b {
    justify-self: start;
    font-size: 14px;
    grid-row: auto;
  }
}

@media (max-width: 520px) {
  .sector-spine-copy b {
    font-size: 24px;
  }

  .sector-spine-buttons button {
    grid-template-columns: 24px minmax(0, 1fr);
  }
}

/* v1.60 pass: compact the flow sample controls before the heavy tape. */
.realtime-router {
  display: grid;
  grid-template-columns: minmax(210px, 0.52fr) minmax(300px, 0.78fr) minmax(360px, 1fr);
  gap: 10px;
  align-items: stretch;
  padding: 12px;
  border: 1px solid var(--line-strong);
  background:
    linear-gradient(180deg, rgba(255, 255, 252, 0.94), rgba(248, 246, 239, 0.91)),
    linear-gradient(90deg, rgba(196, 83, 53, 0.045), transparent 36%, rgba(47, 97, 144, 0.045));
}

.router-copy {
  display: grid;
  align-content: center;
  gap: 7px;
  min-width: 0;
  padding-right: 4px;
}

.router-copy span,
.router-gates i,
.router-footer span,
.router-tape small {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-weight: 860;
  line-height: 1;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.router-copy b {
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(26px, 3.3vw, 44px);
  line-height: 0.92;
  font-weight: 930;
  letter-spacing: 0;
}

.router-copy p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.48;
  font-weight: 640;
}

.router-gates {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  min-width: 0;
}

.router-gates span {
  display: grid;
  align-content: space-between;
  min-width: 0;
  min-height: 86px;
  gap: 6px;
  padding: 10px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.58);
  font-variant-numeric: tabular-nums;
}

.router-gates .hot {
  box-shadow: inset 3px 0 0 rgba(196, 83, 53, 0.74);
}

.router-gates .cool {
  box-shadow: inset 3px 0 0 rgba(47, 97, 144, 0.74);
}

.router-gates b,
.router-gates small,
.router-footer b,
.router-tape b {
  overflow: hidden;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.router-gates b {
  color: var(--ink);
  font-size: 15px;
  font-weight: 920;
}

.router-gates small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 760;
}

.router-tape {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  grid-auto-rows: 32px;
  gap: 5px;
  min-width: 0;
  padding: 4px;
  border: 1px solid rgba(25, 27, 27, 0.08);
  background:
    linear-gradient(180deg, rgba(17, 18, 18, 0.95), rgba(28, 29, 27, 0.96)),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.04) 0 1px, transparent 1px 34px);
}

.router-tape button {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px;
  align-items: center;
  min-width: 0;
  padding: 6px 7px;
  border: 1px solid rgba(238, 232, 218, 0.08);
  background: rgba(255, 255, 255, 0.026);
  color: rgba(255, 255, 250, 0.9);
  cursor: pointer;
  text-align: left;
  font-variant-numeric: tabular-nums;
}

.router-tape button::before {
  position: absolute;
  left: 0;
  bottom: 0;
  width: var(--w);
  height: 2px;
  content: "";
  background: rgba(189, 154, 89, 0.72);
}

.router-tape button.hot::before {
  background: rgba(217, 85, 53, 0.86);
}

.router-tape button.cool::before {
  background: rgba(83, 151, 220, 0.84);
}

.router-tape button i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(238, 232, 218, 0.38);
}

.router-tape button.hot i {
  background: rgba(217, 85, 53, 0.9);
}

.router-tape button.cool i {
  background: rgba(83, 151, 220, 0.86);
}

.router-tape b {
  color: rgba(255, 255, 250, 0.92);
  font-size: 11px;
  font-weight: 900;
}

.router-tape small {
  color: rgba(238, 232, 218, 0.62);
  font-size: 8px;
  text-align: right;
}

.router-footer {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto 44px auto 44px auto 64px;
  gap: 8px;
  align-items: center;
  min-width: 0;
  padding-top: 2px;
  font-variant-numeric: tabular-nums;
}

.router-footer b {
  color: var(--ink);
  font-size: 12px;
  font-weight: 900;
}

body[data-theme="dark"] .realtime-router,
body[data-theme="dark"] .router-gates span {
  border-color: rgba(238, 232, 218, 0.12);
  background:
    linear-gradient(180deg, rgba(26, 28, 28, 0.92), rgba(18, 19, 19, 0.94)),
    linear-gradient(90deg, rgba(225, 159, 74, 0.05), transparent);
}

@media (max-width: 1180px) {
  .realtime-router {
    grid-template-columns: 1fr;
  }

  .router-footer {
    grid-column: auto;
  }
}

@media (max-width: 760px) {
  .realtime-router {
    gap: 8px;
    padding: 10px;
  }

  .router-copy b {
    font-size: clamp(24px, 9vw, 36px);
  }

  .router-gates {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  .router-gates span {
    min-height: 68px;
    padding: 8px;
  }

  .router-tape {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: 30px;
  }

  .router-footer {
    grid-template-columns: repeat(3, minmax(0, auto));
    gap: 6px 10px;
  }

  .timeboard-copy h2 {
    white-space: nowrap;
  }
}

@media (max-width: 420px) {
  .timeboard-copy {
    grid-template-columns: max-content minmax(0, 1fr);
  }

  .router-gates {
    grid-template-columns: 1fr;
  }

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

/* v1.60 mobile timeboard refinement: keep the timeline title out of the chart lane. */
@media (max-width: 520px) {
  .timeboard {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding: 10px 0 8px;
  }

  .timeboard-copy {
    grid-column: 1;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 0 9px;
  }

  .timeboard-copy h2 {
    min-width: max-content;
    font-size: 17px;
    line-height: 1.1;
    white-space: nowrap;
  }

  .timeboard-copy p {
    max-width: 180px;
    text-align: right;
  }

  .timeline-wrap {
    grid-column: 1;
    padding: 0 9px;
  }

  .nav-day {
    display: none;
  }
}

/* v1.61 mobile compression: keep the flow sample fast, not tall. */
@media (max-width: 760px) {
  .realtime-topline {
    grid-template-columns: minmax(0, 1fr);
    padding: 10px;
  }

  .realtime-heading {
    gap: 5px;
  }

  .realtime-heading h2 {
    font-size: clamp(24px, 9.2vw, 34px);
    line-height: 0.94;
  }

  .realtime-command-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .realtime-command-strip span,
  .realtime-scoreboard span {
    min-height: 0;
    padding: 8px;
  }

  .realtime-transition-rail {
    gap: 6px;
  }

  .realtime-transition-rail span {
    min-height: 0;
    padding: 7px 8px;
  }

  .realtime-router {
    gap: 7px;
    padding: 8px;
  }

  .router-copy {
    gap: 4px;
  }

  .router-copy b {
    font-size: clamp(22px, 8vw, 32px);
  }

  .router-copy p {
    line-height: 1.35;
  }

  .router-gates {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
  }

  .router-gates span {
    min-height: 56px;
    padding: 7px 6px;
  }

  .router-gates b {
    font-size: 13px;
  }

  .router-gates small {
    font-size: 9px;
  }

  .router-tape {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    grid-auto-rows: 24px;
    gap: 3px;
  }

  .router-tape button {
    grid-template-columns: minmax(0, 1fr);
    padding: 5px;
  }

  .router-tape button i,
  .router-tape small {
    display: none;
  }

  .router-footer {
    grid-template-columns: repeat(6, minmax(0, auto));
    gap: 5px;
  }

  .realtime-layout {
    gap: 8px;
  }

  .realtime-brief {
    grid-template-rows: auto auto;
    gap: 8px;
  }

  .realtime-brief-main {
    grid-template-columns: minmax(78px, 0.28fr) minmax(0, 1fr);
    gap: 6px 10px;
    align-items: end;
  }

  .realtime-brief-main span {
    grid-column: 1 / -1;
  }

  .realtime-brief-main strong {
    font-size: clamp(28px, 11vw, 44px);
  }

  .realtime-brief-main p {
    align-self: center;
    font-size: 12px;
    line-height: 1.35;
  }

  .realtime-scoreboard {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  .realtime-flow-model {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
    padding-top: 0;
    border-top: 0;
  }

  .realtime-flow-model span {
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 4px;
    min-height: 36px;
    padding: 7px 6px;
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, 0.44);
  }

  .realtime-flow-model small {
    display: none;
  }

  .realtime-filter-console,
  .realtime-terminal,
  .realtime-side-lists,
  .realtime-boundary-note {
    padding: 9px;
  }

  .filter-console-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: minmax(52px, auto);
  }

  .filter-console-grid button {
    min-height: 52px;
    padding: 7px;
  }

  .filter-weight-rail {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
  }

  .filter-weight-rail span {
    padding: 7px 6px;
  }

  .strategy-cloud {
    gap: 5px;
  }

  .strategy-cloud p:nth-of-type(n+4) {
    display: none;
  }

  .realtime-terminal {
    grid-template-rows: auto minmax(218px, auto);
    gap: 6px;
  }

  .terminal-table-body {
    min-height: 218px;
  }

  .terminal-table-body button {
    min-height: 26px;
    padding: 5px 7px;
  }

  .terminal-veil {
    top: 50%;
    width: min(330px, calc(100% - 28px));
    gap: 5px;
    padding: 10px 11px;
  }

  .terminal-veil strong {
    font-size: 21px;
  }

  .terminal-veil span {
    font-size: 11px;
    line-height: 1.32;
  }

  .realtime-side-lists {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }

  .realtime-bias-list {
    gap: 4px;
  }

  .realtime-bias-list button {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 3px 7px;
    min-height: 44px;
    padding: 6px 7px;
  }

  .realtime-bias-list button:nth-of-type(n+6) {
    display: none;
  }

  .realtime-bias-list em,
  .realtime-bias-list b {
    text-align: right;
  }

  .realtime-bias-list span {
    grid-column: 1 / -1;
  }
}

@media (max-width: 520px) {
  .realtime-heading p {
    display: none;
  }

  .realtime-command-strip {
    gap: 4px;
  }

  .realtime-command-strip span {
    padding: 7px 6px;
  }

  .realtime-command-strip i,
  .realtime-command-strip small {
    font-size: 8px;
  }

  .realtime-command-strip b {
    font-size: 13px;
  }

  .realtime-transition-rail span {
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 4px 7px;
  }

  .realtime-transition-rail small {
    display: none;
  }

  .router-copy p {
    display: none;
  }

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

  .router-tape {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .router-footer {
    display: none;
  }

  .realtime-brief-main {
    grid-template-columns: minmax(64px, 0.28fr) minmax(0, 1fr);
  }

  .realtime-brief-main p {
    max-height: 48px;
    overflow: hidden;
  }

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

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

  .filter-console-grid small {
    display: none;
  }

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

  .strategy-cloud p:nth-of-type(n+3) {
    display: none;
  }

  .realtime-side-lists {
    grid-template-columns: 1fr;
  }

  .terminal-table-body button:nth-child(n+11) {
    display: none;
  }
}

/* v1.62 pass: make the flow sample transition into the open historical layer. */
.realtime-history-handoff {
  display: grid;
  grid-template-columns: minmax(260px, 1.15fr) repeat(4, minmax(0, 0.7fr));
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(22, 95, 72, 0.08), rgba(172, 92, 47, 0.08)),
    var(--panel);
}

.realtime-history-handoff > div,
.realtime-history-handoff > span {
  min-width: 0;
  border: 1px solid rgba(20, 20, 18, 0.09);
  background: rgba(255, 255, 255, 0.62);
}

.realtime-history-handoff > div {
  display: grid;
  gap: 5px;
  padding: 10px 11px;
}

.realtime-history-handoff > span {
  display: grid;
  align-content: space-between;
  gap: 5px;
  min-height: 86px;
  padding: 9px 10px;
}

.realtime-history-handoff i,
.realtime-history-handoff span:first-child,
.realtime-history-handoff small {
  color: var(--muted);
  font: 800 10px/1.1 var(--sans);
  letter-spacing: 0.01em;
}

.realtime-history-handoff > div span {
  text-transform: uppercase;
}

.realtime-history-handoff b {
  color: var(--ink);
  font: 900 clamp(16px, 2.2vw, 22px)/0.98 var(--serif);
  letter-spacing: 0;
}

.realtime-history-handoff p {
  max-width: 60ch;
  margin: 0;
  color: var(--muted);
  font: 700 12px/1.5 var(--sans);
}

.realtime-history-handoff > span b {
  font-family: var(--sans);
  font-size: clamp(16px, 2vw, 20px);
}

.realtime-history-handoff > span.hot {
  border-left: 3px solid var(--red);
}

.realtime-history-handoff > span.cool {
  border-left: 3px solid var(--blue);
}

body[data-theme="dark"] .realtime-history-handoff {
  background:
    linear-gradient(90deg, rgba(69, 181, 139, 0.09), rgba(226, 139, 88, 0.08)),
    rgba(255, 255, 255, 0.04);
}

body[data-theme="dark"] .realtime-history-handoff > div,
body[data-theme="dark"] .realtime-history-handoff > span {
  background: rgba(255, 255, 255, 0.045);
  border-color: rgba(255, 255, 255, 0.10);
}

/* v1.84: put session volume, premium, CP, and stock share into the full landed-history sample. */
.session-readout {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.session-rank-strip {
  display: grid;
  grid-template-columns: minmax(190px, 0.95fr) repeat(5, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}

.session-rank-lead,
.session-rank-strip > span {
  min-width: 0;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.58);
}

.session-rank-lead {
  display: grid;
  gap: 4px;
  padding: 9px 10px;
  border-left: 3px solid var(--gold);
}

.session-rank-lead span,
.session-rank-lead small,
.session-rank-strip i,
.session-rank-strip small {
  overflow: hidden;
  color: var(--muted);
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.session-rank-lead span,
.session-rank-strip i {
  font-size: 9px;
  font-weight: 840;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.session-rank-lead small,
.session-rank-strip small {
  font-size: 9px;
}

.session-rank-strip > span {
  display: grid;
  gap: 3px;
  padding: 9px 10px;
  font-variant-numeric: tabular-nums;
}

.session-rank-strip b {
  overflow: hidden;
  color: var(--ink);
  font-size: 14px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.session-rank-strip .hot {
  border-color: rgba(196, 83, 53, 0.34);
  box-shadow: inset 3px 0 0 #c45335;
}

.session-rank-strip .cool {
  border-color: rgba(47, 97, 144, 0.34);
  box-shadow: inset 3px 0 0 #2f6190;
}

.session-lane-hedge {
  display: grid;
  grid-template-columns: minmax(190px, 0.85fr) minmax(0, 1.75fr);
  gap: 8px;
  min-width: 0;
  font-variant-numeric: tabular-nums;
}

.session-lane-hedge-lead,
.session-lane-hedge-cells span {
  min-width: 0;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.58);
}

.session-lane-hedge-lead {
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 10px 11px;
  border-left: 3px solid var(--gold);
}

.session-lane-hedge.hot .session-lane-hedge-lead {
  border-left-color: #c45335;
}

.session-lane-hedge.cool .session-lane-hedge-lead {
  border-left-color: #2f6190;
}

.session-lane-hedge.split .session-lane-hedge-lead {
  border-left-color: #7d6943;
}

.session-lane-hedge-cells {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}

.session-lane-hedge-lead span,
.session-lane-hedge-lead small,
.session-lane-hedge-cells i,
.session-lane-hedge-cells small {
  overflow: hidden;
  color: var(--muted);
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.session-lane-hedge-lead span,
.session-lane-hedge-cells i {
  font-size: 9px;
  font-weight: 840;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.session-lane-hedge-lead strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.session-lane-hedge-lead small,
.session-lane-hedge-cells small {
  font-size: 9px;
}

.session-lane-hedge-cells span {
  display: grid;
  gap: 3px;
  padding: 9px 10px;
}

.session-lane-hedge-cells b {
  overflow: hidden;
  color: var(--ink);
  font-size: 14px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.session-lane-hedge-cells .hot {
  border-color: rgba(196, 83, 53, 0.34);
  box-shadow: inset 3px 0 0 #c45335;
}

.session-lane-hedge-cells .cool {
  border-color: rgba(47, 97, 144, 0.34);
  box-shadow: inset 3px 0 0 #2f6190;
}

.session-lane-hedge-cells .split {
  border-color: rgba(125, 105, 67, 0.38);
  box-shadow: inset 3px 0 0 #7d6943;
}

body[data-theme="dark"] .session-rank-lead,
body[data-theme="dark"] .session-rank-strip > span,
body[data-theme="dark"] .session-lane-hedge-lead,
body[data-theme="dark"] .session-lane-hedge-cells span {
  background: rgba(245, 240, 230, 0.045);
  border-color: rgba(255, 255, 255, 0.10);
}

body[data-theme="dark"] .session-rank-lead span,
body[data-theme="dark"] .session-rank-lead small,
body[data-theme="dark"] .session-rank-strip i,
body[data-theme="dark"] .session-rank-strip small,
body[data-theme="dark"] .session-lane-hedge-lead span,
body[data-theme="dark"] .session-lane-hedge-lead small,
body[data-theme="dark"] .session-lane-hedge-cells i,
body[data-theme="dark"] .session-lane-hedge-cells small {
  color: rgba(240, 236, 225, 0.58);
}

@media (max-width: 1180px) {
  .realtime-history-handoff {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .realtime-history-handoff > div {
    grid-column: 1 / -1;
  }

  .session-rank-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .session-rank-lead {
    grid-column: 1 / -1;
  }

  .session-lane-hedge {
    grid-template-columns: 1fr;
  }

  .session-lane-hedge-cells {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .realtime-history-handoff {
    gap: 6px;
    padding: 8px;
  }

  .realtime-history-handoff > div {
    padding: 9px;
  }

  .realtime-history-handoff > div p {
    display: none;
  }

  .realtime-history-handoff > span {
    min-height: 64px;
    padding: 8px;
  }

  .realtime-history-handoff small {
    font-size: 9px;
  }

  .session-readout {
    gap: 6px;
  }

  .session-rank-strip {
    gap: 5px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .session-rank-lead {
    padding: 8px;
  }

  .session-rank-strip > span {
    padding: 7px 6px;
  }

  .session-rank-strip b {
    font-size: 12px;
  }

  .session-lane-hedge {
    gap: 5px;
  }

  .session-lane-hedge-lead {
    padding: 8px;
  }

  .session-lane-hedge-lead strong {
    white-space: normal;
  }

  .session-lane-hedge-cells {
    gap: 5px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .session-lane-hedge-cells span {
    min-height: 46px;
    padding: 7px 6px;
  }

  .session-lane-hedge-cells b {
    font-size: 12px;
  }
}

@media (max-width: 520px) {
  .realtime-history-handoff {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .realtime-history-handoff > span {
    min-height: 58px;
  }

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

  .session-rank-lead small,
  .session-rank-strip small,
  .session-lane-hedge-cells small {
    display: none;
  }

  .session-rank-lead {
    min-height: 34px;
    align-content: center;
  }

  .session-rank-strip > span {
    min-height: 38px;
    align-content: center;
  }

  .session-lane-hedge-lead small {
    white-space: normal;
  }
}

/* === Load-state polish: lazy-core skeletons, boot mask, CLS guards === */
@keyframes kzg-shimmer {
  0% { background-position: 100% 0; }
  100% { background-position: 0 0; }
}

.kzg-shimmer,
.kzg-skeleton-row,
body[data-booting] .metric strong,
body[data-booting] .metric small,
body[data-booting] .dateplate b,
body[data-booting] .dateplate span {
  background-image: linear-gradient(90deg, rgba(120, 132, 156, 0.10) 25%, rgba(120, 132, 156, 0.20) 37%, rgba(120, 132, 156, 0.10) 63%);
  background-size: 400% 100%;
  animation: kzg-shimmer 1.4s ease infinite;
}

.kzg-skeleton {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 16px 2px;
}

.kzg-skeleton > b {
  font-weight: 600;
  font-size: 12.5px;
  letter-spacing: 0.02em;
  opacity: 0.55;
}

.kzg-skeleton-row {
  display: block;
  height: 14px;
  border-radius: 7px;
}

.kzg-skeleton-row:nth-child(2n) { width: 92%; }
.kzg-skeleton-row:nth-child(3n) { width: 78%; }

/* Brief busy cue while a historical day chunk is fetched — no layout change. */
body.kzg-day-loading .metric-rail,
body.kzg-day-loading .workbench,
body.kzg-day-loading .analysis-grid {
  opacity: 0.55;
  transition: opacity 0.16s ease;
}

body.kzg-day-loading { cursor: progress; }

/* Mask the raw "--" / "loading" placeholders before the first render lands. */
body[data-booting] .metric strong,
body[data-booting] .metric small,
body[data-booting] .dateplate b,
body[data-booting] .dateplate span {
  color: transparent !important;
  border-radius: 6px;
}

/* CLS guards: reserve the space the data fills so nothing jumps on load. */
.timeline-wrap { min-height: 118px; }
.metric-rail { min-height: 92px; }
.session-tape { min-height: 126px; }
.sector-spine { min-height: 112px; }
.workbench { min-height: 520px; }

@media (prefers-reduced-motion: reduce) {
  .kzg-shimmer,
  .kzg-skeleton-row,
  body[data-booting] .metric strong,
  body[data-booting] .metric small,
  body[data-booting] .dateplate b,
  body[data-booting] .dateplate span {
    animation: none;
  }
}

/* v1.75 mobile guard: keep the new sort lens and the global toolbar inside 390px. */
@media (max-width: 420px) {
  .topbar {
    grid-template-columns: 1fr;
    gap: 8px;
    overflow: hidden;
    padding: 9px 10px;
  }

  .brand,
  .dateplate,
  .toolbar {
    width: 100%;
    min-width: 0;
  }

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

  .dateplate {
    display: none;
  }

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

  .toolbar .button {
    min-width: 0;
    min-height: 36px;
    padding: 0 4px;
  }

  .toolbar .button span:last-child {
    display: none;
  }

  .metric small,
  .stock-sort-tabs button {
    overflow-wrap: anywhere;
  }

  .metric strong {
    font-size: clamp(13px, 5vw, 20px);
    overflow-wrap: normal;
    word-break: keep-all;
  }

  .metric:last-child strong {
    font-family: var(--sans);
    font-size: 11px;
    font-weight: 820;
    line-height: 1.05;
  }

  .focus-leap-skew {
    grid-template-columns: 1fr;
    gap: 5px;
    padding: 7px 7px 0;
  }

  .focus-leap-lead {
    gap: 4px;
    padding: 7px;
  }

  .focus-leap-lead strong {
    font-size: 17px;
  }

  .focus-leap-cells {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
  }

  .focus-leap-cells span {
    gap: 3px;
    padding: 6px;
  }

  .focus-leap-cells i,
  .focus-leap-cells small {
    font-size: 8px;
  }

  .focus-leap-cells b {
    font-size: 11px;
  }

  .focus-ticket-size {
    grid-template-columns: 1fr;
    gap: 5px;
    padding: 5px 7px 0;
  }

  .focus-ticket-lead {
    gap: 4px;
    padding: 7px;
  }

  .focus-ticket-lead strong {
    font-size: 17px;
  }

  .focus-ticket-cells {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
  }

  .focus-ticket-cells span {
    gap: 3px;
    padding: 6px;
  }

  .focus-ticket-cells i,
  .focus-ticket-cells small {
    font-size: 8px;
  }

  .focus-ticket-cells b {
    font-size: 11px;
  }
}

/* === v2.05 visual unification: quieter terminal hierarchy, same functions === */
:root {
  --paper: #eef1f3;
  --surface: #ffffff;
  --surface-soft: #f5f7f8;
  --panel: #ffffff;
  --ink: #0d1217;
  --ink-soft: #26313a;
  --muted: #66717a;
  --line: #d8dee3;
  --line-strong: #b9c3ca;
  --gold: #a56d1b;
  --gold-soft: #f2e6cb;
  --green: #0e7a59;
  --red: #c34f43;
  --blue: #35668d;
  --radius: 7px;
  --sans: Inter, "SF Pro Text", "PingFang SC", "Hiragino Sans GB", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --serif: "New York", "Iowan Old Style", "Songti SC", Georgia, "Times New Roman", serif;
  --shadow-soft: 0 1px 2px rgba(12, 18, 24, 0.04), 0 10px 28px rgba(12, 18, 24, 0.045);
  --shadow-raised: 0 2px 4px rgba(12, 18, 24, 0.06), 0 16px 38px rgba(12, 18, 24, 0.075);
}

body[data-theme="dark"] {
  --paper: #0c1014;
  --surface: #151a1f;
  --surface-soft: #10151a;
  --panel: #151a1f;
  --ink: #f4f5f3;
  --ink-soft: #d4d9dd;
  --muted: #98a3ab;
  --line: #2a3239;
  --line-strong: #3a454e;
  --gold: #d7a04b;
  --gold-soft: #3f321f;
  --green: #48b58b;
  --red: #e17265;
  --blue: #6b9bc2;
  --shadow-soft: 0 1px 2px rgba(0, 0, 0, 0.22), 0 12px 30px rgba(0, 0, 0, 0.18);
  --shadow-raised: 0 2px 4px rgba(0, 0, 0, 0.28), 0 18px 42px rgba(0, 0, 0, 0.24);
}

html,
body {
  background: var(--paper);
}

body {
  color: var(--ink);
  font-family: var(--sans);
  background-image: none;
  font-variant-numeric: tabular-nums;
}

.app-shell {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.48), transparent 300px),
    var(--paper);
}

body[data-theme="dark"] .app-shell {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 300px),
    var(--paper);
}

.topbar {
  min-height: 70px;
  padding: 10px max(24px, calc((100vw - 1540px) / 2));
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
  background: rgba(10, 13, 16, 0.96);
  color: #f8f8f4;
  box-shadow: 0 8px 28px rgba(8, 12, 16, 0.14);
  backdrop-filter: blur(18px) saturate(1.15);
}

.mark {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 4px;
  background: #f6f6f1;
  color: #0b0e10;
  font-size: 16px;
}

.brand {
  gap: 11px;
}

.brand h1 {
  color: #ffffff;
  font-family: var(--serif);
  font-size: clamp(22px, 2.1vw, 29px);
  line-height: 0.98;
}

.brand p {
  margin-top: 4px;
  color: #d8aa58;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.14em;
}

.dateplate {
  min-width: 220px;
}

.dateplate b {
  color: #f7f7f3;
  font-family: var(--serif);
  font-size: 19px;
}

.dateplate span {
  color: rgba(248, 248, 244, 0.56);
  font-size: 10px;
}

.toolbar {
  gap: 7px;
}

.toolbar .button {
  min-height: 38px;
  padding: 0 14px;
  border-color: rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.06);
  color: #f7f7f4;
  font-size: 12px;
  font-weight: 760;
  transition: background-color 150ms ease, border-color 150ms ease, transform 150ms ease;
}

.toolbar .button:hover {
  border-color: rgba(255, 255, 255, 0.34);
  background: rgba(255, 255, 255, 0.11);
  transform: translateY(-1px);
}

.toolbar .button.primary {
  border-color: #d3a153;
  background: #d3a153;
  color: #111418;
}

main {
  max-width: 1540px;
  padding: 0 24px 52px;
}

.timeboard,
.metric-rail,
.sector-spine,
.report-stage,
.side-rail,
.premium-preview,
.history-sector-intro,
.panel {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}

.timeboard {
  margin-top: 18px;
  padding: 17px 18px 13px;
  border-bottom: 1px solid var(--line);
}

.timeboard-copy h2,
.section-head h2 {
  color: var(--ink);
  font-size: 15px;
  font-weight: 820;
}

.timeboard-copy p,
.section-head p {
  margin-top: 5px;
  color: var(--muted);
}

.nav-day {
  width: 40px;
  height: 42px;
  border-color: var(--line);
  border-radius: 6px;
  background: var(--surface-soft);
  color: var(--ink);
  font-size: 28px;
}

.nav-day:hover {
  border-color: var(--line-strong);
  background: var(--surface);
}

.timeline-wrap {
  min-height: 98px;
}

.month-ticks {
  color: var(--muted);
  font-size: 10px;
}

.day-bars button {
  background: #dce2e5;
}

body[data-theme="dark"] .day-bars button {
  background: #323b42;
}

.day-bars button.active {
  background: var(--gold);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--gold) 18%, transparent);
}

.timeline-rule {
  background: var(--line);
}

.timeline-legend {
  color: var(--muted);
}

.metric-rail {
  min-height: 0;
  margin-top: 12px;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}

.metric {
  min-height: 91px;
  padding: 14px 13px 12px;
  border-color: var(--line);
  background: var(--surface);
}

.metric::after {
  background: var(--gold);
}

.metric.lead {
  background: linear-gradient(145deg, #11171c, #202a31);
  color: #ffffff;
}

.metric.lead span,
.metric.lead small {
  color: rgba(255, 255, 255, 0.62);
}

.metric.lead strong {
  overflow: visible;
  font-family: var(--serif);
  font-size: clamp(15px, 1.35vw, 19px);
  text-overflow: clip;
  white-space: nowrap;
  word-break: normal;
}

.metric > span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 760;
}

.metric strong {
  margin-top: 6px;
  color: inherit;
  font-size: clamp(18px, 1.7vw, 24px);
  line-height: 1;
}

.metric small {
  margin-top: 6px;
  color: var(--muted);
  font-size: 9px;
}

.session-tape {
  min-height: 0;
  margin-top: 12px;
  gap: 12px;
  padding: 0;
  border: 0;
  background: transparent;
}

.session-copy {
  min-height: 100%;
  padding: 20px;
  border: 1px solid #1e272e;
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(211, 161, 83, 0.16), transparent 52%),
    #11171c;
  color: #ffffff;
  box-shadow: var(--shadow-raised);
}

.session-copy > span,
.session-copy > small {
  color: rgba(255, 255, 255, 0.58);
}

.session-copy > strong {
  max-width: 23ch;
  overflow: visible;
  color: #ffffff;
  font-family: var(--serif);
  font-size: clamp(21px, 2.1vw, 29px);
  line-height: 1.14;
  text-overflow: clip;
  white-space: normal;
}

.session-readout {
  gap: 9px;
}

.session-chip-grid,
.session-rank-strip,
.session-lane-hedge-cells {
  gap: 7px;
}

.session-chip-grid > *,
.session-rank-lead,
.session-rank-strip > span,
.session-lane-hedge-lead,
.session-lane-hedge-cells span {
  border-color: var(--line);
  border-radius: 5px;
  background: var(--surface);
}

.session-chip-grid > *:hover,
.session-rank-strip > span:hover,
.session-lane-hedge-cells span:hover {
  border-color: var(--line-strong);
}

.session-rank-lead,
.session-lane-hedge-lead {
  background: var(--surface-soft);
}

.sector-spine {
  margin: 12px 0 18px;
  gap: 10px;
  padding: 10px;
}

.sector-spine-copy {
  padding: 14px 15px;
  border: 0;
  border-radius: 5px;
  background: #11171c;
}

.sector-spine-copy span {
  color: rgba(255, 255, 255, 0.58);
}

.sector-spine-copy b {
  color: #ffffff;
  font-family: var(--serif);
  font-size: clamp(22px, 2.6vw, 34px);
}

.sector-spine-buttons {
  gap: 8px;
}

.sector-spine-buttons button {
  min-height: 76px;
  border-color: var(--line);
  border-radius: 5px;
  background: var(--surface);
  transition: border-color 150ms ease, background-color 150ms ease, transform 150ms ease;
}

.sector-spine-buttons button:hover {
  border-color: var(--line-strong);
  background: var(--surface-soft);
  transform: translateY(-1px);
}

.workbench {
  gap: 14px;
}

.report-stage,
.side-rail {
  padding: 15px;
}

.report-stage {
  min-width: 0;
}

.side-rail {
  background: var(--surface-soft);
}

.section-head {
  min-height: 0;
  margin-bottom: 13px;
  padding-bottom: 11px;
  border-bottom: 1px solid var(--line);
}

.search-wrap {
  border-color: var(--line);
  border-radius: 5px;
  background: var(--surface);
}

.search-wrap input {
  color: var(--ink);
  background: transparent;
}

.digest > *,
.mini-table,
.side-intel > * {
  border-color: var(--line);
  background: var(--surface);
}

.stock-sort-tabs {
  border-color: var(--line);
  background: var(--surface-soft);
}

.stock-sort-tabs button.active {
  background: #11171c;
  color: #ffffff;
}

.premium-preview {
  margin-top: 22px;
  padding: 11px;
  background: var(--surface-soft);
  box-shadow: var(--shadow-raised);
}

.realtime-topline {
  padding: 17px;
  border: 0;
  border-radius: 6px;
  background:
    linear-gradient(120deg, rgba(211, 161, 83, 0.12), transparent 42%),
    #11171c;
  color: #ffffff;
}

.realtime-heading > span,
.realtime-heading p {
  color: rgba(255, 255, 255, 0.58);
}

.realtime-heading h2 {
  color: #ffffff;
  font-family: var(--serif);
  font-size: clamp(36px, 4.6vw, 62px);
  line-height: 0.94;
}

.realtime-command-strip span {
  border-color: rgba(255, 255, 255, 0.12);
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.055);
}

.realtime-command-strip span.active {
  border-color: rgba(211, 161, 83, 0.72);
  background: rgba(211, 161, 83, 0.12);
}

.realtime-command-strip i,
.realtime-command-strip small {
  color: rgba(255, 255, 255, 0.56);
}

.realtime-command-strip b {
  color: #ffffff;
}

.realtime-transition-rail,
.realtime-router,
.realtime-brief,
.realtime-filter-console,
.realtime-terminal,
.realtime-side-lists,
.realtime-boundary-note,
.realtime-history-handoff {
  border-color: var(--line);
  border-radius: 6px;
  background: var(--surface);
}

.realtime-transition-rail {
  margin-top: 9px;
  gap: 7px;
  padding: 0;
  border: 0;
  background: transparent;
}

.realtime-transition-rail span,
.router-gates span,
.realtime-scoreboard span,
.filter-console-grid button,
.filter-weight-rail span,
.realtime-bias-list button,
.realtime-history-handoff > div,
.realtime-history-handoff > span {
  border-color: var(--line);
  border-radius: 5px;
  background: var(--surface);
}

.realtime-transition-rail span.active,
.router-gates .hot,
.filter-weight-rail .hot {
  background: color-mix(in srgb, var(--red) 6%, var(--surface));
}

.realtime-router {
  margin-top: 9px;
  padding: 11px;
  background: var(--surface);
}

.router-copy b {
  font-family: var(--serif);
  font-size: clamp(28px, 3.8vw, 48px);
}

.router-tape,
.realtime-terminal {
  background: #151a1d;
}

.realtime-layout {
  gap: 10px;
  margin-top: 10px;
}

.realtime-brief,
.realtime-filter-console,
.realtime-side-lists {
  padding: 12px;
}

.realtime-brief-main strong {
  font-family: var(--serif);
}

.realtime-terminal {
  padding: 11px;
  border-color: #252d32;
  color: #f4f4ef;
}

.terminal-head,
.terminal-table-head {
  color: rgba(255, 255, 255, 0.62);
}

.realtime-terminal .terminal-head b {
  color: #f4f4ef;
}

.history-sector-intro {
  display: grid;
  grid-template-columns: minmax(250px, 0.85fr) minmax(0, 2.15fr);
  gap: 10px;
  margin-top: 22px;
  padding: 11px;
  background: var(--surface-soft);
}

.history-intro-copy {
  align-content: end;
  min-height: 150px;
  padding: 18px;
  border: 0;
  border-radius: 6px;
  background:
    linear-gradient(145deg, rgba(53, 102, 141, 0.22), transparent 56%),
    #11171c;
}

.history-intro-copy > span,
.history-intro-copy p {
  color: rgba(255, 255, 255, 0.6);
}

.history-intro-copy h2 {
  color: #ffffff;
  font-family: var(--serif);
  font-size: clamp(34px, 4.4vw, 58px);
  line-height: 0.95;
}

.history-intro-stats {
  gap: 7px;
}

.history-intro-stats span,
.history-intro-path > div,
.history-intro-path button,
.history-story-lede,
.history-story-card {
  border-color: var(--line);
  border-radius: 5px;
  background: var(--surface);
}

.history-intro-path,
.history-story-strip {
  grid-column: 1 / -1;
  gap: 7px;
}

.history-intro-path button:hover,
.history-story-card:hover {
  border-color: var(--line-strong);
  background: var(--surface-soft);
}

.analysis-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.panel {
  min-width: 0;
  padding: 17px;
  overflow: hidden;
  background: var(--surface);
}

.trend-panel {
  grid-column: span 8;
}

.signal-panel {
  grid-column: span 4;
}

.regime-panel {
  grid-column: span 4;
}

.heatmap-panel {
  grid-column: span 8;
}

.bucket-panel,
.rotation-panel {
  grid-column: span 6;
}

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

.range-tabs {
  border-color: var(--line);
  border-radius: 5px;
  background: var(--surface-soft);
}

.range-tabs button.active {
  background: #11171c;
  color: #ffffff;
}

.trend-chart,
.signal-board,
.regime-map,
.heatmap,
.bucket-bars,
.symbol-rotation,
.symbol-focus,
.symbol-momentum {
  border-color: var(--line);
}

.panel.history-scroll-focus {
  outline-color: color-mix(in srgb, var(--gold) 58%, transparent);
}

body[data-theme="dark"] .timeboard,
body[data-theme="dark"] .metric-rail,
body[data-theme="dark"] .sector-spine,
body[data-theme="dark"] .report-stage,
body[data-theme="dark"] .side-rail,
body[data-theme="dark"] .premium-preview,
body[data-theme="dark"] .history-sector-intro,
body[data-theme="dark"] .panel,
body[data-theme="dark"] .session-chip-grid > *,
body[data-theme="dark"] .session-rank-lead,
body[data-theme="dark"] .session-rank-strip > span,
body[data-theme="dark"] .session-lane-hedge-lead,
body[data-theme="dark"] .session-lane-hedge-cells span,
body[data-theme="dark"] .sector-spine-buttons button,
body[data-theme="dark"] .realtime-transition-rail span,
body[data-theme="dark"] .router-gates span,
body[data-theme="dark"] .realtime-brief,
body[data-theme="dark"] .realtime-filter-console,
body[data-theme="dark"] .realtime-side-lists,
body[data-theme="dark"] .realtime-history-handoff,
body[data-theme="dark"] .realtime-history-handoff > div,
body[data-theme="dark"] .realtime-history-handoff > span,
body[data-theme="dark"] .history-intro-stats span,
body[data-theme="dark"] .history-intro-path > div,
body[data-theme="dark"] .history-intro-path button,
body[data-theme="dark"] .history-story-lede,
body[data-theme="dark"] .history-story-card {
  border-color: var(--line);
  background: var(--surface);
}

body[data-theme="dark"] .digest > div {
  border-color: var(--line);
  background: var(--surface-soft);
  color: var(--ink);
}

@media (min-width: 1181px) {
  .session-tape {
    grid-template-columns: minmax(300px, 0.9fr) minmax(0, 2.5fr);
  }

  .workbench {
    grid-template-columns: minmax(0, 1fr) 330px;
  }
}

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

  .trend-panel,
  .signal-panel,
  .regime-panel,
  .heatmap-panel,
  .bucket-panel,
  .rotation-panel,
  .momentum-panel {
    grid-column: auto;
  }

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

@media (max-width: 760px) {
  .topbar {
    grid-template-columns: 1fr;
    gap: 8px;
    min-height: 0;
    padding: 9px 11px;
  }

  .brand {
    width: 100%;
  }

  .mark {
    width: 34px;
    height: 34px;
    font-size: 13px;
  }

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

  .brand p {
    font-size: 7px;
  }

  .dateplate {
    display: none;
  }

  .toolbar {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    gap: 5px;
  }

  .toolbar .button {
    min-width: 0;
    min-height: 34px;
    padding: 0 5px;
  }

  main {
    padding: 0 9px 34px;
  }

  .timeboard {
    margin-top: 9px;
    padding: 11px 10px 8px;
  }

  .timeline-wrap {
    min-height: 92px;
  }

  .metric-rail {
    margin-top: 8px;
  }

  .metric {
    min-height: 70px;
    padding: 10px 9px 9px;
  }

  .metric strong {
    font-size: clamp(16px, 5.5vw, 21px);
  }

  .session-tape {
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 8px;
  }

  .session-copy {
    min-height: 124px;
    padding: 15px;
  }

  .session-copy > strong {
    font-size: 22px;
  }

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

  .session-rank-strip {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding-bottom: 3px;
    scroll-snap-type: x proximity;
  }

  .session-rank-lead {
    flex: 0 0 190px;
  }

  .session-rank-strip > span {
    flex: 0 0 112px;
    scroll-snap-align: start;
  }

  .session-lane-hedge-cells {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding-bottom: 3px;
    scroll-snap-type: x proximity;
  }

  .session-lane-hedge-cells span {
    flex: 0 0 146px;
    scroll-snap-align: start;
  }

  .sector-spine {
    display: block;
    margin: 8px 0 12px;
    padding: 7px;
  }

  .sector-spine-copy {
    padding: 11px 12px;
  }

  .sector-spine-copy b {
    font-size: 25px;
  }

  .sector-spine-buttons {
    display: flex;
    gap: 6px;
    margin-top: 6px;
    overflow-x: auto;
    padding-bottom: 2px;
    scroll-snap-type: x mandatory;
  }

  .sector-spine-buttons button {
    flex: 0 0 210px;
    min-height: 70px;
    scroll-snap-align: start;
  }

  .report-stage,
  .side-rail,
  .panel {
    padding: 12px;
  }

  .premium-preview {
    margin-top: 13px;
    padding: 7px;
  }

  .realtime-topline {
    padding: 13px;
  }

  .realtime-heading h2 {
    font-size: clamp(34px, 12vw, 46px);
  }

  .realtime-transition-rail {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }

  .realtime-transition-rail span {
    flex: 0 0 190px;
    scroll-snap-align: start;
  }

  .realtime-router,
  .realtime-brief,
  .realtime-filter-console,
  .realtime-terminal,
  .realtime-side-lists,
  .realtime-history-handoff {
    border-radius: 5px;
  }

  .history-sector-intro {
    grid-template-columns: 1fr;
    margin-top: 13px;
    padding: 7px;
  }

  .history-intro-copy {
    min-height: 138px;
    padding: 15px;
  }

  .history-intro-copy h2 {
    font-size: 39px;
  }

  .history-intro-path,
  .history-story-strip {
    grid-column: auto;
  }

  .history-intro-path,
  .history-story-strip {
    display: flex;
    overflow-x: auto;
    padding-bottom: 3px;
    scroll-snap-type: x proximity;
  }

  .history-intro-path > div,
  .history-intro-path button,
  .history-story-lede,
  .history-story-card {
    flex: 0 0 190px;
    scroll-snap-align: start;
  }

  .analysis-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    margin-top: 10px;
  }

  .trend-panel,
  .signal-panel,
  .regime-panel,
  .heatmap-panel,
  .bucket-panel,
  .rotation-panel,
  .momentum-panel {
    grid-column: auto;
  }
}

@media (max-width: 420px) {
  .toolbar .button span:last-child {
    display: none;
  }

  .metric strong {
    font-size: clamp(15px, 5vw, 19px);
  }

  .metric.lead strong {
    font-size: 12px;
  }

  .metric:last-child strong {
    font-size: 11px;
  }

  .realtime-command-strip {
    gap: 4px;
  }

  .realtime-command-strip span {
    padding: 7px 6px;
  }

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

/* v2.96 precedence guard: keep touch and tablet contracts above all legacy layers. */
@media (pointer: coarse) {
  [data-symbol] {
    touch-action: manipulation;
  }

  #stockTable tbody tr[data-symbol-row],
  .rotation-row,
  .momentum-row,
  .realtime-bias-list button,
  .side-leader-list button,
  .side-extreme-list button,
  .live-event-queue button,
  .stock-sort-tabs button {
    min-height: 44px;
  }
}

@media (min-width: 761px) and (max-width: 1024px) {
  .premium-preview,
  .realtime-sector,
  .realtime-topline,
  .realtime-transition-rail,
  .realtime-router,
  .realtime-layout,
  .realtime-brief,
  .realtime-filter-console,
  .realtime-terminal,
  .realtime-side-lists,
  .realtime-history-handoff,
  .history-sector-intro,
  .analysis-grid,
  .panel {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .premium-preview,
  .realtime-router,
  .realtime-layout,
  .realtime-terminal,
  .realtime-side-lists {
    overflow: hidden;
  }

  .realtime-layout,
  .realtime-router {
    grid-template-columns: minmax(0, 1fr);
  }

  .router-gates {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .router-tape {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .realtime-side-lists {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
  }

  .terminal-table-head,
  .terminal-table-body button {
    grid-template-columns: 48px 58px minmax(120px, 1fr) 58px 72px 68px;
    gap: 6px;
  }

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

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