/* ═══════════════════════════════════════════════════════════════════════════
   orbit-v2.css — override theme + chrome tweaks sopra orbit.css legacy
   (sess 11 rework, file name non rinominato in sess 12 per evitare collisione
   con orbit.css che resta viva — l'HTML è index.html post-migrazione).

   Scope: l'attuale index.html (ex orbit.v2.html) è un restyling 1-a-1 del vecchio
   index.html v1 Orbit archiviato. Eredita dalla cascade:
     1. tokens.css  → semantici globali + orbit vars (--bg/--ink/--glow/--line)
     2. orbit.css   → sfera, schermi orbitanti, topbar, hud, compass, panels
     3. orbit-v2.css (questo) → delta sopra orbit.css legacy

   Delta applicati qui:
   1. Body font = Inter (da tokens.css --font-body). Space Grotesk resta SOLO
      su .brand (topbar) e display h2 (heading dossier/panel) → identità Orbit.
   2. Theme picker popup (nuovo, sess 11): 4 bottoni Auto/Light/Dark/Gold dentro
      orb-account-popup.
   3. Token Orbit legacy re-computed via tokens.css (vedi scope [data-theme]).
      Qui ci sono solo fix di leggibilità specifici per il tema light su Orbit.
   4. Nasconde theme-bar + theme-dropdown (rimossi in v2 per concentrare il
      controllo tema nel popup avatar).

   Non modificato rispetto a v1:
   - Sfera, schermi orbitanti (tutti i 4 VISIBILI come v1), HUD, compass,
     topbar chrome, auth overlay, panel overlay con iframe embed chat-legacy.html
     (ex simple.html v1, rinominato in sess 12 per disambiguare col nuovo /simple.html).
═══════════════════════════════════════════════════════════════════════════ */

/* ─── Body font: Inter body, Space Grotesk solo su brand/display ────────── */
html, body {
  font-family: var(--font-body);
}

/* Brand topbar + headings display-only = Space Grotesk.
   Serif Orbit (dossier h2, panel h2) resta Instrument Serif legacy. */
.topbar .brand {
  font-family: var(--font-display);
}

/* ─── Hide theme-bar + shape controls non usati in v2 ─────────────────────
   Il tema ora si cambia dal popup avatar (4 opzioni unificate).
   La shape-bar (sfera/ottaedro) resta visibile: è una scelta di forma,
   non di tema — indipendente dai 3 temi light/dark/gold. */
.theme-bar,
.theme-dropdown {
  display: none !important;
}

/* ─── v2 beta badge nella topbar brand ────────────────────────────────── */
.ov-v2-badge {
  font-size: var(--fs-xs, 0.66rem);
  padding: 2px 8px;
  background: var(--accent-soft);
  border: 1px solid var(--accent);
  border-radius: var(--radius-md, 6px);
  color: var(--text);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide, 0.05em);
  margin-left: 6px;
}

/* ─── Theme picker UI (popup avatar) ──────────────────────────────────────
   Integrato dentro .orb-account-popup esistente. 4 bottoni Auto/Light/Dark/
   Gold in griglia 4xauto. Il JS applica data-theme su <html> e persiste in
   localStorage. is-active marca il tema corrente. */
.ov-theme-picker {
  margin-top: 6px;
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md, 8px);
  background: var(--surface);
}

.ov-theme-picker-label {
  font-family: var(--font-body);
  font-size: var(--fs-xs);
  color: var(--text-muted);
  letter-spacing: var(--ls-wide);
  text-transform: uppercase;
  margin-bottom: 6px;
}

.ov-theme-picker-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
}

