/*!
 * Run The Desk — Classical TA v0.5.0-beta
 * Design system: 8px base scale, 12-col grid, 1200px container
 * Breakpoints: 1440px / 1280px / 768px / 375px
 * © Run The Desk. All rights reserved.
 */

/* ═══════════════════════════════════════════════════════════
   0. GOOGLE FONTS
   ═══════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@300;400;500;600&display=swap');

/* ═══════════════════════════════════════════════════════════
   1. DESIGN TOKENS
   ═══════════════════════════════════════════════════════════ */
.rtd-root {
  /* Color palette */
  --c-bg-0:      #070910;   /* page bg */
  --c-bg-1:      #0d1017;   /* header / footer */
  --c-bg-2:      #111418;   /* card bg */
  --c-bg-3:      #181c22;   /* inner cell bg */
  --c-bg-4:      #1e242c;   /* hover states */
  --c-border-1:  #1e2530;   /* subtle border */
  --c-border-2:  #2a3040;   /* default border */
  --c-border-3:  #3a4458;   /* strong border */
  --c-text-1:    #e8edf5;   /* primary text */
  --c-text-2:    #8b96a8;   /* secondary text */
  --c-text-3:    #5a6478;   /* muted text */
  --c-accent:    #c8a96e;   /* gold accent */
  --c-accent-d:  #a88a50;   /* gold dark */
  --c-green:     #4caf7d;
  --c-red:       #e05c5c;
  --c-blue:      #5b9bd5;

  /* Typography */
  --f-mono: 'IBM Plex Mono', 'Courier New', monospace;
  --f-sans: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* Type scale (8px base × 1.25 modular) */
  --t-xs:   10px;
  --t-sm:   12px;
  --t-base: 14px;
  --t-md:   16px;
  --t-lg:   20px;
  --t-xl:   28px;
  --t-2xl:  36px;

  /* Spacing scale (8px base) */
  --sp-1:  8px;
  --sp-2:  16px;
  --sp-3:  24px;
  --sp-4:  32px;
  --sp-5:  40px;
  --sp-6:  48px;

  /* Layout */
  --container-max:  1200px;
  --container-wide: 1320px;
  --gutter:         24px;

  /* Misc */
  --radius-sm: 2px;
  --radius-md: 4px;
  --transition: 0.15s ease;
}

/* Bloomberg-terminal-inspired theme: dense, black, amber, data-first. */
.rtd-theme-bloomberg {
  --c-bg-0:      #000000;
  --c-bg-1:      #050505;
  --c-bg-2:      #080808;
  --c-bg-3:      #0d0d0d;
  --c-bg-4:      #171100;
  --c-border-1:  #2a220c;
  --c-border-2:  #4b3a08;
  --c-border-3:  #875f00;
  --c-text-1:    #ffd76a;
  --c-text-2:    #d7a727;
  --c-text-3:    #7f6b32;
  --c-accent:    #ff9f00;
  --c-accent-d:  #c77700;
  --c-green:     #00c853;
  --c-red:       #ff3b30;
  --c-blue:      #00a6ff;
  --f-mono:      'IBM Plex Mono', 'Courier New', monospace;
  --f-sans:      'IBM Plex Mono', 'Courier New', monospace;
  --radius-sm:   0;
  --radius-md:   0;
}

/* ═══════════════════════════════════════════════════════════
   2. BASE RESET & ROOT
   ═══════════════════════════════════════════════════════════ */
.rtd-root,
.rtd-root *,
.rtd-root *::before,
.rtd-root *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.rtd-root {
  background:  var(--c-bg-0);
  color:       var(--c-text-1);
  font-family: var(--f-sans);
  font-size:   var(--t-base);
  line-height: 1.6;
  width:       100%;
  overflow-x:  hidden;
  -webkit-font-smoothing: antialiased;
}

.rtd-root.rtd-theme-bloomberg {
  background:
    radial-gradient(circle at 50% 0%, rgba(255,159,0,0.16), transparent 32%),
    linear-gradient(rgba(255,159,0,0.07) 50%, transparent 50%),
    var(--c-bg-0);
  background-size: 100% 100%, 100% 3px;
  text-transform: none;
}

.rtd-root.rtd-theme-bloomberg .rtd-header {
  background: #000;
  box-shadow: inset 0 -2px 0 var(--c-accent);
}

.rtd-root.rtd-theme-bloomberg .rtd-logo-mark,
.rtd-root.rtd-theme-bloomberg .rtd-badge--beta,
.rtd-root.rtd-theme-bloomberg .rtd-btn-run,
.rtd-root.rtd-theme-bloomberg .rtd-theme-toggle {
  background: var(--c-accent) !important;
  color: #000 !important;
}

.rtd-root.rtd-theme-bloomberg .rtd-card,
.rtd-root.rtd-theme-bloomberg .rtd-status-bar,
.rtd-root.rtd-theme-bloomberg .rtd-input,
.rtd-root.rtd-theme-bloomberg .rtd-select,
.rtd-root.rtd-theme-bloomberg .rtd-textarea {
  box-shadow: inset 0 0 0 1px rgba(255,159,0,0.42), 0 0 18px rgba(255,159,0,0.08);
}

.rtd-root.rtd-theme-bloomberg .rtd-card,
.rtd-root.rtd-theme-bloomberg .rtd-summary-cell,
.rtd-root.rtd-theme-bloomberg .rtd-price-cell,
.rtd-root.rtd-theme-bloomberg .rtd-trade-cell {
  background: #050300;
}

.rtd-root.rtd-theme-bloomberg .rtd-section-eyebrow,
.rtd-root.rtd-theme-bloomberg .rtd-label,
.rtd-root.rtd-theme-bloomberg .rtd-trade-label,
.rtd-root.rtd-theme-bloomberg .rtd-summary-label {
  color: var(--c-accent);
}

.rtd-root.rtd-theme-bloomberg .rtd-input,
.rtd-root.rtd-theme-bloomberg .rtd-select,
.rtd-root.rtd-theme-bloomberg .rtd-textarea {
  background: #000 !important;
  color: var(--c-text-1) !important;
  border-color: var(--c-border-3) !important;
}

.rtd-root.rtd-theme-bloomberg .rtd-analysis-section {
  border-left: 3px solid var(--c-accent);
}

/* ═══════════════════════════════════════════════════════════
   3. LAYOUT — CONTAINER & GRID
   ═══════════════════════════════════════════════════════════ */
.rtd-container {
  width:      100%;
  max-width:  var(--container-max);
  margin:     0 auto;
  padding:    0 var(--gutter);
}

/* Card primitive */
.rtd-card {
  background:    var(--c-bg-2);
  border:        1px solid var(--c-border-2);
  border-radius: var(--radius-sm);
}

/* ═══════════════════════════════════════════════════════════
   4. HEADER
   ═══════════════════════════════════════════════════════════ */
.rtd-header {
  background:    var(--c-bg-1);
  border-bottom: 1px solid var(--c-border-2);
  position:      sticky;
  top:           0;
  z-index:       200;
  height:        56px;
}

.rtd-header-inner {
  height:          100%;
  display:         flex;
  align-items:     center;
  justify-content: space-between;
}

.rtd-logo {
  display:     flex;
  align-items: center;
  gap:         var(--sp-2);
}

.rtd-logo-mark {
  width:            36px;
  height:           36px;
  background:       var(--c-accent);
  color:            #070910;
  font-family:      var(--f-mono);
  font-size:        var(--t-xs);
  font-weight:      600;
  letter-spacing:   0.5px;
  display:          flex;
  align-items:      center;
  justify-content:  center;
  flex-shrink:      0;
  border-radius:    var(--radius-sm);
}

.rtd-logo-text-wrap {
  display:        flex;
  flex-direction: column;
  line-height:    1.1;
}

.rtd-logo-text {
  font-family:    var(--f-mono);
  font-size:      var(--t-base);
  font-weight:    500;
  letter-spacing: 2.5px;
  color:          var(--c-text-1);
  text-transform: uppercase;
}

.rtd-logo-sub {
  font-family: var(--f-sans);
  font-size:   10px;
  color:       var(--c-text-3);
  letter-spacing: 0.5px;
}

.rtd-header-right {
  display:     flex;
  align-items: center;
  gap:         var(--sp-1);
}

.rtd-theme-toggle {
  font-family:    var(--f-mono);
  font-size:      var(--t-xs);
  font-weight:    600;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding:        4px 9px;
  border:         1px solid var(--c-border-3);
  background:     transparent;
  color:          var(--c-text-2);
  cursor:         pointer;
  transition:     var(--transition);
}

.rtd-theme-toggle:hover {
  border-color: var(--c-accent);
  color:        var(--c-accent);
}

/* Badges */
.rtd-badge {
  font-family:    var(--f-mono);
  font-size:      var(--t-xs);
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding:        3px 8px;
  border-radius:  var(--radius-sm);
}

.rtd-badge--beta {
  background: var(--c-accent-d);
  color:      #070910;
  font-weight: 600;
}

.rtd-badge--tier {
  border: 1px solid var(--c-border-3);
  color:  var(--c-text-2);
}

.rtd-btn-upgrade {
  font-family:    var(--f-mono);
  font-size:      var(--t-xs);
  letter-spacing: 1px;
  text-transform: uppercase;
  color:          var(--c-accent) !important;
  border:         1px solid var(--c-accent);
  padding:        4px 12px;
  text-decoration: none !important;
  border-radius:  var(--radius-sm);
  transition:     all var(--transition);
  margin-left:    var(--sp-1);
}
.rtd-btn-upgrade:hover {
  background: var(--c-accent);
  color:      #070910 !important;
}

/* ═══════════════════════════════════════════════════════════
   5. MAIN & SPACING
   ═══════════════════════════════════════════════════════════ */
.rtd-main {
  padding: var(--sp-3) 0 var(--sp-6);
  min-height: 60vh;
}

.rtd-main > .rtd-container > * + * {
  margin-top: var(--sp-2);
}

/* ═══════════════════════════════════════════════════════════
   6. NOTICES
   ═══════════════════════════════════════════════════════════ */
.rtd-notice {
  padding:       var(--sp-2);
  border-radius: var(--radius-sm);
  font-size:     var(--t-sm);
  font-family:   var(--f-mono);
}
.rtd-notice--error {
  background: rgba(224,92,92,0.08);
  border:     1px solid var(--c-red);
  color:      var(--c-red);
}

/* ═══════════════════════════════════════════════════════════
   7. CONTROLS CARD
   ═══════════════════════════════════════════════════════════ */
.rtd-controls {
  padding: var(--sp-2) var(--sp-3);
}

.rtd-controls-row {
  display:     flex;
  gap:         var(--sp-2);
  align-items: flex-end;
  flex-wrap:   nowrap;
  margin-bottom: var(--sp-2);
}

/* Field primitives */
.rtd-field {
  display:        flex;
  flex-direction: column;
  min-width:      0;
}

.rtd-field--symbol  { flex: 1 1 0; min-width: 160px; }
.rtd-field--select  { flex: 0 0 136px; }
.rtd-field--action  { flex: 0 0 auto; }
.rtd-field--context { width: 100%; }

/* Labels */
.rtd-label {
  font-family:    var(--f-mono);
  font-size:      var(--t-xs);
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color:          var(--c-text-3);
  margin-bottom:  6px;
  display:        block;
}
.rtd-label-hint {
  font-family:    var(--f-sans);
  font-size:      10px;
  letter-spacing: 0;
  text-transform: none;
  color:          var(--c-text-3);
  font-weight:    300;
}

/* Inputs */
.rtd-root .rtd-input,
.rtd-root .rtd-select,
.rtd-root .rtd-textarea {
  background:              var(--c-bg-3) !important;
  border:                  1px solid var(--c-border-2) !important;
  color:                   var(--c-text-1) !important;
  -webkit-text-fill-color: var(--c-text-1) !important;
  font-family:             var(--f-mono) !important;
  font-size:               var(--t-base) !important;
  width:                   100%;
  outline:                 none !important;
  border-radius:           var(--radius-sm) !important;
  box-shadow:              none !important;
  transition:              border-color var(--transition);
  -webkit-appearance:      none;
  appearance:              none;
}

