.sam-main {
  padding: 12px 0 80px;
}

.sam-hero {
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.62fr);
  padding-top: 48px;
}

.sam-owner {
  margin: 0 0 12px !important;
  color: var(--tape-blue) !important;
  font: 700 var(--type-meta)/1.3 "Ubuntu Mono", "Nimbus Mono PS", monospace !important;
  letter-spacing: 0.04em;
}

.sam-hero h1 {
  max-width: 760px;
}

.sam-scope {
  max-width: 720px;
  margin-top: 16px !important;
  color: var(--signal-tertiary) !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  text-wrap: pretty;
}

.sam-hero-meta {
  grid-template-columns: 1fr;
  gap: 16px;
  width: min(100%, 320px);
}

.sam-hero-meta .identity-status {
  min-height: 48px;
  align-content: center;
}

.sam-hero-meta .state-risk_on,
.sam-hero-meta .state-bullish,
.sam-hero-meta .state-current {
  border-left-color: var(--profit);
}

.sam-hero-meta .state-risk_off,
.sam-hero-meta .state-bearish {
  border-left-color: var(--risk);
}

.sam-hero-meta .state-chop,
.sam-hero-meta .state-caution,
.sam-hero-meta .state-stale,
.sam-hero-meta .state-waiting {
  border-left-color: var(--caution);
}

.sam-warnings {
  margin-top: 24px;
  border: 1px solid var(--wire);
  border-left: 2px solid var(--caution);
  border-radius: var(--radius-control);
  background: var(--terminal-raised);
  padding: 12px 16px;
}

.sam-warnings p {
  margin: 0;
  color: var(--signal-secondary);
  font-size: var(--type-body);
}

.sam-warnings p + p { margin-top: 4px; }

.sam-regime,
.sam-momentum,
.sam-section {
  min-width: 0;
  margin-top: 64px;
}

.sam-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 20px;
}

.sam-section-heading h2 {
  margin: 5px 0 0;
  color: var(--signal-ink);
  font-size: var(--type-key);
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.sam-section-heading > p {
  max-width: 520px;
  margin: 0;
  color: var(--signal-tertiary);
  font-size: var(--type-body);
  line-height: 1.55;
  text-align: right;
  text-wrap: pretty;
}

.sam-regime-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--wire);
  border-radius: var(--radius-panel);
  background: var(--terminal-raised);
}

.sam-regime-node {
  position: relative;
  min-width: 0;
  min-height: 152px;
  display: grid;
  align-content: start;
  gap: 8px;
  border-right: 1px solid var(--wire-soft);
  padding: 20px 28px 16px 20px;
}

.sam-regime-node:last-child { border-right: 0; }

.sam-regime-node:not(:last-child)::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  right: -5px;
  width: 9px;
  height: 9px;
  border-top: 1px solid var(--signal-muted);
  border-right: 1px solid var(--signal-muted);
  background: var(--terminal-raised);
  transform: translateY(-50%) rotate(45deg);
}

.sam-regime-node > span,
.sam-regime-node time {
  color: var(--signal-muted);
  font: 650 var(--type-meta)/1.3 "Ubuntu Mono", "Nimbus Mono PS", monospace;
  font-variant-numeric: tabular-nums;
}

.sam-regime-node > strong {
  color: var(--signal-secondary);
  font-size: var(--type-body);
  line-height: 1.5;
  text-wrap: pretty;
}

.sam-regime-node.state-risk_on > strong,
.sam-regime-node.state-bullish > strong { color: var(--profit); }
.sam-regime-node.state-risk_off > strong,
.sam-regime-node.state-bearish > strong { color: var(--risk); }
.sam-regime-node.state-caution > strong,
.sam-regime-node.state-chop > strong { color: var(--caution); }

.sam-regime-node a,
.sam-momentum-node a,
.sam-item-source a,
.sam-source-cell a {
  min-height: 44px;
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  align-items: center;
  color: var(--tape-blue);
  font-size: var(--type-body);
  text-decoration: none;
  transition: color 150ms ease-out;
}

.sam-regime-node a:hover,
.sam-momentum-node a:hover,
.sam-item-source a:hover,
.sam-source-cell a:hover { color: var(--profit); }

.sam-regime-node a:active,
.sam-momentum-node a:active,
.sam-item-source a:active,
.sam-source-cell a:active { transform: scale(0.97); }

.sam-momentum-path {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--wire);
  border-bottom: 1px solid var(--wire);
}

.sam-momentum-node {
  position: relative;
  min-width: 0;
  min-height: 176px;
  padding: 20px 28px 16px 20px;
}

