/* ============================================================
   BLOOMBERG THEME — Core palette, typography, resets
   ============================================================ */

:root {
  /* Color palette — authentic Bloomberg: black + amber dominant, sparing blue */
  --bg-black: #000000;
  --bg-panel: #0d0d0d;
  --bg-panel-2: #111111;
  --bg-near-black: #080808;
  --amber: #ff9900;
  --amber-bright: #ffb340;
  --amber-dim: #b36b00;
  --label: #d4892f;            /* copper-amber for field labels */
  --white-warm: #e6e6e6;
  --grey-text: #8a8a8a;
  --grey-dim: #5c5c5c;
  --blue-accent: #2f7fe0;      /* used sparingly: links, menu accents */
  --green-up: #33cc55;
  --red-down: #ff3b3b;
  --border: #2a2a2a;
  --border-light: #3a3a3a;

  /* Chrome accents */
  --green-btn: #2f9e44;        /* toolbar green buttons */
  --green-btn-hi: #3cb853;
  --yellow: #e8b100;           /* SECF, help ? */
  --red-cancel: #c0150f;       /* CANCEL button */
  --red-bar: #870f1e;          /* security description bar (exact spec) */
  --red-bar-2: #870f1e;
  --search-blue: #1456b8;      /* command/search bar */
  --search-blue-2: #0e3d85;
  --panel-head: #2b2b2b;       /* panel header gradient top */
  --panel-head-2: #161616;     /* panel header gradient bottom */
  --menu-sel: #14387a;         /* menu selection highlight */

  /* legacy aliases (kept so existing rules resolve) */
  --header-blue: #2b2b2b;
  --header-blue-2: #161616;

  /* Typography */
  --font-mono: 'JetBrains Mono', 'Consolas', 'Courier New', monospace;
  --fs-xs: 10px;
  --fs-sm: 11px;
  --fs-base: 13px;
  --fs-md: 14px;
  --fs-lg: 18px;
  --fs-xl: 24px;
  --fs-xxl: 38px;

  /* Spacing */
  --gap: 6px;
  --pad: 10px;
  --radius: 2px;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  height: 100%;
}

body {
  background: var(--bg-black);
  color: var(--white-warm);
  font-family: var(--font-mono);
  font-size: var(--fs-base);
  line-height: 1.45;
  overflow: hidden;
  letter-spacing: 0.2px;
  -webkit-font-smoothing: antialiased;
}

::selection {
  background: var(--amber);
  color: var(--bg-black);
}

/* Scrollbars */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
::-webkit-scrollbar-track {
  background: var(--bg-near-black);
}
::-webkit-scrollbar-thumb {
  background: var(--border-light);
  border: 2px solid var(--bg-near-black);
}
::-webkit-scrollbar-thumb:hover {
  background: var(--amber-dim);
}
* {
  scrollbar-width: thin;
  scrollbar-color: var(--border-light) var(--bg-near-black);
}

/* Utility text colors */
.t-amber { color: var(--amber); }
.t-blue  { color: var(--blue-accent); }
.t-up    { color: var(--green-up); }
.t-down  { color: var(--red-down); }
.t-grey  { color: var(--grey-text); }
.t-white { color: var(--white-warm); }
.upper   { text-transform: uppercase; }
.bold    { font-weight: 600; }
.mono    { font-family: var(--font-mono); }

a {
  color: var(--amber);
  text-decoration: none;
}
a:hover {
  color: var(--amber-bright);
  text-decoration: underline;
}

/* Scanline cosmetic overlay */
.scanline-overlay {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9999;
  background: repeating-linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0px,
    rgba(0, 0, 0, 0) 2px,
    rgba(0, 0, 0, 0.12) 3px,
    rgba(0, 0, 0, 0) 4px
  );
  opacity: 0.35;
  mix-blend-mode: multiply;
}
