:root{--ui-scale: 1;--space-1: calc(4px * var(--ui-scale));--space-2: calc(8px * var(--ui-scale));--space-3: calc(12px * var(--ui-scale));--space-4: calc(16px * var(--ui-scale));--space-5: calc(20px * var(--ui-scale));--space-6: calc(24px * var(--ui-scale));--text-xs: calc(11px * var(--ui-scale));--text-sm: calc(13px * var(--ui-scale));--text-md: calc(14px * var(--ui-scale));--text-lg: calc(18px * var(--ui-scale));--icon-size: calc(20px * var(--ui-scale));--ui-unit: var(--ui-scale);--control-height: calc(40px * var(--ui-scale));--bg: #1a1b26;--bg-rgb: 26 27 38;--bg-alt: #24253a;--bg-card: #2a2b3d;--bg-hover: #32344a;--bg-panel: #24283b;--video-bg: #16161e;--fg: #c0caf5;--fg-mid: #a9b1d6;--fg-dim: #6b6f8c;--fg-dimmer: #565f89;--danger: #f7768e;--danger-hover: #ff8ea3;--danger-rgb: 247 118 142;--success: #9ece6a;--warning: #e0af68;--border: #3b3d54;--border-strong: #414868;--on-accent: #111;--code-bg: rgba(0, 0, 0, .25);--accent-violet: #bb9af7;--accent-blue: #7aa2f7;--accent-cyan: #7dcfff;--accent-green: #9ece6a;--accent-orange: #ff9e64;--accent-red: #f7768e;--accent-pink: #ff007f;--accent: var(--accent-blue);--accent-hover: #89b2ff;--accent-rgb: 122 162 247;--radius: 8px;--radius-lg: 12px;--shadow: 0 4px 24px rgba(0, 0, 0, .3);--font: "Segoe UI", system-ui, -apple-system, sans-serif}[data-theme=light]{--bg: #e1e2e7;--bg-rgb: 225 226 231;--bg-alt: #d4d7e3;--bg-card: #c9cddf;--bg-hover: #bfc3d6;--bg-panel: #f0f1f7;--fg: #333650;--fg-mid: #50618f;--fg-dim: #6172b0;--fg-dimmer: #7f8cb9;--danger: #f52a65;--danger-hover: #d92459;--danger-rgb: 245 42 101;--success: #587539;--warning: #b15c00;--border: #b9bdd0;--border-strong: #9ba1bd;--on-accent: #ffffff;--code-bg: rgba(0, 0, 0, .07);--accent-violet: #7847bd;--accent-blue: #2e7de9;--accent-cyan: #007197;--accent-green: #587539;--accent-orange: #b15c00;--accent-red: #f52a65;--accent-pink: #d20065;--accent: var(--accent-blue);--accent-hover: #1f6fce;--accent-rgb: 46 125 233;--shadow: 0 4px 24px rgba(60, 65, 100, .25)}[data-accent=violet]{--accent: var(--accent-violet);--accent-hover: #cab4f9;--accent-rgb: 187 154 247}[data-accent=blue]{--accent: var(--accent-blue);--accent-hover: #89b2ff;--accent-rgb: 122 162 247}[data-accent=cyan]{--accent: var(--accent-cyan);--accent-hover: #9dd8ff;--accent-rgb: 125 207 255}[data-accent=green]{--accent: var(--accent-green);--accent-hover: #aed884;--accent-rgb: 158 206 106}[data-accent=orange]{--accent: var(--accent-orange);--accent-hover: #ffb383;--accent-rgb: 255 158 100}[data-accent=red]{--accent: var(--accent-red);--accent-hover: #ff8ea3;--accent-rgb: 247 118 142}[data-accent=pink]{--accent: var(--accent-pink);--accent-hover: #ff3399;--accent-rgb: 255 0 127}[data-theme=light][data-accent=violet]{--accent-hover: #6a3fa8;--accent-rgb: 120 71 189}[data-theme=light][data-accent=blue]{--accent-hover: #1f6fce;--accent-rgb: 46 125 233}[data-theme=light][data-accent=cyan]{--accent-hover: #006084;--accent-rgb: 0 113 151}[data-theme=light][data-accent=green]{--accent-hover: #4d6631;--accent-rgb: 88 117 57}[data-theme=light][data-accent=orange]{--accent-hover: #9a5000;--accent-rgb: 177 92 0}[data-theme=light][data-accent=red]{--accent-hover: #d92459;--accent-rgb: 245 42 101}[data-theme=light][data-accent=pink]{--accent-hover: #b80059;--accent-rgb: 210 0 101}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}body{font-family:var(--font);background:var(--bg);color:var(--fg);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-height);padding:var(--space-2) var(--space-5);border:1px solid transparent;border-radius:2px;font-size:var(--text-md);font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s,opacity .15s,transform .08s;line-height:1}.btn:hover:not(:disabled){box-shadow:0 1px 3px #00000038}.btn:active:not(:disabled){transform:translateY(1px) scale(.99);box-shadow:none}.btn:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){:root{--control-height: max(44px, calc(40px * var(--ui-scale)))}}.btn--primary{background:var(--accent);color:var(--on-accent)}.btn--primary:hover:not(:disabled){background:var(--accent-hover)}.btn--secondary{background:var(--bg-hover);color:var(--fg);border:1px solid var(--border)}.btn--secondary:hover:not(:disabled){background:var(--bg-card)}.btn--danger{background:transparent;color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent)}button{font:inherit}.btn--danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 12%,transparent);border-color:var(--danger)}@media(prefers-reduced-motion:reduce){.btn,button{transition-duration:.01ms!important}}.input-group{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-3)}.input-label{font-size:var(--text-sm);font-weight:500;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.04em}.input{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);min-height:var(--control-height);padding:var(--space-2) var(--space-3);color:var(--fg);font-size:var(--text-md);outline:none;transition:border-color .15s;width:100%}.input:focus{border-color:var(--accent)}.input::placeholder{color:var(--fg-dim);opacity:.6}.btn{font-size:var(--text-md)}.btn svg{width:var(--icon-size);height:var(--icon-size);flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.input-group{gap:var(--space-1);margin-bottom:var(--space-3)}.input-label{font-size:var(--text-sm)}.input{font-size:var(--text-md)}.modal{padding:var(--space-5)}.modal__title{font-size:var(--text-lg);margin-bottom:var(--space-4)}.modal__actions{gap:var(--space-2);margin-top:var(--space-4)}.icon-btn{width:max(32px,calc(32px * var(--ui-scale)));height:max(32px,calc(32px * var(--ui-scale)));font-size:var(--icon-size)}.error-banner__close svg{width:var(--icon-size);height:var(--icon-size);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.spinner{width:var(--icon-size);height:var(--icon-size)}.badge{padding:var(--space-1) var(--space-2);font-size:var(--text-xs)}.input--file{padding:var(--space-2)}.input--error{border-color:var(--danger)}.file-name{font-size:var(--text-xs);color:var(--success);margin-top:calc(-1 * var(--space-2))}.spinner{display:inline-block;width:var(--icon-size);height:var(--icon-size);border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite}.spinner--large{width:calc(32px * var(--ui-scale));height:calc(32px * var(--ui-scale));border-width:3px}@keyframes spin{to{transform:rotate(360deg)}}.error-banner{display:flex;align-items:center;justify-content:space-between;background:rgb(var(--danger-rgb) / .15);border:1px solid var(--danger);color:var(--danger);padding:var(--space-3) var(--space-4);border-radius:var(--radius);font-size:var(--text-sm);margin-bottom:var(--space-3)}.error-banner__close{background:transparent;border:1px solid transparent;color:var(--danger);cursor:pointer;font-size:var(--icon-size);padding:var(--space-1) var(--space-2);border-radius:var(--radius);transition:background .15s,transform .08s}.error-banner__close:hover{background:rgb(var(--danger-rgb) / .12)}.error-banner__close:active{transform:translateY(1px) scale(.96)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--space-4);padding-top:calc(var(--space-4) + env(safe-area-inset-top,0px));padding-right:calc(var(--space-4) + env(safe-area-inset-right,0px));padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));padding-left:calc(var(--space-4) + env(safe-area-inset-left,0px))}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);width:min(calc(380px * var(--ui-scale)),100%);max-width:90vw;box-shadow:var(--shadow);max-height:85vh;max-height:min(85dvh,100%);overflow-y:auto}.modal__title{font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-4)}.modal__actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-4)}.auth-screen{display:flex;align-items:center;justify-content:center;min-height:100%;padding:var(--space-5);background:linear-gradient(135deg,var(--bg) 0%,var(--bg-alt) 100%)}.auth-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:calc(var(--space-6) * 1.5) calc(var(--space-6) * 1.5);width:min(calc(380px * var(--ui-scale)),100%);max-width:100%;box-shadow:var(--shadow)}.auth-title{font-size:calc(26px * var(--ui-scale));font-weight:800;text-align:center;margin-bottom:var(--space-2)}.auth-subtitle{font-size:var(--text-md);color:var(--fg-dim);text-align:center;margin-bottom:calc(var(--space-6) * 1.2)}.auth-note{font-size:var(--text-sm);color:var(--fg-dim);text-align:center;margin-bottom:var(--space-5);line-height:1.6}.auth-form{display:flex;flex-direction:column}.auth-buttons{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-1)}.auth-buttons .btn{width:100%;padding:var(--space-3);font-size:var(--text-md)}.success-text{color:var(--success);font-weight:600}.chat{display:flex;height:100vh;height:var(--app-height, 100dvh);width:100vw;overflow:hidden}.chat__sidebar{width:280px;min-width:280px;background:var(--bg-alt);border-right:1px solid var(--border);display:flex;flex-direction:column}.chat__main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.chat__header{position:relative;flex:none;padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background:var(--bg)}.chat__header h2{font-size:var(--text-lg);font-weight:700}.chat__header-dm{display:flex;align-items:center;gap:var(--space-2);min-width:0}.chat__header-avatar{flex:none}.chat__header-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat__input{flex:none;padding:var(--space-3) var(--space-5);border-top:1px solid var(--border);display:flex;gap:var(--space-2);background:var(--bg)}.chat__main>.error-banner{flex:none}.chat__input-field{flex:1;resize:none;font-family:inherit;line-height:1.5;min-height:var(--control-height);max-height:calc(160px * var(--ui-scale));overflow-y:auto}.chat__input .btn{white-space:nowrap}.chat__emoji-toggle{min-height:var(--control-height);padding:var(--space-2) var(--space-3)}.chat__emoji-toggle--active{border-color:var(--accent);color:var(--accent)}.conn-badge{font-size:var(--text-xs);font-weight:500}.conn-badge--connected{color:var(--success)}.conn-badge--connecting{color:var(--warning)}.conn-badge--disconnected{color:var(--danger)}.room-list{display:flex;flex-direction:column;height:100%}.room-list__header{padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.room-list__title{font-size:var(--text-md);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-dim)}.room-list__actions{display:flex;gap:var(--space-1);flex-wrap:wrap}.room-list__action{min-height:calc(36px * var(--ui-scale));padding:var(--space-2) var(--space-2);gap:var(--space-1);font-size:var(--text-xs);white-space:nowrap}.room-list__action{border-radius:2px}.room-list__action-icon{display:inline-grid;place-items:center}.room-list__action-icon svg,.room-list__toggle-icon svg{width:var(--icon-size);height:var(--icon-size);fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.directory__room-meta svg,.directory__room-ro svg{width:var(--icon-size);height:var(--icon-size);vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.icon-btn{background:none;border:1px solid transparent;color:var(--fg-dim);font-size:var(--icon-size);width:max(32px,calc(32px * var(--ui-scale)));height:max(32px,calc(32px * var(--ui-scale)));border-radius:var(--radius);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s,transform .08s;line-height:1}.icon-btn:hover{background:var(--bg-hover);color:var(--fg)}.icon-btn--accent{color:var(--accent)}.icon-btn--accent:hover{background:rgb(var(--accent-rgb) / .15);color:var(--accent-hover)}.room-list__body{flex:1;overflow-y:auto;padding:var(--space-2)}.room-list__empty{color:var(--fg-dim);text-align:center;padding:var(--space-6) var(--space-3);font-size:var(--text-md)}.room-item{width:100%;text-align:left;background:none;border:none;border-radius:var(--radius);padding:var(--space-3);color:var(--fg);cursor:pointer;display:flex;flex-direction:column;gap:var(--space-1);transition:background .15s;margin-bottom:var(--space-1)}.room-item:hover{background:var(--bg-hover)}.room-item--active{background:rgb(var(--accent-rgb) / .12)}.room-item--mentioned{background:rgb(var(--accent-rgb) / .14);box-shadow:inset 3px 0 0 var(--accent)}.room-item__row{display:flex;align-items:center;gap:var(--space-2);min-width:0}.room-item__name{font-size:var(--text-md);font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-item__host{flex:none;font-size:var(--text-xs);font-weight:600;color:var(--accent);background:rgb(var(--accent-rgb) / .15);border-radius:6px;padding:var(--space-1) var(--space-2);white-space:nowrap}.room-item__badge{flex:none;margin-left:auto;min-width:calc(18px * var(--ui-scale));height:calc(18px * var(--ui-scale));padding:0 var(--space-1);border-radius:9px;background:var(--accent);color:var(--on-accent);font-size:var(--text-xs);font-weight:700;display:flex;align-items:center;justify-content:center}.room-item__topic{font-size:var(--text-xs);color:var(--fg-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-item__members{font-size:var(--text-xs);color:var(--fg-dim)}.room-item__meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-1)}.room-item__time{flex:none;font-size:var(--text-xs);color:var(--fg-dim);opacity:.8}.room-list__footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border)}.user-chip{font-size:var(--text-sm);font-weight:600;color:var(--accent)}.messages-wrap{position:relative;flex:1 1 0;min-height:0;display:flex;flex-direction:column}.messages{flex:1;min-height:0;overflow-y:auto;padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);overflow-anchor:auto}.messages__jump{position:absolute;right:var(--space-4);bottom:var(--space-4);width:max(44px,calc(44px * var(--ui-scale)));height:max(44px,calc(44px * var(--ui-scale)));border-radius:50%;border:1px solid var(--border);background:var(--bg-card);color:var(--fg);font-size:var(--icon-size);line-height:1;cursor:pointer;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;z-index:10;transition:background .15s}.messages__jump:hover{background:var(--bg-hover)}.messages--empty{justify-content:center;align-items:center}.messages__empty{text-align:center;color:var(--fg-dim);font-size:var(--text-md);padding:var(--space-6)}.welcome-block{text-align:center;max-width:min(420px,90%)}.welcome-title{font-size:calc(24px * var(--ui-scale));font-weight:700;margin-bottom:var(--space-3)}.welcome-text{font-size:var(--text-md);color:var(--fg-dim);line-height:1.6}.message{display:flex;flex-direction:column;max-width:70%;margin-bottom:var(--space-1)}.message--mine{align-self:flex-end}.message--theirs{align-self:flex-start}.message__meta{display:flex;gap:var(--space-2);align-items:center;margin-bottom:var(--space-1);padding:0 var(--space-1)}.message__author{padding:0;border:0;background:transparent;font-size:var(--text-xs);font-weight:600;color:var(--fg-dim);cursor:pointer}.header-menu-toggle{display:none}.header-menu{display:flex;align-items:center;gap:var(--space-1)}.header-menu-toggle svg{width:var(--icon-size);height:var(--icon-size);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.topbar-action{width:auto;height:auto;min-width:calc(58px * var(--ui-scale));min-height:max(48px,calc(48px * var(--ui-scale)));padding:var(--space-1) var(--space-2);display:inline-flex;flex-direction:column;justify-content:center;gap:var(--space-1);border-radius:2px;color:var(--fg-mid)}.topbar-action__icon{display:grid;place-items:center;height:24px}.topbar-action__icon svg{width:var(--icon-size);height:var(--icon-size);fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.topbar-action__label{font-size:var(--text-xs);line-height:1.15;white-space:nowrap}.topbar-action:hover{background:var(--bg-hover);color:var(--fg)}.message__author:hover:not(:disabled){color:var(--accent);text-decoration:underline}.message__author:disabled{cursor:default}.message__author--remote{color:var(--accent-hover);opacity:.85}.bot-badge{display:inline-grid;place-items:center;flex:none;margin-left:4px;color:var(--accent)}.bot-badge svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.message__time{font-size:var(--text-xs);color:var(--fg-dim);opacity:.7}.message__bubble{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-md);line-height:1.5;word-wrap:break-word;overflow-wrap:break-word}.message--mine .message__bubble{background:var(--bg-panel);color:var(--fg);border:1px solid rgb(var(--accent-rgb) / .24);box-shadow:0 1px 8px rgb(var(--accent-rgb) / .12);border-bottom-right-radius:4px}.message--theirs .message__bubble{background:var(--bg-card);border:1px solid var(--border);border-bottom-left-radius:4px}.message__bubble h1{font-size:1.3em;font-weight:700;line-height:1.3;margin:var(--space-2) 0 var(--space-1)}.message__bubble h2{font-size:1.2em;font-weight:700;line-height:1.3;margin:var(--space-2) 0 var(--space-1)}.message__bubble h3{font-size:1.1em;font-weight:700;line-height:1.35;margin:var(--space-1) 0}.message__bubble code{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.92em;background:var(--code-bg);border-radius:4px;padding:var(--space-1)}.message__bubble pre{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius);min-height:calc(36px * var(--ui-scale));padding:var(--space-2) var(--space-3);margin:var(--space-2) 0;overflow-x:auto;max-width:100%}.message__bubble pre code{background:none;padding:0;font-size:.92em;white-space:pre}.message__bubble blockquote{border-left:3px solid var(--border);padding-left:var(--space-3);margin:var(--space-1) 0;color:var(--fg-dim)}.message__bubble ul,.message__bubble ol{margin:var(--space-1) 0;padding-left:20px}.message__bubble li{margin:0}.message__bubble hr{border:none;border-top:1px solid var(--border);margin:var(--space-2) 0}.message__bubble a{color:var(--accent);text-decoration:underline;word-break:break-all}.message__bubble .mention{color:var(--accent);font-weight:600}.message__bubble .mention--me{background:rgb(var(--accent-rgb) / .25);border-radius:4px;padding:0 var(--space-1)}.message__bubble .mention--group{color:var(--accent-hover);background:rgb(var(--accent-rgb) / .16);border-radius:4px;padding:0 var(--space-1)}.message--theirs.message--mentioned .message__bubble{background:rgb(var(--accent-rgb) / .12);border-color:rgb(var(--accent-rgb) / .45)}.room-list__section{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border)}.room-list__body>.room-list__section:first-child{margin-top:var(--space-1);padding-top:2px;border-top:none}.room-list__section-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1) var(--space-2) var(--space-2)}.room-list__section-header .room-list__title{font-size:var(--text-sm)}.room-list__empty--dm{padding:var(--space-3);font-size:var(--text-sm)}.dm-item{position:relative;width:100%;text-align:left;background:none;border:none;border-radius:var(--radius);padding:var(--space-3);color:var(--fg);cursor:pointer;display:flex;flex-direction:column;gap:var(--space-1);transition:background .15s;margin-bottom:var(--space-1)}.dm-item:hover{background:var(--bg-hover)}.dm-item--active{background:rgb(var(--accent-rgb) / .12)}.dm-item__name{font-size:var(--text-md);font-weight:600;color:var(--accent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-item__name-row{display:flex;align-items:center;gap:var(--space-2);min-width:0}.dm-item__online{width:var(--space-2);height:var(--space-2);border-radius:50%;background:var(--fg-dim);flex:none}.dm-item__online--on{background:var(--success);box-shadow:0 0 6px var(--success)}.dm-item__time{flex:none;margin-left:auto;font-size:var(--text-xs);color:var(--fg-dim);opacity:.8}.dm-item__host{flex:none;font-size:var(--text-xs);font-weight:600;color:var(--accent);background:rgb(var(--accent-rgb) / .15);border-radius:6px;padding:var(--space-1) var(--space-2);white-space:nowrap}.dm-item__preview{font-size:var(--text-xs);color:var(--fg-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:22px}.dm-item__badge{position:absolute;right:10px;bottom:10px;min-width:calc(18px * var(--ui-scale));height:calc(18px * var(--ui-scale));padding:0 var(--space-1);border-radius:9px;background:var(--accent);color:var(--on-accent);font-size:var(--text-xs);font-weight:700;display:flex;align-items:center;justify-content:center}.modal__hint{font-size:var(--text-xs);color:var(--fg-dim);margin-top:calc(-1 * var(--space-2))}.modal__hint--error{color:var(--danger)}.checkbox-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--fg);cursor:pointer;margin:var(--space-1) 0;-webkit-user-select:none;user-select:none}.checkbox-row input{accent-color:var(--accent);width:max(15px,calc(15px * var(--ui-scale)));height:max(15px,calc(15px * var(--ui-scale)));margin:0;cursor:pointer;flex:none}.directory{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:var(--space-2)}.directory__title{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-dim)}.directory__actions{display:flex;justify-content:flex-end}.directory__empty{font-size:var(--text-xs);color:var(--fg-dim);text-align:center;padding:var(--space-2) 0}.directory__room{display:flex;flex-direction:column;gap:var(--space-1);width:100%;text-align:left;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-2) var(--space-3);color:var(--fg);cursor:pointer;transition:background .15s}.directory__room:hover{background:var(--bg-hover)}.directory__room-row{display:flex;align-items:center;gap:var(--space-2)}.directory__room-name{font-weight:700;font-size:var(--text-sm);color:var(--accent)}.directory__room-ro{font-size:var(--text-xs)}.directory__room-topic{font-size:var(--text-xs);color:var(--fg-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.directory__room-meta{font-size:var(--text-xs);color:var(--fg-dim)}.dm-resolve{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3)}.dm-resolve__status{font-size:var(--text-sm);color:var(--fg-dim)}.dm-resolve__status--ok{color:var(--success);font-weight:600}.dm-resolve__status--miss{color:var(--fg-dim)}.dm-resolve__status--down{color:var(--danger)}.contacts-modal{width:min(calc(460px * var(--ui-scale)),calc(100vw - 2 * var(--space-4)))}.contacts-list{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.contacts-list__empty{font-size:var(--text-sm);color:var(--fg-dim);text-align:center;padding:var(--space-5) var(--space-2)}.contact-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-alt)}.contact-item__body{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.contact-item__name{font-size:var(--text-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-item__address{font-size:var(--text-xs);color:var(--fg-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-item__rename{display:flex;align-items:center;gap:var(--space-2);flex:1}.contact-item__rename-input{flex:1;min-width:0;padding:var(--space-1) var(--space-2);font-size:var(--text-sm)}.contact-item__actions{display:flex;gap:var(--space-1);flex:none}.contacts-add{display:flex;flex-direction:column;gap:var(--space-2);padding-top:14px;border-top:1px solid var(--border)}.contacts-add__title{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-dim)}.contacts-add__actions{display:flex;justify-content:flex-end}.notices{text-align:center;padding:var(--space-1) 0}.notice{display:inline-block;font-size:var(--text-xs);color:var(--fg-dim);background:var(--bg-alt);padding:var(--space-1) var(--space-3);border-radius:10px;margin:var(--space-1) 0}.chat__back{flex:none;margin-right:var(--space-1)}.room-list__pwa{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-2)}.room-list__toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);background:none;border:1px solid transparent;border-radius:var(--radius);padding:var(--space-2) var(--space-3);color:var(--fg);font-size:var(--text-sm);cursor:pointer;text-align:left;transition:background .15s}.room-list__toggle:hover:not(:disabled){background:var(--bg-hover)}@media(max-width:480px){.contact-item{flex-wrap:wrap}.contact-item__actions{margin-left:auto}.settings-segment{max-width:100%}.settings-segment__btn{padding-inline:var(--space-2)}}.room-list__toggle-icon{display:inline-grid;place-items:center;flex:none;color:var(--fg-dim)}.room-list__toggle>span:nth-child(2){flex:1}.room-list__toggle:disabled{cursor:default;color:var(--fg-dim)}.room-list__toggle--on .room-list__toggle-state{color:var(--success)}.room-list__toggle-state{font-size:var(--text-xs);color:var(--fg-dim);white-space:nowrap}.room-list__hint{font-size:var(--text-xs);color:var(--fg-dim);line-height:1.5;background:var(--bg-alt);border-radius:var(--radius);padding:var(--space-2) var(--space-3)}.bot-list-modal{width:min(calc(380px * var(--ui-scale)),calc(100vw - 2 * var(--space-4)))}.bot-list__body{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.bot-list__item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-alt)}.bot-list__name{font-size:var(--text-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bot-list__username{font-size:var(--text-xs);color:var(--fg-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bot-token{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3) 0}.bot-token__warning{font-size:var(--text-md);font-weight:600;color:var(--danger);text-align:center}.bot-token__code-row{display:flex;align-items:center;gap:var(--space-3)}.bot-token__code{flex:1;font-size:var(--text-sm);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-2) var(--space-3);overflow-x:auto;white-space:nowrap;-webkit-user-select:all;user-select:all}.bot-invite-modal{width:min(calc(380px * var(--ui-scale)),calc(100vw - 2 * var(--space-4)))}.bot-invite__list{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.bot-invite__item{display:flex;flex-direction:column;gap:1px;width:100%;text-align:left;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-2) var(--space-3);color:var(--fg);cursor:pointer;transition:background .15s}.bot-invite__item:hover:not(:disabled){background:var(--bg-hover)}.bot-invite__item:disabled{opacity:.5;cursor:default}.bot-invite__name{font-size:var(--text-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bot-invite__username{font-size:var(--text-xs);color:var(--fg-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat__header-room{display:flex;align-items:center;gap:var(--space-2)}.chat__header-bot-invite{font-size:var(--icon-size);line-height:1}.icon-btn:active:not(:disabled){transform:translateY(1px) scale(.96)}.icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat__header-action{min-height:calc(36px * var(--ui-scale));padding:var(--space-2) var(--space-3);gap:var(--space-2);white-space:nowrap}.chat__header-action svg,.icon-btn svg{width:var(--icon-size);height:var(--icon-size);flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.chat__header-call--active{border-color:var(--accent);color:var(--accent)}.call-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:rgb(var(--bg-rgb) / .97);display:flex;align-items:center;justify-content:center}.call-overlay__card{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.call-overlay__avatar{border-radius:50%;border:2px solid var(--border-strong)}.call-overlay__name{font-size:1.4rem;color:var(--fg);font-weight:600}.call-overlay__status{color:var(--fg-dimmer)}.call-overlay__actions{display:flex;gap:var(--space-6);margin-top:var(--space-5)}.call-btn{cursor:pointer;border:1px solid transparent;border-radius:2px;min-height:var(--control-height);display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-4)}.call-btn--accept{background:transparent;color:var(--fg);border-color:var(--border)}.call-btn--decline{background:transparent;color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent)}.call-btn--small{min-height:max(36px,calc(36px * var(--ui-scale)));padding:var(--space-2) var(--space-3)}.call-panel{position:fixed;top:var(--space-3);left:50%;transform:translate(-50%);z-index:1000;background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3);display:flex;align-items:center;gap:var(--space-2);color:var(--fg);box-shadow:0 4px 16px #0006;white-space:nowrap}.call-panel__timer{font-variant-numeric:tabular-nums;color:var(--fg-dimmer)}.call-panel__min{min-height:max(32px,calc(32px * var(--ui-scale)));padding:var(--space-2)}.call-action{min-height:var(--control-height);padding:var(--space-2) var(--space-3);white-space:nowrap}.call-action--compact{min-height:max(32px,calc(32px * var(--ui-scale)));padding:var(--space-2);font-size:var(--text-xs)}@media(max-width:600px){.call-panel{top:auto;bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));left:var(--space-3);right:var(--space-3);transform:none;justify-content:center;flex-wrap:wrap;white-space:normal}.call-panel__name{max-width:28vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-panel__min{min-width:44px;min-height:44px}.call-video{max-width:calc(100vw - 2 * var(--space-3));max-height:58vh}.call-video--self{width:min(32vw,140px);height:auto;aspect-ratio:4 / 3;right:var(--space-3);bottom:96px}.roomcall-panel{right:var(--space-3);bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));width:min(300px,calc(100vw - 2 * var(--space-3)));max-width:none}.call-chip{right:var(--space-3);bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));max-width:calc(100vw - 2 * var(--space-3));white-space:normal}}.call-btn--mute{background:var(--border-strong);color:var(--fg);width:max(36px,calc(36px * var(--ui-scale)));height:max(36px,calc(36px * var(--ui-scale)));font-size:1rem}.call-btn--muted{color:var(--danger);border-color:currentColor}.call-action{min-height:var(--control-height);padding:var(--space-2) var(--space-3);gap:var(--space-2);border-radius:2px}.call-action svg,.roomcall-panel button svg{width:var(--icon-size);height:var(--icon-size);flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.call-panel__min{min-width:38px}.call-chip{position:fixed;bottom:var(--space-4);right:var(--space-4);z-index:1000;background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:999px;padding:var(--space-2) var(--space-4);color:var(--fg);cursor:pointer;font-variant-numeric:tabular-nums}.call-chip:hover{border-color:var(--fg-dimmer)}.call-chip:active{transform:translateY(1px)}.call-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.call-toast{position:fixed;top:var(--space-3);left:50%;transform:translate(-50%);z-index:1001;background:var(--bg-panel);border:1px solid var(--border-strong);color:var(--fg);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-4)}.call-video{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:999;max-width:min(80vw,960px);max-height:70vh;background:var(--video-bg);border:1px solid var(--border-strong);border-radius:var(--radius-lg);object-fit:contain}.call-video--self{top:auto;left:auto;right:var(--space-4);bottom:var(--space-4);width:min(180px,32vw);height:auto;aspect-ratio:4 / 3;max-width:none;max-height:none;z-index:1001;transform:scaleX(-1);border-radius:var(--radius-lg)}.call-video--solo{width:min(calc(320px * var(--ui-scale)),80vw);height:auto;aspect-ratio:4 / 3}.chat__header-call--active{color:var(--success)}.roomcall-panel{position:fixed;bottom:var(--space-4);right:var(--space-4);z-index:1000;background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-3);min-width:min(220px,calc(100vw - 32px));max-width:min(280px,calc(100vw - 32px));color:var(--fg);box-shadow:0 4px 16px #0006}.roomcall-panel__head{display:flex;align-items:center;gap:var(--space-2)}.roomcall-panel__room{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roomcall-panel__count{color:var(--fg-dimmer);font-variant-numeric:tabular-nums;margin-left:auto}.roomcall-panel__list{list-style:none;margin:var(--space-2) 0;padding:0;display:flex;flex-direction:column;gap:var(--space-1);max-height:140px;overflow-y:auto}.roomcall-panel button:active{transform:translateY(1px) scale(.99)}.roomcall-panel button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.roomcall-part{color:var(--fg-mid);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roomcall-part__icon{display:inline-flex;vertical-align:middle;margin-right:var(--space-1)}.roomcall-part__icon svg,.roomcall-part__muted svg{width:var(--text-md);height:var(--text-md);fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.roomcall-part__muted{display:inline-flex;color:var(--danger);vertical-align:middle;margin-left:var(--space-1)}.roomcall-part--muted{color:var(--fg-dimmer)}.roomcall-panel__actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-2)}.chat__header-right{display:flex;align-items:center;gap:var(--space-3)}.user-chip--btn{display:inline-flex;align-items:center;gap:var(--space-2);background:none;border:1px solid transparent;border-radius:var(--radius);padding:var(--space-1) var(--space-2);cursor:pointer;color:var(--accent);font-size:var(--text-sm);font-weight:600;transition:background .15s}.user-chip--btn:hover{background:var(--bg-hover)}.msg-status{font-size:var(--text-xs);letter-spacing:-2px;margin-left:2px;font-weight:700}.msg-status--sent,.msg-status--delivered{color:var(--fg-dim)}.msg-status--read{color:var(--accent)}.message__avatar{margin-right:2px}.emoji{height:1.25em;width:1.25em;vertical-align:-.25em;object-fit:contain}.avatar{display:inline-flex;border-radius:50%;overflow:hidden;flex:none}.avatar__img{border-radius:50%;object-fit:cover;display:block}.avatar__initial{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;color:#fff;font-weight:700}.chat__input-emoji{position:relative;display:flex;align-items:center}.emoji-picker{position:absolute;bottom:calc(100% + var(--space-2));left:0;width:min(calc(340px * var(--ui-scale)),calc(100vw - 2 * var(--space-2)));max-height:min(calc(380px * var(--ui-scale)),70vh);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);display:flex;flex-direction:column;z-index:120}.emoji-picker__tabs{display:flex;border-bottom:1px solid var(--border);flex:none}.emoji-picker__tab{flex:1;background:none;border:none;color:var(--fg-dim);padding:var(--space-3);cursor:pointer;font-size:var(--text-sm);font-weight:600}.emoji-picker__tab--active{color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}.emoji-picker__body{overflow-y:auto;padding:var(--space-2)}.emoji-picker__grid{display:grid;grid-template-columns:repeat(8,1fr);gap:var(--space-1)}.emoji-picker__item{background:none;border:none;font-size:calc(20px * var(--ui-scale));line-height:1;padding:var(--space-2) 0;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center}.emoji-picker__item:hover{background:var(--bg-hover)}.emoji-picker__item--custom img{height:calc(24px * var(--ui-scale));width:calc(24px * var(--ui-scale))}.emoji-picker__category-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--fg-dim);padding:var(--space-2) var(--space-1) var(--space-1)}.emoji-picker__empty{color:var(--fg-dim);text-align:center;padding:var(--space-6) var(--space-3);font-size:var(--text-sm)}.textarea{resize:vertical;font-family:inherit}.dm-item{flex-direction:row;align-items:center;gap:var(--space-2)}.dm-item__content{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;flex:1}.user-chip--footer{width:100%;justify-content:flex-start;border:none}.profile-modal{width:min(460px,calc(100vw - 32px))}.profile-modal__avatar{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4)}.profile-modal__avatar-actions{display:flex;flex-direction:column;gap:var(--space-2)}.profile-modal__hint{font-size:var(--text-xs);color:var(--fg-dim)}.profile-view__name{font-size:var(--text-lg);font-weight:700}.profile-view__row{display:flex;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border);font-size:var(--text-md)}.profile-view__row--dim{color:var(--fg-dim)}.profile-view__label{flex:none;width:calc(110px * var(--ui-scale));color:var(--fg-dim);font-size:var(--text-sm)}.profile-view__pre{white-space:pre-wrap;word-break:break-word}.approvals-btn{position:relative}.approvals-btn--active{color:var(--accent)}.approvals-badge{position:absolute;top:calc(-1 * var(--space-1));right:calc(-1 * var(--space-1));min-width:calc(16px * var(--ui-scale));height:calc(16px * var(--ui-scale));padding:0 var(--space-1);border-radius:var(--space-2);background:var(--danger);color:var(--on-accent);font-size:var(--text-xs);font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.approvals-modal{width:min(calc(520px * var(--ui-scale)),calc(100vw - 2 * var(--space-4)));max-height:80vh;overflow-y:auto}.approvals-empty{color:var(--fg-dim);text-align:center;padding:var(--space-6) var(--space-3);font-size:var(--text-md)}.approvals-section{margin-bottom:var(--space-4)}.approvals-section__title{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-dim);margin-bottom:var(--space-2)}.approval-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-alt);margin-bottom:var(--space-2)}.approval-item__body{min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.approval-item__from{font-size:var(--text-md);font-weight:600;color:var(--accent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.approval-item__server{margin-left:var(--space-2);font-size:var(--text-xs);font-weight:600;color:var(--fg-dim);background:var(--bg-card);border-radius:6px;padding:var(--space-1) var(--space-2)}.approval-item__preview{font-size:var(--text-xs);color:var(--fg-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.approval-item__meta{font-size:var(--text-xs);color:var(--fg-dim)}.approval-item__actions{display:flex;gap:var(--space-2);flex:none}.approval-item__actions .btn{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.approval-toast{position:fixed;top:var(--space-4);left:50%;transform:translate(-50%);z-index:200;background:var(--bg-card);border:1px solid var(--accent);color:var(--fg);padding:var(--space-3) var(--space-4);border-radius:var(--radius);box-shadow:var(--shadow);font-size:var(--text-md);cursor:pointer;max-width:90vw}.app-version{margin-top:var(--space-2);text-align:center;font-size:var(--text-xs);color:var(--fg-dim);opacity:.7}.device-request-status{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-3) 0 var(--space-1);text-align:center}.device-request-status p{font-size:var(--text-md);color:var(--fg)}.device-request-status .auth-note{margin-bottom:0}.device-requests-modal{width:min(calc(520px * var(--ui-scale)),calc(100vw - 2 * var(--space-4)));max-height:80vh;overflow-y:auto}.logout-btn{color:var(--danger)}.user-search-modal{width:min(calc(460px * var(--ui-scale)),calc(100vw - 2 * var(--space-4)))}.user-search__results{display:flex;flex-direction:column;gap:var(--space-2);max-height:50vh;overflow-y:auto}.user-search__empty{color:var(--fg-dim);text-align:center;padding:var(--space-4) var(--space-3);font-size:var(--text-sm)}.user-search__item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-alt)}.user-search__avatar{background:none;border:none;padding:0;cursor:pointer;display:flex;flex:none}.user-search__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1);background:none;border:none;color:var(--fg);cursor:pointer;text-align:left;padding:var(--space-1);border-radius:6px}.user-search__body:hover{background:var(--bg-hover)}.user-search__name{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-md);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-search__online{width:var(--space-2);height:var(--space-2);border-radius:50%;background:var(--fg-dim);flex:none}.user-search__online--on{background:var(--success);box-shadow:0 0 6px var(--success)}.user-search__meta{font-size:var(--text-xs);color:var(--fg-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-modal{width:min(480px,calc(100vw - 32px));max-height:80vh;overflow-y:auto;font-size:var(--text-sm)}.settings-section{margin-bottom:var(--space-4)}.settings-section__title{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-dim);margin-bottom:var(--space-2)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;cursor:pointer}.settings-row input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:max(17px,calc(17px * var(--ui-scale)));height:max(17px,calc(17px * var(--ui-scale)));border:2px solid var(--fg-dim);border-radius:50%;background:var(--bg-alt);cursor:pointer;flex-shrink:0;transition:background .15s,border-color .15s,box-shadow .15s}.settings-row input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent);box-shadow:0 0 8px rgb(var(--accent-rgb) / .55)}.settings-row input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.settings-scale{display:flex;justify-content:space-between;margin:var(--space-2) 0 var(--space-1);font-size:var(--text-xs)}.settings-section>input[type=range]{width:100%;accent-color:var(--accent)}.settings-security__action{background:var(--bg-panel);border-color:rgb(var(--accent-rgb) / .3);box-shadow:0 1px 7px rgb(var(--accent-rgb) / .1)}.settings-security__action:hover:not(:disabled){background:var(--bg-hover);box-shadow:0 0 10px rgb(var(--accent-rgb) / .2)}.settings-row--disabled{opacity:.45;cursor:not-allowed}.settings-row--disabled input{cursor:not-allowed}.settings-hint{font-size:var(--text-xs);color:var(--fg-dim);margin-top:var(--space-1)}.settings-segment{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.settings-segment__btn{padding:var(--space-2) var(--space-3);background:var(--bg-alt);color:var(--fg-dim);border:none;cursor:pointer;font-size:var(--text-sm);font-family:var(--font)}.settings-segment__btn+.settings-segment__btn{border-left:1px solid var(--border)}.settings-segment__btn--active{background:var(--bg-hover);color:var(--fg);font-weight:600}.settings-accents{display:flex;gap:var(--space-3);margin-top:var(--space-3)}.settings-accent{width:max(22px,calc(22px * var(--ui-scale)));height:max(22px,calc(22px * var(--ui-scale)));border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.settings-accent--active{border-color:var(--fg)}.settings-accent--violet{background:var(--accent-violet)}.settings-accent--blue{background:var(--accent-blue)}.settings-accent--cyan{background:var(--accent-cyan)}.settings-accent--green{background:var(--accent-green)}.settings-accent--orange{background:var(--accent-orange)}.settings-accent--red{background:var(--accent-red)}.settings-accent--pink{background:var(--accent-pink)}.chat__header-mute--on{color:var(--accent)}.settings-link{display:flex;gap:var(--space-2);align-items:stretch}.settings-link .input{flex:1;min-width:0;font-size:var(--text-xs)}.chat__back{display:none}@media(max-width:768px){.chat{flex-direction:column;height:100vh;height:var(--app-height, 100dvh)}body.chat-mounted{overflow:hidden;height:100%;overscroll-behavior:none}.chat--mobile-chat .chat__sidebar{display:none}.chat:not(.chat--mobile-chat) .chat__main{display:none}.chat__back{display:flex}.chat__sidebar{width:100%;min-width:0;border-right:none}.icon-btn{width:max(44px,calc(44px * var(--ui-scale)));height:max(44px,calc(44px * var(--ui-scale)));font-size:var(--icon-size)}.chat__header-action{min-height:44px;padding:var(--space-2);font-size:0}.room-list__action,.btn{min-height:44px}.input{min-height:44px;font-size:16px}.room-item,.dm-item{min-height:max(44px,calc(44px * var(--ui-scale)));padding:var(--space-3)}.user-chip--btn,.room-list__toggle{min-height:44px}.messages,.room-list__body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.chat__header{padding:var(--space-3) var(--space-4);padding-top:calc(var(--space-3) + env(safe-area-inset-top,0px));padding-left:calc(var(--space-4) + env(safe-area-inset-left,0px));padding-right:calc(var(--space-4) + env(safe-area-inset-right,0px));gap:var(--space-2)}.chat__header h2{font-size:var(--text-sm);flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat__header-right{flex-wrap:nowrap;flex:none;gap:var(--space-1)}.header-menu-toggle{display:inline-flex;flex:none;width:44px;height:44px}.header-menu{display:none;position:absolute;z-index:20;right:10px;top:calc(58px + env(safe-area-inset-top,0px));min-width:190px;padding:var(--space-1);background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.header-menu--open{display:flex}.header-menu__action{width:100%;min-height:44px;height:auto;padding:var(--space-2) var(--space-3);flex-direction:row;justify-content:flex-start;gap:var(--space-3);border-radius:2px}.header-menu__action .approvals-badge{margin-left:auto}.header-menu__action .topbar-action__icon{width:var(--icon-size);height:var(--icon-size)}.header-menu__action .topbar-action__label{font-size:var(--text-sm)}.chat__header-action{font-size:0;gap:0;padding:var(--space-2)}.chat__header-action svg{width:var(--icon-size);height:var(--icon-size)}.chat__header-right .user-chip__name{display:none}.conn-badge{display:inline-block;flex:none;width:var(--space-2);height:var(--space-2);border-radius:50%;background:currentColor}.conn-badge__text{display:none}.chat__input{padding:var(--space-3);padding-left:calc(var(--space-3) + env(safe-area-inset-left,0px));padding-right:calc(var(--space-3) + env(safe-area-inset-right,0px));padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px))}.room-list__header{padding:var(--space-3) var(--space-4);padding-top:calc(var(--space-3) + env(safe-area-inset-top,0px))}.room-list__footer{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.error-banner{margin-bottom:var(--space-1)}}@media(max-width:400px){.message__meta{gap:var(--space-2)}.message__author{max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message__time{font-size:var(--text-xs);white-space:nowrap}}
