:root {
  color-scheme: dark;
  --bg: #08090a;
  --bg-soft: #0f1011;
  --panel: rgba(255, 255, 255, 0.035);
  --panel-strong: rgba(255, 255, 255, 0.055);
  --surface: #191a1b;
  --border: rgba(255, 255, 255, 0.08);
  --border-soft: rgba(255, 255, 255, 0.05);
  --text: #f7f8f8;
  --text-soft: #d0d6e0;
  --muted: #8a8f98;
  --faint: #62666d;
  --accent: #7170ff;
  --accent-strong: #8b8cff;
  --buy: #22c55e;
  --overweight: #84cc16;
  --hold: #f59e0b;
  --underweight: #f97316;
  --sell: #ef4444;
  --danger: #fb7185;
  --shadow: 0 24px 70px rgba(0, 0, 0, 0.32);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-feature-settings: "cv01", "ss03";
  background: radial-gradient(circle at 15% -10%, rgba(113, 112, 255, 0.24), transparent 34rem), var(--bg);
  color: var(--text);
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,0.022) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.018) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.8), transparent 70%);
}
.page {
  position: relative;
  max-width: 1480px;
  margin: 0 auto;
  padding: 32px 24px 80px;
}
.stock-workspace { max-width: 1440px; }

.hero, .panel, .meta-card, .decision-card, .stock-hero-card {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 22px;
  box-shadow: var(--shadow), inset 0 1px 0 rgba(255,255,255,0.04);
  backdrop-filter: blur(18px);
}
.hero {
  display: flex;
  justify-content: space-between;
  gap: 28px;
  padding: 32px;
  margin-bottom: 24px;
}
.hero h1, .stock-hero-card h1 {
  margin: 0;
  font-size: clamp(34px, 5vw, 64px);
  line-height: 0.98;
  letter-spacing: -1.25px;
  font-weight: 590;
}
.eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--accent-strong);
  font-size: 11px;
  font-weight: 590;
  margin: 0 0 10px;
}
.lede {
  color: var(--text-soft);
  line-height: 1.65;
  max-width: 900px;
  font-size: 16px;
}
.meta-card, .meta-list { min-width: 340px; }
.meta-card { padding: 20px 22px; }
.meta-card div, .meta-list div, .metric-list div, .chart-stats div { margin-bottom: 14px; }
.meta-card dt, .meta-list dt, .metric-list dt, .chart-stats dt {
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  margin-bottom: 5px;
  font-weight: 590;
}
.meta-card dd, .meta-list dd, .metric-list dd, .chart-stats dd {
  margin: 0;
  color: var(--text);
  word-break: break-word;
}
.panel {
  padding: 22px;
  margin-bottom: 24px;
}
.panel-header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}
.panel-header.split { align-items: center; }
.panel-header h2 {
  margin: 0;
  letter-spacing: -0.45px;
  font-size: 24px;
  font-weight: 590;
}
.panel-header p {
  margin: 5px 0 0;
  color: var(--muted);
  line-height: 1.55;
}
.table-wrap {
  overflow-x: auto;
  border: 1px solid var(--border-soft);
  border-radius: 16px;
}
table {
  width: 100%;
  border-collapse: collapse;
  background: rgba(0,0,0,0.12);
}
th, td {
  text-align: left;
  padding: 15px 14px;
  border-bottom: 1px solid var(--border-soft);
  vertical-align: top;
}
th {
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 590;
}
tr:hover td { background: rgba(255,255,255,0.025); }
.summary {
  max-width: 560px;
  color: var(--text-soft);
  line-height: 1.55;
}
.pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 590;
  border: 1px solid var(--border-soft);
  background: rgba(255,255,255,0.035);
  color: var(--text-soft);
}
.pill-buy { background: rgba(34, 197, 94, 0.13); color: var(--buy); }
.pill-overweight { background: rgba(132, 204, 22, 0.13); color: var(--overweight); }
.pill-hold { background: rgba(245, 158, 11, 0.13); color: var(--hold); }
.pill-underweight { background: rgba(249, 115, 22, 0.13); color: var(--underweight); }
.pill-sell { background: rgba(239, 68, 68, 0.13); color: var(--sell); }
.rating-badge { font-size: 14px; padding: 9px 14px; }
.link-button, .breadcrumbs a, button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: white;
  background: linear-gradient(180deg, #7a7cff, #5e6ad2);
  border: 1px solid rgba(255,255,255,0.11);
  text-decoration: none;
  padding: 9px 14px;
  border-radius: 10px;
  font-weight: 590;
  cursor: pointer;
  box-shadow: 0 10px 28px rgba(94, 106, 210, 0.24);
}
.link-button.secondary, .link-button.ghost {
  background: rgba(255,255,255,0.04);
  color: var(--text-soft);
  box-shadow: none;
}
.link-button.ghost { color: var(--muted); }
.breadcrumbs, .top-nav { margin-bottom: 20px; }
.top-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.empty, .muted { text-align: center; color: var(--muted); }
.filter-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 14px;
  align-items: end;
}
.filter-grid label {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 590;
  letter-spacing: 0.04em;
}
.filter-grid input, .filter-grid select {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 11px;
  background: rgba(255,255,255,0.03);
  color: var(--text);
  padding: 11px 12px;
  outline: none;
}
.filter-grid input:focus, .filter-grid select:focus {
  border-color: rgba(113,112,255,0.7);
  box-shadow: 0 0 0 4px rgba(113,112,255,0.14);
}
.filter-grid .checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
}
.filter-grid .checkbox input { width: auto; }
.pill.source { background: rgba(113,112,255,0.13); color: var(--accent-strong); margin-right: 4px; }
.mono {
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 12px;
  color: #b9c0cf;
}
.toc { display: flex; flex-wrap: wrap; gap: 10px; }
.toc a {
  color: var(--text-soft);
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 8px 12px;
  text-decoration: none;
}
.toc a:hover { color: var(--text); border-color: rgba(113,112,255,0.6); }
.report-section summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  color: var(--text);
}
.report-section summary h2 { display: inline; margin: 0; }
.report-section summary span {
  color: var(--muted);
  font-size: 12px;
  border: 1px solid var(--border-soft);
  border-radius: 999px;
  padding: 5px 10px;
  background: rgba(255,255,255,0.025);
}
.report-body {
  white-space: pre-wrap;
  word-break: break-word;
  line-height: 1.78;
  color: #d9deea;
  font-size: 15px;
}
.report-body.markdown-body {
  white-space: normal;
  overflow-wrap: anywhere;
}
.report-body.markdown-body h1,
.report-body.markdown-body h2,
.report-body.markdown-body h3,
.report-body.markdown-body h4 {
  margin: 1.05em 0 0.45em;
  color: var(--text);
  letter-spacing: -0.02em;
  line-height: 1.25;
}
.report-body.markdown-body h1:first-child,
.report-body.markdown-body h2:first-child,
.report-body.markdown-body h3:first-child,
.report-body.markdown-body h4:first-child { margin-top: 0; }
.report-body.markdown-body h1 { font-size: 1.45rem; }
.report-body.markdown-body h2 { font-size: 1.28rem; }
.report-body.markdown-body h3 { font-size: 1.12rem; }
.report-body.markdown-body p { margin: 0.75em 0; }
.report-body.markdown-body ul,
.report-body.markdown-body ol {
  margin: 0.7em 0 0.9em;
  padding-left: 1.25rem;
}
.report-body.markdown-body li { margin: 0.42em 0; }
.report-body.markdown-body strong { color: var(--text); font-weight: 720; }
.report-body.markdown-body em { color: var(--text-soft); }
.report-body.markdown-body code {
  padding: 0.12em 0.38em;
  border: 1px solid var(--border-soft);
  border-radius: 7px;
  background: rgba(255,255,255,0.06);
  color: #e7e9ff;
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.92em;
}
.meta-card.wide { width: 100%; }
.grid.two-col, .insight-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.snippet-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 16px;
}
.snippet-list p, .insight-card p {
  margin: 8px 0 0;
  color: var(--text-soft);
  line-height: 1.65;
}
.insight-card h2 { margin: 0; letter-spacing: -0.35px; }
.priority-card {
  border-color: rgba(34, 197, 94, 0.24);
  background: linear-gradient(180deg, rgba(34, 197, 94, 0.08), rgba(255,255,255,0.035));
}
.compact-navigator {
  padding-bottom: 18px;
}
.markdown-panel pre {
  white-space: pre-wrap;
  word-break: break-word;
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  line-height: 1.6;
  margin: 0;
  color: #d9deea;
}

.detail-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(320px, 0.8fr);
  gap: 24px;
  margin-bottom: 24px;
}
.stock-hero-card, .decision-card { padding: 30px; }
.stock-title-row {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 20px;
}
.stock-title-row p { color: var(--muted); margin: 10px 0 0; }
.ticker-code {
  color: var(--text-soft);
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.94em;
}
.hero-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 22px; }
.metric-list, .chart-stats { margin: 0; }
.trade-plan-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.85fr);
  gap: 24px;
  margin-bottom: 24px;
}
.trade-plan-card {
  margin-bottom: 0;
  border-color: rgba(113,112,255,0.20);
}
.trade-plan-card.primary {
  background: radial-gradient(circle at 12% 0%, rgba(113,112,255,0.15), transparent 25rem), rgba(255,255,255,0.038);
}
.trade-plan-card.reanalysis[data-required="true"] {
  border-color: rgba(245,158,11,0.30);
  background: linear-gradient(180deg, rgba(245,158,11,0.095), rgba(255,255,255,0.032));
}
.trade-plan-card.reanalysis[data-required="false"] {
  border-color: rgba(34,197,94,0.24);
  background: linear-gradient(180deg, rgba(34,197,94,0.08), rgba(255,255,255,0.032));
}
.trade-plan-levels {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}
.trade-plan-levels div,
.mini-meta div {
  padding: 14px 15px;
  border: 1px solid var(--border-soft);
  border-radius: 16px;
  background: rgba(255,255,255,0.027);
}
.trade-plan-levels span,
.mini-meta dt {
  display: block;
  color: var(--muted);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.trade-plan-levels strong,
.mini-meta dd {
  color: var(--text);
  font-size: 18px;
  font-weight: 650;
  margin: 0;
}
.trade-plan-reason {
  color: var(--text-soft);
  line-height: 1.65;
  margin: 16px 0 0;
}
.trigger-list,
.avoid-condition-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}
.trigger-list li,
.avoid-condition-list li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 14px;
  border: 1px solid var(--border-soft);
  border-radius: 14px;
  background: rgba(255,255,255,0.027);
}
.trigger-list strong { color: var(--text); }
.trigger-list span { color: var(--muted); font-size: 12px; }
.mini-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0 0;
}
.market-panel { overflow: hidden; }
.price-ticker {
  min-width: 210px;
  padding: 16px 18px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: rgba(255,255,255,0.035);
  text-align: right;
}
.price-ticker span { display: block; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .12em; }
.price-ticker strong { display: block; font-size: 30px; letter-spacing: -0.8px; margin: 4px 0; }
.price-ticker em { font-style: normal; font-size: 13px; }
.price-ticker.positive em { color: var(--buy); }
.price-ticker.negative em { color: var(--danger); }
.chart-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 20px;
  align-items: stretch;
}
.chart-card {
  padding: 18px;
  border: 1px solid var(--border-soft);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.015));
}
.chart-grid.professional {
  grid-template-columns: minmax(0, 1fr) 220px;
}
.chart-toolbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 12px;
  margin: -4px 0 14px;
  border: 1px solid var(--border-soft);
  border-radius: 14px;
  background: rgba(255,255,255,0.026);
  color: var(--muted);
  font-size: 12px;
}
.toolbar-label {
  color: var(--text-soft);
  font-weight: 650;
  padding-right: 6px;
}
.toolbar-spacer { flex: 1 1 auto; }
.chart-license { color: var(--faint); }
.legend-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  display: inline-block;
  box-shadow: 0 0 16px currentColor;
}
.legend-dot.ma5 { color: #facc15; background: #facc15; }
.legend-dot.ma20 { color: #60a5fa; background: #60a5fa; }
.legend-dot.ma60 { color: #c084fc; background: #c084fc; }
.professional-chart-card {
  min-height: 500px;
  position: relative;
  background: radial-gradient(circle at 50% 0%, rgba(113,112,255,0.10), transparent 24rem), #0b0d10;
}
.trading-chart {
  width: 100%;
  height: 430px;
  min-height: 360px;
}
.trading-chart[data-chart-state="fallback"] {
  display: none;
}
.chart-fallback.is-hidden { display: none; }
.chart-fallback {
  margin-top: 12px;
}
.price-chart {
  display: block;
  width: 100%;
  height: min(320px, 32vw);
  min-height: 220px;
}
.chart-range {
  display: flex;
  justify-content: space-between;
  color: var(--faint);
  font-size: 12px;
  margin-top: 10px;
}
.chart-stats {
  display: grid;
  gap: 10px;
}
.chart-stats div {
  padding: 16px;
  border: 1px solid var(--border-soft);
  border-radius: 16px;
  background: rgba(255,255,255,0.025);
  margin: 0;
}
.chart-stats dd { font-size: 20px; font-weight: 590; letter-spacing: -0.3px; }
.empty-state {
  padding: 28px;
  border: 1px dashed var(--border);
  border-radius: 18px;
  color: var(--muted);
  background: rgba(255,255,255,0.02);
}
.empty-state strong { display: block; color: var(--text); margin-bottom: 6px; }
.final-decision-card {
  border-color: rgba(113,112,255,0.28);
  background: linear-gradient(180deg, rgba(113,112,255,0.10), rgba(255,255,255,0.035));
}
.structured-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 18px;
  margin-bottom: 24px;
}
.structured-status span {
  color: var(--muted);
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.structured-status strong { font-weight: 620; }
.structured-status.verified {
  border-color: rgba(34, 197, 94, 0.28);
  background: linear-gradient(90deg, rgba(34,197,94,0.13), rgba(255,255,255,0.035));
}
.structured-status.failed {
  border-color: rgba(245, 158, 11, 0.32);
  background: linear-gradient(90deg, rgba(245,158,11,0.12), rgba(255,255,255,0.035));
}
.structured-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 24px;
}
.structured-card { margin-bottom: 0; min-height: 190px; }
.structured-card h2 { margin: 0 0 12px; font-size: 28px; letter-spacing: -0.45px; }
.structured-card p:last-child { color: var(--text-soft); line-height: 1.62; margin: 0; }
.structured-card[data-tone="positive"], .factor-list li[data-tone="positive"] { border-color: rgba(34,197,94,0.30); background: rgba(34,197,94,0.075); }
.structured-card[data-tone="negative"], .factor-list li[data-tone="negative"] { border-color: rgba(239,68,68,0.30); background: rgba(239,68,68,0.075); }
.structured-card[data-tone="warning"], .factor-list li[data-tone="warning"] { border-color: rgba(245,158,11,0.34); background: rgba(245,158,11,0.075); }
.structured-card[data-tone="mixed"], .factor-list li[data-tone="mixed"] { border-color: rgba(192,132,252,0.30); background: rgba(192,132,252,0.075); }
.structured-summary {
  border-color: rgba(113,112,255,0.30);
  background: radial-gradient(circle at 10% 0%, rgba(113,112,255,0.16), transparent 28rem), rgba(255,255,255,0.035);
}
.structured-factor-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-bottom: 24px;
}
.factor-panel { margin-bottom: 0; }
.factor-list, .section-bullets {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 12px;
}
.factor-list li, .section-bullets li {
  border: 1px solid var(--border-soft);
  border-radius: 15px;
  padding: 14px 15px;
  color: var(--text-soft);
  line-height: 1.6;
  background: rgba(255,255,255,0.025);
}
.factor-list span { display: block; }
.factor-list em, .section-bullets em, .action-strategy small {
  display: block;
  margin-top: 8px;
  color: var(--faint);
  font-size: 12px;
  font-style: normal;
}
.section-bullets { margin-bottom: 18px; }
.section-bullets li[data-tone="positive"] { border-left: 3px solid var(--buy); }
.section-bullets li[data-tone="warning"] { border-left: 3px solid var(--hold); }
.section-bullets li[data-tone="negative"] { border-left: 3px solid var(--sell); }
.section-bullets li[data-tone="mixed"] { border-left: 3px solid #c084fc; }
.action-strategy {
  border-color: rgba(96,165,250,0.28);
  background: linear-gradient(180deg, rgba(96,165,250,0.09), rgba(255,255,255,0.035));
}
.action-strategy p { margin: 0; color: var(--text-soft); line-height: 1.7; }
.tone-positive { background: rgba(34,197,94,0.13); color: var(--buy); }
.tone-negative { background: rgba(239,68,68,0.13); color: var(--sell); }
.tone-warning { background: rgba(245,158,11,0.13); color: var(--hold); }
.tone-info { background: rgba(96,165,250,0.13); color: #60a5fa; }
.tone-neutral { background: rgba(255,255,255,0.06); color: var(--text-soft); }
.tone-mixed { background: rgba(192,132,252,0.13); color: #c084fc; }
.agent-analysis {
  padding: 28px;
}
.agent-analysis .panel-header {
  gap: 18px;
  align-items: flex-start;
}
.toc.compact {
  justify-content: flex-end;
  max-width: 760px;
}
.agent-section-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 22px;
}
.agent-section-card {
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 22px;
  background: rgba(255,255,255,0.035);
  overflow: hidden;
}
.agent-section-summary {
  padding: 20px 20px 16px;
}
.agent-section-summary h3 {
  margin: 0 0 10px;
  color: var(--text);
  letter-spacing: -0.25px;
}
.agent-section-summary p {
  margin: 0;
  color: var(--text-soft);
  line-height: 1.62;
}
.agent-detail {
  border-top: 1px solid rgba(255,255,255,0.07);
}
.agent-detail summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  padding: 13px 20px;
  color: var(--accent-strong);
  font-weight: 700;
  list-style: none;
}
.agent-detail summary::-webkit-details-marker { display: none; }
.agent-detail summary::after {
  content: "+";
  color: var(--muted);
  font-size: 18px;
}
.agent-detail[open] summary::after { content: "−"; }
.agent-detail .report-body {
  padding: 0 20px 22px;
  border-top: 1px solid rgba(255,255,255,0.045);
}

@media (max-width: 1100px) {
  .detail-shell, .chart-grid, .trade-plan-grid { grid-template-columns: 1fr; }
  .trade-plan-levels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .price-ticker { text-align: left; }
}
@media (max-width: 960px) {
  .hero { flex-direction: column; }
  .grid.two-col, .insight-grid, .structured-factor-layout, .agent-section-grid { grid-template-columns: 1fr; }
  .structured-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .meta-card, .meta-list { min-width: 0; }
  .panel-header, .stock-title-row, .top-nav { flex-direction: column; align-items: stretch; }
}
@media (max-width: 640px) {
  .page { padding: 14px 10px 48px; }
  .stock-workspace { font-size: 16px; }
  .hero, .panel, .stock-hero-card, .decision-card { border-radius: 16px; padding: 16px; }
  .stock-workspace .agent-analysis { padding: 16px 12px; }
  .stock-hero-card h1 { font-size: clamp(30px, 10vw, 40px); line-height: 1.08; letter-spacing: -0.8px; }
  .lede, .summary, .agent-section-summary p, .report-body { font-size: 16px; line-height: 1.72; }
  .panel-header h2 { font-size: 21px; line-height: 1.25; }
  .eyebrow { font-size: 10px; letter-spacing: 0.11em; }
  .top-nav > div, .hero-actions { display: grid; grid-template-columns: 1fr; gap: 8px; }
  .top-nav .mono { display: none; }
  .link-button, .breadcrumbs a, button { width: 100%; min-height: 44px; padding: 11px 14px; }
  .toc.compact { justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 6px; max-width: 100%; }
  .toc.compact a { flex: 0 0 auto; }
  .structured-card-grid { grid-template-columns: 1fr; }
  .trade-plan-levels, .mini-meta { grid-template-columns: 1fr; }
  .structured-status { flex-direction: column; align-items: flex-start; }
  .chart-toolbar { overflow-x: auto; flex-wrap: nowrap; }
  .professional-chart-card { min-height: 390px; padding: 12px; }
  .trading-chart { height: 330px; min-height: 300px; }
  .price-ticker { width: 100%; min-width: 0; text-align: left; }
  .agent-section-summary { padding: 16px; }
  .agent-detail summary { min-height: 46px; padding: 13px 16px; }
  .agent-detail .report-body { padding: 14px 16px 18px; }
  .report-body.markdown-body ul, .report-body.markdown-body ol { padding-left: 1.1rem; }
  th, td { padding: 12px 10px; }
}

/* Commercial dashboard home surface */
.service-dashboard {
  max-width: 1520px;
}
.service-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(320px, 0.75fr);
  gap: 22px;
  margin-bottom: 22px;
}
.service-hero-main,
.service-status-card,
.kpi-card,
.premium-panel {
  border: 1px solid rgba(255, 255, 255, 0.09);
  background: linear-gradient(145deg, rgba(255,255,255,0.075), rgba(255,255,255,0.028));
  border-radius: 28px;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255,255,255,0.055);
  backdrop-filter: blur(22px);
}
.service-hero-main {
  overflow: hidden;
  padding: 38px;
}
.service-hero-main::after {
  content: "";
  position: absolute;
  width: 520px;
  height: 520px;
  top: -260px;
  right: 240px;
  background: radial-gradient(circle, rgba(113, 50, 245, 0.34), transparent 64%);
  pointer-events: none;
}
.topline {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 999px;
  color: var(--text-soft);
  background: rgba(255,255,255,0.035);
  margin-bottom: 20px;
}
.brand-mark {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 9px;
  color: white;
  font-weight: 760;
  background: linear-gradient(135deg, #7132f5, #8b8cff);
}
.service-hero h1 {
  position: relative;
  max-width: 900px;
  margin: 0;
  font-size: clamp(38px, 5vw, 72px);
  line-height: 0.98;
  letter-spacing: -2.1px;
  font-weight: 720;
}
.hero-facts {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  max-width: 820px;
  margin-top: 26px;
}
.hero-facts div {
  padding: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 18px;
  background: rgba(0,0,0,0.18);
}
.hero-facts span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.hero-facts strong {
  display: block;
  margin-top: 8px;
  color: var(--text);
  font-size: clamp(22px, 2.4vw, 34px);
  letter-spacing: -0.8px;
}
.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}
.service-status-card {
  padding: 26px;
  align-self: stretch;
}
.status-header {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 18px;
  color: var(--text);
  font-weight: 680;
}
.live-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #22c55e;
  box-shadow: 0 0 0 7px rgba(34,197,94,0.12), 0 0 22px rgba(34,197,94,0.45);
}
.service-status-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin: 0 0 18px;
}
.service-status-grid div,
.ops-list div {
  padding: 14px;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 16px;
  background: rgba(0,0,0,0.16);
}
.service-status-grid dt,
.ops-list dt,
.kpi-label {
  color: var(--muted);
  font-size: 11px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  font-weight: 700;
}
.service-status-grid dd,
.ops-list dd {
  margin: 5px 0 0;
  color: var(--text);
  line-height: 1.45;
}
.muted-left,
.muted-inline {
  color: var(--muted);
}
.muted-left { margin: 0; line-height: 1.5; word-break: break-word; }
.kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 22px;
}
.kpi-card {
  position: relative;
  overflow: hidden;
  padding: 22px;
  min-height: 150px;
}
.kpi-card::before {
  content: "";
  position: absolute;
  inset: auto -40px -70px auto;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  opacity: 0.28;
}
.kpi-card strong {
  display: block;
  margin-top: 15px;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1;
  letter-spacing: -1px;
}
.kpi-card p {
  margin: 10px 0 0;
  color: var(--text-soft);
  line-height: 1.5;
}
.accent-purple::before { background: #7132f5; }
.accent-green::before { background: #22c55e; }
.accent-blue::before { background: #38bdf8; }
.accent-amber::before { background: #f59e0b; }
.insight-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(320px, 0.7fr);
  gap: 22px;
}
.premium-panel {
  padding: 24px;
}
.decision-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}
.decision-chip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.07);
  background: rgba(0,0,0,0.15);
}
.decision-chip strong { font-size: 26px; }
.run-card-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
}
.run-card {
  display: grid;
  gap: 12px;
  min-height: 170px;
  padding: 17px;
  border: 1px solid rgba(255,255,255,0.075);
  border-radius: 20px;
  color: inherit;
  text-decoration: none;
  background: linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.025));
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}
.run-card:hover {
  transform: translateY(-2px);
  border-color: rgba(113,112,255,0.52);
  background: linear-gradient(180deg, rgba(113,112,255,0.12), rgba(255,255,255,0.03));
}
.run-card div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.run-card p {
  margin: 0;
  color: var(--text-soft);
  line-height: 1.55;
}
.run-card small {
  color: var(--muted);
}
.ticker-symbol {
  font-weight: 760;
  letter-spacing: -0.02em;
}
.ops-list {
  display: grid;
  gap: 12px;
  margin: 0;
}
.ops-list dd span {
  display: inline-flex;
  margin: 4px 6px 0 0;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(113,112,255,0.12);
  color: var(--accent-strong);
}
.command-grid {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}
.premium-table {
  border-color: rgba(255,255,255,0.075);
  background: rgba(0,0,0,0.12);
}
.premium-table table {
  background: transparent;
}
.premium-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: rgba(10, 12, 20, 0.92);
}
.premium-table td {
  border-bottom-color: rgba(255,255,255,0.055);
}
.pill.verified {
  background: rgba(34,197,94,0.13);
  color: #4ade80;
}
.status-queued { color: #93c5fd; background: rgba(59,130,246,0.14); }
.status-running { color: #fbbf24; background: rgba(245,158,11,0.14); }
.status-completed { color: #4ade80; background: rgba(34,197,94,0.14); }
.status-failed { color: #fb7185; background: rgba(251,113,133,0.14); }
.compact { padding: 18px; }
@media (max-width: 1100px) {
  .service-hero,
  .insight-grid {
    grid-template-columns: 1fr;
  }
  .kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .service-dashboard { padding: 18px 14px 56px; }
  .service-hero-main,
  .service-status-card,
  .premium-panel,
  .kpi-card { border-radius: 20px; padding: 18px; }
  .kpi-grid { grid-template-columns: 1fr; }
  .hero-facts { grid-template-columns: 1fr; }
  .service-status-grid { grid-template-columns: 1fr; }
  .hero-actions { flex-direction: column; align-items: stretch; }
}


.backtest-panel {
  display: grid;
  gap: 18px;
}
.backtest-levels {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 12px;
}
.backtest-levels div {
  padding: 14px;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  background: rgba(255,255,255,0.035);
}
.backtest-levels span,
.backtest-table small,
.trade-log em,
.backtest-disclaimer {
  color: var(--text-soft);
}
.backtest-levels span {
  display: block;
  font-size: 12px;
  margin-bottom: 6px;
}
.backtest-levels strong {
  font-size: 18px;
}
.backtest-table-wrap {
  overflow-x: auto;
  border: 1px solid rgba(255,255,255,0.075);
  border-radius: 18px;
}
.backtest-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 720px;
}
.backtest-table th,
.backtest-table td {
  padding: 13px 14px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  text-align: left;
}
.backtest-table th {
  color: var(--text-soft);
  font-size: 12px;
  font-weight: 700;
}
.backtest-table small {
  display: block;
  margin-top: 4px;
  font-size: 11px;
}
.trade-log {
  display: grid;
  gap: 10px;
}
.trade-log h3 {
  margin: 0;
  font-size: 15px;
}
.trade-log ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.trade-log li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(0,0,0,0.16);
}
.backtest-disclaimer {
  margin: 0;
  font-size: 12px;
  line-height: 1.6;
}
.positive { color: #4ade80; }
.negative { color: #fb7185; }
@media (max-width: 720px) {
  .trade-log li {
    grid-template-columns: 1fr;
  }
}


.scorecard-panel {
  margin: 22px 0;
}
.scorecard-summary {
  color: var(--text-soft);
  line-height: 1.65;
  margin: 0 0 18px;
}
.scorecard-hero-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}
.scorecard-hero-grid div,
.factor-score-card,
.scorecard-evidence-grid article {
  border: 1px solid var(--border-soft);
  background: rgba(255,255,255,0.035);
  border-radius: 18px;
  padding: 16px;
}
.scorecard-hero-grid span,
.factor-score-card small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  margin-bottom: 8px;
}
.scorecard-hero-grid strong {
  font-size: 34px;
  letter-spacing: -0.04em;
}
.scorecard-hero-grid em {
  display: block;
  color: var(--text-soft);
  font-style: normal;
  margin-top: 4px;
}
.factor-score-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.factor-score-card.tone-positive { border-color: rgba(34,197,94,0.28); }
.factor-score-card.tone-negative { border-color: rgba(239,68,68,0.28); }
.factor-score-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
  margin-bottom: 8px;
}
.factor-score-head span { color: var(--text); font-weight: 650; }
.factor-score-head strong { font-size: 22px; }
.factor-score-card p {
  color: var(--text-soft);
  margin: 0 0 10px;
  line-height: 1.5;
}
.factor-score-card ul,
.scorecard-evidence-grid ol {
  margin: 12px 0 0;
  padding-left: 18px;
  color: var(--text-soft);
}
.scorecard-evidence-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}
.scorecard-evidence-grid h3 {
  margin: 0 0 10px;
  font-size: 15px;
}
.scorecard-evidence-grid li { margin-bottom: 10px; }
.scorecard-evidence-grid li span {
  display: block;
  color: var(--muted);
  margin-top: 4px;
  line-height: 1.45;
}
@media (max-width: 1080px) {
  .factor-score-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .scorecard-evidence-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .scorecard-hero-grid, .factor-score-list { grid-template-columns: 1fr; }
}
