:root,html[data-theme=hall]{color-scheme:dark;--fh-font: Inter, ui-sans-serif, system-ui, sans-serif;--fh-bg: #0b1220;--fh-bg-panel: #0f172a;--fh-bg-elevated: #111827;--fh-text: #e2e8f0;--fh-text-muted: #94a3b8;--fh-border: #1e293b;--fh-accent: #2563eb;--fh-accent-text: #ffffff;--fh-secondary: #334155;--fh-danger: #b91c1c;--fh-danger-text: #fca5a5;--fh-warning: #d97706;--fh-warning-text: #fcd34d;--fh-link: #7dd3fc;--fh-channel: #cbd5e1;--fh-channel-active: #1e293b;--fh-voice: #a5b4fc;--fh-voice-dot: #22c55e;--fh-speak: #86efac;--fh-speak-border: #166534;--fh-input-bg: #0f172a;--fh-input-border: #334155;--fh-radius: 10px;--fh-radius-lg: 16px}html[data-theme=terminal]{color-scheme:dark;--fh-font: "IBM Plex Mono", "SF Mono", ui-monospace, Menlo, Consolas, monospace;--fh-bg: #000000;--fh-bg-panel: #050805;--fh-bg-elevated: #0a120a;--fh-text: #33ff66;--fh-text-muted: #1f9a3f;--fh-border: #145c28;--fh-accent: #00cc44;--fh-accent-text: #001a08;--fh-secondary: #0d2818;--fh-danger: #8b0000;--fh-danger-text: #ff6b6b;--fh-warning: #c4a000;--fh-warning-text: #ffe566;--fh-link: #66ff99;--fh-channel: #33ff66;--fh-channel-active: #0d2818;--fh-voice: #66ff99;--fh-voice-dot: #33ff66;--fh-speak: #99ffbb;--fh-speak-border: #1f9a3f;--fh-input-bg: #000000;--fh-input-border: #1f9a3f;--fh-radius: 2px;--fh-radius-lg: 4px}*{box-sizing:border-box}html,body{margin:0;min-height:100vh;background:var(--fh-bg);color:var(--fh-text);font-family:var(--fh-font);line-height:1.4}button,input,select{font:inherit}button{cursor:pointer;border:1px solid transparent;border-radius:var(--fh-radius);background:var(--fh-accent);color:var(--fh-accent-text);padding:.55rem .9rem}button.secondary{background:var(--fh-secondary);color:var(--fh-text);border-color:var(--fh-border)}button.danger{background:var(--fh-danger);color:#fff}button:disabled{opacity:.5;cursor:not-allowed}input,select{width:100%;border-radius:var(--fh-radius);border:1px solid var(--fh-input-border);background:var(--fh-input-bg);color:var(--fh-text);padding:.6rem .75rem}select{width:auto;min-width:10rem}a{color:var(--fh-link)}.app-shell{display:grid;grid-template-columns:240px 1fr 280px;min-height:100vh;background:var(--fh-bg);color:var(--fh-text)}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar,.voice-pane{border-right:0;border-bottom:1px solid var(--fh-border)}}.sidebar,.voice-pane{background:var(--fh-bg-panel);border-right:1px solid var(--fh-border);padding:1rem}.main{display:flex;flex-direction:column;min-height:100vh;background:var(--fh-bg)}.topbar{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.75rem 1rem;border-bottom:1px solid var(--fh-border)}.messages{flex:1;overflow:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.message{background:var(--fh-bg-elevated);border:1px solid var(--fh-border);border-radius:var(--fh-radius);padding:.65rem .8rem}.message .meta{color:var(--fh-text-muted);font-size:.8rem;margin-bottom:.2rem}.composer{display:flex;gap:.5rem;padding:.75rem 1rem;border-top:1px solid var(--fh-border)}.auth{max-width:420px;margin:4rem auto;padding:1.5rem;background:var(--fh-bg-panel);border:1px solid var(--fh-border);border-radius:var(--fh-radius-lg);color:var(--fh-text)}.auth h1{margin-top:0}.auth form{display:grid;gap:.75rem}.auth-toolbar{display:flex;justify-content:flex-end;margin-bottom:.75rem}.error{color:var(--fh-danger-text)}.warning{color:var(--fh-warning-text)}.channel-list{list-style:none;padding:0;margin:.5rem 0 0}.channel-list button{width:100%;text-align:left;background:transparent;color:var(--fh-channel);margin-bottom:.25rem;border:1px solid transparent}.channel-list button.active{background:var(--fh-channel-active);border-color:var(--fh-border)}.muted{color:var(--fh-text-muted);font-size:.85rem}.video-grid{display:grid;gap:.5rem}.video-grid video{width:100%;background:#000;border-radius:var(--fh-radius);min-height:120px;border:1px solid var(--fh-border)}.channel-block{margin-bottom:.35rem}.voice-roster{list-style:none;margin:.15rem 0 .35rem .85rem;padding:0}.voice-roster-item{display:flex;align-items:center;gap:.35rem;color:var(--fh-voice);font-size:.85rem;padding:.15rem 0}.voice-dot{width:8px;height:8px;border-radius:50%;background:var(--fh-voice-dot);display:inline-block}.badge-mute{font-size:.85rem}.badge-speak{font-size:.7rem;color:var(--fh-speak);border:1px solid var(--fh-speak-border);border-radius:999px;padding:.05rem .4rem}.live-members{margin:.5rem 0 1rem}.live-member{display:flex;align-items:center;gap:.5rem;padding:.45rem .55rem;border-radius:var(--fh-radius);background:var(--fh-bg-elevated);margin-bottom:.35rem;border:1px solid transparent}.live-member.speaking{border-color:var(--fh-voice-dot);box-shadow:0 0 0 1px var(--fh-speak-border) inset}.live-member.muted{opacity:.75}.avatar{width:28px;height:28px;border-radius:50%;background:var(--fh-secondary);color:var(--fh-text);display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;border:1px solid var(--fh-border)}.local-screen{width:100%;border-radius:var(--fh-radius);background:#000;min-height:80px;margin-bottom:.5rem;border:1px solid var(--fh-border)}.theme-toggle{display:inline-flex;align-items:center;gap:.45rem;font-size:.85rem;color:var(--fh-text-muted)}.theme-toggle select{padding:.35rem .5rem}.sidebar-theme{margin:.75rem 0;width:100%;justify-content:space-between}.sidebar-theme select{width:auto;flex:1}