.sam-momentum-node + .sam-momentum-node {
  border-left: 1px solid var(--wire-soft);
}

.sam-momentum-node:not(:last-child)::after {
  content: "→";
  position: absolute;
  top: 20px;
  right: 8px;
  color: var(--signal-muted);
  font: 700 var(--type-body)/1 "Ubuntu Mono", "Nimbus Mono PS", monospace;
}

.sam-momentum-node > span {
  color: var(--signal-muted);
  font: 700 var(--type-meta)/1.3 "Ubuntu Mono", "Nimbus Mono PS", monospace;
}

.sam-momentum-node > strong {
  display: block;
  margin-top: 10px;
  color: var(--signal-ink);
  font-size: var(--type-key);
  line-height: 1.2;
}

.sam-momentum-node > p {
  margin: 8px 0 0;
  color: var(--signal-tertiary);
  font-size: var(--type-body);
  line-height: 1.5;
  text-wrap: pretty;
}

.sam-momentum-node.state-risk_on > strong,
.sam-momentum-node.state-bullish > strong,
.sam-momentum-node.state-strong > strong,
.sam-momentum-node.state-improving > strong,
.sam-momentum-node.state-buy_list > strong,
.sam-momentum-node.state-executed > strong { color: var(--profit); }

.sam-momentum-node.state-risk_off > strong,
.sam-momentum-node.state-bearish > strong,
.sam-momentum-node.state-weak > strong,
.sam-momentum-node.state-avoid_invalid > strong { color: var(--risk); }

.sam-momentum-node.state-chop > strong,
.sam-momentum-node.state-caution > strong,
.sam-momentum-node.state-waiting > strong,
.sam-momentum-node.state-conditional > strong,
.sam-momentum-node.state-watch > strong { color: var(--caution); }

.sam-operation-book {
  overflow: hidden;
  border: 1px solid var(--wire);
  border-radius: var(--radius-panel);
  background: var(--terminal-raised);
}

.sam-operation-book table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.sam-operation-book th {
  background: var(--tape-inset);
  color: var(--signal-muted);
  padding: 12px;
  font: 700 var(--type-meta)/1.3 "Ubuntu Mono", "Nimbus Mono PS", monospace;
  text-align: left;
}

.sam-operation-book td {
  min-width: 0;
  border-top: 1px solid var(--wire-soft);
  color: var(--signal-secondary);
  padding: 12px;
  font-size: var(--type-body);
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.sam-operation-book th:nth-child(1) { width: 10%; }
.sam-operation-book th:nth-child(2) { width: 8%; }
.sam-operation-book th:nth-child(3) { width: 15%; }
.sam-operation-book th:nth-child(4) { width: 15%; }
.sam-operation-book th:nth-child(5) { width: 12%; }
.sam-operation-book th:nth-child(6) { width: 20%; }
.sam-operation-book th:nth-child(7) { width: 20%; }

.sam-operation-book tbody tr.evidence-unconfirmed { box-shadow: inset 2px 0 0 var(--caution); }
.sam-operation-book tbody tr.evidence-uncertain { box-shadow: inset 2px 0 0 var(--caution); }
.sam-operation-book tbody tr.evidence-closed { box-shadow: inset 2px 0 0 var(--risk); }

.sam-operation-book td strong {
  color: var(--signal-ink);
  font: 700 var(--type-key)/1 "Ubuntu Mono", "Nimbus Mono PS", monospace;
}

.sam-number,
.sam-source-cell time {
  font-family: "Ubuntu Mono", "Nimbus Mono PS", monospace;
  font-variant-numeric: tabular-nums;
}

.sam-source-cell time {
  display: block;
  color: var(--signal-muted);
  font-size: var(--type-meta);
}

.sam-stance,
.sam-evidence-state {
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  border-radius: var(--radius-control);
  padding: 2px 6px;
  font: 700 var(--type-meta)/1.3 "Ubuntu Mono", "Nimbus Mono PS", monospace;
}

.sam-stance.side-long { color: var(--profit); }
.sam-stance.side-short { color: var(--risk); }
.sam-evidence-state.state-unconfirmed,
.sam-evidence-state.state-uncertain { color: var(--caution); }
.sam-evidence-state.state-closed { color: var(--risk); }

.sam-sector-radar {
  overflow: hidden;
  border: 1px solid var(--wire);
  border-radius: var(--radius-panel);
  background: var(--terminal-raised);
}

.sam-sector-band {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  border-bottom: 1px solid var(--wire-soft);
}

.sam-sector-band:last-child { border-bottom: 0; }

.sam-sector-band > h3 {
  margin: 0;
  border-right: 1px solid var(--wire-soft);
  padding: 20px 16px;
  color: var(--signal-secondary);
  font-size: var(--type-body);
  font-weight: 700;
  line-height: 1.4;
}

.sam-sector-band.stance-strong > h3 { color: var(--profit); }
.sam-sector-band.stance-improving > h3,
.sam-sector-band.stance-waiting > h3 { color: var(--caution); }
.sam-sector-band.stance-weak > h3 { color: var(--risk); }

.sam-sector-list {
  min-width: 0;
}

.sam-sector-item {
  display: grid;
  grid-template-columns: minmax(120px, 0.38fr) minmax(240px, 1fr) minmax(132px, 0.45fr) minmax(152px, auto);
  align-items: center;
  gap: 16px;
  border-bottom: 1px solid var(--wire-soft);
  padding: 16px;
}

.sam-sector-item:last-child { border-bottom: 0; }

.sam-sector-name strong {
  display: block;
  color: var(--signal-ink);
  font-size: var(--type-body);
  line-height: 1.4;
}

.sam-sector-name span {
  display: block;
  margin-top: 4px;
  color: var(--signal-muted);
  font: 650 var(--type-meta)/1.3 "Ubuntu Mono", "Nimbus Mono PS", monospace;
}

.sam-sector-item > p,
.sam-setup-item > p,
.sam-lessons article > p {
  margin: 0;
  color: var(--signal-secondary);
  font-size: var(--type-body);
  line-height: 1.5;
  text-wrap: pretty;
}

.sam-symbol-list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
}

