:root {
  color-scheme: dark;
  --bg: #0a0e15;
  --surface: #0e141d;
  --surface-hi: #121b27;
  --border: #24303e;
  --border-soft: #1a2532;
  --text: #edf2f8;
  --muted: #8d9caf;
  --faint: #657488;
  --green: #31c5a3;
  --red: #ec7785;
  --accent: #f1b765;
  --cyan: #73b4f8;
}
* {box-sizing: border-box}
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  -webkit-font-smoothing: antialiased;
}
button { font: inherit; cursor: pointer; }
button:focus-visible {outline: 2px solid var(--accent); outline-offset: 2px}
.app {max-width: 1540px; margin: 0 auto; padding: 0 24px 16px; }
.masthead {min-height: 72px; display: flex; justify-content: space-between; align-items: center; gap: 20px; border-bottom: 1px solid var(--border-soft); margin-bottom: 18px;}
.identity {display:flex; align-items: center; gap: 11px; min-width: 0;}
.eth-symbol {display:grid; place-items:center; flex:none; width:38px; height:38px; border:1px solid #2b3d54; background:#121e30; border-radius: 9px;}
.identity-title {font-size: 16px; line-height: 1.1; font-weight: 750; letter-spacing: .035em; white-space: nowrap;}
.slash {color: var(--faint); padding: 0 2px; font-weight: 400}
.identity-subtitle {font-size: 11.5px; color: var(--muted); margin-top: 6px;}
.dot {color: var(--faint); margin: 0 4px;}
.system-state {display:flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 12px; letter-spacing: .065em; font-weight: 650; font-size: 10px;}
.state-item {display:flex; align-items:center; gap:7px; white-space: nowrap;}
.state-item.muted {color: var(--muted);}
.state-item strong {color: #d5e0ed; font-weight: 700;}
.state-divider {height: 15px; width:1px; background: var(--border);}
.state-dot {width: 7px; height:7px; border-radius: 50%; background:var(--accent); display:inline-block; box-shadow:0 0 0 3px #f1b76518;}
.quote-strip {border: 1px solid var(--border); border-radius: 10px; background: var(--surface); display:grid; grid-template-columns: minmax(235px, 1.65fr) 1fr 1fr .85fr .85fr; overflow:hidden; margin-bottom: 24px;}
.quote-cell {padding: 14px 18px; min-width: 0; display:flex; flex-direction:column; justify-content:center; gap:6px; border-right:1px solid var(--border-soft); min-height:80px;}
.quote-cell:last-child {border-right:0}
.metric-label {font-size:10px; letter-spacing:.10em; color:var(--muted); font-weight:700; white-space:nowrap}
.mock-label {font-size:9px; letter-spacing:.07em; font-weight:700; color:#d3aa69; border:1px solid #6b4c2a; padding:2px 5px; border-radius:4px; margin-left:5px;}
.metric-primary {display:flex; align-items: baseline; gap:14px; flex-wrap:wrap;}
#last-price {font-size: 29px; font-weight:750; letter-spacing:-.035em; font-variant-numeric: tabular-nums;}
.quote-change {font-size: 12px; font-weight:700; color:var(--green)}
.quote-change.down {color:var(--red)}
.metric-value {font-size:17px; font-weight:680; letter-spacing:-.01em; font-variant-numeric: tabular-nums; white-space:nowrap}
.metric-divider {color: var(--faint); padding: 0 5px}
.sync-indicator {font-size:12px; letter-spacing:.055em; display:flex; gap:8px; align-items:center;}
.sync-dot {width:7px; height:7px; border-radius:50%; background:var(--cyan);}
.market-section {min-width:0}
.section-bar {display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:12px; min-height:39px;}
.section-intro {display:flex; align-items:baseline; gap:14px; min-width:0;}
h1 {margin:0; font-size:15px; font-weight:740; white-space:nowrap;}
.section-note {font-size:11px; color:var(--muted); white-space:nowrap}
.chart-actions {display:flex; align-items:center; justify-content:flex-end; gap:7px; flex-wrap:wrap;}
.segmented {display:flex; align-items:center; padding:3px; background:var(--surface); border:1px solid var(--border); border-radius:6px; gap:2px;}
.segmented button {background:transparent; color:var(--muted); border:0; border-radius:4px; min-width:33px; height:25px; padding:0 9px; font-size:11px; font-weight:680;}
.segmented button.selected {background:#26374a; color:#f1f5fc;}
.segmented button:hover:not(.selected) {background:#182636; color:#f1f5fc}
.zoom-actions button {font-size:18px; line-height: 1; font-weight:500;}
.reset-button {color:#cfdbec; border:1px solid var(--border); background:var(--surface); border-radius:6px; height:33px; padding:0 12px; font-size:11px; font-weight:700;}
.reset-button:hover {background:#172332}
.chart-grid {display:grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap:12px; align-items:stretch}
.chart-panel {min-width:0; background:var(--surface); border:1px solid var(--border); border-radius:10px; padding:13px 13px 9px;}
.panel-top {display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:34px;}
.chart-heading {display:flex; align-items:center; gap:10px; min-width:0;}
.frame-tag {flex:none; background:#46371e; color:#ffd196; border:1px solid #775531; border-radius:5px; font-size:11px; font-weight:800; padding:6px 7px; letter-spacing:.06em}
.frame-tag.minute {background:#1d3443; border-color:#2b566e; color:#9ce4ff;}
.panel-heading-text h2 {font-size:13px; font-weight:740; margin:0 0 4px;}
.panel-heading-text>span {font-size:10.5px; color:var(--muted)}
.sub-separator {color:var(--faint); margin:0 3px}
.series-status {color:var(--faint); display:flex; align-items:center; gap:6px; font-size:10px; letter-spacing:.07em; font-weight:700; white-space:nowrap}
.mini-dot {width:5px; height:5px; border-radius:50%; background:var(--accent)}
.ohlc {min-height:29px; margin-top:9px; padding:7px 0 6px; border-top:1px solid var(--border-soft); color:var(--muted); font-size:10.8px; font-variant-numeric:tabular-nums; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.ohlc strong {font-weight:690; color:#cbd8eb}
.ohlc .up {color:var(--green)}
.ohlc .down {color:var(--red)}
.canvas-frame {width:100%; background:#0a101a; border:1px solid #1b2836; overflow:hidden; border-radius:5px;}
.candle-canvas {display:block; width:100%; height:386px; touch-action:pan-y; cursor:crosshair;}
.candle-canvas.dragging {cursor:grabbing;}
.chart-foot {min-height:27px; display:flex; justify-content:space-between; align-items:end; gap:12px; color:var(--faint); font-size:10px;}
.workbench {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:12px;}
.workbench-item {display:flex; align-items:center; gap:12px; padding:12px 14px; min-width:0; border-radius:9px; background:var(--surface); border:1px solid var(--border-soft);}
.workbench-icon {width:32px; height:32px; flex:none; border:1px solid #2b3a4b; background:#152131; display:grid; place-items:center; border-radius:6px; font-size:17px; color:#829bc2}
.workbench-item div:nth-child(2) {display:flex;flex-direction:column;gap:4px;min-width:0}
.workbench-item strong {font-size:12px;}
.workbench-item span {font-size:10.5px; color:var(--muted)}
.workbench-empty {margin-left:auto; color:var(--faint); font-size:18px!important}
.footer-bar {display:flex; justify-content:space-between; gap:18px; padding:17px 0 0; color:var(--faint); font-size:10px; letter-spacing:.02em}
@media(max-width:1199px) {
  .section-intro {display:block}
  .section-note {display:block; margin-top:5px}
  .quote-strip {grid-template-columns: 1.45fr repeat(4,1fr)}
  .quote-cell {padding:12px}
  #last-price {font-size:25px}
  .metric-value {font-size:15px}
  .candle-canvas {height:338px}
}
@media(max-width:930px) {
  .app {padding:0 16px 15px}
  .chart-grid {grid-template-columns:1fr}
  .candle-canvas {height:345px}
  .section-intro {display:flex}
  .section-note {display:inline}
  .quote-strip {grid-template-columns:repeat(2,minmax(0,1fr))}
  .quote-primary {grid-column:span 2}
  .quote-cell {border-bottom:1px solid var(--border-soft)}
  .quote-cell:nth-child(3), .quote-cell:nth-child(5) {border-right:0}
  .quote-cell:nth-child(n+4) {border-bottom:0}
  .workbench {grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:600px) {
  .app {padding:0 10px 18px}
  .masthead {min-height:auto; padding:14px 0; margin-bottom:12px; align-items:start; gap:12px; flex-direction:column}
  .identity-title {font-size:14px}
  .identity-subtitle {font-size:10.5px}
  .eth-symbol {width:34px; height:34px}
  .system-state {justify-content:flex-start; font-size:9px;}
  .quote-strip {grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:14px}
  .quote-primary {grid-column:span 2;}
  .quote-cell {min-height:57px; padding:10px 12px; border-bottom:1px solid var(--border-soft)}
  .quote-cell:nth-child(2), .quote-cell:nth-child(4) {border-right:1px solid var(--border-soft)}
  .quote-cell:nth-child(3), .quote-cell:nth-child(5) {border-right:0}
  .quote-cell:last-child {grid-column:auto; border-bottom:0}
  .quote-primary {min-height:70px}
  #last-price {font-size:27px}
  .metric-label {font-size:9px}
  .metric-value {font-size:14px}
  .section-bar {flex-wrap:wrap; align-items:flex-start; gap:9px; margin-bottom:10px}
  .section-intro {flex-direction:column; gap:3px}
  .section-note {font-size:10px}
  .chart-actions {width:100%; justify-content:flex-start;}
  .chart-panel {padding:11px 9px 8px; border-radius:8px}
  .canvas-frame {border-radius:4px}
  .candle-canvas {height:290px}
  .chart-grid {gap:11px}
  .ohlc {font-size:9.7px}
  .workbench {grid-template-columns:1fr; gap:8px; margin-top:11px}
  .workbench-item {padding:9px 12px}
  .footer-bar {flex-direction:column; gap:7px; line-height:1.45}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

.chart-error {padding:24px;color:#ec7785;font-size:13px}

/* V3: restrained, visible market-data connection indicators. */
.state-dot.connecting {background:#f1b765; box-shadow:0 0 0 3px #f1b76518}
.state-dot.live {background:var(--green); box-shadow:0 0 0 3px #31c5a324}
.state-dot.offline {background:var(--red); box-shadow:0 0 0 3px #ec778524}
.mock-label.live-mark {color:#9ae7d0;border-color:#225644;background:#113025}
.series-status.live {color:#9ae7d0}
.series-status.live .mini-dot {background:var(--green)}
.series-status.connecting {color:#edc48a}
.series-status.offline {color:#ff9aa8}
.series-status.offline .mini-dot {background:var(--red)}
.feed-note {display:flex; justify-content:space-between; gap:12px; padding:9px 3px 0;color:var(--faint);font-size:10.5px;line-height:1.45}
.feed-note #history-tag {color:var(--muted)}
.reset-button.is-behind {border-color:#437d9d;color:#b8e5ff;background:#152838}
#stream-counters {font-size:13px;white-space:normal}
@media(max-width:930px){.feed-note{flex-direction:column;gap:4px}}
@media(max-width:600px){
  .feed-note{font-size:10px}
  .chart-foot{line-height:1.35;align-items:center}
  #stream-counters{font-size:12px}
}

/* ETH Dashboard 0.1A — Single-chart, compact desktop + mobile views */
.version-tag {color:#a9c9e9;font-size:10px;letter-spacing:.07em;font-weight:720;border:1px solid #284663;background:#122235;border-radius:4px;padding:3px 5px;margin-left:5px;vertical-align:middle;}
.single-chart-bar {margin-bottom:10px;align-items:flex-end;flex-wrap:wrap;}
.control-stack {display:flex;flex-direction:column;gap:4px;}
.control-label {font-size:9px;color:var(--faint);text-transform:uppercase;letter-spacing:.10em;font-weight:700;padding-left:3px;}
.frame-switch button {min-width:40px;font-size:11px;}
.single-chart-panel {width:100%;padding:12px 14px 9px;}
.single-chart-panel .candle-canvas {height:clamp(245px, 33vh, 345px);}
.single-chart-panel .panel-top {min-height:40px;}
.primary-chip {display:inline-block;padding:3px 6px;font-size:9px;line-height:1.2;letter-spacing:.04em;border:1px solid #2b566e;border-radius:4px;color:#a6def4;font-weight:720;background:#132634;vertical-align:middle;margin-left:5px;}
.frame-tag.short {background:#46371e;border-color:#775531;color:#ffd196;}
.frame-tag.higher {background:#24253b;border-color:#3b3b63;color:#bcb8ff;}
.single-chart-panel .chart-foot {flex-wrap:wrap;gap:5px 18px;min-height:30px;align-items:center;}
#chart-count {margin-left:auto;font-variant-numeric:tabular-nums;}
.workbench-empty {font-size:9px!important;letter-spacing:.09em;border:1px solid var(--border);border-radius:3px;padding:3px 6px;margin-left:auto;}
.workbench-item div:nth-child(2) span {font-size:10px;line-height:1.4;}
@media (min-width:931px) {
  .single-chart-bar .section-intro {display:flex;align-items:baseline;gap:13px;}
  .single-chart-bar .section-note {display:inline;}
  .single-chart-panel .candle-canvas {height:clamp(250px, 34vh, 365px);}
}
@media (max-width:930px) {
  .single-chart-panel .candle-canvas {height:clamp(240px, 33vh, 315px);}
  .single-chart-bar .section-note {display:block;}
  .single-chart-bar .chart-actions {width:100%;justify-content:flex-start;}
}
@media (max-width:600px) {
  .single-chart-bar {gap:12px;}
  .chart-actions {gap:7px;}
  .control-stack:first-child {width:100%;}
  .frame-switch {width:100%;}
  .frame-switch button {flex:1;min-width:0;height:31px;}
  .single-chart-panel {padding:10px 8px 8px;}
  .single-chart-panel .candle-canvas {height:clamp(220px, 32vh, 275px);}
  .panel-heading-text h2 {font-size:12px;}
  .primary-chip {display:none;}
  .single-chart-panel .chart-foot {align-items:flex-start;}
  #chart-count {margin-left:0;}
  .workbench-empty {font-size:9px!important;}
  .identity-title {white-space:normal;}
}

/* ETH Dashboard 0.1C — Strategy tab shell. Tight, desktop-first analytics. */
.strategy-workspace {
  --strategy-accent: #73b4f8;
  margin-top: 18px;
  min-width: 0;
  padding: 0 0 12px;
  overflow: hidden;
  border: 1px solid #2a4058;
  border-top: 2px solid #436c92;
  border-radius: 10px;
  background: linear-gradient(180deg, #111e2c 0, #0c1723 145px, #0a121c 300px);
  box-shadow: 0 9px 30px #01070f45;
}
.strategy-workspace[data-strategy="experimental"] {--strategy-accent:#f1b765;}
.strategy-workspace[data-strategy="high-risk"] {--strategy-accent:#ec7785;}
.workspace-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 17px 10px;
  background: #142639;
  border-bottom: 1px solid #2b4762;
}
.workspace-divider-line {height: 1px;flex: 1;background:linear-gradient(90deg,transparent,#5d7994 75%,transparent);opacity:.8;}
.workspace-divider-label {display:inline-flex;gap:8px;align-items:center;white-space:nowrap;color:#b5d8fb;font-size:10px;font-weight:800;letter-spacing:.15em;}
.workspace-divider-caret {font-size:14px;line-height:10px;color:#8cbfea;}
.strategy-section-head {
  display:flex;justify-content:space-between;align-items:center;
  gap:14px;margin:0;padding:13px 15px 12px;
}
.strategy-section-title {display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;}
.section-kicker {font-size:9px;letter-spacing:.12em;font-weight:750;color:#90b0cf;}
.strategy-section-title h2 {font-size:16px;letter-spacing:-.01em;margin:0;font-weight:730;}
.section-muted {font-size:11px;color:var(--muted);}
.workspace-safety {color:#a6b7ca;font-size:9px;letter-spacing:.08em;font-weight:720;white-space:nowrap;display:flex;align-items:center;gap:7px;}
.workspace-safety-dot {height:7px;width:7px;border-radius:50%;background:#74879a;}
.strategy-tabs {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;padding:7px;margin:0 13px 10px;
  border:1px solid #344d65;border-radius:9px;
  background:#09121d;
  box-shadow:inset 0 1px 2px #05090ecc;
}
.strategy-tab {
  display:flex;align-items:center;gap:11px;padding:11px 13px;
  border:1px solid #32465a;border-top:2px solid #3e576f;
  border-radius:6px;color:#b0c1d3;text-align:left;
  background:linear-gradient(180deg,#18283a,#12202e);
  min-width:0;min-height:61px;
  transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.strategy-tab-id {font-size:13px;color:#8399b2;font-weight:800;letter-spacing:.03em;border-right:1px solid #375069;padding-right:11px;line-height:23px;}
.strategy-tab-copy {display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;}
.strategy-tab-name {font-size:14px;font-weight:800;line-height:1.15;white-space:nowrap;letter-spacing:.005em;}
.strategy-tab-subtitle {font-size:10px;color:#8a9fb5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
.strategy-tab-selected {display:none;white-space:nowrap;margin-left:auto;color:#e2f3ff;border:1px solid #536f88;background:#152d45;border-radius:3px;padding:4px 6px;font-size:8px;letter-spacing:.08em;font-weight:800;}
.strategy-tab:hover:not(.active) {color:#e9f2fe;background:linear-gradient(180deg,#21384e,#172b3d);border-color:#527290;}
.strategy-tab.active {
  background:linear-gradient(180deg,#254158,#1a3046);
  border-color:var(--strategy-accent);
  border-top-color:var(--strategy-accent);
  box-shadow:inset 0 0 0 1px #a3d7ff1b,0 2px 14px #030e1e70;
  color:#f5f9ff;
}
.strategy-tab.active .strategy-tab-id {color:var(--strategy-accent);border-right-color:#5b748c;}
.strategy-tab.active .strategy-tab-subtitle {color:#c1d3e6;}
.strategy-tab.active .strategy-tab-selected {display:inline-block;}
.strategy-panel {border:1px solid #293f56;border-radius:8px;padding:14px;background:#0b111a;min-width:0;margin:0 13px;}
.strategy-panel:focus {outline:0}
.strategy-panel-top {display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 0 13px;}
.strategy-panel-intro {min-width:0}
.strategy-name-row {display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.strategy-name-row h3 {margin:0;font-size:17px;font-weight:740;}
.strategy-status {font-size:9px;font-weight:750;letter-spacing:.06em;color:#b2c1d1;border:1px solid #314254;background:#142030;border-radius:4px;padding:4px 7px;white-space:nowrap;}
.strategy-panel-intro p {color:var(--muted);font-size:11px;margin:6px 0 0;line-height:1.45;}
.strategy-panel-meta {font-size:10px;color:var(--faint);white-space:nowrap;}
.strategy-panel-meta strong {font-weight:710;color:#d6e2f0;}
.mid-dot {margin:0 7px;color:#4d6174;}
.strategy-metrics {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin-bottom:12px;border:1px solid var(--border);border-radius:7px;background:#101923;overflow:hidden;}
.strategy-metric {min-width:0;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:12px 13px;border-right:1px solid var(--border-soft);min-height:91px;}
.strategy-metric:last-child {border-right:0;}
.strategy-metric>span {font-size:9px;color:var(--muted);letter-spacing:.08em;font-weight:720;white-space:nowrap;}
.strategy-metric strong {font-size:22px;font-weight:750;line-height:1.1;letter-spacing:-.025em;font-variant-numeric:tabular-nums;}
.strategy-metric strong.positive {color:var(--green);}
.strategy-metric strong.negative {color:var(--red);}
.strategy-metric small {font-size:10px;color:var(--faint);line-height:1.3;}
.strategy-body-grid {display:grid;grid-template-columns:1.03fr .95fr 1.2fr;gap:10px;min-width:0;}
.strategy-card {background:#0e1620;border:1px solid var(--border-soft);border-radius:7px;padding:12px;min-width:0;}
.strategy-card-head {min-height:25px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--border-soft);padding-bottom:10px;margin-bottom:10px;}
.strategy-card-head h4 {font-size:12px;font-weight:740;margin:0;color:#e5edf7;}
.strategy-mini-label {font-size:9px;color:#8195ac;border:1px solid #304054;background:#111f2c;border-radius:4px;padding:3px 6px;white-space:nowrap;letter-spacing:.06em;font-weight:730;}
.strategy-empty {display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center;justify-content:center;color:var(--muted);padding:14px 10px;min-height:144px;}
.strategy-empty .empty-glyph {font-size:25px;line-height:1;color:#50647d;}
.strategy-empty strong {color:#cdd8e6;font-size:11px;font-weight:680;}
.strategy-empty>span:last-child {font-size:10.5px;line-height:1.45;max-width:285px;}
.diagnostic-list {display:flex;flex-direction:column;gap:0;}
.diagnostic-row {display:flex;justify-content:space-between;align-items:center;gap:13px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:11px;}
.diagnostic-row:last-child {border-bottom:0;}
.diagnostic-row>span {color:#94a5b8;}
.diagnostic-row>strong {font-weight:720;white-space:nowrap;color:#e0eaf5;font-variant-numeric:tabular-nums;}
.diagnostic-row>strong.positive {color:var(--green);}
.diagnostic-row>strong.negative {color:var(--red);}
.decision-context {display:flex;gap:8px 13px;flex-wrap:wrap;color:var(--muted);font-size:10px;}
.decision-context>span {display:inline-flex;align-items:center;gap:5px;}
.indicator-pill {width:8px;height:8px;border-radius:2px;display:inline-block;background:#73b4f8;}
.indicator-pill.secondary {background:#f1b765;}
.strategy-position-row {display:flex;flex-direction:column;gap:7px;border-bottom:1px solid var(--border-soft);padding:10px 0;}
.strategy-position-row:last-child {border-bottom:0;}
.position-line {display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;}
.position-line .muted {color:var(--muted);}
.position-direction {font-weight:770;color:#dce7f3;}
.position-direction.long {color:var(--green)}
.position-direction.short {color:var(--red)}
.position-line strong {font-variant-numeric:tabular-nums;}
.strategy-event-row {display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--border-soft);}
.strategy-event-row:last-child {border-bottom:0;}
.event-time {font-size:9.5px;color:var(--faint);min-width:44px;padding-top:1px;}
.event-text {min-width:0;display:flex;flex-direction:column;gap:4px;}
.event-text strong {font-size:11px;font-weight:720;}
.event-text span {font-size:10px;line-height:1.45;color:var(--muted);}
.trade-journal {margin-top:10px;padding-bottom:5px;}
.trade-journal-title {display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;}
.trade-journal-title>span {color:var(--muted);font-size:10px;}
.journal-scroll {overflow:auto;max-width:100%;}
.journal-table {width:100%;border-collapse:collapse;font-size:11px;white-space:nowrap;}
.journal-table th {font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:720;color:#8a9daf;text-align:left;padding:8px 10px 10px 0;border-bottom:1px solid var(--border-soft);}
.journal-table td {padding:11px 10px 11px 0;border-bottom:1px solid rgba(255,255,255,.04);color:#d7e1ee;font-variant-numeric:tabular-nums;}
.journal-table tr:last-child td {border-bottom:0;}
.journal-table .journal-empty td {text-align:center;color:var(--faint);padding:27px 10px;white-space:normal;}
.journal-table .positive {color:var(--green)}
.journal-table .negative {color:var(--red)}
.chart-strategy-strip {margin-top:7px;display:flex;align-items:center;gap:13px;justify-content:space-between;flex-wrap:wrap;min-height:31px;padding:6px 9px;border:1px solid var(--border-soft);border-radius:5px;background:#101824;color:#9caec2;font-size:10px;}
.chart-layer-active {display:flex;align-items:center;gap:7px;white-space:nowrap;}
.chart-layer-active strong {color:#e1eafa;font-weight:750;}
.chart-layer-dot {height:7px;width:7px;border-radius:50%;background:#73b4f8;}
.chart-strategy-strip[data-strategy="experimental"] .chart-layer-dot {background:#f1b765;}
.chart-strategy-strip[data-strategy="high-risk"] .chart-layer-dot {background:#ec7785;}
.chart-marker-legend {display:flex;align-items:center;flex-wrap:wrap;gap:13px;color:#788ba2;font-size:9px;}
.chart-marker-legend>span {display:inline-flex;align-items:center;gap:4px;}
.legend-symbol {width:7px;height:7px;display:inline-block;border-radius:1px;background:#31c5a3;transform:rotate(45deg);}
.legend-symbol.exit {background:#ec7785;border-radius:50%;transform:none;}
.legend-symbol.partial {background:#f1b765;transform:none;}
.legend-symbol.signal {background:none;border:1px solid #9fb2cd;border-radius:50%;transform:none;}
.chart-layer-empty {color:#73869b;font-size:10px;white-space:nowrap;}
@media(max-width:1260px) {
  .strategy-body-grid {grid-template-columns:1fr 1fr;}
  .decisions-card {grid-column:1/-1;}
  .strategy-empty {min-height:125px;}
  .strategy-metrics {grid-template-columns:repeat(3,minmax(0,1fr));}
  .strategy-metric:nth-child(3) {border-right:0;}
  .strategy-metric:nth-child(-n+3) {border-bottom:1px solid var(--border-soft);}
}
@media(max-width:760px) {
  .strategy-section-head {align-items:flex-start;}
  .strategy-section-title {gap:6px 9px;}
  .section-muted {flex-basis:100%;}
  .strategy-tab {justify-content:center;gap:7px;padding:10px 8px;min-height:45px;}
  .strategy-tab-id,.strategy-tab-selected,.strategy-tab-subtitle {display:none!important;}
  .strategy-tab-copy {align-items:center;}
  .strategy-body-grid {grid-template-columns:1fr;}
  .decisions-card {grid-column:auto;}
  .strategy-panel-top {align-items:flex-start;flex-direction:column;gap:7px;}
  .strategy-metrics {grid-template-columns:repeat(2,minmax(0,1fr));}
  .strategy-metric {padding:11px;min-height:81px;}
  .strategy-metric:nth-child(3) {border-right:1px solid var(--border-soft);}
  .strategy-metric:nth-child(2n) {border-right:0;}
  .strategy-metric:nth-child(4) {border-bottom:1px solid var(--border-soft);}
  .strategy-metric>strong {font-size:20px;}
  .strategy-card {padding:12px;}
  .chart-strategy-strip {justify-content:flex-start;gap:9px 12px;}
  .chart-layer-empty {margin-left:auto;}
}
@media(max-width:480px) {
  .strategy-workspace {margin-top:13px;border-radius:8px;}
  .workspace-divider {padding:10px 11px;gap:8px;}
  .workspace-divider-label {font-size:9px;letter-spacing:.11em;}
  .strategy-section-head {flex-direction:column;gap:7px;padding:11px 10px;}
  .strategy-section-title h2 {font-size:15px;}
  .strategy-tabs {padding:4px;gap:5px;margin:0 8px 8px;}
  .strategy-tab-name {font-size:12px;}
  .strategy-tab {padding:8px 3px;min-height:41px;}
  .strategy-panel {padding:9px;margin:0 8px;}
  .strategy-metric>span {font-size:8.5px;}
  .strategy-metric strong {font-size:19px;}
  .chart-marker-legend {gap:8px;}
  .chart-layer-empty {width:100%;margin-left:0;}
}

/* 0.1D: short-landscape chart view */
@media (max-height:620px) and (min-width:931px) {
  .single-chart-panel .candle-canvas {height:clamp(220px,38vh,290px);}
}