.rtd-root .rtd-input,
.rtd-root .rtd-select {
  height:  48px;
  padding: 0 16px !important;
}

.rtd-root .rtd-input {
  letter-spacing: 0.5px;
}

.rtd-root .rtd-input::placeholder,
.rtd-root .rtd-textarea::placeholder {
  color:                   var(--c-text-3) !important;
  -webkit-text-fill-color: var(--c-text-3) !important;
  font-size:               12px !important;
  font-style:              normal;
}

.rtd-root .rtd-input:focus,
.rtd-root .rtd-select:focus,
.rtd-root .rtd-textarea:focus {
  border-color: var(--c-accent) !important;
}

.rtd-root .rtd-select {
  background-image:    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%235a6478'/%3E%3C/svg%3E") !important;
  background-repeat:   no-repeat !important;
  background-position: right 14px center !important;
  padding-right:       40px !important;
  cursor:              pointer;
}
.rtd-root .rtd-select option { background: var(--c-bg-3); color: var(--c-text-1); }

.rtd-root .rtd-textarea {
  padding:     var(--sp-2) var(--sp-2) !important;
  font-family: var(--f-sans) !important;
  font-size:   13px !important;
  resize:      vertical;
  min-height:  88px;
  line-height: 1.65;
}

.rtd-root input:disabled,
.rtd-root select:disabled,
.rtd-root textarea:disabled {
  opacity: 0.35;
  cursor:  not-allowed;
}

/* Run button */
.rtd-btn-run {
  display:         flex;
  align-items:     center;
  justify-content: center;
  gap:             8px;
  height:          48px;
  padding:         0 var(--sp-3) !important;
  background:      var(--c-accent) !important;
  border:          none !important;
  color:           #070910 !important;
  font-family:     var(--f-mono) !important;
  font-size:       11px !important;
  font-weight:     600 !important;
  letter-spacing:  2px;
  text-transform:  uppercase;
  cursor:          pointer;
  white-space:     nowrap;
  border-radius:   var(--radius-sm) !important;
  transition:      background var(--transition);
  box-shadow:      none !important;
  min-width:       140px;
}
.rtd-btn-run:hover    { background: var(--c-accent-d) !important; }
.rtd-btn-run:disabled { background: var(--c-bg-4) !important; color: var(--c-text-3) !important; cursor: not-allowed; }
.rtd-btn-run-icon     { font-size: 10px; }

/* ═══════════════════════════════════════════════════════════
   8. STATUS / ERROR / DEBUG BARS
   ═══════════════════════════════════════════════════════════ */
.rtd-status-bar {
  display:     flex;
  align-items: flex-start;
  gap:         var(--sp-1);
  padding:     10px var(--sp-2);
  background:  var(--c-bg-2);
  border:      1px solid var(--c-border-2);
  font-family: var(--f-mono);
  font-size:   var(--t-sm);
  color:       var(--c-text-2);
  min-height:  40px;
}

.rtd-status-content {
  display:        flex;
  flex-direction: column;
  gap:            6px;
  min-width:      0;
}

.rtd-status-progress {
  flex-direction: column;
  gap:            3px;
  color:          var(--c-text-3);
  font-size:      var(--t-xs);
  line-height:    1.35;
}

.rtd-status-dot {
  width:        6px;
  height:       6px;
  border-radius: 50%;
  background:   var(--c-text-3);
  flex-shrink:  0;
}
.rtd-status-dot.active { background: var(--c-accent); animation: rtd-pulse 1.2s infinite; }
.rtd-status-dot.done   { background: var(--c-green); }
.rtd-status-dot.error  { background: var(--c-red); }
@keyframes rtd-pulse { 0%,100%{opacity:1} 50%{opacity:0.25} }

.rtd-error-bar {
  padding:     var(--sp-2);
  background:  rgba(224,92,92,0.08);
  border:      1px solid var(--c-red);
  color:       var(--c-red);
  font-family: var(--f-mono);
  font-size:   var(--t-sm);
}

.rtd-debug-bar {
  padding:     var(--sp-2);
  background:  rgba(91,155,213,0.08);
  border:      1px solid var(--c-blue);
  color:       var(--c-blue);
  font-family: var(--f-mono);
  font-size:   10px;
  white-space: pre-wrap;
  word-break:  break-all;
  max-height:  120px;
  overflow-y:  auto;
}

/* ═══════════════════════════════════════════════════════════
   9. CHART ROW — price panel + chart panel side by side
   ═══════════════════════════════════════════════════════════ */
.rtd-chart-row {
  display:    grid;
  grid-template-columns: 220px 1fr;
  gap:        var(--sp-2);
  align-items: start;
  min-height: 380px;
}

/* Price panel (left sidebar on desktop) */
.rtd-price-panel {
  padding:    var(--sp-2);
  position:   sticky;
  top:        calc(56px + var(--sp-2));
}

.rtd-price-header {
  margin-bottom: var(--sp-2);
  padding-bottom: var(--sp-2);
  border-bottom: 1px solid var(--c-border-2);
}

.rtd-price-name {
  font-family:   var(--f-sans);
  font-size:     var(--t-sm);
  color:         var(--c-text-2);
  margin-bottom: 6px;
  white-space:   nowrap;
  overflow:      hidden;
  text-overflow: ellipsis;
}

.rtd-price-spot-wrap {
  display:     flex;
  align-items: center;
  gap:         8px;
  flex-wrap:   wrap;
  margin-bottom: 4px;
}

.rtd-price-spot {
  font-family:  var(--f-mono);
  font-size:    var(--t-xl);
  font-weight:  600;
  color:        var(--c-text-1);
  line-height:  1;
  letter-spacing: -0.5px;
}

.rtd-price-badge {
  font-family:    var(--f-mono);
  font-size:      9px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding:        2px 6px;
  border:         1px solid var(--c-border-3);
  color:          var(--c-text-3);
  border-radius:  var(--radius-sm);
  white-space:    nowrap;
}
.rtd-price-badge.open   { border-color: var(--c-green); color: var(--c-green); }
.rtd-price-badge.pre    { border-color: var(--c-blue);  color: var(--c-blue); }
.rtd-price-badge.post   { border-color: var(--c-blue);  color: var(--c-blue); }
.rtd-price-badge.closed { border-color: var(--c-text-3); color: var(--c-text-3); }

.rtd-price-change {
  font-family: var(--f-mono);
  font-size:   var(--t-sm);
  font-weight: 500;
}
.rtd-price-change.up   { color: var(--c-green); }
.rtd-price-change.down { color: var(--c-red); }
.rtd-price-change.flat { color: var(--c-text-2); }

/* Price data grid — 2 cols inside sidebar */
.rtd-price-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--c-border-1);
  margin-bottom: var(--sp-2);
}

.rtd-price-cell {
  background: var(--c-bg-3);
  padding:    8px;
}

.rtd-price-cell-label {
  font-family:    var(--f-mono);
  font-size:      9px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color:          var(--c-text-3);
  margin-bottom:  4px;
}

.rtd-price-cell-val {
  font-family: var(--f-mono);
  font-size:   var(--t-sm);
  font-weight: 600;
  color:       var(--c-text-1);
}

/* 52W range bar */
.rtd-range-bar-wrap { margin-bottom: var(--sp-1); }
.rtd-range-bar-track {
  position:      relative;
  height:        4px;
  background:    var(--c-border-2);
  border-radius: 2px;
  margin-bottom: 4px;
  overflow:      visible;
}
.rtd-range-bar-fill {
  position:      absolute;
  left:          0;
  top:           0;
  height:        100%;
  background:    var(--c-accent);
  opacity:       0.35;
  border-radius: 2px;
  transition:    width 0.6s ease;
}
.rtd-range-bar-cursor {
  position:      absolute;
  top:           -4px;
  width:         3px;
  height:        12px;
  background:    var(--c-accent);
  border-radius: 1px;
  transform:     translateX(-50%);
  transition:    left 0.6s ease;
}
.rtd-range-bar-labels {
  display:         flex;
  justify-content: space-between;
  font-family:     var(--f-mono);
  font-size:       9px;
  color:           var(--c-text-3);
}

.rtd-price-meta {
  display:     flex;
  justify-content: space-between;
  flex-wrap:   wrap;
  gap:         4px;
  font-family: var(--f-mono);
  font-size:   9px;
  color:       var(--c-text-3);
  margin-top:  var(--sp-1);
}

/* Quote loading */
.rtd-quote-loading {
  display:     flex;
  align-items: center;
  gap:         var(--sp-1);
  font-family: var(--f-mono);
  font-size:   var(--t-sm);
  color:       var(--c-text-2);
  padding:     var(--sp-2);
  background:  var(--c-bg-2);
  border:      1px solid var(--c-border-2);
}
.rtd-spinner {
  width:         14px;
  height:        14px;
  border:        2px solid var(--c-border-3);
  border-top-color: var(--c-accent);
  border-radius: 50%;
  animation:     rtd-spin 0.8s linear infinite;
  flex-shrink:   0;
}
@keyframes rtd-spin { to { transform: rotate(360deg); } }

/* Chart panel */
.rtd-chart-panel {
  background:    var(--c-bg-2);
  border:        1px solid var(--c-border-2);
  border-radius: var(--radius-sm);
  min-height:    420px;
  position:      relative;
  overflow:      hidden;
}

.rtd-chart-placeholder {
  position:        absolute;
  inset:           0;
  display:         flex;
  align-items:     center;
  justify-content: center;
}

.rtd-chart-placeholder-inner { text-align: center; padding: var(--sp-4); }

.rtd-chart-placeholder-title {
  font-family:    var(--f-mono);
  font-size:      var(--t-sm);
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color:          var(--c-text-3);
  margin:         var(--sp-1) 0 6px;
}

.rtd-chart-placeholder-sub {
  font-size:  12px;
  color:      var(--c-text-3);
  max-width:  260px;
  line-height: 1.6;
}

/* TradingView widget fills the panel */
#rtd-tv-container {
  position: absolute;
  inset:    0;
}
#rtd-tv-container iframe {
  width:  100% !important;
  height: 100% !important;
  border: none !important;
}

/* ═══════════════════════════════════════════════════════════
   10. STATUS PROGRESS
   ═══════════════════════════════════════════════════════════ */
.rtd-progress-step {
  display: block;
  color:   var(--c-text-3);
}
.rtd-progress-step.active {
  color: var(--c-accent);
}
.rtd-progress-step.done {
  color: var(--c-green);
}
.rtd-progress-step.done .rtd-terminal-prompt {
  color: var(--c-green);
}
.rtd-terminal-prompt   { color: var(--c-accent); margin-right: var(--sp-1); }

/* ═══════════════════════════════════════════════════════════
   12. SUMMARY BAR
   ═══════════════════════════════════════════════════════════ */
.rtd-summary-bar { padding: 0; overflow: hidden; }

.rtd-summary-grid {
  display:               grid;
  grid-template-columns: repeat(6, 1fr);
  gap:                   1px;
  background:            var(--c-border-1);
}

.rtd-summary-cell {
  background: var(--c-bg-2);
  padding:    var(--sp-2);
}

.rtd-summary-label {
  font-family:    var(--f-mono);
  font-size:      9px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color:          var(--c-text-3);
  margin-bottom:  6px;
}

.rtd-summary-val {
  font-family:  var(--f-mono);
  font-size:    var(--t-md);
  font-weight:  600;
  color:        var(--c-text-1);
  line-height:  1.2;
  word-break:   break-all;
}
.rtd-summary-val--bias.long    { color: var(--c-green); }
.rtd-summary-val--bias.short   { color: var(--c-red); }
.rtd-summary-val--bias.neutral { color: var(--c-accent); }

/* ═══════════════════════════════════════════════════════════
   13. SECTION EYEBROW (reusable heading)
   ═══════════════════════════════════════════════════════════ */
.rtd-section-eyebrow {
  font-family:    var(--f-mono);
  font-size:      9px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color:          var(--c-accent);
  margin-bottom:  var(--sp-2);
  display:        flex;
  align-items:    center;
  gap:            var(--sp-1);
}
.rtd-section-eyebrow::after {
  content:    '';
  flex:       1;
  height:     1px;
  background: var(--c-border-2);
}
.rtd-section-eyebrow--green { color: var(--c-green); }

