:root { --bg-dark: #070707; --bg-elev: #0e0e0e; --bg-line: #141414; --bg-panel: #0e0e0e; --border: #2a1d12; --border-bright: #4a2f15; --accent: #ff7a00; --gold: #ffb347; --good: #8fd694; --bad: #ff5a5a; --accent-soft: rgba(255, 122, 0, 0.10); --accent-glow: 0 0 6px rgba(255, 122, 0, 0.18); --text-main: #e8e8e8; --text-fade: #8a8a8a; --font-console: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace; --font-voice: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; } /* Light mode (secondary — Brian runs dark) */ body { --bg-dark: #f5f3ef; --bg-elev: #ffffff; --bg-line: #ece8e1; --bg-panel: #ffffff; --border: #e2dacb; --border-bright: #c9a87a; --accent: #c75e00; --gold: #b8791f; --good: #3f9a52; --bad: #c0392b; --accent-soft: rgba(199, 94, 0, 0.08); --accent-glow: none; --text-main: #1a1a1a; --text-fade: #6a6a6a; --text: var(--text-main); /* alias: some rules reference var(--text) */ } /* Dark mode (primary — RTO warm low-glow) */ body.dark { --bg-dark: #070707; --bg-elev: #0e0e0e; --bg-line: #141414; --bg-panel: #0e0e0e; --border: #2a1d12; --border-bright: #4a2f15; --accent: #ff7a00; --gold: #ffb347; --good: #8fd694; --bad: #ff5a5a; --accent-soft: rgba(255, 122, 0, 0.10); --accent-glow: 0 0 6px rgba(255, 122, 0, 0.18); --text-main: #e8e8e8; --text-fade: #8a8a8a; } html { overscroll-behavior: none; } body { margin: 0; background: var(--bg-dark); color: var(--text-main); font-family: var(--font-console); height: 100vh; /* fallback for old browsers */ height: 100dvh; display: flex; justify-content: center; align-items: center; overscroll-behavior: none; -webkit-tap-highlight-color: transparent; } #chat { width: 95%; max-width: 900px; height: 95vh; display: flex; flex-direction: column; border: 1px solid var(--border); border-radius: 12px; box-shadow: none; background: var(--bg-dark); overflow: hidden; } /* Header sections */ #model-select, #session-select, #status { display: flex; align-items: center; gap: 8px; padding: 8px 12px; border-bottom: 1px solid var(--border); background-color: var(--bg-elev); } #status { justify-content: flex-start; border-top: 1px solid var(--border); } /* Mode badge: the always-visible Talk/Cash toggle. Hidden on desktop (the header