The channel description preview stays open underneath while an image from it is shown. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
88 lines
2.9 KiB
CSS
88 lines
2.9 KiB
CSS
: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); }
|