/* ═══════════════════════════════════════════════════════════
   14. DESK CALL
   ═══════════════════════════════════════════════════════════ */
.rtd-desk-call {
  padding:       var(--sp-3);
  border-top:    2px solid var(--c-accent);
}

.rtd-desk-call-text {
  font-family:  var(--f-sans);
  font-size:    var(--t-md);
  font-weight:  400;
  color:        var(--c-text-1);
  line-height:  1.6;
  font-style:   italic;
}

/* ═══════════════════════════════════════════════════════════
   15. TRADE SETUP
   ═══════════════════════════════════════════════════════════ */
.rtd-trade-setup {
  padding:    var(--sp-3);
  border-top: 2px solid var(--c-green);
}

.rtd-trade-grid {
  display:    grid;
  grid-template-columns: repeat(3, 1fr);
  gap:        1px;
  background: var(--c-border-1);
  margin-bottom: var(--sp-2);
}

.rtd-trade-cell {
  background: var(--c-bg-3);
  padding:    var(--sp-2);
}

.rtd-trade-label {
  font-family:    var(--f-mono);
  font-size:      9px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color:          var(--c-text-3);
  margin-bottom:  6px;
}

.rtd-trade-val {
  font-family: var(--f-mono);
  font-size:   var(--t-md);
  font-weight: 600;
  color:       var(--c-text-1);
  line-height: 1.3;
  word-break:  break-word;
}

.rtd-plain-english {
  background:  var(--c-bg-3);
  border-top:  1px solid var(--c-border-2);
  padding:     var(--sp-2);
  margin-top:  1px;
}
.rtd-plain-label {
  font-family:    var(--f-mono);
  font-size:      9px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color:          var(--c-accent);
  margin-bottom:  var(--sp-1);
}
#rtd-plain-text {
  font-family: var(--f-sans);
  font-size:   var(--t-base);
  color:       var(--c-text-2);
  line-height: 1.8;
}

/* ═══════════════════════════════════════════════════════════
   16. ANALYSIS GRID — 2 col
   ═══════════════════════════════════════════════════════════ */
.rtd-analysis-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-2);
}

.rtd-analysis-section {
  padding: var(--sp-3);
}

.rtd-analysis-section--full {
  grid-column: 1 / -1;
}

.rtd-section-body {
  font-family: var(--f-sans);
  font-size:   12px;
  color:       var(--c-text-2);
  line-height: 1.55;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

/* ═══════════════════════════════════════════════════════════
   17. SCENARIOS
   ═══════════════════════════════════════════════════════════ */
.rtd-scenarios-eyebrow {
  margin-bottom: var(--sp-1);
}

.rtd-scenarios-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-2);
}

.rtd-scenario-card { padding: var(--sp-3); position: relative; overflow: hidden; }
.rtd-scenario-card--primary { border-top: 2px solid var(--c-green); }
.rtd-scenario-card--alt     { border-top: 2px solid var(--c-blue); }
.rtd-scenario-card--trap    { border-top: 2px solid var(--c-red); }

.rtd-scenario-label {
  font-family:    var(--f-mono);
  font-size:      9px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom:  var(--sp-1);
}
.rtd-scenario-card--primary .rtd-scenario-label { color: var(--c-green); }
.rtd-scenario-card--alt     .rtd-scenario-label { color: var(--c-blue); }
.rtd-scenario-card--trap    .rtd-scenario-label { color: var(--c-red); }

.rtd-scenario-prob {
  font-family:   var(--f-mono);
  font-size:     var(--t-2xl);
  font-weight:   600;
  line-height:   1;
  margin-bottom: var(--sp-2);
}
.rtd-scenario-card--primary .rtd-scenario-prob { color: var(--c-green); }
.rtd-scenario-card--alt     .rtd-scenario-prob { color: var(--c-blue); }
.rtd-scenario-card--trap    .rtd-scenario-prob { color: var(--c-red); }

.rtd-scenario-body {
  font-family: var(--f-sans);
  font-size:   13px;
  color:       var(--c-text-2);
  line-height: 1.75;
}

/* Trap gate */
.rtd-trap-locked > *:not(.rtd-upgrade-gate) {
  filter: blur(4px);
  user-select: none;
  pointer-events: none;
}
.rtd-upgrade-gate {
  position:        absolute;
  inset:           0;
  background:      rgba(7,9,16,0.55);
  display:         flex;
  flex-direction:  column;
  align-items:     center;
  justify-content: center;
  gap:             var(--sp-2);
}
.rtd-upgrade-gate p {
  font-family:    var(--f-mono);
  font-size:      var(--t-xs);
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color:          var(--c-text-2);
}
.rtd-btn-upgrade-gate {
  background:     transparent;
  border:         1px solid var(--c-accent);
  color:          var(--c-accent);
  font-family:    var(--f-mono);
  font-size:      var(--t-xs);
  font-weight:    600;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding:        8px var(--sp-2);
  cursor:         pointer;
  border-radius:  var(--radius-sm);
  transition:     all var(--transition);
}
.rtd-btn-upgrade-gate:hover { background: var(--c-accent); color: #070910; }

/* ═══════════════════════════════════════════════════════════
   18. UTILITY COLOR CLASSES
   ═══════════════════════════════════════════════════════════ */
.rtd-val--green { color: var(--c-green) !important; }
.rtd-val--red   { color: var(--c-red)   !important; }

/* ═══════════════════════════════════════════════════════════
   19. FOOTER
   ═══════════════════════════════════════════════════════════ */
.rtd-footer {
  background:    var(--c-bg-1);
  border-top:    1px solid var(--c-border-2);
  padding:       var(--sp-2) 0;
  margin-top:    var(--sp-4);
}

.rtd-footer-inner {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  flex-wrap:       wrap;
  gap:             var(--sp-1);
}

.rtd-footer-copy {
  font-family:    var(--f-mono);
  font-size:      10px;
  color:          var(--c-text-3);
  letter-spacing: 0.5px;
}

.rtd-footer-nav {
  display: flex;
  gap:     var(--sp-3);
}
.rtd-footer-nav a {
  font-family:    var(--f-mono);
  font-size:      10px;
  color:          var(--c-text-3) !important;
  text-decoration: none !important;
  letter-spacing: 0.5px;
  transition:     color var(--transition);
}
.rtd-footer-nav a:hover { color: var(--c-accent) !important; }

/* ═══════════════════════════════════════════════════════════
   20. RESPONSIVE SYSTEM
   ═══════════════════════════════════════════════════════════ */

/* ── 1280px ──────────────────────────────────────────────── */
@media (max-width: 1280px) {
  .rtd-root { --container-max: 100%; --gutter: var(--sp-3); }
  .rtd-chart-row { grid-template-columns: 200px 1fr; }
}

/* ── 1024px — collapse chart row ─────────────────────────── */
@media (max-width: 1024px) {
  .rtd-chart-row {
    grid-template-columns: 1fr;
  }
  .rtd-price-panel {
    position:  static;
    display:   grid !important;
    grid-template-columns: 1fr 1fr;
    gap:       var(--sp-2);
    align-items: start;
  }
  .rtd-price-header { grid-column: 1 / -1; }
  .rtd-price-grid   { grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); }
  .rtd-range-bar-wrap { grid-column: 1 / -1; }
  .rtd-price-meta   { grid-column: 1 / -1; }
}