.sam-symbol-list .tradingview-symbol-link {
  min-height: 32px;
  color: var(--signal-secondary);
  font: 700 var(--type-meta)/1 "Ubuntu Mono", "Nimbus Mono PS", monospace;
}

.sam-item-source {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 12px;
}

.sam-item-source time,
.sam-item-source > span {
  color: var(--signal-muted);
  font: 600 var(--type-meta)/1.3 "Ubuntu Mono", "Nimbus Mono PS", monospace;
  font-variant-numeric: tabular-nums;
}

.sam-band-empty {
  margin: 0;
  color: var(--signal-muted);
  padding: 20px 16px;
  font-size: var(--type-body);
}

.sam-funnel {
  display: grid;
  gap: 12px;
}

.sam-funnel-lane {
  display: grid;
  grid-template-columns: 196px minmax(0, 1fr);
  border: 1px solid var(--wire);
  border-radius: var(--radius-panel);
  background: var(--terminal-raised);
}

.sam-funnel-lane > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-right: 1px solid var(--wire-soft);
  padding: 16px;
}

.sam-funnel-lane h3 {
  margin: 0;
  color: var(--signal-secondary);
  font-size: var(--type-body);
  line-height: 1.4;
}

.sam-funnel-lane > header > span {
  color: var(--signal-muted);
  font: 700 var(--type-meta)/1 "Ubuntu Mono", "Nimbus Mono PS", monospace;
  font-variant-numeric: tabular-nums;
}

.sam-funnel-lane.tier-buy_list { border-left: 2px solid var(--profit); }
.sam-funnel-lane.tier-conditional,
.sam-funnel-lane.tier-watch { border-left: 2px solid var(--caution); }
.sam-funnel-lane.tier-avoid_invalid { border-left: 2px solid var(--risk); }
.sam-funnel-lane.tier-buy_list h3 { color: var(--profit); }
.sam-funnel-lane.tier-conditional h3,
.sam-funnel-lane.tier-watch h3 { color: var(--caution); }
.sam-funnel-lane.tier-avoid_invalid h3 { color: var(--risk); }

.sam-funnel-items {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sam-setup-item {
  min-width: 0;
  border-right: 1px solid var(--wire-soft);
  border-bottom: 1px solid var(--wire-soft);
  padding: 16px;
}

.sam-setup-item:nth-child(even) { border-right: 0; }
.sam-setup-item:nth-last-child(-n + 2) { border-bottom: 0; }

.sam-setup-lead {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin-bottom: 8px;
}

.sam-setup-lead strong {
  color: var(--signal-ink);
  font: 700 var(--type-key)/1 "Ubuntu Mono", "Nimbus Mono PS", monospace;
}

.sam-setup-lead > span {
  color: var(--signal-muted);
  font: 650 var(--type-meta)/1.3 "Ubuntu Mono", "Nimbus Mono PS", monospace;
}

.sam-setup-item dl {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 8px;
  margin: 10px 0 0;
}

.sam-setup-item dt {
  color: var(--signal-muted);
  font-size: var(--type-meta);
  font-weight: 700;
}

.sam-setup-item dd {
  margin: 0;
  color: var(--signal-secondary);
  font-size: var(--type-body);
  line-height: 1.5;
}


.sam-setup-item .sam-item-source {
  margin-top: 12px;
}

.sam-lessons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--wire);
  border-bottom: 1px solid var(--wire);
}

