/* Scoped terminal card: deliberately independent of the surrounding meme-site controls. */
.stoch-panel .chart-zone-status { min-height: 29px; box-sizing: border-box; padding: 7px 16px; border-top: 1px solid #242932; background: #12151a; color: #9aa8b8; font: 10px/1.5 Arial, sans-serif; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.stoch-panel .chart-zone-status[data-state='stale'] { color: #dfbc83; }
.stoch-panel .zone-selection { display: flex; align-items: center; justify-content: space-between; gap: 8px 16px; padding: 8px 16px; border-block: 1px solid #303c4d; background: #18212d; color: #b7cff0; font: 11px/1.5 Arial, sans-serif; }
.stoch-panel .zone-selection[hidden] { display: none; }
.stoch-panel #zoneSelectionLabel { min-width: 0; overflow-wrap: anywhere; }
.stoch-panel #clearZoneSelection { flex-shrink: 0; min-height: 32px; padding: 5px 9px; border: 1px solid #3c506a; border-radius: 4px; background: #1c2a3c; color: #c5d7ee; font: 11px Arial, sans-serif; text-transform: none; letter-spacing: 0; box-shadow: none; }
.stoch-panel .timeframe-control { max-width: 100%; flex-wrap: wrap; }
.stoch-panel .zone-map { padding: 18px 20px; border-bottom: 1px solid #292c34; background: #121418; color: #e7e9ef; font: 12px/1.5 Arial, sans-serif; font-variant-numeric: tabular-nums; }
.zone-map [hidden] { display: none !important; }
.zone-map .zone-map-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.zone-map .zone-map-title { min-width: 0; }
.zone-map .zone-map-title-line { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.zone-map h4 { margin: 0; color: #edf0f6; font-size: 14px; font-weight: 600; letter-spacing: 0; }
.zone-map .zone-map-title-line > span { color: #8f98a9; font-size: 10px; }
.zone-map .zone-map-context { margin: 4px 0 0; color: #a8afbc; font-size: 11px; overflow-wrap: anywhere; }
.zone-map .zone-map-quote { flex-shrink: 0; text-align: right; }
.zone-map .zone-map-quote span { display: block; color: #8f98a9; font-size: 9px; }
.zone-map .zone-map-quote strong { color: #edf0f6; font-size: 16px; font-weight: 600; }
.zone-map .zone-map-tabs { display: flex; width: fit-content; flex-wrap: wrap; gap: 3px; margin-top: 14px; padding: 3px; border: 1px solid #303540; border-radius: 6px; background: #191c22; }
.stoch-panel .zone-map button { box-sizing: border-box; border: 1px solid #343b47; border-radius: 5px; background: #1b2028; color: #bec7d5; font-family: Arial, sans-serif; font-weight: 500; letter-spacing: 0; line-height: 1.4; text-transform: none; box-shadow: none; transform: none; cursor: pointer; }
.stoch-panel .zone-map .zone-map-tab { min-width: 48px; min-height: 32px; padding: 5px 12px; border-color: transparent; background: transparent; font-size: 11px; }
.zone-map .zone-map-tab::after { display: inline-block; width: 4px; height: 4px; margin-left: 6px; border-radius: 50%; background: #505764; content: ''; vertical-align: middle; }
.zone-map .zone-map-tab[data-state='ready']::after { background: #72b7a1; }
.zone-map .zone-map-tab[data-state='loading']::after { background: #d5b273; }
.zone-map .zone-map-tab[data-state='error']::after { background: #d0818d; }
.stoch-panel .zone-map .zone-map-tab[aria-pressed='true'] { border-color: #3a5764; background: #21323c; color: #c5e7ed; }
.zone-map .zone-map-state { display: flex; min-height: 32px; align-items: center; justify-content: space-between; gap: 8px; margin: 6px 0; color: #8f98a9; font-size: 10px; }
.zone-map .zone-map-state[data-state='error'], .zone-map .zone-map-state[data-state='stale'] { color: #dfbc83; }
.stoch-panel .zone-map .zone-map-retry { min-height: 30px; padding: 4px 10px; font-size: 10px; flex-shrink: 0; }
.zone-map .zone-map-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.zone-map .zone-map-section { min-width: 0; }
.zone-map .zone-map-section-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 3px 12px; margin-bottom: 8px; }
.zone-map .zone-map-section-head h5 { margin-bottom: 0; }
.zone-map .zone-map-count, .zone-map .zone-map-history-count { color: #8995a7; font-size: 10px; overflow-wrap: anywhere; }
.zone-map .zone-map-history-count { margin: 8px 0 0; }
.zone-map .zone-map-collection-bar { display: flex; justify-content: flex-end; margin: 0 0 10px; }
.stoch-panel .zone-map .zone-map-active-toggle { min-height: 32px; padding: 5px 11px; border-color: #39525c; background: #1c2b32; color: #b8dbe1; font-size: 10px; }
.stoch-panel .zone-map .zone-map-active-toggle[aria-pressed='true'] { border-color: #86afbb; }
.zone-map .zone-map-pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px; margin-top: 9px; }
.stoch-panel .zone-map .zone-map-pager button { min-height: 32px; padding: 5px 9px; font-size: 10px; }
.zone-map .zone-map-page-label { color: #9aa7bb; font-size: 10px; text-align: center; }
.zone-map h5 { margin: 0 0 8px; color: #acb6c6; font-size: 10px; font-weight: 500; letter-spacing: .025em; }
.zone-map .zone-map-rows { display: grid; gap: 6px; }
.stoch-panel .zone-map .zone-map-row { display: grid; gap: 5px; width: 100%; min-width: 0; padding: 10px 11px; border-color: #2c323d; background: #191d24; text-align: left; }
.zone-map .zone-map-row-top, .zone-map .zone-map-row-middle, .zone-map .zone-map-row-bottom { display: flex; min-width: 0; justify-content: space-between; align-items: baseline; gap: 6px 10px; }
.zone-map .zone-map-row-top { font-size: 10px; }
.zone-map .zone-map-kind { color: #9ad9c4; font-weight: 600; }
.zone-map .zone-map-row[data-direction='bearish'] .zone-map-kind, .zone-map .zone-map-row[data-direction='bsl'] .zone-map-kind { color: #e6a1ad; }
.zone-map .zone-map-relation { color: #8f98a9; text-align: right; }
.zone-map .zone-map-range { min-width: 0; overflow-wrap: anywhere; color: #edf0f6; font-size: 14px; font-weight: 600; }
.zone-map .zone-map-distance { color: #b6c4d6; font-size: 11px; white-space: nowrap; }
.zone-map .zone-map-row-bottom { flex-wrap: wrap; color: #a4adbd; font-size: 10px; }
.zone-map .zone-map-zone-status { color: #aeb9c8; }
.zone-map .zone-map-formed { font-size: 10px; }
.stoch-panel .zone-map .zone-map-row[aria-pressed='true'] { border-color: #81b7c3; background: #21303a; }
.zone-map .zone-map-empty { margin: 0; padding: 14px 10px; border: 1px dashed #303540; border-radius: 5px; color: #8f98a9; font-size: 10px; }
.stoch-panel .zone-map .zone-map-history-toggle { min-height: 32px; margin-top: 12px; padding: 5px 10px; background: transparent; font-size: 10px; }
.zone-map .zone-map-history { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 8px; }
.zone-map .zone-map-history .zone-map-row { opacity: .82; }
.zone-map .zone-map-scope { margin: 12px 0 0; color: #a4adbd; font-size: 10px; line-height: 1.6; overflow-wrap: anywhere; }
.zone-map .zone-map-caveat { margin: 5px 0 0; color: #a4adbd; font-size: 10px; line-height: 1.6; }
.stoch-panel .zone-map button:focus-visible { outline: 2px solid #9acfd8; outline-offset: 3px; }
.stoch-panel .zone-map button:disabled { opacity: .55; cursor: not-allowed; }
@media (hover: hover) { .stoch-panel .zone-map button:hover:not(:disabled) { border-color: #607187; background: #252e3b; color: #edf0f6; transform: none; box-shadow: none; } }
@media (max-width: 650px) {
  .stoch-panel .zone-map { padding: 15px 14px; }
  .zone-map .zone-map-head { align-items: flex-start; gap: 8px; }
  .zone-map .zone-map-title-line > span { width: 100%; }
  .zone-map .zone-map-quote strong { font-size: 14px; }
  .zone-map .zone-map-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .zone-map .zone-map-history { grid-template-columns: minmax(0, 1fr); }
  .stoch-panel .zone-map .zone-map-tab { min-width: 47px; min-height: 40px; padding: 6px 9px; }
  .stoch-panel .zone-map .zone-map-retry, .stoch-panel .zone-map .zone-map-history-toggle { min-height: 40px; }
  .stoch-panel .zone-map .zone-map-active-toggle, .stoch-panel .zone-map .zone-map-pager button { min-height: 40px; }
}
@media (max-width: 360px) {
  .stoch-panel .zone-selection { flex-wrap: wrap; padding: 8px 12px; }
  .stoch-panel .timeframe-control button, .stoch-panel .timeframe-control button:first-child, .stoch-panel .timeframe-control button:last-child { min-width: 39px; padding-inline: 7px; }
  .zone-map .zone-map-head { flex-wrap: wrap; }
  .zone-map .zone-map-quote { text-align: left; }
  .stoch-panel .zone-map .zone-map-tab { min-width: 41px; padding: 6px 7px; }
  .zone-map .zone-map-formed { font-size: 9px; }
}
@media (forced-colors: active) { .zone-map .zone-map-tab[aria-pressed='true'], .zone-map .zone-map-row[aria-pressed='true'] { outline: 2px solid Highlight; } }
