/* Discord-inspired control hierarchy, drawn with DisChat's own SVG icon set. */
:root{--control-brand:#5865f2;--control-brand-hover:#4752c4;--control-neutral:#4e5058;--control-neutral-hover:#6d6f78;--control-danger:#da373c;--control-success:#248046}
button,.button{font-family:inherit;letter-spacing:0;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease;box-shadow:none}
.button{min-height:36px;border-radius:8px;font-size:14px;font-weight:600;padding:9px 16px;line-height:1.25;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent}
.button.primary{background:var(--control-brand);color:#fff}.button.primary:hover{background:var(--control-brand-hover)}
.button.secondary{background:var(--control-neutral);color:#fff}.button.secondary:hover{background:var(--control-neutral-hover)}
.button.danger{background:var(--control-danger);color:#fff}.button.danger:hover{background:#a1282c}
.button.ghost{background:transparent;color:var(--text)}.button.ghost:hover{background:var(--hover)}
button:disabled{opacity:.45;cursor:not-allowed;filter:none}button:focus-visible,.button:focus-visible{outline:3px solid #00a8fc;outline-offset:3px}
.icon-button{width:36px;height:36px;min-width:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);background:transparent}
.icon-button:hover{background:var(--hover);color:var(--text)}.icon-button svg{width:21px;height:21px;flex:none}
.icon-button[aria-pressed=true],.control-disabled{background:#fff;color:#232428}.icon-button.danger-text[aria-pressed=true]{color:#ed4245;background:#ed42451a}
.send-button{width:38px;height:38px;border-radius:50%;background:var(--control-brand);color:#fff;display:grid;place-items:center;box-shadow:none}.send-button:hover{background:var(--control-brand-hover)}
.media-actions{align-items:center;gap:8px}.media-actions>.button,.media-actions>.icon-button{border-radius:50px;min-height:40px}
.media-actions #call-hangup{background:var(--control-danger);color:#fff;border-radius:50px}
.call-audio-controls{display:flex;gap:8px;align-items:center}.audio-split-control{display:flex;border-radius:40px;background:#2b2d31;overflow:hidden;align-items:stretch}
.audio-split-control .icon-button{width:38px;height:40px;border-radius:0;color:#f2f3f5}.audio-split-control .control-disabled{background:#f2f3f5;color:#232428}
.audio-split-control .device-caret{min-width:22px;width:22px;background:#232428;border-left:1px solid #ffffff12}
.profile-bar{gap:3px}.profile-bar .profile-info{min-width:35px}.profile-bar>.icon-button{min-width:24px;width:28px}.profile-bar>.device-caret{min-width:14px;width:14px;font-size:13px}
.stream-watch-poster{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;padding:32px;text-align:center;background:radial-gradient(ellipse at 25% 10%,#5865f255,transparent 65%),repeating-linear-gradient(135deg,#ffffff03 0 1px,transparent 1px 24px),#232428}
.stream-watch-poster .avatar{width:64px;height:64px;border-radius:50%;font-size:22px}.stream-watch-poster .button{background:var(--control-success);color:white}.stream-watch-poster .button:hover{background:#1a6334}
.stream-live-label{font-weight:800;font-size:11px;color:#fff;background:#ed4245;border-radius:5px;padding:4px 8px;letter-spacing:.7px}
.media-card.screen video{max-height:45dvh;cursor:default}.media-card figcaption{display:flex;align-items:center;gap:10px}.media-card figcaption .stop-watching{font-size:11px;min-height:28px;padding:5px 8px}
.media-card:fullscreen{display:flex;align-items:center;justify-content:center;flex-direction:column;background:#000;width:100%;height:100%;border-radius:0}.media-card:fullscreen video{max-height:100%;height:100%;width:100%;object-fit:contain}.media-card:fullscreen figcaption{position:absolute;bottom:12px;left:12px}
.stream-popup:fullscreen{width:100%;height:100%;max-width:none;inset:0;border-radius:0;background:#000;display:flex;flex-direction:column}.stream-popup:fullscreen video{flex:1;min-height:0;max-height:none;width:100%;object-fit:contain}
.stream-setup-dialog{width:min(520px,94vw)}.stream-setup-dialog select{background:#1e1f22;border:1px solid #ffffff18;border-radius:8px;min-height:42px;font-size:14px;padding:10px;width:100%}.stream-setup-dialog>.button.primary{width:100%;margin-top:22px}.stream-setup-dialog .form-field{margin-top:18px}
.participant-tile>.icon-button{border-radius:50%}.device-caret{font-weight:800;font-size:16px}.dialog-heading .button{min-height:32px}
.media-stage{flex-shrink:0;max-height:62dvh;overscroll-behavior:contain}.media-stage>header{flex-wrap:wrap;gap:10px}.media-stage>header>div:first-child{flex:1 0 100%;display:flex;align-items:center;gap:12px;min-width:0}.media-stage>header>div:first-child small{margin:0}.media-actions{width:100%}.media-grid:has(.screen)>.participant-tile{min-height:96px;padding:10px;gap:6px}.media-grid:has(.screen)>.participant-tile .avatar{width:42px;height:42px;font-size:16px}.stream-watch-poster{min-height:210px;padding:20px;gap:10px}
@media(max-width:760px){.media-actions{justify-content:center}.media-actions>.button{font-size:11px;padding:8px 12px}.profile-bar .profile-info{flex:1}.media-card figcaption{font-size:11px;flex-wrap:wrap}.stream-watch-poster{min-height:180px}.media-actions>.call-audio-controls{width:auto}}