.sam-lessons article {
  min-width: 0;
  border-right: 1px solid var(--wire-soft);
  border-bottom: 1px solid var(--wire-soft);
  padding: 20px;
}

.sam-lessons article:nth-child(even) { border-right: 0; }
.sam-lessons article:nth-last-child(-n + 2) { border-bottom: 0; }

.sam-lessons article > span {
  display: block;
  margin-bottom: 8px;
  color: var(--tape-blue);
  font-size: var(--type-body);
  font-weight: 700;
}

.sam-lessons .sam-item-source { margin-top: 12px; }

.sam-timeline-book {
  overflow: hidden;
  border: 1px solid var(--wire);
  border-radius: var(--radius-panel);
  background: var(--terminal-raised);
}

.sam-timeline-group {
  border-bottom: 1px solid var(--wire-soft);
}

.sam-timeline-group:last-child { border-bottom: 0; }

.sam-timeline-group > summary {
  min-height: 68px;
  display: grid;
  grid-template-columns: minmax(112px, 0.6fr) minmax(140px, 1fr) 152px 88px 16px;
  align-items: center;
  gap: 16px;
  padding: 12px 16px;
  cursor: pointer;
  list-style: none;
  transition: background-color 150ms ease-out;
}

.sam-timeline-group > summary::-webkit-details-marker { display: none; }
.sam-timeline-group > summary:hover { background: var(--tape-surface); }
.sam-timeline-group > summary strong {
  color: var(--signal-ink);
  font: 700 var(--type-key)/1 "Ubuntu Mono", "Nimbus Mono PS", monospace;
}

.sam-timeline-group > summary > span {
  color: var(--signal-secondary);
  font-size: var(--type-body);
  font-weight: 650;
}

.sam-timeline-group > summary time,
.sam-timeline-group > summary small {
  color: var(--signal-muted);
  font: 600 var(--type-meta)/1.3 "Ubuntu Mono", "Nimbus Mono PS", monospace;
  font-variant-numeric: tabular-nums;
}

.sam-timeline-group > summary > i {
  width: 8px;
  height: 8px;
  border-right: 1px solid var(--signal-muted);
  border-bottom: 1px solid var(--signal-muted);
  transform: rotate(45deg);
  transition: transform 150ms cubic-bezier(0.23, 1, 0.32, 1);
}

.sam-timeline-group[open] > summary > i { transform: rotate(225deg); }

.sam-timeline-group > ol {
  margin: 0;
  border-top: 1px solid var(--wire-soft);
  background: var(--tape-inset);
  padding: 0 16px;
  list-style: none;
}

.sam-timeline-group li {
  border-bottom: 1px solid var(--wire-soft);
  padding: 16px 0;
}

.sam-timeline-group li:last-child { border-bottom: 0; }

.sam-timeline-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
}

.sam-timeline-meta time,
.sam-timeline-meta span {
  color: var(--signal-muted);
  font: 600 var(--type-meta)/1.3 "Ubuntu Mono", "Nimbus Mono PS", monospace;
  font-variant-numeric: tabular-nums;
}

.sam-timeline-meta strong {
  color: var(--signal-secondary);
  font-size: var(--type-body);
}

