/* AUREX CHART READER FROZEN BASELINE
 * Do not modify without explicit Chart Reader change approval and full regression verification.
 */
/* ==============================================================
   AUREX Chart Reader — owned visual module (UI 3.0)

   One continuous workstation surface. Everything the Chart Reader
   draws is defined here; nothing is patched onto it from styles.css.
   ============================================================== */

.cr3 {
  --cr3-ink: #eef4ff;
  --cr3-ink-soft: rgba(176, 199, 226, 0.74);
  --cr3-ink-faint: rgba(150, 176, 208, 0.56);
  --cr3-line: rgba(122, 168, 220, 0.11);
  --cr3-surface: linear-gradient(168deg, rgba(11, 22, 39, 0.86), rgba(6, 13, 25, 0.92));
  --cr3-raise: rgba(255, 255, 255, 0.026);
  --cr3-cyan: #67d4f5;
  --cr3-gold: #e7c76a;
  --cr3-warn: #f0c168;
  --cr3-bad: #ff8f9c;
  --cr3-ok: #7fe0b0;
  --cr3-control: 42px;
  --cr3-radius: 14px;

  display: grid;
  gap: 16px;
  position: relative;
  padding: 18px;
  border-radius: 20px;
  background: var(--cr3-surface);
  border: 1px solid rgba(136, 177, 219, 0.12);
  box-shadow: 0 30px 80px rgba(0, 3, 12, 0.28), inset 0 1px rgba(255, 255, 255, 0.035);
  color: var(--cr3-ink);
  isolation: isolate;
}

/* A single directional light instead of per-card glow. */
.cr3::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  border-radius: inherit;
  background: radial-gradient(120% 62% at 18% -8%, rgba(72, 158, 245, 0.11), transparent 62%);
}

.cr3 *,
.cr3 *::before,
.cr3 *::after { box-sizing: border-box; }

/* ---------------- Controls ---------------- */
.cr3 .cr3-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: var(--cr3-control); padding: 0 18px;
  border-radius: 11px; border: 1px solid transparent;
  font: inherit; font-size: 13.5px; font-weight: 600; letter-spacing: 0;
  text-transform: none; text-decoration: none; cursor: pointer;
  transition: background 160ms ease, border-color 160ms ease, transform 120ms ease;
}
.cr3 .cr3-btn-primary {
  background: linear-gradient(180deg, rgba(103, 212, 245, 0.96), rgba(64, 176, 216, 0.94));
  color: #04121d; border-color: rgba(140, 226, 252, 0.5);
}
.cr3 .cr3-btn-primary:hover { background: linear-gradient(180deg, #7fe0ff, #55c2e8); }
.cr3 .cr3-btn-quiet {
  background: rgba(255, 255, 255, 0.035); color: var(--cr3-ink);
  border-color: rgba(122, 168, 220, 0.17);
}
.cr3 .cr3-btn-quiet:hover { background: rgba(255, 255, 255, 0.07); border-color: rgba(122, 168, 220, 0.3); }
.cr3 .cr3-btn:active { transform: translateY(1px); }
.cr3 .cr3-btn:focus-visible { outline: 2px solid rgba(103, 212, 245, 0.7); outline-offset: 2px; }
.cr3 .cr3-file-btn { position: relative; }

.cr3 select,
.cr3 textarea,
.cr3 input[type="file"] {
  width: 100%; font: inherit; font-size: 13.5px; color: var(--cr3-ink);
  background: rgba(255, 255, 255, 0.032);
  border: 1px solid rgba(122, 168, 220, 0.16); border-radius: 10px;
  padding: 0 12px; min-height: var(--cr3-control);
}
.cr3 textarea { padding: 10px 12px; min-height: auto; line-height: 1.5; resize: vertical; }
.cr3 input[type="file"] { padding: 9px 12px; }
.cr3 select:focus-visible,
.cr3 textarea:focus-visible { outline: 2px solid rgba(103, 212, 245, 0.55); outline-offset: 1px; }

/* ---------------- Status tone ---------------- */
.cr3 .cr3-tone { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 620; }
.cr3 .cr3-tone::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; flex: 0 0 auto; }
.cr3 .cr3-tone-ok { color: var(--cr3-ok); }
.cr3 .cr3-tone-busy { color: var(--cr3-cyan); }
.cr3 .cr3-tone-warn { color: var(--cr3-warn); }
.cr3 .cr3-tone-error { color: var(--cr3-bad); }
.cr3 .cr3-tone-idle { color: var(--cr3-ink-faint); }

/* ---------------- Command bar ---------------- */
.cr3 .cr3-command {
  display: flex; align-items: flex-end; flex-wrap: wrap; gap: 18px;
  padding: 13px 14px;
  border: 1px solid rgba(132, 175, 218, 0.13); border-radius: 12px;
  background: linear-gradient(150deg, rgba(18, 34, 56, 0.54), rgba(6, 15, 28, 0.44));
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.04), 0 12px 30px rgba(0, 4, 14, 0.14);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
}
.cr3 .cr3-command-field,
.cr3 .cr3-command-status { display: grid; gap: 5px; min-width: 0; }
.cr3 .cr3-command-field > span,
.cr3 .cr3-command-status > span {
  font-size: 10.5px; font-weight: 640; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--cr3-ink-faint);
}
.cr3 .cr3-command-field select { min-width: 168px; }
.cr3 .cr3-command-status > strong { font-size: 13.5px; font-weight: 640; }
.cr3 .cr3-command-status > small { font-size: 11.5px; color: var(--cr3-ink-faint); }
.cr3 .cr3-tf-row { display: flex; gap: 4px; }
.cr3 .cr3-tf-row button {
  min-height: var(--cr3-control); min-width: 44px; padding: 0 10px;
  border-radius: 9px; border: 1px solid transparent;
  background: rgba(255, 255, 255, 0.03); color: var(--cr3-ink-soft);
  font: inherit; font-size: 12.5px; font-weight: 620; cursor: pointer;
  transition: background 150ms ease, color 150ms ease;
}
.cr3 .cr3-tf-row button:hover { background: rgba(103, 212, 245, 0.1); color: var(--cr3-ink); }
.cr3 .cr3-tf-row button.is-active {
  background: rgba(103, 212, 245, 0.16); color: #d8f4ff; border-color: rgba(103, 212, 245, 0.35);
}
.cr3 .cr3-command-cta { margin-left: auto; }

/* ---------------- Workstation: chart 70 / Carlos 30 ---------------- */
.cr3 .cr3-workstation {
  display: grid; grid-template-columns: minmax(0, 70fr) minmax(268px, 30fr);
  gap: 16px; align-items: start;
}
.cr3 .cr3-chart {
  position: relative; min-width: 0;
  height: clamp(440px, 58vh, 640px);
  display: flex; flex-direction: column;
  border-radius: var(--cr3-radius); overflow: hidden;
  background: rgba(2, 8, 18, 0.72);
  border: 1px solid rgba(122, 181, 226, 0.2);
  box-shadow: 0 22px 52px rgba(0, 3, 12, 0.3), inset 0 1px rgba(204, 235, 255, 0.055);
}
.cr3 .cr3-chart .tradingview-widget-container { flex: 1 1 auto; min-height: 0; }
.cr3 .cr3-chart iframe { display: block; width: 100%; height: 100%; border: 0; }

/* AUREX zone map. Exact engine prices are shown in the chart viewport while
   the vertical placement remains an explicitly labelled evidence scale. */
.cr3 .cr3-chart-overlay {
  position: absolute; z-index: 4; inset: 54px 58px 34px 58px;
  pointer-events: none; overflow: hidden;
}
.cr3 .cr3-chart-overlay[hidden] { display: none; }
.cr3 .cr3-chart-zone-caption {
  position: absolute; top: 0; right: 0; display: grid; justify-items: end; gap: 2px;
  margin: 0; padding: 6px 9px; border: 1px solid rgba(151, 193, 229, 0.2); border-radius: 7px;
  background: rgba(4, 12, 24, 0.84); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.055);
}
.cr3 .cr3-chart-zone-caption span {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 9px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #d8f3ff;
}
.cr3 .cr3-chart-zone-caption i { width: 6px; height: 6px; border-radius: 50%; background: var(--cr3-ok); box-shadow: 0 0 10px rgba(127, 224, 176, 0.42); }
.cr3 .cr3-chart-zone-caption small { font-size: 9px; color: var(--cr3-ink-faint); }
.cr3 .cr3-chart-zone-band {
  position: absolute; left: 4%; right: 1%; bottom: var(--zone-bottom); height: var(--zone-height); min-height: 34px;
  border-top: 1px solid; border-bottom: 1px solid;
  animation: cr3ZoneReveal 150ms ease-out both;
}
.cr3 .cr3-chart-zone-band::before {
  content: ""; position: absolute; inset: 0; opacity: 0.055;
  background: linear-gradient(90deg, transparent 0%, currentColor 74%, currentColor 100%);
}
.cr3 .cr3-chart-zone-tag {
  position: absolute; z-index: 1; right: 5px; top: 50%; transform: translateY(-50%);
  width: min(170px, 42%); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 9px;
  align-items: center; padding: 5px 8px 6px; overflow: hidden;
  border: 1px solid color-mix(in srgb, currentColor 45%, transparent); border-left: 2px solid currentColor; border-radius: 5px;
  background: rgba(3, 10, 20, 0.88); -webkit-backdrop-filter: blur(7px); backdrop-filter: blur(7px);
  box-shadow: 0 7px 20px rgba(0, 3, 12, 0.26), inset 0 1px rgba(255, 255, 255, 0.055);
}
.cr3 .cr3-chart-zone-tag > span {
  min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  font-size: 8.5px; font-weight: 720; letter-spacing: 0.065em; text-transform: uppercase;
}
.cr3 .cr3-chart-zone-tag > b { font: 680 8.5px/1.2 var(--cr3-num); color: currentColor; white-space: nowrap; }
.cr3 .cr3-chart-zone-tag > strong {
  grid-column: 1 / -1; min-width: 0; overflow-wrap: anywhere;
  font: 720 11px/1.25 var(--cr3-num); font-variant-numeric: tabular-nums; color: #f4f8fc;
}
.cr3 .cr3-chart-zone-band[data-zone="buy"] {
  color: #78e1b7; border-color: rgba(99, 211, 166, 0.54); background: rgba(39, 151, 106, 0.028);
}
.cr3 .cr3-chart-zone-band[data-zone="sell"] {
  color: #ffc29a; border-color: rgba(240, 168, 120, 0.54); background: rgba(184, 83, 57, 0.028);
}
@keyframes cr3ZoneReveal { from { opacity: 0; } to { opacity: 1; } }

