.market-workspace-page {
  display: grid;
  align-content: start;
  gap: var(--layout-gap);
}

.market-workspace-page > .page-header {
  margin-bottom: 0;
}

.market-page-header {
  justify-content: space-between;
}

.workspace-state {
  min-height: var(--s-200);
  display: grid;
  place-items: center;
  color: var(--color-text-secondary);
}

.emotion-overview,
.performance-layout,
.pool-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--s-320);
  gap: var(--layout-gap);
  align-items: start;
}

.temperature-chart-wrap {
  min-height: var(--s-200);
  padding: var(--s-10) var(--s-14);
}

.temperature-chart {
  width: 100%;
  height: var(--s-200);
  overflow: visible;
}

.temperature-grid { stroke: var(--color-divider); stroke-width: var(--s-1); }
.temperature-line { fill: none; stroke: var(--color-primary); stroke-width: var(--s-2); }
.temperature-average { fill: none; stroke: var(--color-warning); stroke-width: var(--s-2); stroke-dasharray: var(--s-6) var(--s-4); }
.temperature-point { fill: var(--color-surface); stroke: var(--color-primary); stroke-width: var(--s-2); }

.phase-body { display: grid; gap: var(--s-8); padding: var(--s-14); }
.phase-name { color: var(--color-primary); font-size: var(--font-18); font-weight: var(--weight-800); }
.phase-confidence { color: var(--color-text-secondary); font-size: var(--font-12); }
.phase-body > p { color: var(--color-text-secondary); line-height: var(--s-20); }
.phase-metrics { display: flex; flex-wrap: wrap; gap: var(--s-8) var(--s-14); color: var(--color-text-secondary); font-size: var(--font-12); }
.phase-metrics strong { color: var(--color-text); }
.phase-warning { margin-top: var(--s-4); }

.component-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--s-14);
  padding: var(--s-14);
}

.component-item { display: grid; gap: var(--s-6); }
.component-item > div:first-child { display: flex; justify-content: space-between; gap: var(--s-8); }
.component-item small { color: var(--color-text-faint); font-size: var(--font-11); }
.score-track { height: var(--s-6); overflow: hidden; border-radius: var(--radius-round); background: var(--color-surface-muted); }
.score-track span { display: block; height: 100%; border-radius: inherit; background: var(--color-primary); }

.history-header { justify-content: space-between; }
.history-header .seg-control { margin-left: 0; }
.emotion-history-wrap { max-height: none; }

.pool-layout { grid-template-columns: minmax(0, 1fr) var(--s-320); }
.pool-layout-single { grid-template-columns: minmax(0, 1fr); }
.pool-table-card { min-width: 0; overflow: hidden; }
.pool-toolbar { min-height: var(--s-46); display: flex; align-items: center; gap: var(--s-8); padding: var(--s-7) var(--s-10); border-bottom: var(--s-1) solid var(--color-divider); }
.pool-filters { margin-left: 0; }
.pool-search { width: var(--s-260); min-height: var(--s-32); margin-left: auto; }
.pool-aside { display: grid; gap: var(--layout-gap); }
.pool-stat-body { display: grid; gap: var(--s-6); padding: var(--s-16); }
.pool-stat-body strong { color: var(--color-primary); font-size: var(--font-18); }
.pool-stat-body span, .risk-note { color: var(--color-text-secondary); font-size: var(--font-12); }
.sector-list { display: grid; gap: var(--s-1); margin: 0; padding: var(--s-8) var(--s-14); list-style: none; }
.sector-list li { display: flex; justify-content: space-between; gap: var(--s-8); padding: var(--s-8) 0; border-bottom: var(--s-1) solid var(--color-divider); }
.sector-list strong { font-variant-numeric: tabular-nums; }
.risk-note { padding: 0 var(--s-14) var(--s-14); line-height: var(--s-18); }
.pool-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--layout-gap); }
.summary-metric { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s-12); padding: var(--s-12) var(--s-14); }
.summary-metric span { color: var(--color-text-secondary); }
.summary-metric strong { font-size: var(--font-17); }