/* ── 768px (tablet) ──────────────────────────────────────── */
@media (max-width: 768px) {
  .rtd-root {
    --gutter:  var(--sp-2);
    --sp-3:    20px;
    font-size: 14px;
  }

  .rtd-header { height: 48px; }
  .rtd-logo-sub { display: none; }
  .rtd-logo-text { font-size: 12px; letter-spacing: 2px; }

  .rtd-controls { padding: var(--sp-2); }

  .rtd-controls-row {
    display:               grid;
    grid-template-columns: 1fr 1fr;
    gap:                   var(--sp-1);
  }
  .rtd-field--symbol { grid-column: 1 / -1; }
  .rtd-field--action { grid-column: 1 / -1; }
  .rtd-field--select { flex: none; width: 100%; }
  .rtd-btn-run       { width: 100%; min-width: 0; height: 44px; }

  .rtd-summary-grid   { grid-template-columns: repeat(3, 1fr); }
  .rtd-analysis-grid  { grid-template-columns: 1fr; }
  .rtd-scenarios-grid { grid-template-columns: 1fr; }
  .rtd-trade-grid     { grid-template-columns: 1fr 1fr; }

  .rtd-price-panel { grid-template-columns: 1fr; }
  .rtd-price-grid  { grid-template-columns: repeat(3, 1fr); }

  .rtd-chart-panel { min-height: 300px; }

  .rtd-price-spot { font-size: var(--t-xl); }
  .rtd-scenario-prob { font-size: var(--t-xl); }

  .rtd-footer-inner { flex-direction: column; align-items: flex-start; }
  .rtd-footer-nav   { gap: var(--sp-2); }
}

/* ── 375px (iPhone) ──────────────────────────────────────── */
@media (max-width: 430px) {
  .rtd-root {
    --gutter: var(--sp-1);
    font-size: 13px;
  }

  .rtd-header { height: 44px; }
  .rtd-logo-text { font-size: 11px; letter-spacing: 1.5px; }
  .rtd-logo-mark { width: 30px; height: 30px; font-size: 9px; }

  .rtd-controls { padding: var(--sp-1); }
  .rtd-controls-row { grid-template-columns: 1fr; gap: 6px; }
  .rtd-field--select { flex: none; width: 100%; }

  .rtd-root .rtd-input,
  .rtd-root .rtd-select,
  .rtd-btn-run { height: 44px; }

  .rtd-summary-grid   { grid-template-columns: repeat(2, 1fr); }
  .rtd-trade-grid     { grid-template-columns: 1fr; }
  .rtd-price-grid     { grid-template-columns: 1fr 1fr; }

  .rtd-chart-panel    { min-height: 240px; }
  .rtd-price-spot     { font-size: var(--t-lg); }

  .rtd-footer-nav { gap: var(--sp-1); flex-wrap: wrap; }

  .rtd-main { padding: var(--sp-2) 0 var(--sp-4); }
  .rtd-main > .rtd-container > * + * { margin-top: var(--sp-1); }
}

/* ── 1920px+ — constrain to max width ───────────────────── */
@media (min-width: 1920px) {
  .rtd-root { --container-max: 1320px; }
}

/* ═══════════════════════════════════════════════════════════
   21. THEME ISOLATION — prevent WP bleed
   ═══════════════════════════════════════════════════════════ */
.rtd-root a                           { text-decoration: none; }
.rtd-root button                      { border-radius: var(--radius-sm); }
.rtd-root input, .rtd-root select,
.rtd-root textarea                    { border-radius: var(--radius-sm); }
.rtd-root *                           { -webkit-tap-highlight-color: transparent; }
.rtd-root img                         { max-width: 100%; }

/* ═══════════════════════════════════════════════════════════
   ADDITIONS v0.5.2 — Context Response + Ask the Desk
   ═══════════════════════════════════════════════════════════ */

/* Blue eyebrow variant */
.rtd-section-eyebrow--blue  { color: var(--c-blue); }
.rtd-section-eyebrow--blue::after  { background: var(--c-border-2); }
.rtd-section-eyebrow--accent { color: var(--c-accent); }
.rtd-section-eyebrow--accent::after { background: var(--c-border-2); }

/* ── Context response panel ─────────────────────────────── */
.rtd-context-response {
  padding:    var(--sp-3);
  border-top: 2px solid var(--c-blue);
}

.rtd-context-submitted-wrap {
  display:       flex;
  gap:           var(--sp-1);
  align-items:   flex-start;
  padding:       var(--sp-1) var(--sp-2);
  background:    var(--c-bg-3);
  border-left:   3px solid var(--c-border-3);
  margin-bottom: var(--sp-2);
  flex-wrap:     wrap;
}

