.terminal-visual {
  --term-position: 1;
  --term-trails: 1;
  --term-history: 1;
  --term-reactions: 0;
  --term-flow: 1;
  --term-flow-put: 0;
  --term-flow-call: 0;
  --term-activity: 0;
  position: relative;
  min-width: 0;
  isolation: isolate;
  font-variant-numeric: tabular-nums;
}
.term-shell {
  position: relative;
  background: #0c0e12;
  border: 1px solid #35434e;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 35px 100px #0006, inset 0 1px #64778430;
  transform-origin: center;
}
.term-toolbar {
  display: flex;
  align-items: center;
  gap: 20px;
  height: 47px;
  padding: 0 20px;
  border-bottom: 1px solid #252d37;
}
.term-instrument { display: flex; align-items: center; gap: 9px; }
.term-instrument img { object-fit: contain; width: 24px; height: 24px; }
.term-instrument strong { font-size: 12px; font-weight: 600; }
.term-instrument-name { font-size: 10px; color: #8795a6; }
.term-view-tabs { margin-left: auto; display: flex; gap: 18px; font-size: 9px; color: #8a99aa; }
.term-view-tabs span:first-child { color: #00d4c8; }
.term-sample { font-size: 8px; letter-spacing: .06em; color: #a1afbf; border-left: 1px solid #333d49; padding-left: 15px; }
.term-chart-wrap { padding: 12px 10px 2px; min-height: 0; }
.term-chart { display: block; width: 100%; height: auto; overflow: visible; font-family: Inter, Arial, sans-serif; }
.term-chart--mobile, .term-chart--wide { display: none; }
.term-chart text { font-size: 11px; fill: #9aa9bb; }
.term-chart .term-axis { font-size: 10px; fill: #9aa9bb; }
.term-chart .term-label { font-size: 9px; letter-spacing: .07em; fill: #aebccd; }
.term-chart .term-tag { font-size: 9px; letter-spacing: .04em; font-weight: 600; }
.term-chart .term-tiny { font-size: 8px; fill: #8898ac; }
.term-chart .term-cyan { fill: #00d4c8; }
.term-chart .term-pink { fill: #f472b6; }
.term-chart .term-muted { fill: #9aacbe; }
.term-grid { stroke: #1b222b; stroke-width: .7; }
.term-grid-vertical { stroke: #181f27; }
.term-seam, .term-panel-divider { stroke: #29333f; stroke-width: .8; }
.term-candle-up { fill: #10b998; stroke: #10b998; }
.term-candle-down { fill: #f36c75; stroke: #f36c75; }
.term-wick { stroke-width: .9; }
.term-level { stroke-width: .8; stroke-dasharray: 3 4; opacity: .65; }
.term-level-call { stroke: #00d4c8; }
.term-level-put { stroke: #f472b6; }
.term-level-mid { stroke: #8494a6; opacity: .4; }
.term-spine { stroke: #3b4857; stroke-width: 1; }
.term-gamma-positive { fill: #059669; }
.term-gamma-negative { fill: #ef4444; }
.term-gamma-call, .trail-call { fill: #00d4c8; }
.term-gamma-put, .trail-put { fill: #f472b6; }
.trail-mid { fill: #8293a8; }
.term-position { opacity: var(--term-position); }
.term-trails { opacity: var(--term-trails); }
.term-history-clip { transform: scaleX(var(--term-history)); transform-box: fill-box; transform-origin: left center; }
.term-reactions { opacity: var(--term-reactions); }
.term-flow { opacity: var(--term-flow); }
.term-flow-story-put { opacity: var(--term-flow-put); }
.term-flow-story-call { opacity: var(--term-flow-call); }
.term-activity, .term-activity-key { opacity: var(--term-activity); }
.term-flux-build { stroke: #16b985; fill: none; }
.term-flux-drain { stroke: #e66369; fill: none; }
.term-flux-quiet { opacity: .42; }
.term-flux-strong { filter: drop-shadow(0 0 3px currentColor); }
.term-flux-build.term-flux-strong { color: #04785766; }
.term-flux-drain.term-flux-strong { color: #b91c1c66; }
.term-chart .term-flux-title { fill: #d2dbe5; font-weight: 600; }
.term-chart .term-gex-value, .term-chart .term-flux-value { font-size: 9px; font-weight: 600; }
.term-chart .term-build-text { fill: #36c79c; }
.term-chart .term-drain-text { fill: #e67d83; }
.term-chart .term-ladder-key { font-size: 9px; letter-spacing: .03em; }
.term-flow-baseline { stroke: #34404f; stroke-dasharray: 2 4; stroke-width: .7; }
.term-flow-call { fill: #00d4c8; opacity: .78; }
.term-flow-put { fill: #9d8af7; opacity: .86; }
.term-chart .term-flow-key { font-size: 8px; fill: #a2afbe; letter-spacing: .04em; }
.term-chart .term-flow-note { font-size: 10px; letter-spacing: .015em; font-weight: 600; }
.term-chart .term-flow-note-call { fill: #71dcd2; }
.term-chart .term-flow-note-put { fill: #baaaf8; }
.term-flow-bracket { stroke-width: 1; }
.term-flow-bracket-call { stroke: #00d4c8; opacity: .6; }
.term-flow-bracket-put { stroke: #9d8af7; opacity: .65; }
.term-spot { stroke: #cbd5e1; stroke-width: .7; opacity: .4; }
.term-spot-label { fill: #dbe2eb; }
.term-chart .term-spot-text { fill: #111820; font-size: 9px; font-weight: 600; }
.term-reaction-ring { fill: #0c0e1222; stroke: #b8dcd7; stroke-width: .8; stroke-dasharray: 2 3; }
.term-reaction-leader { fill: none; stroke: #b8dcd7; stroke-width: .8; opacity: .7; }
.term-aggression { fill-opacity: .13; stroke-opacity: .78; stroke-width: 1.15; }
.term-aggression-buy { fill: #00d4c8; stroke: #00d4c8; }
.term-aggression-sell { fill: #f87171; stroke: #f87171; }
.term-absorption { fill: none; stroke-width: 2; stroke-linejoin: round; }
.term-absorption-buyer { stroke: #00d4c8; }
.term-absorption-seller { stroke: #f46780; }
.term-absorption-muted { stroke: #bac6d180; stroke-width: 1.4; }
.term-statusbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 32px; border-top: 1px solid #252d37; padding: 8px 16px; font-size: 8px; letter-spacing: .02em; color: #a1afbf; }
.term-statusbar i { display: inline-block; width: 4px; height: 4px; border-radius: 50%; background: #00d4c8; margin-right: 5px; }
.term-activity-key { white-space: nowrap; }
.term-statusbar .activity-circle { width: 7px; height: 7px; border: 1px solid #00d4c8; background: transparent; }
.term-statusbar .activity-diamond { width: 6px; height: 6px; border: 1px solid #f46780; border-radius: 0; transform: rotate(45deg); background: transparent; margin-left: 8px; }
.term-depth-caption { position: absolute; right: 40px; bottom: -26px; display: flex; gap: 10px; align-items: center; color: #a2afbe; font-size: 10px; letter-spacing: .015em; }
.terminal-visual[data-terminal-ready] > .terminal-poster { display: none; }
.terminal-poster { width: 100%; height: auto; display: block; }
.hero-terminal .term-shell { transform: perspective(1800px) rotateY(-9deg) rotateX(3deg) rotateZ(1deg); transition: border-color 180ms; }
.hero-terminal .term-ladder { transform: translateX(calc(var(--hero-depth, 0) * 7px)); }
.hero-terminal .term-depth-caption { transform: translateY(calc(var(--hero-depth, 0) * -22px)); }
.hero-terminal .term-activity-key { display: none; }
.explore-terminal .term-shell { height: 100%; display: flex; flex-direction: column; }
.explore-terminal .term-chart-wrap { flex: 1; display: flex; align-items: center; justify-content: center; min-height: 0; }
.explore-terminal .term-chart { width: 100%; height: 100%; max-height: 100%; }
.explore-terminal .term-toolbar, .explore-terminal .term-statusbar { flex: none; }

@media (max-width: 620px) {
  .term-chart--desktop { display: none; }
  .term-chart--mobile { display: block; }
  .term-toolbar { height: 39px; padding: 0 12px; gap: 8px; }
  .term-view-tabs { display: none; }
  .term-sample { margin-left: auto; border: 0; padding: 0; font-size: 7px; }
  .term-instrument-name { font-size: 8px; }
  .term-instrument strong { font-size: 11px; }
  .term-instrument img { width: 20px; height: 20px; }
  .term-statusbar { padding: 7px 9px; font-size: 7px; gap: 6px; min-height: 28px; flex-wrap: wrap; }
  .term-disclosure { margin-left: auto; }
  .term-activity-key { display: none; }
  .terminal-visual[data-terminal-phase="activity"] .term-activity-key { display: inline; }
  .terminal-visual[data-terminal-phase="activity"] .term-trail-key { display: none; }
  .term-chart-wrap { padding: 10px 3px 0; }
  .term-chart .term-label, .term-chart .term-tag { font-size: 11px; }
  .term-chart .term-axis { font-size: 12px; }
  .term-chart .term-flow-key { font-size: 10px; }
  .term-chart .term-flow-note { font-size: 12px; letter-spacing: 0; }
  .term-chart .term-ladder-key, .term-chart .term-gex-value, .term-chart .term-flux-value { font-size: 10px; }
  .term-chart .term-tiny { font-size: 9px; }
  .hero-terminal .term-shell { transform: none; }
  .term-depth-caption { right: 12px; bottom: -25px; font-size: 9px; }
}
@media (min-width: 901px) and (max-height: 800px) {
  .explore-terminal .term-chart--desktop { display: none; }
  .explore-terminal .term-chart--wide { display: block; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-terminal .term-shell, .hero-terminal .term-depth-caption, .hero-terminal .term-ladder { transform: none; }
}
