/* THE CHAIR — Bloomberg Terminal Overlay
   v2.2.0: Dark terminal aesthetic, denser data, command-line feel
   Layered on top of global.css — overrides where needed */

/* ─── TERMINAL COLOR PALETTE OVERRIDE ────────────────────────────── */
:root {
  --bb-black:      #030609;
  --bb-dark:       #070d14;
  --bb-panel:      #0b1520;
  --bb-border:     #0f2535;
  --bb-green:      #00ff41;    /* terminal green */
  --bb-green-dim:  rgba(0, 255, 65, 0.12);
  --bb-green-glow: rgba(0, 255, 65, 0.35);
  --bb-amber:      #ffaa00;    /* warning amber */
  --bb-amber-dim:  rgba(255, 170, 0, 0.12);
  --bb-red:        #ff3b3b;
  --bb-cyan:       #00d4ff;
  --bb-white:      #e8f0fe;
  --bb-muted:      #3a5068;
  --bb-ticker-bg:  #000d1a;
  --bb-scan:       linear-gradient(transparent 50%, rgba(0,255,65,0.03) 50%);
}

/* ─── BODY: pure terminal black ──────────────────────────────────── */
body.game-body {
  background: var(--bb-black) !important;
  font-family: 'JetBrains Mono', 'Courier New', monospace !important;
}

/* CRT scanline effect (subtle) */
body.game-body::before {
  content: '';
  position: fixed; inset: 0; z-index: 9999;
  background: repeating-linear-gradient(
    to bottom,
    transparent, transparent 2px,
    rgba(0,0,0,0.08) 2px, rgba(0,0,0,0.08) 4px
  );
  pointer-events: none;
}

/* Remove video bg blur — terminal has no nature scenes */
#bg-video { opacity: 0.04 !important; }
.cinematic-vignette { display: none !important; }

/* ─── HEADER: Bloomberg top bar ──────────────────────────────────── */
.game-header {
  background: var(--bb-black) !important;
  border-bottom: 1px solid var(--bb-green) !important;
  box-shadow: 0 0 20px rgba(0,255,65,0.08) !important;
  min-height: 44px !important;
  padding: 6px 12px !important;
}

.gh-brand {
  color: var(--bb-green) !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.25em !important;
  text-shadow: 0 0 8px var(--bb-green-glow) !important;
}

.rank-badge { background: var(--bb-green-dim) !important; border-color: var(--bb-green) !important; }
.rank-icon, #rank-title { color: var(--bb-green) !important; }

.live-indicator { background: transparent !important; color: var(--bb-amber) !important; font-weight: 700; }
.live-dot-red { background: var(--bb-amber) !important; box-shadow: 0 0 6px var(--bb-amber) !important; }

.chair-identity, .quarter-info, .qi-label, .qi-val, .scenario-name { color: var(--bb-white) !important; }
.qi-val { color: var(--bb-green) !important; font-size: 0.9rem !important; }

.score-block { border-left: 1px solid var(--bb-border) !important; }
.sb-label { color: var(--bb-muted) !important; }
.sb-val { color: var(--bb-green) !important; text-shadow: 0 0 6px var(--bb-green-glow) !important; }

.economy-status {
  background: transparent !important;
  border: 1px solid var(--bb-green) !important;
  color: var(--bb-green) !important;
  font-family: monospace !important;
  font-size: 0.7rem !important;
}

.watchers-scroll { color: var(--bb-muted) !important; font-size: 0.65rem !important; }

/* ─── NEWS TICKER ────────────────────────────────────────────────── */
.news-bar {
  background: var(--bb-ticker-bg) !important;
  border-bottom: 1px solid var(--bb-green) !important;
  box-shadow: 0 0 8px rgba(0,255,65,0.1) !important;
  padding: 3px 0 !important;
}

.news-label {
  background: var(--bb-green) !important;
  color: var(--bb-black) !important;
  font-family: monospace !important;
  font-weight: 700 !important;
  font-size: 0.65rem !important;
  padding: 2px 8px !important;
}

.news-scroll { color: var(--bb-amber) !important; font-family: monospace !important; font-size: 0.72rem !important; }

/* ─── PANELS: terminal glass ─────────────────────────────────────── */
.panel {
  background: var(--bb-panel) !important;
  border: 1px solid var(--bb-border) !important;
  box-shadow: inset 0 0 40px rgba(0,0,0,0.5) !important;
}

.panel-title {
  color: var(--bb-green) !important;
  font-family: monospace !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.2em !important;
  border-bottom: 1px solid var(--bb-border) !important;
  padding-bottom: 6px !important;
  text-shadow: 0 0 6px var(--bb-green-glow) !important;
}

/* Panel left */
.chart-legend .cl-item { font-size: 0.65rem !important; opacity: 0.8 !important; }
.chart-stats .cs-label { color: var(--bb-muted) !important; font-size: 0.62rem !important; }
.chart-stats .cs-val { font-size: 0.8rem !important; font-family: monospace !important; }

