.search-card,
.panel,
.status {
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.shell { padding-top: 2px; }
.hero { align-items: start; }
.hero h1 { font-size: clamp(24px, 3.2vw, 42px); white-space: nowrap; }
.search-card { width: 100%; max-width: 360px; justify-self: end; padding: 14px; }
.search-card .search-row input { padding: 9px 11px; font-size: 16px; }
.search-card .search-row button { padding: 0 14px; }
.search-card .range-label { margin-top: 12px; }

.status {
  width: fit-content;
  min-height: 18px;
  margin: 0 0 10px;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  color: var(--muted);
  font: 13px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace;
}

.status.typing::after {
  content: '';
  display: inline-block;
  width: 7px;
  height: 1em;
  margin-left: 4px;
  background: currentColor;
  vertical-align: -2px;
  animation: status-caret .7s steps(1, end) infinite;
}

@keyframes status-caret { 50% { opacity: 0; } }

.panel:hover,
.search-card:hover {
  border-color: rgba(85, 237, 147, .58);
  box-shadow: 0 26px 80px rgba(0, 0, 0, .38), 0 0 0 1px rgba(85, 237, 147, .08), 0 0 32px rgba(85, 237, 147, .07);
  transform: translateY(-2px);
}

.metric {
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.metric:hover {
  transform: translateY(-3px);
  border-color: var(--cyan);
  background: #13271f;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .28);
}

.component-list > div {
  padding: 5px 6px;
  transition: background .18s ease, transform .18s ease;
}

.component-list > div:hover {
  background: rgba(98, 215, 223, .06);
  transform: translateX(4px);
}

.detail-row { transition: padding .18s ease, background .18s ease; }
.detail-row:hover {
  padding-left: 7px;
  padding-right: 7px;
  background: rgba(85, 237, 147, .055);
}

button,
.brand,
.search-row input {
  transition: transform .16s ease, box-shadow .2s ease, border-color .2s ease, filter .2s ease;
}

button:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(85, 237, 147, .2);
  filter: brightness(1.08);
}

button:active { transform: translateY(0) scale(.97); }
.brand-mark { transition: box-shadow .2s ease, background .2s ease; }
.brand:hover .brand-mark {
  box-shadow: 0 0 20px rgba(85, 237, 147, .45);
  background: rgba(85, 237, 147, .08);
}

.score-ring { transition: --score 1.25s cubic-bezier(.22,.75,.25,1), transform .25s ease, filter .25s ease; }
.score-ring:hover {
  transform: scale(1.045) rotate(2deg);
  filter: drop-shadow(0 0 18px rgba(85, 237, 147, .2));
}

.chart-line {
  filter: drop-shadow(0 0 4px rgba(85, 237, 147, .3));
  transition: filter .2s ease;
}

.chart-panel:hover .chart-line { filter: drop-shadow(0 0 8px rgba(85, 237, 147, .7)); }
.candle-point { outline: none; cursor: crosshair; }
.candle-point.bullish .candle-wick,.candle-point.bullish .candle-body { stroke: var(--green); fill: var(--green); }
.candle-point.bearish .candle-wick,.candle-point.bearish .candle-body { stroke: var(--red); fill: var(--red); }
.candle-volume { opacity: .35; }
.candle-point.bullish .candle-volume { fill: var(--green); }
.candle-point.bearish .candle-volume { fill: var(--red); }
.candle-point:hover,.candle-point:focus { filter: brightness(1.5) drop-shadow(0 0 4px currentColor); }
.bar i { transition: width .9s cubic-bezier(.22,.75,.25,1); }
.action-required-line { opacity: 0; }
.action-required-line.progress-reveal { animation: conditional-path-in 1.15s .75s ease forwards, conditional-dash-flow 1.8s 1.9s linear infinite; }
.chart-area { opacity: 0; }
.chart-area.progress-reveal { animation: chart-area-in 1s .45s ease forwards; }

@property --score {
  syntax: '<number>';
  inherits: false;
  initial-value: 0;
}

@keyframes conditional-path-in {
  from { opacity: 0; transform: translateX(-8px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes conditional-dash-flow { to { stroke-dashoffset: -34; } }
@keyframes chart-area-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
.status.warning { border-color: rgba(255, 200, 87, .62); color: var(--amber); }

.score-hero { grid-template-columns: minmax(180px, .7fr) auto minmax(130px, .4fr) auto minmax(460px, 1.2fr); gap: 20px; }
.model-score { display: grid; justify-items: center; gap: 7px; }
.model-side-label { margin: 0; color: var(--cyan); font-size: 10px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.trend-score-ring { --trend-color: var(--amber); background: radial-gradient(circle closest-side,var(--panel) 79%,transparent 80% 100%),conic-gradient(var(--trend-color) calc(var(--score)*1%),#1a3027 0); }
.trend-score-ring span { font-size: 7px; letter-spacing: .05em; white-space: nowrap; }
.trend-score-ring[data-tone="bullish"] { --trend-color: var(--green); }
.trend-score-ring[data-tone="bearish"] { --trend-color: var(--red); }
.action-callout { display: grid; min-width: 460px; gap: 7px; padding: 13px 17px; border: 1px solid var(--line); background: rgba(85, 237, 147, .035); }
.action-callout > span { color: var(--muted); font-size: 12px; }
.action-callout small { color: var(--muted); font-size: 13px; line-height: 1.45; white-space: nowrap; }
#scoreMath { display: none; }
.action-callout strong { font-size: clamp(15px, 1.45vw, 20px); line-height: 1.2; color: var(--green); white-space: nowrap; }
.action-callout[data-tone="sell"] { border-color: rgba(255, 107, 104, .5); background: rgba(255, 107, 104, .045); }
.action-callout[data-tone="sell"] strong { color: var(--red); }
.action-callout[data-tone="watch"],.action-callout[data-tone="hold"] { border-color: rgba(255, 200, 87, .45); }
.action-callout[data-tone="watch"] strong,.action-callout[data-tone="hold"] strong { color: var(--amber); }
.action-callout[data-tone="contrarian"] { border-color: rgba(98, 215, 223, .55); }
.action-callout[data-tone="contrarian"] strong { color: var(--cyan); }
.action-callout em { color: var(--cyan); font-size: clamp(13px, 1.35vw, 20px); font-weight: 800; font-style: normal; line-height: 1.2; white-space: nowrap; }
.action-callout[data-legacy-tone="bearish"] em { color: var(--red); }
.action-callout[data-legacy-tone="bullish"] em { color: var(--green); }
.action-callout[data-legacy-tone="neutral"] em { color: var(--cyan); }
.trend-panel { margin-bottom: 12px; }
.mode-toggle[aria-pressed="true"] { position: relative; overflow: hidden; border-color: rgba(217,120,255,.78); color: #e6adff; background: rgba(217,120,255,.09); box-shadow: 0 0 0 rgba(217,120,255,0); animation: advanced-border-pulse 1.55s ease-in-out infinite; }
.mode-toggle[aria-pressed="true"]::before,.mode-toggle[aria-pressed="true"]::after { content: ""; position: absolute; z-index: 1; width: 30%; height: 2px; pointer-events: none; background: linear-gradient(90deg,transparent,#d978ff 27%,#f3d8ff 50%,#d978ff 73%,transparent); filter: drop-shadow(0 0 3px #d978ff); }
.mode-toggle[aria-pressed="true"]::before { top: -1px; left: -32%; animation: advanced-current-forward 1.55s linear infinite; }
.mode-toggle[aria-pressed="true"]::after { bottom: -1px; right: -32%; animation: advanced-current-reverse 1.55s linear infinite .78s; }
@keyframes advanced-current-forward { to { transform: translateX(470%); } }
@keyframes advanced-current-reverse { to { transform: translateX(-470%); } }
@keyframes advanced-border-pulse { 50% { border-color: #efb8ff; box-shadow: 0 0 10px rgba(217,120,255,.32), inset 0 0 8px rgba(217,120,255,.09); } }
.current-mode-label { color: var(--muted); font: 800 10px ui-monospace, monospace; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.options-panel { display: none !important; }
.options-panel .panel-heading strong { color: var(--amber); font: 900 14px ui-monospace, monospace; }
.options-panel[data-tone="bullish"] { border-color: rgba(85, 237, 147, .55); }
.options-panel[data-tone="bullish"] .panel-heading strong { color: var(--green); }
.options-panel[data-tone="bearish"] { border-color: rgba(255, 107, 104, .55); }
.options-panel[data-tone="bearish"] .panel-heading strong { color: var(--red); }
.options-metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.decision-measures { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.decision-measures[hidden] { display: none; }
.model-stack { height: clamp(420px, 80dvh, 900px); margin-bottom: 12px; overflow: hidden; box-sizing: border-box; display: flex; flex-direction: column; }
.model-stack[hidden] { display: none; }
.model-stack-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.model-stack-head h3 { margin: 0; font-size: 15px; }
.stack-controls { display: flex; align-items: center; gap: 7px; color: var(--muted); font: 9px ui-monospace, monospace; text-transform: uppercase; }
.stack-controls button { width: 30px; height: 30px; padding: 0; border: 1px solid var(--line); background: transparent; color: var(--text); }
.stack-controls #stackReset { width: auto; min-width: 48px; padding: 0 7px; font-size: 8px; }
.stack-controls #stackAutoTour { width: auto; min-width: 66px; padding: 0 8px; font-size: 8px; }
.stack-controls #stackAutoTour[aria-pressed="true"] { border-color: #55e6cf; color: #55e6cf; background: rgba(85,230,207,.09); box-shadow: inset 0 -2px #55e6cf; }
.stack-controls #stackFullscreen { width: auto; min-width: 74px; padding: 0 8px; font-size: 8px; }
.model-stack:fullscreen,.model-stack.is-fullscreen-fallback { width: 100vw; height: 100dvh; max-height: none; margin: 0; padding: 22px; border: 0; background: radial-gradient(circle at 75% 0,rgba(85,237,147,.1),transparent 38%),var(--bg); }
.model-stack.is-fullscreen-fallback { position: fixed; inset: 0; z-index: 120; }
.model-stack:fullscreen #stackFullscreen,.model-stack.is-fullscreen-fallback #stackFullscreen { border-color: #55e6cf; color: #55e6cf; }
body.model-fullscreen-open { overflow: hidden; }
.layer-selector { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 5px; margin-top: 10px; }
.layer-selector button { min-height: 28px; padding: 0 7px; border: 1px solid var(--line); background: rgba(7,16,13,.72); color: var(--muted); font-size: 8px; }
.layer-selector button:hover { color: var(--text); border-color: var(--cyan); transform: none; }
.layer-selector button[aria-pressed="true"] { color: #55e6cf; border-color: #55e6cf; background: rgba(85,230,207,.1); box-shadow: inset 0 -2px #55e6cf; }
.model-stack[data-mode="advanced"] .layer-selector button[data-select-layer="candles"],.model-stack[data-mode="advanced"] .layer-selector button[data-select-layer="wave"],.model-stack[data-mode="advanced"] .layer-selector button[data-select-layer="k"] { color: #d978ff; }
.model-stack[data-mode="advanced"] .layer-selector button[aria-pressed="true"] { border-color: #d978ff; box-shadow: inset 0 -2px #d978ff; }
.model-stack-stage { position: relative; flex: 1 1 auto; min-height: 0; perspective: 1050px; perspective-origin: 50% 48%; outline: none; cursor: grab; touch-action: none; user-select: none; }
.model-stack-stage.dragging { cursor: grabbing; }
.model-stack-stage:focus-visible { box-shadow: inset 0 0 0 1px var(--cyan); }
.model-stack-scene { position: absolute; inset: 4% 3% 12%; transform-style: preserve-3d; transform-origin: 50% 50%; transition: transform .18s ease-out; }
.model-stack-stage.dragging .model-stack-scene { transition: none; }
.model-layer {
  position: absolute; top: 5%; left: 14%; width: 72%; height: 90%; padding: 18px 22px; box-sizing: border-box;
  display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto minmax(0,1fr); align-content: stretch; gap: 5px 16px;
  border: 1px solid rgba(98,215,223,.62); background: rgba(11,27,22,.82); box-shadow: 0 18px 34px rgba(0,0,0,.34), inset 0 0 30px rgba(98,215,223,.035);
  transform: translate3d(0,var(--stack-y),calc(var(--stack-z) + var(--selection-z, 0px))); transform-style: preserve-3d; backface-visibility: visible;
  transition: transform .35s cubic-bezier(.2,.75,.2,1), opacity .25s, filter .25s;
}
.model-layer { cursor: pointer; }
.model-layer.is-selected { z-index: 20; opacity: 1 !important; border: 2px solid #45bfae; background: linear-gradient(135deg,rgb(9,29,24),rgb(7,23,27)); filter: brightness(1.12) saturate(1.08); box-shadow: 0 24px 48px rgba(0,0,0,.58), 0 0 0 1px rgba(69,191,174,.14), 0 0 18px rgba(72,205,230,.28), inset 0 0 32px rgba(69,191,174,.055); }
.model-stack:has(.model-layer.is-selected) .model-layer:not(.is-selected) { opacity: .34 !important; filter: grayscale(.62) brightness(.72); }
.model-stack[data-mode="advanced"] .model-layer.advanced-layer.is-selected { border-color: #45bfae; background: linear-gradient(135deg,rgb(9,29,24),rgb(7,23,27)); box-shadow: 0 24px 48px rgba(0,0,0,.58), 0 0 0 1px rgba(69,191,174,.14), 0 0 18px rgba(72,205,230,.28), inset 0 0 32px rgba(69,191,174,.055); }
.model-stack[data-mode="advanced"] .layer-selector button[aria-pressed="true"] { color: #55e6cf; border-color: #55e6cf; background: rgba(85,230,207,.1); box-shadow: inset 0 -2px #55e6cf; }
.model-layer.is-muted { opacity: .22 !important; filter: grayscale(.7); }
.model-layer.is-upstream { border-color: rgba(98,215,223,.72); opacity: .62; }
.model-layer.is-downstream { border-color: rgba(217,120,255,.58); opacity: .42; }
.model-layer.is-upstream::after,.model-layer.is-downstream::after { position: absolute; top: 7px; right: 9px; font: 7px ui-monospace, monospace; letter-spacing: .11em; text-transform: uppercase; }
.model-layer.is-upstream::after { content: 'Input'; color: var(--cyan); }
.model-layer.is-downstream::after { content: 'Output'; color: #d978ff; }
.model-layer:focus-visible { outline: 2px solid var(--amber); outline-offset: 3px; }
.layer-pick-handle { position: absolute; left: var(--layer-handle-x); top: var(--layer-handle-y); z-index: 30; width: 88px; min-height: 25px; padding: 0 6px; border: 1px solid rgba(98,215,223,.62); background: rgba(5,18,16,.96); color: var(--cyan); font: 800 7px ui-monospace, monospace; letter-spacing: .04em; text-align: left; white-space: nowrap; transform: translateZ(4px); }
.layer-pick-handle:hover,.layer-pick-handle:focus-visible { border-color: #55e6cf; color: #55e6cf; background: rgba(16,50,43,.99); box-shadow: 0 0 16px rgba(85,230,207,.45); transform: translateZ(7px); }
.model-layer.is-selected .layer-pick-handle { border-color: #45bfae; color: #bfece5; background: #12352f; box-shadow: 0 0 8px rgba(69,191,174,.28); }
.model-layer span { color: var(--muted); font: 8px ui-monospace, monospace; letter-spacing: .12em; text-transform: uppercase; }
.model-layer strong { grid-column: 1; font-size: 17px; text-transform: uppercase; }
.model-layer em { grid-column: 2; grid-row: 1 / 3; align-self: center; color: var(--cyan); font: 900 14px ui-monospace, monospace; font-style: normal; }
.model-layer > .layer-mini-chart { grid-column: 1 / -1; grid-row: 3; width: 100%; height: 100%; min-height: 250px; margin: 8px 0 0; }
.model-layer > button { position: absolute; top: 58px; left: 22px; min-height: 26px; padding: 0 9px; border: 1px solid #d978ff; background: rgba(217,120,255,.08); color: #d978ff; font-size: 8px; }
.model-layer.advanced-layer { border-color: rgba(217,120,255,.58); background: rgba(27,16,31,.92); }
.model-layer.advanced-layer em { color: #d978ff; }
.model-stack[data-mode="standard"] .advanced-layer { opacity: .28; filter: grayscale(.75); }
.model-stack[data-mode="advanced"] .standard-layer { opacity: .72; }
.model-stack .model-layer.is-selected { border-color: #45bfae !important; background: linear-gradient(135deg,rgb(9,29,24),rgb(7,23,27)) !important; box-shadow: 0 24px 48px rgba(0,0,0,.58),0 0 0 1px rgba(69,191,174,.14),0 0 18px rgba(72,205,230,.28),inset 0 0 32px rgba(69,191,174,.055) !important; }
.model-stack .model-layer.is-selected > em { color: #55e6cf !important; }
.model-stack .model-layer.is-selected > button { border-color: #45bfae; color: #8fe1d5; background: rgba(69,191,174,.08); }
.model-stack .model-layer.is-selected::after { content: 'Selected'; position: absolute; top: 8px; right: 10px; color: #55e6cf; font: 800 7px ui-monospace,monospace; letter-spacing: .12em; text-transform: uppercase; }
.stack-help { margin: -4px 0 0; color: var(--muted); font: 9px ui-monospace, monospace; text-align: center; text-transform: uppercase; letter-spacing: .08em; }
.layer-inspector { position: absolute; z-index: 4; left: 38px; bottom: 31px; width: min(520px, 48%); padding: 12px 14px; border-left: 2px solid var(--cyan); background: rgba(7,16,13,.94); box-shadow: 0 12px 30px rgba(0,0,0,.28); pointer-events: none; }
.model-stack { position: relative; }
.layer-inspector > span { color: var(--cyan); font: 8px ui-monospace, monospace; letter-spacing: .1em; text-transform: uppercase; }
.layer-inspector > strong { display: block; margin-top: 3px; font-size: 16px; text-transform: uppercase; }
.layer-inspector p { margin: 5px 0 9px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.layer-mini-chart { display: block; width: 100%; height: 190px; margin: 7px 0 10px; border: 1px solid rgba(36,68,55,.72); background: rgba(4,12,9,.72); }
.layer-mini-chart .mini-grid { stroke: rgba(36,68,55,.65); stroke-width: 1; }
.layer-mini-chart .mini-bar { fill: var(--cyan); }
.layer-mini-chart .mini-bar.advanced { fill: #d978ff; }
.layer-mini-chart .mini-line { fill: none; stroke: var(--green); stroke-width: 2; }
.layer-mini-chart .mini-wick { stroke-width: 1; }
.layer-mini-chart .mini-label { fill: var(--muted); font: 9px ui-monospace, monospace; text-transform: uppercase; }
.layer-mini-chart .mini-value { fill: var(--text); font: 10px ui-monospace, monospace; }
.layer-mini-chart .mini-formula { box-sizing: border-box; width: 100%; overflow: hidden; color: #f2f8f4; background: rgba(4,12,9,.82); font: 12px/22px "STIX Two Math", "Cambria Math", "Times New Roman", serif; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.layer-mini-chart .mini-formula var { font-family: inherit; font-style: italic; }
.layer-mini-chart .mini-formula sub,.layer-mini-chart .mini-formula sup { font-size: .7em; line-height: 0; }
.layer-mini-chart .mini-meta { box-sizing: border-box; display: grid; grid-template-columns: 56px minmax(0,1fr) 56px minmax(0,1fr); gap: 4px 7px; width: 100%; height: 100%; padding: 6px 8px; border-top: 1px solid rgba(36,68,55,.72); background: rgba(4,12,9,.94); align-items: baseline; }
.layer-mini-chart .mini-meta small { color: var(--muted); font: 8px ui-monospace, monospace; text-transform: uppercase; }
.layer-mini-chart .mini-meta b { overflow: hidden; color: var(--text); font: 700 9px/1.25 ui-monospace, monospace; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.layer-inspector button { width: 100%; min-height: 28px; margin-top: 9px; padding: 0 9px; border: 1px solid #d978ff; background: rgba(217,120,255,.08); color: #d978ff; font-size: 8px; pointer-events: auto; }
.trend-component-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.trend-factor { padding: 10px; border: 1px solid var(--line); background: var(--panel); }
.trend-factor span { display: block; min-height: 28px; color: var(--muted); font-size: 9px; }
.trend-factor strong { font: 800 13px ui-monospace, monospace; }
.trend-factor.active { border-color: rgba(85, 237, 147, .5); background: rgba(85, 237, 147, .055); }
.trend-factor.active strong { color: var(--green); }
.trend-disclaimer { margin: 13px 0 0; color: var(--muted); font-size: 10px; }
.action-layout { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; margin-bottom: 12px; align-items: stretch; }
.action-visual { position: relative; margin-bottom: 0; min-width: 0; }
.action-candle-toggle { position: absolute; top: 12px; right: 12px; z-index: 2; min-height: 30px; padding: 0 10px; border: 1px solid var(--line); background: rgba(7,16,13,.88); color: var(--muted); font-size: 9px; }
.action-candle-toggle[aria-pressed="true"] { border-color: #d978ff; color: #d978ff; }
.action-visual > .panel-heading { display: none; }
.model-anatomy-panel { min-width: 0; margin-bottom: 12px; }
.price-chart-row { margin-bottom: 12px; }
.price-chart-row:has(.chart-panel[hidden]) { display: none; }
.action-chart-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; color: var(--muted); font-size: 9px; text-transform: uppercase; }
.action-chart-legend span { display: inline-flex; align-items: center; gap: 5px; }
.action-chart-legend i { display: inline-block; width: 22px; border-top: 2px solid var(--green); }
.action-chart-legend i.dotted { border-top-style: dashed; border-color: var(--cyan); }
#actionChart { display: block; width: 100%; height: auto; }
.action-observed-line { fill: none; stroke: var(--green); stroke-width: 3; filter: drop-shadow(0 0 5px rgba(85, 237, 147, .28)); }
#actionChart.candles-visible .action-observed-line { opacity: .22; }
.action-candle { outline: none; cursor: crosshair; }
.action-candle.bullish .action-candle-wick,.action-candle.bullish .action-candle-body { stroke: var(--green); fill: var(--green); }
.action-candle.bearish .action-candle-wick,.action-candle.bearish .action-candle-body { stroke: var(--red); fill: var(--red); }
.action-candle:hover,.action-candle:focus { filter: brightness(1.55) drop-shadow(0 0 4px currentColor); }
.candle-signal-arrow { outline: none; cursor: help; }
.candle-signal-arrow-shaft { fill: none; stroke-width: 2; stroke-dasharray: 4 3; }
.candle-signal-arrow-head { stroke: none; }
.candle-signal-arrow.buy { color: #4da7ff; filter: drop-shadow(0 0 4px rgba(77,167,255,.42)); }
.candle-signal-arrow.sell { color: #ffd257; filter: drop-shadow(0 0 4px rgba(255,210,87,.38)); }
.candle-signal-arrow.buy .candle-signal-arrow-shaft { stroke: #4da7ff; }
.candle-signal-arrow.sell .candle-signal-arrow-shaft { stroke: #ffd257; }
.candle-signal-arrow.buy .candle-signal-arrow-head { fill: #4da7ff; }
.candle-signal-arrow.sell .candle-signal-arrow-head { fill: #ffd257; }
.candle-signal-arrow:hover .candle-signal-arrow-shaft,.candle-signal-arrow:focus .candle-signal-arrow-shaft { stroke-width: 3; stroke-dasharray: none; }
.candle-signal-label { font: 900 7px ui-monospace, monospace; letter-spacing: .05em; }
.candle-signal-label.buy { fill: #4da7ff; }
.candle-signal-label.sell { fill: #ffd257; }
.candle-signal-date { fill: var(--text); }
.candle-signal-badge-group { cursor: zoom-in; outline: none; transform-box: fill-box; transform-origin: center; transition: transform .16s ease,filter .16s ease; }
.candle-signal-badge-group:hover,.candle-signal-badge-group:focus { transform: scale(1.5); filter: brightness(1.16); }
.candle-signal-badge { stroke-width: 1; }
.candle-signal-badge.buy { fill: rgba(77,167,255,.2); stroke: #67b5ff; }
.candle-signal-badge.sell { fill: rgba(255,210,87,.2); stroke: #ffda70; }
.candle-signal-price { font: 800 6.5px ui-monospace,monospace; }
.candle-signal-price.buy,.candle-signal-price.sell { fill: var(--text); }
.action-required-line { fill: none; stroke: var(--cyan); stroke-width: 3; stroke-dasharray: 9 8; filter: drop-shadow(0 0 5px rgba(98, 215, 223, .28)); }
.action-required-line.bearish { stroke: var(--red); filter: drop-shadow(0 0 5px rgba(255, 107, 104, .3)); }
.action-now-dot { fill: var(--amber); stroke: var(--bg); stroke-width: 4; }
.action-confirm-dot { fill: var(--cyan); stroke: var(--bg); stroke-width: 4; }
.action-chart-grid { stroke: var(--line); stroke-width: 1; }
.action-chart-divider { stroke: var(--amber); stroke-width: 1; stroke-dasharray: 3 6; opacity: .7; }
.action-chart-label { fill: var(--muted); font: 10px ui-monospace, monospace; letter-spacing: .08em; }
.action-chart-price-label { fill: var(--amber); font: 10px ui-monospace, monospace; }
.action-k-line { stroke: #d978ff; stroke-width: 3; stroke-dasharray: 7 6; opacity: .95; }
.action-k-label { fill: #d978ff; font: 800 10px ui-monospace, monospace; letter-spacing: .06em; }
.action-k-area { fill: rgba(217,120,255,.11); stroke: none; pointer-events: none; }
.action-k-area.k90 { fill: rgba(98,215,223,.07); }
.action-k-stat { fill: #dca0f4; font: 700 7.5px ui-monospace,monospace; letter-spacing: .015em; }
.action-k-stat.probability { fill: var(--muted); }
.disclosures-panel { margin-top: 12px; }
.disclosures-panel[hidden] { display: none; }
.disclosure-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.disclosure-card,.congress-disclosure { border: 1px solid var(--line); background: rgba(7,16,13,.48); padding: 14px; }
.disclosure-card h4 { margin: 0; font-size: 14px; }
.disclosure-card > .muted { margin: 4px 0 10px; }
.disclosure-meta,.disclosure-unavailable,.congress-disclosure p { color: var(--muted); font-size: 11px; line-height: 1.5; margin: 0 0 10px; }
.disclosure-list { list-style: decimal; margin: 0 0 12px; padding-left: 22px; display: grid; gap: 5px; font-size: 11px; }
.disclosure-list li { display: flex; justify-content: space-between; gap: 12px; }
.disclosure-list li span { min-width: 0; overflow-wrap: anywhere; }
.disclosure-list strong { font-family: ui-monospace,SFMono-Regular,Menlo,monospace; white-space: nowrap; }
.disclosure-card a,.congress-disclosure a { color: var(--cyan); font-size: 11px; font-weight: 800; }
.congress-disclosure { margin-top: 12px; }
.congress-disclosure strong { font-size: 13px; }
@media(max-width:560px){.disclosure-grid{grid-template-columns:1fr}.disclosure-list li{align-items:baseline}}
.action-chart-now-label { fill: var(--amber); font: 800 10px ui-monospace, monospace; }
.chart-axis-tick,.action-axis-tick { stroke: var(--muted); stroke-width: 1; }
.action-axis-tick.projected { stroke: var(--cyan); opacity: .75; }
.action-chart-label.projected { fill: var(--cyan); }
.action-data-point {
  fill: transparent;
  stroke: transparent;
  stroke-width: 2;
  cursor: crosshair;
  outline: none;
}
.action-data-point:hover,
.action-data-point:focus {
  fill: var(--amber);
  stroke: var(--bg);
  filter: drop-shadow(0 0 5px var(--amber));
}
.action-data-point.projected:hover,
.action-data-point.projected:focus {
  fill: var(--cyan);
  filter: drop-shadow(0 0 5px var(--cyan));
}
.action-now-dot,.action-confirm-dot,.action-k-dot { cursor: pointer; outline: none; }
.action-price-tooltip rect { fill: #07100d; stroke: var(--amber); stroke-width: 1; }
.action-price-tooltip text { fill: var(--text); font: 800 9px ui-monospace,monospace; letter-spacing: .03em; pointer-events: none; }

@media (max-width: 1250px) {
  .score-hero { grid-template-columns: 1fr auto; }
  .action-callout { min-width: 0; }
  .classification,.action-callout { grid-column: auto; }
  .action-layout { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .hero h1 { font-size: clamp(13px, 4.2vw, 24px); }
  .search-card { max-width: none; justify-self: stretch; }
  .score-hero { grid-template-columns: 1fr; }
  .action-callout { width: 100%; padding-left: 12px; padding-right: 12px; }
  .action-callout strong { font-size: clamp(14px, 4.8vw, 20px); }
  .action-callout em { font-size: clamp(12px, 4vw, 18px); }
  .trend-component-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .options-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .decision-measures { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.ticker-field { position: relative; min-width: 0; }
.ticker-field > input { width: 100%; }
.ticker-suggestions {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  z-index: 50;
  max-height: 310px;
  overflow-y: auto;
  border: 1px solid var(--line);
  background: #091510;
  box-shadow: 0 20px 50px rgba(0, 0, 0, .48);
}
.ticker-suggestions[hidden] { display: none; }
.ticker-option {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 48px;
  padding: 8px 10px;
  border: 0;
  border-bottom: 1px solid rgba(36, 68, 55, .62);
  background: transparent;
  color: var(--text);
  text-align: left;
  text-transform: none;
  letter-spacing: 0;
}
.ticker-option:last-child { border-bottom: 0; }
.ticker-option:hover,
.ticker-option.active { transform: none; background: rgba(85, 237, 147, .1); box-shadow: inset 3px 0 var(--green); }
.ticker-option-symbol { color: var(--green); font: 800 13px ui-monospace, SFMono-Regular, monospace; }
.ticker-option-name { overflow: hidden; color: var(--text); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.ticker-option-meta { color: var(--muted); font-size: 9px; text-transform: uppercase; white-space: nowrap; }
.ticker-suggestion-status { padding: 12px; color: var(--muted); font-size: 11px; }

.topbar-actions { display: flex; align-items: center; gap: 14px; }
.rankings-toggle {
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--text);
  font-size: 10px;
}
.rankings-toggle span { color: var(--green); margin-left: 5px; }
.metrics-grid[hidden],.chart-panel[hidden],.trend-panel[hidden],.three-col[hidden] { display: none; }
.two-col:has(.chart-panel[hidden]) { grid-template-columns: 1fr; }
.rankings-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 80;
  width: min(440px, 92vw);
  padding: 22px;
  overflow-y: auto;
  border-left: 1px solid var(--line);
  background: rgba(7, 16, 13, .98);
  box-shadow: -28px 0 80px rgba(0, 0, 0, .48);
  transform: translateX(102%);
  visibility: hidden;
  transition: transform .26s ease, visibility .26s;
}
.rankings-drawer.open { transform: translateX(0); visibility: visible; }
.rankings-drawer-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.rankings-drawer-head h2 { margin: 0; font-size: 25px; }
.drawer-close {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--text);
  font-size: 22px;
}
.rankings-note,.rankings-progress { color: var(--muted); font-size: 11px; line-height: 1.5; }
.rankings-progress { margin: 16px 0; padding: 10px; border: 1px solid var(--line); }
.rankings-levels { display: grid; gap: 8px; }
.ranking-level { border: 1px solid var(--line); background: var(--panel); }
.ranking-level summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px;
  color: var(--text);
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}
.ranking-level summary::-webkit-details-marker { display: none; }
.ranking-level summary span { color: var(--muted); font-weight: 500; }
.ranking-level-list { display: grid; border-top: 1px solid var(--line); }
.ranking-result {
  display: grid;
  grid-template-columns: 28px 58px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 42px;
  padding: 7px 10px;
  border: 0;
  border-bottom: 1px solid rgba(36, 68, 55, .55);
  background: transparent;
  color: var(--text);
  text-align: left;
  text-transform: none;
  letter-spacing: 0;
}
.ranking-result:last-child { border-bottom: 0; }
.ranking-result:hover { transform: none; background: rgba(85, 237, 147, .08); box-shadow: inset 3px 0 var(--green); }
.ranking-position { color: var(--muted); font-size: 10px; }
.ranking-symbol { color: var(--green); font: 800 11px ui-monospace, monospace; }
.ranking-name { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.ranking-score { font: 800 12px ui-monospace, monospace; }
.ranking-level-empty { padding: 12px; color: var(--muted); font-size: 10px; }
.drawer-scrim {
  position: fixed;
  inset: 0;
  z-index: 70;
  display: none;
  padding: 0;
  border: 0;
  background: rgba(0, 0, 0, .54);
}
.drawer-scrim.open { display: block; }
.drawer-scrim:hover { transform: none; box-shadow: none; filter: none; }
body.drawer-open { overflow: hidden; }

@media (max-width: 560px) {
  .live-chip { display: none; }
  .rankings-toggle { padding: 0 9px; }
  .rankings-drawer { padding: 17px; }
  .layer-selector { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (hover: none), (pointer: coarse) {
  .panel:hover,
  .search-card:hover,
  .metric:hover { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation: none !important;
    transition: none !important;
  }
}
.action-k-dot{fill:#d978ff;stroke:#07100d;stroke-width:2}.action-k-connector{stroke:#d978ff;stroke-width:1;stroke-dasharray:3 4;opacity:.55}