.rtd-context-submitted-label {
  font-family:    var(--f-mono);
  font-size:      var(--t-xs);
  letter-spacing: 1px;
  text-transform: uppercase;
  color:          var(--c-text-3);
  white-space:    nowrap;
  padding-top:    2px;
  flex-shrink:    0;
}

.rtd-context-submitted-text {
  font-family:  var(--f-sans);
  font-size:    var(--t-sm);
  color:        var(--c-text-2);
  font-style:   italic;
  line-height:  1.6;
}

.rtd-context-response-body {
  font-family:  var(--f-sans);
  font-size:    var(--t-base);
  color:        var(--c-text-1);
  line-height:  1.85;
  white-space:  pre-wrap;
}

/* ── Tabs ───────────────────────────────────────────────── */
.rtd-tabs-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-2);
  margin-bottom: var(--sp-2);
}

.rtd-tabs {
  display: flex;
  gap: 1px;
  background: var(--c-border-1);
  border: 1px solid var(--c-border-2);
}

.rtd-market-ticker {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: var(--sp-2);
  min-height: 42px;
  overflow: hidden;
  white-space: nowrap;
  font-family: var(--f-mono);
  font-size: var(--t-xs);
  color: var(--c-text-2);
}

.rtd-market-ticker span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.rtd-market-ticker .is-up { color: var(--c-green); }
.rtd-market-ticker .is-down { color: var(--c-red); }

.rtd-tab {
  flex: 0 0 auto;
  min-width: 150px;
  height: 42px;
  padding: 0 var(--sp-2) !important;
  background: var(--c-bg-2) !important;
  border: 0 !important;
  color: var(--c-text-3) !important;
  font-family: var(--f-mono) !important;
  font-size: var(--t-xs) !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  cursor: pointer;
}

.rtd-tab.is-active {
  background: var(--c-bg-3) !important;
  color: var(--c-accent) !important;
  box-shadow: inset 0 -2px 0 var(--c-accent);
}

.rtd-tab-panel {
  display: none;
}

.rtd-tab-panel.is-active {
  display: block;
}

.rtd-tab-panel > * + * {
  margin-top: var(--sp-2);
}

/* ── Position Watch / Monitor ───────────────────────────── */
.rtd-position-watch {
  padding:    var(--sp-3);
  border-top: 2px solid var(--c-blue);
}

.rtd-position-sub {
  font-family:   var(--f-sans);
  font-size:     var(--t-sm);
  color:         var(--c-text-2);
  margin-bottom: var(--sp-2);
  line-height:   1.6;
}

.rtd-position-input-row {
  display: grid;
  grid-template-columns: 1fr 180px 112px;
  gap: var(--sp-1);
  align-items: stretch;
}

.rtd-position-textarea {
  min-height: 54px !important;
  resize: vertical;
}

.rtd-position-cadence {
  height: 54px !important;
}

.rtd-btn-position,
.rtd-btn-position-secondary {
  font-family:    var(--f-mono) !important;
  font-size:      var(--t-xs) !important;
  font-weight:    600 !important;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  cursor:         pointer;
  border-radius:  var(--radius-sm) !important;
  transition:     all var(--transition);
}

.rtd-btn-position {
  height:     54px;
  padding:    0 var(--sp-2) !important;
  background: var(--c-blue) !important;
  border:     1px solid var(--c-blue) !important;
  color:      #06111c !important;
}

.rtd-btn-position-secondary {
  height:     32px;
  padding:    0 10px !important;
  background: var(--c-bg-3) !important;
  border:     1px solid var(--c-border-3) !important;
  color:      var(--c-text-2) !important;
}

.rtd-btn-position:disabled,
.rtd-btn-position-secondary:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.rtd-position-actions {
  display: flex;
  align-items: center;
  gap: var(--sp-1);
  flex-wrap: wrap;
  margin-top: var(--sp-1);
}

.rtd-position-status {
  font-family: var(--f-mono);
  font-size: var(--t-xs);
  color: var(--c-text-3);
}

.rtd-position-summary {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 1px;
  background: var(--c-border-1);
  margin-top: var(--sp-2);
}

.rtd-position-portfolio {
  margin-top: var(--sp-2);
}

.rtd-position-portfolio-title,
.rtd-position-chart-title,
.rtd-position-ask-title {
  font-family: var(--f-mono);
  font-size: var(--t-xs);
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--c-accent);
  margin-bottom: var(--sp-1);
}

.rtd-position-table {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--c-border-2);
  background: var(--c-border-1);
}

.rtd-position-table-row {
  display: grid;
  grid-template-columns: 1.6fr 0.7fr 0.9fr 0.8fr 0.7fr;
  gap: 1px;
  background: var(--c-border-1);
}

.rtd-position-table-row > div {
  min-width: 0;
  padding: 10px 12px;
  background: var(--c-bg-3);
  font-family: var(--f-mono);
  font-size: var(--t-xs);
  color: var(--c-text-1);
}

.rtd-position-table-row strong,
.rtd-position-table-row span {
  display: block;
  overflow-wrap: anywhere;
}

.rtd-position-table-row span {
  margin-top: 3px;
  color: var(--c-text-3);
  font-weight: 400;
}

.rtd-position-table-head > div {
  color: var(--c-text-3);
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 9px;
}

.rtd-pnl-up { color: var(--c-green) !important; }
.rtd-pnl-down { color: var(--c-red) !important; }

.rtd-position-close-btn {
  height: 26px;
  padding: 0 9px !important;
  background: var(--c-bg-2) !important;
  border: 1px solid var(--c-border-3) !important;
  color: var(--c-accent) !important;
  font-family: var(--f-mono) !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
  border-radius: var(--radius-sm) !important;
}

.rtd-position-delete-btn {
  margin-left: 5px !important;
  color: var(--c-red) !important;
}