.cr3 .cr3-chart-state {
  position: absolute; inset: 0; z-index: 3;
  display: grid; place-items: center; padding: 24px; text-align: center;
  background: linear-gradient(160deg, rgba(6, 14, 26, 0.95), rgba(2, 8, 18, 0.97));
}
.cr3 .cr3-chart-state.is-hidden { display: none; }
.cr3 .cr3-chart-state-inner { display: grid; justify-items: center; gap: 9px; max-width: 44ch; }
.cr3 .cr3-chart-state-inner strong { font-size: 15.5px; font-weight: 660; text-transform: none; letter-spacing: -0.005em; }
.cr3 .cr3-chart-state-inner p { margin: 0; font-size: 13px; line-height: 1.55; color: var(--cr3-ink-soft); text-transform: none; }
.cr3 .cr3-chart-state-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 6px; }
.cr3 .cr3-chart-state-actions .cr3-btn { min-height: 36px; padding: 0 14px; font-size: 12.5px; }
.cr3 .cr3-spinner {
  width: 22px; height: 22px; border-radius: 50%;
  border: 2px solid rgba(103, 212, 245, 0.2); border-top-color: var(--cr3-cyan);
  animation: cr3Spin 760ms linear infinite;
}
@keyframes cr3Spin { to { transform: rotate(360deg); } }
.cr3 .cr3-chart[data-market-data="delayed"] .cr3-chart-state-inner strong { color: var(--cr3-warn); }
.cr3 .cr3-chart[data-transport="iframe-failed"] .cr3-chart-state-inner strong,
.cr3 .cr3-chart[data-market-data="unavailable"] .cr3-chart-state-inner strong { color: var(--cr3-bad); }

