*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--sidebar-w:200px;--sidebar-collapsed:40px;--userlist-w:186px;--topic-h:42px;--radius:7px;--radius-sm:4px;--app-viewport-height:100dvh;--app-viewport-offset-top:0px;--app-safe-area-bottom:env(safe-area-inset-bottom,0px);--hover:var(--bg-hover);color-scheme:var(--color-scheme);color:var(--text);background:var(--bg-base);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:13px;line-height:1.5}:root,:root[data-theme=dark],[data-theme-preview=dark]{--bg-base:#171a23;--bg-surface:#1c1f2a;--bg-raised:#232735;--bg-panel:#232735;--bg-hover:#2a2f44;--bg-active:#323751;--bg-soft:#2a2a32;--bg-input:#2a2a32;--border:#313650;--border-light:#3d4364;--text:#e8ebf5;--text-muted:#9aa3bd;--text-dim:#6c7596;--accent:#7c9ef8;--accent-dim:#3a4f8a;--on-accent:#0a0d14;--green:#4caf80;--yellow:#f8d47c;--red:#f87c7c;--amber:#e0a55c;--error:#e05c5c;--orange:#b45900;--text-error:#ffb2b2;--mention-bg:#2a2318;--mention-hover:#2e2a1a;--mention-border:#f8d47c55;--on-mention-badge:#1a1400;--color-scheme:dark}:root[data-theme=light],[data-theme-preview=light]{--bg-base:#eef0f4;--bg-surface:#fff;--bg-raised:#f4f6fa;--bg-panel:#f4f6fa;--bg-hover:#e7ebf3;--bg-active:#dbe1ee;--bg-soft:#eceff5;--bg-input:#fff;--border:#d7dbe6;--border-light:#c4cad9;--text:#1a1f2e;--text-muted:#566178;--text-dim:#8a93a8;--accent:#4b6fd6;--accent-dim:#b9c8f2;--on-accent:#fff;--green:#1a8a5a;--yellow:#b8860b;--red:#c62828;--amber:#b26a00;--error:#c0392b;--orange:#b45900;--text-error:#c0392b;--mention-bg:#fdf3d6;--mention-hover:#f5ecc9;--mention-border:#e0a55c88;--on-mention-badge:#fff;--color-scheme:light}:root[data-theme=salvia],[data-theme-preview=salvia]{--radius:10px;--radius-sm:6px;--bg-base:#181b18;--bg-surface:#131513;--bg-raised:#1d211d;--bg-panel:#1d211d;--bg-hover:#212621;--bg-active:#262c26;--bg-soft:#1d211d;--bg-input:#1b1e1b;--border:#272c27;--border-light:#343b34;--text:#ecede6;--text-muted:#a4ab9f;--text-dim:#6f776c;--accent:#9dbb98;--accent-dim:#3a4a38;--on-accent:#10150f;--green:#82bf7c;--yellow:#d9c27a;--red:#d4877a;--amber:#d1a066;--error:#c9705f;--orange:#c07a3c;--text-error:#f0b3a8;--mention-bg:#24231a;--mention-hover:#2a291d;--mention-border:#d9c27a55;--on-mention-badge:#161400;--color-scheme:dark;--salvia-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace}:root[data-theme=salvia] .sidebar-section-label{font-family:var(--salvia-mono);letter-spacing:1.6px;font-weight:600}:root[data-theme=salvia] .sidebar-item{border:1px solid #0000;border-radius:8px;margin:1px 8px;padding-left:8px}:root[data-theme=salvia] .sidebar-item--child{padding-left:22px}:root[data-theme=salvia] .sidebar-item.active{border-color:var(--border-light)}:root[data-theme=salvia] .sidebar-item.mentioned{border-color:color-mix(in srgb, var(--yellow) 40%, transparent)}:root[data-theme=salvia] .admin-ws-page-title{letter-spacing:-.02em}:root[data-theme=carta],[data-theme-preview=carta]{--bg-base:#ece5d8;--bg-surface:#f8f4ec;--bg-raised:#f1ebe0;--bg-panel:#f1ebe0;--bg-hover:#e6ddcd;--bg-active:#ddd2bf;--bg-soft:#ebe4d6;--bg-input:#fbf8f2;--border:#ddd4c4;--border-light:#cbbfab;--text:#1f1b16;--text-muted:#6b6152;--text-dim:#978b78;--accent:#b5532f;--accent-dim:#ecc8b6;--on-accent:#fff;--green:#3d7a46;--yellow:#9a7410;--red:#b3362a;--amber:#a8620f;--error:#b3362a;--orange:#a8540f;--text-error:#a02e22;--mention-bg:#f6e7b8;--mention-hover:#efdea8;--mention-border:#c9a24a88;--on-mention-badge:#fff;--color-scheme:light}:root[data-theme=carta] .sidebar-section-label{text-transform:none;letter-spacing:1.2px;border-bottom:1px solid var(--border);margin:0 14px 4px;padding:6px 0 3px;font-size:12px;font-variant-caps:all-small-caps}:root[data-theme=carta] .admin-ws-page-title{font-family:Georgia,Iowan Old Style,Times New Roman,serif;font-weight:600}:root[data-theme=fosforo],[data-theme-preview=fosforo]{--radius:3px;--radius-sm:2px;--bg-base:#151210;--bg-surface:#0e0c0a;--bg-raised:#1a1612;--bg-panel:#1a1612;--bg-hover:#211b15;--bg-active:#2a2219;--bg-soft:#1a1612;--bg-input:#120f0c;--border:#2e2720;--border-light:#3e3428;--text:#f2d9a8;--text-muted:#a8916a;--text-dim:#6e5f47;--accent:#ffb347;--accent-dim:#5a3f17;--on-accent:#140d03;--green:#b8c46a;--yellow:#ffd27a;--red:#e0705a;--amber:#ff9f3f;--error:#e0705a;--orange:#e08a3c;--text-error:#f4a898;--mention-bg:#2a1f10;--mention-hover:#322512;--mention-border:#ffb34766;--on-mention-badge:#140d03;--color-scheme:dark}:root[data-theme=fosforo] .sidebar-logo,:root[data-theme=fosforo] .sidebar-item.active .sidebar-item-name{text-shadow:0 0 6px color-mix(in srgb, var(--accent) 45%, transparent)}:root[data-theme=fosforo] .sidebar-section-label{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}:root[data-theme=fosforo] input,:root[data-theme=fosforo] textarea{caret-color:var(--accent);caret-shape:block}:root[data-theme=codice],[data-theme-preview=codice]{--radius:2px;--radius-sm:2px;--bg-base:#020a04;--bg-surface:#000;--bg-raised:#06140a;--bg-panel:#06140a;--bg-hover:#0a1f10;--bg-active:#0f2c17;--bg-soft:#06140a;--bg-input:#020a04;--border:#0f2a17;--border-light:#184024;--text:#b9f5c6;--text-muted:#5fbf74;--text-dim:#2f7a42;--accent:#00ff41;--accent-dim:#0b4a1c;--on-accent:#001a07;--green:#00ff41;--yellow:#d4ff5a;--red:#ff5f56;--amber:#c8e04a;--error:#ff5f56;--orange:#e0b040;--text-error:#ffa8a2;--mention-bg:#142a08;--mention-hover:#1a3409;--mention-border:#d4ff5a66;--on-mention-badge:#001a07;--color-scheme:dark}:root[data-theme=codice],:root[data-theme=codice] button,:root[data-theme=codice] input,:root[data-theme=codice] textarea,:root[data-theme=codice] select{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}:root[data-theme=codice] .main{background-image:repeating-linear-gradient(to bottom, transparent 0 2px, color-mix(in srgb, var(--accent) 4%, transparent) 2px 3px)}:root[data-theme=codice] .sidebar-logo,:root[data-theme=codice] .sidebar-item.active .sidebar-item-name{text-shadow:0 0 8px color-mix(in srgb, var(--accent) 55%, transparent)}:root[data-theme=codice] input,:root[data-theme=codice] textarea{caret-color:var(--accent);caret-shape:block}.avatar-initials{background:color-mix(in srgb, var(--nick-color) 20%, transparent);color:var(--nick-color)}:root[data-scheme=light] .avatar-initials{background:color-mix(in srgb, var(--nick-color) 50%, #000);color:#fff}@keyframes icon-spin{to{transform:rotate(360deg)}}.icon-spin{transform-origin:50%;animation:.9s linear infinite icon-spin}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body,#root{width:100%;height:100%;overflow:hidden}html.keyboard-open{--app-safe-area-bottom:0px}.app{grid-template-columns:var(--sidebar-w) 1fr 0;width:100%;height:100dvh;height:var(--app-viewport-height,100dvh);background:var(--bg-base);transform:translate3d(0, var(--app-viewport-offset-top,0px), 0);display:grid;overflow:hidden}.app.sidebar-closed{grid-template-columns:0 1fr 0}.app.userlist-open{grid-template-columns:var(--sidebar-w) 1fr var(--userlist-w)}.app.sidebar-closed.userlist-open{grid-template-columns:0 1fr var(--userlist-w)}.main{background:var(--bg-surface);border-left:1px solid var(--border);border-right:1px solid var(--border);min-width:0;height:100%;min-height:0;padding-top:env(safe-area-inset-top,0px);padding-bottom:var(--app-safe-area-bottom);flex-direction:column;display:flex;overflow:hidden}.sidebar{padding-top:env(safe-area-inset-top,0px);padding-bottom:var(--app-safe-area-bottom);padding-left:env(safe-area-inset-left,0px)}.userlist{padding-top:env(safe-area-inset-top,0px);padding-bottom:var(--app-safe-area-bottom);padding-right:env(safe-area-inset-right,0px)}.sidebar{background:var(--bg-base);-webkit-user-select:none;user-select:none;flex-direction:column;min-width:0;height:100%;display:flex;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;padding:10px 12px;display:flex}.sidebar-toggle-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:2px 4px;font-size:16px;line-height:1;transition:color .1s}.sidebar-toggle-btn:hover{color:var(--text)}.app.sidebar-closed .sidebar-header{justify-content:center;padding:10px 6px}.app.sidebar-closed .sidebar-logo,.app.sidebar-closed .ws-dot,.app.sidebar-closed .sidebar-own-nick,.app.sidebar-closed .sidebar-profile,.app.sidebar-closed .sidebar-section,.app.sidebar-closed .sidebar-networks,.app.sidebar-closed .sidebar-footer{display:none}.sidebar-logo{letter-spacing:2px;color:var(--accent);text-transform:uppercase;font-size:15px;font-weight:800}.ws-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;transition:background .3s}.sidebar-own-nick{display:none}.sidebar-section{border-bottom:1px solid var(--border);padding:6px 0;overflow-y:auto}.sidebar-section:last-child{border-bottom:none}.sidebar-section-label{letter-spacing:.8px;text-transform:uppercase;color:var(--text-dim);padding:6px 14px 3px;font-size:10px;font-weight:700}.sidebar-item{cursor:pointer;border-left:2px solid #0000;justify-content:space-between;align-items:center;gap:6px;padding:5px 10px 5px 14px;transition:background .1s;display:flex}@media (hover:hover){.sidebar-item:hover{background:var(--bg-hover)}}.sidebar-item.active{background:var(--bg-active);border-left-color:var(--accent)}.sidebar-item.mentioned{border-left-color:var(--yellow)}.sidebar-item-name{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-family:monospace;font-size:13px;overflow:hidden}.sidebar-item.active .sidebar-item-name{color:var(--text)}.sidebar-item.mentioned .sidebar-item-name{color:var(--yellow)}.sidebar-item.query-disconnected .sidebar-item-name,.sidebar-item--offline .sidebar-item-name{opacity:.7;font-style:italic}.sidebar-item-right{flex-shrink:0;align-items:center;gap:5px;display:flex}.badge{background:var(--bg-raised);color:var(--text-muted);text-align:center;border-radius:99px;min-width:18px;padding:1px 6px;font-size:10px;font-weight:700}.badge-mention{background:var(--yellow);color:var(--on-mention-badge)}.close-btn{color:var(--text-dim);cursor:pointer;opacity:0;background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1;transition:opacity .1s,color .1s}@media (hover:hover){.sidebar-item:hover .close-btn{opacity:1}.close-btn:hover{color:var(--red)}}@media (hover:none){.close-btn{opacity:1}}.sidebar-networks{flex:1;min-height:0;overflow-y:auto}.sidebar-network{padding:2px 0 4px}.sidebar-network-header{background:var(--bg-raised);padding-top:7px;padding-bottom:7px}.sidebar-network-header .sidebar-network-name{letter-spacing:.3px;color:var(--text);font-family:inherit;font-weight:700}.sidebar-network-header.active{background:var(--bg-active)}.sidebar-network-header .close-btn{opacity:.55;font-size:13px}@media (hover:hover){.sidebar-network-header:hover .close-btn{opacity:1}.sidebar-network-header .close-btn:hover{color:var(--accent)}}.sidebar-item--child{padding-left:28px}.sidebar-pinned-header{cursor:default}.sidebar-pinned-header .sidebar-item-icon{color:var(--text-muted)}.sidebar-pinned .sidebar-item[draggable=true]{cursor:grab}.sidebar-item-network{opacity:.7;margin-left:6px;font-family:inherit;font-size:11px}.sidebar-add-network{cursor:pointer;width:100%;color:var(--text-muted);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:9px 14px;font-size:13px;display:flex}.sidebar-add-network:hover{background:var(--bg-hover);color:var(--accent)}.topic-bar{height:var(--topic-h);border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;align-items:center;gap:8px;padding:0 12px;display:flex;overflow:hidden}.topic-bar-hamburger{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;padding:2px 6px;font-size:16px;line-height:1;transition:color .1s,background .1s}.topic-bar-hamburger:hover{color:var(--text);background:var(--bg-hover)}.topic-bar-users-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);text-transform:uppercase;letter-spacing:.6px;cursor:pointer;white-space:nowrap;background:0 0;flex-shrink:0;padding:3px 8px;font-size:10px;font-weight:700;transition:color .1s,border-color .1s,background .1s}.topic-bar-users-btn:hover,.topic-bar-users-btn.active{color:var(--accent);border-color:var(--accent-dim);background:#7c9ef812}.topic-bar-name{color:var(--accent);white-space:nowrap;flex-shrink:0;font-family:monospace;font-size:13px;font-weight:700}.topic-bar-sep{color:var(--border-light);flex-shrink:0}.topic-bar-ws-badge{color:var(--amber);white-space:nowrap;background:#f8c8001f;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.topic-bar-text{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.topic-bar-count{color:var(--text-dim);white-space:nowrap;flex-shrink:0;margin-left:auto;font-size:11px}.chat-window{flex-direction:column;flex:1;min-height:0;padding:10px 0 6px;display:flex;overflow-y:auto}.chat-content{flex-direction:column;display:flex}.chat-load-more{text-align:center;padding:6px 0 2px}.chat-load-more button{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:10px;padding:3px 10px;font-size:11px;transition:color .15s,border-color .15s}.chat-load-more button:hover{color:var(--text);border-color:var(--accent)}.chat-empty{color:var(--text-dim);flex:1;justify-content:center;align-items:center;font-size:13px;display:flex}.chat-separator{color:var(--accent);opacity:.7;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:6px 16px;font-size:11px;display:flex}.chat-separator:before,.chat-separator:after{content:"";background:var(--accent);opacity:.3;flex:1;height:1px}.chat-day-separator{color:var(--text-dim);text-transform:uppercase;letter-spacing:.6px;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:12px 16px 4px;font-size:11px;display:flex}.chat-day-separator:before,.chat-day-separator:after{content:"";background:var(--text-dim);opacity:.18;flex:1;height:1px}.chat-day-separator span{background:var(--bg-hover);border-radius:10px;padding:2px 8px}.msg{border-left:2px solid #0000;align-items:flex-start;gap:12px;padding:2px 16px;transition:background .1s;display:flex;position:relative}.msg:not(.msg-grouped){padding-top:14px}.msg:hover{background:var(--bg-hover)}.msg.msg-mention{background:var(--mention-bg);border-left-color:var(--yellow)}.msg.msg-mention:hover{background:var(--mention-hover)}.msg-avatar-col{flex-shrink:0;justify-content:center;width:40px;padding-top:1px;display:flex}.msg-grouped-time{color:var(--text-dim);opacity:0;text-align:right;flex-shrink:0;width:40px;font-family:monospace;font-size:9px;line-height:20px;transition:opacity .1s}.msg:hover .msg-grouped-time{opacity:1}.msg-content-col{flex:1;min-width:0;padding-bottom:2px}.msg-header{align-items:baseline;gap:8px;margin-bottom:2px;display:flex}.msg-nick{cursor:default;font-size:13px;font-weight:700}.msg-nick-btn{cursor:pointer;background:0 0;border:none;padding:0}.msg-nick-btn:hover{text-decoration:underline}:root[data-scheme=light] .msg-nick-btn{color:color-mix(in srgb, var(--nick-color) 62%, #000)}.msg-nick-inline{font-size:inherit;vertical-align:baseline}.msg-time{color:var(--text-dim);flex-shrink:0;font-family:monospace;font-size:11px}.msg-rowtime{color:var(--text-dim);white-space:nowrap;flex-shrink:0;align-self:flex-start;margin-left:auto;padding-left:12px;font-family:monospace;font-size:11px}.msg-textrow{align-items:flex-start;gap:12px;display:flex}.msg-textrow .msg-text{flex:1;min-width:0}.msg-text{color:var(--text);word-break:break-word;white-space:pre-wrap;font-size:13px;line-height:1.45}.msg-error .msg-text{color:var(--text-error)}.chat-outbox{padding:2px 16px 6px}.chat-outbox-row{border-left:2px solid var(--border-light);margin:2px 0;padding:4px 0 4px 10px}.chat-outbox-row--failed{border-left-color:var(--red)}.chat-outbox-text{color:var(--text-muted);white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.45}.chat-outbox-status{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:2px;font-size:12px;display:flex}.chat-outbox-failed{color:var(--red);font-weight:600}.chat-outbox-reason{color:var(--text-muted)}.chat-outbox-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-raised);color:var(--text);font:inherit;cursor:pointer;padding:2px 10px}.chat-outbox-btn:hover{background:var(--bg-hover)}.chat-outbox-btn--quiet{color:var(--text-muted);background:0 0}.chat-outbox-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.msg-action-wrap{position:relative}.msg-action-wrap .msg-reactions{padding:0 16px 3px}.msg-action-line{color:var(--text);align-items:baseline;gap:7px;padding:3px 16px;font-size:13px;font-style:italic;line-height:1.45;display:flex}.msg-action-line.msg-mention{border-left:2px solid var(--yellow);background:#ffcc0014;padding-left:14px}.msg-action-marker{color:var(--accent);font-weight:700}.msg-action-text{color:var(--text);word-break:break-word;white-space:pre-wrap;font-style:italic}.msg-linklike{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:0}.msg-linklike:hover{text-decoration:underline}.msg-inline-media-wrap{width:fit-content;margin-top:4px;display:block;position:relative}.msg-inline-media-link{width:fit-content;display:block}.msg-inline-media{cursor:pointer;border-radius:8px;max-width:320px;max-height:280px;display:block}.msg-attachment-gone{border:1px dashed var(--border);color:var(--text-muted);border-radius:6px;align-items:center;gap:6px;padding:4px 9px;font-size:.86em;font-style:italic;display:inline-flex}.msg-inline-audio-wrap{align-items:center;gap:4px;width:fit-content;max-width:100%;margin-top:4px;display:flex;position:relative}.msg-inline-audio-wrap .msg-inline-audio{flex:0 300px;order:1;min-width:0}.msg-inline-audio-wrap .inline-media-close{flex:none;order:3;position:static}.msg-inline-audio-wrap .inline-media-report{order:2}.msg-inline-audio{width:300px;max-width:100%;height:38px;color-scheme:var(--color-scheme);background:var(--bg-raised);border:1px solid var(--border);border-radius:999px;display:block}.msg-inline-audio::-webkit-media-controls-panel{background:var(--bg-raised)}.msg-inline-audio::-webkit-media-controls-enclosure{background:var(--bg-raised);border-radius:999px}.inline-media-close,.yt-preview-close{z-index:2;color:#fff;cursor:pointer;opacity:0;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:15px;line-height:1;transition:opacity .12s;display:flex;position:absolute;top:6px;right:6px}.msg-inline-media-wrap:hover .inline-media-close,.msg-inline-audio-wrap:hover .inline-media-close,.yt-preview:hover .yt-preview-close,.inline-media-close:focus-visible,.yt-preview-close:focus-visible{opacity:1}@media (hover:none){.inline-media-close,.yt-preview-close{opacity:1}}.yt-preview{border:1px solid var(--border);background:var(--bg-soft,#7f7f7f14);border-radius:10px;max-width:420px;margin-top:4px;position:relative;overflow:hidden}.yt-preview-thumb{cursor:pointer;aspect-ratio:16/9;background:#000;border:none;width:100%;padding:0;display:block;position:relative}.yt-preview-thumb img{object-fit:cover;width:100%;height:100%;display:block}.yt-preview-play{color:#fff;pointer-events:none;background:#000000a6;border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;padding-left:4px;font-size:22px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.yt-preview-meta{flex-direction:column;gap:2px;padding:8px 10px;display:flex}.yt-preview-title{color:var(--text);font-size:13px;font-weight:600}.yt-preview-author{color:var(--text-dim);font-size:12px}.yt-preview-frame{aspect-ratio:16/9;border:none;width:100%;display:block}.msg-event{color:var(--text-dim);align-items:center;gap:10px;padding:2px 16px;font-size:12px;font-style:italic;display:flex}.msg-event-text{flex:1;min-width:0}.msg-event-dot{color:var(--text-muted);margin-right:8px}.msg-event--disconnected .msg-event-text{color:var(--red);font-style:normal}.msg-event--reconnected .msg-event-text{color:var(--accent);font-style:normal}.msg-event-group-wrap{color:var(--text-dim)}.msg-event-group{color:inherit;align-items:baseline;gap:8px;padding:2px 16px;font-size:12px;line-height:1.45;display:flex}.msg-event-group:hover{background:var(--bg-hover)}.msg-event-group-toggle{width:16px;height:16px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:13px;line-height:1;display:inline-flex}.msg-event-group-toggle:hover{color:var(--text)}.msg-event-group-text{overflow-wrap:anywhere;flex-wrap:wrap;flex:1;gap:4px 10px;min-width:0;display:flex}.msg-event-group-segment{white-space:normal}.msg-event-group-details{padding:0 0 2px}.msg-event-group-detail{padding-left:40px}.event-hostmask{color:var(--text-muted);overflow-wrap:anywhere;font-style:normal}.event-person{cursor:default}.event-was{color:var(--text-muted)}.composer{border-top:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;padding:8px 12px 10px}.composer-hint{color:var(--text-muted);padding:0 4px 5px;font-family:monospace;font-size:11px}.composer-nick-suggest{scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;gap:6px;padding:0 4px 6px;display:flex;overflow:auto hidden}.composer-nick-suggest::-webkit-scrollbar{display:none}.composer-nick-chip{background:var(--bg-raised);border:1px solid var(--border-light);min-height:32px;color:var(--text);white-space:nowrap;cursor:pointer;border-radius:16px;flex:none;padding:6px 12px;font-size:13px;font-weight:500}.composer-nick-chip:active{background:var(--accent-dim)}.composer-offline-bar{color:var(--text-muted);background:var(--bg-raised);border:1px solid var(--border-light);border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0 4px 6px;padding:6px 10px;font-size:12px;display:flex}.composer-offline-connect{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:5px;padding:4px 12px;font-size:12px;font-weight:600}.composer-offline-connect:hover{filter:brightness(1.1)}.admin-att-table{border-collapse:collapse;font-size:13px}.admin-att-table th,.admin-att-table td{text-align:left;padding:6px 12px 6px 0}.admin-att-table th{color:var(--text-muted);font-size:11px;font-weight:600}.admin-att-table input[type=number]{width:90px}.composer-upload-status{color:var(--text-muted);align-items:center;gap:8px;padding:4px 6px;font-size:12px;display:flex}.composer-upload-status.error{color:var(--red)}.composer-record-bar{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:flex}.composer-record-dot{background:var(--red);border-radius:50%;width:10px;height:10px;animation:1s steps(2,start) infinite composer-record-blink}@keyframes composer-record-blink{50%{opacity:.2}}.composer-record-time{font-variant-numeric:tabular-nums;min-width:34px}.composer-record-preview{max-width:220px;height:34px;color-scheme:var(--color-scheme);border-radius:999px}.composer-record-btn{background:var(--bg-raised);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;padding:4px 10px;font-size:12px}.composer-record-btn:disabled{opacity:.5;cursor:default}.composer-record-send{background:var(--accent);color:var(--on-accent);border-color:#0000}.composer-record-cancel{color:var(--text-muted)}.composer-upload-dismiss{color:inherit;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1}.composer-hint kbd{background:var(--bg-raised);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-dim);padding:0 4px;font-size:10px}.composer-row{align-items:flex-end;gap:8px;display:flex}.composer-field{background:var(--bg-raised);border:1px solid var(--border-light);border-radius:var(--radius);flex:1;align-items:flex-end;gap:2px;min-width:0;padding-right:4px;transition:border-color .15s;display:flex}.composer-field:focus-within{border-color:var(--accent-dim)}.composer-field.disabled{opacity:.5}.composer-input{min-width:0;color:var(--text);resize:none;background:0 0;border:none;border-radius:0;outline:none;flex:1;max-height:40vh;padding:8px 4px 8px 12px;font-family:inherit;font-size:13px;line-height:1.4;display:block;overflow-y:auto}.composer-input::placeholder{color:var(--text-dim)}.composer-input:disabled{cursor:not-allowed}.composer-input.composer-input-cmd{color:var(--accent);font-family:monospace}.composer-send{background:var(--accent);border-radius:var(--radius);width:34px;height:34px;color:var(--on-accent);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:700;transition:opacity .15s;display:flex}.composer-send:disabled{background:var(--bg-raised);color:var(--text-dim);cursor:not-allowed}.composer-send:hover:not(:disabled){opacity:.85}.userlist{background:var(--bg-base);flex-direction:column;min-width:0;height:100%;display:flex;overflow:hidden}.userlist-header{height:var(--topic-h);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:6px;padding:0 8px;display:flex}.userlist-toggle-btn{color:var(--text-dim);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;padding:4px 6px;font-size:12px;line-height:1;transition:color .1s,background .1s}.userlist-toggle-btn:hover{color:var(--text-muted);background:var(--bg-hover)}.userlist-section{padding:2px 0 6px}.userlist-section+.userlist-section{border-top:1px solid var(--border)}.userlist-section-label{letter-spacing:.7px;text-transform:uppercase;color:var(--text-dim);padding:6px 12px 3px;font-size:10px;font-weight:700}.user-item{cursor:default;border-radius:var(--radius-sm);align-items:center;gap:8px;margin:1px 4px;padding:4px 10px;transition:background .1s;display:flex}@media (hover:hover){.user-item:hover{background:var(--bg-hover)}}.user-item.user-item--compact{min-height:22px;margin:0 4px;padding:2px 10px}@media (pointer:coarse){.user-item.user-item--compact{min-height:32px}}.user-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-family:monospace;font-size:9px;font-weight:800;display:flex}.user-nick{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-family:monospace;font-size:12px;overflow:hidden}.user-prefix{color:var(--yellow);margin-right:1px;font-weight:700}.user-item.user-away .user-nick{opacity:.7}.user-item.user-away .user-avatar{opacity:.75}.user-nick .bot-badge{color:var(--amber);letter-spacing:.6px;text-transform:uppercase;vertical-align:middle;background:#e0a55c21;border:1px solid #e0a55c73;border-radius:999px;margin-left:5px;padding:1px 6px;font-size:9px;font-weight:700;line-height:1.4;display:inline-block}.typing-indicator{height:18px;min-height:18px;color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;padding:0 14px;font-size:11px;font-style:italic;display:flex;overflow:hidden}.typing-dots{gap:2px;display:inline-flex}.typing-dots span{background:var(--text-dim);border-radius:50%;width:4px;height:4px;animation:1.2s ease-in-out infinite typing-bounce}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.connect-overlay{-webkit-backdrop-filter:blur(6px);z-index:100;background:#0a0c12bf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.connect-form{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius);flex-direction:column;gap:12px;width:420px;max-width:100%;padding:24px;display:flex;box-shadow:0 12px 40px #00000080}.connect-title{color:var(--accent);text-align:center;letter-spacing:1.5px;text-transform:uppercase;margin:0 0 4px;font-size:15px;font-weight:700}.connect-row{gap:10px;display:flex}.connect-field{flex-direction:column;gap:4px;min-width:0;display:flex}.connect-field-grow{flex:1}.connect-field-port{flex-shrink:0;width:90px}.connect-field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.7px;font-size:10px;font-weight:700}.connect-field input{background:var(--bg-raised);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text);outline:none;width:100%;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .15s}.connect-field input:focus{border-color:var(--accent-dim)}.connect-hint{color:var(--text-dim);margin-top:2px;font-size:10px}.connect-status{color:var(--text-muted);text-align:center;min-height:20px;padding:6px 0 2px;font-size:11px}.connect-status code{background:var(--bg-raised);color:var(--accent);border-radius:3px;padding:1px 5px;font-size:10px}.connect-actions{gap:8px;margin-top:4px;display:flex}.connect-submit{background:var(--accent);border-radius:var(--radius);color:var(--on-accent);cursor:pointer;letter-spacing:.5px;border:none;flex:1;padding:10px;font-size:13px;font-weight:700;transition:opacity .15s}.connect-submit:hover:not(:disabled){opacity:.9}.connect-submit:disabled{background:var(--bg-raised);color:var(--text-dim);cursor:not-allowed}.connect-clear{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dim);cursor:pointer;background:0 0;padding:10px 14px;font-size:12px;transition:color .15s,border-color .15s}.connect-clear:hover{color:var(--text);border-color:var(--text-dim)}.sidebar-profile{border-bottom:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:8px;padding:10px 12px 8px;display:flex}.sidebar-profile-top{align-items:center;gap:10px;display:flex}.sidebar-profile-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-family:monospace;font-size:11px;font-weight:800;display:flex}.sidebar-profile-info{flex-direction:column;gap:1px;min-width:0;display:flex}.sidebar-profile-username{color:var(--text);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.sidebar-profile-nick{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-family:monospace;font-size:11px;overflow:hidden}.sidebar-disconnect-btn{border:1px solid var(--border-light);width:100%;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;text-align:center;letter-spacing:.3px;background:0 0;padding:5px 8px;font-family:inherit;font-size:11px;font-weight:600;transition:color .1s,border-color .1s,background .1s}.sidebar-disconnect-btn:hover{color:var(--red);border-color:var(--red);background:#f87c7c0a}.sidebar-radio-cta{border:1px dashed var(--border-light);width:100%;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;letter-spacing:.2px;background:0 0;justify-content:center;align-items:center;gap:6px;padding:5px 8px;font-family:inherit;font-size:11px;font-weight:600;transition:color .1s,border-color .1s,background .1s;display:flex}.sidebar-radio-cta:hover{color:var(--accent);border-color:var(--accent);background:var(--bg-hover)}.sidebar-radio{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-raised);flex-direction:column;gap:6px;padding:6px 7px;display:flex}.sidebar-radio-top{align-items:center;gap:6px;min-width:0;display:flex}.sidebar-radio-name{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11.5px;font-weight:600;overflow:hidden}.sidebar-radio-controls{align-items:center;gap:4px;display:flex}.sidebar-radio-btn{border:1px solid var(--border-light);border-radius:var(--radius-sm);width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;transition:color .1s,border-color .1s,background .1s;display:inline-flex}.sidebar-radio-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent);background:var(--bg-hover)}.sidebar-radio-btn:disabled{opacity:.4;cursor:default}.sidebar-radio-btn--active{color:var(--accent);border-color:var(--accent)}.sidebar-radio-btn--settings{border-color:#0000;width:20px;height:20px}.sidebar-radio-volume{min-width:0;color:var(--text-dim);flex:1;align-items:center;gap:4px;display:flex}.sidebar-radio-volume input[type=range]{min-width:0;height:3px;accent-color:var(--accent);cursor:pointer;flex:1}.sidebar-radio-msg{color:var(--text-muted);overflow-wrap:anywhere;font-size:10.5px;line-height:1.35}.sidebar-radio-msg--error{color:var(--red)}.sidebar-radio--unavailable .sidebar-radio-name{color:var(--text-muted)}.sidebar-footer{border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:2px;margin-top:auto;padding:8px;display:flex}.sidebar-footer-btn{border-radius:var(--radius-sm);width:100%;color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:7px 10px;font-family:inherit;font-size:12px;transition:color .1s,background .1s;display:flex}.sidebar-footer-btn:hover{color:var(--text);background:var(--bg-hover)}.sidebar-footer-btn--logout:hover{color:var(--red)}.sidebar-footer-btn .badge{margin-left:auto}.sidebar-footer-icon{text-align:center;flex-shrink:0;width:18px;font-size:14px}.sidebar-footer-label{flex:1}.sidebar-settings-btn{display:none}.setup-screen{background:var(--bg-base);z-index:200;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.setup-screen--scroll{align-items:flex-start;overflow-y:auto}.setup-screen--scroll>.setup-card{flex-shrink:0;margin-block:auto}.setup-card{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius);flex-direction:column;gap:4px;width:440px;max-width:100%;padding:32px 28px 28px;display:flex;box-shadow:0 16px 48px #0000008c}.setup-logo{letter-spacing:4px;color:var(--accent);text-transform:uppercase;text-align:center;font-size:28px;font-weight:900}.due-logo{align-items:center;line-height:0;display:inline-flex}.due-logo-img{width:auto;height:auto;display:block}.due-logo-img--dark,html[data-scheme=dark] .due-logo-img--light{display:none}html[data-scheme=dark] .due-logo-img--dark{display:block}.setup-logo .due-logo{justify-content:center;width:100%}.setup-logo .due-logo-img{max-width:100%;height:116px}.setup-subtitle{color:var(--text-dim);text-align:center;letter-spacing:2px;text-transform:uppercase;margin-bottom:16px;font-size:11px}.setup-form{flex-direction:column;gap:12px;display:flex}.setup-row{gap:10px;display:flex}.setup-field{flex-direction:column;gap:4px;min-width:0;display:flex}.setup-field-grow{flex:1}.setup-field-port{flex-shrink:0;width:88px}.setup-field label{text-transform:uppercase;letter-spacing:.7px;color:var(--text-muted);font-size:10px;font-weight:700}.setup-optional{text-transform:none;letter-spacing:0;color:var(--text-dim);font-weight:400}.setup-field input,.setup-field select{background:var(--bg-raised);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text);outline:none;width:100%;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .15s}.setup-field input:focus,.setup-field select:focus{border-color:var(--accent-dim)}.setup-textarea{background:var(--bg-raised);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text);font-size:13px;font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);resize:vertical;outline:none;width:100%;min-height:84px;padding:8px 10px;line-height:1.5;transition:border-color .15s}.setup-textarea:focus{border-color:var(--accent-dim)}.setup-hint{color:var(--text-dim);margin-top:1px;font-size:10px}.setup-ssl-toggle{-webkit-user-select:none;user-select:none;pointer-events:none;align-items:center;gap:8px;width:fit-content;display:flex}.setup-ssl-toggle input[type=checkbox]{opacity:0;width:0;height:0;position:absolute}.setup-ssl-track{background:var(--border-light);pointer-events:auto;cursor:pointer;border-radius:9px;flex-shrink:0;width:32px;height:18px;transition:background .2s;display:inline-block;position:relative}.setup-ssl-track:after{content:"";background:var(--text-muted);border-radius:50%;width:12px;height:12px;transition:transform .2s,background .2s;position:absolute;top:3px;left:3px}.setup-ssl-toggle input:checked~.setup-ssl-track{background:var(--accent-dim)}.setup-ssl-toggle input:checked~.setup-ssl-track:after{background:var(--accent);transform:translate(14px)}.setup-ssl-label{color:var(--text);font-size:12px;font-weight:600}.setup-ssl-hint{color:var(--text-dim);font-size:11px}.setup-advanced-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;width:fit-content;padding:2px 0;font-family:inherit;font-size:11px;transition:color .1s;display:flex}.setup-advanced-toggle:hover{color:var(--text)}.setup-advanced-arrow{font-size:10px}.setup-advanced{border-top:1px solid var(--border);flex-direction:column;gap:12px;padding:12px 0 0;display:flex}.setup-section-title{border-top:1px solid var(--border);color:var(--text-dim);letter-spacing:.9px;text-transform:uppercase;margin-top:4px;padding-top:10px;font-size:9px;font-weight:800;display:block}.setup-section-title:first-child{border-top:none;margin-top:0;padding-top:0}.setup-row-align-end{align-items:flex-end}.setup-ssl-toggle-spaced{margin-bottom:7px}.network-picker{flex-direction:column;gap:12px;display:flex}.network-picker-heading h3{color:var(--text);letter-spacing:-.1px;margin:0 0 3px;font-size:14px}.network-picker-heading p{color:var(--text-muted);margin:0;font-size:11px;line-height:1.45}.network-picker-notice{border:1px solid color-mix(in srgb, var(--yellow) 35%, var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--yellow) 6%, var(--bg-raised));color:var(--text-muted);margin:0;padding:8px 10px;font-size:10.5px;line-height:1.45}.network-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.network-choice-card{border:1px solid var(--border-light);border-radius:var(--radius);background:var(--bg-raised);min-height:58px;color:var(--text);text-align:left;cursor:pointer;grid-template-columns:34px minmax(0,1fr) 16px;align-items:center;gap:9px;padding:9px 10px;font-family:inherit;transition:transform .16s,border-color .16s,background .16s;display:grid;position:relative;overflow:hidden}@media (hover:hover){.network-choice-card:hover{border-color:var(--text-dim);background:var(--bg-hover);transform:translateY(-1px)}}.network-choice-card:active{transform:scale(.985)}.network-choice-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.network-choice-card.selected{border-color:var(--accent-dim);background:color-mix(in srgb, var(--accent) 9%, var(--bg-raised))}.network-choice-card--manual{border-style:dashed;grid-column:1/-1}.network-choice-mark{border:1px solid var(--border-light);background:var(--bg-surface);width:34px;height:34px;color:var(--text-muted);letter-spacing:.4px;border-radius:9px;justify-content:center;align-items:center;font-size:10px;font-weight:800;display:inline-flex}.network-choice-card.selected .network-choice-mark{border-color:var(--accent-dim);color:var(--accent)}.network-choice-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.network-choice-copy strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.network-choice-copy small{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;line-height:1.25;overflow:hidden}.network-choice-check{color:var(--accent)}.network-selection-summary{border-left:2px solid var(--accent);background:color-mix(in srgb, var(--accent) 5%, var(--bg-raised));grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:2px 10px;padding:10px 12px;display:grid}.network-selection-summary .network-selection-label{color:var(--text-dim);letter-spacing:.8px;text-transform:uppercase;grid-column:1/-1;font-size:8.5px;font-weight:800}.network-selection-summary strong{color:var(--text);font-size:12px}.network-selection-summary code{color:var(--text-muted);font-size:9.5px}.setup-status-wait{color:var(--text-muted);text-align:center;font-size:11px}.setup-status-wait code{background:var(--bg-raised);color:var(--accent);border-radius:3px;padding:1px 5px;font-size:10px}.setup-connect-btn{background:var(--accent);border-radius:var(--radius);width:100%;color:var(--on-accent);cursor:pointer;letter-spacing:.5px;border:none;margin-top:4px;padding:11px;font-size:13px;font-weight:700;transition:opacity .15s}.setup-connect-btn:hover:not(:disabled){opacity:.88}.setup-connect-btn:disabled{background:var(--bg-raised);color:var(--text-dim);cursor:not-allowed}.settings-overlay{-webkit-backdrop-filter:blur(4px);z-index:600;padding:max(20px, env(safe-area-inset-top,0px)) max(20px, env(safe-area-inset-right,0px)) max(20px, var(--app-safe-area-bottom)) max(20px, env(safe-area-inset-left,0px));background:#0a0c12b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.settings-panel{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius);flex-direction:column;width:560px;max-width:100%;max-height:90%;display:flex;overflow-y:auto;box-shadow:0 12px 40px #00000080}.settings-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px 14px;display:flex}.settings-title{color:var(--text);text-transform:uppercase;letter-spacing:1px;font-size:13px;font-weight:700}.settings-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:18px;line-height:1;transition:color .1s}.settings-close:hover{color:var(--text)}.settings-form{flex-direction:column;gap:12px;padding:20px;display:flex}.settings-actions{gap:8px;margin-top:4px;display:flex}.settings-save-btn{border:1px solid var(--border-light);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;background:0 0;padding:10px 16px;font-family:inherit;font-size:12px;transition:color .1s,border-color .1s}.settings-save-btn:hover{color:var(--text);border-color:var(--text-dim)}.settings-reconnect-btn{background:var(--accent);border-radius:var(--radius);color:var(--on-accent);cursor:pointer;letter-spacing:.3px;border:none;flex:1;padding:10px;font-size:13px;font-weight:700;transition:opacity .15s}.settings-reconnect-btn:hover{opacity:.88}.settings-reconnect-btn:disabled,.settings-save-btn:disabled{opacity:.45;cursor:not-allowed}@media (width<=767px){.settings-overlay{padding:max(8px, env(safe-area-inset-top,0px)) max(8px, env(safe-area-inset-right,0px)) max(8px, var(--app-safe-area-bottom)) max(8px, env(safe-area-inset-left,0px));align-items:flex-start}.settings-panel{max-height:100%}}@media (width<=520px){.settings-header{padding:14px 16px 12px}.settings-form{padding:16px}.network-choice-grid{grid-template-columns:1fr}.network-choice-card{min-height:54px}.network-selection-summary{grid-template-columns:1fr}.network-selection-summary code{margin-top:2px}.settings-actions{flex-direction:column-reverse}.settings-save-btn,.settings-reconnect-btn{width:100%}}.settings-disconnect-btn{border:1px solid var(--border-light);border-radius:var(--radius);width:100%;color:var(--text);cursor:pointer;background:0 0;margin-top:10px;padding:9px;font-size:12px;font-weight:600;transition:background .15s,opacity .15s}.settings-disconnect-btn:hover:not(:disabled){background:var(--bg-raised)}.settings-disconnect-btn:disabled{opacity:.5;cursor:default}.settings-delete-btn{border:1px solid var(--red);border-radius:var(--radius);width:100%;color:var(--red);cursor:pointer;background:0 0;margin-top:10px;padding:9px;font-size:12px;font-weight:600;transition:background .15s,opacity .15s}.settings-delete-btn:hover{background:color-mix(in srgb, var(--red) 12%, transparent)}.settings-delete-btn:disabled{opacity:.5;cursor:default}.userlist-scroll{flex:1;padding:4px 0;overflow-y:auto}.msg-avatar{border-radius:50%;flex-shrink:0}.msg-grade-prefix{color:var(--prefix-color,var(--yellow));flex-shrink:0;font-family:monospace;font-size:12px;font-weight:700;line-height:1}:root[data-scheme=light] .msg-grade-prefix{color:color-mix(in srgb, var(--prefix-color,var(--yellow)) 55%, #000)}.nick-card-grade-prefix{color:var(--prefix-color);font-weight:700}:root[data-scheme=light] .nick-card-grade-prefix{color:color-mix(in srgb, var(--prefix-color) 55%, #000)}.msg-realname{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:240px;font-size:12px;font-weight:400;overflow:hidden}.msg-bot-badge{color:var(--amber);letter-spacing:.6px;text-transform:uppercase;background:#e0a55c21;border:1px solid #e0a55c73;border-radius:999px;flex-shrink:0;align-items:center;padding:1px 6px;font-size:9px;font-weight:700;line-height:1.4;display:inline-flex}.nick-menu{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius);flex-direction:column;min-width:160px;padding:4px 0;display:flex;box-shadow:0 8px 28px #0000008c}.nick-menu-title{color:var(--text-muted);border-bottom:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;padding:6px 12px 8px;font-family:monospace;font-size:11px;font-weight:700;overflow:hidden}.nick-menu button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;padding:6px 12px;font-family:inherit;font-size:12px;transition:background .1s}@media (hover:hover){.nick-menu button:hover{background:var(--bg-hover)}}.nick-menu-sep{background:var(--border);height:1px;margin:2px 0}.nick-menu-danger{color:var(--red)!important}.nick-card{min-width:220px;max-width:280px}.nick-card-header{align-items:flex-start;gap:10px;padding:10px 12px 8px;display:flex}.nick-card-avatar{border-radius:50%;flex:none}.nick-card-ident{flex-direction:column;gap:2px;min-width:0;display:flex}.nick-card-nick{color:var(--text);word-break:break-word;font-size:14px;font-weight:700}.nick-card-role{color:var(--text-muted);margin-left:6px;font-size:12px;font-weight:500}.nick-card-meta{color:var(--text-muted);word-break:break-word;font-size:11px}.nick-card-away{color:var(--orange);font-size:11px;font-weight:600}.nick-card-invite-list{background:var(--bg-hover);flex-direction:column;display:flex}.nick-card-invite-list button{padding-left:28px;font-family:monospace;font-size:12px}.whois-overlay{z-index:1200;background:#0a0c1299;position:fixed;inset:0}.whois-modal{z-index:1201;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius);flex-direction:column;width:90vw;min-width:360px;max-width:520px;max-height:80vh;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 12px 40px #0000008c}.whois-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px 10px;display:flex}.whois-title{color:var(--accent);font-family:monospace;font-size:13px;font-weight:700}.whois-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:18px;line-height:1;transition:color .1s}.whois-close:hover{color:var(--text)}.whois-body{padding:12px 16px 16px;overflow-y:auto}.whois-table{border-collapse:collapse;width:100%}.whois-table tr{vertical-align:top}.whois-table td{padding:4px 0;font-size:12px;line-height:1.5}.whois-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;width:100px;padding-right:16px;font-family:monospace;font-size:10px;font-weight:700}.whois-value{color:var(--text);word-break:break-all;font-family:monospace;font-size:12px}.whois-channels{flex-wrap:wrap;gap:4px 8px;display:flex}.whois-channel-link{cursor:pointer;color:var(--accent);background:0 0;border:none;padding:0;font-family:monospace;font-size:12px}.whois-channel-link:hover{text-decoration:underline}.whois-channel-prefix{color:var(--text-muted);margin-right:1px}.channel-list-panel{background:var(--bg-surface);flex-direction:column;height:100%;display:flex;overflow:hidden}.channel-list-header{height:var(--topic-h);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:0 20px;display:flex}.channel-list-title{align-items:baseline;gap:10px;display:flex;overflow:hidden}.channel-list-title-main{color:var(--accent);white-space:nowrap;font-size:13px;font-weight:700}.channel-list-title-server{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-family:monospace;font-size:12px;overflow:hidden}.channel-list-count{color:var(--text-dim);white-space:nowrap;font-size:11px}.channel-list-refresh{background:var(--accent);border-radius:var(--radius);color:var(--on-accent);cursor:pointer;white-space:nowrap;border:none;flex-shrink:0;padding:5px 14px;font-size:12px;font-weight:700;transition:opacity .15s}.channel-list-refresh:hover:not(:disabled){opacity:.85}.channel-list-refresh:disabled{opacity:.45;cursor:not-allowed}.channel-list-loading,.channel-list-empty{color:var(--text-dim);flex:1;justify-content:center;align-items:center;font-size:13px;display:flex}.channel-list-search{border-bottom:1px solid var(--border);background:var(--bg-raised);flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;display:flex}.channel-list-search-icon{color:var(--text-dim);display:inline-flex}.channel-list-search-input{background:var(--bg);border:1px solid var(--border);min-width:0;color:var(--text);border-radius:6px;outline:none;flex:1;padding:6px 8px;font-size:13px}.channel-list-search-input:focus{border-color:var(--accent)}.channel-list-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;overflow-y:auto}.channel-list-colhead,.channel-list-row{grid-template-columns:minmax(120px,1.4fr) 64px minmax(0,3fr);align-items:center;gap:12px;padding:0 12px;display:grid}.channel-list-colhead{background:var(--bg-raised);border-bottom:1px solid var(--border);letter-spacing:.7px;text-transform:uppercase;height:30px;color:var(--text-dim);flex-shrink:0;font-size:10px;font-weight:700}.channel-list-row{cursor:pointer;border-bottom:1px solid var(--border);color:var(--text);box-sizing:border-box;font-size:12px}@media (hover:hover){.channel-list-row:hover{background:var(--bg-hover)}}.channel-list-col-name,.channel-list-col-topic{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.channel-list-col-users{text-align:right}.channel-list-row .channel-list-col-users{color:var(--text-muted);font-family:monospace}.channel-list-joined{color:var(--green);font-weight:700}.channel-list-no-topic{color:var(--text-dim)}@media (width<=480px){.channel-list-colhead,.channel-list-row{grid-template-columns:minmax(0,1fr) 52px}.channel-list-col-topic{display:none}}.channel-list-error{color:var(--yellow);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:24px;font-size:13px;display:flex}.channel-list-error-icon{font-size:28px}.msg-server-line{align-items:baseline;gap:10px;padding:2px 16px;font-size:13px;line-height:1.5;display:flex}.msg-server-line--error .msg-server-text{color:var(--text-error)}.msg-server-text{color:var(--text-muted);word-break:break-word;white-space:pre-wrap;flex:1}.auth-tabs{gap:4px;margin-bottom:20px;display:flex}.auth-tab{background:var(--bg-raised);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;flex:1;padding:8px;font-size:12px;font-weight:600;transition:background .15s,color .15s}.auth-tab.active{background:var(--accent-dim);color:var(--text);border-color:var(--accent-dim)}.auth-message{background:var(--bg-raised);border-radius:var(--radius);color:var(--text-muted);text-align:center;padding:14px;font-size:12px;line-height:1.7}.auth-error{color:var(--red);margin-top:4px;font-size:11px}.auth-link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.admin-stat-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-bottom:20px;display:grid}.admin-stat-card{background:var(--bg-raised);border-radius:var(--radius);text-align:center;padding:16px}.admin-stat-value{color:var(--accent);font-size:28px;font-weight:800}.admin-stat-card--warn .admin-stat-value{color:var(--red)}.admin-overview-subtitle{color:var(--text-muted);margin:4px 0 8px;font-size:12px;font-weight:700}.admin-overview-online{flex-wrap:wrap;gap:6px 14px;margin:0 0 6px;padding:0;font-size:13px;list-style:none;display:flex}.admin-overview-online li{align-items:center;gap:6px;display:inline-flex}.admin-stat-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-top:4px;font-size:10px}.admin-table{border-collapse:collapse;width:100%;font-size:12px}.admin-table th{text-align:left;border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:6px 10px;font-size:10px}.admin-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:8px 10px}.admin-user-cell{align-items:center;gap:8px;display:inline-flex}.admin-action-btn{border-radius:var(--radius-sm);border:1px solid var(--border-light);color:var(--text);cursor:pointer;background:0 0;padding:3px 10px;font-size:11px;transition:opacity .15s}.admin-action-btn:hover{opacity:.75}.admin-approve-btn{color:var(--green);border-color:var(--green)}.admin-reject-btn{color:var(--red);border-color:var(--red)}.admin-filter{background:var(--bg-raised);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text);padding:5px 8px;font-size:12px}@media (width<=640px){.admin-stat-grid{grid-template-columns:repeat(2,1fr)}.admin-stat-value{font-size:24px}.admin-table,.admin-att-table{white-space:nowrap;-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}}.sidebar-admin-btn{border:1px solid var(--accent-dim);border-radius:var(--radius-sm);width:100%;color:var(--accent);cursor:pointer;text-align:left;background:0 0;margin-top:4px;padding:6px 10px;font-size:11px;transition:background .15s;display:block}.sidebar-admin-btn:hover{background:var(--accent-dim);color:var(--text)}.setup-pwd-saved{color:var(--green);text-transform:uppercase;letter-spacing:.4px;margin-left:4px;font-size:10px;font-weight:600}.setup-actions{align-items:center;gap:8px;margin-top:4px;display:flex}.setup-secondary-btn{background:var(--bg-raised);border:1px solid var(--border-light);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;white-space:nowrap;padding:9px 14px;font-size:12px;font-weight:600;transition:background .15s,color .15s}.setup-secondary-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.setup-secondary-btn:disabled{opacity:.45;cursor:not-allowed}.setup-connect-btn--inline{flex:1}.setup-test-result{border-radius:var(--radius-sm);border:1px solid;padding:8px 10px;font-size:11px}.setup-test-result.ok{color:var(--green);border-color:var(--green);background:#4caf8014}.setup-test-result.fail{color:var(--red);border-color:var(--red);background:#f87c7c14}.sidebar-profile-username-row{align-items:center;gap:6px;min-width:0;display:flex}.sidebar-pro-chip{border:1px solid var(--accent-dim);color:var(--accent);letter-spacing:.6px;cursor:default;background:#7c9ef81f;border-radius:999px;flex:none;padding:1px 6px;font-size:9px;font-weight:700;line-height:1.4}.panel-backdrop{z-index:499;background:#0000008c;display:none;position:fixed;inset:0}@media (width<=767px){.app,.app.sidebar-closed,.app.userlist-open,.app.sidebar-closed.userlist-open{grid-template-columns:1fr!important}.panel-backdrop{display:block}.sidebar{z-index:500;height:100%;box-shadow:none;transition:transform .25s,box-shadow .25s;position:fixed;top:0;left:0;transform:translate(-100%);width:var(--sidebar-w)!important}.app:not(.sidebar-closed) .sidebar{transform:translate(0);box-shadow:4px 0 24px #0000008c}.app.sidebar-closed .sidebar-logo,.app.sidebar-closed .ws-dot,.app.sidebar-closed .sidebar-own-nick,.app.sidebar-closed .sidebar-profile,.app.sidebar-closed .sidebar-section,.app.sidebar-closed .sidebar-footer{display:revert}.app.sidebar-closed .sidebar-header{justify-content:flex-start;padding:10px 12px}.userlist{z-index:500;height:100%;box-shadow:none;transition:transform .25s,box-shadow .25s;position:fixed;top:0;right:0;transform:translate(100%);width:var(--userlist-w)!important}.app.userlist-open .userlist{transform:translate(0);box-shadow:-4px 0 24px #0000008c}}.topic-bar-center{flex:1;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.topic-bar-avatar{flex-shrink:0}.topic-bar-query-ident{align-items:baseline;gap:8px;min-width:0;display:flex;overflow:hidden}.topic-bar-query-title{color:var(--text);white-space:nowrap;flex-shrink:0;font-size:13px;font-weight:700}.topic-bar-query-mask{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:12px;overflow:hidden}.topic-bar-query-host{color:var(--text-dim)}@media (width<=560px){.topic-bar-query-ident{flex-direction:column;align-items:flex-start;gap:0}.topic-bar-query-mask{font-size:11px}}.topic-bar-menu{color:var(--text-dim);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;padding:2px 6px;font-size:16px;line-height:1;transition:color .1s,background .1s}.topic-bar-menu:hover{color:var(--text);background:var(--bg-hover)}.sidebar-item-icon{color:var(--text-dim);-webkit-user-select:none;user-select:none;flex-shrink:0;font-family:monospace;font-size:11px}.sidebar-item.active .sidebar-item-icon{color:var(--text-muted)}.sidebar-section-label-row{justify-content:space-between;align-items:center;padding:6px 10px 3px 14px;display:flex}.sidebar-section-label-row .sidebar-section-label{padding:0}.sidebar-section-add-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px;font-weight:300;line-height:1;transition:color .1s}.sidebar-section-add-btn:hover{color:var(--accent)}.userlist-search-input{background:var(--bg-raised);border:1px solid var(--border-light);border-radius:var(--radius-sm);min-width:0;color:var(--text);outline:none;flex:1;padding:5px 9px;font-family:inherit;font-size:12px;transition:border-color .15s}.userlist-search-input:focus{border-color:var(--accent-dim)}.userlist-search-input::placeholder{color:var(--text-dim);font-size:12px}.composer-btn-icon{height:34px;color:var(--text-dim);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0 6px;font-size:16px;line-height:1;transition:color .1s,background .1s;display:flex}.composer-btn-icon:hover:not(:disabled){color:var(--text-muted);background:var(--bg-hover)}.composer-btn-icon:disabled{opacity:.3;cursor:not-allowed}.topic-bar-menu.active{color:var(--text);background:var(--bg-hover)}.kebab-menu{z-index:600;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius);flex-direction:column;min-width:180px;padding:4px 0;display:flex;position:fixed;box-shadow:0 8px 28px #0000008c}.kebab-menu-item{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;padding:8px 16px;font-family:inherit;font-size:13px;transition:background .1s}@media (hover:hover){.kebab-menu-item:hover{background:var(--bg-hover)}}.kebab-menu-item--icon{align-items:center;gap:10px;display:flex}.kebab-menu-item--icon svg{color:var(--text-muted);flex-shrink:0}@media (hover:hover){.kebab-menu-item--icon:hover svg{color:var(--accent)}}.kebab-menu-item--icon:disabled{opacity:.5;cursor:default}.kebab-menu-item--icon:disabled:hover{background:0 0}.kebab-menu-item--icon:disabled:hover svg{color:var(--text-muted)}.kebab-menu-danger{color:var(--red)!important}@media (hover:hover){.kebab-menu-danger:hover{background:#f87c7c12!important}}.kebab-menu-sep{background:var(--border);height:1px;margin:3px 0}.topic-bar-flash{top:calc(var(--topic-h) + 12px);z-index:600;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius);max-width:min(90vw,420px);color:var(--text);text-align:center;padding:8px 14px;font-size:13px;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #0000008c}.composer-emoji-picker{z-index:300;position:fixed}.composer-format-menu{z-index:600;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius);flex-direction:column;gap:6px;width:224px;max-width:calc(100vw - 24px);max-height:60vh;padding:10px;display:flex;overflow-y:auto;box-shadow:0 8px 28px #0000008c}.composer-format-styles{gap:6px;display:flex}.composer-format-btn{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;flex:1;padding:6px 0;font-size:15px;transition:background .1s,border-color .1s}.composer-format-btn:hover{background:var(--bg-hover);border-color:var(--accent-dim)}.composer-format-label{color:var(--text-muted);margin-top:2px;font-size:11px}.composer-swatch-grid{grid-template-columns:repeat(9,1fr);gap:4px;display:grid}.composer-color-swatch{aspect-ratio:1;border:1px solid var(--border);cursor:pointer;border-radius:4px;width:100%;min-width:18px;min-height:18px;padding:0;transition:transform 50ms}.composer-color-swatch:hover{transform:scale(1.12)}.composer-color-swatch.sel{outline:2px solid var(--accent);outline-offset:1px}.composer-swatch-none{background:var(--bg-raised);color:var(--text-muted);justify-content:center;align-items:center;font-size:13px;line-height:1;display:flex}.composer-format-apply{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;margin-top:4px;padding:7px 0;font-family:inherit;font-size:13px}.composer-format-apply:disabled{background:var(--bg-raised);color:var(--text-dim);cursor:not-allowed}.composer-format-apply:hover:not(:disabled){opacity:.9}.composer-format-preview{color:var(--text);border-bottom:1px dashed var(--border);white-space:pre-wrap;word-break:break-word;max-height:4.5em;margin-bottom:4px;padding:3px 8px 6px;font-size:12px;overflow-y:auto}.composer-gif-picker{z-index:300;width:340px;max-height:min(420px, calc(100% - var(--media-picker-bottom,0px) - 12px - env(safe-area-inset-top,0px)));background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;flex-direction:column;padding:10px;display:flex;position:fixed;box-shadow:0 8px 28px #00000073}.gif-picker{flex-direction:column;flex:auto;min-height:0;display:flex}.gif-picker-search{box-sizing:border-box;border:1px solid var(--border);background:var(--bg-input);width:100%;color:var(--text);font:inherit;border-radius:8px;margin-bottom:8px;padding:8px 10px}.gif-picker-grid{flex:auto;align-items:flex-start;gap:6px;min-height:0;display:flex;overflow-y:auto}.gif-picker-col{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.gif-picker-item{background:var(--bg-soft,#7f7f7f1a);cursor:pointer;border:none;border-radius:6px;flex-shrink:0;min-width:0;padding:0;overflow:hidden}.gif-picker-item img{width:100%;height:auto;display:block}.gif-picker-msg{color:var(--text-dim);text-align:center;flex:1;padding:16px 8px;font-size:13px}.gif-picker-credit{border-top:1px solid var(--border);text-align:center;letter-spacing:.4px;color:var(--text-dim);margin-top:8px;padding-top:6px;font-size:11px;text-decoration:none;display:block}.gif-picker-credit:hover{color:var(--text)}.msg-avatar img,.user-avatar img,.sidebar-profile-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.msg-reactions{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.reaction-pill{border:1px solid var(--border);background:var(--bg-input);color:var(--text);cursor:pointer;border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:13px;transition:background .15s;display:inline-flex}.reaction-pill:hover{background:var(--hover)}.reaction-pill-own{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, transparent)}.msg-hover-bar{z-index:300;background:var(--bg-panel);border:1px solid var(--border);pointer-events:auto;overscroll-behavior-x:contain;scrollbar-width:none;border-radius:24px;align-items:center;gap:2px;max-width:calc(100vw - 32px);margin-top:-4px;padding:4px 6px;display:flex;position:absolute;top:0;right:16px;overflow-x:auto;transform:translateY(-100%);box-shadow:0 2px 10px #0000004d}.msg-hover-bar::-webkit-scrollbar{display:none}.msg-hover-bar.bar-below{margin-top:0;top:100%;transform:translateY(4px)}.msg-hover-emoji-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:20px;line-height:1;transition:transform .1s,background .1s;display:flex}.msg-hover-action-btn{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;line-height:1;transition:background .1s,color .1s;display:flex}.msg-hover-action-btn:hover,.msg-hover-action-btn[aria-expanded=true]{background:var(--hover);color:var(--text)}.msg-hover-action-btn--danger:hover{color:var(--red)}.reply-card{background:var(--hover);max-width:100%;color:var(--text-muted);cursor:pointer;text-align:left;border:none;border-radius:4px;align-items:center;gap:6px;margin:0 0 3px;padding:3px 8px;font-size:12px;display:flex;overflow:hidden}.reply-card:hover{background:var(--bg-input)}.reply-card-prefix{color:var(--text-muted);flex:none}.reply-card-author{color:var(--accent);font-weight:600}.reply-card-preview{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.reply-card-thumb{object-fit:cover;border-radius:3px;flex:none;width:22px;height:22px}@keyframes replyFlash{0%{background:color-mix(in srgb, var(--accent) 30%, transparent)}to{background:0 0}}.reply-target-flash{animation:1.6s ease-out replyFlash}.chat-nav-toast{z-index:50;background:var(--bg-input);border:1px solid var(--border);color:var(--text);border-radius:16px;padding:7px 14px;font-size:13px;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #00000040}.update-banner{top:calc(env(safe-area-inset-top,0px) + 10px);z-index:1000;background:var(--bg-input);border:1px solid var(--border);max-width:calc(100vw - 32px);color:var(--text);border-radius:16px;align-items:center;gap:12px;padding:7px 8px 7px 14px;font-size:13px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #00000040}.update-banner-btn{background:var(--accent);color:var(--on-accent);font:inherit;cursor:pointer;border:none;border-radius:12px;flex:none;padding:4px 12px;font-weight:600}.update-banner-btn:hover{filter:brightness(1.1)}.link-viewer{z-index:1100;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) var(--app-safe-area-bottom) env(safe-area-inset-left,0px);background:#05060af0;flex-direction:column;display:flex;position:fixed;inset:0}.link-viewer--page{background:var(--bg-base)}.link-viewer-bar{flex:none;justify-content:flex-end;padding:6px 8px;display:flex}.link-viewer-close{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:22px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.link-viewer--page .link-viewer-close{background:var(--bg-raised);color:var(--text)}.link-viewer-stage{flex:auto;justify-content:center;align-items:center;min-height:0;padding:0 8px 8px;display:flex;overflow:hidden}.link-viewer-img{object-fit:contain;cursor:zoom-in;max-width:100%;max-height:100%}.link-viewer-stage--full{-webkit-overflow-scrolling:touch;display:block;overflow:auto}.link-viewer-stage--full .link-viewer-img{cursor:zoom-out;max-width:none;max-height:none}.link-viewer-frame{background:var(--bg-base);border:none;flex:auto;width:100%;min-height:0}.mention-note-bar{border-left:2px solid var(--yellow)}.mention-note-open{min-width:0;font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:8px;padding:0;font-size:13px;display:flex}.mention-note-icon{color:var(--yellow);font-weight:700}.mention-note-bar--online{border-left-color:var(--green)}.mention-note-bar--online .mention-note-icon{color:var(--green)}.mention-note-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mention-note-more{color:var(--text-muted);flex:none;font-size:12px}.mention-note-open:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.composer-reply-bar{background:var(--hover);border-radius:4px;align-items:center;gap:8px;margin-bottom:6px;padding:5px 10px;display:flex}.composer-reply-info{min-width:0;color:var(--text-muted);flex:auto;align-items:center;gap:6px;font-size:12px;display:flex}.composer-reply-prefix{color:var(--text-muted);flex:none}.composer-reply-author{color:var(--accent);font-weight:600}.composer-reply-preview,.composer-reply-media{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.composer-reply-thumb{object-fit:cover;border-radius:4px;flex:none;width:30px;height:30px}.composer-reply-cancel{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex:none;padding:0 4px;font-size:18px;line-height:1}.composer-reply-cancel:hover{color:var(--text)}.composer-pending-bar{border-bottom:1px solid var(--border);background:var(--bg-panel);align-items:center;gap:10px;padding:6px 10px;display:flex}.composer-pending-thumb{object-fit:cover;border-radius:5px;flex-shrink:0;width:40px;height:40px}.composer-pending-info{flex-direction:column;flex:1;min-width:0;display:flex}.composer-pending-name{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.composer-pending-size{color:var(--text-muted);font-size:.76rem}.composer-pending-cancel{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px;display:flex}.composer-pending-cancel:hover:not(:disabled){color:var(--text)}.msg-hover-emoji-btn:hover{background:var(--hover);transform:scale(1.25)}.msg-hover-more-btn{border:1px solid var(--border);background:var(--bg-input);width:32px;height:32px;color:var(--text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:16px;line-height:1;transition:background .1s,color .1s;display:flex}.msg-hover-more-btn:hover{background:var(--hover);color:var(--text)}.msg-react-popover{z-index:700;background:var(--bg-panel);border:1px solid var(--border);scrollbar-width:none;border-radius:24px;align-items:center;gap:2px;max-width:calc(100vw - 12px);padding:4px 6px;display:flex;overflow-x:auto;box-shadow:0 4px 20px #0006}.msg-react-popover::-webkit-scrollbar{display:none}.msg-edited{color:var(--text-muted);margin-left:6px;font-size:11px}.msg-deleted,.reply-card-preview--deleted{color:var(--text-muted);font-style:italic}.msg-context-menu{z-index:700;background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;min-width:200px;max-width:calc(100vw - 12px);padding:6px;display:flex;box-shadow:0 4px 20px #0006}.msg-context-emojis{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:2px;margin-bottom:4px;padding-bottom:6px;display:flex}.msg-context-menu button[role=menuitem]{text-align:left;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:flex}.msg-context-menu button[role=menuitem]:hover{background:var(--hover)}.msg-context-menu .msg-context-danger{color:var(--red)}.msg-context-note{color:var(--text-muted);margin:4px 10px 2px;font-size:11px}.msg-hover-emojis{align-items:center;gap:2px;display:inline-flex}.composer-edit-label{color:var(--accent);font-weight:600}.composer-edit-note{color:var(--text-muted);margin-left:8px;font-size:11px}.emoji-picker-overlay{z-index:690;position:fixed;inset:0}.emoji-picker-full{z-index:700;background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;grid-template-columns:repeat(8,1fr);gap:2px;width:288px;padding:8px;display:grid;box-shadow:0 4px 20px #0006}.emoji-picker-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;line-height:1;transition:background .1s,transform .1s;display:flex}.emoji-picker-btn:hover{background:var(--hover);transform:scale(1.2)}.modal-overlay{z-index:500;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.avatar-upload-panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;width:320px;max-width:90vw;padding:20px}.avatar-upload-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.avatar-upload-header h3{margin:0;font-size:15px}.avatar-upload-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px}.avatar-upload-preview{justify-content:center;margin-bottom:16px;display:flex}.avatar-upload-error{color:var(--red);margin-bottom:8px;font-size:12px}.avatar-upload-actions{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.avatar-upload-hint{color:var(--text-muted);margin:0 0 12px;font-size:11px}.avatar-pack-section{border-top:1px solid var(--border);padding-top:12px}.avatar-pack-label{color:var(--text-muted);margin:0 0 8px;font-size:12px}.avatar-pack-grid{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px;display:grid}.avatar-pack-item{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:50%;width:52px;height:52px;padding:0;transition:border-color .15s;overflow:hidden}.avatar-pack-item:hover{border-color:var(--accent)}.avatar-pack-item img{object-fit:cover;width:100%;height:100%}.avatar-pack-admin-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;margin-top:8px;display:grid}.avatar-pack-admin-item{color:var(--text-muted);flex-direction:column;align-items:center;gap:4px;font-size:11px;display:flex}.avatar-pack-admin-item img{object-fit:cover;border:1px solid var(--border);border-radius:50%;width:52px;height:52px}.avatar-pack-admin-label{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:80px;overflow:hidden}.ignore-overlay{z-index:600;background:#0006;position:fixed;inset:0}.ignore-panel{z-index:601;background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:min(400px,92vw);max-height:70vh;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 32px #00000080}.ignore-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px 12px;font-size:15px;font-weight:600;display:flex}.ignore-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:20px;line-height:1}.ignore-close:hover{color:var(--text)}.ignore-body{flex:1;padding:8px 0;overflow-y:auto}.ignore-sync-error{color:var(--text-muted);margin:0 0 8px;font-size:12px}.ignore-empty{text-align:center;color:var(--text-dim);margin:0;padding:20px;font-size:13px}.ignore-list{margin:0;padding:0;list-style:none}.ignore-row{justify-content:space-between;align-items:center;gap:12px;padding:6px 16px;display:flex}@media (hover:hover){.ignore-row:hover{background:var(--bg-hover)}}.ignore-nick{color:var(--text);flex:1;font-family:monospace;font-size:14px}.ignore-remove-btn{border:1px solid var(--border);background:var(--bg-input);color:var(--error);cursor:pointer;border-radius:6px;flex-shrink:0;padding:3px 10px;font-size:12px}.ignore-remove-btn:hover{background:var(--hover)}.ignore-footer{border-top:1px solid var(--border);gap:8px;padding:10px 16px 14px;display:flex}.ignore-input{border:1px solid var(--border);background:var(--bg-input);color:var(--text);border-radius:8px;flex:1;padding:7px 10px;font-size:13px}.ignore-add-btn{background:var(--accent);color:var(--on-accent);cursor:pointer;border:none;border-radius:8px;padding:7px 14px;font-size:13px}.ignore-add-btn:hover{filter:brightness(1.1)}.client-empty{background:var(--bg-base);flex:1;justify-content:center;align-items:center;padding:32px 20px;display:flex}.client-empty-card{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius);text-align:center;flex-direction:column;gap:14px;width:100%;max-width:480px;padding:32px 28px;display:flex;box-shadow:0 12px 32px #00000059}.client-empty-card h2{color:var(--text-bright);margin:0;font-size:20px;font-weight:700}.client-empty-card p{color:var(--text-dim);margin:0;font-size:14px;line-height:1.5}.client-empty-card code{background:var(--bg-base);color:var(--accent);border-radius:4px;padding:1px 6px;font-size:13px}.client-empty-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:6px;display:flex}.setup-readonly-value{background:var(--bg-base);border:1px solid var(--border-light);color:var(--text-bright);border-radius:6px;padding:8px 10px;font-size:13px}.setup-readonly-value code{color:var(--accent);font-family:inherit;font-weight:600}.cs-section h3{text-transform:uppercase;letter-spacing:.04em;color:var(--text);margin:0 0 16px;font-size:13px;font-weight:700}.cs-search{box-sizing:border-box;background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-sm,6px);width:100%;color:var(--text);margin-bottom:14px;padding:8px 12px;font-size:13px}.cs-search:focus{border-color:var(--accent);outline:none}.cs-cmd-table-wrap{overflow-x:auto}.cs-cmd-table{border-collapse:collapse;width:100%;font-size:13px}.cs-cmd-table th{text-align:left;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);padding:6px 10px;font-size:11px}.cs-cmd-table td{border-bottom:1px solid var(--border);vertical-align:top;color:var(--text-muted);padding:7px 10px}.cs-cmd-usage{color:var(--accent);white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.cs-cmd-alias{color:var(--text-dim);white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.cs-cmd-desc{color:var(--text)}.cs-cmd-empty{text-align:center;color:var(--text-dim);padding:18px}.cs-field{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.cs-field-label{color:var(--text);font-size:13px}.cs-field-value{color:var(--text-dim);word-break:break-all;font-size:13px}.cs-hint{color:var(--text-dim);margin:2px 0 0;font-size:11px}.theme-picker{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px;max-width:560px;display:grid}.theme-picker-btn{appearance:none;background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);text-align:left;cursor:pointer;flex-direction:column;gap:6px;padding:6px;font-family:inherit;font-size:12px;transition:border-color .12s,color .12s;display:flex}.theme-picker-btn:hover{color:var(--text);border-color:var(--border-light)}.theme-picker-btn.active{color:var(--text);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.theme-picker-label{padding:0 2px 2px}.theme-swatch,.theme-swatch-split{border-radius:var(--radius-sm);border:1px solid var(--border);height:52px;display:flex;overflow:hidden}.theme-swatch-split .theme-swatch{border:none;border-radius:0;flex:1;height:auto}.theme-swatch-side{background:var(--bg-base);border-right:1px solid var(--border);width:28%}.theme-swatch-main{background:var(--bg-surface);flex-direction:column;flex:1;justify-content:center;gap:5px;padding:0 8px;display:flex}.theme-swatch-line{border-radius:2px;height:4px;display:block}.theme-swatch-line--text{background:var(--text);width:80%}.theme-swatch-line--muted{background:var(--text-muted);width:55%}.theme-swatch-pill{background:var(--accent);border-radius:4px;width:36%;height:8px;display:block}.cs-select{background:var(--bg-raised);border:1px solid var(--border-light);border-radius:var(--radius-sm);min-width:200px;max-width:100%;color:var(--text);outline:none;align-self:flex-start;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .15s}.cs-select:focus{border-color:var(--accent-dim)}.msg-bar-settings,.sound-settings{border-top:1px solid var(--border);max-width:640px;margin-top:32px;padding-top:24px}.sound-settings .cs-toggles{margin-top:12px}.admin-ws-page .cs-section{max-width:640px;margin-top:28px}.admin-ws-page .cs-section .cs-toggles{margin-top:12px}.notif-hint{font-size:.85em;display:block}.notif-help{margin:10px 0 0;line-height:1.5}.notif-list{flex-direction:column;gap:6px;margin:12px 0;padding:0;list-style:none;display:flex}.notif-list li{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.notif-list li>span{overflow-wrap:anywhere;min-width:0}.notif-keyword-form{gap:8px;margin:8px 0;display:flex}.notif-keyword-form input{flex:1;min-width:0}.sidebar-muted-icon{opacity:.6;align-items:center;margin-right:4px;display:inline-flex}.sound-settings .admin-ws-muted{margin:4px 0 8px}.msg-bar-settings h4.cs-field-label{margin:20px 0 8px;display:block}.msg-bar-settings .cs-toggles{margin-top:12px}.msg-bar-settings .admin-ws-muted{margin:4px 0 8px}.msg-bar-actions,.msg-bar-emojis{flex-direction:column;gap:2px;margin:0 0 12px;padding:0;list-style:none;display:flex}.msg-bar-actions li{border-radius:8px;align-items:center;gap:4px;padding:4px 8px;display:flex}.msg-bar-actions li:hover{background:var(--hover)}.msg-bar-actions label{cursor:pointer;flex:1;align-items:center;gap:8px;display:flex}.msg-bar-emojis{flex-flow:wrap;gap:8px}.msg-bar-emojis li{border:1px solid var(--border);background:var(--bg-input);border-radius:999px;align-items:center;gap:0;padding:2px 4px 2px 8px;display:flex}.msg-bar-emoji{margin-right:4px;font-size:20px;line-height:1}.msg-bar-actions button,.msg-bar-emojis button{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.msg-bar-actions button:hover:not(:disabled),.msg-bar-emojis button:hover:not(:disabled){background:var(--hover);color:var(--text)}.msg-bar-actions button:disabled,.msg-bar-emojis button:disabled{opacity:.3;cursor:default}.msg-bar-preview{margin:20px 0 16px}.msg-hover-bar--static{margin-top:8px;display:inline-flex;position:static;transform:none}.msg-bar-preview-emojis{letter-spacing:4px;padding:0 4px;font-size:18px}.msg-bar-settings .EmojiPickerReact{margin-top:8px}.cs-field-note{max-width:46ch;color:var(--text-muted);margin:0;font-size:11.5px;line-height:1.45}.cs-toggles{flex-direction:column;gap:14px;display:flex}@media (pointer:coarse){input[type=text],input[type=password],input[type=email],input[type=number],input[type=search],input:not([type]),textarea,.composer-input{font-size:16px}.msg-event-glyph,.msg-event-dot{display:none}.msg-event-text:before{content:"·";color:var(--text-muted);margin-right:8px}}.admin-ws{background:var(--bg-base);height:100dvh;color:var(--text);display:flex}.admin-ws-nav{background:var(--bg-surface);border-right:1px solid var(--border);flex-direction:column;flex:none;width:220px;display:flex}.admin-ws-nav-header{border-bottom:1px solid var(--border);padding:18px 16px 12px}.admin-ws-title{text-transform:uppercase;letter-spacing:.8px;color:var(--accent);font-size:13px;font-weight:800}.admin-ws-nav-links{flex-direction:column;flex:1;gap:2px;padding:10px 8px;display:flex;overflow-y:auto}.admin-ws-nav-link{border-radius:var(--radius-sm);color:var(--text-muted);padding:8px 10px;font-size:12.5px;font-weight:600;text-decoration:none;transition:background .12s,color .12s;display:block}@media (hover:hover){.admin-ws-nav-link:hover{background:var(--bg-raised);color:var(--text)}}.admin-ws-nav-link.active{background:var(--bg-raised);color:var(--accent)}.admin-ws-nav-link{justify-content:space-between;align-items:center;gap:8px;display:flex}.admin-ws-nav-badge{background:var(--yellow);min-width:18px;height:18px;color:var(--on-mention-badge);text-align:center;border-radius:9px;padding:0 6px;font-size:11px;font-weight:700;line-height:18px}.admin-ws-nav-footer{border-top:1px solid var(--border);padding:12px 8px}.admin-ws-back{border-radius:var(--radius-sm);color:var(--text-muted);align-items:center;gap:6px;padding:8px 10px;font-size:12.5px;font-weight:600;text-decoration:none;display:inline-flex}.admin-ws-back:hover{background:var(--bg-raised);color:var(--text)}.admin-ws-main{flex:1;min-width:0;overflow-y:auto}.admin-ws-page{max-width:860px;padding:24px 28px 40px}.admin-ws-page-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.admin-ws-page-title{margin:0 0 16px;font-size:18px;font-weight:800}.admin-ws-page-header .admin-ws-page-title{margin-bottom:0}.admin-ws-section-title{margin:26px 0 8px;font-size:13.5px;font-weight:700}.cs-danger-zone{border:1px dashed var(--red);border-radius:8px;margin-top:32px;padding:16px}.cs-danger-title{color:var(--red);margin-top:0}.cs-danger-btn{border-color:var(--red);color:var(--red)}.cs-danger-zone>.cs-danger-btn{margin-top:12px}.cs-danger-zone .cs-hint{margin-top:8px}.setup-connect-btn.cs-danger-btn{border:1px solid var(--red);color:var(--red);background:0 0}.setup-connect-btn.cs-danger-btn:hover:not(:disabled){opacity:1;box-shadow:inset 0 0 0 1px var(--red)}.setup-connect-btn.cs-danger-btn:disabled{border-color:var(--border);color:var(--text-dim)}.admin-ws-error{color:var(--red);margin-bottom:12px;font-size:12px}.admin-ws-ok{color:var(--green);align-items:center;gap:4px;margin-bottom:12px;font-size:12px;display:inline-flex}.admin-ws-muted{color:var(--text-muted);margin-bottom:10px;font-size:12px}.admin-ws-hint{margin:4px 0 16px;font-size:12.5px}.admin-ws-hint a{color:var(--accent)}.admin-activity-state--ok{color:var(--green)}.admin-activity-state--error{color:var(--red)}.admin-activity-state--muted{color:var(--text-muted)}.admin-activity-host{color:var(--text-muted);font-size:12px}.admin-ws-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.admin-ws-search,.admin-ws-input{background:var(--bg-input,var(--bg-base));border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text);min-width:0;padding:5px 10px;font-size:12px}.admin-ws-search{flex:1;max-width:320px}.admin-ws-input{flex:1;max-width:280px}.admin-ws-input-sm{flex:none;width:140px}.admin-ws-table-wrap{overflow-x:auto}.admin-ws-actions-row{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 4px;display:flex}.admin-ws-form{flex-direction:column;gap:16px;max-width:620px;margin-top:6px;display:flex}.admin-ws-form .setup-row{margin:0}.admin-ws-toggle-group{flex-direction:column;gap:10px;display:flex}.admin-ws-actions-cell{gap:6px;display:flex}.admin-ws-inline-label{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.admin-ws-detail-grid{grid-template-columns:140px 1fr;gap:6px 12px;margin:0 0 8px;font-size:12.5px;display:grid}.admin-ws-detail-grid dt{color:var(--text-muted)}.admin-ws-detail-grid dd{margin:0}.admin-ws-badge{text-transform:uppercase;letter-spacing:.4px;background:var(--bg-raised);color:var(--text-muted);border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:700;display:inline-block}.admin-ws-badge-active{color:var(--green)}.admin-ws-badge-pending{color:var(--yellow)}.admin-ws-badge-rejected,.admin-ws-badge-disabled,.admin-ws-badge-deletion_pending{color:var(--red)}.admin-ws-breadcrumb{color:var(--text-muted);align-items:center;gap:5px;margin-bottom:10px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.admin-ws-breadcrumb:hover{color:var(--text)}.admin-ws-linklike{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.admin-ws-audio{width:220px;max-width:100%}.admin-ws-thumb{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);width:56px;height:42px;display:block}.admin-ws-detail-cell{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}@media (width<=640px){.admin-ws{flex-direction:column}.admin-ws-nav{border-right:none;border-bottom:1px solid var(--border);flex-direction:row;align-items:center;width:100%}.admin-ws-nav-header{display:none}.admin-ws-nav-links{scrollbar-width:none;flex-direction:row;padding:8px;overflow:auto hidden}.admin-ws-nav-links::-webkit-scrollbar{display:none}.admin-ws-nav-link{white-space:nowrap}.admin-ws-nav-footer{border-top:none;flex:none;padding:8px}.admin-ws-back{white-space:nowrap}.admin-ws-page{padding:16px 14px 32px}.admin-ws-detail-grid{grid-template-columns:110px 1fr}}.auth-note{color:var(--text-muted);margin-top:6px;font-size:11px}.admin-ws-radio-group{flex-direction:column;gap:10px;margin:10px 0 4px;display:flex}.admin-ws-radio{cursor:pointer;align-items:flex-start;gap:10px;font-size:12.5px;display:flex}.admin-ws-radio input{flex:none;margin-top:3px}.admin-ws-radio span strong{display:inline-block}.admin-ws-radio span em{color:var(--text-muted);margin-top:2px;font-size:11.5px;font-style:normal;display:block}.admin-ws-form-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px 16px;max-width:640px;display:grid}.poll-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);max-width:440px;margin:6px 0;padding:12px 14px}.poll-card--loading{color:var(--text-muted);font-size:13px}.poll-card--page{max-width:none;margin-top:16px}.poll-card-head{align-items:baseline;gap:8px;display:flex}.poll-card-icon{font-size:15px;line-height:1}.poll-card-title{color:var(--text);word-break:break-word;font-weight:650}.poll-card-sub{color:var(--text-muted);margin-top:3px;font-size:11px}.poll-card-options{flex-direction:column;gap:6px;margin-top:10px;display:flex}.poll-option{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-input);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:8px;padding:8px 10px;display:flex;position:relative;overflow:hidden}.poll-option:disabled{cursor:default}.poll-option:not(:disabled):hover{border-color:var(--accent-dim)}.poll-option--selected{border-color:var(--accent)}.poll-option-fill{background:var(--accent-dim);opacity:.28;z-index:0;transition:width .3s;position:absolute;inset:0 auto 0 0}.poll-option-mark{z-index:1;border:1.5px solid var(--border);width:18px;height:18px;color:var(--on-accent);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:11px;line-height:1;display:flex;position:relative}.poll-option-mark--multi{border-radius:4px}.poll-option--selected .poll-option-mark{background:var(--accent);border-color:var(--accent)}.poll-option-text{z-index:1;word-break:break-word;flex:auto;position:relative}.poll-option-count{z-index:1;color:var(--text-muted);font-variant-numeric:tabular-nums;flex:none;font-size:12px;position:relative}.poll-card-foot{color:var(--text-muted);align-items:center;gap:10px;margin-top:10px;font-size:12px;display:flex}.poll-card-status{margin-left:auto}.poll-card-close-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;margin-left:auto;padding:4px 10px;font-size:12px}.poll-card-close-btn:hover{color:var(--text);border-color:var(--accent-dim)}.poll-card-foot .poll-card-status+.poll-card-close-btn{margin-left:0}.poll-modal-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.poll-modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:420px;max-height:90vh;padding:18px 18px 16px;overflow-y:auto}.poll-modal-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.poll-modal-title{color:var(--text);margin:0;font-size:16px}.poll-modal-x{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px}.poll-modal-x:hover{color:var(--text)}.poll-modal-label{color:var(--text-muted);margin:12px 0 5px;font-size:12px;display:block}.poll-modal-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);width:100%;color:var(--text);font:inherit;padding:8px 10px}.poll-modal-input:focus{border-color:var(--accent);outline:none}.poll-modal-options{flex-direction:column;gap:6px;display:flex}.poll-modal-option-row{align-items:center;gap:6px;display:flex}.poll-modal-option-del{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex:none;padding:4px}.poll-modal-option-del:hover{color:var(--red)}.poll-modal-add{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;margin-top:8px;padding:2px 0;font-size:13px}.poll-modal-toggle{color:var(--text);cursor:pointer;align-items:center;gap:8px;margin-top:14px;font-size:13px;display:flex}.poll-modal-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.poll-modal-cancel,.poll-modal-submit{border-radius:var(--radius-sm);font:inherit;cursor:pointer;padding:8px 14px;font-size:13px}.poll-modal-cancel{border:1px solid var(--border);color:var(--text-muted);background:0 0}.poll-modal-cancel:hover{color:var(--text)}.poll-modal-submit{background:var(--accent);border:1px solid var(--accent);color:var(--on-accent);font-weight:600}.poll-modal-submit:disabled{opacity:.5;cursor:default}.poll-page-card{max-width:480px}.game-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);max-width:320px;margin:6px 0;padding:12px 14px}.game-card--loading{color:var(--text-muted);font-size:13px}.game-card--page{max-width:none;margin-top:16px}.game-card-head{align-items:baseline;gap:8px;display:flex}.game-card-icon{font-size:15px;line-height:1}.game-card-title{color:var(--text);font-weight:650}.game-players{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.game-player{color:var(--text-muted);align-items:center;gap:6px;min-width:0;font-size:13px;display:flex}.game-player--turn{color:var(--text);font-weight:600}.game-player-nick{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-player-web,.game-player-you{color:var(--text-muted);font-size:11px;font-weight:400}.game-mark{justify-content:center;width:18px;font-weight:700;display:inline-flex}.game-mark--p0,.ttt-cell--p0{color:var(--accent)}.game-mark--p1,.ttt-cell--p1{color:var(--text)}.ttt-board{grid-template-columns:repeat(3,1fr);gap:4px;width:min(100%,216px);margin-top:10px;display:grid;container-type:inline-size}.game-card--page .ttt-board{width:min(100%,300px);margin-left:auto;margin-right:auto}.ttt-cell{aspect-ratio:1;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-input);min-width:0;font:inherit;cursor:pointer;font-size:max(28px,16cqw);font-weight:700;line-height:1}.ttt-cell:disabled{cursor:default}.ttt-cell:not(:disabled):hover{border-color:var(--accent-dim)}.ttt-cell--line{background:var(--accent-dim)}.game-status{flex-direction:column;gap:2px;margin-top:10px;display:flex}.game-status-main{color:var(--text);font-size:13px;font-weight:600}.game-status-detail{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px}.game-error{color:var(--danger,#e05252);margin:6px 0 0;font-size:12px}.game-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.game-actions:empty{display:none}.game-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font:inherit;cursor:pointer;background:0 0;padding:5px 12px;font-size:13px}.game-btn:hover:not(:disabled){border-color:var(--accent-dim)}.game-btn:disabled{opacity:.55;cursor:default}.game-btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.game-join{flex-wrap:wrap;align-items:center;gap:8px;width:100%;display:flex}.game-join-label{width:100%;color:var(--text-muted);font-size:12px}.game-join-input{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-input);min-width:0;color:var(--text);font:inherit;flex:140px;padding:6px 10px}.game-page-card{max-width:420px}.game-modal-fieldset{border:0;flex-direction:column;gap:6px;margin:0 0 8px;padding:0;display:flex}.game-modal-hint{color:var(--text-muted);margin:2px 0 8px;font-size:12px}.bs{flex-direction:column;gap:8px;width:100%;margin-top:10px;display:flex}.bs-grid-wrap{flex-direction:column;align-items:center;gap:4px;display:flex}.bs-grid-title{color:var(--text-muted);align-self:flex-start;font-size:12px}.bs-grid{gap:2px;width:min(100%,264px);display:grid;container-type:inline-size}.bs-cell{aspect-ratio:1;border:1px solid var(--border-light);background:var(--bg-input);min-width:0;color:var(--text);font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:3px;padding:0;font-size:max(11px,7cqw);font-weight:700;line-height:1}.bs-cell:disabled{cursor:default}.bs-cell:not(:disabled):hover{border-color:var(--accent-dim)}.bs-cell--ship{background:var(--accent-dim)}.bs-cell--water{color:var(--text-muted)}.bs-cell--hit{color:var(--danger,#e05252)}.bs-cell--sunk{background:var(--accent-dim);color:var(--danger,#e05252)}.bs-cell--selected{outline:2px solid var(--accent);outline-offset:-2px}.bs-hint{color:var(--text-muted);margin:0;font-size:12px}.bs-tools{flex-wrap:wrap;gap:8px;display:flex}.bs-tabs{gap:6px;display:flex}.bs-tab{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;padding:4px 10px;font-size:12px}.bs-tab--on{color:var(--text);border-color:var(--accent)}.bs--full .bs-grid{width:min(100%,360px)}.bs-fx{animation-duration:.42s;animation-timing-function:ease-out;animation-fill-mode:both;position:relative}.bs-fx--splash{animation-name:bs-splash;animation-duration:.6s}.bs-fx--hit{z-index:1;animation-name:bs-hit}.bs-fx--sunk{z-index:1;animation-name:bs-sunk;animation-duration:.52s}.bs-fx--wash{animation-name:bs-wash;animation-duration:.3s}.bs-grid--own .bs-fx--hit{animation-name:bs-shake;animation-duration:.45s}.bs-tab--alert{animation:.6s ease-in-out 2 bs-tab-alert}@keyframes bs-splash{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 75%, transparent)}to{box-shadow:0 0 0 9px #0000}}@keyframes bs-hit{0%{background-color:var(--danger,#e05252);color:var(--text);transform:scale(1.4)}to{transform:none}}@keyframes bs-sunk{0%{transform:none}45%{background-color:var(--danger,#e05252);color:var(--text);transform:scale(1.22)}to{transform:none}}@keyframes bs-wash{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}@keyframes bs-shake{0%,to{transform:none}15%{background-color:var(--danger,#e05252);transform:translate(-3px)}35%{transform:translate(3px)}55%{transform:translate(-2px)}75%{transform:translate(2px)}}@keyframes bs-tab-alert{50%{border-color:var(--danger,#e05252);color:var(--danger,#e05252)}}@keyframes bs-flash{0%{background-color:var(--danger,#e05252)}}@keyframes bs-fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.bs-fx--splash,.bs-fx--hit,.bs-fx--sunk,.bs-grid--own .bs-fx--hit{animation-name:bs-flash}.bs-fx--splash,.bs-fx--wash{animation-name:bs-fade}}.game-card--fullscreen .game-board-area{container-name:gameboard}.game-card--fullscreen .bs{justify-content:center;height:100%;margin-top:0}.game-card--fullscreen .bs--full .bs-grid{width:min(100cqw,50cqh - 40px)}.game-card--fullscreen .bs--setup .bs-grid{width:min(100cqw,100cqh - 120px)}@container gameboard (aspect-ratio>=1){.bs--full{flex-direction:row;justify-content:center;align-items:center}.game-card--fullscreen .bs--full .bs-grid{width:min(50cqw - 12px,100cqh - 30px)}}.pz{--pz-bg:#0d1822;--pz-bg2:#182a3a;--pz-edge:#2e4b63;--pz-text:#d7e6f2;--pz-muted:#7f98ad;--pz-glow:#63d4ff;--pz-gold:#f2c14e;--pz-red:#e0524f;--pz-deck1:#3aa65e;--pz-deck2:#1d6b37;--pz-plus1:#3f7fe0;--pz-plus2:#1f4c9a;--pz-minus1:#db4b4b;--pz-minus2:#8f2323;width:100%;color:var(--pz-text);background:radial-gradient(120% 90% at 50% 0%, var(--pz-bg2), var(--pz-bg));border:1px solid var(--pz-edge);border-radius:10px;flex-direction:column;gap:10px;margin-top:10px;padding:10px;display:flex;box-shadow:inset 0 0 0 1px #ffffff0a,inset 0 0 24px #63d4ff0f}.pz-tables{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.pz-side{border:1px solid var(--pz-edge);background:#00000038;border-radius:8px;flex-direction:column;gap:6px;min-width:0;padding:8px;transition:box-shadow .2s;display:flex;position:relative}.pz-side--active{box-shadow:0 0 0 1px var(--pz-glow), 0 0 14px #63d4ff59}.pz-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 6px;min-width:0;display:grid}.pz-head .pz-name{grid-column:1/-1}.pz-head .pz-lights{grid-area:2/1}.pz-head .pz-stand-tag{grid-area:3/1;justify-self:start}.pz-head .pz-total{grid-area:2/2/span 2}.pz-name{overflow-wrap:anywhere;min-width:0;color:var(--pz-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;line-height:1.25}.pz-lights{gap:3px;display:inline-flex}.pz-light{border:1px solid var(--pz-edge);background:#1a2632;border-radius:50%;width:8px;height:8px}.pz-light--on{background:var(--pz-gold);border-color:var(--pz-gold);box-shadow:0 0 6px var(--pz-gold)}.pz-total{border:2px solid var(--pz-glow);width:32px;height:32px;color:var(--pz-glow);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-size:15px;font-weight:800;display:inline-grid;box-shadow:0 0 10px #63d4ff59}.pz-total--max{border-color:var(--pz-gold);color:var(--pz-gold);box-shadow:0 0 10px #f2c14e73}.pz-total--bust{border-color:var(--pz-red);color:var(--pz-red);box-shadow:0 0 10px #e0524f73}.pz-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid;container-type:inline-size}.pz-slot{aspect-ratio:2/3;background:#00000040;border:1px dashed #7f98ad59;border-radius:5px}.pz-card{aspect-ratio:2/3;min-width:0;font:inherit;color:#fff;-webkit-user-select:none;user-select:none;border:1px solid #ffffff2e;border-radius:5px;place-items:center;padding:0;font-weight:800;display:grid;position:relative;box-shadow:inset 0 0 0 2px #00000040}.pz-face{text-shadow:0 1px 2px #0009;font-size:max(12px,9cqw)}.pz-card--deck{background:linear-gradient(160deg, var(--pz-deck1), var(--pz-deck2))}.pz-card--plus{background:linear-gradient(160deg, var(--pz-plus1), var(--pz-plus2))}.pz-card--minus{background:linear-gradient(160deg, var(--pz-minus1), var(--pz-minus2))}.pz-card--pm{background:linear-gradient(135deg, var(--pz-plus1) 0 50%, var(--pz-minus1) 50% 100%)}.pz-card--back{border-color:var(--pz-edge);background:repeating-linear-gradient(45deg,#1b2a38 0 4px,#142230 4px 8px)}.pz-card--used{filter:grayscale(.85)brightness(.6)}.pz-card--picked{outline:2px solid var(--pz-gold);outline-offset:1px;box-shadow:0 0 10px #f2c14e80}button.pz-card{cursor:pointer}button.pz-card:disabled{cursor:default;opacity:.55}button.pz-card:not(:disabled):hover{filter:brightness(1.12)}.pz-stand-tag{background:var(--pz-gold);color:#1b1300;text-transform:uppercase;letter-spacing:.08em;border-radius:3px;padding:1px 4px;font-size:9px;font-weight:800}.pz-summary{text-align:center;color:var(--pz-gold);margin:0;font-size:13px}.pz-hands{flex-direction:column;gap:6px;display:flex}.pz-hand{grid-template-columns:repeat(4,minmax(0,60px));justify-content:center;gap:6px;display:grid;container-type:inline-size}.pz-hand--other{grid-template-columns:repeat(4,24px);justify-content:end;gap:3px}.pz-hand--other .pz-face{font-size:10px}.pz-hand .pz-face{font-size:15px}.pz-hand-slot{display:grid;position:relative}.pz-signs{z-index:2;gap:4px;display:flex;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}.pz-sign{border:1px solid var(--pz-glow);background:var(--pz-bg);color:var(--pz-text);font:inherit;cursor:pointer;border-radius:4px;padding:4px 8px;font-weight:800}.pz-offer{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid;container-type:inline-size}.pz-offer .pz-face{font-size:max(13px,6cqw)}.pz-hint{color:var(--pz-muted);margin:0;font-size:12px}.pz-actions{justify-content:center;align-items:center;gap:8px;display:flex}.pz-picked{color:var(--pz-muted);font-variant-numeric:tabular-nums;font-size:12px}.pz-btn{text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--pz-edge);color:var(--pz-text);background:linear-gradient(#24384b,#16232f);font-size:12px}.pz-btn:not(:disabled):hover{border-color:var(--pz-glow)}.pz-btn--stand:not(:disabled){border-color:var(--pz-gold);color:var(--pz-gold)}.pz-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pz-fx{animation:.25s ease-out both pz-deal}@keyframes pz-deal{0%{opacity:0;transform:translateY(-30%)scale(.85)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.pz-fx{animation-name:pz-fade}}@keyframes pz-fade{0%{opacity:0}}.game-card--fullscreen .pz{flex-shrink:0;width:min(100%,560px,130cqh - 299px);min-width:min(100%,260px);margin:0 auto}.game-card--fullscreen .game-board-area:has(>.pz){align-items:safe center;overflow-y:auto}.game-fullscreen-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;margin-left:auto;padding:2px 8px;font-size:14px;line-height:1.2}.game-fullscreen-btn:hover{color:var(--text);border-color:var(--accent-dim)}.game-fullscreen-panel{width:560px;height:90%;overflow:hidden}.game-fullscreen-body{flex:1;min-height:0;padding:14px 18px 18px;display:flex}.game-card--fullscreen{background:0 0;border:0;flex-direction:column;flex:1;min-width:0;max-width:none;min-height:0;margin:0;padding:0;display:flex}.game-card--fullscreen .game-players{margin-top:0}.game-card--fullscreen .game-board-area{flex:1;justify-content:center;align-items:center;min-height:120px;margin-top:10px;display:flex;container-type:size}.game-card--fullscreen .ttt-board{gap:6px;width:min(100cqw,100cqh);margin:0}.game-card--fullscreen .game-status-main{font-size:15px}.game-card--fullscreen .game-btn{padding:8px 16px;font-size:14px}@media (width<=767px){.settings-overlay.game-fullscreen-overlay{padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) var(--app-safe-area-bottom) env(safe-area-inset-left,0px)}.game-fullscreen-panel{border:0;border-radius:0;width:100%;height:100%;max-height:100%}.game-card--page .ttt-board{width:100%}}.radio-logo{border-radius:var(--radius-sm);object-fit:contain;background:var(--bg-panel);border:1px solid var(--border);flex-shrink:0}.radio-logo--fallback{letter-spacing:.5px;color:var(--text-dim);background:var(--bg-panel);justify-content:center;align-items:center;font-family:monospace;font-weight:700;display:inline-flex}.radio-current{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);flex-wrap:wrap;align-items:center;gap:14px;max-width:620px;padding:14px;display:flex}.radio-current-info{flex-direction:column;flex:1;gap:3px;min-width:140px;display:flex}.radio-current-name{color:var(--text);font-size:15px;font-weight:700}.radio-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;max-width:860px;display:grid}.radio-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);flex-wrap:wrap;align-items:center;gap:10px;padding:12px;display:flex}.radio-card--current{border-color:var(--accent)}.radio-card-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.radio-card-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.radio-card-actions{flex-wrap:wrap;gap:6px;width:100%;display:flex}.radio-logo-editor{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.radio-stream-cell{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:220px;display:inline-block;overflow:hidden}.radio-row-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.auth-consent{opacity:.85;cursor:pointer;align-items:flex-start;gap:9px;margin:4px 0 12px;font-size:12px;line-height:1.45;display:flex}.auth-consent input{flex-shrink:0;margin-top:2px}.auth-consent a{text-decoration:underline}.att-usage{margin:14px 0 22px}.att-usage-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.att-usage-figure{font-size:1.02rem;font-weight:600}.att-usage-bar{background:var(--border);border-radius:4px;height:7px;margin-bottom:5px;overflow:hidden}.att-usage-fill{background:var(--accent);height:100%;transition:width .2s}.att-usage-fill--full{background:var(--red)}.att-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-top:12px;display:grid}.att-card{border:1px solid var(--border);border-radius:8px;align-items:center;gap:10px;padding:9px;display:flex}.att-card-media{background:var(--bg-panel);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex;overflow:hidden}.att-card-media img{object-fit:cover;width:100%;height:100%}.att-card-audio{color:var(--text-muted);display:flex}.att-card-info{flex-direction:column;flex:1;min-width:0;font-size:.82rem;display:flex}.att-card-where{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-news{width:100%;font:inherit;text-align:left;color:inherit;background:0 0;border:none;border-left:2px solid #0000}.sidebar-news:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.sidebar-install{padding-right:4px}.sidebar-install-main{min-width:0;font:inherit;text-align:left;color:inherit;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:6px;padding:0;text-decoration:none;display:flex}.sidebar-install-dismiss{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;place-items:center;padding:0;display:grid}.sidebar-install-main:focus-visible,.sidebar-install-dismiss:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.announcements-panel{width:520px}.announcements-body{flex-direction:column;gap:22px;padding:18px 20px;display:flex}.announcements-state{color:var(--text-muted);flex-direction:column;align-items:flex-start;gap:12px;margin:0;font-size:13px;display:flex}.announcements-group{flex-direction:column;gap:10px;display:flex}.announcements-version{letter-spacing:.6px;text-transform:uppercase;color:var(--text-dim);align-items:baseline;gap:8px;margin:0;font-size:11px;font-weight:700;display:flex}.announcements-date{text-transform:none;letter-spacing:0;font-weight:400}.announcements-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.announcements-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);align-items:baseline;gap:8px;padding:10px 12px;display:flex}.announcements-new{background:var(--yellow);color:var(--on-mention-badge);text-transform:uppercase;letter-spacing:.4px;border-radius:99px;flex-shrink:0;padding:1px 7px;font-size:10px;font-weight:700}.announcements-text{color:var(--text);font-size:13px;line-height:1.5}.announcements-build{border-top:1px solid var(--border);color:var(--text-dim);flex-shrink:0;margin:0;padding:10px 20px 14px;font-family:monospace;font-size:11px}@media (width<=520px){.announcements-body{gap:18px;padding:14px 16px}.announcements-build{padding:10px 16px 12px}}.report-dialog{width:440px}.report-body{flex-direction:column;gap:14px;padding:18px 20px;font-size:13px;display:flex}.report-intro{color:var(--text-muted);margin:0}.report-reasons{border:0;gap:8px;margin:0;padding:0;display:grid}.report-reasons legend{margin-bottom:6px;font-weight:600}.report-reasons label{cursor:pointer;align-items:center;gap:8px;display:flex}.report-note{flex-direction:column;gap:6px;display:flex}.report-note textarea{box-sizing:border-box;resize:vertical;width:100%;font:inherit;border-radius:var(--radius);border:1px solid var(--border-light);color:var(--text);background:0 0;padding:8px}.report-error{color:var(--danger,#e05252);margin:0}.report-actions{justify-content:flex-end;gap:10px;display:flex}.report-actions .settings-reconnect-btn{flex:0 auto;padding:10px 16px}.inline-media-report{right:30px}.poll-card-report{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;text-decoration:underline}.buffer-settings-panel{width:440px}.buffer-settings-panel .settings-title{text-transform:none;letter-spacing:normal}.buffer-settings-body{flex-direction:column;gap:14px;padding:18px 20px;font-size:13px;display:flex}.buffer-settings-row{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.buffer-settings-row input{flex-shrink:0;margin-top:2px}.buffer-settings-row input:disabled{cursor:not-allowed}.buffer-settings-row input:disabled+.buffer-settings-text{opacity:.6}.buffer-settings-text{flex-direction:column;gap:2px;min-width:0;display:flex}.buffer-settings-label{font-weight:600}.buffer-settings-hint,.buffer-settings-note{color:var(--text-muted)}.buffer-settings-note{margin:0}.buffer-settings-error{color:var(--danger,#e05252);margin:0}.admin-report-card{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;margin:12px 0;padding:12px 14px;font-size:12.5px;display:flex}.admin-report-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-report-kind{text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:700}.admin-report-owner,.admin-report-notes-title{margin:0}.admin-report-notes-title{font-size:12px;font-weight:600}.admin-report-reasons,.admin-report-notes{margin:0;padding-left:18px}.admin-report-notes li{white-space:pre-wrap;overflow-wrap:anywhere}.admin-report-poll ul{margin:4px 0 0;padding-left:18px}.feedback-form{flex-direction:column;gap:14px;max-width:640px;display:flex}.feedback-field{flex-direction:column;gap:6px;font-size:12.5px;display:flex}.feedback-field>span:first-child{font-weight:700}.feedback-field select,.feedback-field textarea{font:inherit;color:var(--text);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;font-size:13px}.feedback-field textarea{resize:vertical;min-height:120px}.feedback-field .admin-ws-muted{margin-bottom:0}.feedback-preview{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.feedback-preview img,.feedback-shot img{border:1px solid var(--border);border-radius:var(--radius-sm);object-fit:contain;max-width:min(240px,100%);max-height:180px;display:block}.feedback-shot{align-self:flex-start;display:inline-block}.feedback-premium-check{align-items:flex-start;gap:8px;font-size:13px;display:flex}.feedback-premium-check input{margin-top:2px}.feedback-premium-status{border-left:2px solid var(--accent);background:var(--bg-raised);border-radius:0 var(--radius-sm) var(--radius-sm) 0;max-width:640px;margin:0 0 16px;padding:6px 10px;font-size:12.5px}.feedback-card{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;max-width:760px;margin:12px 0;padding:12px 14px;font-size:12.5px;display:flex}.feedback-card-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.feedback-card-head .admin-ws-muted{margin-bottom:0}.feedback-chip{text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:700}.feedback-status{border:1px solid var(--border-light);color:var(--text-muted);border-radius:999px;padding:1px 8px;font-size:11px}.feedback-status--received{border-color:var(--accent);color:var(--accent)}.feedback-status--resolved{border-color:var(--green);color:var(--green)}.feedback-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.5}.feedback-premium-request{color:var(--accent);font-weight:700}.feedback-filters{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.feedback-filters .admin-action-btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.snippet-pre .hljs-keyword,.snippet-pre .hljs-selector-tag,.snippet-pre .hljs-literal,.snippet-pre .hljs-section,.snippet-pre .hljs-link{color:var(--accent)}.snippet-pre .hljs-string,.snippet-pre .hljs-regexp,.snippet-pre .hljs-addition,.snippet-pre .hljs-attribute{color:var(--green)}.snippet-pre .hljs-number,.snippet-pre .hljs-symbol,.snippet-pre .hljs-bullet,.snippet-pre .hljs-variable,.snippet-pre .hljs-template-variable{color:var(--amber)}.snippet-pre .hljs-title,.snippet-pre .hljs-name,.snippet-pre .hljs-selector-id,.snippet-pre .hljs-selector-class{color:var(--yellow)}.snippet-pre .hljs-comment,.snippet-pre .hljs-quote,.snippet-pre .hljs-meta{color:var(--text-dim);font-style:italic}.snippet-pre .hljs-built_in,.snippet-pre .hljs-type,.snippet-pre .hljs-attr,.snippet-pre .hljs-tag,.snippet-pre .hljs-params{color:var(--text-muted)}.snippet-pre .hljs-deletion{color:var(--red)}.snippet-pre .hljs-emphasis{font-style:italic}.snippet-pre .hljs-strong{font-weight:650}.snippet-page-card{width:100%;max-width:960px}.snippet-view{text-align:left;flex-direction:column;gap:10px;min-width:0;display:flex}.snippet-head{flex-direction:column;gap:6px;display:flex}.snippet-title{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:17px;font-weight:650}.snippet-sub{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:12px;display:flex}.snippet-lang{color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 5px;font-size:11px}.snippet-actions{flex-wrap:wrap;gap:8px;display:flex}.snippet-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text);font:inherit;cursor:pointer;align-items:center;gap:5px;padding:5px 10px;font-size:13px;display:inline-flex}.snippet-btn:hover{background:var(--bg-hover)}.snippet-status,.snippet-note{color:var(--text-muted);margin:0}.snippet-note{font-size:12px}.snippet-code{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-base);align-items:flex-start;min-width:0;display:flex;overflow-x:auto}.snippet-gutter,.snippet-pre{white-space:pre;margin:0;padding:10px 12px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:13px;line-height:1.5}.snippet-gutter{text-align:right;color:var(--text-dim);-webkit-user-select:none;user-select:none;border-right:1px solid var(--border);background:var(--bg-base);flex-shrink:0;position:sticky;left:0}.snippet-pre{min-width:0;color:var(--text);tab-size:4;flex:1}.link-viewer-snippet{flex:auto;min-height:0;padding:0 16px 16px;overflow:auto}.snippet-card{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);width:100%;max-width:520px;color:var(--text);cursor:pointer;font:inherit;flex-direction:column;gap:6px;margin:6px 0;padding:10px 12px;display:flex}.snippet-card:hover{border-color:var(--border-light)}.snippet-card--loading{color:var(--text-muted);cursor:default;font-size:13px}.snippet-card-head{align-items:center;gap:6px;min-width:0;display:flex}.snippet-card-title{text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.snippet-card-lines{border-radius:var(--radius-sm);background:var(--bg-base);white-space:pre;color:var(--text);margin:0;padding:6px 8px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px;line-height:1.45;overflow:hidden}.snippet-card-foot{color:var(--text-muted);font-size:11px}.composer-multiline-bar{border-bottom:1px solid var(--border);background:var(--bg-panel);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;padding:6px 10px;font-size:13px;display:flex}.composer-multiline-hint{color:var(--text-muted);font-size:12px}.composer-multiline-actions{flex-wrap:wrap;gap:6px;display:flex}.composer-multiline-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text);font:inherit;cursor:pointer;padding:4px 10px}.composer-multiline-btn--primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.composer-multiline-btn:disabled{opacity:.6;cursor:default}.poll-modal.snippet-modal{max-width:640px}.snippet-modal-text{resize:vertical;white-space:pre;overflow-wrap:normal;min-height:180px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px;overflow-x:auto}.snippet-modal-size{color:var(--text-muted);text-align:right;margin-top:4px;font-size:11px}.snippet-modal-size--over{color:var(--error)}.snippet-modal-error{color:var(--error);margin:10px 0 0;font-size:12px}.att-card-snippet{flex-direction:column;align-items:center;gap:4px;max-width:100%}.att-card-snippet-title{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;overflow:hidden}.admin-snippet-preview{flex-direction:column;gap:4px;max-width:420px;display:flex}.admin-snippet-preview a{align-items:center;gap:5px;display:inline-flex}.admin-snippet-lines{border-radius:var(--radius-sm);background:var(--bg-base);white-space:pre;margin:0;padding:6px 8px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px;overflow:hidden}.channel-central-panel{width:620px}.channel-central-panel .settings-title{text-transform:none;letter-spacing:normal}.channel-central-tabs,.channel-central-subtabs{flex-wrap:wrap;gap:4px;display:flex}.channel-central-tabs{border-bottom:1px solid var(--border);flex-shrink:0;padding:10px 20px 0}.channel-central-tab,.channel-central-subtab{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:8px 12px;font-size:13px}.channel-central-tab{border-bottom:2px solid #0000;margin-bottom:-1px}.channel-central-tab.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.channel-central-subtab{border:1px solid var(--border);border-radius:999px;padding:5px 12px}.channel-central-subtab.active{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.channel-central-body{flex-direction:column;gap:12px;padding:16px 20px 20px;font-size:13px;display:flex}.channel-central-section{flex-direction:column;gap:12px;min-width:0;display:flex}.channel-central-note,.channel-central-hint{color:var(--text-muted);margin:0}.channel-central-note{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-hover);padding:8px 12px}.channel-central-label,.channel-central-heading{margin:0;font-size:13px;font-weight:600}.channel-central-heading{margin-top:6px}.channel-central-topic,.channel-central-history,.channel-central-filter,.channel-central-field input{box-sizing:border-box;background:var(--bg-input,var(--bg));border:1px solid var(--border-light);border-radius:var(--radius);width:100%;color:var(--text);font:inherit;padding:8px 10px;font-size:13px}.channel-central-topic{resize:vertical;min-height:64px}.channel-central-preview{border:1px dashed var(--border);border-radius:var(--radius);overflow-wrap:anywhere;padding:8px 10px}.channel-central-modes{flex-direction:column;gap:10px;display:flex}.channel-central-letter{color:var(--text-dim);margin-left:4px;font-size:11px;font-weight:400}.channel-central-params{grid-template-columns:1fr 1fr;gap:12px;display:grid}.channel-central-field{flex-direction:column;gap:6px;font-weight:600;display:flex}.channel-central-letters{flex-wrap:wrap;gap:6px 14px;display:flex}.channel-central-letter-toggle{cursor:pointer;align-items:center;gap:4px;display:inline-flex}.channel-central-params-ro{margin:0;padding-left:18px}.channel-central-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.channel-central-apply,.channel-central-add{flex:none;padding:9px 18px}.channel-central-toolbar{align-items:center;gap:8px;display:flex}.channel-central-toolbar .settings-save-btn{white-space:nowrap;align-items:center;gap:6px;padding:8px 12px;display:inline-flex}.channel-central-remove{align-self:flex-start}.channel-central-table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.channel-central-table{border-collapse:collapse;width:100%}.channel-central-table th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);padding:8px 10px;font-size:12px;font-weight:600}.channel-central-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:7px 10px}.channel-central-table tr:last-child td{border-bottom:none}@media (hover:hover){.channel-central-table tbody tr:hover td{background:var(--bg-hover)}}.channel-central-check{width:28px}.channel-central-mask{font-family:var(--font-mono,monospace);overflow-wrap:anywhere;min-width:12ch}.channel-central-dim{color:var(--text-muted)}.channel-central-nowrap{white-space:nowrap}.channel-central-info{flex-direction:column;margin:0;display:flex}.channel-central-info-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(120px,40%) 1fr;gap:12px;padding:8px 0;display:grid}.channel-central-info-row:last-child{border-bottom:none}.channel-central-info dt{color:var(--text-muted)}.channel-central-info dd{overflow-wrap:anywhere;margin:0}@media (width<=520px){.channel-central-tabs{padding:8px 16px 0}.channel-central-body{padding:14px 16px 16px}.channel-central-params{grid-template-columns:1fr}}.channel-central-topic-head{justify-content:space-between;align-items:center;display:flex}.channel-central-format{box-shadow:none;align-self:flex-start;max-height:none}.sidebar-friends{width:100%;font:inherit;text-align:left;color:inherit;background:0 0;border:none;border-left:2px solid #0000}.sidebar-friends:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.sidebar-friends-count{color:var(--green);font-size:12px;font-weight:700}.friends-count{color:var(--green);margin-left:6px;font-weight:700}.friends-count--muted{color:var(--text-muted,inherit);opacity:.7}.friends-search{background:var(--bg-raised);border:1px solid var(--border-light);border-radius:var(--radius-sm);width:100%;color:var(--text);font:inherit;margin:4px 0 12px;padding:7px 10px}.friends-banner{margin:0 0 8px}.friends-footnote{margin-top:18px;font-size:12px}.friends-list{margin:0;padding:0;list-style:none}.friends-row{border-bottom:1px solid var(--border-light);align-items:center;gap:4px;display:flex}.friends-row-main{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:10px;padding:8px 4px;display:flex}.friends-row-text{flex-direction:column;min-width:0;display:flex}.friends-row-nick{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.friends-row-sub{opacity:.75;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.friends-row--offline .friends-row-nick,.friends-row--unknown .friends-row-nick,.friends-row--overflow .friends-row-nick,.friends-row--unsupported .friends-row-nick{opacity:.7}.friends-icon-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:inherit;cursor:pointer;opacity:.8;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.friends-icon-btn:hover{background:var(--bg-raised);opacity:1}.friends-icon-btn:disabled,.friends-card .admin-action-btn:disabled{opacity:.35;cursor:default;background:0 0}.friends-avatar{flex-shrink:0;display:inline-flex;position:relative}.friends-dot{border:2px solid var(--bg,#171a23);background:var(--border-light);border-radius:50%;width:10px;height:10px;position:absolute;bottom:-2px;right:-2px}.friends-avatar--big .friends-dot{width:14px;height:14px}.friends-dot--online{background:var(--green)}.friends-dot--away{background:var(--amber)}.friends-add{margin-bottom:16px}.friends-add-hint{color:var(--text-muted);margin:0 0 10px;font-size:13px}.friends-add-fields{flex-wrap:wrap;gap:10px;margin-bottom:8px;display:flex}.friends-field{flex-direction:column;flex:1;gap:4px;min-width:160px;font-size:12px;display:flex}.friends-field input,.friends-field select,.friends-note{background:var(--bg-raised);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text);font:inherit;padding:6px 8px;font-size:13px}.friends-card-back{cursor:pointer;font:inherit;background:0 0;border:none;margin-bottom:12px}.friends-card-head{align-items:center;gap:14px;margin-bottom:14px;display:flex}.friends-card-nick{font-size:18px;font-weight:800}.friends-card-rows{grid-template-columns:max-content 1fr;gap:8px 16px;margin:16px 0;font-size:13px;display:grid}.friends-card-rows dt{opacity:.7}.friends-card-rows dd{min-width:0;margin:0}.friends-uses-due{vertical-align:middle;border:1px solid var(--accent);color:var(--accent);letter-spacing:.02em;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:700;line-height:1;display:inline-block}.friends-common{margin:16px 0}.friends-common-title{opacity:.7;margin:0 0 6px;font-size:13px;font-weight:700}.friends-common-none{opacity:.7;margin:0;font-size:13px}.friends-common-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.friends-common-chan{font:inherit;border:1px solid var(--border);color:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:4px 10px;font-size:13px}.friends-common-chan:hover{background:#7f7f7f1f}.friends-note{width:100%}.friends-remove{color:var(--red);cursor:pointer;font:inherit;background:0 0;border:none;padding:0}button.admin-ws-nav-link{text-align:left;cursor:pointer;border:none;width:100%;font-family:inherit}button.admin-ws-nav-link:not(.active){background:0 0}.chat-deferred-state{color:var(--text-muted)}.composer-deferred-bar--unavailable{opacity:.85}.composer-deferred-error{color:var(--error);margin-left:8px}.msg-written{margin-left:6px}.friends-deferred-count{font-weight:600}.status-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px;display:inline-block}.status-dot--available{background:var(--green)}.status-dot--away{background:var(--amber)}.sidebar-status-btn{text-align:left;cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;flex:1;padding:0}.sidebar-status-btn:disabled{cursor:default}.sidebar-status-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.sidebar-status-line{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.status-popover{z-index:700;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex;box-shadow:0 8px 24px #00000059}.status-popover-title{color:var(--text);margin:0 0 2px;font-size:13px;font-weight:600}.status-popover-option{color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.status-popover-message{box-sizing:border-box;border:1px solid var(--border);background:var(--bg-input);width:100%;color:var(--text);font:inherit;border-radius:6px;padding:6px 8px;font-size:13px}.status-popover-hint{color:var(--text-muted);margin:0;font-size:11px}.status-popover-actions{justify-content:flex-end;gap:8px;display:flex}.cs-auto-away{margin-top:12px}.cs-auto-away .cs-hint{margin:0 0 10px}.avatar-status-wrap{flex-shrink:0;display:inline-flex;position:relative}.avatar-status-dot{border:2px solid var(--bg-base);box-sizing:border-box;position:absolute;bottom:-1px;right:-1px}.status-dot--offline{background:var(--text-dim)}
