:root{color-scheme:dark;--bg:#07121e;--panel:#0d1a29;--chat-surface:#0b141a;--chat-doodle:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cg fill='none' stroke='%231a2a33' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 18h12v8H14z'/%3E%3Ccircle cx='66' cy='16' r='6'/%3E%3Cpath d='M52 34l6-6 6 6-6 6z'/%3E%3Cpath d='M16 52c0-4 4-6 8-6s8 2 8 6-4 6-8 10c-4-4-8-6-8-10z'/%3E%3Cpath d='M70 46h12M76 40v12'/%3E%3Cpath d='M44 68h18v10H44z'/%3E%3Cpath d='M10 74l8-4 8 4-8 4z'/%3E%3Cpath d='M72 74l3-6h10l3 6-8 8z'/%3E%3Cpath d='M34 20l4 4m0-4-4 4'/%3E%3C/g%3E%3C/svg%3E");--ink:#eaf2ff;--ink-muted:#93a4bc;--line:#1f3959;--accent:#1b8fff;--accent-ink:#f5fbff;--ghost-bg:#13273f;--tab-icon:#9aa6b2;--tab-icon-active:#c4ced8;--active-border:#2b7fd6;--active-bg:#10243a;--chat-overlay-start:rgba(9,18,24,.9);--chat-overlay-end:rgba(9,18,24,.92);--chat-scroll-bg:rgba(7,19,26,.16);--dm-scroll-bg:rgba(7,19,26,.2);--dm-msg-bg:#10243a;--dm-msg-mine-bg:#153459;--room-msg-bg:rgba(16,35,58,.92);--room-msg-mine-bg:rgba(26,72,126,.96);--room-msg-border:#2e496b;--room-msg-mine-border:#3f86d2;--hover-bg:#16314c;--account-btn-border:#2b415e;--profile-field-bg:#0f2034;--scroll-track:#0a1726;--scroll-thumb:#274766;--scroll-thumb-hover:#34608b}:root[data-theme=light]{color-scheme:light;--bg:#d9e2ec;--panel:#edf2f7;--chat-surface:#e6edf5;--chat-doodle:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cg fill='none' stroke='%23b9c6d4' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 18h12v8H14z'/%3E%3Ccircle cx='66' cy='16' r='6'/%3E%3Cpath d='M52 34l6-6 6 6-6 6z'/%3E%3Cpath d='M16 52c0-4 4-6 8-6s8 2 8 6-4 6-8 10c-4-4-8-6-8-10z'/%3E%3Cpath d='M70 46h12M76 40v12'/%3E%3Cpath d='M44 68h18v10H44z'/%3E%3Cpath d='M10 74l8-4 8 4-8 4z'/%3E%3Cpath d='M72 74l3-6h10l3 6-8 8z'/%3E%3Cpath d='M34 20l4 4m0-4-4 4'/%3E%3C/g%3E%3C/svg%3E");--ink:#122132;--ink-muted:#546274;--line:#b3c1d0;--accent:#1976d2;--accent-ink:#fff;--ghost-bg:#e2eaf3;--tab-icon:#7b8897;--tab-icon-active:#1f3348;--active-border:#75a7df;--active-bg:#d9e7f6;--chat-overlay-start:rgba(220,229,238,.72);--chat-overlay-end:rgba(220,229,238,.82);--chat-scroll-bg:rgba(220,229,238,.5);--dm-scroll-bg:rgba(220,229,238,.62);--dm-msg-bg:#e2ebf5;--dm-msg-mine-bg:#d2e3f6;--room-msg-bg:rgba(234,241,249,.92);--room-msg-mine-bg:rgba(212,228,246,.98);--room-msg-border:#b5c6d9;--room-msg-mine-border:#86abd1;--hover-bg:#d7e4f2;--account-btn-border:#b7c7d8;--profile-field-bg:#dde6f0;--scroll-track:#dbe5ef;--scroll-thumb:#a6bacf;--scroll-thumb-hover:#88a4c0}:root[data-theme=light] .preferences-backdrop{background:rgba(183,198,214,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}:root[data-theme=light] .preferences-modal{background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 94%,#f8fbff 6%),color-mix(in srgb,var(--panel) 99%,transparent)),var(--panel);border-color:color-mix(in srgb,var(--line) 88%,transparent);box-shadow:0 14px 36px rgba(24,42,63,.16)}:root[data-theme=light] .preferences-head{background:color-mix(in srgb,var(--panel) 90%,#dce9f8 10%)}:root[data-theme=light] .preferences-body{background:color-mix(in srgb,var(--panel) 98%,#fff 2%)}:root[data-theme=light] .admin-panel-block,:root[data-theme=light] .room-control-card{background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 96%,#f6fbff 4%),color-mix(in srgb,var(--panel) 99%,transparent)),color-mix(in srgb,var(--panel) 92%,transparent);border-color:color-mix(in srgb,var(--line) 84%,transparent)}:root[data-theme=light] .admin-category-btn,:root[data-theme=light] .admin-mini-item,:root[data-theme=light] .admin-pick-item,:root[data-theme=light] .admin-pick-menu,:root[data-theme=light] .room-staff-candidate-item,:root[data-theme=light] .room-staff-member{background:color-mix(in srgb,var(--panel) 92%,#f7fbff 8%)}:root[data-theme=light] .room-staff-group,:root[data-theme=light] .room-staff-manage{background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 94%,#f8fbff 6%),color-mix(in srgb,var(--panel) 99%,transparent)),color-mix(in srgb,var(--panel) 95%,transparent);border-color:color-mix(in srgb,var(--line) 86%,transparent)}:root[data-theme=light] .room-staff-member{background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 95%,#fff 5%),color-mix(in srgb,var(--panel) 99%,transparent)),color-mix(in srgb,var(--panel) 94%,transparent)}:root[data-theme=light] .room-staff-role-chip{background:color-mix(in srgb,var(--panel) 94%,#fff 6%);border-color:color-mix(in srgb,var(--line) 86%,transparent)}:root[data-theme=light] .room-staff-role-chip.active{background:color-mix(in srgb,var(--active-bg) 78%,#fff 22%)}:root[data-theme=light] .room-staff-badge-tag{color:#15406c;background:linear-gradient(180deg,color-mix(in srgb,#d8ecff 86%,var(--panel) 14%),color-mix(in srgb,#c9e3ff 90%,var(--panel) 10%))}:root[data-theme=light] .admin-modal .sidebar-search,:root[data-theme=light] .room-control-modal .sidebar-search{background:color-mix(in srgb,var(--panel) 92%,#fff 8%);border-color:color-mix(in srgb,var(--line) 90%,transparent)}:root[data-theme=light] .admin-modal .sidebar-search:focus,:root[data-theme=light] .room-control-modal .sidebar-search:focus{background:#f9fcff;box-shadow:0 0 0 3px rgba(79,135,197,.2)}:root[data-theme=light] .message-context-menu{box-shadow:0 10px 26px rgba(30,54,80,.18)}:root[data-theme=light] .message-context-item.danger{color:#972335;border-color:color-mix(in srgb,#cc7c8e 38%,transparent);background:color-mix(in srgb,#ffe9ee 42%,transparent)}:root[data-theme=light] .message-context-item.danger:hover{border-color:#bb5d6d;background:color-mix(in srgb,#ffd6de 72%,var(--panel))}:root[data-theme=light] .confirm-backdrop{background:rgba(151,169,189,.38)}:root[data-theme=light] .confirm-modal{background:color-mix(in srgb,var(--panel) 97%,#fff 3%);border-color:color-mix(in srgb,var(--line) 88%,transparent);box-shadow:0 12px 30px rgba(28,47,70,.18)}:root[data-theme=light] .confirm-modal.danger{border-color:#c07b87;background:color-mix(in srgb,#ffe7eb 60%,var(--panel))}:root[data-theme=light] .room-user-search{background:color-mix(in srgb,var(--panel) 92%,#fff 8%);border-color:color-mix(in srgb,var(--line) 90%,transparent)}:root[data-theme=light] .room-user-search:focus{background:#f9fcff;box-shadow:0 0 0 3px rgba(58,140,224,.2)}:root[data-theme=light] .profile-room-item:hover{background:linear-gradient(90deg,color-mix(in srgb,var(--active-bg) 58%,#fff 42%),color-mix(in srgb,var(--active-bg) 24%,#fff 76%));color:#14314f;border-bottom-color:color-mix(in srgb,var(--active-border) 62%,transparent);box-shadow:inset 3px 0 0 color-mix(in srgb,var(--active-border) 80%,#3a8ce0 20%)}:root[data-theme=light] .profile-room-item:focus-visible{background:linear-gradient(90deg,color-mix(in srgb,var(--active-bg) 56%,#fff 44%),color-mix(in srgb,var(--active-bg) 22%,#fff 78%));box-shadow:inset 3px 0 0 color-mix(in srgb,var(--active-border) 82%,#3a8ce0 18%),0 0 0 2px rgba(58,140,224,.24)}:root[data-theme=light] .user-badge{border-color:color-mix(in srgb,#8fa4bb 66%,var(--line));color:#38516a;background:color-mix(in srgb,#f7fbff 76%,var(--panel) 24%)}:root[data-theme=light] .user-badge.female{border-color:#cf7ca4;color:#9d2f68;background:color-mix(in srgb,#ffdbe9 82%,var(--panel) 18%)}:root[data-theme=light] .user-badge.male{border-color:#6f97c9;color:#20548f;background:color-mix(in srgb,#dcebff 82%,var(--panel) 18%)}:root[data-theme=light] .user-badge.mobile{border-color:#5fa47a;color:#1e6f45;background:color-mix(in srgb,#ddf4e6 82%,var(--panel) 18%)}:root[data-theme=light] .user-badge.pc{border-color:#7f93ad;color:#334963;background:color-mix(in srgb,#e5edf7 80%,var(--panel) 20%)}:root[data-theme=light] .room-voice-open-btn{background:color-mix(in srgb,#f8fbff 72%,var(--panel) 28%);border-color:color-mix(in srgb,#9db4cb 64%,var(--line));color:#1f3954}:root[data-theme=light] .room-voice-open-btn small{color:#4f6480}:root[data-theme=light] .room-voice-open-btn.connected{border-color:#5f9f78;background:color-mix(in srgb,#dff5e7 72%,var(--panel) 28%)}:root[data-theme=light] .voice-dot{background:#8ea0b7}:root[data-theme=light] .voice-dot.live{background:#d99130}:root[data-theme=light] .voice-floating-modal{border-color:color-mix(in srgb,#a9bdd3 64%,var(--line));box-shadow:0 16px 40px rgba(28,52,78,.2)}:root[data-theme=light] .voice-user-state{color:#4b5e76}:root[data-theme=light] .voice-user-state.speaking{color:#9b5d10}:root[data-theme=light] .voice-conn-badge{background:color-mix(in srgb,#fff 74%,var(--panel) 26%);border-color:color-mix(in srgb,#a7b8cb 66%,var(--line))}:root[data-theme=light] .voice-conn-badge.status-connecting,:root[data-theme=light] .voice-conn-badge.status-reconnecting{border-color:#d59a4e;color:#8a4f08;background:color-mix(in srgb,#fff2dc 80%,var(--panel) 20%)}:root[data-theme=light] .voice-conn-badge.status-failed{border-color:#cc7e84;color:#8f2e3a;background:color-mix(in srgb,#ffe6e9 82%,var(--panel) 18%)}:root[data-theme=light] .voice-conn-badge.status-idle{border-color:#96a9be;color:#4f6073;background:color-mix(in srgb,#edf3fa 76%,var(--panel) 24%)}:root[data-theme=light] .voice-conn-badge.quality-good,:root[data-theme=light] .voice-conn-badge.quality-local-live{border-color:#5c9a74;color:#1d6a3e;background:color-mix(in srgb,#e3f5ea 82%,var(--panel) 18%)}:root[data-theme=light] .voice-conn-badge.quality-medium{border-color:#d59a4e;color:#8a4f08;background:color-mix(in srgb,#fff2dc 82%,var(--panel) 18%)}:root[data-theme=light] .voice-conn-badge.quality-weak{border-color:#cc7e84;color:#8f2e3a;background:color-mix(in srgb,#ffe6e9 82%,var(--panel) 18%)}:root[data-theme=light] .voice-conn-badge.quality-local-listen,:root[data-theme=light] .voice-conn-badge.quality-unknown{border-color:#96a9be;color:#4f6073;background:color-mix(in srgb,#edf3fa 76%,var(--panel) 24%)}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--scroll-track)}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:999px;border:2px solid var(--scroll-track)}::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover)}body{margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:radial-gradient(circle at 20% 0,color-mix(in srgb,var(--accent) 22%,var(--bg)),var(--bg) 38%),var(--bg);color:var(--ink)}main{min-height:100dvh;padding:24px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px}button,input{font:inherit}input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px}button{border:0;cursor:pointer}.primary,button{padding:10px 14px;border-radius:8px}.primary{background:var(--accent);color:var(--accent-ink)}.ghost,.primary{display:inline-block}.ghost{padding:10px 14px;border-radius:8px;background:var(--ghost-bg);color:var(--ink);border:1px solid var(--line)}.chat-main{height:100dvh;min-height:100dvh;padding:12px}.chat-shell{height:100%;display:grid;grid-template-rows:auto 1fr;grid-gap:10px;gap:10px}.chat-topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px}.chat-topbar-brand{display:grid;grid-gap:2px;gap:2px}.chat-room-return{all:unset;cursor:pointer}.chat-topbar-brand span{color:var(--ink-muted);font-size:13px}.chat-topbar-actions{display:flex;align-items:center;gap:8px}.chat-mobile-dismiss,.chat-mobile-tabs{display:none}.chat-user-chip{border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:13px;color:var(--ink-muted);background:var(--profile-field-bg);cursor:pointer}.chat-layout{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 330px;grid-gap:12px;gap:12px;position:relative}.chat-layout.middle-open{grid-template-columns:minmax(0,1fr) 320px 330px}.chat-stage{min-height:0;padding:16px}.chat-middle{padding:12px}.chat-aside,.chat-middle{min-height:0;overflow:auto}.chat-aside{padding:14px}.chat-sidebar-section+.chat-sidebar-section{margin-top:16px}.right-tabs{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:4px;gap:4px;padding:6px;margin-bottom:10px}.right-tab-btn{background:transparent;border:1px solid transparent;color:var(--tab-icon);display:grid;justify-items:center;padding:6px 2px;font-size:24px;line-height:1}.right-tab-btn.active{color:var(--tab-icon-active);border-color:var(--active-border);background:var(--active-bg)}.right-tab-btn.mute{opacity:.7}.right-tab-btn small{font-size:12px;color:var(--tab-icon)}.notification-tab{position:relative}.notification-badge{position:absolute;bottom:2px;left:50%;transform:translateX(-50%);min-width:18px;height:18px;border-radius:999px;background:#d72c35;color:#fff;font-size:11px;line-height:18px;text-align:center;padding:0 5px;font-weight:700}.right-tab-icon{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center}.right-tab-icon svg{width:24px;height:24px;display:block}.chat-sidebar-title{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);margin-bottom:8px}.chat-room-item{border:1px solid var(--line);border-radius:10px;padding:8px 10px;display:flex;justify-content:space-between;align-items:center}.chat-room-item-active{border-color:var(--active-border);background:var(--active-bg)}.room-list-grid{display:grid;grid-gap:6px;gap:6px}.room-list-header{margin-bottom:6px;display:flex;justify-content:flex-end}.room-list-toggle{width:34px;min-width:34px;height:34px;display:flex;gap:0;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--ink);padding:0}.room-list-toggle,.room-list-toggle-icon{align-items:center;justify-content:center}.room-list-toggle-icon{display:inline-flex;transition:transform .2s ease}.room-list-toggle.open .room-list-toggle-icon{transform:rotate(180deg)}.room-list-grid.collapsed{gap:0}.room-list-grid.open{max-height:150px;overflow-y:auto;padding-right:2px}.room-list-item{width:100%;display:flex;justify-content:space-between;align-items:center;background:transparent;border:1px solid var(--line);color:var(--ink)}.room-list-item-actions{display:inline-flex;align-items:center;gap:6px}.room-list-item.active{border-color:var(--active-border);background:var(--active-bg)}.room-list-item strong{border:1px solid var(--active-border);border-radius:8px;padding:2px 6px;font-size:12px}.room-list-item-text{display:grid;grid-gap:1px;gap:1px;text-align:left}.room-list-item-text b{font-size:13px}.room-list-item-text small{color:var(--ink-muted);font-size:11px}.room-list-gear-btn{width:28px;height:28px;border-radius:8px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 78%,transparent);color:var(--ink-muted);font-size:13px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.room-list-gear-btn:hover{border-color:var(--active-border);color:var(--ink)}.room-list-collapse-btn{width:28px;height:28px;border-radius:8px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 78%,transparent);color:var(--ink-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .18s ease}.room-list-collapse-btn.open svg{transform:rotate(180deg)}.room-list-collapse-btn:hover{border-color:var(--active-border);color:var(--ink)}.sidebar-search{margin-bottom:8px}.room-user-search{min-height:38px;border-radius:11px;border:1px solid color-mix(in srgb,var(--line) 84%,transparent);background:color-mix(in srgb,var(--panel) 86%,#0c233a 14%);color:var(--ink);padding:8px 12px;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.room-user-search::placeholder{color:color-mix(in srgb,var(--ink-muted) 82%,transparent)}.room-user-search:focus{outline:none;border-color:color-mix(in srgb,var(--active-border) 88%,#2ca8ff 12%);box-shadow:0 0 0 3px color-mix(in srgb,var(--active-border) 24%,transparent);background:color-mix(in srgb,var(--panel) 92%,#143a5f 8%)}.sidebar-users-grid{display:grid;grid-gap:8px;gap:8px}.admin-panel-block{padding:12px;display:grid;grid-gap:10px;gap:10px;border-radius:12px;border:1px solid color-mix(in srgb,var(--line) 85%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 92%,#0d233a 8%),color-mix(in srgb,var(--panel) 98%,transparent)),color-mix(in srgb,var(--panel) 86%,transparent)}.admin-panel-block>strong{font-size:14px;letter-spacing:.01em}.admin-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.admin-category-btn{min-height:44px;border:1px solid color-mix(in srgb,var(--line) 84%,transparent);border-radius:12px;background:color-mix(in srgb,var(--panel) 88%,#102a44 12%);color:var(--ink);font-weight:700;font-size:13px;transition:border-color .16s ease,background .16s ease,transform .12s ease}.admin-category-btn:hover{border-color:var(--active-border);background:color-mix(in srgb,var(--active-bg) 50%,transparent);transform:translateY(-1px)}.admin-mini-list{display:grid;grid-gap:6px;gap:6px;max-height:170px;overflow:auto}.admin-mini-item{display:grid;grid-gap:2px;gap:2px;padding:8px 9px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:10px;background:color-mix(in srgb,var(--panel) 84%,#0b2034 16%)}.admin-action-item{grid-template-columns:1fr auto;align-items:center;gap:10px}.admin-action-item>div{display:grid;grid-gap:2px;gap:2px;min-width:0}.admin-action-item button{min-height:32px;padding:6px 10px;border-radius:9px}.admin-user-tags{display:flex;flex-wrap:wrap;gap:6px}.admin-user-tag{border:1px solid color-mix(in srgb,var(--active-border) 80%,transparent);border-radius:999px;background:color-mix(in srgb,var(--active-bg) 48%,transparent);color:#d9efff;padding:2px 8px;font-size:12px}.admin-user-tag.ghost{border-color:color-mix(in srgb,var(--line) 85%,transparent);background:color-mix(in srgb,var(--panel) 88%,transparent);color:var(--ink-muted)}.admin-pick-list{display:flex;flex-wrap:wrap;gap:6px}.admin-picker-wrap{position:relative;display:grid;grid-gap:5px;gap:5px}.admin-pick-menu{position:static;z-index:25;display:flex;flex-wrap:wrap;gap:4px;width:-moz-fit-content;width:fit-content;max-width:100%;max-height:130px;overflow-y:auto;overflow-x:hidden;padding:5px;border:1px solid color-mix(in srgb,var(--line) 86%,transparent);border-radius:10px;background:color-mix(in srgb,var(--panel) 96%,#0b2034 4%);box-shadow:0 10px 28px rgba(0,0,0,.32)}.admin-pick-item{width:auto;text-align:left;border:1px solid color-mix(in srgb,var(--line) 84%,transparent);border-radius:8px;background:color-mix(in srgb,var(--panel) 88%,transparent);color:var(--ink);padding:5px 8px;font-size:12px;font-weight:700;white-space:nowrap}.admin-pick-item:hover{border-color:var(--active-border);background:color-mix(in srgb,var(--active-bg) 55%,transparent)}.admin-mini-item small{color:var(--ink-muted);font-size:11px}.admin-modal{width:min(720px,94vw)}.admin-modal-body{max-height:min(70vh,620px);overflow-y:auto;padding-right:4px;font-size:13px}.admin-room-item{grid-template-columns:1fr auto;align-items:center;gap:10px}.admin-room-item>div{display:grid;grid-gap:2px;gap:2px}.room-control-modal{width:min(520px,94vw)}.room-control-body{max-height:min(72vh,680px);overflow-y:auto;display:grid;grid-gap:10px;gap:10px;font-size:13px}.room-control-card{display:grid;grid-gap:8px;gap:8px;padding:12px;border-radius:12px;border:1px solid color-mix(in srgb,var(--line) 85%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 90%,#0f2a45 10%),color-mix(in srgb,var(--panel) 98%,transparent)),color-mix(in srgb,var(--panel) 86%,transparent)}.room-control-meta{display:flex;gap:8px;color:var(--ink-muted);font-size:12px}.room-control-label{display:grid;grid-gap:4px;gap:4px}.room-control-label span{font-size:12px;color:var(--ink-muted)}.admin-modal .sidebar-search,.room-control-modal .sidebar-search{min-height:36px;padding:7px 11px;font-size:13px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:10px;background:color-mix(in srgb,var(--panel) 88%,#0b2034 12%);color:var(--ink);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.admin-modal .sidebar-search{width:100%;margin-bottom:0}.admin-modal .admin-panel-block .ghost,.admin-modal .admin-panel-block .primary{min-height:36px;border-radius:10px}.admin-submodal{width:min(940px,96vw)}.admin-modal .sidebar-search::placeholder,.room-control-modal .sidebar-search::placeholder{color:color-mix(in srgb,var(--ink-muted) 78%,transparent)}.admin-modal .sidebar-search:focus,.room-control-modal .sidebar-search:focus{outline:none;border-color:color-mix(in srgb,var(--active-border) 90%,#2ca8ff 10%);box-shadow:0 0 0 3px color-mix(in srgb,var(--active-border) 22%,transparent);background:color-mix(in srgb,var(--panel) 92%,#143a5f 8%)}.room-control-check-grid{display:grid;grid-gap:6px;gap:6px}.room-control-check{gap:8px}.room-control-check,.room-setting-row{display:flex;align-items:center;font-size:13px}.room-setting-row{justify-content:space-between;gap:10px;padding:7px 2px;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.room-setting-row:hover{background:color-mix(in srgb,var(--active-bg) 35%,transparent);border-radius:8px}.room-setting-right{display:inline-flex;align-items:center;gap:8px}.room-setting-state{font-size:12px;font-weight:700}.room-setting-state.on{color:#23b65f}.room-setting-state.off{color:#8d99a8}.room-control-actions,.room-staff-group{display:grid;grid-gap:8px;gap:8px}.room-staff-group{padding:10px;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 90%,#102540 10%),color-mix(in srgb,var(--panel) 98%,transparent)),color-mix(in srgb,var(--panel) 92%,transparent)}.room-staff-group h4{margin:0;font-weight:800;letter-spacing:.35px;text-transform:uppercase}.room-staff-group h4,.room-staff-group small{font-size:12px;color:var(--ink-muted)}.room-staff-manage{display:grid;grid-gap:10px;gap:10px;padding:10px;border-radius:12px;border:1px solid color-mix(in srgb,var(--line) 74%,transparent);background:radial-gradient(130% 120% at 100% 0,color-mix(in srgb,var(--active-bg) 55%,transparent) 0,transparent 55%),color-mix(in srgb,var(--panel) 94%,transparent)}.room-staff-manage-head{display:grid;grid-gap:2px;gap:2px}.room-staff-manage-head strong{font-size:12px;letter-spacing:.35px;text-transform:uppercase}.room-staff-manage-head small{color:var(--ink-muted);font-size:11px}.room-staff-manage-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;overflow-x:hidden}.room-staff-manage-row .sidebar-search{margin-bottom:0}.room-staff-manage-row .sidebar-search:first-child{flex:1 1 auto}.room-staff-picker-wrap{flex:1 1 320px;min-width:220px}.room-staff-picker-wrap .sidebar-search{min-height:40px;font-size:13px;padding:9px 11px;min-width:0}.room-staff-role-segment{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px;width:170px;min-width:150px}.room-staff-role-chip{min-height:38px;padding:8px 6px;border-radius:10px;border:1px solid color-mix(in srgb,var(--line) 84%,transparent);background:color-mix(in srgb,var(--panel) 90%,transparent);color:var(--ink-muted);font-size:6px;font-weight:700;letter-spacing:.05px;text-transform:uppercase;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.05;transition:border-color .16s ease,color .16s ease,background .16s ease}.room-staff-role-chip.active{border-color:var(--active-border);background:color-mix(in srgb,var(--active-bg) 76%,transparent);color:var(--ink)}.room-staff-add-btn{min-height:38px;padding:7px 14px;font-weight:800;margin-left:auto}@media (max-width:560px){.room-staff-manage-row{width:100%;flex-direction:column;align-items:stretch}.room-staff-add-btn,.room-staff-role-segment{width:100%;min-width:0}.room-staff-picker-wrap{min-width:0}.room-staff-role-chip{font-size:6px;letter-spacing:0}.admin-action-item{grid-template-columns:1fr}.admin-action-item button{width:100%}.admin-category-grid{grid-template-columns:1fr}}.room-staff-candidates{display:grid;grid-gap:6px;gap:6px;max-height:150px;overflow-y:auto}.room-staff-candidate-item{width:100%;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 84%,transparent);color:var(--ink);padding:7px 9px;text-align:left;font-weight:700}.room-staff-candidate-item img,.room-staff-member img{border-radius:999px;object-fit:cover;border:1px solid var(--line)}.room-staff-member-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.room-staff-member{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:12px;gap:12px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 92%,#143152 8%),color-mix(in srgb,var(--panel) 98%,transparent)),color-mix(in srgb,var(--panel) 90%,transparent);color:var(--ink);padding:9px 12px;font-weight:700;transition:border-color .16s ease,background .16s ease,transform .12s ease,box-shadow .16s ease;text-align:left;width:100%}.room-staff-member:hover{border-color:var(--active-border);background:linear-gradient(180deg,color-mix(in srgb,var(--active-bg) 74%,transparent),color-mix(in srgb,var(--panel) 94%,transparent));box-shadow:0 8px 18px rgba(7,16,28,.22);transform:translateY(-1px)}.room-staff-candidate-item:hover{border-color:var(--active-border);background:color-mix(in srgb,var(--active-bg) 55%,transparent)}.room-staff-identity{display:grid;grid-gap:1px;gap:1px}.room-staff-identity strong{font-size:15px;line-height:1.1}.room-staff-platform-role{font-size:10px;font-weight:800;letter-spacing:.25px;text-transform:uppercase}.room-staff-platform-stars{font-size:11px;letter-spacing:.55px}.room-staff-badge-tag{display:inline-flex;width:-moz-fit-content;width:fit-content;border:1px solid color-mix(in srgb,var(--active-border) 82%,#fff 18%);border-radius:999px;padding:2px 8px;font-size:10px;font-weight:800;color:color-mix(in srgb,var(--accent-ink) 88%,#d7ebff 12%);background:linear-gradient(180deg,color-mix(in srgb,var(--active-bg) 60%,#24568f 40%),color-mix(in srgb,var(--active-bg) 82%,#0f3557 18%))}button.ghost.danger{color:#ff8a8a;border-color:color-mix(in srgb,#a12a2a 60%,var(--line))}.admin-modal button,.room-control-modal button{font-size:13px}.sidebar-user-row{border:1px solid var(--line);border-radius:8px;padding:6px 8px}.dm-sidebar-item{width:100%;display:grid;grid-template-columns:auto 1fr auto;grid-gap:10px;gap:10px;align-items:center;text-align:left;background:transparent;color:var(--ink)}.dm-mini-badge{position:static;transform:none}.sidebar-user-button{color:inherit;text-decoration:none;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;padding:0;border:0;background:transparent;text-align:left;width:100%}.sidebar-user-name{display:grid;grid-gap:2px;gap:2px;font-weight:800;letter-spacing:.01em;min-width:0}.sidebar-user-meta{display:inline-flex;align-items:center;gap:6px;justify-self:end}.sidebar-user-name small:not(.sidebar-role-label):not(.sidebar-role-stars){color:var(--ink-muted);font-size:12px;font-weight:500}.sidebar-role-label{font-size:10px;line-height:1;font-weight:700}.sidebar-role-stars{margin-left:-2px;margin-right:0;font-size:9px;line-height:1;letter-spacing:.25px;display:block;text-align:left}.user-badges{gap:5px}.user-badge,.user-badges{display:inline-flex;align-items:center}.user-badge{justify-content:center;width:19px;height:19px;border-radius:999px;border:1px solid var(--line);color:var(--ink-muted);background:color-mix(in srgb,var(--ghost-bg) 84%,transparent)}.user-badge svg{display:block}.user-badge.female{border-color:#b66897;color:#f4b1d4;background:color-mix(in srgb,#b66897 22%,transparent)}.user-badge.male{border-color:#5a84b8;color:#a9c5ea;background:color-mix(in srgb,#5a84b8 22%,transparent)}.user-badge.mobile{border-color:#4f9669;color:#a8d7b8;background:color-mix(in srgb,#4f9669 24%,transparent)}.user-badge.pc{border-color:#7f8693;color:#bdc3ce;background:color-mix(in srgb,#7f8693 22%,transparent)}.user-badge.voice{border-color:#628fb8;color:#b2d6f6;background:color-mix(in srgb,#628fb8 24%,transparent)}.user-badge.voice.on{border-color:#53a778;color:#c5f3d8;background:color-mix(in srgb,#53a778 28%,transparent)}.user-badge.voice.off{border-color:#8a8f98;color:#c3c7cf;background:color-mix(in srgb,#8a8f98 22%,transparent)}.user-badge.voice.speaking{border-color:#e7a957;color:#ffe4b7;background:color-mix(in srgb,#e7a957 34%,transparent);animation:voice-badge-pulse .9s ease-in-out infinite}.people-subtabs{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px;margin-bottom:8px}.people-subtab{background:transparent;border:1px solid var(--line);color:var(--ink-muted);padding:8px 6px}.people-subtab.active{border-color:var(--active-border);color:var(--ink);background:var(--active-bg)}.account-card{display:grid;justify-items:center;grid-gap:8px;gap:8px;padding:12px 0 16px}.account-card span{color:var(--ink-muted);font-size:13px}.account-actions{display:grid;grid-gap:10px;gap:10px}.account-action-btn{width:100%;border:1px solid var(--account-btn-border);border-radius:999px;background:transparent;color:var(--ink);padding:12px 14px}.account-password-form{display:grid;grid-gap:8px;gap:8px}.chat-user-link{cursor:pointer}.chat-mobile-toggle{display:none}.chat-room{height:100%;min-height:0;display:flex;flex-direction:column;gap:8px;position:relative;border-radius:10px;padding:8px;background-color:var(--chat-surface);background-image:linear-gradient(180deg,var(--chat-overlay-start),var(--chat-overlay-end)),var(--chat-doodle);background-size:auto,96px 96px;background-position:0 0,0 0}.mobile-quick-dock{display:none}.quick-drawer-preferences{padding:0;max-height:calc(100dvh - 160px)}.quick-drawer-foot{padding-left:0;padding-right:0}.notify-toast{position:absolute;top:10px;left:12px;z-index:8;padding:10px 12px;border-radius:10px;border:1px solid #1f8a34;background:rgba(7,169,32,.95);color:#f2fff2;max-width:320px;font-size:13px;overflow:hidden}.notify-toast.danger{border-color:#a12a2a;background:rgba(158,35,35,.96);color:#fff3f3}.preferences-backdrop{position:absolute;inset:0;z-index:9;display:grid;place-items:center;background:rgba(3,10,20,.52);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.preferences-modal{width:min(94vw,460px);max-height:min(84vh,760px);display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;border-radius:14px;border:1px solid color-mix(in srgb,var(--line) 88%,transparent);box-shadow:0 16px 50px rgba(0,0,0,.35);background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 92%,#0a1f34 8%),color-mix(in srgb,var(--panel) 98%,transparent)),var(--panel)}.preferences-head{padding:14px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 92%,#102a44 8%)}.preferences-body{padding:14px;overflow:auto;display:grid;grid-gap:14px;gap:14px;background:color-mix(in srgb,var(--panel) 96%,transparent)}.pref-row{border:1px solid var(--line);border-radius:10px;padding:10px;display:grid;grid-gap:4px;gap:4px}.pref-row-label{font-weight:700;color:#2ca8ff}.pref-row-hint{font-size:12px;color:var(--ink-muted)}.pref-row-control{margin-top:4px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;display:flex;justify-content:space-between;align-items:center;gap:8px}.pref-cycle-btn{padding:6px 10px;min-width:42px}.pref-permission-picker{display:grid;grid-gap:6px;gap:6px}.pref-select-trigger{width:100%;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--ink);padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left}.pref-select-icon{color:var(--ink-muted)}.pref-select-options{display:grid;grid-gap:6px;gap:6px;padding:6px;border-radius:8px}.pref-option{width:100%;text-align:left;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--ink);padding:8px 10px}.pref-option.active{border-color:var(--active-border);background:var(--active-bg);font-weight:700}.preferences-foot{border-top:1px solid var(--line);padding:12px 14px}.preferences-foot .primary{width:100%}.notify-toast-timer{margin-top:8px;height:3px;border-radius:999px;background:hsla(0,0%,100%,.9);transform-origin:left;animation-name:notify-timer-shrink;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes notify-timer-shrink{0%{transform:scaleX(1);opacity:1}to{transform:scaleX(0);opacity:.5}}.profile-column{display:grid;grid-gap:12px;gap:12px}.middle-close-btn{width:42px;height:42px;min-width:42px;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--active-bg) 75%,transparent);color:var(--ink);padding:0;display:inline-flex;align-items:center;justify-content:center;font-weight:700;transition:border-color .16s ease,background .16s ease,transform .12s ease}.middle-close-btn:hover{border-color:var(--active-border);background:color-mix(in srgb,var(--active-bg) 92%,transparent);transform:translateY(-1px)}.middle-close-btn svg{width:18px;height:18px}.profile-popover-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.profile-view-card{display:grid;grid-gap:12px;gap:12px}.profile-avatar{justify-self:center;position:relative}.profile-avatar img{cursor:zoom-in}.profile-avatar.avatar-presence-wrap:after{right:-1px;bottom:-1px;width:14px;height:14px;border-width:2px}.profile-avatar-top-badges{position:absolute;inset:0;display:block;z-index:2;pointer-events:none}.profile-avatar-mini-badge{width:24px;height:24px;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 88%,transparent);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.22);position:absolute;right:0}.profile-avatar-mini-badge:first-child{top:28%;transform:translate(calc(52% - 6px),-50%)}.profile-avatar-mini-badge:last-child{top:40%;transform:translate(50%,-50%)}.profile-avatar-mini-badge.mobile{color:#3ea1ff}.profile-avatar-mini-badge.pc{color:#91a6bd}.profile-avatar-mini-badge.female{color:#ff5ea8}.profile-avatar-mini-badge.male{color:#32a4ff}.profile-identity{text-align:center}.profile-identity strong{display:block;font-size:24px;line-height:1.1}.profile-facts{border:1px solid var(--line);border-radius:10px;overflow:hidden;display:grid}.profile-fact-row{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-bottom:1px solid var(--line);color:var(--ink-muted);font-size:13px}.profile-fact-row span{min-width:76px}.profile-fact-row strong{color:var(--ink);font-weight:600;text-align:right;flex:1 1}.profile-fact-row:last-child{border-bottom:0}.profile-block-note{border:1px solid var(--line);border-radius:10px;padding:10px;color:var(--ink-muted);background:color-mix(in srgb,var(--panel) 78%,transparent);text-align:center}.profile-action-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.profile-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.profile-action-grid button{width:100%;min-height:78px;padding:6px 4px}.icon-btn{gap:6px;white-space:normal;text-align:center}.action-icon,.icon-btn{display:inline-flex;align-items:center;justify-content:center}.action-icon{color:#a4afbb;flex:0 0 auto}.profile-action-grid .icon-btn{flex-direction:column;gap:3px;font-size:11px;line-height:1.15;white-space:normal;word-break:break-word}.profile-action-grid .action-icon svg{width:24px;height:24px}.profile-action-grid button:nth-child(3) .action-icon svg{width:26px;height:26px}.profile-action-grid button,.profile-action-row button{transition:background .18s ease,border-color .18s ease,transform .18s ease}.profile-action-grid button:hover,.profile-action-row button:hover{border-color:#3d74aa;background:var(--hover-bg);transform:translateY(-1px)}.profile-rooms{border:1px solid var(--line);border-radius:10px;overflow:hidden}.profile-rooms-title{padding:8px 10px;border-bottom:1px solid var(--line);color:var(--ink-muted);font-size:13px}.profile-room-list{display:grid}.profile-room-item{width:100%;padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;background:transparent;color:var(--ink);border-radius:0;position:relative;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .16s ease,box-shadow .2s ease}.profile-room-item:hover{background:linear-gradient(90deg,color-mix(in srgb,var(--active-bg) 85%,transparent),color-mix(in srgb,var(--active-bg) 35%,transparent));color:#e9f6ff;border-bottom-color:color-mix(in srgb,var(--active-border) 72%,transparent);box-shadow:inset 3px 0 0 color-mix(in srgb,var(--active-border) 82%,#2ca8ff 18%);transform:translateX(2px)}.profile-room-item:focus-visible{outline:none;background:linear-gradient(90deg,color-mix(in srgb,var(--active-bg) 82%,transparent),color-mix(in srgb,var(--active-bg) 32%,transparent));box-shadow:inset 3px 0 0 color-mix(in srgb,var(--active-border) 86%,#2ca8ff 14%),0 0 0 2px color-mix(in srgb,var(--active-border) 28%,transparent)}.profile-room-item:last-child{border-bottom:0}.profile-settings-form{display:grid;grid-gap:10px;gap:10px}.profile-settings-modal{width:min(94vw,520px)}.profile-form-label{margin-bottom:4px;color:var(--ink-muted);font-size:13px}.profile-avatar-editor{display:flex;align-items:center;gap:12px}.profile-settings-form select,.profile-settings-form textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--profile-field-bg);color:var(--ink);font:inherit}.dm-modal{left:50%;transform:translate(-50%,-50%);width:min(92vw,360px);height:min(68vh,430px);pointer-events:auto;display:grid;grid-template-rows:auto 1fr auto;overflow:visible;background-color:var(--chat-surface);background-image:linear-gradient(180deg,var(--chat-overlay-start),var(--chat-overlay-end)),var(--chat-doodle);background-size:auto,96px 96px;background-position:0 0,0 0}.dm-modal,.dm-thread-handle{position:absolute;top:50%;padding:0}.dm-thread-handle{left:-18px;transform:translateY(-50%);width:30px;height:72px;border-radius:8px;border:1px solid var(--line);background:#1b8fff;color:#fff}.dm-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:10px;gap:10px;padding:10px;border-bottom:1px solid var(--line);cursor:move}.dm-header-profile-btn{width:34px;height:34px;padding:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.direct-call-modal{position:absolute;left:50%;top:50%;width:min(92vw,360px);min-height:480px;display:grid;grid-template-rows:auto 1fr auto;grid-gap:14px;gap:14px;padding:16px;z-index:32;border-radius:22px;background:radial-gradient(110% 90% at 50% -10%,color-mix(in srgb,var(--active-border) 35%,transparent),transparent 72%),linear-gradient(180deg,color-mix(in srgb,var(--chat-surface) 92%,#09192b 8%),color-mix(in srgb,var(--chat-surface) 95%,#061220 5%));border:1px solid color-mix(in srgb,var(--line) 86%,transparent);box-shadow:0 24px 70px rgba(4,10,20,.42)}.direct-call-head{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:move}.direct-call-peer{color:#b7c6d8;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.direct-call-body{display:grid;align-content:center;justify-items:center;grid-gap:12px;gap:12px;text-align:center}.direct-call-avatar-wrap{width:112px;height:112px;border-radius:999px;display:inline-grid;place-items:center;border:2px solid color-mix(in srgb,var(--active-border) 62%,#2ec2ff 38%);box-shadow:0 0 0 8px color-mix(in srgb,var(--active-bg) 55%,transparent)}.direct-call-avatar-wrap.ringing{animation:direct-call-ring-pulse 1s ease-in-out infinite}.direct-call-avatar{width:100%;height:100%;border-radius:999px;object-fit:cover}.direct-call-username{font-size:21px;color:var(--ink);letter-spacing:.01em}.direct-call-status{border:1px solid color-mix(in srgb,var(--line) 76%,transparent);border-radius:999px;background:color-mix(in srgb,var(--panel) 72%,transparent);color:#c9d8e8;font-size:12px;font-weight:700;text-align:center;padding:8px 14px}.direct-call-foot{display:flex;flex-direction:column;gap:8px}.direct-call-foot .ghost,.direct-call-foot .primary{width:100%;justify-content:center;min-height:42px;font-weight:700}.direct-call-foot .ghost.active{border-color:#d3a45c;color:#ffe7bd;background:color-mix(in srgb,#d3a45c 18%,transparent)}.call-accept-btn{border-color:#4f9f71;background:linear-gradient(180deg,#3d9c68,#2b7d52)}.call-end-btn{border-color:#b95353;background:linear-gradient(180deg,#b24141,#8f2f2f)}.call-mute-btn{border-color:color-mix(in srgb,var(--line) 88%,transparent)}:root[data-theme=light] .direct-call-modal{background:radial-gradient(110% 90% at 50% -10%,color-mix(in srgb,var(--active-border) 26%,transparent),transparent 72%),linear-gradient(180deg,color-mix(in srgb,var(--panel) 94%,#fff 6%),color-mix(in srgb,var(--panel) 98%,#f7fbff 2%));border-color:color-mix(in srgb,var(--line) 90%,transparent);box-shadow:0 18px 44px rgba(26,45,68,.18)}:root[data-theme=light] .direct-call-peer{color:#516275}:root[data-theme=light] .direct-call-status{border-color:color-mix(in srgb,var(--line) 92%,transparent);color:#3f5268;background:color-mix(in srgb,var(--panel) 86%,#fff 14%)}:root[data-theme=light] .direct-call-foot .ghost{background:color-mix(in srgb,var(--panel) 88%,#fff 12%)}:root[data-theme=light] .direct-call-foot .ghost.active{border-color:#b6842f;color:#7c4e00;background:color-mix(in srgb,#ffe7be 72%,var(--panel) 28%)}:root[data-theme=light] .call-accept-btn{border-color:#3b8f61;background:linear-gradient(180deg,#41a56f,#2f885a);color:#fff}:root[data-theme=light] .call-end-btn,:root[data-theme=light] .voice-control-foot .primary.danger{border-color:#a44b4b;background:linear-gradient(180deg,#c65050,#a53e3e);color:#fff}@keyframes direct-call-ring-pulse{0%,to{transform:scale(1);box-shadow:0 0 0 0 color-mix(in srgb,var(--active-border) 40%,transparent)}50%{transform:scale(1.06);box-shadow:0 0 0 14px color-mix(in srgb,var(--active-border) 14%,transparent)}}.dm-header-user{display:flex;align-items:center;gap:10px}.dm-messages{overflow:auto;padding:12px;display:flex;flex-direction:column;gap:8px;background:var(--dm-scroll-bg)}.dm-msg{width:-moz-fit-content;width:fit-content;max-width:85%;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--dm-msg-bg);box-shadow:0 1px 0 rgba(0,0,0,.14);-moz-user-select:none;user-select:none;-webkit-user-select:none}.dm-msg.mine{margin-left:auto;background:var(--dm-msg-mine-bg);border-color:var(--active-border)}.dm-msg-time{margin-top:4px;color:var(--ink-muted);font-size:11px}.reply-quote{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;padding:6px 8px;margin-bottom:6px;background:color-mix(in srgb,var(--panel) 72%,transparent);font-size:12px;color:var(--ink-muted)}.reply-quote strong{color:var(--ink);font-size:12px}.reply-clickable{cursor:pointer;transition:border-color .15s ease,background .15s ease}.reply-clickable:hover{border-color:var(--active-border);background:var(--active-bg)}.msg-actions{margin-top:4px;display:flex;justify-content:flex-end}.msg-action-btn{padding:3px 8px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink-muted);font-size:11px}.msg-action-btn:hover{border-color:var(--active-border);color:var(--ink);background:var(--active-bg)}.dm-compose{display:grid;grid-template-columns:1fr auto auto;grid-gap:8px;gap:8px;padding:10px;border-top:1px solid var(--line)}.dm-compose-block-note{grid-column:1/-1;border:1px solid var(--line);border-left:3px solid #c03a3a;border-radius:8px;padding:6px 8px;font-size:12px;color:var(--ink-muted);background:color-mix(in srgb,var(--panel) 76%,transparent)}.dm-thread-panel{position:absolute;top:0;left:0;width:75%;height:100%;padding:10px;overflow:auto;z-index:2}.dm-thread-title{color:var(--ink-muted);font-size:13px;margin-bottom:8px}.dm-thread-list{display:grid;grid-gap:6px;gap:6px}.dm-thread-item{width:100%;display:grid;grid-template-columns:auto 1fr auto;grid-gap:8px;gap:8px;align-items:center;text-align:left;background:transparent;border:1px solid var(--line);padding:8px}.dm-thread-item.active{border-color:var(--active-border);background:var(--active-bg)}.dm-thread-preview{color:var(--ink-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.dm-unread{min-width:20px;height:20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#1b8fff;color:#fff;font-size:11px;padding:0 6px}@keyframes drawer-in{0%{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}.chat-messages{overflow:auto;padding:8px 8px 56px 6px;background:var(--chat-scroll-bg);border-radius:8px;min-height:0;flex:1 1;display:flex;flex-direction:column;gap:8px}.chat-row{display:flex;justify-content:flex-start;align-items:flex-end;gap:8px}.chat-row.mine{padding-left:28px}.chat-system-row{display:flex;justify-content:center;margin:2px 0}.chat-system-message{max-width:min(88%,680px);padding:4px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);background:color-mix(in srgb,var(--panel) 74%,transparent);color:var(--ink-muted);font-size:11px;line-height:1.25;text-align:center}.chat-bubble,.chat-system-message{-moz-user-select:none;user-select:none;-webkit-user-select:none}.chat-bubble{width:-moz-fit-content;width:fit-content;max-width:min(82%,720px);border:1px solid var(--room-msg-border);border-radius:12px;padding:8px 10px;background:var(--room-msg-bg);box-shadow:0 1px 0 rgba(0,0,0,.15)}.chat-row.mine .chat-bubble{border-color:var(--room-msg-mine-border);background:var(--room-msg-mine-bg)}.chat-bubble.mention-target{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent)}.chat-avatar{width:34px;height:34px;border-radius:999px;object-fit:cover;border:1px solid var(--line)}.chat-avatar,.chat-avatar-wrap{flex:0 0 auto}.avatar-presence-wrap{position:relative;display:inline-flex}.avatar-presence-wrap:before{content:"";position:absolute;inset:-3px;border-radius:999px;border:1px solid transparent;opacity:0;pointer-events:none}.avatar-presence-wrap.speaking:before{border-color:color-mix(in srgb,#f2ad53 74%,#ffe6be 26%);box-shadow:0 0 0 1px color-mix(in srgb,#f2ad53 42%,transparent),0 0 14px color-mix(in srgb,#f2ad53 48%,transparent),0 0 24px color-mix(in srgb,#f2ad53 26%,transparent);opacity:1;animation:avatar-speaking-ring .9s ease-in-out infinite}.avatar-presence-wrap:after{content:"";position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:999px;border:2px solid var(--panel);background:#7f8a99}.avatar-presence-wrap.online:after{background:#23c26d}.avatar-presence-wrap.offline:after{background:#7f8a99}@keyframes avatar-speaking-ring{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.08);filter:brightness(1.15)}}.chat-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-muted);margin-bottom:4px}.chat-author{font-weight:800;color:var(--ink)}.chat-row.mine .chat-author{color:var(--accent)}.role-name{font-weight:800}.role-stars{display:inline-block;margin-left:6px;font-size:10px;letter-spacing:.5px;vertical-align:middle}.role-stars-prefix{margin-left:0;margin-right:6px}.role-member{color:var(--ink)}.role-ircop{color:#4ea1ff}.role-co-admin{color:#7f8bff}.role-admin{color:#ffb547}.role-network-admin{color:#46d36f}.role-root{color:#ff5c6f}.chat-text{color:var(--ink);font-size:16px;line-height:1.42;white-space:pre-wrap;word-break:break-word;-moz-user-select:none;user-select:none;-webkit-user-select:none}.chat-text .animated-emoji{font-size:1.22em}.chat-media-block{display:grid;grid-gap:8px;gap:8px}.chat-media-image{max-width:min(100%,320px);width:auto;height:auto;border-radius:10px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 70%,transparent)}.chat-media-image.gif{max-width:min(100%,280px)}.chat-media-audio{width:100%;min-width:260px;max-width:100%}.chat-media-meta{font-size:11px;color:var(--ink-muted)}.media-reveal-btn{width:-moz-fit-content;width:fit-content;border-radius:999px;padding:6px 12px}.chat-media-wrap{display:grid;grid-gap:6px;gap:6px;justify-items:start}.media-type-badge{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:0 9px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.02em;color:var(--ink);border:1px solid var(--active-border);background:color-mix(in srgb,var(--active-bg) 75%,transparent)}.media-type-badge.inline{margin-right:6px}.media-visibility-btn{border-radius:999px;padding:4px 10px;font-size:12px}.chat-youtube-embed{width:min(100%,360px);aspect-ratio:16/9;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:#000}.chat-bubble.audio-card,.dm-msg.audio-card{max-width:min(95%,620px)}.chat-youtube-embed iframe{width:100%;height:100%;border:0}.chat-mention{display:inline-block;padding:1px 6px;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--active-bg) 70%,transparent);color:var(--ink);font-weight:700}.chat-mention.self{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.chat-mention-btn{cursor:pointer}.chat-mention-btn:hover{border-color:var(--active-border);background:var(--active-bg)}.message-jump-highlight{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 52%,transparent);transition:box-shadow .2s ease}.chat-form{display:grid;grid-template-columns:1fr auto auto;grid-gap:8px;gap:8px;margin-top:auto;position:-webkit-sticky;position:sticky;bottom:0;background:var(--panel);padding-top:8px;overflow:visible}.chat-form .chat-input-wrap input,.dm-compose input{border-radius:14px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);background:color-mix(in srgb,var(--profile-field-bg) 88%,transparent);box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 8%,transparent)}.chat-form .chat-input-wrap input:focus,.dm-compose input:focus{outline:none;border-color:var(--active-border);box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 12%,transparent),0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.send-icon-btn{width:42px;height:42px;min-width:42px;border-radius:999px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 86%,#fff 14%),var(--accent));border:1px solid color-mix(in srgb,var(--accent) 70%,#fff 8%);box-shadow:0 6px 14px color-mix(in srgb,var(--accent) 30%,transparent)}.send-icon-btn:hover{filter:brightness(1.06)}.send-icon-btn:active{transform:translateY(1px) scale(.98)}.send-icon-btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.typing-indicator{position:absolute;left:14px;bottom:76px;z-index:6;max-width:60%;color:var(--ink-muted);font-size:13px;background:color-mix(in srgb,var(--panel) 82%,transparent);border:1px solid var(--line);border-radius:999px;padding:4px 10px;pointer-events:none}.compose-reply{grid-column:1/-1;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;padding:6px 8px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--ink-muted);background:color-mix(in srgb,var(--panel) 74%,transparent)}.compose-tools{gap:6px}.compose-tool-btn,.compose-tools{display:inline-flex;align-items:center}.compose-tool-btn{width:50px;height:50px;min-width:50px;border-radius:12px;justify-content:center;font-size:18px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 72%,transparent);color:var(--ink)}.compose-tool-btn svg{width:22px;height:22px;display:block}.compose-tool-btn.active{border-color:var(--active-border);background:var(--active-bg)}.compose-tool-btn.recording{border-color:#d95454;color:#ffb4b4;background:color-mix(in srgb,#d95454 20%,transparent)}.compose-recording-note{grid-column:1/-1;font-size:12px;color:var(--ink-muted)}.compose-audio-state{grid-column:1/-1;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--profile-field-bg) 82%,transparent);padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.compose-audio-state.recording{border-color:color-mix(in srgb,#ff5f5f 60%,var(--line))}.compose-audio-left{display:inline-flex;align-items:center;gap:6px;color:var(--ink-muted);font-size:14px}.compose-audio-time{color:var(--ink-muted);font-size:13px;font-weight:700}.compose-audio-stop{width:42px;height:42px;min-width:42px;border-radius:999px;border:0;background:#ef3b3b;display:inline-flex;align-items:center;justify-content:center}.compose-audio-stop span{width:13px;height:13px;border-radius:3px;background:#fff}.compose-audio-actions{display:inline-flex;align-items:center;gap:6px}.emoji-menu{display:grid;grid-gap:8px;gap:8px;padding:8px;border-radius:10px;border:1px solid var(--line);max-height:340px;overflow:hidden}.emoji-main-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px;gap:6px}.emoji-main-tab{border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--ink-muted);font-size:12px;font-weight:700;padding:6px 8px}.emoji-main-tab.active{color:var(--ink);border-color:var(--active-border);background:var(--active-bg)}.emoji-tabs{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:2px}.emoji-tab{border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink-muted);font-size:11px;font-weight:700;padding:4px 9px}.emoji-tab.active{color:var(--ink);border-color:var(--active-border);background:var(--active-bg)}.emoji-grid{display:grid;grid-gap:6px;gap:6px;min-height:0}.emoji-items-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:6px;gap:6px;max-height:186px;overflow-y:auto;padding:2px 4px 2px 2px}.emoji-menu-item{width:34px;height:34px;border-radius:8px;border:1px solid var(--line);background:transparent;font-size:16px;display:inline-flex;align-items:center;justify-content:center;line-height:1}.emoji-menu-item:hover{border-color:var(--active-border);background:var(--active-bg)}.compose-emoji-popover{position:absolute;left:0;right:0;bottom:calc(100% + 8px);z-index:24;display:flex;justify-content:center;pointer-events:none}.compose-emoji-popover .emoji-menu{width:min(100%,340px);pointer-events:auto;box-sizing:border-box}.emoji-gif-panel{display:grid;grid-gap:6px;gap:6px}.emoji-gif-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:6px;gap:6px}.emoji-gif-search{min-height:34px;border-radius:10px;border:1px solid var(--line);background:color-mix(in srgb,var(--profile-field-bg) 84%,transparent);color:var(--ink);padding:6px 10px}.emoji-gif-search-btn{min-height:34px;border:1px solid var(--active-border);border-radius:10px;background:var(--active-bg);color:var(--ink);font-size:12px;font-weight:700;padding:0 12px}.emoji-gif-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px;gap:6px;max-height:252px;overflow-y:auto;overflow-x:hidden;padding:1px 2px 6px 1px}.emoji-gif-item{border:1px solid var(--line);border-radius:8px;overflow:hidden;padding:0;background:color-mix(in srgb,var(--panel) 70%,transparent);min-height:122px;width:100%}.emoji-gif-item img{width:100%;height:122px;object-fit:cover;object-position:center;display:block}.emoji-gif-note{grid-column:1/-1;color:var(--ink-muted);font-size:12px;padding:6px 4px}.animated-emoji{display:inline-block;transform-origin:center}.fx-pulse{animation:emoji-pulse 1.4s ease-in-out infinite}.fx-shake{animation:emoji-shake 1.2s ease-in-out infinite}.fx-pop{animation:emoji-pop 1.3s ease-in-out infinite}.fx-wobble{animation:emoji-wobble 1.5s ease-in-out infinite}.fx-bounce{animation:emoji-bounce 1.1s ease-in-out infinite}.fx-flicker{animation:emoji-flicker 1s ease-in-out infinite}.fx-nod{animation:emoji-nod 1.25s ease-in-out infinite}.fx-bob{animation:emoji-bob 1.45s ease-in-out infinite}.fx-spin{animation:emoji-spin 1.8s linear infinite}.fx-float{animation:emoji-float 1.6s ease-in-out infinite}@keyframes emoji-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes emoji-shake{0%,to{transform:translateX(0)}25%{transform:translateX(-1px) rotate(-7deg)}75%{transform:translateX(1px) rotate(7deg)}}@keyframes emoji-pop{0%,to{transform:scale(1)}40%{transform:scale(1.2)}60%{transform:scale(1.08)}}@keyframes emoji-wobble{0%,to{transform:rotate(0deg)}25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}@keyframes emoji-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes emoji-flicker{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.1);filter:brightness(1.3)}}@keyframes emoji-nod{0%,to{transform:rotate(0deg)}50%{transform:rotate(12deg)}}@keyframes emoji-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px) scale(1.08)}}@keyframes emoji-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes emoji-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.room-title-badge{display:inline-grid;gap:2px;align-items:start;border:1px solid var(--line);border-radius:12px;padding:6px 12px;background:color-mix(in srgb,var(--panel) 70%,transparent)}.room-title-badge strong{font-size:15px;line-height:1.1}.room-title-badge small{color:var(--ink-muted);font-size:11px;line-height:1.2}.room-admin-open-btn{width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 84%,transparent);color:var(--ink-muted);display:inline-flex;align-items:center;justify-content:center;padding:0;overflow:hidden;line-height:1;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 40%,transparent)}.room-admin-open-btn:hover{border-color:var(--active-border);color:var(--ink);background:color-mix(in srgb,var(--active-bg) 48%,transparent)}.room-head-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:10px}.room-head-actions,.room-voice-open-btn{display:inline-flex;align-items:center;gap:8px}.room-voice-open-btn{min-width:82px;height:44px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel) 82%,transparent);color:var(--ink);padding:0 12px;justify-content:center;font-size:13px;font-weight:700}.room-voice-open-btn small{font-size:11px;color:var(--ink-muted)}.room-voice-open-btn.connected{border-color:#4f9f71;background:color-mix(in srgb,#1c4733 56%,transparent)}.room-voice-open-btn:hover{border-color:var(--active-border)}.voice-dot{width:8px;height:8px;border-radius:999px;background:#7e8796}.voice-dot.live{background:#f2ad53;animation:voice-badge-pulse .85s ease-in-out infinite}.voice-control-modal{width:min(94vw,460px)}.voice-floating-modal{position:absolute;left:50%;top:50%;width:min(92vw,460px);height:min(72vh,560px);display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;z-index:18;pointer-events:auto}.voice-floating-head{cursor:move}.voice-control-body{max-height:min(58vh,500px)}.voice-users-grid{align-content:start;gap:6px}.voice-control-foot{display:grid;grid-gap:8px;gap:8px}.voice-control-foot .ghost,.voice-control-foot .primary{width:100%;justify-content:center;min-height:44px;font-weight:700}.voice-control-foot .ghost:disabled{opacity:.55}.voice-control-foot .primary.danger{border-color:#bd5b5b;background:linear-gradient(180deg,#9e3a3a,#862d2d)}.voice-user-state{color:var(--ink-muted);font-size:11px;font-weight:600}.voice-user-state.speaking{color:#ffcf8a;animation:voice-badge-pulse .9s ease-in-out infinite}.room-online-staff-badge{display:inline-flex;align-items:center;border:1px solid color-mix(in srgb,var(--active-border) 62%,transparent);border-radius:999px;padding:1px 7px;font-size:10px;line-height:1.2;width:-moz-fit-content;width:fit-content;max-width:max-content;justify-self:start;align-self:start;flex:0 0 auto;color:color-mix(in srgb,var(--ink) 86%,var(--accent) 14%);background:color-mix(in srgb,var(--active-bg) 66%,transparent);white-space:nowrap}:root[data-theme=light] .room-online-staff-badge{border-color:color-mix(in srgb,#7ea6d0 66%,var(--line));color:#315b86;background:color-mix(in srgb,#dcebff 80%,var(--panel) 20%)}.voice-conn-badge{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:2px 7px;font-size:10px;line-height:1.1;white-space:nowrap}.voice-conn-badge.status-connected{border-color:#4f9f71;color:#bdecd0;background:color-mix(in srgb,#4f9f71 24%,transparent)}.voice-conn-badge.status-connecting,.voice-conn-badge.status-reconnecting{border-color:#d3a45c;color:#ffe2b7;background:color-mix(in srgb,#d3a45c 24%,transparent)}.voice-conn-badge.status-failed{border-color:#c86868;color:#ffd0d0;background:color-mix(in srgb,#c86868 24%,transparent)}.voice-conn-badge.status-idle{border-color:#8891a0;color:#c2c8d3;background:color-mix(in srgb,#8891a0 20%,transparent)}.voice-conn-badge.quality-good{border-color:#4f9f71;color:#c7f0d7}.voice-conn-badge.quality-medium{border-color:#d3a45c;color:#ffe4bd}.voice-conn-badge.quality-weak{border-color:#c86868;color:#ffd4d4}.voice-conn-badge.quality-unknown{border-color:#8891a0;color:#c6ccd6}.voice-conn-badge.quality-local-live{border-color:#4f9f71;color:#c8f1d8;background:color-mix(in srgb,#4f9f71 24%,transparent)}.voice-conn-badge.quality-local-listen{border-color:#7e8aa0;color:#ccd3de;background:color-mix(in srgb,#7e8aa0 20%,transparent)}.voice-room-empty{color:var(--ink-muted);font-size:13px;padding:6px 2px}@keyframes voice-badge-pulse{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.08);filter:brightness(1.12)}}@media (max-width:900px){.room-user-search{min-height:36px;border-radius:10px;font-size:13px}.room-admin-open-btn{width:40px;height:40px;border-radius:11px}.room-voice-open-btn{min-width:76px;height:40px;border-radius:11px;font-size:11px}.room-voice-open-btn small{font-size:10px}.voice-floating-modal{position:fixed;inset:0;width:100vw;height:100dvh;border-radius:0;border:0;transform:none!important;z-index:30}.voice-floating-head{cursor:default}.voice-control-foot .ghost,.voice-control-foot .primary{min-height:40px;font-size:11px}}.media-picker-backdrop{position:absolute;inset:0;z-index:30;background:rgba(5,10,18,.56);display:grid;place-items:center}.media-picker-modal{width:min(94vw,520px);max-height:min(90vh,820px);display:grid;grid-gap:10px;gap:10px;padding:12px}.media-picker-head{display:flex;justify-content:space-between;align-items:center}.media-picker-drop{display:grid;grid-gap:10px;gap:10px;border:1px dashed var(--line);border-radius:12px;padding:14px}.media-picker-drop.over{border-color:var(--active-border);background:var(--active-bg)}.media-picker-drop .ghost{width:100%;justify-content:flex-start}.media-picker-preview-wrap{width:100%;aspect-ratio:1/1;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#0a121c;display:grid;place-items:center}.media-picker-preview{width:100%;height:100%;object-fit:contain;transition:transform .15s ease}.media-picker-controls{display:grid;grid-gap:8px;gap:8px}.media-picker-controls label{display:grid;grid-gap:4px;gap:4px;color:var(--ink-muted);font-size:12px}.media-picker-foot{display:flex;justify-content:space-between;gap:8px}.image-viewer-backdrop{position:fixed;inset:0;z-index:120;background:rgba(4,8,14,.92);display:grid;place-items:center;padding:18px}.image-viewer-top{position:fixed;top:10px;left:10px;right:10px;display:flex;justify-content:flex-start;pointer-events:none}.image-viewer-back-btn{pointer-events:auto;width:42px;height:42px;min-width:42px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.image-viewer-media{max-width:min(96vw,980px);max-height:min(88vh,980px);width:auto;height:auto;border-radius:10px;border:1px solid var(--line);object-fit:contain}.message-context-menu{position:fixed;z-index:40;min-width:210px;padding:6px;border-radius:10px;display:grid;grid-gap:3px;gap:3px;box-shadow:0 10px 32px rgba(0,0,0,.35)}.message-context-title{font-size:12px;color:var(--ink-muted);padding:6px 10px 4px;border-bottom:1px solid var(--line);margin-bottom:2px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.message-context-item{width:100%;text-align:left;background:transparent;color:var(--ink);border:1px solid transparent;border-radius:8px;padding:9px 10px;font-size:13px;line-height:1.25;white-space:normal;word-break:break-word}.message-context-item:hover{border-color:var(--active-border);background:var(--active-bg)}.message-context-item.danger{color:#ffb7b7}.message-context-item.danger:hover{border-color:#b24b5f;background:color-mix(in srgb,#571728 50%,transparent)}.message-context-menu.mobile{left:50%;transform:translateX(-50%);width:min(88vw,360px);bottom:calc(env(safe-area-inset-bottom, 0px) + 74px);top:auto;right:auto;min-width:0;border-radius:14px;z-index:50}.account-card strong,.dm-header-user strong,.dm-thread-item strong{font-weight:800}.guest-account-actions{display:grid;grid-gap:10px;gap:10px;margin-top:2px}.guest-account-card{margin-bottom:2px}.guest-mini-btn{gap:8px;font-weight:700}.guest-mini-btn,.guest-mini-icon{display:inline-flex;align-items:center;justify-content:center}.guest-mini-icon{color:var(--ink-muted)}.guest-upgrade-backdrop{position:fixed;inset:0;z-index:95;background:rgba(3,9,16,.45);display:flex;align-items:flex-end;justify-content:center}.guest-upgrade-sheet{width:min(100%,620px);border-radius:16px 16px 0 0;border-bottom:0;padding:10px 12px 14px;display:grid;grid-gap:10px;gap:10px;animation:guest-sheet-in .22s ease-out}.guest-upgrade-handle{width:44px;height:5px;border-radius:999px;background:color-mix(in srgb,var(--ink-muted) 45%,transparent);justify-self:center}.guest-upgrade-head{display:flex;align-items:center;justify-content:center}.guest-upgrade-form{display:grid;grid-gap:10px;gap:10px}.guest-rules-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 2px 2px;color:var(--ink-muted);font-size:13px}.rules-switch{width:48px;height:28px;border-radius:999px;border:1px solid var(--line);background:#66788a;padding:2px;display:inline-flex;align-items:center;transition:background .2s ease,border-color .2s ease}.rules-switch-thumb{width:22px;height:22px;border-radius:999px;background:#f6fbff;transition:transform .2s ease}.rules-switch.on{background:#23b65f;border-color:#1d9b51}.rules-switch.on .rules-switch-thumb{transform:translateX(20px)}@keyframes guest-sheet-in{0%{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}.mobile-top-tab{display:none}.confirm-backdrop{position:absolute;inset:0;z-index:35;background:rgba(0,0,0,.35);display:grid;place-items:center}.confirm-modal{width:min(92vw,400px);padding:14px;display:grid;grid-gap:10px;gap:10px}.confirm-modal.danger{border-color:#8b2a3c;background:color-mix(in srgb,#2a0f18 60%,var(--panel))}.confirm-text{color:var(--ink-muted);font-size:14px}.confirm-actions{display:flex;justify-content:flex-end;gap:8px}.confirm-duration-block{display:grid;grid-gap:8px;gap:8px}.confirm-duration-title{font-size:12px;color:var(--ink-muted);font-weight:700}.confirm-duration-options{display:flex;flex-wrap:wrap;gap:6px}.confirm-duration-btn{padding:6px 10px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:12px;font-weight:700}.confirm-duration-btn.active{border-color:var(--active-border);background:var(--active-bg)}.confirm-alert-row{gap:8px;color:#ffb9c3;font-weight:700}.confirm-alert-icon,.confirm-alert-row{display:inline-flex;align-items:center;font-size:12px}.confirm-alert-icon{width:18px;height:18px;border-radius:999px;justify-content:center;background:#ff637f;color:#fff;font-weight:800}.danger-btn{display:inline-block;padding:10px 14px;border-radius:8px;border:1px solid #b93b55;background:linear-gradient(180deg,#f04466,#d93657);color:#fff;font-weight:700}.chat-input-wrap{position:relative}.mention-menu{position:absolute;left:0;right:0;bottom:calc(100% + 6px);display:grid;grid-gap:2px;gap:2px;padding:6px;border-radius:10px;z-index:12;max-height:190px;overflow:auto}.mention-menu-item{width:100%;text-align:left;background:transparent;color:var(--ink);border:1px solid transparent;border-radius:8px;padding:8px 10px}.mention-menu-item.active,.mention-menu-item:hover{border-color:var(--active-border);background:var(--active-bg)}.login-screen{min-height:100dvh;display:grid;place-items:center;padding:16px;background:radial-gradient(circle at 20% 0,rgba(60,94,140,.25),transparent 45%),linear-gradient(180deg,rgba(8,15,26,.92),rgba(8,15,26,.96))}.login-card{width:min(100%,540px);padding:16px;display:grid;grid-gap:10px;gap:10px;align-content:start}.login-title{margin:0}.login-subtitle{margin:0;color:var(--ink-muted);font-size:14px}.login-form{display:grid;grid-gap:10px;gap:10px;align-content:start}.login-label{margin-bottom:4px;font-size:13px;color:var(--ink-muted)}.login-step2{margin-top:2px;padding:10px;display:grid;grid-gap:10px;gap:10px}.login-back-btn{justify-self:start;padding:8px 12px}.login-gender-box{border:1px solid var(--line);border-radius:10px;padding:8px 10px;display:grid;grid-gap:10px;gap:10px;background:color-mix(in srgb,var(--ghost-bg) 35%,transparent)}.login-gender-box legend{color:var(--ink-muted);font-size:13px;padding:0 6px}.login-gender-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.login-gender-card{border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel) 72%,transparent);color:var(--ink-muted);padding:10px 12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;transition:border-color .2s ease,background .2s ease,color .2s ease,transform .16s ease}.login-gender-card:hover{border-color:color-mix(in srgb,var(--active-border) 80%,transparent);background:color-mix(in srgb,var(--active-bg) 86%,transparent);color:var(--ink)}.login-gender-card.active{border-color:var(--active-border);background:color-mix(in srgb,var(--active-bg) 90%,transparent);color:var(--ink);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--active-border) 55%,transparent)}.login-gender-icon{display:inline-flex;align-items:center;justify-content:center}.legal-content{max-height:220px;overflow:auto;padding:10px}.legal-html{color:var(--ink-muted);line-height:1.45}.legal-accept-grid{display:grid;grid-gap:6px;gap:6px}.legal-check-row{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--ink-muted)}.legal-check-row input{width:15px;height:15px;margin-top:2px}.legal-tabs{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px}.legal-tab{background:transparent;border:1px solid var(--line);color:var(--ink-muted);font-weight:700;padding:9px 10px}.legal-tab.active{border-color:var(--active-border);color:var(--ink);background:var(--active-bg)}.login-error{color:#e46565;font-size:13px}@media (max-width:900px){.login-screen{padding:8px;align-items:start}.login-card{width:100%;min-height:calc(100dvh - 16px);border-radius:12px}.legal-content{max-height:250px}.login-gender-grid{grid-template-columns:1fr}.chat-main{padding:6px}.notify-toast{position:fixed;top:calc(10px + env(safe-area-inset-top));left:10px;right:10px;max-width:none;z-index:80}.chat-topbar{padding:8px 10px}.chat-topbar-actions .ghost,.chat-user-chip{display:none}.chat-topbar-brand strong{font-size:14px}.chat-topbar-brand span{font-size:11px}.chat-topbar-brand{display:none}.chat-mobile-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:2px;gap:2px;width:100%;margin-left:0}.chat-layout{position:relative;overflow:hidden}.chat-layout,.chat-layout.middle-open{grid-template-columns:1fr}.chat-stage{padding:10px}.chat-aside{position:absolute;top:0;right:0;width:100%;height:100%;transform:translateX(110%);transition:transform .2s ease;z-index:14;box-shadow:-20px 0 40px rgba(2,10,20,.55);border-radius:0}.chat-layout.mobile-partial .chat-aside{width:70%}.chat-layout.mobile-full .chat-aside{width:100%}.chat-layout.sidebar-open .chat-aside{transform:translateX(0)}.chat-mobile-dismiss{display:none;position:absolute;inset:0;z-index:13;background:rgba(2,10,20,.42);border:0;padding:0}.chat-layout.middle-open .chat-mobile-dismiss,.chat-layout.sidebar-open .chat-mobile-dismiss,.chat-middle{display:block}.chat-middle{position:absolute;top:8px;left:auto;right:8px;width:min(65vw,420px);bottom:8px;z-index:16;overflow:auto;border-radius:12px;padding:10px}.chat-layout.middle-mobile-full .chat-middle{top:0;right:0;bottom:0;width:100%;border-radius:0;padding:10px;z-index:90}.chat-room{min-height:0;padding-right:8px}.mobile-quick-dock{position:absolute;right:8px;top:50%;transform:translateY(-50%);z-index:7;display:grid;grid-gap:2px;gap:2px;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--panel) 90%,transparent);padding:3px;box-shadow:-8px 8px 24px rgba(0,0,0,.22)}.mobile-quick-dock-btn{width:32px;min-height:32px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--ink-muted);display:grid;place-items:center;grid-gap:2px;gap:2px;padding:2px;font-size:15px;font-weight:700}.mobile-quick-dock-btn.active{color:var(--ink);border-color:var(--active-border);background:var(--active-bg)}.mobile-quick-dock-btn small{font-size:9px;line-height:1;color:var(--ink-muted)}.mobile-quick-symbol{font-size:18px;line-height:1;font-weight:800}.chat-messages{gap:6px;padding:6px 4px 52px}.chat-row{gap:6px}.chat-row.mine{padding-left:16px}.chat-system-message{font-size:10px;padding:3px 8px}.chat-avatar{width:26px;height:26px}.chat-bubble{max-width:min(86%,560px);border-radius:10px;padding:6px 8px}.chat-meta{gap:6px;font-size:10px;margin-bottom:2px}.chat-text{font-size:13px;line-height:1.3}.profile-identity strong{font-size:21px}.profile-avatar.avatar-presence-wrap:after{right:-1px;bottom:-1px;width:12px;height:12px}.profile-avatar-top-badges{inset:0}.profile-avatar-mini-badge{width:20px;height:20px}.profile-avatar-mini-badge:first-child{top:30%}.profile-avatar-mini-badge:last-child{top:42%}.profile-identity div{font-size:13px}.profile-fact-row{padding:7px 8px;font-size:12px}.profile-fact-row span{min-width:64px}.profile-action-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.profile-action-row{gap:6px}.profile-action-row button{padding:8px;font-size:12px;min-height:36px}.profile-action-grid{gap:6px}.profile-action-grid button{min-height:62px;padding:5px 3px;font-size:10px}.profile-action-grid .icon-btn{gap:2px;font-size:10px;line-height:1.1}.profile-action-grid .action-icon svg{width:20px;height:20px}.profile-action-grid button:nth-child(3) .action-icon svg{width:22px;height:22px}.dm-modal{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0;border:0;transform:none!important;z-index:30}.dm-thread-handle{left:auto;right:8px;top:50%;bottom:auto;transform:translateY(-50%);width:34px;height:46px;border-radius:10px}.dm-thread-panel{left:0;top:0;width:70%;height:100%;border-right:1px solid var(--line);border-radius:0;background:var(--panel);overflow:auto}.mobile-top-tab{display:grid;min-height:34px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--ink-muted);place-items:center;padding:2px 0;grid-gap:1px;gap:1px;font-size:11px;font-weight:700}.mobile-top-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;line-height:1}.mobile-top-icon svg{width:18px;height:18px;display:block}.mobile-top-tab.active{border-color:var(--active-border);background:var(--active-bg);color:var(--ink)}.mobile-top-tab small{font-size:10px;line-height:1}.mobile-top-badge{background:#d72c35;color:#fff}.mobile-top-badge,.mobile-top-count-muted{min-width:16px;height:16px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;font-weight:700}.mobile-top-count-muted{background:color-mix(in srgb,var(--line) 65%,transparent);color:var(--ink-muted)}.mobile-room-label{color:var(--ink-muted);letter-spacing:.01em}.mobile-room-tab{border-color:var(--line)}.mobile-room-tab small{letter-spacing:.01em}.right-tabs{display:none}.chat-form{gap:6px;padding-top:6px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}.chat-form .chat-input-wrap input,.dm-compose input{min-height:36px;padding:8px 10px;font-size:13px;border-radius:12px}.dm-compose{gap:6px;padding:8px}.dm-msg{font-size:12px;padding:6px 8px}.dm-msg-time,.dm-thread-preview{font-size:10px}.send-icon-btn{width:36px;height:36px;min-width:36px}.compose-tool-btn{width:46px;height:46px;min-width:46px;border-radius:12px;font-size:20px}.compose-emoji-popover{left:4px;right:4px;bottom:calc(100% + 6px)}.compose-emoji-popover .emoji-menu{width:min(100%,304px)}.emoji-grid{min-height:0}.emoji-items-grid{grid-template-columns:repeat(5,minmax(0,1fr));max-height:142px;padding-right:2px}.emoji-menu-item{width:30px;height:30px;font-size:14px}.emoji-tabs{gap:4px}.emoji-main-tabs{gap:5px}.direct-call-modal{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0;border:0;padding:calc(16px + env(safe-area-inset-top)) 16px calc(18px + env(safe-area-inset-bottom));transform:none!important;z-index:50;background:radial-gradient(120% 90% at 50% -5%,color-mix(in srgb,var(--active-border) 48%,transparent),transparent 65%),linear-gradient(180deg,color-mix(in srgb,var(--chat-surface) 86%,#0a1d31 14%),color-mix(in srgb,var(--chat-surface) 90%,#081426 10%))}.direct-call-head{cursor:default}.direct-call-body{gap:14px}.direct-call-avatar-wrap{width:124px;height:124px}.direct-call-username{font-size:24px}.direct-call-foot .ghost,.direct-call-foot .primary{min-height:46px;border-radius:14px;font-size:13px}.emoji-main-tab{font-size:11px;padding:5px 6px}.emoji-tab{font-size:10px;padding:3px 7px}.emoji-gif-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:210px}.emoji-gif-item img{height:102px}.emoji-gif-item{min-height:102px}.emoji-gif-search-btn{font-size:11px;padding:0 10px}.compose-tool-btn svg{width:20px;height:20px}.compose-audio-state{padding:6px 8px;border-radius:10px}.compose-audio-left{font-size:13px}.compose-audio-time{font-size:12px}.compose-audio-stop{width:36px;height:36px;min-width:36px}.chat-youtube-embed{width:min(100%,280px)}.chat-media-audio{min-width:210px}.room-title-badge{padding:4px 10px;gap:1px}.room-title-badge strong{font-size:13px}.room-title-badge small{font-size:10px}.media-picker-modal{width:min(96vw,500px);max-height:92vh;padding:10px}.media-picker-drop{padding:10px;gap:8px}.image-viewer-back-btn{width:38px;height:38px;min-width:38px}.image-viewer-media{max-width:96vw;max-height:86vh}.chat-sidebar-title,.people-subtab,.room-list-item,.sidebar-user-row{font-size:12px}.dm-header-user strong{font-size:14px}.dm-header-user div{font-size:12px}.message-context-item{font-size:12px;padding:8px 9px}.confirm-modal,.preferences-modal,.profile-settings-modal{width:min(65vw,420px)}.preferences-backdrop{position:fixed;inset:0;z-index:90;background:rgba(2,10,20,.42)}.admin-modal,.admin-submodal,.preferences-modal,.profile-settings-modal,.room-control-modal{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0;border:0}.preferences-body{min-height:0}.guest-upgrade-sheet{width:100%;border-radius:14px 14px 0 0;padding-bottom:calc(14px + env(safe-area-inset-bottom))}.guest-rules-row{font-size:12px}}