.rtd-position-close-editor {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.rtd-position-close-input {
  width: 100%;
  height: 28px;
  padding: 0 7px !important;
  background: var(--c-bg-2) !important;
  border: 1px solid var(--c-border-3) !important;
  color: var(--c-text-1) !important;
  font-family: var(--f-mono) !important;
  font-size: var(--t-xs) !important;
  border-radius: var(--radius-sm) !important;
}

.rtd-position-close-actions {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}

.rtd-position-close-actions .rtd-position-close-btn {
  height: 24px;
  padding: 0 7px !important;
}

.rtd-position-chart-panel {
  position: relative;
  height: 380px;
  margin-top: var(--sp-2);
  background: var(--c-bg-2);
  border: 1px solid var(--c-border-2);
}

.rtd-position-cell {
  background: var(--c-bg-3);
  padding: var(--sp-2);
}

.rtd-position-label {
  font-family: var(--f-mono);
  font-size: 9px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--c-text-3);
  margin-bottom: 6px;
}

.rtd-position-val {
  font-family: var(--f-mono);
  font-size: var(--t-sm);
  font-weight: 600;
  color: var(--c-text-1);
  line-height: 1.35;
  word-break: break-word;
}

.rtd-position-loading {
  align-items: center;
  gap: var(--sp-1);
  margin-top: var(--sp-2);
  font-family: var(--f-mono);
  font-size: var(--t-xs);
  color: var(--c-text-2);
}

.rtd-position-thread {
  display: flex;
  flex-direction: column;
  gap: var(--sp-1);
  margin-top: var(--sp-2);
}

.rtd-position-note {
  background: var(--c-bg-3);
  border-left: 3px solid var(--c-blue);
  padding: var(--sp-2);
}

.rtd-position-note-time {
  font-family: var(--f-mono);
  font-size: var(--t-xs);
  color: var(--c-blue);
  margin-bottom: 6px;
}

.rtd-position-note-body {
  font-family: var(--f-sans);
  font-size: var(--t-sm);
  color: var(--c-text-1);
  line-height: 1.65;
  white-space: pre-wrap;
}

.rtd-position-ask {
  padding: var(--sp-2);
  margin-top: var(--sp-2);
  border-top: 2px solid var(--c-accent);
}

/* ── Ask the Desk panel ─────────────────────────────────── */
.rtd-ask-desk {
  padding:    var(--sp-3);
  border-top: 2px solid var(--c-accent);
}

.rtd-ask-desk-sub {
  font-family:   var(--f-sans);
  font-size:     var(--t-sm);
  color:         var(--c-text-2);
  margin-bottom: var(--sp-2);
  line-height:   1.6;
}

/* Conversation thread */
.rtd-ask-thread {
  margin-bottom: var(--sp-2);
  display:       flex;
  flex-direction: column;
  gap:           var(--sp-2);
}

.rtd-ask-exchange {
  display:        flex;
  flex-direction: column;
  gap:            var(--sp-1);
}

.rtd-ask-q {
  display:       flex;
  gap:           var(--sp-1);
  align-items:   flex-start;
}

.rtd-ask-q-label {
  font-family:    var(--f-mono);
  font-size:      var(--t-xs);
  letter-spacing: 1px;
  text-transform: uppercase;
  color:          var(--c-text-3);
  flex-shrink:    0;
  padding-top:    3px;
  min-width:      28px;
}

.rtd-ask-q-text {
  font-family:  var(--f-sans);
  font-size:    var(--t-sm);
  color:        var(--c-text-2);
  font-style:   italic;
  line-height:  1.6;
  padding:      var(--sp-1) var(--sp-2);
  background:   var(--c-bg-3);
  border-left:  3px solid var(--c-border-3);
  flex:         1;
}

.rtd-ask-a {
  display:       flex;
  gap:           var(--sp-1);
  align-items:   flex-start;
}

.rtd-ask-a-label {
  font-family:    var(--f-mono);
  font-size:      var(--t-xs);
  letter-spacing: 1px;
  text-transform: uppercase;
  color:          var(--c-accent);
  flex-shrink:    0;
  padding-top:    3px;
  min-width:      28px;
}

.rtd-ask-a-text {
  font-family:  var(--f-sans);
  font-size:    var(--t-base);
  color:        var(--c-text-1);
  line-height:  1.85;
  white-space:  pre-wrap;
  flex:         1;
}

.rtd-ask-divider {
  height:     1px;
  background: var(--c-border-1);
  margin:     var(--sp-1) 0;
}

/* Input row */
.rtd-ask-input-row {
  display:   flex;
  gap:       var(--sp-1);
  align-items: flex-end;
}

.rtd-ask-textarea {
  flex:       1;
  min-height: 64px !important;
  resize:     vertical;
}

.rtd-btn-ask {
  flex-shrink:    0;
  height:         64px;
  padding:        0 var(--sp-2) !important;
  background:     var(--c-bg-3) !important;
  border:         1px solid var(--c-border-3) !important;
  color:          var(--c-accent) !important;
  font-family:    var(--f-mono) !important;
  font-size:      var(--t-xs) !important;
  font-weight:    600 !important;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  cursor:         pointer;
  border-radius:  var(--radius-sm) !important;
  transition:     all var(--transition);
  white-space:    nowrap;
  min-width:      80px;
}
.rtd-btn-ask:hover    { background: var(--c-accent) !important; color: #070910 !important; border-color: var(--c-accent) !important; }
.rtd-btn-ask:disabled { opacity: 0.4; cursor: not-allowed; }

/* Ask loading */
.rtd-ask-loading {
  display:     flex;
  align-items: center;
  gap:         var(--sp-1);
  font-family: var(--f-mono);
  font-size:   var(--t-sm);
  color:       var(--c-text-2);
  margin-top:  var(--sp-1);
}

/* Responsive adjustments */
@media (max-width: 430px) {
  .rtd-tabs-row { align-items: stretch; flex-direction: column; }
  .rtd-market-ticker { justify-content: flex-start; overflow-x: auto; }
  .rtd-ask-input-row { flex-direction: column; }
  .rtd-btn-ask       { width: 100%; height: 44px; }
  .rtd-ask-textarea  { min-height: 56px !important; }
  .rtd-position-input-row { grid-template-columns: 1fr; }
  .rtd-position-cadence,
  .rtd-btn-position { width: 100%; }
  .rtd-position-summary { grid-template-columns: 1fr; }
  .rtd-position-table { overflow-x: auto; }
  .rtd-position-table-row { min-width: 680px; }
  .rtd-position-chart-panel { height: 320px; }
}