.sam-timeline-group blockquote {
  margin: 12px 0 0;
  border-left: 2px solid var(--wire);
  color: var(--signal-secondary);
  padding-left: 12px;
  font-size: var(--type-body);
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.sam-condition,
.sam-invalidation,
.sam-reply {
  margin: 8px 0 0;
  color: var(--signal-tertiary);
  font-size: var(--type-body);
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.sam-invalidation { color: var(--risk); }
.sam-reply {
  border-left: 2px solid var(--wire);
  color: var(--signal-muted);
  padding-left: 12px;
  font-size: var(--type-meta);
}

.sam-timeline-group .sam-item-source { margin-top: 8px; }

.sam-empty {
  min-height: 112px;
  display: grid;
  align-content: center;
  border: 1px solid var(--wire);
  border-radius: var(--radius-panel);
  background: var(--terminal-raised);
  padding: 20px;
}

.sam-empty.state-loading { border-left: 2px solid var(--caution); }
.sam-empty strong { color: var(--signal-secondary); font-size: var(--type-body); }
.sam-empty p { margin: 8px 0 0; color: var(--signal-muted); font-size: var(--type-body); }

@media (max-width: 980px) {
  .sam-hero {
    grid-template-columns: 1fr;
  }

  .sam-hero-meta {
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

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

  .sam-momentum-node:nth-child(3) { border-left: 0; }
  .sam-momentum-node:nth-child(n + 3) { border-top: 1px solid var(--wire-soft); }

  .sam-sector-item {
    grid-template-columns: minmax(120px, 0.4fr) minmax(0, 1fr);
  }

  .sam-symbol-list,
  .sam-sector-item > .sam-item-source { grid-column: 2; }
}

@media (max-width: 840px) {
  .sam-regime-strip { grid-template-columns: 1fr; }

  .sam-regime-node {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--wire-soft);
    padding: 16px;
  }

  .sam-regime-node:last-child { border-bottom: 0; }

  .sam-regime-node:not(:last-child)::after {
    top: auto;
    right: 20px;
    bottom: -5px;
    transform: rotate(135deg);
  }

  .sam-operation-book {
    overflow: visible;
    border: 0;
    background: transparent;
  }

  .sam-operation-book table,
  .sam-operation-book tbody,
  .sam-operation-book tr,
  .sam-operation-book td { display: block; width: 100%; }
  .sam-operation-book thead { display: none; }

  .sam-operation-book tr {
    overflow: hidden;
    margin-bottom: 12px;
    border: 1px solid var(--wire);
    border-radius: var(--radius-panel);
    background: var(--terminal-raised);
  }

  .sam-operation-book td {
    min-height: 48px;
    display: grid;
    grid-template-columns: 140px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    border-top: 1px solid var(--wire-soft);
    padding: 10px 12px;
  }

  .sam-operation-book td:first-child { border-top: 0; }
  .sam-operation-book td::before {
    content: attr(data-label);
    color: var(--signal-muted);
    font: 700 var(--type-meta)/1.3 "Ubuntu Mono", "Nimbus Mono PS", monospace;
  }

  .sam-source-cell time { display: inline; }

  .sam-sector-band,
  .sam-funnel-lane { grid-template-columns: 1fr; }
  .sam-sector-band > h3,
  .sam-funnel-lane > header {
    border-right: 0;
    border-bottom: 1px solid var(--wire-soft);
  }

  .sam-timeline-group > summary {
    grid-template-columns: minmax(92px, 0.6fr) minmax(0, 1fr) 16px;
    gap: 8px 12px;
  }

  .sam-timeline-group > summary time,
  .sam-timeline-group > summary small { grid-row: 2; }
  .sam-timeline-group > summary > i { grid-column: 3; grid-row: 1 / span 2; }
}

@media (max-width: 600px) {
  .sam-main { padding-top: 0; padding-bottom: 64px; }

  .sam-hero {
    padding-top: 32px;
  }

  .sam-hero h1 {
    font-size: var(--type-display);
    line-height: 1.18;
  }

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

  .sam-regime,
  .sam-momentum,
  .sam-section { margin-top: 48px; }

  .sam-section-heading {
    display: block;
    margin-bottom: 16px;
  }

  .sam-section-heading > p {
    margin-top: 12px;
    text-align: left;
  }

  .sam-momentum-path { grid-template-columns: 1fr; }
  .sam-momentum-node {
    min-height: auto;
    border-left: 0 !important;
    border-top: 1px solid var(--wire-soft);
    padding: 16px 28px 16px 0;
  }
  .sam-momentum-node:first-child { border-top: 0; }

  .sam-operation-book td {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .sam-sector-item {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .sam-symbol-list,
  .sam-sector-item > .sam-item-source { grid-column: 1; }

  .sam-funnel-items,
  .sam-lessons { grid-template-columns: 1fr; }
  .sam-setup-item,
  .sam-lessons article {
    border-right: 0;
    border-bottom: 1px solid var(--wire-soft);
  }
  .sam-setup-item:last-child,
  .sam-lessons article:last-child { border-bottom: 0; }

  .sam-timeline-group > summary {
    grid-template-columns: minmax(0, 1fr) 16px;
  }
  .sam-timeline-group > summary > span,
  .sam-timeline-group > summary time,
  .sam-timeline-group > summary small { grid-column: 1; }
  .sam-timeline-group > summary > i { grid-column: 2; grid-row: 1 / span 4; }
  .sam-timeline-group > ol { padding: 0 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .sam-regime-node a,
  .sam-momentum-node a,
  .sam-item-source a,
  .sam-source-cell a,
  .sam-timeline-group > summary,
  .sam-timeline-group > summary > i { transition-duration: 0.01ms; }
}