/* ─── GAUGES: terminal style ─────────────────────────────────────── */
.gauge-wrap .gauge-target {
  font-family: monospace !important; font-size: 0.62rem !important; color: var(--bb-muted) !important;
}

/* ─── COMMODITIES STRIP ──────────────────────────────────────────── */
.commodities-strip {
  background: var(--bb-black) !important;
  border: 1px solid var(--bb-border) !important;
  border-radius: 4px !important;
  padding: 6px 10px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px 16px !important;
}

.comm-item { flex-direction: column !important; gap: 2px !important; min-width: 70px !important; }
.ci-label { font-size: 0.58rem !important; color: var(--bb-muted) !important; letter-spacing: 0.1em; }
.ci-val { font-size: 0.8rem !important; font-family: monospace !important; color: var(--bb-white) !important; }
.ci-arrow { font-size: 0.7rem !important; }
.ci-arrow.up { color: var(--bb-green) !important; }
.ci-arrow.down { color: var(--bb-red) !important; }

/* ─── FOREX STRIP (new) ──────────────────────────────────────────── */
#forex-strip {
  background: var(--bb-black);
  border: 1px solid var(--bb-border);
  border-radius: 4px;
  padding: 5px 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 14px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
}

.fx-item {
  display: flex; gap: 5px; align-items: center;
  color: var(--bb-cyan);
}
.fx-label { color: var(--bb-muted); font-size: 0.6rem; }
.fx-val { color: var(--bb-white); font-weight: 600; }
.fx-chg.pos { color: var(--bb-green); font-size: 0.6rem; }
.fx-chg.neg { color: var(--bb-red); font-size: 0.6rem; }

/* ─── RATE CONTROL ───────────────────────────────────────────────── */
.rate-control {
  background: var(--bb-dark) !important;
  border: 1px solid var(--bb-border) !important;
}

.rc-label {
  color: var(--bb-green) !important;
  font-family: monospace !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.15em !important;
}
.rc-current { color: var(--bb-amber) !important; font-size: 1.3rem !important; text-shadow: 0 0 8px rgba(255,170,0,0.4) !important; }

.rate-btn.cut  { background: var(--bb-red)  !important; border: none !important; color: #fff !important; }
.rate-btn.hold { background: var(--bb-amber) !important; border: none !important; color: #000 !important; }
.rate-btn.hike { background: var(--bb-green) !important; border: none !important; color: #000 !important; }

.submit-btn {
  background: linear-gradient(135deg, #004d1a, #006622) !important;
  border: 1px solid var(--bb-green) !important;
  color: var(--bb-green) !important;
  font-family: monospace !important;
  font-weight: 700 !important;
  box-shadow: 0 0 12px rgba(0,255,65,0.2) !important;
}
.submit-btn:hover {
  background: linear-gradient(135deg, #006622, #009933) !important;
  box-shadow: 0 0 20px rgba(0,255,65,0.35) !important;
}

/* ─── TERMINAL COMMAND BAR (new) ────────────────────────────────── */
#terminal-bar {
  background: var(--bb-black);
  border: 1px solid var(--bb-green);
  border-radius: 4px;
  padding: 6px 10px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
  box-shadow: 0 0 8px rgba(0,255,65,0.1);
}

#terminal-log {
  max-height: 80px;
  overflow-y: auto;
  color: var(--bb-muted);
  font-size: 0.66rem;
  line-height: 1.5;
  scrollbar-width: thin;
  scrollbar-color: var(--bb-border) transparent;
}
#terminal-log .t-cmd  { color: var(--bb-green); }
#terminal-log .t-resp { color: var(--bb-white); }
#terminal-log .t-err  { color: var(--bb-red); }
#terminal-log .t-info { color: var(--bb-amber); }

.terminal-input-row {
  display: flex; align-items: center; gap: 6px;
}
.terminal-prompt {
  color: var(--bb-green); font-weight: 700; white-space: nowrap; opacity: 0.8;
}
#terminal-input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  color: var(--bb-green);
  font-family: inherit;
  font-size: 0.75rem;
  caret-color: var(--bb-green);
}
#terminal-input::placeholder { color: var(--bb-muted); font-size: 0.65rem; }

/* Blinking cursor */
@keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } }
.terminal-cursor { animation: blink 1s step-end infinite; color: var(--bb-green); }

/* ─── LIVE FEED / RIGHT PANEL ───────────────────────────────────── */
.feed-tabs .ft-tab {
  background: transparent !important;
  color: var(--bb-muted) !important;
  border: 1px solid transparent !important;
  font-family: monospace !important;
  font-size: 0.62rem !important;
  letter-spacing: 0.1em !important;
  padding: 3px 6px !important;
  border-radius: 3px !important;
}
.feed-tabs .ft-tab.active {
  color: var(--bb-green) !important;
  border-color: var(--bb-green) !important;
  background: var(--bb-green-dim) !important;
}

