:root { --bg-0: #0d0e10; --bg-1: #151619; --bg-2: #1b1c20; --bg-3: #24262b; --bg-hover: #2a2c32; --bg-active: #33363d; --line: #2c2e34; --text: #e3e4e8; --text-dim: #9a9ca5; --text-faint: #686a73; --accent: #7c6cff; --accent-hover: #8f81ff; --accent-text: #ffffff; --speaking: #3bd16f; --danger: #f0504a; --warn: #e8b23c; --link: #6fb3ff; --font: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", Ubuntu, Cantarell, sans-serif; --mono: ui-monospace, "Cascadia Code", "JetBrains Mono", Menlo, Consolas, monospace; --fs: 15px; /* Shared height of the bottom bars: your user panel and the message input line up */ --footer-h: 52px; color-scheme: dark; } *, *::before, *::after { box-sizing: border-box; border-radius: 0 !important; } html, body, #app { height: 100%; margin: 0; } body { background: var(--bg-2); color: var(--text); font: var(--fs)/1.45 var(--font); overflow: hidden; -webkit-font-smoothing: antialiased; } a { color: var(--link); text-decoration: none; } a:hover { text-decoration: underline; } button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; } button:disabled { cursor: default; opacity: 0.5; } input, textarea, select { font: inherit; color: var(--text); background: var(--bg-0); border: 1px solid var(--line); padding: 8px 10px; outline: none; width: 100%; } input:focus, textarea:focus, select:focus { border-color: var(--accent); } label { display: block; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: var(--text-dim); margin: 14px 0 6px; } .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 8px 16px; font-weight: 600; background: var(--bg-3); border: 1px solid var(--line); } .btn:hover:not(:disabled) { background: var(--bg-hover); } .btn.primary { background: var(--accent); border-color: var(--accent); color: var(--accent-text); } .btn.primary:hover:not(:disabled) { background: var(--accent-hover); } .btn.danger { background: transparent; border-color: var(--danger); color: var(--danger); } .icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; color: var(--text-dim); } .icon-btn:hover { background: var(--bg-hover); color: var(--text); } .icon-btn.on { color: var(--danger); } /* Images in rendered text open large on click (App.svelte) */ .html img, .embed img { cursor: zoom-in; } .card img { cursor: inherit; } ::-webkit-scrollbar { width: 10px; height: 10px; } ::-webkit-scrollbar-thumb { background: var(--bg-3); border: 2px solid transparent; background-clip: padding-box; } ::-webkit-scrollbar-thumb:hover { background-color: var(--bg-active); } ::-webkit-scrollbar-track { background: transparent; } :focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; } .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }