.pl-tabs button,.pl-item,.pl-back{border:none;background:none;cursor:pointer}.player-panel{width:360px;flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-2);border-left:1px solid var(--border);min-height:0}.player-panel .spacer{flex:1}.pl-empty{padding:18px 14px;color:var(--text-muted);font-size:13px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.pl-other{margin:4px 12px 10px;padding:10px 12px;border-radius:var(--radius);background:var(--bg-3);font-size:13px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.pl-other p{margin:0}.pl-now{padding:0 12px 10px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--border)}.pl-video-wrap{position:relative;container-type:inline-size}.pl-video{aspect-ratio:16 / 9;background:#000;border-radius:8px;overflow:hidden}.pl-video .player-video{width:100%;height:100%;display:block;background:#000}.pl-now-info{display:flex;align-items:center;gap:10px}.pl-now-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.pl-now-text b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-strong)}.pl-now-text small{color:var(--text-muted);display:flex;align-items:center;gap:4px}.pl-now .hint{margin:0}.pl-catalog{flex:1;min-height:0;display:flex;flex-direction:column}.pl-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:10px 12px 6px}.pl-tabs button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;border-radius:8px;font-size:12px;color:var(--text-muted)}.pl-tabs button:hover{background:var(--hover);color:var(--text)}.pl-tabs button.active{background:var(--accent-soft);color:var(--text-strong)}.pl-filters{display:flex;flex-direction:column;gap:6px;padding:0 12px 8px}.pl-back{display:flex;align-items:center;gap:4px;margin:0 12px 4px;padding:4px 6px;border-radius:6px;font-weight:600;color:var(--text-strong);text-align:left}.pl-back:hover{background:var(--hover)}.pl-list{flex:1;min-height:0;overflow-y:auto;padding:0 6px 12px}.pl-item{width:100%;display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:6px;text-align:left;font-size:13px;color:var(--text)}.pl-item:hover{background:var(--hover)}.pl-item.active{background:var(--accent-soft);color:var(--text-strong)}.pl-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pl-meta{font-size:11px;color:var(--text-faint);flex-shrink:0}.pl-more{width:calc(100% - 12px);margin:6px}.tile-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);min-width:0}.steps{margin:0 0 4px;padding-left:18px;display:flex;flex-direction:column;gap:2px}.pl-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.pl-main .pl-name{flex:none}.pl-logo{width:40px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:5px;background:var(--bg-1);color:var(--text-faint);overflow:hidden}.pl-logo img{width:36px;height:24px;object-fit:contain}.pl-epg{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:11.5px;color:var(--text-muted)}.pl-epg-now,.pl-epg-next{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pl-epg-now b{color:var(--text);font-weight:600}.pl-epg-next{color:var(--text-faint)}.pl-epg-bar{display:block;height:2px;border-radius:1px;background:var(--bg-5);overflow:hidden}.pl-epg-bar i{display:block;height:100%;background:var(--red)}.pl-epg.compact{font-size:11px}.pl-audio{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-muted)}.pl-audio select{flex:1;min-width:0;padding:4px 8px;font-size:12.5px}.pl-audio small{font-size:10.5px;padding:1px 6px;border-radius:4px;background:var(--bg-4);color:var(--text-faint);white-space:nowrap}.pbar{display:flex;flex-direction:column;gap:4px}.pbar-row{display:flex;align-items:center;gap:2px}.pbar-spacer{flex:1}.pbar-time{margin-left:6px;font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.pbar-track{position:relative;height:18px;display:flex;align-items:center;cursor:pointer;touch-action:none;outline:none}.pbar-track.disabled{cursor:default;opacity:.5}.pbar-rail{position:relative;flex:1;height:4px;border-radius:2px;background:color-mix(in srgb,var(--text) 18%,transparent);overflow:hidden;transition:height .12s}.pbar-track:hover .pbar-rail,.pbar-track.dragging .pbar-rail,.pbar-track:focus-visible .pbar-rail{height:6px}.pbar-buffered,.pbar-played{position:absolute;left:0;top:0;bottom:0}.pbar-buffered{background:color-mix(in srgb,var(--text) 22%,transparent)}.pbar-played{background:var(--accent)}.pbar-thumb{position:absolute;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0006;opacity:0;transition:opacity .12s;pointer-events:none}.pbar-track:hover .pbar-thumb,.pbar-track.dragging .pbar-thumb,.pbar-track:focus-visible .pbar-thumb{opacity:1}.pbar-tip{position:absolute;bottom:20px;transform:translate(-50%);padding:2px 6px;border-radius:5px;background:#000000d9;color:#fff;font-size:11.5px;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none}.pbar-vol{flex:none;width:70px}input[type=range].pbar-vol{width:70px}.pbar-next{display:inline-flex;align-items:center;gap:4px;margin-right:4px;padding:4px 9px;border:0;border-radius:7px;background:color-mix(in srgb,var(--text) 12%,transparent);color:var(--text);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.pbar-next:hover,.pbar-next.ready{background:var(--accent);color:#fff}.pl-next{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 10px;border-radius:8px;background:var(--accent-soft);font-size:13px}.pl-next span{flex:1;min-width:0}.tile-player{position:absolute;left:0;right:0;bottom:0;padding:26px 12px 8px;background:linear-gradient(transparent,#000c);opacity:0;transition:opacity .15s}.tile.has-player:hover .tile-player,.tile-player:focus-within{opacity:1}.tile.has-player:hover .tile-label{opacity:0}.tile-player .pbar-time,.tile-player .icon-btn{color:#eee}.tile-player .pbar-rail{background:#ffffff40}.tile-player .pbar-buffered{background:#ffffff4d}.tile-player .pbar-next{background:#ffffff29;color:#fff}.kaytv-view{flex:1;display:flex;flex-direction:column;min-height:0}.kaytv-view .main-header .tag{margin-left:8px}.kaytv-logo{font-size:20px}.kaytv-body{flex:1;overflow-y:auto;padding:16px 20px 24px}.kaytv-config{max-width:640px}.kaytv-empty{gap:6px;text-align:center;padding:24px}.kaytv-empty p{margin:0}.kaytv-big{font-size:44px;margin-bottom:6px}.kaytv-player{flex:1;display:flex;flex-direction:column;min-height:0}.kaytv-room{display:flex;align-items:center;gap:6px;padding:8px 20px;color:var(--text-muted);border-bottom:1px solid var(--border)}.kaytv-room .link-btn{margin-left:6px}.player-panel.embedded{flex:1;width:auto;border-left:none;background:transparent}.pl-video-wrap:fullscreen{background:#000;display:flex;align-items:center}.pl-video-wrap:fullscreen .pl-video{width:100%;height:100%;aspect-ratio:auto;border-radius:0}.pl-video-wrap:fullscreen .player-video{object-fit:contain}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-ext-wght-normal-DCwSJGxG.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-wght-normal-D_ZTVpCC.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--canvas: #e7eaf0;--panel: #f6f7f9;--surface: #ffffff;--raise: #edf0f4;--line: #dce1e8;--line-strong: #c6cdd8;--input: var(--surface);--ink: #151922;--ink2: #465062;--ink3: #5f6b7e;--theme-accent: #ffb020;--on-accent: #1a1405;--accent-text: color-mix(in srgb, var(--accent) 50%, var(--ink));--accent-soft: color-mix(in srgb, var(--accent) 18%, transparent);--bubble: #edf0f4;--own: color-mix(in srgb, var(--accent) 40%, var(--surface));--on-own: var(--ink);--live: #16a34a;--danger: #d92d3a;--warn: #b7791f;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 10px 30px rgba(16, 24, 40, .07);--font: "Figtree Variable", "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Bricolage Grotesque Variable", "Bricolage Grotesque", var(--font);--bg-0: var(--input);--bg-1: var(--canvas);--bg-2: var(--panel);--bg-3: var(--surface);--bg-4: var(--raise);--bg-5: var(--line);--hover: color-mix(in srgb, var(--ink) 6%, transparent);--active: color-mix(in srgb, var(--ink) 10%, transparent);--border: var(--line);--text: var(--ink);--text-strong: var(--ink);--text-muted: var(--ink2);--text-faint: var(--ink3);--accent: var(--theme-accent);--accent-2: var(--accent-text);--accent-overlay: color-mix(in srgb, var(--accent) 25%, transparent);--green: var(--live);--red: var(--danger);--yellow: var(--warn);--radius: 5px;--titlebar: 46px;--header-h: 69px;--link: var(--accent-text);--scroll: color-mix(in srgb, var(--ink) 16%, transparent);--scroll-hover: color-mix(in srgb, var(--ink) 28%, transparent);--btn-hover: var(--line-strong);--error-text: var(--danger);--mention-text: var(--accent-text);--mention-me-bg: var(--accent-soft);--mention-me-text: var(--accent-text);--tile-bg: var(--raise);color-scheme:light}:root[data-theme=dark]{--canvas: #080c15;--panel: #0f1524;--surface: #141b2d;--raise: #1c2438;--line: #273049;--line-strong: #36415e;--input: var(--panel);--ink: #eef2fa;--ink2: #b2bbce;--ink3: #8a95ad;--accent-text: color-mix(in srgb, var(--accent) 70%, white);--accent-soft: color-mix(in srgb, var(--accent) 14%, transparent);--bubble: #1e2639;--own: color-mix(in srgb, var(--accent) 22%, #0a0d14);--on-own: color-mix(in srgb, var(--accent) 30%, white);--live: #34d399;--danger: #f87171;--warn: #fbbf24;--shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 12px 32px rgba(0, 0, 0, .4);--hover: color-mix(in srgb, var(--ink) 7%, transparent);--active: color-mix(in srgb, var(--ink) 12%, transparent);color-scheme:dark}:root[data-theme=dusk]{--canvas: #f3e4da;--panel: #fcf4ee;--surface: #ffffff;--raise: #f7ece5;--line: #ead6c9;--line-strong: #dbbfad;--ink: #2b1a13;--ink2: #664a3e;--ink3: #7e5d52;--theme-accent: #ff7a59;--on-accent: #2a0f06;--bubble: #f7ece5;--own: color-mix(in srgb, var(--accent) 34%, var(--surface));--live: #2f9e68;--danger: #c62f2f;--shadow: 0 1px 2px rgba(60, 30, 20, .06), 0 10px 30px rgba(60, 30, 20, .08)}:root[data-theme=contrast]{--canvas: #000000;--panel: #000000;--surface: #000000;--raise: #1f1f1f;--line: #ffffff;--line-strong: #ffffff;--input: #000000;--ink: #ffffff;--ink2: #f2f2f2;--ink3: #dadada;--theme-accent: #ffd400;--on-accent: #000000;--accent-text: var(--accent);--accent-soft: #332b00;--bubble: #1f1f1f;--own: var(--accent);--on-own: #000000;--live: #3dff8a;--danger: #ff7070;--warn: #ffd400;--shadow: none;--hover: rgba(255, 255, 255, .14);--active: rgba(255, 255, 255, .22);--bg-5: #3a3a3a;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;overflow:hidden}body{background:var(--bg-1);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.4;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}h1,h2,h3,.server-name{font-family:var(--font-display);letter-spacing:-.01em}input,textarea,select,button{font:inherit;color:inherit}input[type=text],input[type=password],input[type=url],input[type=datetime-local],input:not([type]),textarea,select{width:100%;background:var(--bg-0);border:1px solid var(--border);border-radius:4px;padding:9px 11px;outline:none;transition:border-color .15s;-webkit-user-select:text;user-select:text}input:focus,textarea:focus,select:focus{border-color:var(--accent)}select option{background:var(--bg-2)}input[type=range]{accent-color:var(--accent);width:100%}a{color:var(--link);cursor:pointer;text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--scroll);border-radius:5px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:var(--scroll-hover)}.muted{color:var(--text-muted)}.red{color:var(--red)}.spacer{flex:1}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.center-fill{display:flex;align-items:center;justify-content:center;flex:1;height:100%;min-height:80px}.center-fill.column{flex-direction:column;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 16px;border-radius:5px;border:none;background:var(--raise);color:var(--text-strong);font-weight:700;cursor:pointer;transition:background .15s,transform .05s,opacity .15s;white-space:nowrap}.btn>svg{flex-shrink:0}.btn:hover{background:var(--line)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);color:var(--on-accent)}.btn.primary:hover{background:color-mix(in srgb,var(--accent) 88%,var(--ink))}.btn.danger{background:var(--red);color:#fff}.btn.danger:hover{filter:brightness(1.1)}.btn.big{padding:11px 22px;font-size:15px}.btn.small{padding:4px 10px;font-size:12px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:4px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:background .12s,color .12s}.icon-btn:hover{background:var(--hover);color:var(--text-strong)}.icon-btn.small{width:26px;height:26px}.icon-btn.active{color:var(--text-strong);background:var(--active)}.icon-btn.danger{color:var(--red)}.icon-btn.live{color:var(--green)}.icon-btn.danger-hover:hover{color:var(--red)}.icon-btn:disabled{opacity:.5;cursor:default}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field-label{font-size:13.5px;font-weight:700;color:var(--ink2)}.hint{font-size:13px;line-height:1.45;color:var(--text-faint)}select{min-height:42px;background-color:var(--raise);border-radius:6px;font-size:14.5px}.hint.ok{color:var(--green)}.hint.warn{color:var(--yellow)}.form-error{background:#f0474b1f;border:1px solid rgba(240,71,75,.4);color:var(--error-text);padding:8px 12px;border-radius:4px;font-size:13px}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.row-2.align-end{align-items:center;margin-bottom:14px}.input-icon{position:relative;display:flex;align-items:center}.input-icon svg{position:absolute;left:11px;color:var(--text-faint);pointer-events:none}.input-icon input{padding-left:34px}.input-icon.small input{padding:6px 8px 6px 30px;font-size:13px}.input-icon.small svg{left:10px}.segmented{display:flex;flex-wrap:wrap;gap:2px;background:var(--raise);padding:3px;border-radius:8px}.segmented button{flex:1;min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 14px;border:none;border-radius:6px;background:transparent;color:var(--ink2);cursor:pointer;font-size:13.5px;font-weight:600;white-space:nowrap}.segmented button:hover:not(:disabled){color:var(--ink)}.segmented button.active{background:var(--surface);color:var(--ink);font-weight:700;box-shadow:var(--shadow)}.segmented button:disabled{opacity:.35;cursor:not-allowed}.toggle-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 0;cursor:pointer}.toggle-row+.toggle-row{border-top:1px solid var(--line)}.toggle-label{font-size:14.5px;font-weight:700;color:var(--text-strong)}.switch{position:relative;width:42px;height:24px;border-radius:6px;border:none;background:var(--bg-5);cursor:pointer;flex-shrink:0;transition:background .15s}.switch span{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:4px;background:#fff;transition:transform .15s}.switch.on{background:var(--accent)}.switch.on span{transform:translate(18px)}.slider-row{display:flex;align-items:center;gap:12px;margin-top:8px}.slider-row span{min-width:70px;text-align:right;font-weight:600}kbd{background:var(--raise);border:1px solid var(--line);border-radius:4px;padding:2px 8px;font-size:13px;font-weight:700;font-family:inherit;color:var(--ink)}.avatar{border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;flex-shrink:0;box-shadow:0 0 0 0 transparent;transition:box-shadow .12s}.avatar.speaking{box-shadow:0 0 0 2px var(--bg-2),0 0 0 4px var(--accent)}.titlebar-drag{position:fixed;top:0;left:0;right:0;height:var(--titlebar);-webkit-app-region:drag}.login-screen{height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(1200px 600px at 10% -10%,var(--accent-overlay),transparent 60%),var(--bg-1)}.login-card{width:460px;max-width:calc(100vw - 32px);background:var(--bg-2);border:1px solid var(--border);border-radius:8px;padding:28px;box-shadow:0 30px 80px #00000073;display:flex;flex-direction:column}.login-card .btn.big{margin-top:14px}.login-brand{display:flex;gap:14px;align-items:center;margin-bottom:22px}.login-brand h1{margin:0;font-size:24px;color:var(--text-strong)}.login-brand p{margin:2px 0 0;color:var(--text-muted);font-size:13px}.brand-mark{width:48px;height:48px;flex-shrink:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Crect width='100' height='100' rx='22' fill='%23ffb020'/%3E%3Cpath d='M67.77 32.42A25 25 0 1 0 67.77 67.58' fill='none' stroke='%23151922' stroke-width='13' stroke-linecap='round'/%3E%3Ccircle cx='50' cy='50' r='7.5' fill='%23151922'/%3E%3C/svg%3E") center / contain no-repeat}.brand-mark.small{width:18px;height:18px}.connecting{display:flex;flex-direction:column;align-items:center;gap:14px;color:var(--text-muted)}.connecting-other{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:420px;text-align:center}.connecting-other .hint{margin:0}.connecting-form{display:flex;gap:8px;width:100%}.connecting-form input{flex:1;min-width:0}.app{height:100%;display:flex;flex-direction:column}.titlebar{height:var(--titlebar);flex-shrink:0;display:flex;align-items:center;gap:8px;padding:0 16px;font-family:var(--font-display);font-size:16px;font-weight:750;letter-spacing:-.02em;color:var(--ink);background:var(--bg-1);-webkit-app-region:drag}.titlebar .brand-mark.small{width:26px;height:26px}.app-body{flex:1;display:flex;gap:10px;min-height:0;padding:0 10px 10px}.main{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg-3);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);overflow:hidden}.main-header{height:var(--header-h);flex-shrink:0;display:flex;align-items:center;gap:12px;padding:0 18px 0 20px;border-bottom:1px solid var(--border);container:head / inline-size}.main-header .segmented{flex:none;flex-wrap:nowrap}.main-header .segmented button{flex:none}.main-header .tool-group{flex-wrap:nowrap}.main-header .task-group,.main-header .btn{flex:none;white-space:nowrap}@container head (max-width: 900px){.task-group-label,.main-header .btn-label,.tool-label{display:none}.main-header .task-group{padding-left:4px}.main-header .btn.primary{width:38px;padding:0;gap:0;font-size:0}.tool:not(.icon){width:36px;padding:0;justify-content:center}}@container head (max-width: 620px){.main-header .view-tile,.main-header .view-title small,.main-header .call-timer{display:none}.main-header .segmented button{padding:0 9px}}.main-header h3{margin:0;min-width:0;font-size:20px;font-weight:700;color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.view-tile{flex:none;width:40px;height:40px;border-radius:6px;background:var(--accent-soft);color:var(--accent-text);display:flex;align-items:center;justify-content:center;font-size:20px}.view-title{min-width:0;display:flex;flex-direction:column}.view-title small{font-size:13px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.people-btn{flex:none;height:40px;display:flex;align-items:center;gap:8px;padding:0 12px 0 6px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font-size:13.5px;cursor:pointer}.people-btn:hover,.people-btn.active{border-color:var(--line-strong);background:var(--raise)}.people-btn .avatar+.avatar{margin-left:-7px}.main-header>.icon-btn{width:40px;height:40px;border-radius:6px;background:var(--raise);color:var(--ink)}.main-header .btn.primary{min-height:38px;padding:0 16px;border-radius:9px;font-size:14px;font-weight:800}.main-header .tag{display:none}.main-header>.icon-btn:hover,.main-header>.icon-btn.active{background:var(--line)}.sidebar{width:264px;flex-shrink:0;display:flex;flex-direction:column;gap:12px;padding:12px 0;background:var(--bg-2);border:1px solid var(--border);border-radius:10px;overflow:hidden}.sidebar-header{display:flex;align-items:center;gap:10px;padding:0 12px}.server-btn{flex:1;min-width:0;height:44px;display:flex;align-items:center;gap:10px;padding:0 8px 0 6px;border:0;border-radius:7px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.server-btn:hover{background:var(--hover)}.server-text{flex:1;min-width:0;display:flex;flex-direction:column}.server-text small{font-size:12px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.server-tile{flex:none;width:32px;height:32px;border-radius:5px;background:var(--accent);color:var(--on-accent);font-family:var(--font-display);font-size:16px;font-weight:800;display:flex;align-items:center;justify-content:center;text-transform:uppercase}.server-name{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-search{display:flex;align-items:center;gap:8px;height:40px;margin:0 12px;padding:0 10px 0 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink3)}.side-search:focus-within{border-color:var(--accent)}.side-search input{flex:1;min-width:0;padding:0;border:0;background:transparent;color:var(--ink);font-size:14px}.side-search kbd{flex:none;padding:2px 6px;border:0;border-radius:3px;background:var(--raise);color:var(--ink2);font-size:11px;font-weight:700}.app-version{border:0;background:none;padding:0;font:inherit;font-size:11px;font-weight:500;color:var(--text-faint);font-variant-numeric:tabular-nums;cursor:pointer}.app-version:hover{color:var(--text);text-decoration:underline}.login-screen{position:relative;flex-direction:column;overflow-y:auto;padding:24px 0 12px}.login-card{margin:auto 0;flex-shrink:0}.login-footer{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;flex-shrink:0}.conn-warn{color:var(--yellow);display:flex}.channel-scroll{flex:1;overflow-y:auto;padding:0 12px 4px}.section-header{display:flex;align-items:center;justify-content:space-between;padding:14px 0 4px 6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint)}.section-header .icon-btn{color:var(--ink2)}.section-header:hover{color:var(--text-muted)}.channel{width:100%;min-height:38px;display:flex;align-items:center;gap:10px;padding:4px 8px 4px 5px;margin:1px 0;border:none;border-radius:6px;background:transparent;color:var(--ink);cursor:pointer;text-align:left;font-size:14.5px;font-weight:600}.channel.text-ch:not(.unread):not(.active),.channel.dm:not(.unread):not(.active){color:var(--ink2);font-weight:500}.channel:hover{background:var(--hover)}.channel.active{background:var(--accent-soft);color:var(--accent-text);font-weight:700}.channel.unread{color:var(--text-strong);font-weight:700}.ch-icon{flex-shrink:0;width:28px;height:28px;padding:6.5px;border-radius:5px;background:var(--raise);color:var(--ink2)}.channel.active .ch-icon{background:var(--accent);color:var(--on-accent)}.ch-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{min-width:20px;background:var(--red);color:#fff;font-size:11.5px;font-weight:800;border-radius:5px;padding:0 6px;line-height:20px;text-align:center}.ch-count,.ch-time{font-size:12.5px;font-weight:700;color:var(--text-muted)}.ch-time{font-weight:500;font-size:12px;color:var(--ink3);font-variant-numeric:tabular-nums}.ch-icon.app-tile.tasks{background:#dbeafe;color:#1e3a8a}.ch-icon.app-tile.events{background:#fce7f3;color:#831843}.ch-icon.app-tile.kaytv{background:#ede9fe;color:#4c1d95}.channel.active .ch-icon.app-tile{background:var(--accent);color:var(--on-accent)}.voice-channel:has(.voice-members,.room-people){margin:4px 0;padding:6px;border:1px solid var(--border);border-radius:7px;background:var(--surface)}.voice-channel:has(.voice-members,.room-people)>.channel{min-height:30px;padding:0 2px;background:transparent;font-weight:700}.voice-channel:has(.voice-members,.room-people)>.channel:not(.active) .ch-icon{color:var(--live)}.voice-channel.here{margin:4px 0;padding:6px;border:1px solid var(--accent);border-radius:7px;background:var(--accent-soft)}.voice-channel.here>.channel{background:transparent}.voice-members{padding:4px 0 0}.room-people{display:flex;align-items:center;gap:8px;padding:6px 2px 0;font-size:12.5px;color:var(--ink2)}.room-people-names{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar-stack{display:flex;flex:none}.avatar-stack .avatar{box-shadow:0 0 0 2px var(--surface)}.avatar-stack .avatar+.avatar{margin-left:-6px}.voice-member{display:flex;align-items:center;gap:8px;padding:3px 6px;border-radius:3px;color:var(--text-muted);font-size:13px}.voice-member:hover{background:var(--hover)}.vm-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vm-icons{display:flex;align-items:center;gap:5px;color:var(--text-faint)}.live-pill{background:var(--red);color:#fff;font-size:9.5px;font-weight:800;border-radius:2px;padding:1px 5px;letter-spacing:.03em}.voice-panel{display:flex;align-items:center;gap:4px;margin:0 12px -12px;padding:8px 8px 10px;border:1px solid var(--border);border-bottom:0;border-radius:8px 8px 0 0;background:var(--surface)}.voice-panel+.user-panel{border-top-color:var(--surface);border-radius:0 0 8px 8px}.voice-panel+.user-panel:before{content:"";position:absolute;top:-1px;left:8px;right:8px;height:1px;background:var(--line)}.vp-dot{width:9px;height:9px;border-radius:50%;background:currentColor}.icon-btn.vp-leave{width:36px;height:36px;background:var(--danger);color:#fff}.icon-btn.vp-leave:hover{background:color-mix(in srgb,var(--danger) 85%,black);color:#fff}.vp-info{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding:2px 6px;border:none;background:transparent;cursor:pointer;border-radius:3px;text-align:left}.vp-info:hover{background:var(--hover)}.vp-info small{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.vp-status{display:flex;flex-direction:row;align-items:center;gap:8px;font-weight:700;font-size:13.5px;color:var(--green)}.vp-status.connecting,.vp-status.reconnecting{color:var(--yellow)}.user-panel{position:relative;display:flex;align-items:center;gap:2px;margin:0 12px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.user-panel .icon-btn{width:34px;height:34px;color:var(--ink2)}.up-name{flex:1;min-width:0;display:flex;flex-direction:column;padding-left:10px}.up-name span{font-weight:700;color:var(--text-strong);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.up-name small{color:var(--ink3);font-size:12px}.context-menu{position:fixed;z-index:1000;min-width:190px;background:var(--bg-0);border:1px solid var(--border);border-radius:5px;padding:6px;box-shadow:0 12px 32px #00000080}.menu-item{width:100%;display:flex;align-items:center;gap:8px;padding:7px 9px;border:none;border-radius:3px;background:transparent;cursor:pointer;text-align:left;color:var(--text)}.menu-item:hover{background:var(--accent);color:var(--on-accent)}.menu-item.danger{color:var(--red)}.menu-item.danger:hover{background:var(--red);color:#fff}.menu-sep{height:1px;background:var(--border);margin:4px 0}.menu-custom{padding:6px 8px}.menu-title{padding:0 1px;color:var(--text-faint);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.menu-check-space{width:15px;flex:none}.menu-slider{display:flex;flex-direction:column;gap:6px;width:200px}.menu-slider span{font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase}.menu-slider small{text-align:right;color:var(--text-muted)}.chat-view{position:relative;flex:1;display:flex;flex-direction:column;min-height:0}.message-list{flex:1;overflow-y:auto;padding:0 0 12px;-webkit-user-select:text;user-select:text}.load-more{height:40px;display:flex;justify-content:center;align-items:center}.channel-intro{padding:40px 18px 12px}.channel-intro h2{margin:12px 0 4px;color:var(--text-strong)}.channel-intro p{margin:0;color:var(--text-muted)}.intro-icon{width:68px;height:68px;border-radius:50%;background:var(--bg-5);display:flex;align-items:center;justify-content:center}.day-divider{display:flex;justify-content:center;margin:18px 16px 6px;color:var(--text-muted);font-size:12.5px;font-weight:700}.day-divider span{padding:4px 12px;border-radius:6px;background:var(--raise)}.message{position:relative;display:flex;gap:10px;padding:2px 28px;margin-top:14px}.message.grouped{margin-top:4px}.msg-gutter{width:36px;flex-shrink:0;display:flex;justify-content:center}.msg-hover-time{visibility:hidden;font-size:10.5px;color:var(--text-faint);padding-top:10px}.message:hover .msg-hover-time{visibility:visible}.msg-main{flex:1;min-width:0}.msg-head{display:flex;align-items:baseline;gap:5px;margin-bottom:4px;font-size:13px;color:var(--ink3)}.msg-author{font-size:14px;font-weight:700;color:var(--ink)}.msg-time{font-size:13px;color:var(--ink3)}.message:not(.own) .msg-time:before{content:"· "}.message>.msg-main>.msg-content:not(.jumbo){width:fit-content;max-width:min(640px,100%);padding:10px 14px;border-radius:3px 9px 9px;background:var(--bubble);font-size:15px;line-height:1.45}.msg-content>.msg-reply{display:block;margin:0 0 6px;padding:2px 0 2px 10px;border-left:3px solid var(--accent);font-size:13px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-content>.msg-reply:before,.msg-content>.msg-reply .avatar{display:none}.msg-content>.msg-reply .msg-reply-author{font-weight:700}.msg-content>.msg-reply .msg-reply-author:after{content:" · ";font-weight:400}.msg-main>.msg-reply{margin:0 0 4px;padding-left:10px;border-left:3px solid var(--accent)}.msg-main>.msg-reply:before{display:none}.message.grouped>.msg-main>.msg-content:not(.jumbo){border-radius:9px}.message.mentioned>.msg-main>.msg-content:not(.jumbo){box-shadow:0 0 0 2px var(--accent-soft)}.message.own{padding-left:72px}.message.own>.msg-gutter,.message.own .msg-author{display:none}.message.own>.msg-main{display:flex;flex-direction:column;align-items:flex-end}.message.own>.msg-main>.msg-content:not(.jumbo){max-width:min(560px,100%);border-radius:9px 3px 9px 9px;background:var(--own)}.message.own>.msg-main>.msg-content,.message.own>.msg-main>.msg-content .edited{color:var(--on-own)}.message.own.grouped>.msg-main>.msg-content:not(.jumbo){border-radius:9px}.message.own>.msg-reply{justify-content:flex-end;margin-left:0}.message.own>.msg-reply:before{display:none}.message.own>.msg-actions{right:auto;left:28px}.msg-content{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;color:var(--text);line-height:1.45}.edited{font-size:11px;color:var(--text-faint)}.inline-code{background:var(--bg-0);border-radius:2px;padding:1px 5px;font-family:Consolas,Cascadia Code,monospace;font-size:13px}.code-block{background:var(--bg-0);border:1px solid var(--border);border-radius:4px;padding:10px 12px;margin:6px 0;overflow-x:auto;font-family:Consolas,Cascadia Code,monospace;font-size:13px;white-space:pre}.msg-actions{position:absolute;right:28px;top:-16px;z-index:2;display:none;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:3px;box-shadow:var(--shadow)}.msg-actions .icon-btn{width:30px;height:30px;border-radius:6px;color:var(--ink2)}.message:hover .msg-actions{display:flex}.edit-box textarea{margin:4px 0}.attachments{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.att-image{max-width:min(420px,100%);max-height:340px;border-radius:4px;cursor:zoom-in;display:block}.att-image.placeholder{width:240px;height:160px;background:var(--bg-2)}.att-video{max-width:min(480px,100%);max-height:340px;border-radius:4px}.att-audio{width:360px;max-width:100%}.att-media{position:relative;display:inline-flex;align-self:flex-start;width:fit-content;max-width:100%}.att-media.video{max-width:min(480px,100%)}.att-media.video .att-video{max-width:100%}.att-media.audio{align-items:center;flex-wrap:wrap;gap:8px}.att-media.video .att-media-open{position:absolute;top:8px;right:8px;background:#0009;opacity:0;transition:opacity .15s}.att-media.video:hover .att-media-open,.att-media-open:focus-visible,.app.mobile .att-media.video .att-media-open{opacity:1}.att-file{display:flex;align-items:center;gap:12px;padding:10px 14px 10px 10px;background:var(--bubble);border-radius:9px;min-width:280px;max-width:420px}.att-file>svg:first-child{flex:none;box-sizing:content-box;width:22px;height:22px;padding:14px 10px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--danger)}.att-meta{flex:1;min-width:0;display:flex;flex-direction:column}.att-name{font-size:14px;font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att-meta small{font-size:12.5px;color:var(--ink3)}.composer-wrap{padding:0 20px 18px;flex-shrink:0}.composer{display:flex;align-items:flex-end;gap:8px;min-height:58px;background:var(--raise);border:1px solid var(--line);border-radius:15px;padding:7px 8px}.composer:focus-within{border-color:var(--line-strong)}.composer .icon-btn{width:42px;height:42px;border-radius:8px;color:var(--ink2)}.composer .composer-more{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.composer .composer-more:hover,.composer .composer-more.active{background:var(--surface);color:var(--accent-text)}.composer .composer-send,.composer .composer-send:hover{background:var(--accent);color:var(--on-accent)}.composer .composer-send:hover{background:color-mix(in srgb,var(--accent) 88%,var(--ink))}.composer-menu{position:absolute;left:0;bottom:calc(100% + 8px);z-index:20;width:300px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:8px;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:var(--shadow)}.composer-menu button{height:44px;display:flex;align-items:center;gap:10px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:var(--ink);font-size:14px;font-weight:600;text-align:left;cursor:pointer}.composer-menu button:hover{background:var(--raise)}.composer-menu button.active{background:var(--accent-soft);color:var(--accent-text)}.composer-menu button:disabled{opacity:.5;cursor:default}.gif-mark{flex:none;padding:0 3px;border:1.6px solid currentColor;border-radius:4px;font-size:9px;font-weight:800;line-height:14px}.composer textarea{flex:1;align-self:center;background:transparent;border:none;resize:none;padding:8px 6px;max-height:300px;font-size:15.5px;line-height:1.4}.typing{height:24px;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink3);padding-left:54px}.dots{display:inline-flex;gap:3px}.dots i{width:6px;height:6px;border-radius:50%;background:var(--ink3);animation:blink 1.2s infinite}.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,60%,to{opacity:.25}30%{opacity:1}}.pending-uploads{display:flex;flex-wrap:wrap;gap:6px;padding:8px 0}.pending{position:relative;display:flex;align-items:center;gap:6px;background:var(--bg-2);border:1px solid var(--border);border-radius:4px;padding:5px 4px 5px 9px;overflow:hidden;max-width:280px}.pending.error{border-color:var(--red)}.pending-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.pending small{color:var(--text-muted);white-space:nowrap}.pending-bar{position:absolute;left:0;bottom:0;height:2px;background:var(--accent);transition:width .2s}.drop-overlay{position:absolute;inset:0;background:var(--accent-overlay);display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:10}.drop-overlay div{background:var(--accent);color:var(--on-accent);padding:18px 26px;border-radius:6px;font-weight:700;font-size:16px}.member-list{width:230px;flex-shrink:0;background:var(--bg-2);border:1px solid var(--border);border-radius:10px;overflow-y:auto;padding:0 8px 16px}.member{display:flex;align-items:center;gap:10px;padding:5px 8px;border-radius:4px}.member:hover{background:var(--hover)}.member.offline{opacity:.4}.member-avatar{position:relative}.presence-dot{position:absolute;right:-3px;bottom:-3px;width:16px;height:16px;border-radius:50%;border:3px solid var(--bg-2);background:var(--text-faint)}.presence-dot.on{background:var(--green)}.member-name{flex:1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-view{flex:1;display:flex;flex-direction:column;min-height:0;background:var(--surface)}.voice-body{position:relative;flex:1;display:flex;min-height:0}.stage-wrap{flex:1;min-width:0;display:flex;flex-direction:column;position:relative}.stage{flex:1;min-height:0;padding:14px;display:flex;flex-direction:column}.grid{flex:1;min-height:0;display:grid;gap:10px;justify-content:center;align-content:center;overflow:hidden}.grid.scroll{align-content:start;overflow-y:auto}.stage.has-focus{gap:10px}.focus-area{flex:1;min-height:0;display:flex}.focus-area .tile{flex:1;aspect-ratio:auto}.focus-area.split{position:relative}.focus-area.split .tile{flex:none;aspect-ratio:16 / 9}.focus-area.split:fullscreen{background:#000;padding:10px}.split-toolbar{position:absolute;top:8px;right:8px;display:flex;gap:4px;padding:3px;border-radius:4px;background:#0000008c;opacity:0;transition:opacity .15s;z-index:3}.focus-area.split:hover .split-toolbar,.split-toolbar:focus-within{opacity:1}.app.mobile .split-toolbar{opacity:1}.split-add{position:absolute;top:6px;right:6px;z-index:2;background:#0000008c;color:#fff}.strip{height:120px;flex-shrink:0;display:flex;gap:10px;overflow-x:auto;justify-content:center}.strip .tile{width:200px;flex-shrink:0;aspect-ratio:auto}.tile{position:relative;aspect-ratio:16 / 9;background:var(--raise);border-radius:9px;overflow:hidden;cursor:pointer;outline:3px solid transparent;outline-offset:-3px;transition:outline-color .12s;min-height:0}.tile.speaking{outline-color:var(--accent)}.tile.screen{background:#0b0f18;cursor:default}.tile.person:has(.tile-avatar) .tile-label{background:var(--surface);color:var(--ink)}.tile .tile-avatar .avatar.speaking{box-shadow:none}.tile.screen.small{cursor:pointer}.tile.not-watching{background:var(--tile-bg)}.tile-avatar{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.tile-avatar.column{flex-direction:column;gap:10px}.tile-avatar p{margin:0;color:var(--text-strong);font-weight:600}.tile-video{position:absolute;inset:0;width:100%;height:100%;background:#000}.tile-video.contain{object-fit:contain}.tile-video.cover{object-fit:cover}.tile-video.mirror{transform:scaleX(-1)}.tile-label{position:absolute;left:8px;bottom:8px;display:flex;align-items:center;gap:6px;max-width:calc(100% - 16px);background:#080c15b8;border-radius:5px;padding:4px 9px;font-size:12.5px;font-weight:700;color:#fff}.tile-label span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile.small .tile-label{font-size:11px;left:5px;bottom:5px}.tile-toolbar{position:absolute;top:8px;right:8px;display:flex;align-items:center;gap:4px;background:#000000a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:4px;padding:3px;opacity:0;transition:opacity .15s}.tile:hover .tile-toolbar{opacity:1}.tile-toolbar .icon-btn{color:#ddd}.tile-toolbar select{width:auto;padding:3px 6px;font-size:12px;background:#00000080}.tb-volume{display:flex;align-items:center;gap:4px;padding:0 6px;color:#ddd}.tb-volume input{width:80px}.self-preview-note{position:absolute;top:10px;left:10px;font-size:11px;background:#0009;color:#ccc;padding:3px 8px;border-radius:3px}.stats-overlay{position:absolute;top:46px;right:8px;background:#000000bf;color:#e8e8e8;font-family:Consolas,Cascadia Code,monospace;font-size:12px;line-height:1.55;padding:8px 10px;border-radius:4px;pointer-events:none;max-width:60%}.stats-overlay .warn{color:var(--yellow)}.tile:fullscreen{border-radius:0}.join-prompt h2{margin:4px 0;color:var(--text-strong)}.join-avatars{display:flex;gap:8px}.control-bar{display:flex;justify-content:center;gap:8px;width:fit-content;max-width:calc(100% - 28px);margin:0 auto 14px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--shadow)}.ctrl{width:48px;height:48px;border-radius:9px;border:none;background:var(--raise);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s,transform .05s}.ctrl:hover{background:var(--line)}.ctrl:active{transform:translateY(1px)}.ctrl.off{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger)}.ctrl.on{background:var(--accent);color:var(--on-accent)}.ctrl.live{background:var(--live);color:color-mix(in srgb,var(--live) 22%,black)}.ctrl.hangup{width:auto;gap:8px;padding:0 20px;background:var(--danger);color:#fff;font-size:15px;font-weight:800}.ctrl.hangup:hover{background:color-mix(in srgb,var(--danger) 85%,black)}.soundboard{width:300px;flex-shrink:0;display:flex;flex-direction:column;gap:14px;padding:16px 0;background:var(--panel);border:1px solid var(--line);border-radius:10px;min-height:0}.sb-header{display:flex;align-items:center;gap:8px;padding:0 16px}.sb-header .icon-btn{width:34px;height:34px;background:var(--raise);color:var(--ink2)}.sb-now{display:flex;align-items:center;gap:10px;margin:0 16px;padding:10px 12px;border-radius:7px;background:var(--accent-soft)}.sb-now-text{flex:1;min-width:0;display:flex;flex-direction:column}.sb-now-text strong{font-size:14px;color:var(--accent-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-now-text small{font-size:12px;color:var(--ink2)}.sb-now .btn{background:var(--surface)}.sb-stop-all{align-self:flex-start;margin:-6px 16px 0}.sb-vol-label{font-size:13px;color:var(--ink2);white-space:nowrap}.sb-add{min-height:58px;display:flex;align-items:center;justify-content:center;gap:6px;border:1.5px dashed var(--line);border-radius:7px;background:transparent;color:var(--ink2);font-size:13.5px;font-weight:700;cursor:pointer}.sb-add:hover{border-color:var(--line-strong);color:var(--ink)}.sb-help{margin:0;padding:0 16px;font-size:13px;line-height:1.5;color:var(--ink3)}.sb-header h4{margin:0;font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--text-strong)}.sb-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:0 16px}.sb-tools .input-icon{flex-basis:100%}.sb-volume{flex:1;display:flex;align-items:center;gap:4px;color:var(--text-muted)}.sb-note{margin:0 12px 8px;font-size:12px;color:var(--yellow)}.sb-grid{flex:1;min-height:0;overflow-y:auto;padding:0 16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:max-content;gap:8px;align-content:start}.sb-btn{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;column-gap:10px;min-height:58px;padding:7px 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface);cursor:pointer;overflow:hidden;transition:border-color .12s,transform .06s;outline:none}.sb-btn:hover{border-color:var(--line-strong)}.sb-btn:active{transform:translateY(1px)}.sb-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sb-btn.playing{border-color:var(--accent);box-shadow:0 0 0 .5px var(--accent)}.sb-emoji{grid-row:1 / span 2}.sb-name{align-self:end;font-size:14px;font-weight:700;line-height:1.2;color:var(--text-strong);max-width:100%;overflow:hidden;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.sb-count{font-size:11px;color:var(--text-faint);font-weight:600}.sb-dur{align-self:start;font-size:12px;color:var(--text-faint)}.sb-actions{position:absolute;top:4px;right:4px;display:none;gap:2px}.sb-btn:hover .sb-actions,.sb-btn:focus-within .sb-actions{display:flex}.sb-actions button{width:22px;height:22px;border-radius:3px;border:none;background:#00000059;color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer}.sb-actions button:hover{color:#fff;background:#0009}.sb-actions button.danger:hover{color:#fff;background:var(--red)}.sb-progress{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--accent);transform-origin:left;animation-name:sb-progress;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes sb-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.sb-empty{grid-column:1 / -1;text-align:center;color:var(--text-muted);padding:30px 0}.drop-zone{display:flex;align-items:center;gap:12px;padding:20px;border:2px dashed var(--bg-5);border-radius:5px;cursor:pointer;color:var(--text-muted);transition:border-color .15s}.drop-zone:hover,.drop-zone.has-file{border-color:var(--accent);color:var(--text)}.sound-preview{width:100%;margin:10px 0 14px}.icon-tile,.ch-icon.icon-tile{flex:none;display:flex;align-items:center;justify-content:center;border-radius:5px;background:var(--tile-bg);color:var(--tile-fg)}.icon-tile.view-icon{border-radius:6px}.icon-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:4px;max-height:196px;overflow-y:auto;padding:3px}.icon-pick{display:flex;justify-content:center;padding:3px;border:0;border-radius:7px;background:transparent;cursor:pointer}.icon-pick:hover{background:var(--raise)}.icon-pick.active{box-shadow:0 0 0 2px var(--accent)}.modal-backdrop{position:fixed;inset:0;z-index:500;background:#000000a6;display:flex;align-items:center;justify-content:center;padding:24px;animation:fade .12s ease-out}@keyframes fade{0%{opacity:0}}.modal{max-width:100%;max-height:calc(100vh - 48px);display:flex;flex-direction:column;background:var(--bg-3);border:1px solid var(--border);border-radius:12px;box-shadow:0 24px 64px #0000004d;animation:pop .14s ease-out}@keyframes pop{0%{transform:scale(.97);opacity:0}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 8px 20px}.modal-header h2{margin:0;font-size:21px;font-weight:700;color:var(--text-strong)}.modal-header .icon-btn{width:36px;height:36px;border-radius:6px;background:var(--raise);color:var(--ink2)}.modal-body{padding:8px 20px 16px;overflow-y:auto}.modal-body p{margin-top:0}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 20px;background:var(--bg-2);border-top:1px solid var(--border);border-bottom-left-radius:12px;border-bottom-right-radius:12px}.modal-footer.inline{background:none;padding:8px 0 0}.image-viewer{cursor:zoom-out}.image-viewer img{max-width:100%;max-height:100%;border-radius:4px}.share-layout{display:block}.share-layout.with-sources{display:grid;grid-template-columns:1fr 360px;gap:20px}.share-sources{display:flex;flex-direction:column;min-height:0}.share-tabs{display:flex;gap:8px;align-items:center;margin-bottom:10px}.share-tabs .segmented{flex:1}.source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:520px;overflow-y:auto;padding:2px;align-content:start}.source{display:flex;flex-direction:column;gap:6px;padding:6px;border:2px solid transparent;border-radius:5px;background:var(--bg-2);cursor:pointer;text-align:left}.source:hover{background:var(--bg-4)}.source.selected{border-color:var(--accent);background:var(--accent-soft)}.source-thumb{aspect-ratio:16 / 9;background:#000;border-radius:3px;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--text-faint)}.source-thumb img{width:100%;height:100%;object-fit:contain}.source-name{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600}.source-name img{width:16px;height:16px}.source-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-settings .field{margin-bottom:12px}.preset-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.preset{display:flex;flex-direction:column;align-items:flex-start;padding:6px 10px;border-radius:4px;border:1px solid var(--border);background:var(--bg-2);cursor:pointer}.preset:hover{border-color:var(--accent)}.preset b{font-size:12.5px;color:var(--text-strong)}.preset small{font-size:11px;color:var(--text-muted)}.hw-badge{color:var(--yellow)}.share-summary{flex:1;color:var(--text-muted);font-size:13px}.share-summary b{color:var(--text-strong)}.share-summary .ok{color:var(--green);font-weight:700}.share-summary .warn{color:var(--yellow);font-weight:700}.modal.settings-modal{height:min(680px,calc(100vh - 48px))}.settings-modal .modal-header{padding-bottom:14px;border-bottom:1px solid var(--border)}.settings-modal .modal-body{flex:1;min-height:0;display:flex;padding:0;overflow:hidden}.settings-layout{flex:1;min-height:0;display:grid;grid-template-columns:220px 1fr}.settings-content{min-height:0;overflow-y:auto;padding:10px 26px 20px}.settings-nav{overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:14px 10px;background:var(--panel);border-right:1px solid var(--border)}.settings-nav button{display:flex;align-items:center;gap:10px;min-height:38px;text-align:left;padding:0 10px;border-radius:6px;border:none;background:transparent;color:var(--text);font-size:14.5px;font-weight:600;cursor:pointer}.settings-nav button svg{flex-shrink:0;color:var(--ink2)}.settings-nav button:hover{background:var(--hover)}.settings-nav button.active,.settings-nav button.active svg{background:var(--accent-soft);color:var(--accent-text)}.settings-nav-group{margin:14px 0 4px;padding:0 10px;color:var(--text-faint);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.settings-nav-group:first-child{margin-top:0}.settings-h{margin:24px 0 10px;padding-top:22px;border-top:1px solid var(--line);font-size:15px;font-weight:800;color:var(--text-strong)}.settings-title+.settings-h,.settings-content>.settings-h:first-child{padding-top:0;border-top:0}.settings-title{margin:16px 0 4px}.settings-title h2{margin:0;font-size:24px;font-weight:700}.settings-title p{margin:4px 0 0;font-size:14.5px;color:var(--ink2)}.mic-test{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.mic-hear{flex-basis:100%;display:flex;align-items:center;gap:6px;cursor:pointer}.meter{flex:1 1 220px;height:10px;background:var(--raise);border-radius:3px;overflow:hidden}.meter div{height:100%;background:var(--live);transition:width .05s}.meter{position:relative}.meter.closed div{background:var(--text-faint)}.meter-threshold{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--ink)}.shortcuts{display:grid;grid-template-columns:1fr auto;gap:8px 4px;align-items:center;margin:8px 0}.account-box{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg-2);border-radius:5px;padding:14px}.tag{margin-left:8px;font-size:10px;font-weight:800;text-transform:uppercase;background:var(--accent);color:var(--on-accent);padding:1px 6px;border-radius:2px}@media(max-width:1000px){.app-body{position:relative}.soundboard{position:absolute;top:calc(var(--header-h) + 1px);right:11px;bottom:11px;z-index:20;border-width:0 0 0 1px;border-radius:0 0 9px;box-shadow:var(--shadow)}}@media(max-width:1050px){.member-list{display:none}.sidebar{width:240px}.user-panel .icon-btn{width:30px}.ctrl{width:44px;height:44px}.control-bar{gap:8px}.share-layout.with-sources{grid-template-columns:1fr}}.toasts{position:fixed;top:calc(var(--titlebar) + 58px);left:50%;transform:translate(-50%);z-index:2000;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{display:flex;align-items:center;gap:8px;max-width:560px;background:var(--bg-0);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:5px;padding:10px 14px;box-shadow:0 10px 30px #00000073;animation:pop .15s ease-out}.toast.error{border-left-color:var(--red)}.toast.error svg{color:var(--red)}.toast.success{border-left-color:var(--green)}.toast.success svg{color:var(--green)}.channel.dm .member-avatar{position:relative;display:flex}.presence-dot.small{width:14px;height:14px;border-width:2.5px;right:-3px;bottom:-3px}.member,.msg-author,.msg-avatar{cursor:pointer}.user-pick{display:flex;flex-direction:column;gap:2px;max-height:340px;overflow-y:auto;margin-top:10px}.user-pick .member{border:none;background:none;text-align:left;width:100%}.invite-created{display:flex;gap:8px;margin:4px 0 10px}.invite-created input{flex:1;min-width:0}.invite-list{display:flex;flex-direction:column;gap:6px}.invite-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:4px;background:var(--bg-3)}.invite-row>div{flex:1;min-width:0}.invite-row code{font-weight:700;letter-spacing:.06em;color:var(--text-strong)}.banned-user{display:flex;align-items:center;gap:10px}.update-banner{display:flex;align-items:center;gap:10px;padding:7px 14px;background:var(--accent-soft);border-bottom:1px solid var(--border);color:var(--text-strong);font-size:13px}.update-banner span{flex:1}.btn.small{padding:4px 10px;font-size:12.5px}.link-btn{border:none;background:none;padding:0;color:var(--accent-2);text-decoration:underline;cursor:pointer;font:inherit}.role-icon{display:inline-flex;color:var(--text-faint)}.role-icon.owner{color:var(--yellow)}.shortcuts .keys{display:inline-flex;align-items:center;gap:4px}.message{flex-wrap:wrap}.msg-reply{flex-basis:100%;display:flex;align-items:center;gap:6px;min-width:0;margin:0 0 2px 54px;font-size:12.5px;color:var(--text-muted);cursor:pointer;position:relative}.msg-reply:before{content:"";position:absolute;left:-34px;top:50%;width:28px;height:12px;border-left:2px solid var(--bg-5);border-top:2px solid var(--bg-5);border-top-left-radius:3px}.msg-reply:hover .msg-reply-text{color:var(--text)}.msg-reply .avatar{flex-shrink:0}.msg-reply-author{font-weight:600;flex-shrink:0}.msg-reply-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-reply.deleted{font-style:italic;cursor:default}.message.flash{animation:msg-flash 1.8s ease-out}@keyframes msg-flash{0%,30%{background:var(--accent-soft)}to{background:transparent}}.msg-pinned{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:var(--text-faint)}.new-divider{display:flex;align-items:center;gap:10px;margin:14px 20px 0;color:var(--accent-text);font-size:12.5px;font-weight:800}.new-divider:before,.new-divider:after{content:"";flex:1;height:1.5px;background:var(--accent)}.reply-bar{display:flex;align-items:center;gap:8px;background:var(--raise);border:1px solid var(--line);border-bottom:0;border-radius:15px 15px 0 0;padding:8px 10px 4px 16px;font-size:13px;color:var(--text-muted)}.reply-bar-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-faint)}.composer.replying{border-top:0;border-top-left-radius:0;border-top-right-radius:0}.pins-panel{position:absolute;top:calc(var(--header-h) + 4px);right:14px;z-index:30;width:min(440px,calc(100% - 28px));max-height:min(560px,calc(100% - 70px));display:flex;flex-direction:column;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 10px 30px #00000073}.pins-head{display:flex;align-items:center;gap:8px;padding:12px 14px;font-weight:700;color:var(--text-strong);border-bottom:1px solid var(--border)}.pins-list{overflow-y:auto;padding:8px;min-height:80px;-webkit-user-select:text;user-select:text}.pins-empty{padding:18px 10px;color:var(--text-muted);text-align:center}.pins-empty svg{vertical-align:-2px}.pin-item{display:flex;gap:10px;padding:10px;border-radius:4px;background:var(--bg-2);cursor:pointer}.pin-item+.pin-item{margin-top:6px}.pin-item:hover{background:var(--bg-3)}.pin-main{flex:1;min-width:0}.pin-content{max-height:160px;overflow:hidden}.link-previews{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:6px}.link-card{display:flex;gap:12px;max-width:440px;background:var(--bg-2);border:1px solid var(--border);border-left:4px solid var(--bg-5);border-radius:3px;padding:10px 12px}.link-card.large{flex-direction:column}.link-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.link-site{font-size:12px;color:var(--text-muted)}.link-title{font-weight:600;color:var(--link);text-decoration:none;overflow-wrap:anywhere}.link-title:hover{text-decoration:underline}.link-desc{font-size:13px;color:var(--text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.link-thumb{width:80px;height:80px;object-fit:cover;border-radius:3px;flex-shrink:0;cursor:zoom-in}.link-image{display:block;position:relative;max-width:100%;border-radius:3px;overflow:hidden;cursor:zoom-in}.link-image img,img.link-image{display:block;max-width:100%;max-height:300px;border-radius:3px}.link-image.video{cursor:pointer}.link-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:#000000b3;color:#fff;display:flex;align-items:center;justify-content:center;padding-left:3px}.link-image.video:hover .link-play{background:#e62117}.avatar.photo{overflow:hidden;background:var(--bg-4)!important}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.presence-dot.on.away{background:var(--yellow)}.presence-dot.on.away:after{content:"";position:absolute;width:55%;height:55%;left:-8%;top:-8%;border-radius:50%;background:var(--bg-2)}.presence-dot.on.dnd{background:var(--red)}.presence-dot.on.dnd:after{content:"";position:absolute;left:16%;right:16%;top:38%;height:24%;border-radius:1px;background:var(--bg-2)}.user-panel .presence-dot{border-color:var(--surface)}.user-panel .presence-dot.on.away:after,.user-panel .presence-dot.on.dnd:after{background:var(--surface)}.up-me{flex:1;min-width:0;display:flex;align-items:center;gap:2px;background:none;border:none;padding:2px 4px 2px 2px;border-radius:4px;cursor:pointer;text-align:left}.up-me:hover{background:var(--hover)}.status-option{display:flex;flex-direction:column;line-height:1.25}.status-option b{font-weight:600}.status-option small{font-size:11px;color:var(--text-faint)}.status-swatch{display:inline-block;width:13px;height:13px;border-radius:50%}.status-swatch.online{background:var(--green)}.status-swatch.away{background:var(--yellow)}.status-swatch.dnd{background:var(--red)}.status-swatch.current{box-shadow:0 0 0 2px var(--bg-0),0 0 0 3.5px var(--text-muted)}.vp-info small.vp-ptt{color:var(--text-faint);font-size:11px}.vp-info small.vp-ptt.open{color:var(--green);font-weight:600}.mic-mode{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:12px}.mic-mode .hint{margin:0}.key-capture{display:flex;align-items:center;min-height:36px;padding:6px 10px;border:1px dashed var(--border);border-radius:4px;color:var(--text-muted)}.key-capture kbd{font-size:14px}.key-capture.recording{border-color:var(--accent);color:var(--text)}.avatar-settings{display:flex;align-items:center;gap:16px}.avatar-actions{display:flex;flex-direction:column;gap:6px}.avatar-actions .row-btns{display:flex;gap:8px}.yt-anchor{flex:1;min-height:0;border-radius:6px;background:#000}.yt-host{position:fixed;z-index:400;display:flex;flex-direction:column;background:#000;border-radius:6px;overflow:hidden;box-shadow:0 0 0 1px var(--border)}.yt-host.mini{right:16px;bottom:96px;width:360px;height:236.5px;box-shadow:0 12px 32px #0000008c,0 0 0 1px var(--border)}.yt-bar{height:34px;flex-shrink:0;display:flex;align-items:center;gap:6px;padding:0 6px 0 10px;background:var(--bg-1);font-size:13px}.yt-logo{color:#ff3d3d;flex-shrink:0}.yt-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:var(--text-strong)}.yt-by{flex:1;min-width:0;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.yt-frame{flex:1;width:100%;border:0;background:#000}.yt-queue-btn{position:relative}.yt-queue-count{position:absolute;top:-3px;right:-4px;min-width:15px;height:15px;padding:0 3px;border-radius:4px;background:var(--accent);color:var(--on-accent);font-size:10px;font-weight:700;line-height:15px;text-align:center}.yt-queue{position:absolute;z-index:1;top:34px;right:0;bottom:0;width:min(360px,100%);display:flex;flex-direction:column;background:var(--bg-1);border-left:1px solid var(--border);box-shadow:-12px 0 24px #00000059}.yt-queue-head{display:flex;align-items:center;gap:6px;padding:8px 6px 8px 12px;border-bottom:1px solid var(--border);font-size:13px;font-weight:600;color:var(--text-strong)}.yt-queue-title{flex:1;min-width:0;display:flex;flex-direction:column}.yt-queue-title small{font-weight:400;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yt-queue-empty{padding:12px}.yt-queue-list{flex:1;min-height:0;overflow-y:auto;margin:0;padding:4px 0;list-style:none}.yt-queue-list li{display:flex;align-items:center;gap:4px;padding:0 6px 0 10px}.yt-queue-list li:hover{background:var(--bg-2)}.yt-queue-n{width:22px;flex-shrink:0;color:var(--text-faint);font-size:11px;text-align:right}.yt-queue-item{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding:5px 4px;border:0;background:none;color:var(--text);font:inherit;font-size:13px;text-align:left;cursor:pointer}.yt-queue-item span,.yt-queue-item small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yt-queue-item small{color:var(--text-faint);font-size:11px}.yt-queue-list li .icon-btn{opacity:0}.yt-queue-list li:hover .icon-btn{opacity:1}.link-together{align-self:flex-start;display:inline-flex;align-items:center;gap:6px}.platform-darwin .titlebar{padding-left:80px}.form-error svg{vertical-align:-2px}.update-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:6px}.update-line .btn{display:inline-flex;align-items:center;gap:6px}.quick-row{display:flex;gap:6px;margin:4px 0 2px}.quick-row .channel{flex:1;min-width:0;min-height:34px;justify-content:center;gap:6px;margin:0;padding:4px 8px;border-radius:5px;background:var(--raise);color:var(--ink);font-size:13px}.quick-row .channel:hover{background:var(--line)}.quick-row .channel.active{background:var(--accent-soft);color:var(--accent-text)}.quick-row .ch-icon,.quick-row .channel.active .ch-icon{width:15px;height:15px;padding:0;background:none;color:inherit}.quick-row .ch-name{flex:0 1 auto}.files-view{position:relative;flex:1;display:flex;flex-direction:column;min-height:0}.files-body{flex:1;overflow-y:auto;padding:16px 20px 24px}.files-intro{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin-bottom:18px}.files-intro p{flex:1;min-width:260px;margin:0;color:var(--text-muted)}.files-actions{display:flex;align-items:center;gap:10px}.files-hours{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:13px}.files-hours select{width:auto;padding:6px 8px}.files-actions .btn{display:inline-flex;align-items:center;gap:6px}.files-section{margin-bottom:20px}.files-section h4{margin:0 0 8px;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text-faint)}.files-section h4 small{font-weight:600}.file-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:7px;background:var(--surface)}.file-row+.file-row{margin-top:6px}.file-row.error{background-image:linear-gradient(to right,var(--red) 2px,transparent 2px)}.file-row .btn{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.file-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.file-name{font-weight:600;color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-main small{color:var(--text-muted);font-size:12px}.file-main small .warn{color:var(--yellow)}.file-bar{height:4px;border-radius:2px;background:var(--bg-5);overflow:hidden}.file-bar i{display:block;height:100%;background:var(--accent);transition:width .3s}.files-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:36px 0;color:var(--text-faint);border:1px dashed var(--border);border-radius:var(--radius)}.files-empty p{margin:0}.file-private{display:inline-flex;align-items:center;gap:3px;color:var(--text)}.extend-btn{position:relative;flex-shrink:0;cursor:pointer}.extend-btn select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.att-share .att-meta small .warn{color:var(--yellow)}.att-share.gone{opacity:.6}.att-share .extend-btn{margin-left:-4px}.chat-share-uploads{display:flex;flex-direction:column;gap:6px;margin-bottom:6px}.chat-share-uploads .file-row{padding:8px 10px}.subs-overlay{position:absolute;left:50%;bottom:12%;transform:translate(-50%);z-index:2;max-width:88%;padding:2px 8px;border-radius:2px;background:#0000009e;color:#fff;font-size:clamp(9px,2.6cqw,34px);line-height:1.3;text-align:center;white-space:pre-line;pointer-events:none;text-shadow:0 1px 2px #000}.tile.screen{container-type:inline-size}.tile.screen .subs-overlay{bottom:max(12%,40px)}.app-view{flex:1;display:flex;flex-direction:column;min-height:0}.app-view-body{flex:1}.app-host{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.apps-host{position:absolute;top:var(--header-h);left:0;right:0;bottom:0;background:#fff}.apps-host.off{visibility:hidden;pointer-events:none}.app-frame{position:absolute;inset:0;width:100%;height:100%;border:0;display:flex}.app-frame.hidden{visibility:hidden;pointer-events:none}.app-running{width:7px;height:7px;border-radius:50%;background:var(--green);margin-left:auto;flex-shrink:0}.app-builtin{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding:10px 12px;border-radius:5px;background:var(--bg-2);border:1px solid var(--border)}.app-builtin>div{flex:1;min-width:0}.app-builtin small{display:block;margin-top:2px;color:var(--text-muted)}.task-add{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px}.task-add>input{flex:1;width:auto;min-width:0}.task-add .btn{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.task-add textarea,.task-edit textarea{flex-basis:100%;min-height:110px;resize:vertical}.task-row{flex-wrap:wrap;gap:8px;padding:6px 8px 6px 12px}.task-n{width:18px;flex-shrink:0;text-align:right;font-size:12px;font-weight:700;color:var(--text-faint)}.task-title{flex:1;min-width:0;display:flex;align-items:center;gap:6px;padding:6px 4px;background:none;border:0;border-radius:3px;text-align:left;overflow-wrap:anywhere;cursor:pointer}.task-title:hover{color:var(--text-strong)}.task-chevron,.task-has-notes{flex-shrink:0;color:var(--text-faint)}.task-chevron{transition:transform .15s}.task-row.expanded .task-chevron{transform:rotate(90deg)}.task-edit{flex-basis:100%;display:flex;flex-direction:column;gap:8px;padding:2px 0 6px}.task-edit-actions{display:flex;justify-content:flex-end;gap:8px}.task-fields{flex-basis:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.task-fields>*{min-width:0}.task-chip{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;font-size:12.5px;font-weight:600;color:var(--ink2)}.task-chip.late{color:var(--red);font-weight:700}.task-state{height:22px;padding:0 8px;border-radius:5px;background:var(--accent-soft);color:var(--accent-text);font-size:12.5px;font-weight:800;display:inline-flex;align-items:center}.task-chip.ok{color:var(--green)}.prio{flex-shrink:0}.prio.urgent{color:var(--red)}.prio.important{color:#f76b15}.prio.low{color:var(--accent-2)}.tc-red{--tc: #e5484d}.tc-orange{--tc: #f76b15}.tc-yellow{--tc: #e2b203}.tc-green{--tc: #30a46c}.tc-teal{--tc: #12a594}.tc-blue{--tc: #3e63dd}.tc-purple{--tc: #8e4ec6}.tc-pink{--tc: #d6409f}.task-row[class*=tc-],.task-card[class*=tc-],.goal-task[class*=tc-]{background:color-mix(in srgb,var(--tc) 20%,var(--surface));border:1px solid color-mix(in srgb,var(--tc) 45%,var(--line))}.color-pick{display:flex;flex-wrap:wrap;gap:6px;padding-top:4px}.swatch{width:22px;height:22px;padding:0;border-radius:50%;border:2px solid transparent;background:var(--tc);cursor:pointer}.swatch.none{background:var(--bg-0);border-color:var(--border)}.swatch.on{outline:2px solid var(--text-strong);outline-offset:2px}.task-checklist{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.task-checklist label{display:flex;align-items:flex-start;gap:8px;cursor:pointer;overflow-wrap:anywhere}.task-checklist label.done span{text-decoration:line-through;color:var(--text-muted)}.task-checklist input,.checklist-row input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;margin:2px 0 0;flex-shrink:0}.checklist-edit{flex-basis:100%;display:flex;flex-direction:column;gap:6px}.checklist-row{display:flex;align-items:center;gap:8px}.checklist-row input:not([type]){flex:1;min-width:0;padding:6px 8px}.task-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin-bottom:16px}.task-group{display:inline-flex;align-items:center;height:38px;padding-left:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font-size:13.5px;font-weight:600;color:var(--ink)}.task-group select{width:auto;height:100%;padding:0 10px 0 4px;border:0;background:transparent;font-weight:700;cursor:pointer}.task-board{display:flex;align-items:stretch;gap:14px;overflow-x:auto;padding-bottom:12px}.task-col{flex:0 0 268px;display:flex;flex-direction:column;gap:8px;padding:4px;border-radius:5px}.task-col-head{display:flex;align-items:center;gap:6px;min-height:30px}.task-col-head h4{flex:1;min-width:0;margin:0;font-size:14px;font-weight:800;color:var(--text-strong);overflow-wrap:anywhere}.task-col-head h4 small{margin-left:4px;font-size:inherit;font-weight:700;color:var(--ink3)}.task-col-head input,.task-col-add-form input,.task-col-new input{padding:7px 10px}.task-col-add{display:flex;align-items:center;gap:6px;width:100%;height:36px;padding:0 10px;border-radius:6px;border:1.5px dashed var(--line);background:none;color:var(--ink2);font-size:13.5px;font-weight:600;cursor:pointer}.task-col-new .task-col-add{height:40px;font-weight:700}.task-col-add:hover{color:var(--text);background:var(--hover)}.task-col-cards{flex:1;display:flex;flex-direction:column;gap:8px;min-height:40px}.task-col.drop-end .task-col-cards:after{content:"";height:3px;border-radius:2px;background:var(--accent)}.task-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:11px 12px;border-radius:7px;border:1px solid var(--border);background:var(--surface);cursor:pointer}.task-card:hover{border-color:var(--line-strong)}.task-card.dragging{opacity:.4}.task-card{-webkit-touch-callout:none}.task-board.dragging{scroll-snap-type:none}.task-ghost{position:fixed;left:0;top:0;z-index:1000;display:none;max-width:70vw;padding:8px 12px;border-radius:4px;border:1px solid var(--accent);background:var(--bg-3);color:var(--text-strong);box-shadow:0 8px 24px #00000059;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.task-ghost.on{display:block}.task-card.drop-before:before{content:"";position:absolute;left:0;right:0;top:-6px;height:3px;border-radius:2px;background:var(--accent)}.task-card-title{display:flex;align-items:flex-start;gap:6px;color:var(--text-strong);font-size:14.5px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}.task-card-title .prio{margin-top:2px}.task-card.done .task-card-title span{text-decoration:line-through;color:var(--text-muted)}.task-check{display:inline-flex;flex-shrink:0;padding:0;border:0;background:none;color:var(--text-muted);cursor:pointer}.task-check:hover,.task-card.done .task-check{color:var(--green)}.task-card-goal{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--ink2)}.task-card-foot{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-height:24px}.task-card-foot .avatar{width:24px!important;height:24px!important;font-size:9.5px!important}.task-card-foot:empty{display:none}.task-card-foot .task-assignee{margin-left:auto}.goals-head{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:14px}.goals-head .hint{flex:1;min-width:220px;margin:0}.file-row.goal-row{flex-direction:column;align-items:stretch;gap:8px}.goal-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px}.goal-icon{color:var(--accent);flex-shrink:0}.goal-status{padding:2px 8px;border-radius:5px;font-size:11px;font-weight:700;background:var(--hover);color:var(--text-muted)}.goal-status.gs-on-track{color:var(--green);background:color-mix(in srgb,var(--green) 15%,transparent)}.goal-status.gs-at-risk{color:#c48a00;background:color-mix(in srgb,var(--yellow) 18%,transparent)}.goal-status.gs-behind{color:var(--red);background:color-mix(in srgb,var(--red) 15%,transparent)}.goal-status.gs-done{color:#fff;background:var(--green)}.goal-progress{height:6px;border-radius:2px;background:var(--hover);overflow:hidden}.goal-progress span{display:block;height:100%;background:var(--green);transition:width .3s}.goal-tasks{display:flex;flex-direction:column;gap:4px}.goal-task{display:flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid transparent;border-radius:5px;background:var(--raise);text-align:left;overflow-wrap:anywhere;cursor:pointer}.goal-task:hover{color:var(--text-strong)}.goal-task.done span{text-decoration:line-through;color:var(--text-muted)}.task-assignee{display:inline-flex;flex-shrink:0}.task-details{flex-basis:100%;padding:4px 0 6px 26px}.task-details-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;margin-bottom:8px;font-size:12px;color:var(--text-muted)}.task-details-meta b{display:inline-flex;align-items:center;gap:4px;color:var(--text)}.task-details-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.task-notes{font-size:13.5px;-webkit-user-select:text;user-select:text}.event-row{align-items:flex-start}.event-row.past{opacity:.7}.event-date{width:44px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;padding:4px 0;border-radius:4px;background:var(--accent-soft);line-height:1.1}.event-date b{font-size:18px;color:var(--text-strong)}.event-date small{font-size:11px;text-transform:uppercase;color:var(--text-muted)}.event-row .pending-when .link-btn{display:inline-flex;align-items:center;gap:4px}.event-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;flex-shrink:0}.alert-text{margin:4px 0 10px;overflow-wrap:anywhere}.bell-btn{position:relative;flex:none;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:0;border-radius:6px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow);cursor:pointer}.bell-btn:hover{background:var(--raise)}.bell-count{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:5px;background:var(--red);color:#fff;font-size:11px;font-weight:800;line-height:18px;text-align:center}.alerts-list{display:flex;flex-direction:column;gap:6px}.alerts-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:4px;background:var(--bg-2);overflow-wrap:anywhere}.alerts-row.unseen{background-image:linear-gradient(to right,var(--accent) 3px,transparent 3px)}.alerts-row .btn{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.task-status{width:auto;flex-shrink:0;padding:5px 8px;font-size:13px}.task-row.doing .task-status{border-color:var(--accent);color:var(--accent-2)}.task-row.done .task-title{text-decoration:line-through;color:var(--text-muted)}@media(max-width:700px){.task-row .task-title{flex-basis:calc(100% - 26px)}.task-status{margin-left:auto}.task-fields{grid-template-columns:1fr}.task-board{scroll-snap-type:x mandatory}.task-col{flex-basis:82vw;scroll-snap-align:start}.task-details{padding-left:0}.event-row{flex-wrap:wrap}.files-view .main-header .tag{display:none}.event-actions{flex-basis:100%;justify-content:flex-end}}.dl-full .hint{margin:0 0 8px}.dl-list{display:flex;flex-direction:column;gap:6px}.dl-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:4px;background:var(--bg-2);border:1px solid transparent}.dl-row.mine{border-color:var(--accent)}.dl-row .btn{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;text-decoration:none}.dl-meta{flex:1;min-width:0;display:flex;flex-direction:column}.dl-meta b{display:flex;align-items:center;gap:6px;color:var(--text-strong)}.dl-meta small{color:var(--text-muted);font-size:12px}.dl-compact{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.dl-compact .dl-main{display:inline-flex;align-items:center;gap:8px;text-decoration:none}.dl-compact .dl-main small{color:var(--text-muted);font-weight:400}.dl-compact .link-btn{display:inline-flex;align-items:center;gap:4px}.dl-compact .flip{transform:rotate(180deg)}.dl-compact .dl-list{width:100%}.login-server-switch{align-self:center;margin-top:10px;font-size:12px}.changelog-modal{height:min(720px,calc(100vh - 48px))}.changelog{font-size:13.5px;line-height:1.55;color:var(--text)}.changelog section{padding:4px 0 14px;border-bottom:1px solid var(--border)}.changelog section:last-child{border-bottom:0}.changelog h3{display:flex;align-items:center;margin:12px 0 6px;font-size:15px;color:var(--text-strong);font-variant-numeric:tabular-nums}.changelog p{margin:6px 0}.changelog ul{margin:4px 0;padding-left:20px}.changelog li{margin:4px 0}.changelog li>ul{margin:2px 0}.changelog strong{color:var(--text-strong)}.changelog code{padding:1px 5px;border-radius:2px;background:var(--bg-1);font-size:12px}.changelog a{color:var(--accent-2)}.badge.soft{background:var(--accent);color:var(--on-accent)}.channel.muted-ch .ch-name{opacity:.55}.ch-muted-icon{flex-shrink:0;color:var(--text-faint);margin-left:auto}.ch-muted-icon+.badge{margin-left:4px}.composer{position:relative}.msg-content blockquote{margin:2px 0;padding:0 0 0 10px;border-left:3px solid var(--bg-5);color:var(--text-muted);white-space:pre-wrap}.msg-content ul,.msg-content ol{margin:2px 0;padding-left:22px;white-space:normal}.msg-content li{white-space:pre-wrap}.msg-content s{color:var(--text-muted)}.msg-content.jumbo{font-size:40px;line-height:1.2}.mention{padding:0 3px;border-radius:2px;background:var(--accent-soft);color:var(--mention-text);font-weight:600}.mention.me{background:var(--mention-me-bg);color:var(--mention-me-text)}.composer-tools{position:relative;display:flex;align-items:center;gap:2px}.picker{position:absolute;right:0;bottom:calc(100% + 12px);z-index:30;width:340px;max-width:calc(100vw - 32px);height:380px;display:flex;flex-direction:column;background:var(--bg-2);border:1px solid var(--border);border-radius:6px;box-shadow:0 16px 40px #00000073;overflow:hidden}.picker-search{display:flex;align-items:center;gap:6px;margin:8px;padding:0 8px;background:var(--bg-0);border-radius:4px;color:var(--text-faint)}.picker-search input{flex:1;border:0;background:transparent;padding:7px 0}.emoji-tabs{display:flex;gap:2px;padding:0 8px 6px;border-bottom:1px solid var(--border)}.emoji-tabs button{flex:1;border:0;background:none;font-size:17px;padding:4px 0;border-radius:3px;cursor:pointer;filter:grayscale(.6);opacity:.7}.emoji-tabs button.active,.emoji-tabs button:hover{background:var(--bg-4);filter:none;opacity:1}.emoji-grid{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(8,1fr);grid-auto-rows:max-content;gap:2px;padding:6px 8px}.emoji-grid button{border:0;background:none;font-size:24px;line-height:1;padding:5px 0;border-radius:3px;cursor:pointer}.emoji-grid button:hover{background:var(--bg-4)}.emoji-grid>.hint,.gif-grid>.hint{grid-column:1 / -1}.gif-picker{width:380px;height:420px}.gif-grid{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:110px;gap:6px;padding:0 8px 8px}.gif-grid button{border:0;padding:0;border-radius:4px;overflow:hidden;background:var(--bg-0);cursor:pointer}.gif-grid img{width:100%;height:100%;object-fit:cover;display:block}.gif-credit{font-size:10px;text-align:right;color:var(--text-faint);padding:4px 10px 6px}.autocomplete{position:absolute;left:6px;right:6px;bottom:calc(100% + 6px);z-index:30;display:flex;flex-direction:column;padding:4px;background:var(--bg-2);border:1px solid var(--border);border-radius:5px;box-shadow:0 12px 30px #0006}.autocomplete button{display:flex;align-items:center;gap:8px;border:0;background:none;color:var(--text);text-align:left;padding:6px 8px;border-radius:3px;cursor:pointer}.autocomplete button.active{background:var(--bg-4);color:var(--text-strong)}.autocomplete small{margin-left:auto;color:var(--text-faint)}.ac-emoji{font-size:18px;width:20px;text-align:center}.ac-icon{width:20px;text-align:center;font-weight:800;color:var(--accent-2)}.poll{width:min(380px,100%);margin-top:4px;padding:14px;border-radius:3px 9px 9px;background:var(--bubble)}.message.grouped .poll{border-radius:9px}.poll-head{display:flex;align-items:flex-start;gap:8px;color:var(--text-strong)}.poll-head svg{flex-shrink:0;margin-top:2px;color:var(--ink3)}.poll-hint{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-faint);margin:2px 0 8px 24px}.poll-options{display:flex;flex-direction:column;gap:6px}.poll-option{position:relative;display:flex;align-items:center;gap:8px;min-height:36px;padding:6px 12px;border-radius:5px;border:1.5px solid transparent;background:var(--surface);color:var(--ink);font-size:14px;text-align:left;cursor:pointer;overflow:hidden}.poll-option:disabled{cursor:default}.poll-option:not(:disabled):hover{border-color:var(--accent)}.poll-option.mine{border-color:var(--accent)}.poll-bar{position:absolute;inset:0 auto 0 0;background:var(--raise);transition:width .3s}.poll-option.mine{border-color:var(--accent);font-weight:700}.poll-option.mine .poll-bar{background:var(--accent-soft)}.poll-option>:not(.poll-bar){position:relative}.poll-check{width:16px;height:16px;flex-shrink:0;border-radius:50%;border:1.5px solid var(--text-faint);display:grid;place-items:center}.poll-option.mine .poll-check{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.poll-text{flex:1;min-width:0}.poll-count{font-size:12px;color:var(--text-muted);flex-shrink:0}.poll-foot{display:flex;justify-content:space-between;margin-top:8px;font-size:12px;color:var(--text-faint)}.poll.closed .poll-option{opacity:.85}.poll-edit-options{display:flex;flex-direction:column;gap:6px;margin-bottom:6px}.poll-edit-option{display:flex;gap:6px;align-items:center}.poll-edit-option input{flex:1}.check-row{display:flex;align-items:center;gap:8px;margin:10px 0 4px;color:var(--text);cursor:pointer}.check-row input{width:auto}.menu-slider small.boosted{color:var(--yellow);font-weight:700}.msg-expiry{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600;color:var(--accent-2);font-variant-numeric:tabular-nums}.message.ephemeral{background-image:linear-gradient(to right,rgba(79,140,255,.55) 2px,transparent 2px)}.message.ephemeral.mentioned{background-image:linear-gradient(to right,var(--yellow) 2px,transparent 2px)}.ephemeral-bar{color:var(--accent-2);background:#4f8cff1f}.ephemeral-bar .reply-bar-text{color:var(--text-muted)}.ephemeral-bar b{color:var(--text)}.reply-bar.below{border-radius:0}.composer.ephemeral{outline:1px solid rgba(79,140,255,.45);outline-offset:-1px}.timer-picker{width:270px;height:auto;padding:10px;gap:6px}.timer-title{display:flex;align-items:center;gap:6px;font-weight:700;color:var(--text-strong)}.timer-picker .hint{margin:0;font-size:12px}.timer-options{display:flex;flex-direction:column;max-height:min(300px,45vh);overflow-y:auto}.timer-options button{display:flex;align-items:center;justify-content:space-between;border:0;background:none;color:var(--text);text-align:left;padding:6px 8px;border-radius:3px;cursor:pointer}.timer-options button:hover{background:var(--hover)}.timer-options button.active{background:var(--accent-soft);color:var(--text-strong)}.timer-custom{display:flex;align-items:center;gap:6px;padding-top:8px;border-top:1px solid var(--border);font-size:13px;color:var(--text-muted)}.timer-custom input{width:52px;padding:5px 6px}.timer-custom select{flex:1;min-width:0;padding:5px 4px}.file-viewer{position:fixed;inset:var(--titlebar) 0 0 0;z-index:500;display:flex;flex-direction:column;background:var(--bg-0);animation:fade .12s ease-out}.viewer-bar{display:flex;align-items:center;gap:10px;padding:8px 10px 8px 16px;background:var(--bg-2);border-bottom:1px solid var(--border);flex-shrink:0}.viewer-title{display:flex;flex-direction:column;min-width:0;flex:1}.viewer-title b{color:var(--text-strong);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-title small{color:var(--text-faint);font-size:11px}.viewer-nav,.viewer-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.viewer-nav span{font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:52px;text-align:center}.viewer-actions{margin-left:8px}.viewer-body{flex:1;min-height:0;position:relative;display:flex;flex-direction:column}.viewer-message{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-muted);text-align:center;padding:24px;z-index:1}.viewer-progress{width:240px;height:4px;margin:10px auto 0;border-radius:2px;background:var(--bg-4);overflow:hidden}.viewer-progress i{display:block;height:100%;background:var(--accent);transition:width .15s}.viewer-tools{display:flex;align-items:center;gap:4px;padding:6px 12px;background:var(--bg-1);border-bottom:1px solid var(--border);font-size:12px;flex-shrink:0;flex-wrap:wrap}.viewer-tools .muted{flex:1}.viewer-sep{width:1px;height:18px;background:var(--border);margin:0 6px}.viewer-zoom{min-width:46px;text-align:center;color:var(--text-muted);font-variant-numeric:tabular-nums}.viewer-search{display:flex;align-items:center;gap:6px;background:var(--bg-0);border-radius:3px;padding:0 8px;color:var(--text-faint)}.viewer-search input{border:0;background:transparent;padding:5px 0;width:180px}.viewer-search small{white-space:nowrap;font-variant-numeric:tabular-nums}.viewer-note{padding:6px 14px;font-size:12px;color:var(--yellow);background:#f2b63214;flex-shrink:0}.icon-btn.small.active{color:var(--text-strong);background:var(--active)}.pdf-view{flex:1;display:flex;flex-direction:column;min-height:0}.pdf-area{flex:1;position:relative}.pdf-container{position:absolute;inset:0;overflow:auto;background:var(--bg-0)}.pdf-container .pdfViewer .page{box-shadow:0 4px 20px #00000080;border:0;margin:12px auto}.pdf-pages{display:flex;align-items:center;gap:6px;color:var(--text-muted)}.pdf-pages input{width:46px;text-align:center;padding:3px 4px}.sheet-view{flex:1;display:flex;flex-direction:column;min-height:0;position:relative}.sheet-grid{flex:1;overflow:auto;background:var(--bg-1)}.sheet-grid table{table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:12.5px}.sheet-grid td,.sheet-grid th{height:26px;padding:0 6px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}.sheet-grid td{color:var(--text)}.sheet-grid td.num{text-align:right;font-variant-numeric:tabular-nums}.sheet-grid th{background:var(--bg-3);color:var(--text-muted);font-weight:600;font-size:11px;text-align:center}.sheet-grid thead th{position:sticky;top:0;z-index:2}.sheet-grid tbody th{position:sticky;left:0;z-index:1}.sheet-grid thead th.corner{left:0;z-index:3}.sheet-grid tr.spacer td{padding:0;border:0}.sheet-tabs{display:flex;gap:2px;padding:0 8px;background:var(--bg-2);border-top:1px solid var(--border);overflow-x:auto;flex-shrink:0}.sheet-tabs button{border:0;background:none;color:var(--text-muted);padding:7px 14px;font-size:12px;cursor:pointer;white-space:nowrap;border-top:2px solid transparent}.sheet-tabs button:hover{color:var(--text);background:var(--hover)}.sheet-tabs button.active{color:var(--text-strong);border-top-color:var(--green);background:var(--bg-1)}.sheet-tabs button.hidden-sheet{font-style:italic;opacity:.6}.docx-view{flex:1;display:flex;flex-direction:column;min-height:0;position:relative}.docx-view iframe{flex:1;width:100%;border:0;background:#1a1b1e}.docx-view iframe.hidden{visibility:hidden}.text-view{flex:1;display:flex;flex-direction:column;min-height:0}.text-body{flex:1;overflow:auto;display:flex;align-items:flex-start;background:#0d1117}.text-body pre{margin:0;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.55;tab-size:4}.text-body pre.hljs{flex:1;background:transparent;white-space:pre;min-width:max-content}.text-body.wrap pre.hljs{white-space:pre-wrap;word-break:break-word;min-width:0}.text-gutter{position:sticky;left:0;text-align:right;color:var(--text-faint);background:#0d1117;border-right:1px solid var(--border);-webkit-user-select:none;user-select:none;min-height:100%}.viewer-tools .segmented{flex-wrap:nowrap;padding:2px;border-radius:4px}.viewer-tools .segmented button{flex:none;padding:3px 10px;font-size:12px}.md-scroll{flex:1;overflow:auto;background:var(--bg-1)}.md-view{max-width:860px;margin:0 auto;padding:24px 32px 48px;color:var(--text);font-size:14.5px;line-height:1.65;overflow-wrap:break-word;-webkit-user-select:text;user-select:text}.md-view>:first-child{margin-top:0}.md-view h1,.md-view h2,.md-view h3,.md-view h4,.md-view h5,.md-view h6{color:var(--text-strong);line-height:1.3;margin:1.4em 0 .6em;scroll-margin-top:12px}.md-view h1{font-size:1.9em;padding-bottom:.3em;border-bottom:1px solid var(--border)}.md-view h2{font-size:1.45em;padding-bottom:.25em;border-bottom:1px solid var(--border)}.md-view h3{font-size:1.2em}.md-view h4,.md-view h5,.md-view h6{font-size:1em}.md-view h6{color:var(--text-muted)}.md-view p,.md-view ul,.md-view ol,.md-view blockquote,.md-view pre,.md-view table{margin:0 0 1em}.md-view ul,.md-view ol{padding-left:1.8em}.md-view li+li{margin-top:.25em}.md-view li>ul,.md-view li>ol{margin:.25em 0 0}.md-view li:has(>input[type=checkbox]){list-style:none}.md-view li>input[type=checkbox]{margin:0 .45em 0 -1.4em;vertical-align:middle}.md-view a{color:var(--link);text-decoration:none;cursor:pointer}.md-view a:hover{text-decoration:underline}.md-view blockquote{padding:0 1em;color:var(--text-muted);border-left:3px solid var(--bg-5)}.md-view code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;padding:.15em .4em;border-radius:3px;background:var(--bg-3)}.md-view pre{padding:12px 14px;overflow:auto;border-radius:4px;background:#0d1117;line-height:1.5}.md-view pre code{padding:0;font-size:12.5px;background:transparent;color:#e6edf3;white-space:pre}.md-view pre code.hljs{padding:0;background:transparent}.md-view table{display:block;max-width:100%;overflow:auto;border-collapse:collapse}.md-view th,.md-view td{padding:6px 12px;border:1px solid var(--bg-4)}.md-view th{color:var(--text-strong);font-weight:600;background:var(--bg-2)}.md-view tr:nth-child(2n) td{background:color-mix(in srgb,var(--bg-3) 40%,transparent)}.md-view hr{height:1px;margin:1.6em 0;border:0;background:var(--border)}.md-view details{margin:0 0 1em}.md-view summary{cursor:pointer}.md-view kbd{padding:.1em .45em;font-size:.85em;border:1px solid var(--bg-5);border-bottom-width:2px;border-radius:2px;background:var(--bg-2)}.image-view{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:16px;cursor:zoom-in}.image-view img{max-width:100%;max-height:100%;object-fit:contain;border-radius:3px}.image-view.full{display:block;overflow:auto;cursor:zoom-out;text-align:center}.image-view.full img{max-width:none;max-height:none}.att-file.viewable{cursor:pointer}.att-file.viewable:hover{background:var(--bg-3)}.notices{position:fixed;top:calc(var(--titlebar) + 12px);right:16px;z-index:1500;display:flex;flex-direction:column;gap:10px;width:320px;max-width:calc(100vw - 32px)}.invite-card{position:relative;overflow:hidden;background:var(--bg-2);border:1px solid var(--border);border-left:4px solid var(--green);border-radius:6px;padding:14px 14px 16px;box-shadow:0 16px 40px #00000080;animation:invite-in .25s ease-out}@keyframes invite-in{0%{transform:translate(30px);opacity:0}}.invite-head{display:flex;gap:12px;align-items:center;font-size:14px;color:var(--text-muted)}.invite-head b{color:var(--text-strong)}.invite-room{display:flex;align-items:center;gap:5px;margin-top:3px;color:var(--text);font-weight:600}.invite-room small{color:var(--text-faint);font-weight:400}.invite-note{display:block;margin-top:8px;color:var(--yellow);font-size:12px}.invite-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.invite-actions .btn.primary{background:var(--green);border-color:var(--green)}.invite-timer{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--green);transform-origin:left;animation:invite-timer linear forwards}@keyframes invite-timer{to{transform:scaleX(0)}}.invite-row{cursor:default}.invite-row .member-name{flex:1}.invite-row.offline .member-name{color:var(--text-faint)}.reactions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.reaction{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;border-radius:6px;border:1px solid var(--line);background:var(--surface);color:var(--ink2);cursor:pointer;font-size:13px;font-weight:700}.reaction:hover{border-color:var(--line-strong)}.reaction.mine{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}.reaction-emoji{font-size:15px;line-height:1}.reaction b{font-variant-numeric:tabular-nums}.reaction.add{opacity:0;padding:0 6px}.message:hover .reaction.add{opacity:1}.search-panel{width:min(480px,calc(100% - 28px))}.search-box{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border)}.search-box input{flex:1;border:0;background:transparent;padding:4px 0;font-size:14px}.search-options{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;padding:8px 12px;border-bottom:1px solid var(--border);font-size:12px}.search-options .check-row{margin:0}.search-options .hint,.pins-empty code,.search-options code{font-size:11px}.search-panel code{background:var(--bg-3);border-radius:2px;padding:0 4px}.search-text{font-size:13px;color:var(--text);white-space:pre-wrap;word-break:break-word;max-height:120px;overflow:hidden}.search-text mark{background:#f2b63259;color:inherit;border-radius:2px}.search-more{display:block;margin:8px auto 2px}.when-presets{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}.when-preset{display:flex;justify-content:space-between;align-items:center;gap:12px;border:0;background:none;color:var(--text);text-align:left;padding:9px 10px;border-radius:4px;cursor:pointer}.when-preset:hover{background:var(--hover)}.when-preset small{color:var(--text-faint)}.when-custom{display:flex;align-items:center;gap:8px;padding-top:12px;border-top:1px solid var(--border)}.when-custom input{flex:1;min-width:0}.scheduled-note{display:flex;align-items:center;gap:6px;border:0;background:none;color:var(--text-muted);font-size:12px;padding:0 4px 6px;cursor:pointer}.scheduled-note:hover{color:var(--text)}.reminder-card{border-left-color:var(--yellow)}.reminder-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--yellow);margin-bottom:8px}.reminder-msg{display:flex;gap:10px;font-size:13px}.reminder-msg p{margin:2px 0 0;color:var(--text);white-space:pre-wrap;word-break:break-word}.pending-row{align-items:flex-start}.pending-row .file-main{display:flex;flex-direction:column;gap:3px}.pending-when{font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pending-when a{color:var(--accent-2);cursor:pointer}.pending-text{white-space:pre-wrap;word-break:break-word;max-height:80px;overflow:hidden}.pending-text .avatar{display:inline-flex;vertical-align:-3px}svg.warn{color:var(--yellow)}.call-card{border-left-color:var(--accent)}.call-avatar{border-radius:50%;animation:ring 1.4s ease-out infinite}@keyframes ring{0%{box-shadow:0 0 #2fbf7199}to{box-shadow:0 0 0 12px #2fbf7100}}.calling-banner{display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 12px;background:var(--accent-soft);color:var(--text-strong);font-weight:600;flex-shrink:0}.calling-dot{width:9px;height:9px;border-radius:50%;background:var(--green);animation:ring 1.4s ease-out infinite}.dm-call{display:inline-flex;color:var(--green);margin-left:auto;padding:2px;border-radius:2px}.dm-call:hover{background:var(--active)}.btn.call-on,.btn.call-join{color:#fff;background:var(--green);border-color:var(--green);gap:5px}.tile .quality{position:absolute;top:8px;right:8px;z-index:2;padding:4px 5px;border-radius:3px;background:#00000073;cursor:default}.quality .bars{display:flex;align-items:flex-end;gap:2px;height:12px}.quality .bars i{width:3px;border-radius:1px;background:#ffffff40}.quality .bars i:nth-child(1){height:5px}.quality .bars i:nth-child(2){height:8px}.quality .bars i:nth-child(3){height:12px}.quality.q3 .bars i{background:var(--green)}.quality.q2 .bars i:nth-child(-n+2){background:#9ccc3a}.quality.q1 .bars i:nth-child(1){background:#f08a3c}.quality.q0 .bars i:nth-child(1){background:var(--red)}.quality-pop{position:absolute;top:calc(100% + 6px);right:0;display:flex;flex-direction:column;gap:3px;min-width:200px;padding:8px 10px;background:var(--bg-0);border:1px solid var(--border);border-radius:4px;box-shadow:0 10px 24px #00000073;font-size:12px;color:var(--text-muted);white-space:nowrap}.quality-pop b{color:var(--text-strong)}canvas.annotations{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}canvas.annotations.drawing{pointer-events:auto;cursor:crosshair;touch-action:none}.tile .tile-toolbar,.tile .tile-label,.tile .stats-overlay{z-index:2}.att-doc{width:220px;background:var(--bubble);border:1px solid var(--border);border-radius:9px;overflow:hidden}.att-doc.viewable{cursor:pointer}.att-doc.viewable:hover{border-color:var(--text-faint)}.att-doc-page{height:200px;overflow:hidden;background:#fff;border-bottom:1px solid var(--border)}.att-doc-page img{display:block;width:100%}.att-doc-blank{height:100%;background:linear-gradient(#fff,#f2f3f5)}.att-doc-meta{display:flex;align-items:center;gap:6px;padding:6px 4px 6px 10px;min-width:0}.att-doc-meta .att-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.att-doc-meta small{color:var(--text-faint);white-space:nowrap}.accent-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:10px 0 4px}.accent-swatch{width:38px;height:38px;border-radius:8px;border:0;cursor:pointer}.accent-swatch.active{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--ink)}.theme-preview{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--canvas)}.tp-row{display:flex;align-items:flex-end;gap:8px}.tp-row.own{justify-content:flex-end}.tp-row:last-child{align-items:center;margin-top:6px}.tp-avatar{flex:none;width:30px;height:30px;border-radius:50%;background:#7dd3fc;color:#0c2a3a;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}.tp-bubble{padding:9px 13px;border-radius:3px 9px 9px;background:var(--bubble);font-size:15px}.tp-row.own .tp-bubble{border-radius:9px 3px 9px 9px;background:var(--own);color:var(--on-own)}.tp-row .btn{pointer-events:none;min-height:40px;border-radius:8px;font-weight:800}.tp-chip{height:26px;padding:0 10px;border-radius:5px;background:var(--accent-soft);color:var(--accent-text);font-size:12.5px;font-weight:800;display:flex;align-items:center}.settings-content .btn:not(.primary):not(.danger){min-height:40px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.settings-content .btn:not(.primary):not(.danger):hover{background:var(--raise)}.theme-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px}.theme-card{display:flex;flex-direction:column;gap:6px;padding:7px;border:1.5px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);text-align:left;cursor:pointer}.theme-card:hover{border-color:var(--line-strong)}.theme-card.active{border:2px solid var(--accent);padding:6.5px;background:var(--accent-soft)}.theme-card strong{font-size:13.5px}.theme-card small{margin-top:-5px;font-size:12px;color:var(--ink3)}.theme-mini{display:flex;height:76px;border-radius:5px;overflow:hidden}.theme-mini-part{flex:1;display:flex;gap:4px;padding:5px;background:var(--m-canvas)}.tm-side{position:relative;width:30%;border-radius:3px;background:var(--m-panel);border:1px solid var(--m-line)}.tm-side:before{content:"";position:absolute;top:5px;left:4px;right:4px;height:5px;border-radius:2px;background:var(--m-accent)}.tm-main{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;padding:5px;border-radius:3px;background:var(--m-surface);border:1px solid var(--m-line)}.tm-main i{width:80%;height:8px;border-radius:2px;background:var(--m-bubble)}.tm-main i+i{width:60%;align-self:flex-end;background:var(--m-own)}.theme-mini-part[data-t=light]{--m-canvas: #e7eaf0;--m-panel: #f6f7f9;--m-surface: #ffffff;--m-line: #dce1e8;--m-bubble: #edf0f4;--m-own: #ffe2a0;--m-accent: #ffb020}.theme-mini-part[data-t=dark]{--m-canvas: #080c15;--m-panel: #0f1524;--m-surface: #141b2d;--m-line: #273049;--m-bubble: #1e2639;--m-own: #3b3016;--m-accent: #ffb020}.theme-mini-part[data-t=dusk]{--m-canvas: #f3e4da;--m-panel: #fcf4ee;--m-surface: #ffffff;--m-line: #ead6c9;--m-bubble: #f7ece5;--m-own: #ffd5c5;--m-accent: #ff7a59}.theme-mini-part[data-t=contrast]{--m-canvas: #000000;--m-panel: #000000;--m-surface: #000000;--m-line: #ffffff;--m-bubble: #3a3a3a;--m-own: #ffd400;--m-accent: #ffd400}.join-sound{display:flex;flex-direction:column;gap:8px}.join-sound-current{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:4px;background:var(--bg-2);border-left:3px solid var(--accent)}.join-sound-current>div{flex:1;display:flex;flex-direction:column;min-width:0}.join-sound-current small{color:var(--text-muted);font-size:12px}.join-sound-tools{display:flex;gap:8px;align-items:center}.join-sound-tools .input-icon{flex:1}.join-sound-list{max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:4px;padding:4px}.join-sound-item{display:flex;align-items:center;border-radius:3px}.join-sound-item:hover{background:var(--hover)}.join-sound-item.active{background:var(--accent-soft)}.join-sound-pick{flex:1;display:flex;align-items:center;gap:8px;min-width:0;border:0;background:none;color:var(--text);text-align:left;padding:6px 8px;cursor:pointer}.join-sound-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.join-sound-pick small{color:var(--text-faint);font-variant-numeric:tabular-nums}img.custom-emoji{display:inline-block;vertical-align:-5px;object-fit:contain}span.custom-emoji.placeholder{display:inline-block;vertical-align:-5px;border-radius:2px;background:var(--bg-3)}.msg-content.jumbo img.custom-emoji{width:48px;height:48px;vertical-align:middle}.sticker{display:block;max-width:180px;max-height:180px;margin-top:4px;object-fit:contain}.sticker.placeholder{width:160px;height:160px;border-radius:4px;background:var(--bg-2)}.sticker.gone{color:var(--text-faint);font-style:italic}.sticker-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:100px}.sticker-grid button img{width:100%;height:100%;object-fit:contain}.emoji-upload{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0}.emoji-upload input[type=file]{flex:1 1 200px;min-width:0}.emoji-upload input:not([type]){flex:1 1 160px}.emoji-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;max-height:260px;overflow-y:auto}.emoji-admin-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:3px;background:var(--bg-2);font-size:12px;min-width:0}.emoji-admin-item span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.emoji-admin-grid.sticker .emoji-admin-item img{width:48px;height:48px;object-fit:contain}.nudge-msg{display:inline-flex;align-items:center;gap:7px;margin-top:2px;padding:5px 11px;border-radius:4px;color:var(--text-strong);background:color-mix(in srgb,#f5a524 16%,transparent);outline:1px solid color-mix(in srgb,#f5a524 40%,transparent);outline-offset:-1px;font-weight:600}.nudge-msg svg{color:#f5a524}#root.nudge-shake{animation:nudge-shake .9s linear}@keyframes nudge-shake{0%,to{transform:translate(0)}6%{transform:translate(-12px,4px)}12%{transform:translate(10px,-8px)}18%{transform:translate(-6px,10px)}24%{transform:translate(12px,2px)}30%{transform:translate(-10px,-6px)}36%{transform:translate(6px,9px)}42%{transform:translate(-12px,-2px)}48%{transform:translate(9px,-9px)}54%{transform:translate(-7px,7px)}60%{transform:translate(11px,3px)}66%{transform:translate(-9px,-7px)}72%{transform:translate(5px,8px)}78%{transform:translate(-8px,-3px)}84%{transform:translate(6px,-5px)}90%{transform:translate(-4px,3px)}95%{transform:translate(2px,-1px)}}@media(prefers-reduced-motion:reduce){#root.nudge-shake{animation:none}}.call-timer{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;border-radius:6px;color:var(--ink2);background:var(--raise);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.vp-info small.vp-room{display:flex;min-width:0}.vp-room-name{overflow:hidden;text-overflow:ellipsis}.vp-time{flex:none;white-space:pre;font-variant-numeric:tabular-nums}.afk-stage{gap:10px;padding:24px;text-align:center}.afk-stage h2{margin:4px 0 0;color:var(--text-strong);font-size:20px}.afk-stage p{max-width:420px;margin:0;line-height:1.5}.afk-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;color:var(--accent);background:var(--accent-soft)}.afk-members{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:10px 0 8px}.afk-member{display:flex;flex-direction:column;align-items:center;gap:4px;max-width:72px;opacity:.75}.afk-member small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted)}.afk-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--text-muted)}.afk-row select{width:auto}.custom-status{display:inline-flex;align-items:center;gap:4px;min-width:0;font-size:12px;color:var(--text-muted)}.custom-status-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-emoji{font-size:14px;line-height:1}.member-text{display:flex;flex-direction:column;min-width:0;flex:1}.member-text .member-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-text .custom-status{font-size:11px}.up-status{max-width:100%}.profile-header{display:flex;gap:12px;padding:8px 6px 10px;min-width:260px;max-width:300px;cursor:default}.profile-main{display:flex;flex-direction:column;gap:3px;min-width:0}.profile-main b{font-size:15px}.profile-status{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--text)}.profile-bio{margin:4px 0 0;font-size:12px;color:var(--text-muted);white-space:pre-wrap;word-break:break-word}.status-edit{position:relative;display:flex;align-items:center;gap:6px;background:var(--bg-0);border:1px solid var(--border);border-radius:4px;padding:4px 6px}.status-edit input{flex:1;border:0;background:transparent}.status-emoji-btn{width:36px;height:36px}.status-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 2px}.status-suggestions button{border:1px solid var(--border);background:var(--bg-2);color:var(--text);border-radius:7px;padding:4px 10px;cursor:pointer;font-size:12px}.status-suggestions button:hover{background:var(--bg-3)}.bio-setting textarea{width:100%;resize:vertical}.bio-foot{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.voice-note{display:flex;align-items:center;gap:10px;width:min(320px,100%);padding:8px 14px 8px 8px;margin-top:4px;border-radius:9px;background:var(--bubble)}.vn-play{flex-shrink:0;width:34px;height:34px;border-radius:8px;border:0;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);cursor:pointer}.vn-wave,.rec-wave{flex:1;height:28px;display:flex;align-items:center;gap:2px;min-width:0}.vn-wave{cursor:pointer}.vn-wave i,.rec-wave i{flex:1;min-width:2px;border-radius:2px;background:var(--bg-5)}.vn-wave i{background:color-mix(in srgb,var(--accent-text) 35%,transparent)}.vn-wave i.played{background:var(--accent-text)}.vn-time,.rec-time{font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.rec-time small{color:var(--text-faint)}.vn-speed{border:0;background:var(--bg-3);color:var(--text-muted);border-radius:5px;padding:2px 7px;font-size:11px;font-weight:700;cursor:pointer}.note-recorder{flex:1;display:flex;align-items:center;gap:10px;min-height:38px}.rec-dot{width:10px;height:10px;border-radius:50%;background:var(--red);animation:rec-blink 1s ease-in-out infinite}@keyframes rec-blink{50%{opacity:.3}}.rec-wave i{background:var(--red);opacity:.75}.note-recorder .send{color:var(--accent)}.rec-pill{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:0;border-radius:6px;color:#fff;background:var(--danger);font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.rec-pill .rec-dot,.channel .rec-dot,.vp-room .rec-dot,.rec-note .rec-dot{width:8px;height:8px;flex-shrink:0}.channel .rec-dot{margin-left:4px}.vp-room .rec-dot{display:inline-block;margin-right:5px}.rec-note{display:flex;align-items:center;gap:7px;margin:0;color:var(--red);font-size:13px;font-weight:600}.ctrl:disabled{opacity:.4;cursor:not-allowed}.guest-tag{flex-shrink:0;padding:0 5px;border-radius:2px;font-size:10px;font-weight:700;color:var(--text-muted);background:var(--bg-5)}.voice-member .guest-tag{margin-left:-2px}.temp-room-option{margin-top:4px}.guest-app{background:var(--bg-1)}.guest-app .main{border-top-left-radius:0}.guest-bar{height:40px;flex-shrink:0;display:flex;align-items:center;gap:8px;padding:0 14px;font-size:13px;color:var(--text-strong);background:var(--bg-1)}.guest-bar .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guest-ended{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:4px;color:var(--text-strong);background:var(--bg-4);font-size:13px}.channel .ch-link{flex-shrink:0;color:var(--text-faint)}.guest-link-new{display:flex;align-items:flex-end;gap:10px}.guest-link-new .field{flex:1;margin-bottom:0}.guest-link-new .btn{height:38px}.link-btn.guest-link-entry{display:inline-flex;align-items:center;gap:6px;margin-top:12px}.guest-link-extend{display:flex;align-items:center;gap:8px;margin:2px 0 6px}.guest-link-extend select{width:auto}.volume-control{display:flex;align-items:center;gap:4px;min-width:0}.volume-control input[type=range]{flex:1;min-width:0}.volume-control.wide{width:100%}.vol-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:none;border-radius:3px;background:none;color:inherit;cursor:pointer}.vol-btn:hover{background:var(--hover);color:var(--text-strong)}.vol-btn.muted{color:var(--red)}.tb-volume .vol-btn:hover{background:#ffffff1f;color:#fff}.tb-volume.volume-control input[type=range]{flex:none;width:80px}.record-modal .modal-footer{justify-content:flex-start}.rec-footer-note{flex:1;display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--text-muted)}.btn.rec-start{background:var(--red);color:#fff}.btn.rec-start:hover:not(:disabled){filter:brightness(1.1)}.rec-start-dot{width:10px;height:10px;border-radius:50%;background:#fff}.rec-modes{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rec-mode{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;row-gap:8px;align-items:center;padding:14px;border:2px solid var(--border);border-radius:6px;background:var(--bg-2);color:var(--text);text-align:left;cursor:pointer;transition:border-color .12s,background .12s}.rec-mode:hover{border-color:var(--bg-5)}.rec-mode.active{border-color:var(--red);background:color-mix(in srgb,var(--red) 9%,var(--bg-2))}.rec-mode-icon{grid-row:span 2;align-self:start;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:5px;background:var(--bg-4);color:var(--text-strong)}.rec-mode.active .rec-mode-icon{background:var(--red);color:#fff}.rec-mode-text{display:flex;flex-direction:column;gap:2px}.rec-mode-text b{color:var(--text-strong);font-size:14px}.rec-mode-text small,.rec-mode-size{font-size:12px;color:var(--text-muted)}.rec-mode-size{font-variant-numeric:tabular-nums}.rec-section{margin-top:18px}.rec-h{margin:0 0 8px;font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted)}.rec-section .toggle-row{padding:8px 0}.toggle-row.disabled{opacity:.5;cursor:default}.toggle-row.disabled .switch{cursor:not-allowed}.rec-voices-note{margin:0}.rec-warn{margin:6px 0 0;font-size:12.5px;color:var(--yellow)}.record-modal .share-sources{min-height:0}.record-modal .source-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));max-height:300px}.source-badge{flex-shrink:0;margin-left:auto;padding:1px 6px;border-radius:999px;font-size:10.5px;font-weight:700;color:#fff;background:var(--red)}@media(max-width:640px){.rec-modes{grid-template-columns:1fr}}.rec-hud{display:flex;align-items:center;gap:12px;align-self:center;margin:0 auto -4px;padding:6px 8px 6px 14px;border-radius:999px;border:1px solid color-mix(in srgb,var(--red) 40%,transparent);background:color-mix(in srgb,var(--red) 12%,var(--bg-2));font-size:13px;width:fit-content;max-width:calc(100% - 24px)}.rec-hud .rec-dot{flex-shrink:0}.rec-hud-time{color:var(--text-strong);font-variant-numeric:tabular-nums}.rec-hud-what{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rec-hud-size{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.btn.rec-hud-stop{border-radius:999px;background:var(--red);color:#fff}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.recording-modal .modal-body{display:flex;flex-direction:column;gap:14px;padding-top:18px}.rec-head{display:flex;align-items:flex-start;gap:12px}.rec-head .rec-dot{animation:none;width:40px;height:40px;flex-shrink:0;border-radius:5px;background:color-mix(in srgb,var(--red) 16%,transparent);display:flex;align-items:center;justify-content:center}.rec-head .rec-dot i{animation:rec-blink 1s ease-in-out infinite;width:12px;height:12px;border-radius:50%;background:var(--red)}.rec-head-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.rec-head-text h2{margin:0;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.rec-title{display:flex;align-items:center;gap:6px;margin-left:-6px;padding:2px 6px;border-radius:4px;color:var(--text-muted);cursor:text}.rec-title:hover{background:var(--hover)}.rec-title:focus-within{background:var(--bg-2);outline:1px solid var(--accent);outline-offset:-1px}.rec-title input{field-sizing:content;min-width:4ch;max-width:100%;padding:0;border:none;background:none;font-size:18px;font-weight:700;color:var(--text-strong);outline:none}.rec-ext{font-size:14px}.rec-sub{margin:0;display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-muted)}.rec-transcript{min-height:0;display:flex;flex-direction:column}.rec-kept{display:inline-flex;align-items:center;gap:6px;color:var(--green);font-size:13px;font-weight:600}.recording-modal .modal-footer{justify-content:flex-start}.btn.ghost-danger{background:transparent;color:var(--error-text);padding-inline:10px}.btn.ghost-danger:hover{background:color-mix(in srgb,var(--red) 14%,transparent)}.split-btn{position:relative;display:flex}.split-btn>.btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.split-btn>.btn:nth-child(2){padding-inline:9px;border-top-left-radius:0;border-bottom-left-radius:0;border-left:1px solid rgba(255,255,255,.25)}.split-menu{position:absolute;right:0;bottom:calc(100% + 6px);min-width:190px;max-height:260px;overflow-y:auto;padding:4px;border-radius:5px;border:1px solid var(--border);background:var(--bg-4);box-shadow:0 12px 32px #0006;z-index:5}.split-menu button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:none;border-radius:4px;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.split-menu button:hover,.split-menu button.on{background:var(--active);color:var(--text-strong)}.media-player.audio{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:6px;background:var(--bg-2)}.mp-play{width:42px;height:42px;flex-shrink:0;border:none;border-radius:50%;background:var(--accent);color:var(--on-accent);display:flex;align-items:center;justify-content:center;cursor:pointer}.mp-play:hover{filter:brightness(1.1)}.mp-track{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.mp-wave{height:32px;display:flex;align-items:center;gap:2px;cursor:pointer;border-radius:2px}.mp-wave:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.mp-wave i{flex:1;min-height:3px;border-radius:2px;background:var(--bg-5)}.mp-wave i.on{background:var(--accent)}.mp-times{display:flex;justify-content:space-between;font-size:11.5px;color:var(--text-muted);font-variant-numeric:tabular-nums}.mp-speed{flex-shrink:0;min-width:38px;padding:4px 8px;border:none;border-radius:3px;background:var(--bg-4);color:var(--text);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.media-player.video{border-radius:6px;overflow:hidden;background:#000}.media-player.video video{display:block;width:100%;max-height:46vh}.tr-card,.tr-running,.tr-done{border-radius:6px;background:var(--bg-2)}.tr-card{display:flex;align-items:center;gap:12px;padding:12px 14px}.tr-icon{width:36px;height:36px;flex-shrink:0;border-radius:5px;background:var(--accent-soft);color:var(--mention-text);display:flex;align-items:center;justify-content:center}.tr-card-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.tr-card-text b{color:var(--text-strong);font-size:13.5px}.tr-card-text small{color:var(--text-muted);font-size:12px;line-height:1.45}.tr-running{display:flex;flex-direction:column;gap:12px;padding:14px}.tr-running-head{display:flex;align-items:center;gap:12px}.tr-spinner{width:30px;height:30px;flex-shrink:0;border-radius:50%;border:3px solid var(--bg-5);border-top-color:var(--accent);animation:spin .9s linear infinite}.tr-bar{height:6px;border-radius:2px;background:var(--bg-4);overflow:hidden}.tr-bar i{display:block;height:100%;border-radius:2px;background:var(--accent);transition:width .3s}.tr-bar i.busy{width:30%;animation:tr-busy 1.2s ease-in-out infinite alternate}@keyframes tr-busy{0%{transform:translate(-10%)}to{transform:translate(240%)}}.tr-people{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.tr-people li{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-muted)}.tr-people li.now{color:var(--text-strong);font-weight:600}.tr-person{flex:1}.tr-people small{font-weight:400;color:var(--text-muted)}.tr-status{width:22px;height:22px;box-sizing:border-box;border-radius:50%;border:2px solid var(--bg-5);display:flex;align-items:center;justify-content:center}.tr-people li.done .tr-status{border:none;background:color-mix(in srgb,var(--green) 18%,transparent);color:var(--green)}.tr-people li.now .tr-status{border:none;background:var(--accent-soft)}.tr-people li.now .tr-status i{width:8px;height:8px;border-radius:50%;background:var(--accent)}.tr-note{margin:0;font-size:12px;color:var(--text-muted)}.tr-done{min-height:0;display:flex;flex-direction:column;padding:10px 6px 6px}.tr-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:0 6px 8px}.tr-head h3{margin:0;font-size:13.5px;color:var(--text-strong)}.tr-chips{display:flex;flex-wrap:wrap;gap:4px}.tr-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px 2px 6px;border-radius:999px;background:var(--bg-4);font-size:11.5px;color:var(--text)}.tr-chip i{width:8px;height:8px;border-radius:50%}.tr-empty{margin:0;padding:6px 8px 8px;color:var(--text-muted)}.tr-lines{list-style:none;margin:0;padding:0;max-height:34vh;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.tr-line{width:100%;display:flex;align-items:flex-start;gap:10px;padding:7px 8px;border:none;border-radius:4px;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.tr-line:hover{background:var(--hover)}.tr-line.active{background:var(--accent-soft);outline:1px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:-1px}.tr-time{width:42px;flex-shrink:0;padding-top:1px;font-size:11.5px;color:var(--text-muted);font-variant-numeric:tabular-nums}.tr-avatar{width:24px;height:24px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff}.tr-body{min-width:0;display:flex;flex-direction:column;gap:1px}.tr-who{font-size:12.5px;font-weight:700}.tr-text{font-size:13px;line-height:1.45;white-space:pre-wrap}@media(max-width:700px){.tr-card{flex-wrap:wrap}.tr-card>.btn{width:100%;min-height:44px}.recording-modal .modal-footer{flex-wrap:wrap}.recording-modal .modal-footer .split-btn{order:-1;flex:1 1 100%}.recording-modal .modal-footer .split-btn>.btn:first-child{flex:1;min-height:48px}.recording-modal .modal-footer .split-btn>.btn:nth-child(2){min-width:48px}.recording-modal .modal-footer>.btn:not(.ghost-danger){flex:1;min-height:48px}}.app:not(.mobile) .composer-attach{display:none}@media(max-width:700px){html,body,#root{height:100dvh}input,textarea,select{font-size:16px}.modal-backdrop{padding:0;align-items:flex-end}.modal-backdrop.image-viewer{align-items:center}.modal{width:100%!important;max-height:92dvh;border-radius:8px 8px 0 0}.modal-footer{flex-wrap:wrap;border-radius:0;padding-bottom:calc(14px + env(safe-area-inset-bottom))}.settings-layout{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.settings-nav{flex-direction:row;gap:4px;overflow-x:auto;padding:8px;border-right:0;border-bottom:1px solid var(--border);scrollbar-width:none}.settings-content{padding:4px 16px 16px}.settings-nav-group{display:none}.settings-nav button{flex-shrink:0;white-space:nowrap}.share-layout.with-sources,.row-2{grid-template-columns:1fr}}.app.mobile{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.app.mobile .titlebar{display:none}.app.mobile .app-body{padding:0}.app.mobile .sidebar{width:100%;border:0;border-radius:0}.app.mobile .main{border:0;border-radius:0;box-shadow:none}.app.mobile.pane-home .main,.app.mobile.pane-main .sidebar{display:none}.app.mobile .sidebar,.app.mobile .voice-member,.app.mobile .ctrl{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.app.mobile .sidebar{gap:0;padding:0;background:var(--panel)}.app.mobile .sidebar-header{padding:22px 18px 10px}.app.mobile .server-btn{height:auto;padding:0}.app.mobile .server-btn:hover{background:none}.app.mobile .server-tile{width:40px;height:40px;border-radius:7px;font-size:19px}.app.mobile .server-name{font-family:var(--font-display);font-size:20px}.app.mobile .server-text small{font-size:12.5px}.app.mobile .bell-btn{width:44px;height:44px;border-radius:7px}.app.mobile .side-search{height:44px;margin:0 18px 12px;padding:0 14px;border-radius:7px}.app.mobile .side-search kbd{display:none}.app.mobile .channel-scroll{display:flex;flex-direction:column;padding:0 14px 8px}.app.mobile .voice-channel:has(.room-people,.voice-members){order:-1;margin:0 0 6px;padding:14px;border-radius:9px;box-shadow:var(--shadow)}.app.mobile .voice-channel:has(.room-people,.voice-members)>.channel .ch-name{font-family:var(--font-display);font-size:18px}.app.mobile .section-header{padding:16px 0 6px 6px}.app.mobile .channel{min-height:50px;gap:12px;padding:0 10px 0 6px;border-radius:7px;font-size:16px}.app.mobile .ch-icon{width:34px;height:34px;padding:8.5px;border-radius:6px}.app.mobile .channel.active:not(.quick-row .channel){background:transparent;color:var(--ink)}.app.mobile .channel.active .ch-icon:not(.app-tile){background:var(--raise);color:var(--ink2)}.app.mobile .channel.dm .avatar{width:34px!important;height:34px!important;font-size:12px!important}.app.mobile .quick-row .channel{min-height:44px;font-size:14px}.app.mobile .app-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.app.mobile .app-list .channel{min-height:64px;margin:0;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:15px;font-weight:700}.app.mobile .user-panel{margin:10px 14px 16px;padding:8px;border-radius:9px}.app.mobile .user-panel .icon-btn{width:44px;height:44px}.app.mobile .user-panel .icon-btn:last-child{background:var(--raise)}.app.mobile .up-name span{font-size:15px}.app.mobile .voice-panel{margin:10px 14px -10px}.app.mobile .main-header{height:auto;min-height:60px;flex-wrap:wrap;gap:4px 8px;padding:8px 10px 8px 4px}.app.mobile .main-header .view-tile{display:none}.app.mobile .main-header h3{font-size:18px}.app.mobile .main-header>.icon-btn{width:44px;height:44px;border-radius:7px}.app.mobile .message{gap:8px;align-items:flex-end;padding:2px 14px}.app.mobile .message.own{padding-left:60px}.app.mobile .msg-gutter{width:30px}.app.mobile .msg-avatar .avatar{width:30px!important;height:30px!important;font-size:11px!important}.app.mobile .msg-head,.app.mobile .msg-author,.app.mobile .msg-time{font-size:12.5px}.app.mobile .message>.msg-main>.msg-content:not(.jumbo){max-width:min(270px,100%);padding:10px 13px;font-size:16px;line-height:1.4}.app.mobile .typing{padding-left:40px}.app.mobile .main-header .segmented{order:10;flex-basis:100%}.app.mobile .main-header .task-group{order:11}.app.mobile .main-header h3{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app.mobile .main-header .btn-label,.app.mobile .members-toggle,.app.mobile .call-timer{display:none}.mobile-back{flex-shrink:0}.app.mobile .composer-wrap{padding:0 12px 12px}.app.mobile .composer{min-height:56px;padding:6px}.app.mobile .composer .icon-btn{width:44px;height:44px}.app.mobile .composer-attach,.app.mobile .composer-tools>.icon-btn{display:none}.app.mobile .composer{flex-wrap:wrap}.app.mobile .composer textarea{min-width:0}.app.mobile .composer-menu{position:static;order:10;flex-basis:100%;display:flex;justify-content:space-around;padding:4px 0 0;border:0;border-top:1px solid var(--border);border-radius:0;background:none;box-shadow:none}.app.mobile .composer-menu button{justify-content:center;width:40px;padding:0;background:none}.app.mobile .composer-menu button>span:last-child{display:none}.app.mobile .control-bar{justify-content:safe center;gap:5px;padding:8px 6px 12px;overflow-x:auto;scrollbar-width:none}.app.mobile .ctrl{flex-shrink:0;width:40px;height:40px}.app.mobile .soundboard,.app.mobile .player-panel,.app.mobile .captions-panel{position:absolute;inset:0;z-index:20;width:100%}.app.mobile.pane-home .soundboard{display:none}.app.mobile .soundboard{position:fixed;padding-top:calc(16px + env(safe-area-inset-top));border:0;border-radius:0}.app.mobile .ctrl .btn-label{display:none}.app.mobile .ctrl.hangup{width:52px;padding:0}.app.mobile .rec-hud-what{display:none}.media-view{flex:1;min-height:0;display:flex;gap:18px;padding:18px;overflow:auto}.media-view-player{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.media-view.audio .media-view-player{justify-content:flex-start}.media-view .media-player.video video{max-height:calc(100vh - 160px)}.media-view-side{width:380px;flex-shrink:0;min-height:0;display:flex;flex-direction:column}.media-view-side .tr-lines{max-height:calc(100vh - 230px)}@media(max-width:900px){.media-view{flex-direction:column}.media-view-player{flex:none}.media-view-side{width:auto}.media-view-side .tr-lines{max-height:none}}.banner-strip,.banner-card{--tone: var(--accent)}.tone-warn{--tone: var(--yellow)}.tone-event{--tone: var(--green)}.tone-coffee{--tone: #d99a5b}.banner-strip b{font-weight:700}.banner-strip{display:flex;align-items:center;gap:10px;padding:7px 10px 7px 14px;background:color-mix(in srgb,var(--tone) 16%,var(--bg-1));border-bottom:1px solid color-mix(in srgb,var(--tone) 35%,transparent);color:var(--text-strong);font-size:13px}.banner-icon{flex-shrink:0;color:var(--tone)}.banner-strip .banner-text{flex:1;min-width:0;line-height:1.4}.banner-link{flex-shrink:0;text-decoration:none;gap:5px}.banner-card{margin:0 8px 8px;padding:10px 10px 10px 12px;border-radius:5px;background:color-mix(in srgb,var(--tone) 12%,var(--bg-2));border:1px solid color-mix(in srgb,var(--tone) 30%,transparent);display:flex;flex-direction:column;gap:6px}.banner-card-head{display:flex;align-items:center;gap:6px}.banner-card-kind{flex:1;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.banner-card-head .icon-btn{width:26px;height:26px;margin:-4px -4px -4px 0}.banner-card .banner-text{margin:0;font-size:13px;line-height:1.45;color:var(--text-strong)}.banner-card .banner-link{align-self:flex-start}@media(max-width:700px){.banner-strip{flex-wrap:wrap}.banner-strip .banner-text{flex-basis:calc(100% - 70px)}}.banner-editor{display:flex;flex-direction:column;gap:12px;padding:14px;margin-bottom:14px;border-radius:6px;background:var(--bg-2)}.banner-row{display:flex;flex-wrap:wrap;gap:12px}.banner-field{display:flex;flex-direction:column;gap:5px;min-width:0;margin:0;padding:0;border:none}.banner-field.grow{flex:1 1 260px}.banner-field label,.banner-field legend{padding:0;font-size:12px;font-weight:600;color:var(--text-muted)}.banner-field textarea{resize:vertical;min-height:56px}.banner-preview{display:flex;flex-direction:column;gap:6px}.banner-preview .banner-strip{border-radius:4px;border:1px solid color-mix(in srgb,var(--tone) 35%,transparent)}.banner-preview-side{width:240px}.banner-preview-side .banner-card{margin:0}.banner-actions{display:flex;justify-content:flex-end;gap:8px}.banner-list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.banner-item{display:flex;align-items:flex-start;gap:10px;padding:10px 8px 10px 12px;border-radius:5px;background:var(--bg-2)}.banner-item.ended{opacity:.7}.banner-item-icon{flex-shrink:0;margin-top:2px;color:var(--accent)}.banner-item-icon.tone-warn{color:var(--yellow)}.banner-item-icon.tone-event{color:var(--green)}.banner-item-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;font-size:13px;color:var(--text-strong)}.banner-item-text small{font-size:12px;color:var(--text-muted)}.banner-status.live{color:var(--green)}.coffee-modal-body,.captions-modal-body{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 8px 4px;text-align:center}.coffee-modal-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#d99a5b;background:color-mix(in srgb,#d99a5b 16%,transparent)}.coffee-modal-body h2,.captions-modal-body h2{margin:4px 0 0;font-size:18px;color:var(--text-strong)}.coffee-modal-body p,.captions-modal-body p{margin:0;line-height:1.5;color:var(--text)}.coffee-modal-body small,.captions-modal-body small{color:var(--text-muted);font-size:12px}.coffee-modal a.btn{text-decoration:none}.captions-modal-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent)}.captions-pill{display:inline-flex;align-items:center;gap:6px;margin-left:6px;height:36px;padding:0 12px;border:none;border-radius:5px;color:var(--accent-text);background:var(--accent-soft);font:inherit;font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer}.captions-pill:hover,.captions-pill.active{background:color-mix(in srgb,var(--accent) 26%,transparent)}.captions-note{display:flex;align-items:center;gap:7px;margin:0;color:var(--accent);font-size:13px;font-weight:600}.caption-overlay{position:absolute;left:50%;bottom:84px;transform:translate(-50%);width:max-content;max-width:min(760px,calc(100% - 32px));padding:8px 16px;border-radius:5px;background:#000000b8;color:#fff;text-align:center;line-height:1.45;pointer-events:none;z-index:4}.stage-wrap:has(.rec-hud) .caption-overlay{bottom:128px}.caption-overlay.size-small{font-size:13px}.caption-overlay.size-medium{font-size:15px}.caption-overlay.size-large{font-size:19px}.caption-line b{font-weight:700}.caption-line.older{color:#ffffffad;font-size:.88em}.caption-line.partial{color:#ffffffd9}.app.mobile .caption-overlay{bottom:68px;padding:6px 10px}.captions-panel{width:320px;flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-2);border-left:1px solid var(--border);min-height:0}.captions-status{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:2px 14px 10px;border-bottom:1px solid var(--border);font-size:12px;color:var(--text-muted)}.captions-status p{margin:0;line-height:1.45}.captions-status svg{vertical-align:-2px}.captions-status .ok{color:var(--green)}.captions-status .warn{color:var(--yellow)}.captions-lines{flex:1;min-height:0;overflow-y:auto;padding:8px 14px}.captions-lines .hint{margin:8px 0}.captions-line{padding:7px 0;border-bottom:1px solid var(--border)}.captions-line:last-child{border-bottom:none}.captions-who{display:flex;align-items:baseline;gap:8px;font-size:13px}.captions-who time{color:var(--text-muted);font-size:11px;font-variant-numeric:tabular-nums}.captions-line p{margin:2px 0 0;font-size:13px;line-height:1.45;color:var(--text);-webkit-user-select:text;user-select:text}.captions-line.partial p{color:var(--text-muted);font-style:italic}.captions-actions{display:flex;gap:8px;padding:10px 14px 12px;border-top:1px solid var(--border)}.captions-actions>.btn,.captions-send{flex:1}.captions-send{position:relative;display:flex}.captions-send>.btn{flex:1}.captions-send .split-menu{left:0;right:auto;width:100%}.tr-live-note{margin:0 0 8px;font-size:12px;color:var(--text-muted)}.call-tools{display:flex;align-items:center;gap:8px;min-width:0}.tool-group{display:flex;flex-wrap:wrap;gap:2px;padding:3px;border-radius:7px;background:var(--raise)}.tool{height:36px;display:flex;align-items:center;gap:6px;padding:0 12px;border:0;border-radius:5px;background:transparent;color:var(--ink);font-size:13.5px;font-weight:600;white-space:nowrap;cursor:pointer}.tool:hover{background:color-mix(in srgb,var(--surface) 55%,transparent)}.tool.on{background:var(--surface);font-weight:700;box-shadow:var(--shadow)}.tool.icon{width:36px;padding:0;justify-content:center}.call-tools .captions-pill,.call-tools .rec-pill{margin-left:0}.tools-sep{width:1px;height:20px;margin:0 4px;background:var(--border)}.rec-tool{display:flex;align-items:center}.rec-tool .rec-start{color:var(--red)}.rec-tool .rec-options{width:18px;padding:0;margin-left:-4px}.rec-icon{color:var(--red)}button.rec-pill.stop{border:none;font:inherit;font-size:12px;font-weight:700;cursor:pointer}button.rec-pill.stop:hover{background:#f0474b42}.app.mobile .call-tools{gap:2px}.video-card{flex-direction:column;width:440px;max-width:100%}.video-card.vertical{width:280px}.video-frame{position:relative;width:100%;max-height:520px;border-radius:3px;overflow:hidden;background:#000}.video-card.vertical .video-frame{max-height:none}.video-frame iframe,.video-poster{position:absolute;inset:0;width:100%;height:100%;border:0}.video-poster{padding:0;background:var(--bg-4);cursor:pointer}.video-poster img{width:100%;height:100%;object-fit:cover;display:block}.video-poster:hover .link-play{background:var(--accent)}.link-desc.post{-webkit-line-clamp:10;white-space:pre-line}.zoom-box{position:absolute;inset:0;overflow:hidden}.tile.screen:not(.small) .zoom-box{touch-action:none}.zoom-box.zoomed{cursor:grab}.zoom-box.zoomed:active{cursor:grabbing}.zoom-layer{position:absolute;inset:0;transform-origin:0 0;will-change:transform}.zoom-controls{display:flex;align-items:center;gap:2px}.zoom-level{min-width:46px;padding:2px 4px;border:none;border-radius:3px;background:none;color:#fff;font:inherit;font-size:12px;font-variant-numeric:tabular-nums;cursor:pointer}.zoom-level:hover{background:#ffffff1f}.app.mobile .zoom-controls{display:none}