.feed-stream { font-family: monospace !important; }

/* ─── PREDICTION MARKET PANEL (new) ────────────────────────────── */
#prediction-market-panel {
  display: none;
  flex-direction: column;
  gap: 6px;
  padding: 8px 4px;
}

.pm-header {
  font-size: 0.6rem;
  color: var(--bb-muted);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--bb-border);
  margin-bottom: 4px;
}

.pm-contract {
  background: var(--bb-dark);
  border: 1px solid var(--bb-border);
  border-radius: 4px;
  padding: 7px 9px;
  cursor: pointer;
  transition: border-color 0.15s;
}
.pm-contract:hover { border-color: var(--bb-cyan); }
.pm-contract.resolving { border-color: var(--bb-amber); animation: pulse-amber 1s 3; }
.pm-contract.resolved-yes { border-color: var(--bb-green); }
.pm-contract.resolved-no  { border-color: var(--bb-red); }

@keyframes pulse-amber {
  0%, 100% { box-shadow: none; }
  50% { box-shadow: 0 0 8px rgba(255,170,0,0.4); }
}

.pm-question { font-size: 0.7rem; color: var(--bb-white); margin-bottom: 5px; line-height: 1.35; }
.pm-odds-row { display: flex; align-items: center; gap: 8px; }
.pm-yes-bar { height: 4px; background: var(--bb-green); border-radius: 2px; transition: width 0.4s ease; }
.pm-no-bar  { height: 4px; background: var(--bb-red);   border-radius: 2px; transition: width 0.4s ease; flex: 1; }
.pm-yes-pct { font-size: 0.75rem; color: var(--bb-green); font-weight: 700; font-family: monospace; min-width: 36px; }
.pm-no-pct  { font-size: 0.65rem; color: var(--bb-red); font-family: monospace; min-width: 30px; text-align: right; }
.pm-source  { font-size: 0.58rem; color: var(--bb-muted); margin-top: 3px; }
.pm-sub     { font-size: 0.58rem; color: var(--bb-muted); margin-bottom: 5px; }
.pm-move    { font-size: 0.6rem; opacity: 0.7; }
.pm-mv-up   { color: var(--bb-green); }
.pm-mv-dn   { color: var(--bb-red); }
.pm-bar-track {
  flex: 1; height: 4px; display: flex; border-radius: 2px; overflow: hidden;
}

/* FX strip label */
.fx-label { font-size: 0.6rem; color: var(--bb-green); letter-spacing: 0.15em; font-weight: 700; margin-right: 4px; }
.fx-pair  { color: var(--bb-muted); font-size: 0.64rem; }
.fx-chg   { font-size: 0.6rem; }

/* ─── ADVISOR BLOCK ─────────────────────────────────────────────── */
.adv-name { color: var(--bb-green) !important; font-family: monospace !important; font-size: 0.75rem !important; }
.adv-title { color: var(--bb-muted) !important; font-size: 0.6rem !important; }
.adv-message { color: var(--bb-white) !important; font-size: 0.72rem !important; line-height: 1.5 !important; }

/* ─── MODALS ─────────────────────────────────────────────────────── */
.glass {
  background: rgba(7, 13, 20, 0.97) !important;
  border: 1px solid var(--bb-green) !important;
  box-shadow: 0 0 40px rgba(0,255,65,0.12), inset 0 0 60px rgba(0,0,0,0.8) !important;
}

.em-btn {
  background: var(--bb-green-dim) !important;
  border: 1px solid var(--bb-green) !important;
  color: var(--bb-green) !important;
  font-family: monospace !important;
}
.em-btn:hover { background: var(--bb-green) !important; color: var(--bb-black) !important; }

/* ─── SCROLL BARS ────────────────────────────────────────────────── */
* {
  scrollbar-width: thin;
  scrollbar-color: var(--bb-border) transparent;
}
*::-webkit-scrollbar { width: 4px; }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb { background: var(--bb-border); border-radius: 2px; }

/* ─── PROGRESS BAR ───────────────────────────────────────────────── */
.progress-track { background: var(--bb-border) !important; }
.progress-fill  { background: var(--bb-green) !important; box-shadow: 0 0 6px var(--bb-green-glow) !important; }

/* ─── GAME CONTROLS ──────────────────────────────────────────────── */
.gc-btn {
  background: transparent !important;
  border: 1px solid var(--bb-border) !important;
  color: var(--bb-muted) !important;
  font-family: monospace !important;
  font-size: 0.65rem !important;
}
.gc-btn:hover { border-color: var(--bb-green) !important; color: var(--bb-green) !important; }

/* ─── SCENARIO SELECT ────────────────────────────────────────────── */
.ss-header { color: var(--bb-green) !important; font-family: monospace !important; letter-spacing: 0.2em !important; }

/* Scenario card hover */
.scenario-card:hover {
  border-color: var(--bb-green) !important;
  box-shadow: 0 0 16px rgba(0,255,65,0.15) !important;
}