/* ---------------- Carlos Intelligence ---------------- */
.cr3 .cr3-intel {
  min-width: 0; align-self: stretch;
  max-height: clamp(440px, 58vh, 640px); overflow-y: auto; overscroll-behavior: contain;
  padding: 16px 16px 16px 18px;
  border-radius: var(--cr3-radius);
  background: linear-gradient(158deg, rgba(18, 35, 58, 0.72), rgba(7, 16, 30, 0.84));
  border: 1px solid rgba(132, 179, 224, 0.18);
  box-shadow: 0 22px 52px rgba(0, 3, 12, 0.26), inset 0 1px rgba(221, 241, 255, 0.055);
  -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
}
.cr3 .cr3-intel::-webkit-scrollbar { width: 6px; }
.cr3 .cr3-intel::-webkit-scrollbar-thumb { background: rgba(122, 168, 220, 0.2); border-radius: 3px; }
.cr3 .cr3-intel-head { display: grid; gap: 6px; padding-bottom: 12px; border-bottom: 1px solid var(--cr3-line); }
.cr3 .cr3-intel-head > div { display: grid; gap: 2px; }
.cr3 .cr3-intel-head span {
  font-size: 10.5px; font-weight: 640; letter-spacing: 0.08em; text-transform: uppercase; color: var(--cr3-ink-faint);
}
.cr3 .cr3-intel-head strong { font-size: 15px; font-weight: 660; }
.cr3 .cr3-intel-head { position: relative; }
.cr3 .cr3-intel-head::after { content: "AUREX / INSTITUTIONAL BRIEF"; color: var(--cr3-ink-faint); font-size: 8px; font-weight: 760; letter-spacing: .14em; }
.cr3 .cr3-institutional-card { display: grid; gap: 12px; margin-top: 14px; padding: 14px; border: 1px solid rgba(103, 212, 245, .18); border-radius: 12px; background: linear-gradient(145deg, rgba(25, 55, 78, .72), rgba(7, 17, 30, .92)); box-shadow: inset 0 1px rgba(255,255,255,.06), 0 16px 34px rgba(0,0,0,.18); animation: cr3PanelArrive 320ms ease both; }
.cr3 .cr3-institutional-card[data-state="watch"] { border-color: rgba(127, 224, 176, .3); }
.cr3 .cr3-institutional-card[data-state="no-trade"],
.cr3 .cr3-institutional-card[data-state="invalidated"] { border-color: rgba(255, 143, 156, .26); }
.cr3 .cr3-institutional-card-head { display: flex; align-items: end; justify-content: space-between; gap: 12px; }
.cr3 .cr3-institutional-card-head > div:first-child { display: grid; gap: 4px; }
.cr3 .cr3-institutional-card-head span,
.cr3 .cr3-score-lockup small { color: var(--cr3-ink-faint); font-size: 9px; font-weight: 760; letter-spacing: .1em; text-transform: uppercase; }
.cr3 .cr3-institutional-card-head strong { color: #f1f8ff; font-size: 19px; font-weight: 720; letter-spacing: 0; }
.cr3 .cr3-score-lockup { display: grid; justify-items: end; gap: 3px; }
.cr3 .cr3-score-lockup b { color: var(--cr3-cyan); font: 760 25px/1 var(--cr3-num); }
.cr3 .cr3-signal-line { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 6px 8px; padding-top: 10px; border-top: 1px solid rgba(132,179,224,.12); }
.cr3 .cr3-signal-line i { grid-row: span 2; width: 7px; height: 7px; border-radius: 50%; background: var(--cr3-warn); box-shadow: 0 0 0 4px rgba(240,193,104,.1), 0 0 18px rgba(240,193,104,.35); }
.cr3 .cr3-institutional-card[data-state="watch"] .cr3-signal-line i { background: var(--cr3-ok); box-shadow: 0 0 0 4px rgba(127,224,176,.1), 0 0 18px rgba(127,224,176,.35); }
.cr3 .cr3-institutional-card[data-state="no-trade"] .cr3-signal-line i,
.cr3 .cr3-institutional-card[data-state="invalidated"] .cr3-signal-line i { background: var(--cr3-bad); box-shadow: 0 0 0 4px rgba(255,143,156,.1), 0 0 18px rgba(255,143,156,.3); }
.cr3 .cr3-signal-line span { color: #eaf5fb; font-size: 11px; font-weight: 760; letter-spacing: .1em; }
.cr3 .cr3-signal-line small { color: var(--cr3-ink-soft); font-size: 11px; line-height: 1.4; }
.cr3 .cr3-intel-ready { padding-top: 14px; }
.cr3 .cr3-intel-lede { margin: 0 0 4px; font-size: 14.5px; font-weight: 620; line-height: 1.45; }
.cr3 .cr3-intel-sub { margin: 0 0 14px; font-size: 13px; line-height: 1.5; color: var(--cr3-ink-soft); }
.cr3 .cr3-preview-list { display: grid; gap: 1px; margin: 0; padding: 0; list-style: none; }
.cr3 .cr3-preview-list li {
  padding: 9px 0; font-size: 12.5px; color: var(--cr3-ink-faint);
  border-bottom: 1px solid var(--cr3-line);
}
.cr3 .cr3-preview-list li:last-child { border-bottom: 0; }
.cr3 .cr3-intel-cta { width: 100%; margin-top: 14px; }
.cr3 .cr3-intel-locked { margin: 14px 0 0; font-size: 12.5px; line-height: 1.5; color: var(--cr3-ink-soft); }

.cr3 .cr3-confidence {
  display: grid; gap: 9px;
  margin: 13px 0 6px; padding: 13px 14px; border-radius: 10px;
  background: linear-gradient(145deg, rgba(103, 212, 245, 0.085), rgba(17, 42, 66, 0.24));
  border: 1px solid rgba(103, 212, 245, 0.2);
  box-shadow: inset 0 1px rgba(210, 242, 255, 0.04);
}
.cr3 .cr3-confidence header,
.cr3 .cr3-confidence footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.cr3 .cr3-confidence header > span {
  font-size: 10px; font-weight: 680; letter-spacing: 0.075em; text-transform: uppercase; color: var(--cr3-ink-faint);
}
.cr3 .cr3-confidence header > b { font: 740 24px/1 var(--cr3-num); }
.cr3 .cr3-confidence-track {
  display: block; height: 8px; min-width: 0; overflow: hidden; border-radius: 4px;
  background: rgba(122, 168, 220, 0.14); box-shadow: inset 0 0 0 1px rgba(122, 168, 220, 0.09);
}
.cr3 .cr3-confidence-track i {
  display: block; height: 100%; border-radius: inherit;
  background: linear-gradient(90deg, rgba(103, 212, 245, 0.5), var(--cr3-cyan));
}
.cr3 .cr3-confidence b { font-weight: 700; color: #bdefff; white-space: nowrap; }
.cr3 .cr3-confidence footer > strong { font-size: 12.5px; color: #d9f4ff; }
.cr3 .cr3-confidence footer > small { max-width: 25ch; font-size: 10.5px; line-height: 1.4; text-align: right; color: var(--cr3-ink-faint); }
.cr3 .cr3-confidence[data-confidence="cautious"] { border-color: rgba(240, 193, 104, 0.22); background: rgba(240, 193, 104, 0.045); }
.cr3 .cr3-confidence[data-confidence="cautious"] b { color: #f3d494; }
.cr3 .cr3-confidence[data-confidence="high"],
.cr3 .cr3-confidence[data-confidence="strong"] { border-color: rgba(99, 211, 166, 0.28); background: linear-gradient(145deg, rgba(99, 211, 166, 0.09), rgba(20, 55, 55, 0.22)); }
.cr3 .cr3-confidence[data-confidence="high"] b,
.cr3 .cr3-confidence[data-confidence="strong"] b { color: #baf2da; }

/* Briefing rows read as caption-above-value, never a squeezed two-column grid. */
.cr3 .cr3-briefing { display: grid; gap: 0; margin: 8px 0 0; }
.cr3 .cr3-briefing > div { padding: 11px 0; border-bottom: 1px solid var(--cr3-line); }
.cr3 .cr3-briefing > div:last-child { border-bottom: 0; }
.cr3 .cr3-briefing dt {
  margin-bottom: 4px;
  font-size: 10.5px; font-weight: 640; letter-spacing: 0.075em; text-transform: uppercase;
  color: var(--cr3-ink-faint);
}
.cr3 .cr3-briefing dd {
  margin: 0; font-size: 13.5px; font-weight: 560; line-height: 1.55; color: var(--cr3-ink);
  text-align: left; overflow-wrap: anywhere;
}
.cr3 .cr3-briefing > div.is-lead dd { font-size: 17px; font-weight: 680; letter-spacing: -0.01em; }

/* ---------------- Stage: launcher / paths / run ---------------- */
.cr3 .cr3-stage { min-width: 0; }
.cr3 .cr3-launcher { display: grid; gap: 14px; }
.cr3 .cr3-launcher-lede { margin: 0; font-size: 13.5px; color: var(--cr3-ink-soft); }
.cr3 .cr3-paths { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.cr3 .cr3-path {
  display: grid; gap: 5px; justify-items: start; text-align: left;
  padding: 18px 20px; cursor: pointer;
  border-radius: var(--cr3-radius); border: 1px solid var(--cr3-line);
  background: var(--cr3-raise); color: var(--cr3-ink); font: inherit;
  transition: border-color 160ms ease, background 160ms ease;
}
.cr3 .cr3-path:hover { border-color: rgba(103, 212, 245, 0.34); background: rgba(103, 212, 245, 0.055); }
.cr3 .cr3-path:focus-visible { outline: 2px solid rgba(103, 212, 245, 0.7); outline-offset: 2px; }
.cr3 .cr3-path strong { font-size: 15.5px; font-weight: 660; }
.cr3 .cr3-path small { font-size: 12.5px; line-height: 1.5; color: var(--cr3-ink-soft); }

.cr3 .cr3-path-panel { display: grid; gap: 14px; }
.cr3 .cr3-field-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.cr3 .cr3-field { display: grid; gap: 5px; min-width: 0; }
.cr3 .cr3-field > span {
  font-size: 10.5px; font-weight: 640; letter-spacing: 0.08em; text-transform: uppercase; color: var(--cr3-ink-faint);
}
.cr3 .cr3-field-wide { grid-column: 1 / -1; }
.cr3 .cr3-path-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.cr3 .cr3-evidence-note {
  margin: 0; padding-left: 12px; font-size: 12.5px; line-height: 1.5; color: var(--cr3-ink-soft);
  border-left: 2px solid rgba(103, 212, 245, 0.4);
}
.cr3 .cr3-honesty { margin: 0; font-size: 12.5px; line-height: 1.55; color: var(--cr3-ink-faint); }

.cr3 .cr3-refine { border-top: 1px solid var(--cr3-line); }
.cr3 .cr3-refine > summary {
  display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap;
  padding: 13px 2px; cursor: pointer; list-style: none;
}
.cr3 .cr3-refine > summary::-webkit-details-marker { display: none; }
.cr3 .cr3-refine > summary span { font-size: 13px; font-weight: 640; }
.cr3 .cr3-refine > summary small { font-size: 11.5px; color: var(--cr3-ink-faint); }
.cr3 .cr3-refine > summary::after {
  content: ""; margin-left: auto; width: 7px; height: 7px; flex: 0 0 auto;
  border-right: 2px solid rgba(160, 186, 216, 0.5); border-bottom: 2px solid rgba(160, 186, 216, 0.5);
  transform: rotate(45deg); transition: transform 180ms ease;
}
.cr3 .cr3-refine[open] > summary::after { transform: rotate(-135deg); }
.cr3 .cr3-refine > summary:focus-visible { outline: 2px solid rgba(103, 212, 245, 0.6); outline-offset: 2px; border-radius: 8px; }
.cr3 .cr3-refine[open] { padding-bottom: 6px; }
.cr3 .cr3-refine .cr3-field-row,
.cr3 .cr3-refine .cr3-field { margin-bottom: 12px; }

/* Screenshot stage */
.cr3 .cr3-shot-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.cr3 .cr3-shot-stage {
  display: grid; place-items: center; min-height: 190px; padding: 16px;
  border-radius: var(--cr3-radius); border: 1px dashed rgba(122, 168, 220, 0.22);
  background: rgba(2, 8, 18, 0.4);
}
.cr3 .cr3-shot-empty { font-size: 13px; color: var(--cr3-ink-faint); text-align: center; }
.cr3 .cr3-shot-preview { max-width: 100%; max-height: 320px; border-radius: 10px; }
.cr3 .cr3-shot-preview.is-hidden,
.cr3 .cr3-shot-crop.is-hidden,
.cr3 .cr3-shot-crop-actions.is-hidden,
.cr3 .cr3-shot-empty.is-hidden { display: none; }
.cr3 .cr3-shot-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; }
.cr3 .cr3-shot-meta > div { display: grid; gap: 3px; }
.cr3 .cr3-shot-meta span {
  font-size: 10.5px; font-weight: 640; letter-spacing: 0.08em; text-transform: uppercase; color: var(--cr3-ink-faint);
}
.cr3 .cr3-shot-meta strong { font-size: 13px; font-weight: 600; }

/* Active analysis dock */
.cr3 .cr3-run-dock { display: flex; align-items: center; gap: 14px; }
.cr3 .cr3-run-dock > div { display: grid; gap: 2px; min-width: 0; }
.cr3 .cr3-run-dock strong { font-size: 14.5px; font-weight: 660; }
.cr3 .cr3-run-dock p { margin: 0; font-size: 12.5px; color: var(--cr3-ink-faint); }
.cr3 .cr3-run-dock b { margin-left: auto; font-size: 13px; font-weight: 660; color: var(--cr3-cyan); }
.cr3 .cr3-run-spinner {
  width: 20px; height: 20px; flex: 0 0 auto; border-radius: 50%;
  border: 2px solid rgba(103, 212, 245, 0.2); border-top-color: var(--cr3-cyan);
  animation: cr3Spin 760ms linear infinite;
}
.cr3 .cr3-run-track { height: 3px; border-radius: 2px; background: rgba(122, 168, 220, 0.14); overflow: hidden; }
.cr3 .cr3-run-track i { display: block; height: 100%; background: var(--cr3-cyan); transition: width 220ms ease; }

.cr3 .cr3-context-line { margin: 0; font-size: 13px; font-weight: 600; color: var(--cr3-ink-soft); }
.cr3 .cr3-launcher.is-collapsed { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.cr3 .cr3-error-block { display: grid; gap: 7px; padding-left: 14px; border-left: 2px solid var(--cr3-bad); }
.cr3 .cr3-error-block strong { font-size: 14.5px; font-weight: 660; color: var(--cr3-bad); }
.cr3 .cr3-error-block p { margin: 0 0 6px; font-size: 13px; line-height: 1.55; color: var(--cr3-ink-soft); }

/* ---------------- Decision Briefing report ---------------- */
.cr3 .cr3-report { display: grid; gap: 14px; padding-top: 16px; border-top: 1px solid var(--cr3-line); }
.cr3 .cr3-report[hidden],
.cr3 .cr3-report.is-empty { display: none; }
.cr3 .cr3-report-context {
  margin: 0; font-size: 11.5px; font-weight: 620; letter-spacing: 0.05em; text-transform: uppercase;
  color: var(--cr3-ink-faint);
}
.cr3 .cr3-report-head { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.cr3 .cr3-report-head h3 { margin: 0; font-size: 22px; font-weight: 700; letter-spacing: -0.015em; }
.cr3 .cr3-report-confidence { font-size: 13px; font-weight: 640; color: var(--cr3-gold); }
.cr3 .cr3-briefing-lead { max-width: 78ch; }
.cr3 .cr3-report-summary {
  margin: 0; max-width: 78ch; font-size: 14px; line-height: 1.65; color: var(--cr3-ink-soft);
}
.cr3 .cr3-folds { display: grid; gap: 0; }
.cr3 .cr3-fold { border-top: 1px solid var(--cr3-line); }
.cr3 .cr3-fold > summary {
  display: flex; align-items: center; padding: 13px 2px; cursor: pointer; list-style: none;
  font-size: 13px; font-weight: 640;
}
.cr3 .cr3-fold > summary::-webkit-details-marker { display: none; }
.cr3 .cr3-fold > summary::after {
  content: ""; margin-left: auto; width: 7px; height: 7px;
  border-right: 2px solid rgba(160, 186, 216, 0.5); border-bottom: 2px solid rgba(160, 186, 216, 0.5);
  transform: rotate(45deg); transition: transform 180ms ease;
}
.cr3 .cr3-fold[open] > summary::after { transform: rotate(-135deg); }
.cr3 .cr3-fold dl { display: grid; gap: 0; margin: 0 0 12px; }
.cr3 .cr3-fold dl > div { padding: 9px 0; border-bottom: 1px solid var(--cr3-line); }
.cr3 .cr3-fold dl > div:last-child { border-bottom: 0; }
.cr3 .cr3-fold dt {
  margin-bottom: 3px; font-size: 10.5px; font-weight: 640; letter-spacing: 0.075em;
  text-transform: uppercase; color: var(--cr3-ink-faint);
}
.cr3 .cr3-fold dd { margin: 0; font-size: 13px; line-height: 1.55; overflow-wrap: anywhere; }
.cr3 .cr3-report-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.cr3 .cr3-report-locked { font-size: 12.5px; color: var(--cr3-ink-faint); }

/* ---------------- Responsive ---------------- */
@media (max-width: 1080px) {
  .cr3 .cr3-command-cta { margin-left: 0; }
}
@media (max-width: 860px) {
  .cr3 { padding: 14px; gap: 14px; }
  .cr3 .cr3-workstation { grid-template-columns: 1fr; }
  .cr3 .cr3-chart { height: clamp(320px, 46vh, 440px); }
  .cr3 .cr3-intel { max-height: none; overflow-y: visible; }
  .cr3 .cr3-chart-overlay { inset: 46px 48px 28px 52px; }
  .cr3 .cr3-paths { grid-template-columns: 1fr; }
  .cr3 .cr3-report-head h3 { font-size: 19px; }
}
@media (max-width: 560px) {
  .cr3 .cr3-command { gap: 12px; }
  .cr3 .cr3-command-field select { min-width: 0; width: 100%; }
  .cr3 .cr3-command-field,
  .cr3 .cr3-command-status { flex: 1 1 140px; }
  .cr3 .cr3-command-cta { width: 100%; }
  .cr3 .cr3-tf-row { flex-wrap: wrap; }
  .cr3 .cr3-chart-overlay { inset: 42px 38px 24px 42px; }
  .cr3 .cr3-chart-zone-caption small { display: none; }
  .cr3 .cr3-chart-zone-band { left: 0; right: 0; }
  .cr3 .cr3-chart-zone-tag { right: 3px; width: min(148px, 56%); padding: 4px 6px 5px; }
  .cr3 .cr3-chart-zone-tag > span,
  .cr3 .cr3-chart-zone-tag > b { font-size: 8px; }
  .cr3 .cr3-chart-zone-tag > strong { font-size: 10px; }
  .cr3 .cr3-chart-state-actions .cr3-btn { flex: 1 1 auto; }
  .cr3 .cr3-path-actions .cr3-btn,
  .cr3 .cr3-report-actions .cr3-btn { flex: 1 1 auto; }
}

@media (prefers-reduced-motion: reduce) {
  .cr3 .cr3-spinner,
  .cr3 .cr3-run-spinner { animation: none; }
  .cr3 .cr3-btn,
  .cr3 .cr3-path,
  .cr3 .cr3-run-track i,
  .cr3 .cr3-refine > summary::after,
  .cr3 .cr3-fold > summary::after { transition: none; }
  .cr3 .cr3-chart-zone-band { animation: none; }
}

/* Development build marker — never rendered on a production host. */
.cr3 .cr3-build-marker {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px;
  padding: 7px 12px; border-radius: 9px;
  background: rgba(231, 199, 106, 0.08); border: 1px solid rgba(231, 199, 106, 0.28);
  font-size: 11px; line-height: 1.4; color: rgba(231, 199, 106, 0.92);
}
.cr3 .cr3-build-marker strong { font-weight: 720; letter-spacing: 0.09em; }
.cr3 .cr3-build-marker span { display: inline-flex; gap: 5px; }
.cr3 .cr3-build-marker b { font-weight: 640; opacity: 0.62; }

/* --------------------------------------------------------------
   Once the interface is mounted, the state stops being a cover and
   becomes a banner. Market data can arrive without any event we can
   observe, so a full-screen overlay would hide candles that are
   genuinely there. Before the interface mounts there is nothing to
   hide, so the state still fills the frame.
   -------------------------------------------------------------- */
.cr3 .cr3-chart[data-transport="iframe-mounted"] .cr3-chart-state {
  inset: auto 0 0 0;
  padding: 12px 16px;
  background: linear-gradient(0deg, rgba(4, 10, 20, 0.97), rgba(4, 10, 20, 0.9));
  border-top: 1px solid rgba(240, 193, 104, 0.28);
  place-items: stretch;
}
.cr3 .cr3-chart[data-transport="iframe-mounted"] .cr3-chart-state-inner {
  grid-template-columns: 1fr auto;
  grid-template-areas: "title actions" "body actions";
  justify-items: start; text-align: left; max-width: none; gap: 2px 16px;
  align-items: center;
}
.cr3 .cr3-chart[data-transport="iframe-mounted"] .cr3-chart-state-inner strong { grid-area: title; font-size: 13.5px; }
.cr3 .cr3-chart[data-transport="iframe-mounted"] .cr3-chart-state-inner p { grid-area: body; font-size: 12px; }
.cr3 .cr3-chart[data-transport="iframe-mounted"] .cr3-chart-state-actions {
  grid-area: actions; margin-top: 0; justify-content: flex-end;
}
.cr3 .cr3-chart[data-transport="iframe-mounted"] .cr3-chart-state-actions .cr3-btn { min-height: 32px; padding: 0 12px; font-size: 12px; }
.cr3 .cr3-chart[data-transport="iframe-mounted"] .cr3-spinner { display: none; }

@media (max-width: 700px) {
  .cr3 .cr3-chart[data-transport="iframe-mounted"] .cr3-chart-state-inner {
    grid-template-columns: 1fr; grid-template-areas: "title" "body" "actions"; gap: 4px;
  }
  .cr3 .cr3-chart[data-transport="iframe-mounted"] .cr3-chart-state-actions { justify-content: flex-start; margin-top: 6px; }
}

/* ==============================================================
   DECISION INTELLIGENCE
   Layered glass over deep navy, one directional light, restrained
   status colour. Reads as a private briefing, not a dashboard.
   ============================================================== */
.cr3 {
  --cr3-buy: #63d3a6;
  --cr3-sell: #f0a878;
  --cr3-num: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;
}

/* ---- status chips ---- */
.cr3 .cr3-chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 3px 9px; border-radius: 6px;
  font-size: 10.5px; font-weight: 660; letter-spacing: 0.055em; text-transform: uppercase;
  background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(122, 168, 220, 0.16);
  color: var(--cr3-ink-soft); white-space: nowrap;
}
.cr3 .cr3-chip-active { color: var(--cr3-buy); border-color: rgba(99, 211, 166, 0.32); background: rgba(99, 211, 166, 0.09); }
.cr3 .cr3-chip-tested { color: var(--cr3-cyan); border-color: rgba(103, 212, 245, 0.3); background: rgba(103, 212, 245, 0.08); }
.cr3 .cr3-chip-developing { color: var(--cr3-warn); border-color: rgba(240, 193, 104, 0.3); background: rgba(240, 193, 104, 0.08); }
.cr3 .cr3-chip-mitigated,
.cr3 .cr3-chip-weak { color: var(--cr3-ink-faint); }
.cr3 .cr3-chip-invalidated { color: var(--cr3-bad); border-color: rgba(255, 143, 156, 0.32); background: rgba(255, 143, 156, 0.08); }
.cr3 .cr3-chip-quality { color: #f0f6ff; border-color: rgba(122, 168, 220, 0.28); background: rgba(255, 255, 255, 0.055); }
.cr3 [data-setup-quality="High-quality setup"] .cr3-chip-quality { color: var(--cr3-buy); border-color: rgba(99, 211, 166, 0.34); }
.cr3 [data-setup-quality="No-trade environment"] .cr3-chip-quality,
.cr3 [data-setup-quality="Invalidated"] .cr3-chip-quality { color: var(--cr3-bad); border-color: rgba(255, 143, 156, 0.34); }
.cr3 [data-setup-quality="Weak setup"] .cr3-chip-quality { color: var(--cr3-warn); border-color: rgba(240, 193, 104, 0.3); }

/* ---- panel decision head ---- */
.cr3 .cr3-decision { padding: 14px 0 5px; border-bottom: 1px solid var(--cr3-line); }
.cr3 .cr3-decision-title > span,
.cr3 .cr3-readiness > span {
  display: block; margin-bottom: 4px; font-size: 9.5px; font-weight: 680;
  letter-spacing: 0.075em; text-transform: uppercase; color: var(--cr3-ink-faint);
}
.cr3 .cr3-decision-bias {
  margin: 0 0 11px; font-size: 20px; font-weight: 700; letter-spacing: 0;
  color: #f6faff; text-transform: capitalize;
}
.cr3 .cr3-readiness {
  position: relative; display: grid; grid-template-columns: 1fr auto; gap: 2px 10px;
  margin-bottom: 6px; padding: 11px 12px; border-radius: 9px;
  background: rgba(255, 255, 255, 0.035); border: 1px solid rgba(132, 179, 224, 0.15);
  overflow: hidden;
}
.cr3 .cr3-readiness::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--cr3-cyan); }
.cr3 .cr3-readiness > span { grid-column: 1; margin: 0; }
.cr3 .cr3-readiness > strong { grid-column: 2; grid-row: 1 / span 2; align-self: center; font-size: 12px; letter-spacing: 0.06em; color: #d9f4ff; }
.cr3 .cr3-readiness > small { grid-column: 1; font-size: 11px; line-height: 1.4; color: var(--cr3-ink-soft); }
.cr3 .cr3-readiness[data-state="watch"] { border-color: rgba(99, 211, 166, 0.23); background: rgba(99, 211, 166, 0.06); }
.cr3 .cr3-readiness[data-state="watch"]::before { background: var(--cr3-buy); }
.cr3 .cr3-readiness[data-state="watch"] > strong { color: #a9edcf; }
.cr3 .cr3-readiness[data-state="wait"] { border-color: rgba(240, 193, 104, 0.22); background: rgba(240, 193, 104, 0.05); }
.cr3 .cr3-readiness[data-state="wait"]::before { background: var(--cr3-warn); }
.cr3 .cr3-readiness[data-state="wait"] > strong { color: #f2d28f; }
.cr3 .cr3-readiness[data-state="no-trade"],
.cr3 .cr3-readiness[data-state="invalidated"] { border-color: rgba(255, 143, 156, 0.23); background: rgba(255, 143, 156, 0.055); }
.cr3 .cr3-readiness[data-state="no-trade"]::before,
.cr3 .cr3-readiness[data-state="invalidated"]::before { background: var(--cr3-bad); }
.cr3 .cr3-readiness[data-state="no-trade"] > strong,
.cr3 .cr3-readiness[data-state="invalidated"] > strong { color: #ffb4bc; }
.cr3 .cr3-decision-quality { margin: 12px 0 5px; }
.cr3 .cr3-decision-note { margin: 0 0 12px; font-size: 12.5px; line-height: 1.5; color: var(--cr3-ink-soft); }

/* The first-reading summary is deliberately limited to decision, alignment,
   one relevant zone, confirmation and invalidation. */
.cr3 .cr3-essential {
  display: grid; gap: 9px; margin-top: 14px; padding: 13px 14px;
  border: 1px solid rgba(126, 179, 224, 0.17); border-radius: 10px;
  background: linear-gradient(145deg, rgba(19, 41, 65, 0.58), rgba(7, 18, 33, 0.68));
  box-shadow: inset 0 1px rgba(220, 242, 255, 0.045);
}
.cr3 .cr3-essential-head { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; }
.cr3 .cr3-essential-head > div { display: grid; gap: 3px; min-width: 0; padding: 2px 10px 2px 0; }
.cr3 .cr3-essential-head > div + div { padding-left: 12px; border-left: 1px solid rgba(132, 179, 224, 0.14); }
.cr3 .cr3-essential-head span {
  font-size: 9.5px; font-weight: 680; letter-spacing: 0.07em; text-transform: uppercase; color: var(--cr3-ink-faint);
}
.cr3 .cr3-essential-head strong { font: 740 18px/1.15 var(--cr3-num); color: #e9f6ff; }
.cr3 .cr3-essential-head strong[data-state="watch"] { color: #a9edcf; }
.cr3 .cr3-essential-head strong[data-state="wait"] { color: #f2d28f; }
.cr3 .cr3-essential-head strong[data-state="no-trade"],
.cr3 .cr3-essential-head strong[data-state="invalidated"] { color: #ffb4bc; }
.cr3 .cr3-essential-head small { font-size: 10px; color: var(--cr3-ink-faint); }
.cr3 .cr3-essential > p { margin: 0; font-size: 11px; line-height: 1.45; color: var(--cr3-ink-soft); }

/* ---- confidence meter ---- */
.cr3 .cr3-meter {
  display: block; height: 3px; margin: 7px 0 9px; border-radius: 2px;
  background: rgba(122, 168, 220, 0.14); overflow: hidden;
}
.cr3 .cr3-meter i { display: block; height: 100%; background: linear-gradient(90deg, rgba(103, 212, 245, 0.55), var(--cr3-cyan)); }

/* ---- zones ---- */
.cr3 .cr3-zones { display: grid; gap: 10px; padding: 14px 0; }
.cr3 .cr3-zones-stacked { grid-template-columns: 1fr; }
.cr3 .cr3-zones-primary { grid-template-columns: 1fr; padding-bottom: 8px; }
.cr3 .cr3-zone {
  padding: 12px 14px; border-radius: 11px;
  background: linear-gradient(150deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.012));
  border: 1px solid var(--cr3-line);
  border-left: 2px solid rgba(122, 168, 220, 0.3);
  backdrop-filter: blur(4px);
}
.cr3 .cr3-zone[data-zone="buy"] { border-left-color: var(--cr3-buy); }
.cr3 .cr3-zone[data-zone="sell"] { border-left-color: var(--cr3-sell); }
.cr3 .cr3-zone[data-zone="buy"] {
  background: linear-gradient(145deg, rgba(99, 211, 166, 0.115), rgba(99, 211, 166, 0.025) 72%);
  border-color: rgba(99, 211, 166, 0.24); border-left-width: 3px;
  box-shadow: inset 0 1px 0 rgba(194, 250, 226, 0.045), 0 10px 24px rgba(1, 11, 14, 0.14);
}
.cr3 .cr3-zone[data-zone="sell"] {
  background: linear-gradient(145deg, rgba(240, 168, 120, 0.12), rgba(240, 168, 120, 0.025) 72%);
  border-color: rgba(240, 168, 120, 0.25); border-left-width: 3px;
  box-shadow: inset 0 1px 0 rgba(255, 224, 202, 0.045), 0 10px 24px rgba(1, 11, 14, 0.14);
}
.cr3 .cr3-zone.is-empty { border-left-color: rgba(122, 168, 220, 0.22); }
.cr3 .cr3-zone header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.cr3 .cr3-zone-label {
  font-size: 10.5px; font-weight: 660; letter-spacing: 0.08em; text-transform: uppercase; color: var(--cr3-ink-faint);
}
.cr3 .cr3-zone-range {
  margin: 9px 0 9px; font-family: var(--cr3-num);
  font-size: 19px; font-weight: 600; letter-spacing: -0.012em; font-variant-numeric: tabular-nums;
  color: #f4f9ff;
}
.cr3 .cr3-zone[data-zone="buy"] .cr3-zone-range { color: #c8f3e0; }
.cr3 .cr3-zone[data-zone="sell"] .cr3-zone-range { color: #fadcc6; }
.cr3 .cr3-zone-score {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px;
  margin: 10px 0 0; overflow: hidden; border: 1px solid rgba(132, 179, 224, 0.13); border-radius: 8px;
  background: rgba(2, 10, 20, 0.25);
}
.cr3 .cr3-zone-score > span { display: grid; gap: 1px; padding: 8px 9px; }
.cr3 .cr3-zone-score > span + span { border-left: 1px solid rgba(132, 179, 224, 0.12); }
.cr3 .cr3-zone-score b { font: 720 16px/1.2 var(--cr3-num); color: #edf6ff; }
.cr3 .cr3-zone-score small { font-size: 9.5px; color: var(--cr3-ink-faint); }
.cr3 .cr3-zone-score[data-confidence="high"] b,
.cr3 .cr3-zone-score[data-confidence="strong"] b { color: #adebcf; }
.cr3 .cr3-zone-score[data-confidence="cautious"] b { color: #f1cd86; }
.cr3 .cr3-zone-readiness {
  display: grid; grid-template-columns: auto 1fr; gap: 8px; align-items: start;
  margin: 0 0 11px; padding: 8px 9px; border-radius: 7px;
  background: rgba(255, 255, 255, 0.025); border: 1px solid rgba(132, 179, 224, 0.1);
}
.cr3 .cr3-zone-readiness strong { font-size: 10px; letter-spacing: 0.06em; color: #d9f4ff; }
.cr3 .cr3-zone-readiness span { font-size: 10.5px; line-height: 1.4; color: var(--cr3-ink-soft); }
.cr3 .cr3-zone-readiness[data-state="watch"] strong { color: #a9edcf; }
.cr3 .cr3-zone-readiness[data-state="wait"] strong { color: #f2d28f; }
.cr3 .cr3-zone-readiness[data-state="invalidated"] strong { color: #ffb4bc; }
.cr3 .cr3-zone-none { margin: 7px 0 0; font-size: 12.5px; line-height: 1.5; color: var(--cr3-ink-faint); }
.cr3 .cr3-zone-meta { display: grid; gap: 6px; margin: 0; }
.cr3 .cr3-zone-meta > div { display: grid; grid-template-columns: 82px 1fr; gap: 10px; align-items: baseline; }
.cr3 .cr3-zone-meta dt {
  font-size: 10.5px; font-weight: 620; letter-spacing: 0.06em; text-transform: uppercase; color: var(--cr3-ink-faint);
}
.cr3 .cr3-zone-meta dd { margin: 0; font-size: 12.5px; line-height: 1.45; color: var(--cr3-ink); }
.cr3 .cr3-briefing-essential { margin-top: 0; border-top: 1px solid var(--cr3-line); }
.cr3 .cr3-briefing-essential > div { padding: 10px 1px; }
.cr3 .cr3-briefing-essential dt { margin-bottom: 3px; }
.cr3 .cr3-briefing-essential dd { font-size: 12.5px; line-height: 1.48; color: #e8f0fb; }

/* ---- briefing grid ---- */
.cr3 .cr3-brief-grid {
  display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(240px, 0.9fr); gap: 26px; align-items: start;
}
.cr3 .cr3-brief-main { display: grid; gap: 0; margin: 0; }
.cr3 .cr3-brief-row { padding: 13px 0; border-bottom: 1px solid var(--cr3-line); }
.cr3 .cr3-brief-row:last-child { border-bottom: 0; }
.cr3 .cr3-brief-row dt {
  margin-bottom: 5px;
  font-size: 10.5px; font-weight: 660; letter-spacing: 0.075em; text-transform: uppercase; color: var(--cr3-ink-faint);
}
.cr3 .cr3-brief-row dd { margin: 0; font-size: 13.5px; line-height: 1.55; color: var(--cr3-ink); overflow-wrap: anywhere; }
.cr3 .cr3-brief-row dd > b { font-size: 16px; font-weight: 680; letter-spacing: -0.01em; color: #f6faff; }
.cr3 .cr3-brief-row.is-lead dd > b { font-size: 21px; }
.cr3 .cr3-confidence-brief {
  margin: 8px 0; padding: 15px 16px; border: 1px solid rgba(103, 212, 245, 0.18);
  border-radius: 10px; background: rgba(103, 212, 245, 0.04);
}
.cr3 .cr3-confidence-brief .cr3-meter { height: 7px; border-radius: 4px; }
.cr3 .cr3-brief-zone { margin: 8px 0; padding: 14px 16px; border: 1px solid transparent; border-radius: 10px; }
.cr3 .cr3-brief-zone[data-zone="buy"] { background: rgba(99, 211, 166, 0.075); border-color: rgba(99, 211, 166, 0.2); }
.cr3 .cr3-brief-zone[data-zone="sell"] { background: rgba(240, 168, 120, 0.075); border-color: rgba(240, 168, 120, 0.2); }
.cr3 .cr3-brief-zone[data-zone="buy"] .cr3-brief-range { color: #c8f3e0; }
.cr3 .cr3-brief-zone[data-zone="sell"] .cr3-brief-range { color: #fadcc6; }
.cr3 .cr3-brief-range { font-family: var(--cr3-num); font-variant-numeric: tabular-nums; letter-spacing: -0.012em; }
.cr3 .cr3-brief-sub { display: block; margin-top: 4px; font-size: 12.5px; line-height: 1.55; color: var(--cr3-ink-soft); }
.cr3 .cr3-brief-sub i { font-style: normal; color: var(--cr3-ink-faint); }

/* ---- supporting / reducing factors ---- */
.cr3 .cr3-factors { margin: 8px 0 2px; }
.cr3 .cr3-factors > span {
  display: block; margin-bottom: 3px;
  font-size: 10.5px; font-weight: 620; letter-spacing: 0.06em; text-transform: uppercase; color: var(--cr3-ink-faint);
}
.cr3 .cr3-factors ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 2px; }
.cr3 .cr3-factors li { position: relative; padding-left: 15px; font-size: 12.5px; line-height: 1.5; color: var(--cr3-ink-soft); }
.cr3 .cr3-factors li::before {
  content: ""; position: absolute; left: 3px; top: 0.62em;
  width: 5px; height: 5px; border-radius: 50%; background: currentColor;
}
.cr3 .cr3-factors[data-tone="up"] li { color: rgba(160, 216, 192, 0.86); }
.cr3 .cr3-factors[data-tone="down"] li { color: rgba(226, 190, 154, 0.86); }

/* ---- zone ladder ---- */
.cr3 .cr3-brief-aside { display: grid; gap: 18px; }
.cr3 .cr3-ladder { margin: 0; display: grid; gap: 7px; }
.cr3 .cr3-ladder-track {
  position: relative; height: 190px; border-radius: 10px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.012));
  border: 1px solid var(--cr3-line);
}
.cr3 .cr3-ladder-band { position: absolute; left: 0; right: 0; display: flex; align-items: center; }
.cr3 .cr3-ladder-band[data-kind="buy"] {
  background: linear-gradient(90deg, rgba(99, 211, 166, 0.2), rgba(99, 211, 166, 0.05));
  box-shadow: inset 2px 0 0 var(--cr3-buy);
}
.cr3 .cr3-ladder-band[data-kind="sell"] {
  background: linear-gradient(90deg, rgba(240, 168, 120, 0.2), rgba(240, 168, 120, 0.05));
  box-shadow: inset 2px 0 0 var(--cr3-sell);
}
.cr3 .cr3-ladder-band span {
  margin-left: 9px; font-family: var(--cr3-num); font-size: 11px; font-variant-numeric: tabular-nums;
  color: var(--cr3-ink-soft); white-space: nowrap;
}
.cr3 .cr3-ladder-price {
  position: absolute; left: 0; right: 0; height: 0;
  border-top: 1px dashed rgba(226, 240, 255, 0.6); display: flex; align-items: center;
}
.cr3 .cr3-ladder-price span {
  margin-left: auto; margin-right: 7px; padding: 1px 6px; border-radius: 4px;
  background: rgba(226, 240, 255, 0.14); color: #eaf3ff;
  font-family: var(--cr3-num); font-size: 11px; font-variant-numeric: tabular-nums;
}
.cr3 .cr3-ladder figcaption { font-size: 11px; line-height: 1.45; color: var(--cr3-ink-faint); }

/* ---- expectation ---- */
.cr3 .cr3-expect { display: grid; gap: 3px; }
.cr3 .cr3-expect > span {
  margin-top: 8px;
  font-size: 10.5px; font-weight: 660; letter-spacing: 0.075em; text-transform: uppercase; color: var(--cr3-ink-faint);
}
.cr3 .cr3-expect > span:first-child { margin-top: 0; }
.cr3 .cr3-expect p { margin: 0; font-size: 12.5px; line-height: 1.6; color: var(--cr3-ink-soft); }

/* ---- the Carlos narrative ---- */
.cr3 .cr3-view {
  margin: 0; padding: 16px 20px; border-radius: 12px;
  background: linear-gradient(140deg, rgba(103, 212, 245, 0.055), rgba(255, 255, 255, 0.012));
  border: 1px solid var(--cr3-line); border-left: 2px solid rgba(103, 212, 245, 0.5);
  backdrop-filter: blur(5px);
}
.cr3 .cr3-view > span {
  display: block; margin-bottom: 6px;
  font-size: 10.5px; font-weight: 660; letter-spacing: 0.075em; text-transform: uppercase; color: var(--cr3-ink-faint);
}
.cr3 .cr3-view p { margin: 0; max-width: 84ch; font-size: 14.5px; line-height: 1.65; color: #e9f1fc; }

/* ---- connected actions ---- */
.cr3 .cr3-report-actions { gap: 14px; align-items: start; }
.cr3 .cr3-action { display: grid; gap: 4px; max-width: 220px; }
.cr3 .cr3-action small { font-size: 11.5px; line-height: 1.45; color: var(--cr3-ink-faint); }

/* ---- compact institutional decision brief ---- */
.cr3 .cr3-report-hero {
  display: flex; align-items: end; justify-content: space-between; gap: 18px;
  padding: 3px 0 12px; border-bottom: 1px solid var(--cr3-line);
}
.cr3 .cr3-report-hero h3 { margin: 3px 0 0; font-size: 18px; font-weight: 680; line-height: 1.25; letter-spacing: 0; color: #f4f8fd; }
.cr3 .cr3-report-hero .cr3-report-context { margin: 0; }
.cr3 .cr3-report-state {
  flex: 0 0 auto; padding: 6px 9px; border-radius: 6px;
  border: 1px solid rgba(132, 179, 224, 0.18); background: rgba(255, 255, 255, 0.035);
  font-size: 10px; font-weight: 720; letter-spacing: 0.06em; color: #d9f4ff;
}
.cr3 .cr3-report-state[data-state="watch"] { color: #a9edcf; border-color: rgba(99, 211, 166, 0.3); background: rgba(99, 211, 166, 0.07); }
.cr3 .cr3-report-state[data-state="wait"] { color: #f2d28f; border-color: rgba(240, 193, 104, 0.28); background: rgba(240, 193, 104, 0.065); }
.cr3 .cr3-report-state[data-state="no-trade"],
.cr3 .cr3-report-state[data-state="invalidated"] { color: #ffb4bc; border-color: rgba(255, 143, 156, 0.3); background: rgba(255, 143, 156, 0.065); }
.cr3 .cr3-report-summary {
  display: grid; grid-template-columns: 0.72fr 0.72fr 1.15fr 1.2fr;
  overflow: hidden; border: 1px solid rgba(132, 179, 224, 0.15); border-radius: 10px;
  background: linear-gradient(150deg, rgba(17, 37, 60, 0.52), rgba(6, 16, 30, 0.58));
  box-shadow: inset 0 1px rgba(220, 242, 255, 0.04);
}
.cr3 .cr3-report-summary article { display: grid; align-content: center; gap: 4px; min-width: 0; padding: 14px 15px; }
.cr3 .cr3-report-summary article + article { border-left: 1px solid rgba(132, 179, 224, 0.12); }
.cr3 .cr3-report-summary span,
.cr3 .cr3-report-plan span,
.cr3 .cr3-report-narrative > span {
  font-size: 9.5px; font-weight: 680; letter-spacing: 0.07em; text-transform: uppercase; color: var(--cr3-ink-faint);
}
.cr3 .cr3-report-summary strong { font-size: 14px; font-weight: 680; line-height: 1.35; color: #f2f7fd; overflow-wrap: anywhere; }
.cr3 .cr3-report-summary article:nth-child(2) strong { font: 740 20px/1.1 var(--cr3-num); color: #c8efff; }
.cr3 .cr3-report-summary article[data-zone="buy"] strong { color: #b8efd5; font-family: var(--cr3-num); }
.cr3 .cr3-report-summary article[data-zone="sell"] strong { color: #f7d0b5; font-family: var(--cr3-num); }
.cr3 .cr3-report-summary small { font-size: 10px; line-height: 1.35; color: var(--cr3-ink-faint); }
.cr3 .cr3-zone-spotlights {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px;
}
.cr3 .cr3-zone-spotlight {
  position: relative; min-width: 0; display: grid; gap: 5px; padding: 13px 15px;
  overflow: hidden; border: 1px solid; border-radius: 10px;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.045), 0 14px 34px rgba(0, 4, 14, 0.15);
}
.cr3 .cr3-zone-spotlight::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(80% 130% at 8% 0%, currentColor, transparent 68%); opacity: 0.095;
}
.cr3 .cr3-zone-spotlight > * { position: relative; z-index: 1; }
.cr3 .cr3-zone-spotlight[data-zone="buy"] {
  color: #79dfb7; border-color: rgba(99, 211, 166, 0.3); background: rgba(45, 132, 99, 0.075);
}
.cr3 .cr3-zone-spotlight[data-zone="sell"] {
  color: #f5bd96; border-color: rgba(240, 168, 120, 0.3); background: rgba(145, 73, 54, 0.075);
}
.cr3 .cr3-zone-spotlight header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.cr3 .cr3-zone-spotlight header span { font-size: 9.5px; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; }
.cr3 .cr3-zone-spotlight header b { font: 680 10px/1.2 var(--cr3-num); color: currentColor; white-space: nowrap; }
.cr3 .cr3-zone-spotlight > strong {
  font: 720 17px/1.3 var(--cr3-num); font-variant-numeric: tabular-nums; color: #f3f8fd;
}
.cr3 .cr3-zone-spotlight > small { font-size: 10.5px; color: currentColor; opacity: 0.78; }
.cr3 .cr3-zone-spotlight.is-empty {
  color: var(--cr3-ink-faint); border-color: rgba(132, 179, 224, 0.12); background: rgba(255, 255, 255, 0.018);
}
.cr3 .cr3-zone-spotlight.is-empty > strong { font: 650 13px/1.3 inherit; color: var(--cr3-ink-soft); }
.cr3 .cr3-report-plan {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0;
  border-top: 1px solid var(--cr3-line); border-bottom: 1px solid var(--cr3-line);
}
.cr3 .cr3-report-plan article { min-width: 0; padding: 12px 16px 12px 0; }
.cr3 .cr3-report-plan article + article { padding-left: 16px; border-left: 1px solid var(--cr3-line); }
.cr3 .cr3-report-plan p { margin: 4px 0 0; font-size: 12.5px; line-height: 1.5; color: #e7effa; overflow-wrap: anywhere; }
.cr3 .cr3-report-levels,
.cr3 .cr3-trade-levels {
  display: grid;
  gap: 10px;
  padding: 13px 15px;
  border: 1px solid rgba(132, 179, 224, 0.16);
  background: rgba(8, 24, 40, 0.72);
}
.cr3 .cr3-report-levels > header,
.cr3 .cr3-trade-levels > header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.cr3 .cr3-report-levels header span,
.cr3 .cr3-trade-levels header span { font-size: 11px; font-weight: 760; letter-spacing: .08em; text-transform: uppercase; color: #dcecf9; }
.cr3 .cr3-report-levels header small,
.cr3 .cr3-trade-levels header small { font-size: 10px; color: #f0d28a; }
.cr3 .cr3-report-levels > div,
.cr3 .cr3-trade-level-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.cr3 .cr3-report-levels article,
.cr3 .cr3-trade-level-grid article,
.cr3 .cr3-quick-levels > span { display: grid; gap: 4px; min-width: 0; padding: 9px 10px; border: 1px solid rgba(132, 179, 224, 0.12); background: rgba(15, 35, 55, 0.7); }
.cr3 .cr3-report-levels article[data-level="stop"],
.cr3 .cr3-trade-level-grid article[data-level="stop"] { border-color: rgba(255, 180, 130, 0.24); }
.cr3 .cr3-report-levels article span,
.cr3 .cr3-trade-level-grid article span,
.cr3 .cr3-quick-levels b { font-size: 10px; font-weight: 760; letter-spacing: .07em; text-transform: uppercase; color: #89aec9; }
.cr3 .cr3-report-levels article[data-level="stop"] span,
.cr3 .cr3-trade-level-grid article[data-level="stop"] span { color: #f0ba95; }
.cr3 .cr3-report-levels article strong,
.cr3 .cr3-trade-level-grid article strong,
.cr3 .cr3-quick-levels > span { overflow-wrap: anywhere; color: #f3f8fc; font: 650 12px/1.35 var(--cr3-num); }
.cr3 .cr3-report-levels > p,
.cr3 .cr3-trade-levels > p,
.cr3 .cr-reference-note { margin: 0; color: var(--cr3-ink-faint); font-size: 10.5px; line-height: 1.45; }
.cr3 .cr3-quick-levels { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; margin-top: 10px; }
.cr3 .cr3-quick-levels > span { font-size: 11px; }
.cr3 .cr3-quick-levels > span:last-child { border-color: rgba(255, 180, 130, 0.24); }
.cr3 .cr3-report-narrative {
  margin: 0; padding: 13px 15px; border: 1px solid rgba(103, 212, 245, 0.16); border-left: 2px solid rgba(103, 212, 245, 0.55);
  border-radius: 9px; background: linear-gradient(140deg, rgba(103, 212, 245, 0.055), rgba(255, 255, 255, 0.012));
}
.cr3 .cr3-report-narrative p { margin: 5px 0 0; max-width: 92ch; font-size: 13px; line-height: 1.58; color: #e7effa; }
.cr3 .cr3-folds-compact { border-top: 1px solid var(--cr3-line); }
.cr3 .cr3-folds-compact .cr3-fold > summary { padding: 12px 2px; font-size: 12.5px; }
.cr3 .cr3-report-actions-focused { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; padding-top: 2px; }
.cr3 .cr3-report-actions-focused > .cr3-btn { min-width: 158px; }
.cr3 .cr3-more-actions { position: relative; }
.cr3 .cr3-more-actions > summary {
  display: inline-flex; align-items: center; justify-content: center; min-height: var(--cr3-control); padding: 0 16px;
  border: 1px solid rgba(122, 168, 220, 0.17); border-radius: 11px; background: rgba(255, 255, 255, 0.035);
  color: var(--cr3-ink); font-size: 13px; font-weight: 600; cursor: pointer; list-style: none;
}
.cr3 .cr3-more-actions > summary::-webkit-details-marker { display: none; }
.cr3 .cr3-more-actions[open] > summary { border-color: rgba(103, 212, 245, 0.3); background: rgba(103, 212, 245, 0.07); }
.cr3 .cr3-more-actions > div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 9px; }
.cr3 .cr3-more-actions > div .cr3-btn { min-height: 36px; padding: 0 13px; font-size: 12px; }

@media (max-width: 980px) {
  .cr3 .cr3-brief-grid { grid-template-columns: 1fr; gap: 18px; }
  .cr3 .cr3-brief-aside { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); }
  .cr3 .cr3-ladder-track { height: 150px; }
  .cr3 .cr3-report-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cr3 .cr3-report-summary article:nth-child(3) { border-left: 0; border-top: 1px solid rgba(132, 179, 224, 0.12); }
  .cr3 .cr3-report-summary article:nth-child(4) { border-top: 1px solid rgba(132, 179, 224, 0.12); }
}
@media (max-width: 640px) {
  .cr3 .cr3-brief-aside { grid-template-columns: 1fr; }
  .cr3 .cr3-zone-range { font-size: 17px; }
  .cr3 .cr3-brief-row.is-lead dd > b { font-size: 19px; }
  .cr3 .cr3-action { max-width: none; width: 100%; }
  .cr3 .cr3-zone-meta > div { grid-template-columns: 76px 1fr; }
  .cr3 .cr3-report-hero { align-items: start; }
  .cr3 .cr3-report-summary { grid-template-columns: 1fr; }
  .cr3 .cr3-report-summary article + article { border-left: 0; border-top: 1px solid rgba(132, 179, 224, 0.12); }
  .cr3 .cr3-zone-spotlights { grid-template-columns: 1fr; }
  .cr3 .cr3-report-plan { grid-template-columns: 1fr; }
  .cr3 .cr3-report-plan article { padding: 11px 0; }
  .cr3 .cr3-report-plan article + article { padding-left: 0; border-left: 0; border-top: 1px solid var(--cr3-line); }
  .cr3 .cr3-report-levels > div,
  .cr3 .cr3-trade-level-grid,
  .cr3 .cr3-quick-levels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cr3 .cr3-report-actions-focused > .cr3-btn,
  .cr3 .cr3-more-actions { width: 100%; }
  .cr3 .cr3-more-actions > summary { width: 100%; }
  .cr3 .cr3-more-actions > div .cr3-btn { flex: 1 1 145px; }
}

/* The compact banner variant must not shrink recovery buttons below a
   comfortable touch target on small screens. */
@media (max-width: 700px) {
  .cr3 .cr3-chart[data-transport="iframe-mounted"] .cr3-chart-state-actions .cr3-btn {
    min-height: 40px; padding: 0 14px;
  }
}

/* The mounted-state banner always stacks. Placing the four recovery buttons
   in their own column squeezed the message into a two-word ribbon whenever
   the chart column was narrow. */
.cr3 .cr3-chart[data-transport="iframe-mounted"] .cr3-chart-state-inner {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "title" "body" "actions";
  gap: 3px;
}
.cr3 .cr3-chart[data-transport="iframe-mounted"] .cr3-chart-state-actions {
  justify-content: flex-start; margin-top: 7px;
}

/* ==============================================================
   FLAGSHIP INTELLIGENCE SURFACES
   Quick review, entry plan, scenarios, evidence status, decision
   map markers, and the running-phase panel.
   ============================================================== */

/* ---- panel: running phases ---- */
.cr3 .cr3-intel-running { display: grid; justify-items: start; gap: 8px; padding: 16px 0 4px; }
.cr3 .cr3-intel-running strong { font-size: 15px; font-weight: 660; color: #f2f7ff; }
.cr3 .cr3-intel-running p { margin: 0; font-size: 12.5px; color: var(--cr3-ink-soft); }
.cr3 .cr3-phase-list { margin: 8px 0 0; padding: 0; list-style: none; display: grid; gap: 1px; width: 100%; }
.cr3 .cr3-phase-list li {
  padding: 8px 0; font-size: 12.5px; color: var(--cr3-ink-faint);
  border-bottom: 1px solid var(--cr3-line);
}
.cr3 .cr3-phase-list li:last-child { border-bottom: 0; }
.cr3 .cr3-phase-list li.is-active { color: var(--cr3-cyan); font-weight: 620; }
.cr3 .cr3-phase-list li.is-done { color: rgba(160, 216, 192, 0.8); }
.cr3 .cr3-phase-list li.is-active::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 12px currentColor; vertical-align: 1px; }
.cr3 .cr3-phase-list li.is-done::before { content: "✓"; display: inline-block; width: 13px; margin-right: 1px; color: var(--cr3-ok); font-size: 10px; }

@keyframes cr3PanelArrive { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }

/* ---- panel: zone type + actions ---- */
.cr3 .cr3-zone-type {
  margin: -5px 0 9px; font-size: 11px; font-weight: 620; letter-spacing: 0.05em;
  text-transform: uppercase; color: var(--cr3-ink-faint);
}
.cr3 .cr3-intel-actions { display: grid; gap: 8px; margin-top: 14px; }
.cr3 .cr3-intel-actions .cr3-btn { width: 100%; }
.cr3 .cr3-view-compact { margin-top: 14px; padding: 13px 15px; }
.cr3 .cr3-view-compact p { font-size: 13px; }

/* ---- market evidence status ---- */
.cr3 .cr3-evidence {
  padding: 12px 14px; border-radius: 11px;
  background: linear-gradient(150deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.01));
  border: 1px solid var(--cr3-line);
  border-left: 2px solid rgba(240, 193, 104, 0.55);
}
.cr3 .cr3-evidence[data-evidence="connected"] { border-left-color: var(--cr3-ok); }
.cr3 .cr3-evidence-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.cr3 .cr3-evidence-head > span:first-child {
  font-size: 10.5px; font-weight: 660; letter-spacing: 0.08em; text-transform: uppercase; color: var(--cr3-ink-faint);
}
.cr3 .cr3-evidence .cr3-evidence-note {
  margin: 6px 0 0; padding-left: 0; border-left: 0;
  font-size: 12.5px; line-height: 1.55; color: var(--cr3-ink-soft);
}
.cr3 .cr3-action-hint { margin: 0; font-size: 12px; line-height: 1.5; color: var(--cr3-ink-faint); }

/* ---- quick review ---- */
.cr3 .cr3-quick {
  display: grid; gap: 12px; margin-top: 14px; padding: 18px 20px;
  border-radius: var(--cr3-radius);
  background: linear-gradient(150deg, rgba(103, 212, 245, 0.05), rgba(255, 255, 255, 0.012));
  border: 1px solid rgba(103, 212, 245, 0.2);
  backdrop-filter: blur(5px);
}
.cr3 .cr3-quick > header { display: grid; gap: 3px; }
.cr3 .cr3-quick > header > span {
  font-size: 10.5px; font-weight: 660; letter-spacing: 0.08em; text-transform: uppercase; color: var(--cr3-ink-faint);
}
.cr3 .cr3-quick > header > strong { font-size: 19px; font-weight: 700; letter-spacing: -0.014em; color: #f6faff; text-transform: capitalize; }
.cr3 .cr3-quick > dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px 22px; margin: 0; }
.cr3 .cr3-quick > dl > div { display: grid; gap: 2px; min-width: 0; }
.cr3 .cr3-quick > dl > div[data-quick-tone="confidence"],
.cr3 .cr3-quick > dl > div[data-quick-tone="buy"],
.cr3 .cr3-quick > dl > div[data-quick-tone="sell"] {
  padding: 10px 12px; border-radius: 9px; border: 1px solid rgba(122, 168, 220, 0.14);
}
.cr3 .cr3-quick > dl > div[data-quick-tone="confidence"] { background: rgba(103, 212, 245, 0.055); border-color: rgba(103, 212, 245, 0.2); }
.cr3 .cr3-quick > dl > div[data-quick-tone="buy"] { background: rgba(99, 211, 166, 0.075); border-color: rgba(99, 211, 166, 0.2); }
.cr3 .cr3-quick > dl > div[data-quick-tone="sell"] { background: rgba(240, 168, 120, 0.075); border-color: rgba(240, 168, 120, 0.2); }
.cr3 .cr3-quick > dl > div[data-quick-tone="buy"] dd { color: #c8f3e0; font-weight: 650; }
.cr3 .cr3-quick > dl > div[data-quick-tone="sell"] dd { color: #fadcc6; font-weight: 650; }
.cr3 .cr3-quick > dl > div[data-quick-tone="confidence"] dd { color: #bdefff; font-weight: 700; }
.cr3 .cr3-quick dt {
  font-size: 10.5px; font-weight: 620; letter-spacing: 0.06em; text-transform: uppercase; color: var(--cr3-ink-faint);
}
.cr3 .cr3-quick dd {
  margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--cr3-ink);
  font-variant-numeric: tabular-nums; overflow-wrap: anywhere;
}
.cr3 .cr3-quick blockquote {
  margin: 0; padding-left: 14px; border-left: 2px solid rgba(103, 212, 245, 0.45);
}
.cr3 .cr3-quick blockquote > span {
  display: block; margin-bottom: 4px;
  font-size: 10.5px; font-weight: 660; letter-spacing: 0.075em; text-transform: uppercase; color: var(--cr3-ink-faint);
}
.cr3 .cr3-quick blockquote p { margin: 0; font-size: 13.5px; line-height: 1.6; color: #e9f1fc; max-width: 82ch; }
.cr3 .cr3-quick-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.cr3 .cr3-collapsed-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; width: 100%; }
.cr3 .cr3-launcher.is-collapsed { display: grid; align-items: start; }

/* ---- entry plan ---- */
.cr3 .cr3-entry {
  display: grid; gap: 12px; padding: 18px 20px; border-radius: var(--cr3-radius);
  background: linear-gradient(150deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.012));
  border: 1px solid var(--cr3-line);
}
.cr3 .cr3-entry > header { display: flex; align-items: center; gap: 12px; }
.cr3 .cr3-entry > header > span:first-child {
  font-size: 11px; font-weight: 660; letter-spacing: 0.08em; text-transform: uppercase; color: var(--cr3-ink-faint);
}
.cr3 .cr3-chip-entry-high-quality { color: var(--cr3-buy); border-color: rgba(99, 211, 166, 0.32); background: rgba(99, 211, 166, 0.09); }
.cr3 .cr3-chip-entry-developing { color: var(--cr3-warn); border-color: rgba(240, 193, 104, 0.3); background: rgba(240, 193, 104, 0.08); }
.cr3 .cr3-chip-entry-weak { color: var(--cr3-ink-soft); }
.cr3 .cr3-chip-entry-no-trade { color: var(--cr3-bad); border-color: rgba(255, 143, 156, 0.32); background: rgba(255, 143, 156, 0.08); }
.cr3 .cr3-entry > dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px 24px; margin: 0; }
.cr3 .cr3-entry > dl > div { display: grid; gap: 3px; min-width: 0; }
.cr3 .cr3-entry dt {
  font-size: 10.5px; font-weight: 620; letter-spacing: 0.06em; text-transform: uppercase; color: var(--cr3-ink-faint);
}
.cr3 .cr3-entry dd { margin: 0; font-size: 13px; line-height: 1.55; color: var(--cr3-ink); overflow-wrap: anywhere; }
.cr3 .cr3-entry-note { margin: 0; font-size: 11.5px; color: var(--cr3-ink-faint); }

/* ---- scenarios ---- */
.cr3 .cr3-scenarios { display: grid; gap: 10px; }
.cr3 .cr3-scenarios > header > span {
  font-size: 11px; font-weight: 660; letter-spacing: 0.08em; text-transform: uppercase; color: var(--cr3-ink-faint);
}
.cr3 .cr3-scenario-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 10px; }
.cr3 .cr3-scenario {
  padding: 13px 15px; border-radius: 11px;
  background: var(--cr3-raise); border: 1px solid var(--cr3-line);
  border-top: 2px solid rgba(122, 168, 220, 0.28);
}
.cr3 .cr3-scenario[data-scenario="bullish"] { border-top-color: var(--cr3-buy); }
.cr3 .cr3-scenario[data-scenario="bearish"] { border-top-color: var(--cr3-sell); }
.cr3 .cr3-scenario > summary {
  display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; cursor: pointer; list-style: none;
}
.cr3 .cr3-scenario > summary::-webkit-details-marker { display: none; }
.cr3 .cr3-scenario > summary strong { font-size: 13.5px; font-weight: 660; color: #f2f7ff; }
.cr3 .cr3-scenario-score {
  font-family: var(--cr3-num); font-size: 12.5px; font-weight: 640; font-variant-numeric: tabular-nums;
  color: var(--cr3-cyan); align-self: center;
}
.cr3 .cr3-scenario > summary small {
  grid-column: 1 / -1; font-size: 12px; line-height: 1.45; color: var(--cr3-ink-faint);
}
.cr3 .cr3-scenario > summary:focus-visible { outline: 2px solid rgba(103, 212, 245, 0.6); outline-offset: 3px; border-radius: 7px; }
.cr3 .cr3-scenario > dl { display: grid; gap: 8px; margin: 12px 0 0; padding-top: 11px; border-top: 1px solid var(--cr3-line); }
.cr3 .cr3-scenario > dl > div { display: grid; gap: 2px; }
.cr3 .cr3-scenario dt {
  font-size: 10px; font-weight: 620; letter-spacing: 0.06em; text-transform: uppercase; color: var(--cr3-ink-faint);
}
.cr3 .cr3-scenario dd { margin: 0; font-size: 12.5px; line-height: 1.5; color: var(--cr3-ink-soft); }

/* ---- decision map: title, note, markers ---- */
.cr3 .cr3-ladder-title {
  font-size: 10.5px; font-weight: 660; letter-spacing: 0.08em; text-transform: uppercase; color: var(--cr3-ink-faint);
}
.cr3 .cr3-ladder-note { font-size: 11px; line-height: 1.45; color: var(--cr3-ink-faint); }
.cr3 .cr3-ladder-band small {
  margin-left: auto; margin-right: 8px; font-size: 10.5px; color: var(--cr3-ink-faint); white-space: nowrap;
}
.cr3 .cr3-ladder-mark {
  position: absolute; left: 0; right: 0; height: 0; display: flex; align-items: center;
  border-top: 1px dashed rgba(122, 168, 220, 0.4);
}
.cr3 .cr3-ladder-mark[data-kind="invalidation"] { border-top-color: rgba(255, 143, 156, 0.7); }
.cr3 .cr3-ladder-mark[data-kind="target"] { border-top-color: rgba(231, 199, 106, 0.55); }
.cr3 .cr3-ladder-mark span {
  margin-left: 8px; padding: 0 5px; border-radius: 4px;
  font-size: 10px; font-weight: 620; letter-spacing: 0.04em; text-transform: uppercase;
  background: rgba(6, 14, 26, 0.85);
}
.cr3 .cr3-ladder-mark[data-kind="invalidation"] span { color: var(--cr3-bad); }
.cr3 .cr3-ladder-mark[data-kind="target"] span { color: var(--cr3-gold); }

/* A single restrained completion cue when the briefing lands. */
@keyframes cr3Land { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.cr3[data-phase="report"] .cr3-report,
.cr3[data-phase="report"] .cr3-quick { animation: cr3Land 420ms ease-out both; }

@media (max-width: 640px) {
  .cr3 .cr3-quick { padding: 15px 16px; }
  .cr3 .cr3-quick > dl { grid-template-columns: 1fr; }
  .cr3 .cr3-entry { padding: 15px 16px; }
  .cr3 .cr3-quick-actions .cr3-btn { flex: 1 1 auto; }
}

@media (prefers-reduced-motion: reduce) {
  .cr3[data-phase="report"] .cr3-report,
  .cr3[data-phase="report"] .cr3-quick { animation: none; }
}

/* Evidence provenance: provider, candle count, freshness, last candle. */
.cr3 .cr3-evidence-meta {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 8px 18px; margin: 10px 0 0;
}
.cr3 .cr3-evidence-meta > div { display: grid; gap: 2px; min-width: 0; }
.cr3 .cr3-evidence-meta dt {
  font-size: 10px; font-weight: 620; letter-spacing: 0.06em; text-transform: uppercase; color: var(--cr3-ink-faint);
}
.cr3 .cr3-evidence-meta dd {
  margin: 0; font-size: 12.5px; color: var(--cr3-ink); font-variant-numeric: tabular-nums; overflow-wrap: anywhere;
}
.cr3 .cr3-evidence-actions { margin-top: 10px; }
.cr3 .cr3-evidence[data-evidence="connected"] { border-left-color: var(--cr3-ok); }
.cr3 .cr3-evidence[data-evidence="unavailable"] { border-left-color: var(--cr3-bad); }
.cr3 .cr3-evidence[data-evidence="unsupported"],
.cr3 .cr3-evidence[data-evidence="insufficient"],
.cr3 .cr3-evidence[data-evidence="stale"] { border-left-color: var(--cr3-warn); }
.cr3 .cr3-evidence[data-evidence="connecting"] { border-left-color: var(--cr3-cyan); }

/* ==============================================================
   AUREX DECISION MAP — numeric surface refinement

   The map carries four kinds of number in one column: zone range,
   distance, current price and level markers. Previously they shared
   one baseline and collided whenever two levels sat close together.
   Each class of number now has its own lane and its own weight.
   ============================================================== */

.cr3 .cr3-ladder-track {
  height: clamp(200px, 26vh, 260px);
  padding: 10px 0;
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.01)),
    repeating-linear-gradient(180deg, rgba(122, 168, 220, 0.055) 0 1px, transparent 1px 34px);
  border: 1px solid var(--cr3-line);
  overflow: hidden;
}

/* Zone bands: price on the left, distance on the right, never stacked. */
.cr3 .cr3-ladder-band {
  padding: 0 10px;
  min-height: 22px;
  gap: 10px;
  border-radius: 3px;
}
.cr3 .cr3-ladder-band span {
  margin-left: 0;
  font-size: 11.5px; font-weight: 600; letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums; color: #eaf3fb;
}
.cr3 .cr3-ladder-band small {
  margin-right: 0;
  font-size: 10px; font-weight: 560; letter-spacing: 0.01em;
  font-variant-numeric: tabular-nums; color: rgba(176, 199, 226, 0.72);
}

/* Current price is the reference line: brightest, and always on top. */
.cr3 .cr3-ladder-price { z-index: 3; border-top-width: 1px; }
.cr3 .cr3-ladder-price span {
  margin-right: 10px; padding: 2px 8px; border-radius: 5px;
  background: rgba(226, 240, 255, 0.16);
  border: 1px solid rgba(226, 240, 255, 0.24);
  font-size: 11px; font-weight: 660; letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums; color: #f4f9ff;
  box-shadow: 0 2px 10px rgba(2, 8, 18, 0.55);
}

/* Level markers sit on the opposite side to the band labels, so a marker
   and a zone at the same height cannot overlap. */
.cr3 .cr3-ladder-mark { z-index: 2; justify-content: flex-end; }
.cr3 .cr3-ladder-mark span {
  margin-left: 0; margin-right: 10px;
  padding: 1px 7px; border-radius: 4px;
  font-size: 9.5px; font-weight: 660; letter-spacing: 0.05em;
  font-variant-numeric: tabular-nums;
  background: rgba(4, 11, 22, 0.9);
  border: 1px solid rgba(122, 168, 220, 0.2);
}
.cr3 .cr3-ladder-mark[data-kind="invalidation"] span { border-color: rgba(255, 143, 156, 0.42); }
.cr3 .cr3-ladder-mark[data-kind="target"] span { border-color: rgba(231, 199, 106, 0.36); }

/* Title and trust note read as a caption pair, not as two stray lines. */
.cr3 .cr3-ladder { gap: 6px; }
.cr3 .cr3-ladder-title { margin-bottom: 1px; }
.cr3 .cr3-ladder-note { max-width: 42ch; }

@media (max-width: 980px) {
  .cr3 .cr3-ladder-track { height: clamp(170px, 22vh, 210px); }
}
@media (max-width: 640px) {
  /* On a phone the distance label is the first thing to go: the price range
     and the marker identity carry the meaning. */
  .cr3 .cr3-ladder-band small { display: none; }
  .cr3 .cr3-ladder-band span { font-size: 11px; }
}