.data-table-wrap { width: 100%; overflow-x: auto; }
.data-table th.numeric, .data-table td.numeric { text-align: right; font-variant-numeric: tabular-nums; }
.data-table th.index-column, .data-table td.index-column { width: var(--s-44); }
.data-table th.code-column, .data-table td.code-column { min-width: var(--s-64); }
.data-table th.wide-column, .data-table td.wide-column { width: var(--s-200); min-width: var(--s-200); white-space: normal; }
.data-table th button { display: inline-flex; align-items: center; gap: var(--s-4); padding: 0; color: inherit; background: var(--c-transparent); font-weight: inherit; }

.performance-layout { grid-template-columns: minmax(0, 1fr) var(--s-320); }
.performance-levels { min-width: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(var(--s-320), 1fr)); gap: var(--layout-gap); }
.performance-level-card { min-width: 0; padding: var(--s-12) var(--s-14); }
.performance-level-card > header, .performance-level-card > footer { display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--s-8) var(--s-14); }
.performance-level-card > header span, .performance-level-card > footer { color: var(--color-text-secondary); font-size: var(--font-11); }
.performance-outcomes { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--s-6); margin: var(--s-12) 0; }
.performance-outcomes span { display: grid; gap: var(--s-4); padding: var(--s-8); border-radius: var(--control-radius); background: var(--color-surface-muted); color: var(--color-text-secondary); font-size: var(--font-11); text-align: center; }
.performance-outcomes b { color: var(--color-text); font-size: var(--font-15); }
.performance-conclusion { position: sticky; top: calc(var(--shell-topbar-height) + var(--shell-summary-height) + var(--s-12)); }
.performance-conclusion p { color: var(--color-text-secondary); line-height: var(--s-20); }
.performance-conclusion dl { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-8); margin: var(--s-14) 0 0; }
.performance-conclusion dl div { padding: var(--s-8); border-radius: var(--control-radius); background: var(--color-surface-muted); }
.performance-conclusion dt { color: var(--color-text-secondary); font-size: var(--font-11); }
.performance-conclusion dd { margin: var(--s-4) 0 0; font-weight: var(--weight-700); font-variant-numeric: tabular-nums; }
.breadth-body { display: grid; gap: var(--s-10); padding: var(--s-14); }
.breadth-legend { display: flex; flex-wrap: wrap; gap: var(--s-8) var(--s-20); color: var(--color-text-secondary); }
.breadth-track { height: var(--s-10); display: flex; overflow: hidden; border-radius: var(--radius-round); background: var(--color-surface-muted); }
.breadth-track span { height: 100%; }
.breadth-up { background: var(--color-up); }
.breadth-flat { background: var(--color-text-faint); }
.breadth-down { background: var(--color-down); }

.page-actions {
  display: flex;
  align-items: center;
  gap: var(--s-8);
}

.page-actions .seg-control {
  margin-left: 0;
}

.ladder-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--s-320);
  gap: var(--layout-gap);
  align-items: start;
}

.ladder-board {
  overflow: hidden;
}

.ladder-level {
  display: grid;
  grid-template-columns: var(--s-200) minmax(0, 1fr);
  border-bottom: var(--s-1) solid var(--color-divider);
}

.ladder-level:last-child {
  border-bottom: 0;
}

.ladder-level > header {
  display: grid;
  align-content: center;
  gap: var(--s-6);
  padding: var(--s-12) var(--s-14);
  border-right: var(--s-1) solid var(--color-divider);
  background: var(--color-primary-soft);
}

.ladder-level.is-gap > header,
.ladder-level.is-gap .ladder-stocks {
  background: var(--color-surface-muted);
}

.ladder-level > header div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--s-8);
}

.ladder-level > header strong {
  color: var(--color-primary);
  font-size: var(--font-15);
}

.ladder-level > header span,
.ladder-level > header small {
  color: var(--color-text-secondary);
  font-size: var(--font-11);
}

.ladder-stocks {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--s-200), 1fr));
  gap: var(--s-8);
  padding: var(--s-10);
}

.ladder-stock {
  min-width: 0;
  display: grid;
  gap: var(--s-6);
  padding: var(--s-9);
  border: var(--s-1) solid var(--color-border);
  border-radius: var(--control-radius);
  background: var(--color-surface);
  transition: border-color var(--duration-fast) var(--ease-standard),
    background var(--duration-fast) var(--ease-standard),
    transform var(--duration-fast) var(--ease-standard);
}

.ladder-stock:hover {
  border-color: var(--color-primary-border);
  background: var(--color-primary-soft);
  transform: translateY(calc(var(--s-1) * -1));
}