.ov-theme-btn {
  background: transparent;
  border: 1px solid var(--border);
  color: var(--text-dim);
  font-family: var(--font-body);
  font-size: var(--fs-xs);
  padding: 5px 6px;
  border-radius: var(--radius-sm, 4px);
  cursor: pointer;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.ov-theme-btn:hover {
  background: var(--accent-soft);
  color: var(--text);
  border-color: var(--accent);
}

.ov-theme-btn.is-active {
  background: var(--accent-soft);
  color: var(--text);
  border-color: var(--accent);
}

/* ─── Rich-blocks integration nelle bubble Orbit (panel overlay) ──────────
   I rich-blocks girano dentro l'iframe chat-legacy.html (embed), quindi la
   cascata CSS qui non li tocca. Questo blocco è una sicurezza se in futuro
   la chat diventa nativa nell'iframe: i --rb-* usano var(--surface/--text/
   --accent/--border) già sovrascritte dal tema attivo in tokens.css. */

/* ─── Chat bubble styling: se il giorno in cui orb-integration iframe viene
   sostituito, le bubble dovrebbero ereditare da tokens.css. Per ora invariato:
   le bubble vivono in /simple.html embed, non in orbit.v2.html diretto. */

/* ─── Light theme tweaks per chrome Orbit ─────────────────────────────────
   orbit.css legacy è pensata per tema scuro (backdrop nero, glow oro).
   In tema light il fondo bianco con glow viola funziona, ma la topbar fissa
   e il ticker hanno `background: rgba(10,13,17,0.88)` hardcoded via performance
   pass → impostiamo override chiaro. */
:root[data-theme="light"] .topbar,
:root[data-theme="light"] .ticker,
:root[data-theme="light"] .hud,
:root[data-theme="auto"] .topbar,
:root[data-theme="auto"] .ticker,
:root[data-theme="auto"] .hud {
  background: rgba(255, 255, 255, 0.88) !important;
  border-color: var(--border) !important;
  color: var(--text-dim);
}

:root[data-theme="light"] .card,
:root[data-theme="light"] .user-card,
:root[data-theme="auto"] .card,
:root[data-theme="auto"] .user-card {
  background: linear-gradient(180deg,
    rgba(255, 255, 255, 0.95) 0%,
    rgba(248, 248, 250, 0.96) 100%) !important;
  color: var(--text);
}

:root[data-theme="light"] .panel-bg,
:root[data-theme="auto"] .panel-bg {
  background: rgba(240, 240, 243, 0.75) !important;
}

:root[data-theme="light"] .panel-box,
:root[data-theme="auto"] .panel-box {
  background: rgba(255, 255, 255, 0.98) !important;
  color: var(--text);
}

:root[data-theme="light"] .screen,
:root[data-theme="auto"] .screen {
  background: linear-gradient(160deg,
    rgba(255, 255, 255, 0.94) 0%,
    rgba(245, 245, 248, 0.88) 55%,
    rgba(235, 235, 240, 0.90) 100%) !important;
  color: var(--text);
}

:root[data-theme="light"] .bg,
:root[data-theme="auto"] .bg {
  background:
    radial-gradient(ellipse 60% 45% at 50% 42%, var(--glow-dim) 0%, transparent 70%),
    radial-gradient(ellipse 120% 80% at 50% 50%, var(--bg) 0%, var(--bg-2) 72%, #E8E8ED 100%) !important;
}

/* Dark: orbit.css default (nero warm) va già bene; il mio tokens.css [data-theme="dark"]
   imposta --bg #000 puro. Il fondo radial pattern funziona out-of-the-box. */

/* Gold: riproduce Tempio Orbit v1 — nessun override, orbit.css funziona
   con i token gold che sovrappongono ambra/oro. */

/* ─── auto-theme @media: quando SO è dark, i cardo/topbar tornano dark come
   orbit.css legacy li aveva originariamente. I tweak light sopra si
   disattivano perché il selettore [data-theme="auto"] è "light-side" solo
   fuori dal @media dark. Tuttavia gli override sopra usano [data-theme="auto"]
   senza gate media → rischio: su SO dark, avremmo override light applicato
   ai chrome Orbit. Fix: chiudo il @media dark sotto. */
@media (prefers-color-scheme: dark) {
  :root[data-theme="auto"] .topbar,
  :root[data-theme="auto"] .ticker,
  :root[data-theme="auto"] .hud {
    background: rgba(10, 13, 17, 0.88) !important;
  }
  :root[data-theme="auto"] .card,
  :root[data-theme="auto"] .user-card {
    background: linear-gradient(180deg,
      rgba(16, 20, 26, 0.9) 0%,
      rgba(10, 13, 17, 0.92) 100%) !important;
  }
  :root[data-theme="auto"] .panel-bg {
    background: rgba(6, 8, 10, 0.93) !important;
  }
  :root[data-theme="auto"] .panel-box {
    background: rgba(16, 20, 25, 0.97) !important;
  }
  :root[data-theme="auto"] .screen {
    background: linear-gradient(160deg,
      rgba(28, 34, 42, 0.82) 0%,
      rgba(14, 18, 24, 0.76) 55%,
      rgba(8, 11, 15, 0.82) 100%) !important;
  }
  :root[data-theme="auto"] .bg {
    background:
      radial-gradient(ellipse 60% 45% at 50% 42%, var(--glow-dim) 0%, transparent 70%),
      radial-gradient(ellipse 120% 80% at 50% 50%, var(--bg) 0%, var(--bg-2) 72%, #050709 100%) !important;
  }
}