.ladder-stock > div,
.ladder-stock > p {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-8);
}

.ladder-stock strong,
.ladder-stock b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ladder-stock span,
.ladder-stock small {
  color: var(--color-text-secondary);
  font-size: var(--font-11);
}

.ladder-gap-note {
  align-self: center;
  color: var(--color-text-faint);
}

.ladder-expand {
  min-height: var(--s-44);
  border: var(--s-1) dashed var(--color-border);
  border-radius: var(--control-radius);
  color: var(--color-primary);
  background: var(--color-surface-muted);
}

.ladder-insights {
  display: grid;
  gap: var(--layout-gap);
}

.ladder-insight-body {
  display: grid;
  gap: var(--s-10);
  padding: var(--s-14);
}

.ladder-insight-body > strong {
  color: var(--color-primary);
  font-size: var(--font-18);
}

.ladder-insight-body p {
  color: var(--color-text-secondary);
  font-size: var(--font-12);
  line-height: var(--s-18);
}

.ladder-rate-list {
  display: grid;
  gap: var(--s-9);
  padding: var(--s-12) var(--s-14);
}

.ladder-rate-list > div {
  display: grid;
  grid-template-columns: var(--s-64) minmax(0, 1fr) var(--s-44);
  align-items: center;
  gap: var(--s-8);
  color: var(--color-text-secondary);
  font-size: var(--font-11);
}

.ladder-rate-list strong {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.rotation-trajectory,
.rotation-members {
  min-width: 0;
  overflow: hidden;
}

.rotation-top-tag {
  margin-left: auto;
}

.rotation-legend {
  min-height: var(--s-34);
  display: flex;
  align-items: center;
  gap: var(--s-16);
  padding: var(--s-6) var(--s-14);
  border-bottom: var(--s-1) solid var(--color-divider);
  color: var(--color-text-secondary);
  font-size: var(--font-11);
}

.rotation-legend span {
  display: inline-flex;
  align-items: center;
  gap: var(--s-4);
}

.rotation-legend i {
  width: var(--s-14);
  height: var(--s-9);
  border-radius: var(--radius-4);
}

.rotation-tracker {
  min-height: var(--s-46);
  display: flex;
  align-items: center;
  gap: var(--s-14);
  padding: var(--s-7) var(--s-14);
  border-bottom: var(--s-1) solid var(--color-primary-border);
  background: var(--color-primary-soft);
}

.rotation-tracker strong {
  color: var(--color-primary);
}

.rotation-tracker span {
  flex: 1;
  color: var(--color-text-secondary);
  font-size: var(--font-11);
}

.rotation-days {
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
}

.rotation-day {
  min-width: 0;
  border-right: var(--s-1) solid var(--color-divider);
}

.rotation-day:last-child {
  border-right: 0;
}

.rotation-day > header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--s-4);
  padding: var(--s-8);
  border-bottom: var(--s-1) solid var(--color-divider);
  background: var(--color-surface-muted);
}

.rotation-day > header time {
  font-weight: var(--weight-700);
}

.rotation-day > header span {
  color: var(--color-text-faint);
  font-size: var(--font-10-5);
}

.rotation-day > div {
  display: grid;
}

.rotation-sector {
  min-width: 0;
  display: grid;
  grid-template-columns: var(--s-20) minmax(0, 1fr);
  gap: var(--s-2) var(--s-6);
  padding: var(--s-7) var(--s-8);
  border-bottom: var(--s-1) solid var(--color-divider);
  text-align: left;
  transition: opacity var(--duration-fast) var(--ease-standard);
}

.rotation-sector > span {
  grid-row: span 2;
  align-self: center;
  color: var(--color-text-secondary);
  font-variant-numeric: tabular-nums;
}

.rotation-sector strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: var(--font-11);
}

.rotation-sector small {
  color: var(--color-text-secondary);
  font-size: var(--font-10-5);
}

.rotation-sector.selected {
  color: var(--color-primary);
  outline: var(--s-1) solid var(--color-primary);
  outline-offset: calc(var(--s-1) * -1);
  opacity: 1;
}

.heat-high { background: var(--color-up-soft); }
.heat-medium { background: var(--color-warning-soft); }
.heat-low { background: var(--color-primary-soft); }
