*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;user-select:none}input,textarea,select,[contenteditable=true]{user-select:text;font-family:inherit}:root{--bg-base: #141218;--bg-surface: #1e1b24;--bg-raised: #262330;--bg-hover: #302c3a;--bg-active: #382f48;--accent: #e8743f;--accent-hover: #d4672f;--accent-subtle: rgba(232, 116, 63, .12);--accent-purple: #9b59d0;--gradient: linear-gradient(135deg, #e8743f, #c4568a, #9b59d0);--text-primary: #ede8f5;--text-secondary: #ada4be;--text-muted: #726889;--text-link: #e8a43f;--border: #2e2a38;--card-radius: 12px;--card-shadow: inset 1px 1px 2px rgba(255, 255, 255, .05), 0 2px 12px rgba(120, 60, 180, .15);--card-surface: color-mix(in srgb, var(--bg-surface) 70%, transparent);--card-bg: linear-gradient(135deg, color-mix(in srgb, var(--accent) 4%, var(--card-surface)) 0%, var(--card-surface) 40%, var(--card-surface) 60%, color-mix(in srgb, var(--accent-purple) 4%, var(--card-surface)) 100%);--status-online: #4ade80;--status-idle: #f0b232;--status-dnd: #ef4444;--status-offline: #534a66;--danger: #ef4444;--danger-hover: #dc2626;--success: #4ade80;--warning: #f0b232;--badge-bg: #ED4245;--badge-text: #ffffff;--accent-text: #ffffff;--bg-overlay: rgba(0, 0, 0, .7);--mention-bg: rgba(232, 116, 63, .12);--mention-text: #e8a43f;--font: "Noto Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: "SF Mono", "Fira Code", "Consolas", monospace;--font-scale: 1;font-family:var(--font);font-size:calc(15px * var(--font-scale));color:var(--text-primary);background-color:var(--bg-base);-webkit-font-smoothing:antialiased}html,body,#root{height:100%;overflow:hidden;background:radial-gradient(ellipse at 10% 20%,color-mix(in srgb,var(--accent) 6%,transparent) 0%,transparent 50%),radial-gradient(ellipse at 90% 80%,color-mix(in srgb,var(--accent-purple) 6%,transparent) 0%,transparent 50%),var(--bg-base)}html[data-tauri][data-linux]:not([data-maximized]),html[data-tauri][data-linux]:not([data-maximized]) body,html[data-tauri][data-linux]:not([data-maximized]) #root{border-radius:10px}html.engine-active:root{background-color:transparent!important}html.engine-active,html.engine-active body,html.engine-active #root{background:transparent!important}html.engine-active .sidebar,html.engine-active .sidebar-profile{display:none}html.engine-active .titlebar-title{visibility:hidden}html.engine-active .engine-view{position:fixed;inset:0;z-index:-1}button{border:none;background:none;color:inherit;font:inherit;cursor:pointer}.btn-ghost{padding:6px 12px;border-radius:6px;background:transparent;border:none;color:inherit}.btn-membrane{background:transparent;box-shadow:none;transition:color .6s ease,background .6s ease,box-shadow .6s ease}.btn-membrane:hover{background:radial-gradient(ellipse at 50% 42%,rgba(255,255,255,.07) 0%,rgba(255,255,255,.02) 50%,transparent 75%);transition:color .15s ease,background .15s ease,box-shadow .15s ease}.btn-membrane:active{background:radial-gradient(ellipse at 50% 55%,rgba(255,255,255,.03) 0%,transparent 60%);box-shadow:inset 0 1px 3px #00000026;transition:color .05s,background .05s,box-shadow .05s}.btn-keycap{position:relative;box-shadow:none;transition:box-shadow .15s ease,color .15s}.btn-keycap:after{content:"";position:absolute;inset:0;border-radius:inherit;background:transparent;transition:background .15s ease;pointer-events:none}.btn-keycap:hover{box-shadow:inset 0 1px #ffffff0f}.btn-keycap:hover:after{background:radial-gradient(80% 80% at 50% 50%,rgba(255,255,255,.04) 0%,rgba(255,255,255,.015) 60%,transparent 100%)}.btn-keycap:active{box-shadow:inset 0 2px 4px #0003}.btn-keycap:active:after{background:#0000000a}.btn-keycap.active{box-shadow:inset 0 1px color-mix(in srgb,var(--accent) 15%,transparent)}.btn-keycap.active:after{background:radial-gradient(80% 80% at 50% 50%,color-mix(in srgb,var(--accent) 8%,transparent) 0%,color-mix(in srgb,var(--accent) 2%,transparent) 60%,transparent 100%)}.btn-keycap.active:hover{box-shadow:inset 0 1px color-mix(in srgb,var(--accent) 20%,transparent)}.btn-keycap.active:hover:after{background:radial-gradient(80% 80% at 50% 50%,color-mix(in srgb,var(--accent) 12%,transparent) 0%,color-mix(in srgb,var(--accent) 3%,transparent) 60%,transparent 100%)}.btn-keycap.active:active{box-shadow:inset 0 2px 4px #0003}.btn-keycap.active:active:after{background:#0000000a}.btn-gradient{background:var(--gradient);color:#fff;font-weight:600}.btn-gradient:hover{background:var(--gradient);filter:brightness(1.15)}.btn-solid{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 18px;border-radius:8px;font-size:14px;font-weight:600;background:var(--btn-bg);color:var(--btn-text, #fff);border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(0,0,0,.25);box-shadow:inset 0 1px 1px #ffffff14,inset 0 -1px 1px #0000001f,0 2px 4px #00000040,0 1px 1px #00000026;transform:perspective(400px) translateY(0) rotateX(0) rotateY(0) rotate(0);transition:background .15s,box-shadow .2s,transform .2s cubic-bezier(.34,1.56,.64,1)}.btn-solid:hover{background:var(--btn-bg-hover);box-shadow:inset 0 1px 1px #ffffff1a,inset 0 -1px 1px #0000001a,0 6px 16px #0000004d,0 2px 4px #0003;transform:perspective(400px) translateY(-2px) rotateX(3deg) rotateY(-2.5deg) rotate(-1.2deg)}.btn-solid:active{border-top-color:#ffffff0d;box-shadow:inset 0 2px 3px #0003,0 1px 1px #0000001a;transform:perspective(400px) translateY(0) rotateX(0) rotateY(0) rotate(0);transition-duration:.05s}.btn-solid:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-solid--primary{--btn-bg: color-mix(in srgb, var(--accent) 60%, var(--bg-surface));--btn-bg-hover: color-mix(in srgb, var(--accent) 75%, var(--bg-surface))}.btn-solid--good{--btn-bg: color-mix(in srgb, #22c55e 60%, var(--bg-surface));--btn-bg-hover: color-mix(in srgb, #22c55e 75%, var(--bg-surface))}.btn-solid--bad{--btn-bg: color-mix(in srgb, #f97316 60%, var(--bg-surface));--btn-bg-hover: color-mix(in srgb, #f97316 75%, var(--bg-surface))}.btn-solid--warning{--btn-bg: color-mix(in srgb, #eab308 60%, var(--bg-surface));--btn-bg-hover: color-mix(in srgb, #eab308 75%, var(--bg-surface));--btn-text: var(--text-primary)}.btn-solid--danger{--btn-bg: color-mix(in srgb, var(--danger) 60%, var(--bg-surface));--btn-bg-hover: color-mix(in srgb, var(--danger) 75%, var(--bg-surface))}.btn-solid--info{--btn-bg: color-mix(in srgb, #3b82f6 60%, var(--bg-surface));--btn-bg-hover: color-mix(in srgb, #3b82f6 75%, var(--bg-surface))}.textbox{padding:8px 12px;font-size:14px;font-family:inherit;color:var(--text-primary);border:none;border-radius:8px;outline:none;width:100%}.textbox:focus{border-color:var(--accent)}.textbox::placeholder{color:var(--text-muted)}.textbox:disabled{opacity:.5;cursor:not-allowed}.input-hollowed{background:color-mix(in srgb,var(--bg-base) 60%,transparent);box-shadow:inset 2px 2px 4px #00000026,inset -1px -1px 2px #ffffff0a;border:1px solid rgba(255,255,255,.03);border-radius:8px;transition:background .6s ease}.input-hollowed:hover{background:radial-gradient(circle at 33% 33%,#ffffff0a,color-mix(in srgb,var(--bg-base) 60%,transparent) 80%);transition:background .15s ease}.input-hollowed::placeholder,.form-field input::placeholder,.form-field textarea::placeholder{color:var(--text-muted);opacity:.5}.toggle-switch{position:relative;width:52px;height:29px;border-radius:15px;border:1px solid rgba(255,255,255,.03);background:color-mix(in srgb,var(--bg-base) 60%,transparent);box-shadow:inset 2px 2px 4px #00000026,inset -1px -1px 2px #ffffff0a;cursor:pointer;padding:0;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease;flex-shrink:0}.toggle-switch:hover{background:radial-gradient(ellipse at 50% 50%,color-mix(in srgb,var(--accent) 10%,transparent) 0%,transparent 70%),color-mix(in srgb,var(--bg-base) 60%,transparent)}.toggle-switch.active{background:radial-gradient(ellipse at 50% 50%,color-mix(in srgb,var(--accent) 35%,transparent) 0%,color-mix(in srgb,var(--accent) 10%,transparent) 70%,transparent 100%),color-mix(in srgb,var(--bg-base) 60%,transparent);border-color:color-mix(in srgb,var(--accent) 15%,transparent);box-shadow:inset 2px 2px 4px #00000026,inset -1px -1px 2px #ffffff0a,inset 0 0 14px color-mix(in srgb,var(--accent) 25%,transparent)}.toggle-switch.active:hover{background:radial-gradient(ellipse at 50% 50%,color-mix(in srgb,var(--accent) 45%,transparent) 0%,color-mix(in srgb,var(--accent) 14%,transparent) 70%,transparent 100%),color-mix(in srgb,var(--bg-base) 60%,transparent)}.toggle-switch:disabled{opacity:.5;cursor:not-allowed}.toggle-knob{border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.9) 0%,rgba(255,255,255,.3) 30%,transparent 60%),radial-gradient(circle at 50% 50%,#b8b8b8,#888 70%,#666);box-shadow:2px 4px 14px #00000040;pointer-events:none}.toggle-switch-knob{position:absolute;top:3px;left:3px;width:23px;height:23px;transition:transform .2s}.toggle-switch.active .toggle-switch-knob{transform:translate(23px)}.form-stack{display:flex;flex-direction:column;gap:16px}.form-field label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.form-field input[type=text],.form-field input[type=email],.form-field input[type=password],.form-field input[type=number]{width:100%;padding:10px 14px;background:color-mix(in srgb,var(--bg-base) 60%,transparent);box-shadow:inset 2px 2px 4px #00000026,inset -1px -1px 2px #ffffff0a;border:1px solid rgba(255,255,255,.03);border-radius:8px;color:var(--text-primary);font-size:14px;font-family:inherit;outline:none;transition:background .6s ease,border-color .15s}.form-field input[type=text]:hover,.form-field input[type=email]:hover,.form-field input[type=password]:hover,.form-field input[type=number]:hover{background:radial-gradient(circle at 33% 33%,#ffffff0a,color-mix(in srgb,var(--bg-base) 60%,transparent) 80%);transition:background .15s ease,border-color .15s}.form-field input:focus{border-color:var(--accent)}.form-field select{width:100%;padding:10px 14px;background:color-mix(in srgb,var(--bg-base) 60%,transparent);box-shadow:inset 2px 2px 4px #00000026,inset -1px -1px 2px #ffffff0a;border:1px solid rgba(255,255,255,.03);border-radius:8px;color:var(--text-primary);font-size:14px;font-family:inherit;outline:none;transition:background .6s ease,border-color .15s;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.form-field select:hover{background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"),radial-gradient(circle at 33% 33%,#ffffff0a,color-mix(in srgb,var(--bg-base) 60%,transparent) 80%);background-repeat:no-repeat,no-repeat;background-position:right 12px center,center;background-size:auto,100% 100%;transition:background .15s ease,border-color .15s}.form-field select:focus{border-color:var(--accent)}.form-field select option{background:var(--bg-surface);color:var(--text-primary)}.form-field textarea{width:100%;padding:10px 14px;background:color-mix(in srgb,var(--bg-base) 60%,transparent);box-shadow:inset 2px 2px 4px #00000026,inset -1px -1px 2px #ffffff0a;border:1px solid rgba(255,255,255,.03);border-radius:8px;color:var(--text-primary);font-size:14px;font-family:inherit;outline:none;resize:vertical;transition:background .6s ease,border-color .15s}.form-field textarea:hover{background:radial-gradient(circle at 33% 33%,#ffffff0a,color-mix(in srgb,var(--bg-base) 60%,transparent) 80%);transition:background .15s ease,border-color .15s}.form-field textarea:focus{border-color:var(--accent)}.form-field textarea:disabled{opacity:.5;cursor:not-allowed}.form-error{background:#e83f3f26;border:1px solid rgba(232,63,63,.3);color:var(--danger);padding:10px 14px;border-radius:8px;font-size:13px}.btn-submit{width:100%;padding:12px;background:var(--gradient);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:opacity .15s}.btn-submit:hover{opacity:.9}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.input-hollowed:focus{border-color:var(--accent)}.glass-card{background:var(--card-bg);box-shadow:var(--card-shadow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.app{display:flex;height:100%;gap:1px}.main-content{flex:1;display:flex;min-width:0;gap:1px}.space-bar{width:72px;min-width:72px;display:flex;flex-direction:column;align-items:center;padding:12px 0;gap:8px}html.engine-active .space-bar{background:var(--bg-base)}.app-container .space-bar{margin-top:-32px;padding-top:44px}.space-bar-item-wrapper{position:relative;display:flex;align-items:center;width:100%;justify-content:center}.space-pill{position:absolute;left:0;width:4px;height:8px;background:var(--text-primary);border-radius:0 4px 4px 0;transition:height .15s ease;opacity:0}.space-pill.active{opacity:1;height:40px}.space-bar-item-wrapper:hover .space-pill:not(.active){opacity:1;height:20px}.space-bar-item{position:relative;width:48px;height:48px;border-radius:50%;background:var(--card-bg);box-shadow:inset 1px 1px 2px #ffffff0d;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;color:var(--text-secondary);transition:border-radius .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease;overflow:hidden}.space-bar-item:hover,.space-bar-item.active{border-radius:16px;background:var(--accent);box-shadow:none;color:#fff}.space-bar-item.dm-button{background:var(--card-bg)}.space-bar-item.dm-button:hover,.space-bar-item.dm-button.active{background:var(--accent)}.space-bar-item.engine-button{background:var(--bg-raised);color:var(--success);animation:engine-pulse 2s ease-in-out infinite}.space-bar-item.engine-button:hover,.space-bar-item.engine-button.active{background:var(--success);color:#fff;animation:none}@keyframes engine-pulse{0%,to{box-shadow:0 0 #4ade8066}50%{box-shadow:0 0 8px 2px #4ade804d}}.space-bar-item.action-button{background:var(--card-bg);color:var(--accent)}.space-bar-item.action-button:hover{background:var(--gradient);color:#fff}.space-bar-item img{width:100%;height:100%;object-fit:cover}.space-bar-divider{width:32px;height:2px;background:var(--border);border-radius:1px;margin:4px 0}.space-bar-spaces{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;overflow-y:auto;width:100%;scrollbar-width:none}.space-bar-spaces::-webkit-scrollbar{display:none}.space-bar-actions{display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:8px;border-top:2px solid var(--border);margin-top:auto}.sidebar{width:240px;min-width:240px;display:flex;flex-direction:column;gap:8px;margin:8px 0;z-index:1;position:relative}.sidebar-profile{padding:10px 16px;display:flex;flex-direction:column;gap:10px;position:relative;border-radius:var(--card-radius)}.sidebar-profile-row{display:flex;align-items:center;justify-content:space-between}.sidebar-profile-left{display:flex;align-items:center;gap:10px;min-width:0}.sidebar-avatar-wrapper{position:relative;flex-shrink:0}.sidebar-profile-text{display:flex;flex-direction:column;min-width:0}.sidebar-profile-name{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-profile-status{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-icon-btn{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.sidebar-icon-btn:hover{color:var(--text-primary)}.sidebar-icon-btn-badge-wrapper{position:relative}.sidebar-icon-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--badge-bg);color:var(--badge-text);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;pointer-events:none;box-sizing:content-box}.sidebar-voice-controls{display:flex;justify-content:center;gap:16px}.sidebar-voice-circle{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer}.sidebar-voice-circle:hover{color:var(--text-primary)}.sidebar-voice-circle.active{color:#fff;background:#ef444433;border-color:#ef44444d}.sidebar-voice-circle.active:hover{background:#ef44444d}.sidebar-voice-circle.disconnect{color:#fff;background:#ef444459;border-color:#ef444480}.sidebar-voice-circle.disconnect:hover{background:#ef444480}.voice-status-bar{display:flex;align-items:center;gap:4px;padding:6px 8px;margin-bottom:4px;border-radius:8px;background:#22c55e14;border:1px solid rgba(34,197,94,.15)}.voice-status-info{display:flex;align-items:center;gap:6px;flex:1;min-width:0;background:none;border:none;cursor:pointer;padding:2px 4px;border-radius:4px;color:var(--text-secondary);transition:background .15s}.voice-status-info:hover{background:#ffffff0f}.voice-status-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;flex-shrink:0;animation:voice-dot-pulse 2s ease-in-out infinite}@keyframes voice-dot-pulse{0%,to{opacity:1}50%{opacity:.5}}.voice-status-details{display:flex;flex-direction:column;min-width:0;text-align:left}.voice-status-text{font-size:11px;font-weight:600;color:#22c55e;line-height:1.2}.voice-status-channel{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.voice-status-disconnect{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;background:#ef444426;border:1px solid rgba(239,68,68,.25);color:#ef4444;cursor:pointer;flex-shrink:0;transition:background .15s}.voice-status-disconnect:hover{background:#ef44444d}.voice-channel{display:flex;flex-direction:column;height:100%}.voice-channel-header{display:flex;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid var(--border);color:var(--text-primary)}.voice-channel-header h2{margin:0;font-size:16px;font-weight:600}.voice-channel-topic{font-size:13px;color:var(--text-muted)}.voice-channel-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px}.voice-channel-join{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--text-muted);text-align:center}.voice-channel-join p{margin:0;font-size:15px}.voice-channel-join-icon{width:80px;height:80px;border-radius:50%;background:var(--bg-elevated);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.voice-channel-join-icon.connecting{animation:voice-connecting-pulse 1.5s ease-in-out infinite;border-color:#8b5cf666}@keyframes voice-connecting-pulse{0%,to{box-shadow:0 0 #8b5cf64d}50%{box-shadow:0 0 0 12px #8b5cf600}}.voice-join-btn{padding:10px 32px;border-radius:8px;background:#8b5cf633;border:1px solid rgba(139,92,246,.3);color:#c4b5fd;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s}.voice-join-btn:hover{background:#8b5cf64d}.voice-participants-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;padding:20px;max-width:800px;width:100%}.voice-participant{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:100px}.voice-participant-avatar{position:relative;width:72px;height:72px;border-radius:28%;transition:box-shadow .1s ease-out}.voice-participant-avatar .avatar{width:72px;height:72px;font-size:28px}.voice-participant.speaking .voice-participant-avatar{box-shadow:0 0 0 3px #22c55e99,0 0 calc(8px + var(--voice-volume, 0) * 20px) rgba(34,197,94,calc(.2 + var(--voice-volume, 0) * .4))}.voice-speaking-ring{position:absolute;inset:-4px;border-radius:28%;border:2px solid rgba(34,197,94,.6);animation:voice-speaking-ring-pulse 1.2s ease-in-out infinite;pointer-events:none}@keyframes voice-speaking-ring-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.5}}.voice-participant.muted .voice-participant-avatar{opacity:.6}.voice-participant-name{font-size:13px;font-weight:500;color:var(--text-primary);text-align:center;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-participant-icons{display:flex;gap:4px;color:var(--text-muted)}.voice-controls-bar{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;margin-top:auto;border-top:1px solid var(--border)}.voice-control-btn{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.voice-control-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.voice-control-btn.active{background:#ef444433;border-color:#ef44444d;color:#f87171}.voice-control-btn.active:hover{background:#ef44444d}.voice-control-btn.disconnect{background:#ef44444d;border-color:#ef444480;color:#fff}.voice-control-btn.disconnect:hover{background:#ef444480}.voice-control-btn.screen-share.active{background:#6366f133;border-color:#6366f166;color:#818cf8}.voice-control-btn.screen-share.active:hover{background:#6366f14d}.voice-screen-share{display:flex;flex-direction:column;margin:12px;border-radius:8px;overflow:hidden;background:#000;border:1px solid var(--border)}.voice-screen-share-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-elevated);font-size:13px;color:var(--text-secondary)}.voice-screen-share-actions{display:flex;align-items:center;gap:8px}.voice-screen-share-stop-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:4px;border:none;background:#ef44444d;color:#f87171;font-size:12px;cursor:pointer;transition:background .15s}.voice-screen-share-stop-btn:hover{background:#ef444480}.voice-screen-share-crop-btn{display:flex;align-items:center;padding:4px 8px;border-radius:4px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);cursor:not-allowed;opacity:.5}.voice-screen-share-video{width:100%;max-height:60vh;object-fit:contain;background:#000}.voice-participant-screen-indicator{position:absolute;bottom:-2px;right:-2px;width:20px;height:20px;border-radius:50%;background:#6366f1e6;color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-primary)}.space-bar-voice-indicator{position:absolute;bottom:-1px;right:-1px;width:16px;height:16px;border-radius:50%;background:#22c55e;border:3px solid var(--bg-base);display:flex;align-items:center;justify-content:center;color:#fff;box-sizing:content-box;pointer-events:none}.space-bar-voice-indicator svg{width:10px;height:10px}.sidebar-profile-chevron{flex-shrink:0;color:var(--text-muted);opacity:0;transition:opacity .15s}.sidebar-profile-left:hover .sidebar-profile-chevron{opacity:1}.account-switcher{position:absolute;top:calc(100% + 4px);left:8px;right:8px;background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;padding:6px;z-index:100;box-shadow:0 8px 24px #00000059}.account-switcher-header{padding:6px 8px 4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.account-switcher-list{display:flex;flex-direction:column;gap:2px}.account-switcher-item{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px;cursor:pointer;transition:background .1s;position:relative}.account-switcher-item:hover{background:var(--bg-hover)}.account-switcher-item.active{background:var(--bg-active)}.account-switcher-item-info{flex:1;min-width:0;display:flex;flex-direction:column}.account-switcher-item-name{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-switcher-item-username{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-switcher-check{flex-shrink:0;color:var(--accent)}.account-switcher-remove{flex-shrink:0;width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);opacity:0;pointer-events:none;transition:opacity .1s,background .1s,color .1s}.account-switcher-item:hover .account-switcher-remove{opacity:1;pointer-events:auto}.account-switcher-remove:hover{background:#ef444426;color:#f87171}.account-switcher-divider{height:1px;background:var(--border);margin:4px 6px}.account-switcher-add{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:background .1s,color .1s;width:100%}.account-switcher-add:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-search{margin:10px 12px;padding:8px 12px;border-radius:10px;background:var(--bg-base);color:var(--text-muted);font-size:13px;display:flex;align-items:center;gap:8px;cursor:pointer;transition:background .15s}.sidebar-search:hover{background:var(--bg-hover)}.sidebar-nav-card{flex:1;min-height:0;display:flex;flex-direction:column;border-radius:var(--card-radius);overflow:hidden}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:4px 8px 8px;scrollbar-width:thin;scrollbar-color:var(--bg-hover) transparent}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:2px}.sidebar-section{margin-bottom:4px}.sidebar-section-header{display:flex;align-items:center;gap:8px;width:100%;padding:8px;border-radius:8px;font-size:13px;font-weight:600;color:var(--text-secondary);transition:background .1s,color .1s;text-align:left}.sidebar-section-header:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-section-count{margin-left:auto;font-size:11px;font-weight:500;color:var(--text-muted);background:var(--bg-base);padding:1px 6px;border-radius:6px}.sidebar-space-icon{position:relative;width:22px;height:22px;border-radius:6px;background:var(--bg-hover);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--text-muted);transition:background .2s,color .2s;flex-shrink:0}.sidebar-space-icon.active{background:var(--gradient);color:#fff}.sidebar-section-items{padding:2px 0 4px 12px}.sidebar-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;border-radius:8px;font-size:14px;color:var(--text-muted);text-align:left;position:relative}.sidebar-item:hover{color:var(--text-secondary)}.sidebar-item.active{color:var(--text-primary)}.sidebar-item.active .sidebar-item-icon{color:var(--accent)}.sidebar-item.unread{color:var(--text-primary);font-weight:600;background:radial-gradient(ellipse at 50% 50%,rgba(255,255,255,.02) 0%,transparent 70%)}.sidebar-item-icon{color:var(--text-muted);flex-shrink:0;opacity:.7}.sidebar-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-item-avatar-wrapper{position:relative;flex-shrink:0}.sidebar-badge{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.sidebar-badge.mention{background:var(--badge-bg)}.space-bar-badge{position:absolute;bottom:-2px;right:4px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--badge-bg);color:var(--badge-text);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;border:3px solid var(--bg-base);pointer-events:none;box-sizing:content-box}.space-bar-dot{position:absolute;bottom:0;right:8px;width:10px;height:10px;border-radius:50%;background:#fff;border:3px solid var(--bg-base);pointer-events:none;box-sizing:content-box}.space-pill.unread{opacity:1;height:8px}.space-bar-folder{width:100%;display:flex;flex-direction:column;align-items:center;position:relative}.space-bar-folder>.space-bar-item-wrapper{position:relative;z-index:1}.space-bar-item.folder-icon{background:var(--bg-raised);position:relative}.space-bar-item.folder-icon:hover,.space-bar-item.folder-icon.active{border-radius:16px;background:var(--accent);color:#fff}.space-bar-item.folder-icon.drop-inside{border-radius:16px;box-shadow:0 0 0 2px var(--accent),0 0 12px color-mix(in srgb,var(--accent) 40%,transparent);background:color-mix(in srgb,var(--accent) 15%,transparent);transform:scale(1.1);transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.space-folder-stacked{width:40px;height:40px;position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;padding:2px}.space-folder-mini-slot{width:100%;height:100%;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--bg-surface);font-size:10px;font-weight:700;color:var(--text-secondary)}.space-folder-mini-slot img{width:100%;height:100%;object-fit:cover}.space-folder-children{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 0;position:relative;width:100%}.space-folder-children:before{content:"";position:absolute;left:50%;top:-48px;bottom:0;width:48px;transform:translate(-50%);background:var(--bg-raised);border-radius:24px;opacity:.3;z-index:0;pointer-events:none}.space-folder-children .space-bar-item-wrapper{z-index:1}.space-folder-children .space-bar-item{width:36px;height:36px;font-size:14px}.space-folder-rename-input{width:40px;background:var(--bg-input);border:1px solid var(--accent);border-radius:8px;color:var(--text-primary);font-size:10px;text-align:center;padding:2px;outline:none}.space-bar-item-wrapper.dragging{opacity:.4}.space-bar-item-wrapper.drop-before:before{content:"";position:absolute;top:-5px;left:50%;transform:translate(-50%);width:32px;height:2px;background:var(--accent);border-radius:1px;z-index:10}.space-bar-item-wrapper.drop-after:after{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:32px;height:2px;background:var(--accent);border-radius:1px;z-index:10}.space-bar-item-wrapper.drop-inside .space-bar-item{box-shadow:0 0 0 2px var(--accent),0 0 12px color-mix(in srgb,var(--accent) 40%,transparent);border-radius:16px;background:color-mix(in srgb,var(--accent) 15%,transparent);transform:scale(1.1);transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.space-bar-drop-top{width:100%;height:12px;flex-shrink:0;position:relative}.space-bar-drop-top.active:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:32px;height:2px;background:var(--accent);border-radius:1px}.space-bar-folder.drop-before:before{content:"";position:absolute;top:-5px;left:50%;transform:translate(-50%);width:32px;height:2px;background:var(--accent);border-radius:1px;z-index:10}.space-bar-folder.drop-after:after{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:32px;height:2px;background:var(--accent);border-radius:1px;z-index:10}.sidebar-actions{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.sidebar-action-btn{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:8px;font-size:13px;color:var(--text-muted);text-align:left}.sidebar-action-btn:hover{color:var(--text-secondary)}.sidebar-space-title{font-size:15px;font-weight:700;color:var(--text-primary)}.sidebar-channels-header{display:flex;align-items:center;gap:4px;padding:8px 8px 4px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}.sidebar-channels-header span{flex:1}.sidebar-add-channel-btn{width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:4px;color:var(--text-muted);opacity:0;transition:opacity .15s,background .15s,color .15s}.sidebar-section:hover .sidebar-add-channel-btn{opacity:1}.sidebar-add-channel-btn:hover{color:var(--text-primary)}.sidebar-empty{padding:12px 16px;font-size:13px;color:var(--text-muted);font-style:italic}.sidebar-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:24px;text-align:center;color:var(--text-muted)}.sidebar-empty-state p{font-size:14px}.sidebar-footer{padding:8px;border-top:1px solid var(--border)}.sidebar-category{margin-bottom:4px}.sidebar-category-header{display:flex;align-items:center;gap:4px;width:100%;padding:6px 8px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;border-radius:4px;transition:color .1s}.sidebar-category-header:hover{color:var(--text-secondary)}.sidebar-category-header.uncategorized{cursor:default}.sidebar-category-toggle{display:flex;align-items:center;gap:4px;flex:1;background:none;border:none;padding:0;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;text-align:left}.sidebar-category-toggle span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-category-header .sidebar-add-channel-btn{opacity:0;margin-left:auto}.sidebar-category-header:hover .sidebar-add-channel-btn{opacity:1}.sidebar-category-channels{padding-left:4px}.sidebar-empty-channels{padding:16px 8px;text-align:center}.sidebar-create-first-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:13px;color:var(--text-secondary);background:var(--bg-hover);transition:background .15s,color .15s}.sidebar-create-first-btn:hover{background:var(--accent-subtle);color:var(--text-primary)}.avatar{width:40px;height:40px;border-radius:28%;background:var(--gradient);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;color:#fff;flex-shrink:0}.avatar.small{width:32px;height:32px;font-size:13px}.avatar.tiny{width:24px;height:24px;font-size:10px;border-radius:6px}.avatar img{width:100%;height:100%;border-radius:inherit;object-fit:cover}.avatar-has-gif{position:relative}.avatar-has-gif .avatar-static,.avatar-has-gif .avatar-animated{width:100%;height:100%;border-radius:inherit;object-fit:cover;position:absolute;top:0;left:0}.avatar-has-gif .avatar-animated{opacity:0}.message:hover .avatar-has-gif .avatar-animated,.member-item:hover .avatar-has-gif .avatar-animated,.sidebar-profile:hover .avatar-has-gif .avatar-animated,.sidebar-item:hover .avatar-has-gif .avatar-animated,.user-profile-popup .avatar-has-gif .avatar-animated,.settings-account-avatar:hover .avatar-has-gif .avatar-animated{opacity:1}.message:hover .avatar-has-gif .avatar-static,.member-item:hover .avatar-has-gif .avatar-static,.sidebar-profile:hover .avatar-has-gif .avatar-static,.sidebar-item:hover .avatar-has-gif .avatar-static,.user-profile-popup .avatar-has-gif .avatar-static,.settings-account-avatar:hover .avatar-has-gif .avatar-static{opacity:0}.user-cell{display:flex;align-items:center;gap:.5rem;min-width:0}.user-cell.clickable{cursor:pointer;border-radius:4px}.user-cell.clickable:hover{background:var(--bg-modifier-hover)}.user-cell-info{min-width:0}.user-cell-name{display:flex;align-items:center;gap:.25rem;font-weight:500}.user-cell-username{display:block;font-size:.75rem;color:var(--text-muted)}.presence-dot{width:11px;height:11px;border-radius:50%;border:2px solid var(--bg-surface);position:absolute;bottom:-1px;right:-1px}.chat-area{flex:1;min-width:0;display:flex;flex-direction:column}.chat-header{height:52px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;border-radius:var(--card-radius);margin:8px 8px 0;position:relative}.chat-header-left{display:flex;align-items:center;gap:10px;min-width:0}.chat-header-hash{color:var(--accent);flex-shrink:0;opacity:.7}.chat-header-name{font-weight:700;font-size:15px;color:var(--text-primary);white-space:nowrap}.chat-header-name-btn{font-weight:700;font-size:15px;color:var(--text-primary);white-space:nowrap;padding:4px 10px;border-radius:6px;cursor:pointer;border:none}.chat-header-breadcrumb-sep{color:var(--text-muted);font-size:18px;flex-shrink:0;opacity:.5;user-select:none}.chat-header-thread-title{font-weight:600;font-size:15px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.chat-header-divider{width:1px;height:20px;background:var(--border);flex-shrink:0}.chat-header-topic{font-size:13px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header-right{display:flex;align-items:center;gap:2px;flex-shrink:0}.chat-header-btn{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.chat-header-btn:hover{color:var(--text-primary)}.chat-header-btn.active{color:var(--accent);background:radial-gradient(ellipse at 50% 35%,color-mix(in srgb,var(--accent) 10%,transparent) 0%,color-mix(in srgb,var(--accent) 3%,transparent) 70%,transparent 100%)}.chat-header-btn.muted{color:var(--text-muted);opacity:.6}.chat-header-popover-anchor{position:relative}.floating-panel{position:absolute;top:calc(100% + 8px);right:0;min-width:320px;max-width:calc(100vw - 340px);max-height:calc(100vh - 100px);border:1px solid var(--border);border-radius:8px;box-shadow:inset 1px 1px 2px #ffffff0d,0 8px 32px #0006;z-index:100;display:flex;flex-direction:column;overflow:hidden}.notif-popover-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.notif-popover-header h3{margin:0;font-size:15px;font-weight:600;color:var(--text-primary);flex:1}.notif-popover-header svg{color:var(--text-secondary)}.notif-popover-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center}.notif-popover-section{display:flex;flex-direction:column}.notif-popover-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:6px 8px 4px}.notif-popover-options{display:flex;flex-direction:column}.notif-popover-option{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:4px;border:none;background:none;cursor:pointer;color:var(--text-secondary);font-size:13px;text-align:left;width:100%;transition:background .1s}.notif-popover-option:hover{background:var(--bg-hover);color:var(--text-primary)}.notif-popover-option.active{color:var(--accent)}.notif-popover-divider{height:1px;background:var(--bg-border);margin:4px 0}.chat-header-search{display:flex;align-items:center;gap:6px;padding:5px 12px;border-radius:8px;background:var(--bg-base);color:var(--text-muted);font-size:13px;cursor:pointer;width:160px;transition:background .15s}.chat-header-search:hover{background:var(--bg-hover)}.chat-header-search.active{background:var(--bg-active);color:var(--text-primary)}.chat-body{position:relative;flex:1;display:flex;flex-direction:column;overflow:hidden}.jump-to-latest{position:absolute;bottom:80px;left:50%;transform:translate(-50%);z-index:10;display:flex;align-items:center;gap:6px;padding:6px 16px;border:none;border-radius:20px;color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;transition:transform .15s}.jump-to-latest:hover{transform:translate(-50%) translateY(-1px)}.jump-to-latest-arrow{font-size:15px;line-height:1}.chat-messages-wrapper{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--bg-hover) transparent;padding:0 0 28px}.chat-messages-wrapper::-webkit-scrollbar{width:6px}.chat-messages-wrapper::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);gap:8px}.chat-empty h2{font-size:22px;font-weight:700;color:var(--text-primary)}.chat-empty p{font-size:14px;color:var(--text-muted)}.channel-welcome{padding:24px 20px 8px;margin-bottom:8px}.channel-welcome-icon{width:56px;height:56px;border-radius:16px;background:var(--gradient);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;color:#fff;margin-bottom:12px}.channel-welcome h1{font-size:24px;font-weight:800;letter-spacing:-.02em;color:var(--text-primary);margin-bottom:6px;user-select:text}.channel-welcome p{font-size:14px;color:var(--text-muted);line-height:1.5;user-select:text}.unread-separator{display:flex;align-items:center;gap:8px;padding:4px 16px;pointer-events:none}.unread-separator:before,.unread-separator:after{content:"";flex:1;height:2px;border-radius:1px;background:var(--gradient)}.unread-separator-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}.load-more-sentinel{min-height:1px}.load-more-spinner{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 20px;color:var(--text-muted);font-size:13px}.load-more-spinner .spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--text-muted);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.message-list{display:flex;flex-direction:column}.message{position:relative;display:flex;padding:3px 20px 3px 72px;transition:background .6s ease}.message:hover{background:radial-gradient(ellipse at 50% 50%,rgba(255,255,255,.03) 0%,rgba(255,255,255,.01) 60%,transparent 100%);transition:background .15s ease}.full-message{margin-top:18px}.message-avatar{position:absolute;left:20px;top:5px}.message-body{flex:1;min-width:0}.message-header{display:flex;align-items:center;gap:6px;margin-bottom:2px}.message-author{font-size:14px;font-weight:600;color:var(--text-primary);cursor:pointer;transition:color .1s;user-select:text}.message-author:hover{text-decoration:underline}.message-avatar.clickable{cursor:pointer}.message-avatar.clickable:hover .avatar{opacity:.8}.message-timestamp{font-size:11px;color:var(--text-muted)}.message-content{font-size:15px;color:var(--text-secondary);line-height:1.5;word-wrap:break-word;user-select:text}.message-content *{user-select:text}.message-paragraph+.message-paragraph{margin-top:.25em}.message-content.emoji-only{font-size:40px;line-height:1.2}.message-content.emoji-only .custom-emoji{width:40px;height:40px}.message-edited{font-size:10px;color:var(--text-muted);margin-left:4px}.compact-message{margin-top:0}.message-timestamp-gutter{position:absolute;left:20px;width:44px;text-align:right}.compact-timestamp{font-size:10px;color:transparent}.message:hover .compact-timestamp{color:var(--text-muted)}.message-actions{position:absolute;top:-14px;right:20px;display:none;border:1px solid var(--border);border-radius:10px;box-shadow:inset 1px 1px 2px #ffffff0d,0 4px 16px #0006}.message:hover>.message-actions,.message.picker-open>.message-actions{display:flex}.message-actions .message-action-btn:first-child{border-radius:9px 0 0 9px}.message-actions .message-action-btn:last-child{border-radius:0 9px 9px 0}.message-action-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.message-action-btn:hover,.message-action-btn.active{color:var(--accent)}.message-action-btn.danger:hover{color:var(--danger)}.message-reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.reaction-pill{display:flex;align-items:center;gap:4px;padding:2px 8px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:background .1s,border-color .1s;font-size:14px}.reaction-pill:hover{background:var(--bg-hover);border-color:var(--accent)}.reaction-pill.reacted{background:color-mix(in srgb,var(--accent) 15%,transparent);border-color:var(--accent)}.reaction-emoji{font-size:16px;line-height:1}.reaction-count{font-size:12px;color:var(--text-muted);font-weight:500}.reaction-pill.reacted .reaction-count{color:var(--accent)}.reaction-add-btn{display:none;align-items:center;justify-content:center;width:28px;background:transparent;border:1.5px dashed var(--border);border-radius:10px;cursor:pointer;color:var(--text-muted);transition:background .1s,border-color .1s,color .1s;padding:0}.message:hover .reaction-add-btn,.message.picker-open .reaction-add-btn{display:flex}.reaction-add-btn:hover{background:var(--bg-hover);border-color:var(--accent);color:var(--accent)}.reaction-pill-wrapper{position:relative}.reaction-tooltip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--bg-elevated, #1a1a2e);border:1px solid var(--border);border-radius:6px;padding:6px 10px;display:flex;align-items:center;gap:6px;white-space:nowrap;max-width:280px;z-index:100;pointer-events:none;box-shadow:0 2px 8px #0000004d}.reaction-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--border)}.reaction-tooltip-emoji{font-size:20px;line-height:1;flex-shrink:0}.reaction-tooltip-names{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-reference{display:flex;align-items:center;gap:6px;padding:2px 0 4px;font-size:.8rem;color:var(--text-muted);cursor:pointer}.reply-reference:hover,.reply-reference:hover .reply-reference-content{color:var(--text-secondary)}.reply-reference-icon{flex-shrink:0;color:var(--text-muted)}.reply-reference-author{font-weight:600;color:var(--text-secondary);flex-shrink:0}.reply-reference-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted)}.message-highlighted{animation:message-highlight 1.5s ease-out}@keyframes message-highlight{0%{background-color:#5865f233}to{background-color:transparent}}.reply-banner{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg-raised);border-top:1px solid var(--border);border-radius:8px 8px 0 0;margin:0 16px;font-size:.85rem;color:var(--text-muted)}.reply-banner-icon{flex-shrink:0;color:var(--accent)}.reply-banner-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-banner-text strong{color:var(--text-primary)}.reply-banner-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;color:var(--text-muted);transition:background .1s,color .1s}.reply-banner-close:hover{background:var(--bg-hover);color:var(--text-primary)}.typing-indicator{display:flex;align-items:center;gap:6px;padding:0 24px 4px;height:24px;flex-shrink:0}.typing-dots{display:flex;gap:3px;align-items:center}.typing-dots span{width:4px;height:4px;border-radius:50%;background:var(--text-muted);animation:typing-bounce 1.4s infinite ease-in-out}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.typing-text{font-size:12px;color:var(--text-muted);font-weight:500}.message-input-wrapper{padding:0 20px 20px;flex-shrink:0}.message-input-container{display:flex;align-items:flex-end;border-radius:14px;padding:5px 7px;border:none;position:relative}.message-input-btn{width:38px;height:38px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);border-radius:8px;flex-shrink:0}.message-input-btn:hover{color:var(--accent)}.message-input-btn.circular{border-radius:50%}.message-input{flex:1;padding:9px 4px;font-size:15px;color:var(--text-primary);outline:none;max-height:300px;overflow-y:auto;line-height:1.5;word-wrap:break-word;user-select:text}.message-input:empty:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none}.message-input-actions{display:flex;flex-shrink:0}.send-btn{color:var(--accent);transition:color .1s,opacity .1s}.send-btn:hover{color:var(--accent-hover)}.send-btn.send-cooldown{opacity:.5;cursor:not-allowed}.cooldown-text{font-size:12px;font-weight:600;color:var(--text-muted);min-width:22px;text-align:center}.message-input-container.shake{animation:shake .4s ease-in-out;box-shadow:0 0 0 2px color-mix(in srgb,var(--error) 25%,transparent)!important}.slow-mode-select{width:100%;padding:8px 12px;background:var(--bg-base);border:1px solid var(--bg-hover);border-radius:6px;color:var(--text-primary);font-size:calc(14px * var(--font-scale, 1));cursor:pointer;transition:border-color .15s}.slow-mode-select:hover{border-color:var(--accent)}.slow-mode-select:focus{outline:none;border-color:var(--accent)}.slow-mode-select:disabled{opacity:.5;cursor:not-allowed}.reply-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;margin-bottom:8px;background:var(--bg-surface);border-radius:10px;border:1px solid var(--border)}.reply-bar-content{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:13px;min-width:0}.reply-bar-content svg{flex-shrink:0;color:var(--accent)}.reply-bar-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-bar-text strong{color:var(--text-primary);font-weight:600}.reply-bar-close{padding:4px;color:var(--text-muted);border-radius:4px;transition:color .1s,background .1s;flex-shrink:0}.reply-bar-close:hover{color:var(--text-primary);background:var(--bg-hover)}.reply-ping-toggle{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);user-select:none;padding:4px 8px;border-radius:4px}.reply-context{display:flex;align-items:center;gap:6px;padding:4px 0;margin-bottom:4px;font-size:12px;color:var(--text-muted);cursor:pointer;transition:color .1s}.reply-context:hover{color:var(--text-secondary)}.reply-context-icon{flex-shrink:0;color:var(--text-muted)}.reply-context-author{font-weight:600;color:var(--text-secondary)}.reply-context-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.member-panel{width:260px;min-width:260px;border-radius:var(--card-radius);margin:8px 8px 8px 0;overflow:hidden;position:relative;z-index:1}.member-panel.glass-card{background:color-mix(in srgb,var(--bg-surface) 40%,transparent);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.member-list{width:100%;min-width:unset;background:transparent;padding:16px 10px 0;overflow-y:auto;height:100%;scrollbar-width:thin;scrollbar-color:var(--bg-hover) transparent}.member-list-search{display:flex;align-items:center;gap:6px;padding:5px 12px;margin-bottom:8px;color:var(--text-muted);font-size:13px;cursor:pointer}.member-list-search.active{color:var(--text-primary)}.member-list::-webkit-scrollbar{width:4px}.member-list::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:2px}.member-group-header{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:14px 8px 6px}.member-item{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:8px;cursor:pointer;transition:background .1s}.member-item:hover{background:var(--bg-hover)}.member-item.offline{opacity:.3}.member-avatar-wrapper{position:relative;flex-shrink:0}.member-info{min-width:0}.member-name{font-size:13px;font-weight:500;color:var(--text-secondary);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;user-select:text}.member-item:hover .member-name{color:var(--text-primary)}.member-custom-status{font-size:11px;color:var(--text-muted);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pinned-messages-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.pinned-messages-header h3{margin:0;font-size:15px;font-weight:600;color:var(--text-primary);flex:1}.pinned-messages-header svg{color:var(--text-secondary)}.pinned-messages-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center}.pinned-messages-content{flex:1;overflow-y:auto;padding:8px}.pinned-messages-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:var(--text-muted)}.pinned-messages-empty svg{margin-bottom:16px;opacity:.5}.pinned-messages-empty p{font-size:16px;font-weight:500;color:var(--text-secondary);margin:0 0 8px}.pinned-messages-empty span{font-size:13px}.pinned-message{display:flex;gap:12px;padding:12px;border-radius:8px;background:var(--bg-primary);margin-bottom:8px}.pinned-message:hover{background:var(--bg-hover)}.pinned-message-avatar .avatar{width:36px;height:36px;font-size:14px}.pinned-message-body{flex:1;min-width:0}.pinned-message-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.pinned-message-author{font-size:14px;font-weight:600;color:var(--text-primary)}.pinned-message-timestamp{font-size:11px;color:var(--text-muted)}.pinned-message-content{font-size:14px;color:var(--text-secondary);line-height:1.4;word-wrap:break-word;white-space:pre-wrap}.pinned-message-actions{display:flex;gap:8px;margin-top:8px}.pinned-message-actions button{background:transparent;border:none;color:var(--accent);cursor:pointer;font-size:12px;padding:4px 8px;border-radius:4px}.pinned-message-actions button:hover{background:var(--bg-hover);text-decoration:underline}.pinned-message-actions button.danger{color:var(--danger)}.search-panel{display:flex;flex-direction:column;overflow:hidden;height:100%;width:100%}.search-panel-header{padding:10px;display:flex;flex-direction:column;gap:8px}.search-panel-input-row{display:flex;align-items:center;gap:6px;padding:5px 12px;font-size:13px}.search-panel-icon{color:var(--text-muted);flex-shrink:0}.search-panel-input{flex:1;background:none;border:none;outline:none;color:var(--text-primary);font-size:13px;font-family:inherit}.search-panel-input::placeholder{color:var(--text-muted)}.search-panel-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center}.search-panel-close:hover{color:var(--text-primary);background:var(--bg-hover)}.search-panel-filter-toggle{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--text-muted);font-size:12px;cursor:pointer;padding:2px 4px;border-radius:4px;align-self:flex-start}.search-panel-filter-toggle:hover{color:var(--text-primary)}.search-panel-filters{display:flex;flex-direction:column;gap:6px}.search-filter-row{display:flex;align-items:center;gap:8px}.search-filter-row label{font-size:12px;color:var(--text-muted);width:52px;flex-shrink:0}.search-filter-row select,.search-filter-row input[type=date]{flex:1;background:var(--bg-active);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:12px;padding:4px 6px;height:28px;font-family:inherit}.search-filter-row select:focus,.search-filter-row input[type=date]:focus{outline:none;border-color:var(--accent)}.search-panel-results{flex:1;overflow-y:auto;padding:8px 0}.search-panel-count{font-size:12px;color:var(--text-muted);padding:4px 12px 8px}.search-panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.search-panel-empty svg{color:var(--text-muted);margin-bottom:12px;opacity:.5}.search-panel-empty p{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 4px}.search-panel-empty span{color:var(--text-muted);font-size:13px}.search-result{padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--border)}.search-result:hover{background:var(--bg-hover)}.search-result:last-child{border-bottom:none}.search-result-channel-badge{display:flex;align-items:center;gap:3px;font-size:11px;color:var(--text-muted);margin-bottom:4px}.search-result-body{display:flex;gap:8px}.search-result-avatar{flex-shrink:0;margin-top:2px}.search-result-content{flex:1;min-width:0}.search-result-header{display:flex;align-items:baseline;gap:6px;margin-bottom:2px}.search-result-author{font-size:13px;font-weight:600;color:var(--text-primary)}.search-result-timestamp{font-size:11px;color:var(--text-muted)}.search-result-highlight{font-size:13px;color:var(--text-secondary);line-height:1.4;word-break:break-word}.search-result-highlight mark{background:#e8743f40;color:var(--text-primary);border-radius:2px;padding:0 2px}.search-panel-loading{display:flex;justify-content:center;padding:16px}.search-panel-loading .spin{animation:spin 1s linear infinite}.search-panel-load-more{display:block;width:calc(100% - 24px);margin:8px 12px;padding:8px;background:var(--bg-active);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:13px;cursor:pointer;text-align:center}.search-panel-load-more:hover{background:var(--bg-hover);color:var(--text-primary)}.inbox-modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;width:100%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.inbox-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.inbox-header h3{margin:0;font-size:15px;font-weight:600;color:var(--text-primary);flex:1}.inbox-header svg{color:var(--text-secondary)}.inbox-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center}.inbox-content{flex:1;overflow-y:auto;padding:4px 0}.inbox-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:var(--text-muted)}.inbox-empty svg{color:var(--text-muted);opacity:.5;margin-bottom:12px}.inbox-empty p{font-size:15px;font-weight:600;color:var(--text-secondary);margin:0 0 4px}.inbox-empty span{font-size:13px}.inbox-item{display:flex;gap:12px;padding:10px 16px;cursor:pointer;transition:background .1s}.inbox-item:hover{background:var(--bg-hover)}.inbox-item-icon{flex-shrink:0;padding-top:2px}.inbox-item-body{flex:1;min-width:0}.inbox-item-header{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-bottom:2px}.inbox-item-author{font-size:13px;font-weight:600;color:var(--text-primary)}.inbox-item-context{font-size:12px;color:var(--text-muted);display:inline-flex;align-items:center;gap:2px}.inbox-item-context strong{color:var(--text-secondary)}.inbox-item-context svg{flex-shrink:0}.inbox-item-preview{font-size:13px;color:var(--text-secondary);line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:2px 0}.inbox-item-meta{display:flex;align-items:center;gap:8px;margin-top:2px}.inbox-item-space{font-size:11px;color:var(--text-muted);background:var(--bg-active);padding:1px 6px;border-radius:3px}.inbox-item-time{font-size:11px;color:var(--text-muted)}.inbox-item-actions{display:flex;gap:8px;margin-top:6px}.inbox-action-accept,.inbox-action-decline{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:4px;border:none;font-size:12px;font-weight:500;cursor:pointer;transition:background .1s}.inbox-action-accept{background:var(--accent);color:#fff}.inbox-action-accept:hover{filter:brightness(1.1)}.inbox-action-decline{background:var(--bg-active);color:var(--text-secondary)}.inbox-action-decline:hover{background:var(--bg-hover);color:var(--text-primary)}.inbox-item-handled{font-size:12px;color:var(--text-muted);font-style:italic;margin-top:4px}.inbox-item-friend-request{cursor:default}@media(max-width:768px){.inbox-panel{position:fixed;inset:0;width:100%;max-width:100%;max-height:100%;border-radius:0;z-index:1000}}.message.pinned{background:rgba(var(--accent-rgb, 88, 101, 242),.05)}.message-pinned-icon{color:var(--accent);margin-left:4px}.chat-header-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;background:var(--danger);border-radius:8px;font-size:10px;font-weight:600;color:#fff;display:flex;align-items:center;justify-content:center;padding:0 4px}.chat-header-btn{position:relative}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}::selection{background:#e8743f40;color:var(--text-primary)}.auth-page{display:flex;align-items:center;justify-content:center;height:100%;padding:20px;overflow-y:auto}.auth-card{border-radius:16px;padding:40px;width:100%;max-width:420px}.auth-header{text-align:center;margin-bottom:32px}.auth-logo{font-size:32px;font-weight:800;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}.auth-logo-img{width:80px;height:80px;margin-bottom:12px;-webkit-user-drag:none}.auth-subtitle{color:var(--text-secondary);font-size:14px;transition:opacity .3s ease,transform .3s ease}.auth-subtitle.fade-in{opacity:1;transform:translateY(0)}.auth-subtitle.fade-out{opacity:0;transform:translateY(-8px)}.auth-action-btn{width:100%;padding:12px;font-size:14px}.auth-switch{text-align:center;margin-top:20px;color:var(--text-muted);font-size:13px}.auth-switch button{background:none;border:none;color:var(--accent);cursor:pointer;font-size:13px;font-family:inherit}.auth-switch button:hover{text-decoration:underline}.auth-divider{text-align:center;color:var(--text-muted);margin:16px 0;position:relative;font-size:13px}.auth-divider:before,.auth-divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:var(--border)}.auth-divider:before{left:0}.auth-divider:after{right:0}.oauth-buttons{display:flex;flex-direction:column;gap:8px;padding:0 24px;margin-bottom:16px}.oauth-btn{--btn-bg: var(--bg-raised);--btn-bg-hover: var(--bg-hover);width:100%;gap:10px;padding:10px}.oauth-btn.apple{--btn-bg: #111;--btn-bg-hover: #1a1a1a}.auth-2fa-prompt{text-align:center;color:var(--text-secondary);font-size:.9em;margin-bottom:16px;line-height:1.5}.auth-back-btn{display:block;margin:12px auto 0;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.85em}.auth-back-btn:hover{color:var(--text-secondary)}.auth-forgot-btn{display:block;width:100%;text-align:right;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.85em;padding:4px 0;margin-top:-8px;margin-bottom:8px}.auth-forgot-btn:hover{color:var(--accent);text-decoration:underline}.landing-container{max-width:520px;width:100%;padding:20px}.landing-hero{text-align:center;margin-bottom:40px}.landing-logo{width:100px;height:100px;margin-bottom:16px;-webkit-user-drag:none}.landing-title{font-size:48px;font-weight:800;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 8px}.landing-tagline{color:var(--text-secondary);font-size:18px;margin:0 0 16px}.landing-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:#6366f126;border:1px solid rgba(99,102,241,.3);border-radius:20px;color:var(--accent);font-size:13px;font-weight:600}.landing-features{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}.landing-feature{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:var(--card-radius);transition:border-color .15s}.landing-feature:hover{border-color:color-mix(in srgb,var(--accent) 25%,transparent)}.landing-feature-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--gradient);border-radius:8px;color:#fff}.landing-feature-text h3{margin:0;font-size:13px;font-weight:600;color:var(--text-primary)}.landing-feature-text p{margin:0;font-size:12px;color:var(--text-secondary);line-height:1.3}.landing-notice{display:flex;gap:12px;padding:14px 16px;border-radius:var(--card-radius);margin-bottom:24px;color:var(--warning)}.landing-notice svg{flex-shrink:0;margin-top:2px}.landing-notice strong{display:block;font-size:14px;margin-bottom:4px}.landing-notice p{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.4}.landing-actions{display:flex;justify-content:center;gap:10px}.landing-btn-main{padding:12px 32px;font-size:15px}.landing-btn-alt{--btn-bg: var(--bg-raised);--btn-bg-hover: var(--bg-hover);padding:12px 32px;font-size:15px}.landing-download{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:8px;font-size:13px;color:var(--text-secondary);text-decoration:none;transition:color .15s}.landing-download:hover{color:var(--text-primary)}.invite-landing-icon{width:80px;height:80px;border-radius:28%;background:var(--gradient);display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;color:#fff;margin:0 auto 20px;overflow:hidden}.invite-landing-icon img{width:100%;height:100%;object-fit:cover}.invite-landing-label{color:var(--text-secondary);font-size:15px;margin:0 0 4px}.invite-landing-members{display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;color:var(--text-muted);margin-top:12px}.invite-landing-expired{text-align:center}.invite-landing-expired p{color:var(--text-muted);font-size:15px;margin:0 0 16px}.auth-invite-hint{font-size:13px;color:var(--text-muted);margin:0 0 4px}.auth-invite-hint strong{color:var(--text-secondary)}.security-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;margin-bottom:16px;overflow:hidden}.security-section-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border);color:var(--text-primary)}.security-section-header h3{font-size:.95em;font-weight:600;flex:1}.security-badge{font-size:.75em;padding:2px 8px;border-radius:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.security-badge.enabled{background:#4ade8026;color:var(--success)}.security-badge.disabled{background:#72688933;color:var(--text-muted)}.security-section-body{padding:16px}.security-description{color:var(--text-secondary);font-size:.85em;line-height:1.5;margin-bottom:12px}.security-action-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;border:none;background:var(--accent);color:#fff;font-size:.85em;font-weight:500;cursor:pointer;transition:background .15s}.security-action-btn:hover{background:var(--accent-hover)}.security-action-btn:disabled{opacity:.6;cursor:not-allowed}.security-action-btn.danger{background:var(--danger)}.security-action-btn.danger:hover{background:var(--danger-hover)}.security-action-btn.secondary{background:var(--bg-tertiary);color:var(--text-primary)}.security-action-btn.secondary:hover{background:var(--bg-hover)}.security-toggle{display:flex;align-items:center;gap:.75rem;margin-bottom:4px}.security-hint{font-size:.8rem;color:var(--text-muted);margin:4px 0 12px;line-height:1.4}.security-passkey-actions{display:flex;gap:8px;flex-wrap:wrap}.security-test-fail{color:var(--danger);font-size:.85rem;margin-top:8px}.security-qr-container{display:flex;justify-content:center;padding:16px;margin-bottom:12px;background:#fff;border-radius:8px;width:fit-content;margin-left:auto;margin-right:auto}.security-secret-manual{margin-bottom:16px;color:var(--text-secondary);font-size:.85em}.security-secret-manual summary{cursor:pointer;margin-bottom:8px}.security-secret-manual code{display:block;background:var(--bg-raised);padding:8px 12px;border-radius:4px;font-family:var(--font-mono);font-size:.9em;word-break:break-all;color:var(--text-primary);user-select:text}.security-inline-form{display:flex;gap:8px;align-items:center}.security-inline-form input{flex:1;min-width:0;padding:8px 12px;border-radius:6px;border:1px solid var(--border);background:var(--bg-raised);color:var(--text-primary);font-size:.9em;font-family:var(--font-mono);letter-spacing:2px;text-align:center}.security-inline-form input:focus{outline:none;border-color:var(--accent)}.security-inline-form button{padding:8px 16px;border-radius:6px;border:none;background:var(--accent);color:#fff;font-size:.85em;font-weight:500;cursor:pointer;white-space:nowrap}.security-inline-form button:hover{background:var(--accent-hover)}.security-inline-form button:disabled{opacity:.6;cursor:not-allowed}.security-inline-form button.danger{background:var(--danger)}.security-inline-form button.danger:hover{background:var(--danger-hover)}.security-inline-form button.cancel{background:var(--bg-raised);color:var(--text-secondary)}.security-inline-form button.cancel:hover{background:var(--bg-hover)}.security-backup-warning{background:#f0b2321a;border:1px solid rgba(240,178,50,.3);border-radius:6px;padding:12px;color:var(--warning);font-size:.85em;line-height:1.5;margin-bottom:12px}.security-backup-codes{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:16px}.security-backup-codes code{background:var(--bg-raised);padding:8px;border-radius:4px;font-family:var(--font-mono);font-size:.9em;text-align:center;color:var(--text-primary);user-select:text}.security-passkey-list{margin-bottom:12px}.security-passkey-row{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;background:var(--bg-raised);margin-bottom:6px;color:var(--text-secondary)}.security-passkey-name{flex:1;color:var(--text-primary);font-size:.9em}.security-passkey-date{font-size:.8em;color:var(--text-muted)}.security-passkey-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px}.security-passkey-delete:hover{color:var(--danger);background:#ef44441a}.security-session-list{margin-bottom:12px}.security-session-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:6px;background:var(--bg-raised);margin-bottom:6px;color:var(--text-secondary)}.security-session-row.current{border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--bg-raised))}.security-session-details{flex:1;min-width:0}.security-session-device{color:var(--text-primary);font-size:.9em;display:flex;align-items:center;gap:8px}.security-session-current-badge{font-size:.75em;color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent);padding:1px 6px;border-radius:4px;font-weight:500}.security-session-meta{font-size:.8em;color:var(--text-muted);display:flex;gap:12px;margin-top:2px}.app-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-base)}.app-loading-content{text-align:center}.app-loading-content h1{font-size:36px;font-weight:800;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:12px}.app-loading-content p{color:var(--text-secondary);font-size:14px}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-card{border-radius:16px;padding:32px;width:100%;max-width:480px}.modal-card.glass-card{background:color-mix(in srgb,var(--bg-surface) 50%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.modal-header:not(:has(h2)){margin-bottom:0}.modal-header h2{font-size:20px;font-weight:700;color:var(--text-primary)}.modal-close{display:flex;align-items:center;justify-content:center;margin-left:auto;width:32px;height:32px;border-radius:50%;border:none;color:var(--text-muted);cursor:pointer;padding:0;flex-shrink:0}.modal-form{display:flex;flex-direction:column;gap:12px}.modal-form>.btn-solid{align-self:flex-end}.modal-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.modal-label+.input-hollowed,.modal-label+.dropdown{margin-top:-4px}.modal-error{background:#e83f3f26;border:1px solid rgba(232,63,63,.3);color:var(--danger);padding:10px 14px;border-radius:8px;font-size:13px}.add-space-tabs{display:flex;gap:0;margin:-8px 0 16px;border-bottom:1px solid var(--border-subtle)}.add-space-tab{flex:1;padding:10px 16px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:.875rem;font-weight:600;cursor:pointer;transition:color .15s,border-color .15s}.add-space-tab:hover{color:var(--text-primary)}.add-space-tab.active{color:var(--text-primary);border-bottom-color:var(--accent)}.join-space-preview{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-surface);border-radius:8px;margin-bottom:12px}.join-space-preview-icon{width:48px;height:48px;border-radius:12px;background:var(--bg-raised);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:var(--text-primary);flex-shrink:0;overflow:hidden}.join-space-preview-icon img{width:100%;height:100%;object-fit:cover}.join-space-preview-info{min-width:0}.join-space-preview-name{font-size:.9375rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.join-space-preview-desc{font-size:.8125rem;color:var(--text-muted);margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.join-space-preview-members{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--text-muted);margin-top:4px}.radio-group{display:flex;flex-direction:column;gap:8px}.radio-card{display:flex!important;align-items:center;gap:12px;padding:10px 14px;background:var(--bg-base);border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:inherit;text-transform:none;letter-spacing:normal;font-weight:400;margin-bottom:0;transition:border-color .15s,background .15s}.radio-card:hover{background:var(--bg-hover)}.radio-card.selected{border-color:var(--accent);background:rgba(var(--accent-rgb, 88, 101, 242),.08)}.radio-card input[type=radio]{display:none}.radio-card-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--bg-hover);color:var(--text-secondary);flex-shrink:0}.radio-card.selected .radio-card-icon{background:var(--accent);color:#fff}.radio-card-content{display:flex;flex-direction:column;gap:2px}.radio-card-label{font-size:14px;font-weight:600;color:var(--text-primary)}.radio-card-desc{font-size:12px;color:var(--text-muted)}.radio-group-compact{flex-direction:row;gap:8px}.radio-option{display:flex!important;align-items:center;gap:8px;padding:8px 14px;background:var(--bg-base);text-transform:none;letter-spacing:normal;font-weight:400;margin-bottom:0;border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:13px;color:var(--text-secondary);transition:border-color .15s,background .15s,color .15s;white-space:nowrap}.radio-option:hover{background:var(--bg-hover);color:var(--text-primary)}.radio-option.selected{border-color:var(--accent);color:var(--text-primary);background:rgba(var(--accent-rgb, 88, 101, 242),.08)}.radio-option input[type=radio]{display:none}.sidebar-profile-actions{display:flex;gap:4px}.sidebar-section-header-row{display:flex;align-items:center}.sidebar-section-header-row .sidebar-section-header{flex:1;min-width:0;flex-direction:row;flex-wrap:nowrap}.sidebar-section-header-row .sidebar-space-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-gear-btn{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);opacity:0;transition:opacity .15s,background .15s,color .15s;flex-shrink:0;margin-right:4px}.sidebar-section-header-row:hover .sidebar-gear-btn{opacity:1}.sidebar-gear-btn:hover{color:var(--text-primary)}.tooltip{z-index:9999;pointer-events:none;padding:6px 12px;background:var(--bg-raised);color:var(--text-primary);font-size:13px;font-weight:600;line-height:1.3;border-radius:6px;box-shadow:0 4px 16px #0006;white-space:nowrap;transition:opacity .12s ease;border:1px solid var(--border)}.tooltip-arrow{position:absolute;width:0;height:0}.tooltip-top .tooltip-arrow{bottom:-5px;left:50%;transform:translate(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid var(--bg-raised)}.tooltip-bottom .tooltip-arrow{top:-5px;left:50%;transform:translate(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid var(--bg-raised)}.tooltip-left .tooltip-arrow{right:-5px;top:50%;transform:translateY(-50%);border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid var(--bg-raised)}.tooltip-right .tooltip-arrow{left:-5px;top:50%;transform:translateY(-50%);border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid var(--bg-raised)}.context-menu{position:fixed;z-index:2000;background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;padding:6px;min-width:180px;box-shadow:0 8px 32px #00000080}.context-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border-radius:6px;font-size:13px;color:var(--text-secondary);transition:background .1s,color .1s;text-align:left}.context-menu-item:hover{background:var(--accent-subtle);color:var(--text-primary)}.context-menu-item.disabled{opacity:.4;cursor:default;pointer-events:none}.context-menu-item.danger{color:var(--danger)}.context-menu-item.danger:hover{background:#ef44441f;color:var(--danger)}.context-menu-item-icon{display:flex;align-items:center;flex-shrink:0;color:inherit}.context-menu-separator{height:1px;background:var(--border);margin:4px 6px}.context-menu-submenu-wrapper{position:relative}.context-menu-item-has-submenu{justify-content:flex-start}.context-menu-chevron{margin-left:auto;opacity:.5;flex-shrink:0}.context-menu-submenu{position:absolute;top:-6px;background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;padding:6px;min-width:170px;box-shadow:0 8px 32px #00000080;z-index:2001}.context-menu-submenu.right{left:100%;margin-left:4px}.context-menu-submenu.left{right:100%;margin-right:4px}.context-menu-submenu-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border-radius:6px;font-size:13px;color:var(--text-secondary);transition:background .1s,color .1s;text-align:left}.context-menu-submenu-item:hover{background:var(--accent-subtle);color:var(--text-primary)}.context-menu-submenu-check{width:16px;text-align:center;flex-shrink:0;font-size:12px}.context-menu-checkmark{color:var(--accent);font-weight:700}.context-menu-checkbox-empty{display:inline-block;width:12px;height:12px;border:1.5px solid var(--text-muted);border-radius:3px}.context-menu-submenu-dot{width:10px;height:10px;border-radius:50%;background:var(--text-muted);flex-shrink:0}.context-menu-submenu-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-menu-submenu-empty{padding:8px 12px;font-size:12px;color:var(--text-muted);font-style:italic}.message.editing{background:var(--bg-surface)}.inline-edit{margin-top:2px}.inline-edit-textarea{width:100%;padding:8px 10px;background:var(--bg-base);border:1px solid var(--accent);border-radius:6px;color:var(--text-primary);font-size:15px;font-family:inherit;line-height:1.5;outline:none;resize:none;overflow:hidden;user-select:text}.inline-edit-hint{font-size:11px;color:var(--text-muted);margin-top:4px}.confirm-dialog{border:1px solid var(--border);border-radius:16px;padding:28px;width:100%;max-width:420px}.confirm-message{color:var(--text-secondary);font-size:14px;line-height:1.6;margin-bottom:24px}.confirm-actions{display:flex;justify-content:flex-end;gap:10px}.mute-dialog{max-width:440px}.mute-duration-chips{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.mute-duration-chip{padding:6px 14px;border-radius:6px;font-size:13px;font-weight:500;background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;transition:all .15s}.mute-duration-chip:hover{background:var(--bg-active);color:var(--text-primary)}.mute-duration-chip.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.mute-reason-input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:14px;font-family:inherit;resize:none;margin-bottom:20px;outline:none;transition:border-color .15s}.mute-reason-input:focus{border-color:var(--accent)}.mute-reason-input::placeholder{color:var(--text-muted)}.member-muted-badge{color:var(--text-muted);opacity:.7;flex-shrink:0}.muted-until-badge{font-size:11px;color:var(--danger, #e74c3c);background:#e74c3c1a;padding:2px 8px;border-radius:4px;white-space:nowrap}.btn-secondary{padding:9px 18px;border-radius:8px;font-size:14px;font-weight:500;background:var(--bg-hover);color:var(--text-secondary);transition:background .15s,color .15s}.btn-secondary:hover{background:var(--bg-active);color:var(--text-primary)}.btn-danger{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:8px;font-size:14px;font-weight:600;background:var(--danger-hover);color:var(--accent-text);transition:background .15s}.btn-danger:hover{background:var(--danger-hover)}.settings-modal{max-width:580px;max-height:80vh;display:flex;flex-direction:column}.settings-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:20px}.settings-tab{padding:10px 20px;font-size:13px;font-weight:600;color:var(--text-muted);border-bottom:2px solid transparent;transition:color .15s,border-color .15s;margin-bottom:-1px;display:flex;align-items:center;gap:6px}.settings-tab:hover{color:var(--text-secondary)}.settings-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.settings-body{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--bg-hover) transparent}.settings-tab-content{display:flex;flex-direction:column;gap:16px}.tos-content{line-height:1.6;color:var(--text-secondary);user-select:text}.tos-content *{user-select:text}.tos-content h3{color:var(--text-primary);margin-bottom:4px}.tos-content h4{color:var(--text-primary);font-size:14px;margin-top:8px}.tos-content p{font-size:13px;margin:0}.tos-effective{color:var(--text-muted);font-size:12px!important}.tos-content ul{margin:4px 0 0;padding-left:20px;font-size:13px}.tos-content li{margin-bottom:2px}.save-scope{display:flex;flex-direction:column;gap:16px;padding:16px;border-radius:12px;border:1px solid transparent;perspective:1200px;transform-style:preserve-3d;transition:border-color .3s,box-shadow .3s}.save-scope.has-changes{border:1px solid transparent;background:linear-gradient(var(--bg-surface),var(--bg-surface)) padding-box,var(--gradient) border-box;box-shadow:0 0 16px #e8743f14,0 0 16px #9b59d014}.save-scope-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.save-scope-discard{padding:9px 10px}@keyframes save-scope-shake{0%{transform:translate(0) rotateX(0) rotateY(0) rotate(0);box-shadow:0 0 #ef444400}2%{transform:translate(0) rotateX(-2deg) rotateY(0) rotate(0);box-shadow:0 0 20px #ef444440}10%{transform:translate(-6px) rotateX(-2deg) rotateY(3deg) rotate(-1.5deg);box-shadow:0 0 30px #ef444459}22%{transform:translate(6px) rotateX(-2deg) rotateY(-3deg) rotate(1.5deg);box-shadow:0 0 30px #ef444459}30%{transform:translate(-5px) rotateX(-1.5deg) rotateY(2.5deg) rotate(-1.2deg);box-shadow:0 0 25px #ef44444d}38%{transform:translate(5px) rotateX(-1deg) rotateY(-2deg) rotate(1.2deg);box-shadow:0 0 25px #ef44444d}48%{transform:translate(-3px) rotateX(-.5deg) rotateY(1.5deg) rotate(-.8deg);box-shadow:0 0 16px #ef444433}58%{transform:translate(3px) rotateY(-1deg) rotate(.8deg);box-shadow:0 0 12px #ef444426}70%{transform:translate(-1px) rotateY(.5deg) rotate(-.3deg);box-shadow:0 0 6px #ef44440f}82%{transform:translate(1px) rotate(.2deg);box-shadow:0 0 2px #ef444405}to{transform:translate(0) rotateX(0) rotateY(0) rotate(0);box-shadow:0 0 #ef444400}}.save-scope-shake{animation:save-scope-shake 1s ease-out;z-index:10}.save-scope-toast{display:flex;align-items:center;gap:10px;padding:12px 16px;background:color-mix(in srgb,var(--danger) 60%,var(--bg-surface));border:1px solid var(--danger);border-radius:8px;color:#fff;font-size:14px;font-weight:500;animation:save-scope-toast-in .2s ease}@keyframes save-scope-toast-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.settings-danger-zone,.danger-zone{margin-top:24px;padding:20px;border:1px solid rgba(239,68,68,.3);border-radius:12px;background:#ef44440f}.settings-danger-zone h3,.danger-zone-title{font-size:14px;font-weight:700;color:var(--danger);margin-bottom:12px}.settings-danger-zone p{font-size:13px;color:var(--text-muted);margin-bottom:14px;line-height:1.5}.danger-zone-item{display:flex;align-items:center;gap:16px}.danger-zone-info{flex:1;min-width:0}.danger-zone-label{display:block;font-size:13px;font-weight:600;color:var(--text-primary)}.danger-zone-desc{display:block;font-size:12px;color:var(--text-muted);line-height:1.4;margin-top:2px}.space-icon-section{margin-bottom:24px}.space-icon-section>label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:10px}.space-icon-row{display:flex;align-items:center;gap:16px}.space-icon-preview{width:80px;height:80px;border-radius:50%;background:var(--bg-hover);display:flex;align-items:center;justify-content:center;overflow:hidden;border:2px solid var(--border);flex-shrink:0}.space-icon-preview img{width:100%;height:100%;object-fit:cover}.space-icon-placeholder{font-size:32px;font-weight:600;color:var(--text-secondary)}.space-icon-actions{display:flex;flex-direction:column;gap:8px}.space-icon-hint{font-size:11px;color:var(--text-muted);margin-top:10px}.image-cropper-modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:0;width:100%;max-width:400px;overflow:hidden}.image-cropper-header{padding:16px 20px;border-bottom:1px solid var(--border)}.image-cropper-header h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.image-cropper-container{position:relative;width:100%;height:280px;background:var(--bg-base);touch-action:none;user-select:none;overflow:hidden}.image-cropper-container .reactEasyCrop_Container{cursor:move}.image-cropper-container .reactEasyCrop_Image{touch-action:none;user-select:none;pointer-events:auto}.image-cropper-controls{padding:16px 20px;border-top:1px solid var(--border)}.image-cropper-zoom-label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:8px}.image-cropper-zoom{width:100%;accent-color:var(--accent);margin-bottom:16px}.image-cropper-actions{display:flex;justify-content:flex-end;gap:12px}.btn-primary{padding:9px 18px;background:var(--accent);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.btn-primary:hover{background:var(--accent-hover)}.settings-action-row{display:flex;gap:8px;margin-bottom:12px}.settings-channel-list{display:flex;flex-direction:column;gap:2px}.settings-channel-row{display:flex;align-items:center;padding:8px 10px;border-radius:8px;transition:opacity .15s,transform .15s;cursor:default}.settings-channel-row[draggable=true]{cursor:grab}.settings-channel-row.dragging{opacity:.5;cursor:grabbing}.settings-channel-row.drag-over{background:var(--bg-active);border-top:2px solid var(--accent);margin-top:-2px}.settings-drag-handle{display:flex;align-items:center;justify-content:center;width:20px;margin-right:4px;color:var(--text-muted);opacity:0;transition:opacity .15s;cursor:grab}.settings-channel-row:hover .settings-drag-handle{opacity:.6}.settings-drag-handle:hover{opacity:1!important}.settings-channel-name{display:flex;align-items:center;gap:8px;flex:1;color:var(--text-secondary);font-size:14px}.settings-channel-name svg{color:var(--text-muted);opacity:.7}.settings-channel-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}.settings-channel-row:hover .settings-channel-actions{opacity:1}.settings-action-btn{width:30px;height:30px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:background .15s,color .15s}.settings-action-btn:hover{background:var(--bg-active);color:var(--text-primary)}.settings-action-btn.danger:hover{background:#ef44441f;color:var(--danger)}.settings-channel-edit{display:flex;align-items:center;gap:8px;width:100%}.settings-channel-edit svg{color:var(--text-muted);flex-shrink:0}.settings-channel-edit input{flex:1;padding:6px 10px;background:var(--bg-base);border:1px solid var(--accent);border-radius:6px;color:var(--text-primary);font-size:14px;font-family:inherit;outline:none}.settings-inline-btn{padding:5px 12px;border-radius:6px;font-size:12px;font-weight:600;background:var(--accent);color:#fff;transition:background .15s;flex-shrink:0}.settings-inline-btn:hover{background:var(--accent-hover)}.settings-inline-btn.muted{background:var(--bg-hover);color:var(--text-secondary)}.settings-inline-btn.muted:hover{background:var(--bg-active)}.settings-category-group{margin-bottom:8px}.settings-category-header{display:flex;align-items:center;padding:6px 10px;border-radius:6px;margin-bottom:2px}.settings-category-header:hover{background:var(--bg-hover)}.settings-category-header[draggable=true]{cursor:grab}.settings-category-header.dragging{opacity:.5;cursor:grabbing}.settings-category-header .settings-drag-handle{opacity:0}.settings-category-header:hover .settings-drag-handle{opacity:.6}.settings-category-header.uncategorized{color:var(--text-muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:8px 10px 4px}.settings-category-header.drag-over{background:var(--bg-active);border:2px dashed var(--accent);border-radius:6px}.settings-category-toggle{display:flex;align-items:center;gap:6px;flex:1;background:none;border:none;color:var(--text-secondary);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;padding:0;text-align:left}.settings-category-toggle:hover{color:var(--text-primary)}.settings-category-count{color:var(--text-muted);font-size:11px;font-weight:500;margin-left:4px}.settings-category-channels{margin-left:8px;border-left:1px solid var(--border-color);padding-left:8px}.settings-empty-category{padding:12px;color:var(--text-muted);font-size:13px;font-style:italic;text-align:center;border:2px dashed transparent;border-radius:6px;transition:border-color .15s,background .15s}.settings-empty-category.drag-over{border-color:var(--accent);background:var(--bg-active)}.settings-member-list{display:flex;flex-direction:column;gap:4px}.settings-member-group-header{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:12px 8px 6px}.settings-member-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;transition:background .1s}.settings-member-row:hover{background:var(--bg-hover)}.settings-member-info{flex:1;min-width:0}.settings-member-name{font-size:14px;font-weight:500;color:var(--text-primary)}.settings-member-username{font-size:12px;color:var(--text-muted);margin-left:6px}.settings-role-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:capitalize;flex-shrink:0}.settings-role-badge.owner{background:#e8a43f26;color:#e8a43f}.settings-role-badge.admin{background:#9b59d026;color:#b77ee0}.settings-role-badge.member{background:var(--bg-hover);color:var(--text-muted)}.settings-member-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s;flex-shrink:0}.settings-member-row:hover .settings-member-actions{opacity:1}.role-dropdown{position:absolute;right:0;top:100%;z-index:100;min-width:180px;background:var(--bg-raised);border:1px solid var(--border);border-radius:8px;padding:6px 0;box-shadow:0 4px 16px #0000004d}.role-dropdown-header{padding:4px 12px 6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.role-dropdown-item{display:flex;align-items:center;gap:8px;padding:6px 12px;cursor:pointer;font-size:13px;color:var(--text-primary);transition:background .1s}.role-dropdown-item:hover{background:var(--bg-hover)}.role-dropdown-item input[type=checkbox]{accent-color:var(--accent);width:14px;height:14px;flex-shrink:0}.role-dropdown-dot{width:10px;height:10px;border-radius:50%;background:var(--text-muted);flex-shrink:0}.role-dropdown-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-dropdown-empty{padding:8px 12px;font-size:12px;color:var(--text-muted);font-style:italic}.member-name-row{display:flex;align-items:center;gap:6px}.member-role-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:4px;flex-shrink:0}.member-role-badge.owner{color:#e8a43f}.member-role-badge.admin{color:#b77ee0}.discover-modal{max-width:520px;max-height:75vh;display:flex;flex-direction:column}.discover-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px;color:var(--text-muted);font-size:14px}.discover-empty{text-align:center;padding:40px 20px;color:var(--text-muted)}.discover-empty svg{margin-bottom:12px;opacity:.4}.discover-empty p{font-size:15px;color:var(--text-secondary)}.discover-empty-hint{font-size:13px!important;color:var(--text-muted)!important;margin-top:4px}.discover-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;max-height:50vh;scrollbar-width:thin;scrollbar-color:var(--bg-hover) transparent}.discover-card{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--bg-base);border:1px solid var(--border);border-radius:12px;transition:border-color .15s}.discover-card:hover{border-color:var(--accent)}.discover-card-icon{width:40px;height:40px;border-radius:28%;background:var(--gradient);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff;flex-shrink:0}.discover-card-info{flex:1;min-width:0}.discover-card-name{font-size:15px;font-weight:600;color:var(--text-primary)}.discover-card-desc{font-size:13px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.discover-join-btn{padding:7px 18px;border-radius:8px;font-size:13px;font-weight:600;background:var(--accent);color:#fff;transition:background .15s;flex-shrink:0}.discover-join-btn:hover{background:var(--accent-hover)}.discover-join-btn:disabled{opacity:.5;cursor:not-allowed}.discover-joined-badge{padding:7px 18px;border-radius:8px;font-size:13px;font-weight:500;background:var(--bg-hover);color:var(--text-muted);flex-shrink:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.mention-autocomplete{position:absolute;bottom:100%;left:0;right:0;max-height:200px;overflow-y:auto;background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;padding:6px;margin-bottom:4px;box-shadow:0 -4px 16px #0006;z-index:100}.mention-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;cursor:pointer;transition:background .1s}.mention-item:hover,.mention-item.selected{background:var(--accent-subtle)}.mention-item-name{font-size:14px;font-weight:500;color:var(--text-primary)}.mention-item-username{font-size:12px;color:var(--text-muted)}.mention-highlight{background:var(--accent-subtle);color:var(--accent);padding:0 2px;border-radius:4px;font-weight:500}.mention-highlight:hover{background:#e8743f33}.mention-highlight.mention-here{color:var(--accent-purple);background:#9b59d01f}.mention-highlight.mention-here:hover{background:#9b59d033}.inline-code{background:var(--bg-base);color:var(--accent);padding:1px 5px;border-radius:4px;font-family:var(--font-mono);font-size:.9em;user-select:text}.code-block{background:var(--bg-base);border:1px solid var(--border);border-radius:6px;padding:10px 12px;margin:4px 0;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word;user-select:text}.code-block code{font-family:var(--font-mono);font-size:.88em;color:var(--text-primary)}.message-link{color:var(--text-link);text-decoration:none}.message-link:hover{text-decoration:underline}.slash-command-autocomplete{position:absolute;bottom:100%;left:0;right:0;background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;padding:6px;margin-bottom:4px;box-shadow:0 -4px 16px #0006;z-index:100}.slash-command-item{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:6px;cursor:pointer;transition:background .1s}.slash-command-item:hover,.slash-command-item.selected{background:var(--accent-subtle)}.slash-command-name{font-weight:600;color:var(--text-primary);font-size:14px}.slash-command-desc{font-size:13px;color:var(--text-muted)}.ws-disconnected-banner{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:10;padding:6px 16px;border-radius:20px;color:var(--text-primary);font-size:13px;font-weight:500}.voice-wip-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;padding:10px 20px;font-size:14px;color:var(--text-secondary);box-shadow:0 8px 24px #0006;z-index:1000;animation:toast-in .2s ease-out;pointer-events:none}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.notif-banner{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;padding:12px 20px;display:flex;align-items:center;gap:12px;font-size:14px;color:var(--text-secondary);box-shadow:0 8px 24px #0006;z-index:1000}.notif-banner button{padding:6px 16px;border-radius:6px;border:none;font-size:13px;font-weight:600;cursor:pointer;background:var(--accent);color:#fff;white-space:nowrap}.notif-banner button:hover{background:var(--accent-hover)}.notif-banner-dismiss{background:transparent!important;color:var(--text-muted)!important}.notif-banner-dismiss:hover{color:var(--text-secondary)!important;background:var(--bg-hover)!important}.notif-banner.privacy-banner{border-color:var(--accent)}.notif-settings-modal{max-width:440px;max-height:80vh;overflow-y:auto}.notif-settings-content{display:flex;flex-direction:column;gap:24px}.notif-settings-section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0 0 8px}.notif-settings-hint{font-size:12px;color:var(--text-muted);margin:0 0 8px}.notif-level-options{display:flex;flex-direction:column;gap:4px}.notif-level-option{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;border:1px solid transparent;background:none;cursor:pointer;color:var(--text-secondary);text-align:left;transition:background .15s,border-color .15s;width:100%}.notif-level-option:hover{background:var(--bg-hover)}.notif-level-option.active{background:var(--bg-hover);border-color:var(--accent);color:var(--text-primary)}.notif-level-text{display:flex;flex-direction:column;gap:2px}.notif-level-label{font-size:14px;font-weight:600}.notif-level-desc{font-size:12px;color:var(--text-muted)}.notif-channel-list{display:flex;flex-direction:column;gap:2px}.notif-channel-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;border:none;background:none;cursor:pointer;color:var(--text-secondary);transition:background .15s;width:100%;text-align:left}.notif-channel-item:hover{background:var(--bg-hover)}.notif-channel-item.muted,.notif-channel-item.muted .notif-channel-mute-icon{color:var(--text-muted)}.notif-channel-name{flex:1;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-channel-mute-icon{flex-shrink:0;color:var(--text-muted);opacity:.5}.notif-channel-item:hover .notif-channel-mute-icon{opacity:1}.sidebar-muted-icon{color:var(--text-muted);opacity:.5;flex-shrink:0;margin-left:auto}.sidebar-item.muted .sidebar-item-name{color:var(--text-muted)}.email-verification-banner{position:fixed;top:16px;left:50%;transform:translate(-50%);padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;display:flex;align-items:center;gap:12px;z-index:9999;box-shadow:0 4px 12px #0000004d}.email-verification-banner.success{background:var(--success);color:#fff}.email-verification-banner.error{background:var(--danger);color:#fff}.email-verification-banner button{background:none;border:none;color:inherit;font-size:18px;cursor:pointer;padding:0;line-height:1;opacity:.8}.email-verification-banner button:hover{opacity:1}.download-prompt{text-align:center;max-width:400px}.download-prompt-icon{width:72px;height:72px;background:var(--accent);border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:#fff}.download-prompt h3{font-size:20px;font-weight:700;color:var(--text-primary);margin:0 0 8px}.download-prompt p{font-size:14px;color:var(--text-secondary);margin:0 0 24px;line-height:1.5}.download-prompt p:last-of-type{margin-bottom:20px}.download-prompt .privacy-link{color:var(--accent);text-decoration:none}.download-prompt .privacy-link:hover{text-decoration:underline}.download-prompt-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:8px;border:none;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.download-prompt-btn.primary{background:var(--accent);color:#fff;width:100%}.download-prompt-btn.primary:hover{background:var(--accent-hover)}.download-prompt-actions{display:flex;gap:12px;margin-top:16px;justify-content:center}.download-prompt-btn.secondary{background:transparent;color:var(--text-muted);padding:8px 16px;font-size:13px}.download-prompt-btn.secondary:hover{color:var(--text-secondary);background:var(--bg-hover)}.smartscreen-icon{background:var(--warning)!important}.smartscreen-warning .download-prompt-btn.secondary{width:100%;margin-top:8px}.smartscreen-hint{font-size:13px!important;color:var(--text-muted)!important;background:var(--bg-base);border-radius:8px;padding:10px 14px!important}.linux-icon{background:#e95420!important}.linux-commands{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;text-align:left}.linux-command{background:var(--bg-base);border-radius:8px;padding:8px 12px}.linux-distro{display:block;font-size:11px;color:var(--text-muted);margin-bottom:4px;font-weight:600}.linux-command-row{display:flex;align-items:center;gap:8px}.linux-command-row code{flex:1;font-size:12px;color:var(--text-secondary);font-family:JetBrains Mono,monospace;user-select:all}.linux-copy-btn{flex-shrink:0;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px}.linux-copy-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.linux-requirements .download-prompt-btn.secondary{width:100%;margin-top:8px}.sidebar-download-link{color:var(--text-muted);text-decoration:none;font-size:12px;margin-top:4px;opacity:.8}.sidebar-download-link:hover{color:var(--accent);opacity:1}.update-banner{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--bg-raised);border:1px solid var(--accent);border-radius:10px;padding:12px 20px;display:flex;align-items:center;gap:12px;font-size:14px;color:var(--text-secondary);box-shadow:0 8px 24px #0006;z-index:1001;min-width:300px}.update-btn{padding:6px 16px;border-radius:6px;border:none;font-size:13px;font-weight:600;cursor:pointer;background:var(--accent);color:#fff;white-space:nowrap}.update-btn:hover{background:var(--accent-hover)}.update-dismiss{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:13px;padding:6px 8px;border-radius:6px}.update-dismiss:hover{color:var(--text-secondary);background:var(--bg-hover)}.update-progress{flex:1;height:6px;background:var(--bg-surface);border-radius:3px;overflow:hidden;min-width:120px}.update-progress-bar{height:100%;background:var(--accent);border-radius:3px;transition:width .3s ease}.message-embeds{display:flex;flex-direction:column;gap:4px;margin-top:4px}.embed-card{display:flex;gap:16px;max-width:520px;padding:12px 16px;border-left:4px solid var(--bg-hover);border-radius:4px;background:var(--bg-surface)}.embed-card-content{flex:1;min-width:0}.embed-provider{font-size:12px;color:var(--text-muted);margin-bottom:4px}.embed-title{display:block;font-size:14px;font-weight:600;color:var(--text-link);text-decoration:none;margin-bottom:4px}.embed-title:hover{text-decoration:underline}.embed-description{font-size:13px;color:var(--text-secondary);line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;user-select:text}.embed-thumbnail{flex-shrink:0;width:80px;height:80px;border-radius:4px;overflow:hidden}.embed-thumbnail img{width:100%;height:100%;object-fit:cover}.embed-image{margin-top:4px}.embed-image img{max-width:400px;max-height:300px;border-radius:4px;cursor:pointer}.embed-video{max-width:420px;margin-top:4px}.embed-video-player{margin-top:8px}.invite-embeds{display:flex;flex-direction:column;gap:4px;margin-top:4px}.invite-embed{display:flex;align-items:center;gap:12px;max-width:420px;padding:12px 16px;border-radius:8px;border-left:4px solid var(--accent);background:var(--bg-surface)}.invite-embed-icon{width:40px;height:40px;border-radius:28%;background:var(--gradient);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;color:#fff;flex-shrink:0;overflow:hidden}.invite-embed-icon img{width:100%;height:100%;object-fit:cover}.invite-embed-info{flex:1;min-width:0}.invite-embed-name{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invite-embed-desc{font-size:12px;color:var(--text-secondary);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invite-embed-members{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted);margin-top:2px}.invite-embed-action{flex-shrink:0}.invite-embed-join{padding:6px 16px;border-radius:4px;border:none;background:var(--success);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.invite-embed-join:hover{background:#2d8049}.invite-embed-join:disabled{opacity:.6;cursor:not-allowed}.invite-embed-joined{padding:6px 16px;border-radius:4px;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.invite-embed-joined:hover{background:var(--bg-hover)}.invite-embed-expired{font-size:12px;color:var(--text-muted);font-style:italic}.image-lightbox{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000;cursor:zoom-out;flex-direction:column;gap:12px}.image-lightbox img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:4px;cursor:default}.lightbox-open{color:var(--text-secondary);font-size:13px;text-decoration:none;padding:6px 14px;border-radius:6px;background:#ffffff1a}.lightbox-open:hover{background:#fff3;color:var(--text-primary)}.upload-preview-strip{display:flex;gap:8px;padding:10px 12px;background:var(--bg-surface);border:1px solid var(--border);border-bottom:none;border-radius:14px 14px 0 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--bg-hover) transparent}.upload-preview-strip+.message-input-container{border-radius:0 0 14px 14px}.upload-preview-card{position:relative;display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg-base);border:1px solid var(--border);border-radius:8px;min-width:160px;max-width:220px;flex-shrink:0}.upload-preview-card.error{border-color:#ef444466}.upload-preview-thumb{width:40px;height:40px;object-fit:cover;border-radius:4px;flex-shrink:0}.upload-preview-file{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-hover);border-radius:4px;color:var(--text-muted);flex-shrink:0}.upload-preview-info{flex:1;min-width:0;display:flex;flex-direction:column}.upload-preview-name{font-size:12px;font-weight:500;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-preview-size{font-size:11px;color:var(--text-muted)}.upload-preview-remove{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:var(--bg-raised);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}.upload-preview-remove:hover{background:var(--danger-hover);border-color:var(--danger-hover);color:#fff}.upload-spinner{color:var(--accent);flex-shrink:0}.upload-error-text{font-size:11px;color:var(--danger);flex-shrink:0}.message-attachments{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.attachment-image{max-width:400px;max-height:300px;border-radius:4px;overflow:hidden}.attachment-image img{max-width:400px;max-height:300px;border-radius:4px;cursor:pointer;display:block;transition:opacity .15s}.attachment-image img:hover{opacity:.9}.attachment-video{margin-top:2px}.attachment-audio{display:flex;flex-direction:column;gap:4px;padding:8px 12px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;max-width:400px}.attachment-audio-name{font-size:13px;font-weight:500;color:var(--text-secondary)}.attachment-file{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;text-decoration:none;max-width:400px;transition:border-color .15s}.attachment-file:hover{border-color:var(--accent)}.attachment-file-icon{color:var(--accent);flex-shrink:0}.attachment-file-info{flex:1;min-width:0;display:flex;flex-direction:column}.attachment-file-name{font-size:14px;font-weight:500;color:var(--text-link);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-file-size{font-size:12px;color:var(--text-muted)}.attachment-file-download{color:var(--text-muted);flex-shrink:0;transition:color .15s}.attachment-file:hover .attachment-file-download{color:var(--text-primary)}.space-settings{display:flex;flex-direction:column;flex:1;min-width:0;background:var(--bg-surface)}.space-settings-header{display:flex;align-items:center;gap:16px;padding:12px 20px;border-bottom:1px solid var(--border);height:49px}.space-settings-back{display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px;padding:4px 8px;border-radius:4px;transition:color .15s,background .15s}.space-settings-back:hover{color:var(--text-primary);background:var(--bg-hover)}.space-settings-title{font-size:16px;font-weight:600;color:var(--text-primary)}.space-settings-body{display:flex;flex:1;min-height:0;overflow:hidden}.space-settings-nav{width:200px;flex-shrink:0;padding:12px 8px;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:2px}.space-settings-nav-item{display:block;width:100%;text-align:left;padding:8px 12px;border:none;background:none;color:var(--text-secondary);font-size:14px;border-radius:6px;cursor:pointer;transition:color .15s,background .15s}.space-settings-nav-item:hover{color:var(--text-primary);background:var(--bg-hover)}.space-settings-nav-item.active{color:var(--text-primary);background:var(--bg-active);font-weight:500}.space-settings-content{flex:1;overflow-y:auto;padding:20px 32px;min-width:0}.full-page-panel{display:flex;flex-direction:column;flex:1;min-width:0}.full-page-panel-header{display:flex;align-items:center;gap:10px;padding:12px;margin-bottom:4px}.full-page-panel-back{display:flex;align-items:center;padding:4px 8px;color:var(--text-secondary);border-radius:4px}.full-page-panel-title{font-size:16px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.full-page-panel-body{display:flex;flex:1;min-height:0;overflow:hidden}.full-page-panel-nav{width:240px;flex-shrink:0;padding:12px 8px;display:flex;flex-direction:column;gap:2px;border-radius:var(--card-radius);margin:8px 0 8px 8px;overflow:hidden;position:relative}.full-page-panel-nav:before{content:"";position:absolute;top:8px;bottom:8px;right:0;width:4px;border-radius:4px 0 0 4px;background:var(--gradient);z-index:2}.full-page-panel-nav-item{display:flex;align-items:center;width:100%;text-align:left;padding:8px 12px;color:var(--text-secondary);font-size:14px;border-radius:6px}.full-page-panel-content{flex:1;overflow-y:auto;padding:20px 32px;min-width:0}.api-docs{max-width:800px}.api-section{margin-bottom:2rem}.api-section-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.api-section-desc{font-size:.8125rem;color:var(--text-muted);margin-bottom:.75rem;line-height:1.4}.api-endpoints{display:flex;flex-direction:column;gap:2px}.api-endpoint{border:1px solid var(--border);border-radius:6px;overflow:hidden}.api-endpoint-header{display:flex;align-items:center;gap:10px;padding:8px 12px;font-size:.8125rem;background:var(--bg-surface)}.api-endpoint-header.clickable{cursor:pointer}.api-endpoint-header.clickable:hover{background:var(--bg-hover)}.api-method{display:inline-block;min-width:52px;padding:2px 6px;border-radius:3px;color:#fff;font-size:.6875rem;font-weight:700;text-align:center;text-transform:uppercase;flex-shrink:0}.api-path{font-family:var(--font-mono);font-size:.8125rem;color:var(--text-primary);flex-shrink:0}.api-desc{color:var(--text-muted);font-size:.8125rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.api-expand{flex-shrink:0;color:var(--text-muted);display:flex;align-items:center}.api-endpoint-details{padding:12px 16px;border-top:1px solid var(--border);background:var(--bg-raised);display:flex;flex-direction:column;gap:10px}.api-detail-row{display:flex;flex-direction:column;gap:4px}.api-detail-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.api-detail-value{font-size:.8125rem;color:var(--text-secondary)}.api-code-block{font-family:var(--font-mono);font-size:.75rem;line-height:1.5;color:var(--text-secondary);background:var(--bg-surface);border:1px solid var(--border);border-radius:4px;padding:10px 12px;margin:0;overflow-x:auto;white-space:pre}.api-detail-note{font-size:.8125rem;color:var(--text-muted);font-style:italic;padding:6px 10px;border-left:3px solid var(--border);background:var(--bg-surface);border-radius:0 4px 4px 0}.ws-msg-table{width:100%;border-collapse:collapse;font-size:.8125rem}.ws-msg-table th{text-align:left;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:6px 10px;border-bottom:1px solid var(--border)}.ws-msg-table td{padding:6px 10px;border-bottom:1px solid var(--border);color:var(--text-secondary);vertical-align:top}.ws-msg-table td:first-child{white-space:nowrap}.ws-msg-table tr:last-child td{border-bottom:none}.ws-msg-table code{font-family:var(--font-mono);font-size:.75rem;color:var(--text-primary)}.bm-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--border);border-radius:6px;background:var(--bg-raised);color:var(--text-primary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s}.bm-btn:hover{background:var(--bg-hover)}.bm-btn:disabled{opacity:.5;cursor:not-allowed}.bm-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.bm-btn-primary:hover{background:var(--accent-hover)}.bm-btn-sm{padding:4px 10px;font-size:.75rem}.bm-btn-danger{background:#f93e3e26;border-color:#f93e3e4d;color:var(--danger)}.bm-btn-danger:hover{background:#f93e3e40}.bm-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;flex-shrink:0}.bm-icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.bm-error{padding:8px 12px;border-radius:6px;background:#f93e3e1a;border:1px solid rgba(249,62,62,.25);color:var(--danger);font-size:.8125rem;margin-bottom:1rem}.bm-empty{padding:2rem;border:1px dashed var(--border);border-radius:8px;text-align:center;color:var(--text-secondary)}.bm-app-list{display:flex;flex-direction:column;gap:4px}.bm-app-card{display:flex;align-items:center;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface);cursor:pointer;transition:background .15s}.bm-app-card:hover{background:var(--bg-hover)}.bm-app-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.bm-app-card-name{font-weight:600;font-size:.875rem;color:var(--text-primary)}.bm-app-card-desc{font-size:.8125rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bm-app-card-id{font-size:.75rem;color:var(--text-muted);font-family:var(--font-mono)}.bm-create-form,.bm-edit-form{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface);margin-bottom:1rem}.bm-form-group{display:flex;flex-direction:column;gap:4px}.bm-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.bm-input{padding:8px 10px;border:1px solid var(--border);border-radius:4px;background:var(--bg-raised);color:var(--text-primary);font-size:.8125rem;outline:none}.bm-input:focus{border-color:var(--accent)}.bm-input::placeholder{color:var(--text-muted);opacity:.6}.bm-hint{font-size:.6875rem;color:var(--text-secondary)}.bm-form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.bm-secret{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid rgba(252,161,48,.3);border-radius:8px;background:#fca1300f;margin:12px 0}.bm-secret-label{font-size:.75rem;font-weight:600;color:var(--warning);text-transform:uppercase;letter-spacing:.05em}.bm-secret-row{display:flex;align-items:center;gap:4px}.bm-secret-value{flex:1;font-size:.8125rem;color:var(--text-primary);font-family:var(--font-mono);word-break:break-all;min-width:0}.bm-secret-warning{font-size:.6875rem;color:var(--warning);font-style:italic}.bm-field{margin-bottom:8px}.bm-field-label{display:block;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:2px}.bm-field-row{display:flex;align-items:center;gap:4px}.bm-field-value{font-size:.8125rem;color:var(--text-secondary);font-family:var(--font-mono);word-break:break-all}.bm-uri-list{display:flex;flex-direction:column;gap:2px}.bm-detail{display:flex;flex-direction:column;gap:0}.bm-back-btn{display:inline-flex;align-items:center;gap:6px;padding:0;border:none;background:none;color:var(--text-muted);font-size:.8125rem;cursor:pointer;margin-bottom:1rem}.bm-back-btn:hover{color:var(--text-primary)}.bm-section{padding:16px 0;border-bottom:1px solid var(--border)}.bm-section:last-child{border-bottom:none}.bm-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.bm-section-header h3{font-size:1rem;color:var(--text-primary)}.bm-section-header h4{font-size:.875rem;color:var(--text-primary)}.bm-app-description{color:var(--text-secondary);font-size:.875rem;margin-bottom:12px}.bm-danger-zone{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.bm-confirm-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bm-confirm-text{font-size:.8125rem;color:var(--text-secondary)}.bm-bot-info{padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface)}.bm-token-list{display:flex;flex-direction:column;gap:4px}.bm-token-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-surface)}.bm-token-info{display:flex;flex-direction:column;gap:2px;min-width:0}.bm-token-name{font-size:.875rem;font-weight:500;color:var(--text-primary)}.bm-token-meta{font-size:.75rem;color:var(--text-secondary)}.roles-tab{display:flex;gap:0;margin:-20px -32px;height:calc(100% + 40px)}.roles-list-panel{width:220px;flex-shrink:0;border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.roles-list-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em}.roles-add-btn{width:24px;height:24px;border-radius:4px;color:var(--text-muted)}.roles-add-btn:hover{color:var(--text-primary)}.color-preset-grid{display:flex;flex-wrap:wrap;gap:8px;width:70%;margin:0 auto;justify-content:center}.color-preset{position:relative;width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s;padding:0;box-shadow:inset 0 1px 2px #ffffff26,inset 0 -1px 2px #0003,0 2px 4px #0000004d}.color-preset:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse at 35% 30%,rgba(255,255,255,.2) 0%,transparent 60%);pointer-events:none}.color-preset:hover{transform:scale(1.1);box-shadow:inset 0 1px 2px #ffffff26,inset 0 -1px 2px #0003,0 3px 8px #0006}.color-preset:active{box-shadow:inset 0 2px 4px #0000004d}.color-preset:active:after{background:#0000001a}.color-preset.selected{border-color:#fff;transform:scale(1.15)}.color-preset-none{background:var(--bg-secondary);position:relative;overflow:hidden}.color-preset-none:before{content:"";position:absolute;top:50%;left:-2px;right:-2px;height:2px;background:var(--text-muted);transform:rotate(-45deg);z-index:1}.modal-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.modal-divider:before,.modal-divider:after{content:"";flex:1;height:1px;background:#ffffff14}.json-import-area{width:100%;min-height:120px;max-height:300px;resize:vertical;font-family:var(--font-mono);font-size:12px;background:color-mix(in srgb,var(--bg-base) 60%,transparent);box-shadow:inset 2px 2px 4px #00000026,inset -1px -1px 2px #ffffff0a;border:1px solid rgba(255,255,255,.03);border-radius:8px;padding:10px 12px;color:var(--text-secondary);outline:none;transition:border-color .15s,background .6s ease}.json-import-area:hover{background:radial-gradient(circle at 33% 33%,#ffffff0a,color-mix(in srgb,var(--bg-base) 60%,transparent) 80%);transition:background .15s ease}.json-import-area:focus{border-color:var(--accent)}.roles-list{flex:1;overflow-y:auto;padding:0 8px 8px}.roles-list-item-row{display:flex;align-items:center;gap:0;border-top:2px solid transparent;transition:border-color .1s}.roles-list-item-row .roles-list-item{flex:1;min-width:0}.roles-list-item-row.dragging{opacity:.4}.roles-drag-handle{display:flex;align-items:center;justify-content:center;width:20px;flex-shrink:0;color:var(--text-muted);cursor:grab;opacity:0;transition:opacity .15s}.roles-list-item-row:hover .roles-drag-handle{opacity:1}.roles-drag-handle:active{cursor:grabbing}.roles-list-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;background:none;color:var(--text-secondary);font-size:14px;text-align:left;border-radius:6px;cursor:pointer}.roles-list-item:hover,.roles-list-item.active{color:var(--text-primary)}.roles-list-dot{width:10px;height:10px;border-radius:50%;background:var(--text-muted);flex-shrink:0}.roles-list-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roles-list-badge{font-size:10px;color:var(--text-muted);background:var(--bg-base);padding:1px 6px;border-radius:8px}.roles-editor-panel{flex:1;overflow-y:auto;padding:20px 24px;min-width:0}.roles-editor-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted)}.role-editor{max-width:none}.role-editor-title{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:20px;display:flex;align-items:center;gap:8px}.role-editor-default-badge{font-size:10px;font-weight:500;color:var(--text-muted);background:var(--bg-base);padding:2px 8px;border-radius:8px}.role-editor-fields{display:flex;flex-direction:column;gap:12px;margin-bottom:24px;max-width:400px}.role-editor-fields select{width:100%;padding:10px 12px;background:var(--bg-base);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:14px;font-family:var(--font)}.role-color-input{display:flex;align-items:center;gap:8px}.role-color-input input[type=color]{width:36px;height:36px;border:none;border-radius:6px;cursor:pointer;background:none;padding:0}.role-color-input input[type=text]{flex:1}.role-color-clear{padding:6px 10px;background:var(--bg-hover);border:none;border-radius:4px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:background .15s}.role-color-clear:hover{background:var(--bg-active)}.color-picker{position:relative;display:inline-block}.color-picker-swatch{width:36px;height:36px;border:none;border-radius:6px;cursor:pointer;transition:box-shadow .15s,transform .1s;padding:0;box-shadow:inset 0 0 0 2px var(--border);overflow:hidden}.color-picker-swatch:hover:not(:disabled){box-shadow:inset 0 0 0 2px var(--text-muted);transform:scale(1.05)}.color-picker-swatch:disabled{cursor:not-allowed;opacity:.5}.color-picker-scale-wrap{position:absolute;top:calc(100% + 8px);left:0;z-index:1000;transform-origin:18px -4px;transform:scale(.15);opacity:0;pointer-events:none;transition:transform .3s cubic-bezier(.34,1.4,.64,1),opacity .2s ease}.color-picker-scale-wrap.open{transform:scale(1);opacity:1;pointer-events:auto}.color-picker-popup{border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:12px;background:var(--bg-surface);box-shadow:var(--card-shadow),0 8px 32px #0006;backdrop-filter:none;-webkit-backdrop-filter:none;transform:perspective(400px) rotateX(20deg) rotateY(-12deg);transition:transform .5s cubic-bezier(.22,.8,.36,1),background .05s ease,backdrop-filter 0s linear,-webkit-backdrop-filter 0s linear}.color-picker-scale-wrap.open .color-picker-popup{transform:perspective(400px) rotateX(0) rotateY(0);background:var(--card-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:transform .5s cubic-bezier(.22,.8,.36,1),background .15s ease .45s,backdrop-filter 0s linear .45s,-webkit-backdrop-filter 0s linear .45s}.color-picker-main{position:relative;width:180px;height:180px}.color-picker-hue-ring{position:relative;width:180px;height:180px;cursor:crosshair}.color-picker-hue-ring img{width:100%;height:100%;user-select:none;pointer-events:none}.color-picker-hue-indicator{position:absolute;width:26px;height:10px;border:2px solid white;border-radius:5px;box-shadow:0 0 4px #00000080;pointer-events:none;will-change:transform;backface-visibility:hidden;transform-origin:center center}.color-picker-sv{position:absolute;top:50%;left:50%;width:92px;height:92px;transform:translate(-50%,-50%);border-radius:6px;cursor:crosshair;overflow:hidden;box-shadow:inset 0 0 0 1px #000}.color-picker-sv-white{position:absolute;inset:0;background:linear-gradient(to right,white,transparent)}.color-picker-sv-black{position:absolute;inset:0;background:linear-gradient(to top,black,transparent)}.color-picker-sv-indicator{position:absolute;width:14px;height:14px;border:2px solid white;border-radius:50%;box-shadow:0 0 4px #00000080,inset 0 0 2px #0003;transform:translate(-50%,-50%);pointer-events:none}.color-picker-inputs{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}.color-picker-hex-row{display:flex;align-items:center;gap:6px;margin-bottom:8px}.color-picker-preview-swatch{width:24px;height:24px;border-radius:4px;border:none;box-shadow:inset 0 0 0 1px #ffffff0f;flex-shrink:0;overflow:hidden}.color-picker-hex-input{flex:1;padding:2px 6px;height:24px;box-sizing:border-box;font-family:var(--font-mono);font-size:12px;text-transform:uppercase}.color-picker-channels{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 8px}.color-picker-channel{display:flex;flex-direction:row;align-items:center;gap:6px}.color-picker-channel label{font-size:11px;font-weight:600;color:var(--text-muted);width:12px;flex-shrink:0;line-height:1;transform:translateY(1px)}.color-picker-channel-input{position:relative;display:flex;align-items:center;flex:1}.color-picker-channel input{background:color-mix(in srgb,var(--bg-base) 60%,transparent);box-shadow:inset 2px 2px 4px #00000026,inset -1px -1px 2px #ffffff0a;border:1px solid rgba(255,255,255,.03);border-radius:6px;padding:3px 14px 3px 5px;font-size:12px;color:var(--text-primary);width:100%;outline:none;-moz-appearance:textfield;transition:background .6s ease}.color-picker-channel-unit{position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--text-muted);pointer-events:none;user-select:none}.color-picker-channel input::-webkit-outer-spin-button,.color-picker-channel input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.color-picker-channel input:focus{outline:none;border-color:var(--accent)}.role-hoist-toggle{display:flex;align-items:center;gap:8px}.role-permissions{margin-bottom:24px}.role-permissions h4{font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;margin:0}.perm-categories{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(max-width:720px){.perm-categories{grid-template-columns:1fr}}.perm-category-card{border-radius:12px;padding:14px}.perm-category-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.perm-category-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0}.perm-grid{display:flex;flex-direction:column;gap:4px}.perm-row{display:flex;align-items:center;gap:12px;padding:6px 8px;border-radius:6px}.perm-row:after{content:"";flex:1;border-bottom:1px dotted rgba(255,255,255,.08);min-width:20px;align-self:center;order:1}.perm-info{flex:0 1 auto;min-width:0}.perm-row>.tri-toggle{order:2;flex-shrink:0}.perm-label{font-size:14px;color:var(--text-primary)}.perm-desc{display:block;font-size:12px;color:var(--text-muted);line-height:1.3;margin-top:1px}.perm-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.perm-preset-selector{display:flex;align-items:center;gap:6px}.perm-preset-pills{display:flex;background:#ffffff0a;border-radius:8px;border:1px solid rgba(255,255,255,.06);overflow:hidden}.perm-preset-pill{padding:2px 8px;font-size:11px;font-weight:600;color:var(--text-muted);background:none;border:none;cursor:pointer;transition:background .15s,color .15s;line-height:1.5}.perm-preset-pill:not(:first-child){border-left:1px solid rgba(255,255,255,.06)}.perm-preset-pill:hover:not(:disabled){background:#ffffff0f;color:var(--text-secondary)}.perm-preset-pill.active{background:#ffffff1a;color:var(--text-primary)}.perm-preset-pill:disabled{opacity:.4;cursor:default}.perm-preset-reset{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}.perm-preset-reset:hover:not(:disabled){background:#ffffff14;color:var(--text-secondary)}.perm-preset-reset:disabled{opacity:.3;cursor:default}.dropdown{position:relative;display:flex}.dropdown-trigger{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border-radius:8px;font-size:13px;color:var(--text-primary);cursor:pointer;text-align:left}.form-field .dropdown-trigger{padding:10px 14px;font-size:14px}.dropdown-trigger:disabled{opacity:.5;cursor:not-allowed}.dropdown-trigger-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-chevron{flex-shrink:0;color:var(--text-muted);transition:transform .15s ease}.dropdown-chevron.open{transform:rotate(180deg)}.dropdown-scale-wrap{position:fixed;z-index:1500;transform:scale(.15);opacity:0;pointer-events:none;transition:transform .3s cubic-bezier(.34,1.4,.64,1),opacity .2s ease}.dropdown-scale-wrap.open{transform:scale(1);opacity:1;pointer-events:auto}.dropdown-menu{border:1px solid var(--border);border-radius:10px;padding:0;max-height:260px;overflow-y:auto;background:var(--bg-surface);box-shadow:0 8px 32px #00000080;backdrop-filter:none;-webkit-backdrop-filter:none;transform:perspective(400px) rotateX(12deg);transition:transform .5s cubic-bezier(.22,.8,.36,1),background .05s ease,backdrop-filter 0s linear,-webkit-backdrop-filter 0s linear}.dropdown-scale-wrap.open .dropdown-menu{transform:perspective(400px) rotateX(0);background:color-mix(in srgb,var(--bg-raised) 92%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:transform .5s cubic-bezier(.22,.8,.36,1),background .15s ease .45s,backdrop-filter 0s linear .45s,-webkit-backdrop-filter 0s linear .45s}.dropdown-option{position:relative;display:block;width:100%;padding:7px 10px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:13px;text-align:left;cursor:pointer;box-shadow:none;transition:box-shadow .15s ease,color .15s}.dropdown-option:after{content:"";position:absolute;inset:0;border-radius:inherit;background:transparent;transition:background .15s ease;pointer-events:none}.dropdown-option:hover,.dropdown-option.focused{box-shadow:inset 0 1px #ffffff0f;color:var(--text-primary)}.dropdown-option:hover:after,.dropdown-option.focused:after{background:radial-gradient(80% 80% at 50% 50%,rgba(255,255,255,.04) 0%,rgba(255,255,255,.015) 60%,transparent 100%)}.dropdown-option:active{box-shadow:inset 0 2px 4px #0003}.dropdown-option:active:after{background:#0000000a}.dropdown-option.selected{color:var(--accent);box-shadow:inset 0 1px color-mix(in srgb,var(--accent) 15%,transparent)}.dropdown-option.selected:after{background:radial-gradient(80% 80% at 50% 50%,color-mix(in srgb,var(--accent) 8%,transparent) 0%,color-mix(in srgb,var(--accent) 2%,transparent) 60%,transparent 100%)}.dropdown-option.selected:hover,.dropdown-option.selected.focused{color:var(--accent);box-shadow:inset 0 1px color-mix(in srgb,var(--accent) 20%,transparent)}.dropdown-option.selected:hover:after,.dropdown-option.selected.focused:after{background:radial-gradient(80% 80% at 50% 50%,color-mix(in srgb,var(--accent) 12%,transparent) 0%,color-mix(in srgb,var(--accent) 3%,transparent) 60%,transparent 100%)}.dropdown-empty{padding:8px 10px;color:var(--text-muted);font-size:12px;text-align:center}.collapsible-card{border-radius:12px;overflow:hidden}.collapsible-card-header{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;transition:color .15s}.collapsible-card-header:hover{color:var(--text-secondary)}.collapsible-card-chevron{transition:transform .2s ease;flex-shrink:0}.collapsible-card.open .collapsible-card-chevron{transform:rotate(90deg)}.collapsible-card-title{flex:1;text-align:left}.collapsible-card-actions{display:flex;align-items:center;gap:4px}.collapsible-card-body{padding:0 14px 14px}.collapsible-card-copy-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:none;border:none;color:var(--text-muted);cursor:pointer;transition:color .15s,background .15s}.collapsible-card-copy-btn:hover{color:var(--text-primary);background:#ffffff0f}.role-json-pre{margin:0;padding:10px 12px;border-radius:8px;background:#00000040;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:11px;line-height:1.5;color:var(--text-secondary);overflow-x:auto;white-space:pre;max-height:400px}.tri-toggle{position:relative;width:90px;height:29px;border-radius:15px;flex-shrink:0;display:flex}.tri-toggle.disabled{opacity:.5;pointer-events:none}.tri-toggle-track{position:absolute;inset:0;border-radius:15px;background:color-mix(in srgb,var(--bg-base) 60%,transparent);border:1px solid rgba(255,255,255,.03);box-shadow:inset 2px 2px 4px #00000026,inset -1px -1px 2px #ffffff0a;pointer-events:none;overflow:hidden;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}.tri-toggle-track.lit{background:radial-gradient(ellipse at 50% 50%,rgba(var(--tri-glow-color),.15) 0%,rgba(var(--tri-glow-color),.04) 70%,transparent 100%),color-mix(in srgb,var(--bg-base) 60%,transparent);box-shadow:inset 2px 2px 4px #00000026,inset -1px -1px 2px #ffffff0a,inset 0 0 12px rgba(var(--tri-glow-color),.15)}.tri-toggle-track-detents{position:absolute;inset:0;border-radius:15px;pointer-events:none}.tri-toggle-track-detents:before{content:"";position:absolute;top:50%;left:16.67%;right:16.67%;height:2px;transform:translateY(-50%);background:#00000040;box-shadow:inset 0 1px 1px #0000004d;border-radius:1px}.tri-toggle-detent{position:absolute;top:50%;width:2px;height:6px;border-radius:1px;background:#0006;box-shadow:inset 0 1px 2px #00000080;transform:translate(-50%,-50%)}.tri-toggle-detent:nth-child(1){left:16.67%}.tri-toggle-detent:nth-child(2){left:50%}.tri-toggle-detent:nth-child(3){left:83.33%}.tri-toggle-detent.hidden{opacity:0}.tri-toggle-zone{flex:1;height:100%;background:transparent;border:none;cursor:pointer;padding:0;z-index:2;position:relative}.tri-toggle-zone:first-of-type{border-radius:15px 0 0 15px}.tri-toggle-zone:last-of-type{border-radius:0 15px 15px 0}.tri-toggle-zone:disabled{cursor:not-allowed}.tri-toggle-zone:hover:not(:disabled){box-shadow:inset 0 0 8px 2px #ffffff0f}.tri-toggle-knob-wrap{position:absolute;top:0;left:0;width:calc(100% / 3);height:100%;display:flex;align-items:center;justify-content:center;transition:transform .2s cubic-bezier(.4,0,.2,1);pointer-events:none;z-index:1}.tri-toggle-glow{position:absolute;width:23px;height:23px;border-radius:50%;z-index:1;pointer-events:none;opacity:0;transition:box-shadow .25s ease,opacity .25s ease}.tri-toggle-glow.lit{opacity:1;box-shadow:0 0 10px 4px rgba(var(--tri-glow-color),.35),0 0 20px 8px rgba(var(--tri-glow-color),.15)}.tri-toggle-knob{width:23px;height:23px;position:relative;z-index:2}.tri-toggle-ghost-wrap{position:absolute;top:0;left:0;width:calc(100% / 3);height:100%;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:0;opacity:0;transition:opacity .3s ease,transform .2s cubic-bezier(.4,0,.2,1)}.tri-toggle-ghost-wrap.visible{opacity:1}.tri-toggle-ghost-knob{width:17px;height:17px;border-radius:50%;background:linear-gradient(135deg,#ffffff40,#ffffff14,#ffffff08);border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px 2px #ffffff26,0 1px 4px #0000001a;position:relative;z-index:2}.tri-toggle-ghost-glow{position:absolute;width:17px;height:17px;border-radius:50%;z-index:1;pointer-events:none;opacity:0;transition:box-shadow .3s ease,opacity .3s ease}.tri-toggle-ghost-glow.lit{opacity:1;box-shadow:0 0 6px 2px rgba(var(--tri-ghost-color),.25),0 0 12px 4px rgba(var(--tri-ghost-color),.1)}.role-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:500;padding:1px 6px;border-radius:8px;border:1px solid var(--text-muted);color:var(--text-muted);white-space:nowrap;line-height:1.4}.role-badge.owner{border-color:var(--accent);color:var(--accent)}.settings-member-badges{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto;margin-right:8px}.subscriber-badge{position:absolute;bottom:-2px;right:-2px;display:flex;align-items:center;justify-content:center;width:14px;height:14px;color:var(--warning);background:var(--bg-surface);border-radius:50%;z-index:1}.subscriber-badge svg{fill:var(--warning)}.user-panel-btn.subscriber-active{color:var(--warning)}.user-panel-status-clickable{cursor:pointer;border-radius:3px}.user-panel-status-clickable:hover{text-decoration:underline}.user-panel-avatar-wrapper{position:relative}.user-panel-avatar-clickable{position:relative;cursor:pointer;border-radius:50%}.user-panel-avatar-clickable:hover{opacity:.8}.presence-picker{position:absolute;bottom:calc(100% + 8px);left:0;width:220px;background:var(--bg-floating);border:1px solid var(--border);border-radius:8px;padding:6px;z-index:100;box-shadow:0 4px 16px #0000004d}.presence-picker-option{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;border-radius:4px;background:none;color:var(--text-primary);cursor:pointer;text-align:left}.presence-picker-option:hover{background:var(--bg-hover)}.presence-picker-option.active{background:var(--bg-active)}.presence-picker-option .presence-dot{flex-shrink:0}.presence-picker-text{display:flex;flex-direction:column;gap:1px}.presence-picker-label{font-size:.875rem;font-weight:500}.presence-picker-desc{font-size:.75rem;color:var(--text-secondary)}.avatar.large{width:64px;height:64px;font-size:24px}.settings-account-avatar{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px}.settings-avatar-clickable{position:relative;cursor:pointer;overflow:hidden}.settings-avatar-clickable.uploading{opacity:.5;pointer-events:none}.settings-avatar-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000080;border-radius:inherit;opacity:0;transition:opacity .15s;color:#fff}.settings-avatar-clickable:hover .settings-avatar-overlay{opacity:1}.settings-avatar-remove{display:flex;align-items:center;justify-content:center;padding:4px;background:var(--bg-surface);border:1px solid var(--border);border-radius:50%;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s}.settings-avatar-remove:hover{color:var(--error);border-color:var(--error)}.settings-banner-section{margin-bottom:16px}.settings-banner-preview{width:100%;height:120px;border-radius:12px;background:var(--accent);background-size:cover;background-position:center;position:relative;overflow:hidden}.settings-banner-preview.clickable{cursor:pointer}.settings-banner-preview.uploading{opacity:.5;pointer-events:none}.settings-banner-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#00000080;color:#fff;opacity:0;transition:opacity .15s;font-size:12px;font-weight:600}.settings-banner-preview.clickable:hover .settings-banner-overlay{opacity:1}.settings-banner-overlay.locked{opacity:0;color:#ffffffb3}.settings-banner-preview:hover .settings-banner-overlay.locked{opacity:1}.settings-banner-remove{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:4px 10px;font-size:12px;border-radius:4px;background:transparent;color:var(--text-muted);border:1px solid var(--border);cursor:pointer;transition:color .15s,border-color .15s}.settings-banner-remove:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.settings-banner-remove:disabled{opacity:.5;cursor:not-allowed}.settings-bio-textarea{resize:vertical;min-height:60px;max-height:120px;font-family:inherit;line-height:1.4}.settings-bio-counter{text-align:right;font-size:11px;color:var(--text-muted);margin-top:2px}.settings-bio-counter .warning{color:var(--warning)}.settings-account-card{display:flex;gap:20px;align-items:flex-start;padding:20px;background:var(--bg-base);border-radius:12px;border:1px solid var(--border)}.settings-account-fields{flex:1;display:flex;flex-direction:column;gap:12px}.settings-field label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text-muted);margin-bottom:2px;letter-spacing:.5px}.settings-field-value{font-size:14px;color:var(--text-primary)}.settings-field-value.muted{color:var(--text-muted);font-style:italic}.settings-field-editable{cursor:pointer;display:flex;align-items:center;gap:8px;padding:4px 8px;margin:-4px -8px;border-radius:4px;transition:background .15s}.settings-field-editable:hover{background:var(--bg-raised)}.settings-edit-icon{opacity:0;color:var(--text-muted);transition:opacity .15s}.settings-field-editable:hover .settings-edit-icon{opacity:1}.settings-field-edit{display:flex;flex-direction:column;gap:8px}.settings-field-input{padding:6px 10px;background:var(--bg-raised);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:14px;outline:none}.settings-field-input:focus{border-color:var(--accent)}.settings-field-edit-actions{display:flex;gap:8px}.settings-save-btn{padding:4px 12px;background:var(--accent);border:none;border-radius:4px;color:#fff;font-size:13px;cursor:pointer}.settings-save-btn:hover{opacity:.9}.settings-save-btn:disabled{opacity:.5;cursor:not-allowed}.settings-cancel-btn{padding:4px 12px;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-muted);font-size:13px;cursor:pointer}.settings-cancel-btn:hover{color:var(--text-primary);border-color:var(--text-muted)}.settings-field-error{color:var(--danger);font-size:12px}.settings-field-success{color:var(--success);font-size:12px}.settings-field-highlight{animation:settings-highlight-pulse 3s ease-out;border-radius:8px;padding:8px;margin:-8px}@keyframes settings-highlight-pulse{0%{background:#6366f14d;box-shadow:0 0 0 2px #6366f180}to{background:transparent;box-shadow:none}}.settings-logout-btn{padding:10px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:var(--danger);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s}.settings-logout-btn:hover{background:#ef444433}.settings-data-btn{padding:10px 16px;background:var(--bg-raised);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .15s}.settings-data-btn:hover{background:var(--bg-hover)}.settings-data-btn:disabled{opacity:.6;cursor:not-allowed}.settings-danger-btn{padding:10px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:var(--danger);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,opacity .15s}.settings-danger-btn:hover:not(:disabled){background:#ef444433}.settings-danger-btn:disabled{opacity:.5;cursor:not-allowed}.settings-cancel-btn{padding:10px 16px;background:var(--bg-raised);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .15s}.settings-cancel-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.settings-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.settings-legal-links{display:flex;align-items:center;justify-content:center;gap:8px}.settings-legal-link{background:none;border:none;color:var(--text-muted);font-size:12px;cursor:pointer;padding:0}.settings-legal-link:hover{color:var(--text-secondary);text-decoration:underline}.settings-legal-sep{color:var(--text-muted);font-size:12px}.notif-permission-banner{background:#eab3081a;border:1px solid rgba(234,179,8,.3);border-radius:8px;padding:12px 16px;margin-bottom:16px}.notif-permission-banner p{margin:0 0 8px;color:var(--text-primary);font-size:14px}.notif-enable-btn{padding:6px 14px;background:var(--accent);border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:opacity .15s}.notif-enable-btn:hover{opacity:.85}.notif-hint{font-size:12px;color:var(--text-muted);margin:0}.notif-dnd-banner{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:10px 16px;margin-bottom:16px;color:var(--danger);font-size:13px}.notif-settings-list{display:flex;flex-direction:column;gap:6px}.notif-setting-desc{font-size:12px;color:var(--text-muted);margin-bottom:12px;padding-left:28px}.prism-tab-icon{fill:var(--warning);color:var(--warning);vertical-align:-1px;margin-right:4px}.prism-header{display:flex;align-items:center;gap:14px;padding:20px;background:linear-gradient(135deg,#f5c5421a,#f5c54208);border:1px solid rgba(245,197,66,.2);border-radius:12px}.prism-star{color:var(--warning);fill:var(--warning);flex-shrink:0}.prism-header h3{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.prism-subtitle{font-size:13px;color:var(--text-muted)}.prism-active-badge{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--warning);background:#f5c54226;padding:2px 8px;border-radius:4px}.prism-features{display:flex;flex-direction:column;gap:10px}.prism-feature{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-secondary)}.prism-feature svg{color:var(--warning);flex-shrink:0}.prism-action-btn{padding:12px 20px;background:var(--warning);color:#1a1a1a;border:none;border-radius:8px;font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;transition:background .15s,opacity .15s}.prism-action-btn:hover{background:#f0b820}.prism-action-btn:disabled{opacity:.6;cursor:not-allowed}.prism-action-btn.manage{background:transparent;color:var(--text-primary);border:1px solid var(--border)}.prism-action-btn.manage:hover{background:var(--bg-hover)}.user-profile-popup{width:280px;background:var(--bg-raised);border-radius:8px;box-shadow:0 4px 20px #0006;overflow:hidden}.user-profile-popup-banner{height:60px;background:var(--accent);background-size:cover;background-position:center}.user-profile-popup-banner.has-image{height:80px}.user-profile-popup-header{padding:0 12px;margin-top:-20px;position:relative}.user-profile-popup-avatar-wrapper{position:relative;display:inline-block}.user-profile-popup-avatar-wrapper .avatar.large{width:48px;height:48px;font-size:20px;border:3px solid var(--bg-raised)}.user-profile-popup-avatar-wrapper .presence-dot{width:12px;height:12px;bottom:0;right:0;border-width:2px}.user-profile-popup-body{padding:8px 12px 12px}.user-profile-popup-name-row{display:flex;align-items:center;gap:4px}.user-profile-popup-name{font-size:16px;font-weight:700;color:var(--text-primary)}.user-profile-popup-crown{color:var(--warning)}.user-profile-popup-username{font-size:12px;color:var(--text-muted);margin-top:2px}.user-profile-popup-status{font-size:12px;color:var(--text-secondary);margin-top:4px}.user-profile-popup-bio{margin-top:8px;border-top:1px solid var(--border);padding-top:8px}.user-profile-popup-bio-label{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.user-profile-popup-bio-text{font-size:12px;color:var(--text-secondary);line-height:1.4;white-space:pre-wrap;word-break:break-word;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.user-profile-popup-roles{margin-top:8px;border-top:1px solid var(--border);padding-top:8px}.user-profile-popup-roles-label{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.user-profile-popup-roles-list{display:flex;flex-wrap:wrap;gap:4px}.user-profile-popup-role{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:2px 6px;border-radius:4px;border:1px solid var(--border);color:var(--text-secondary);background:var(--bg-primary)}.user-profile-popup-role-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);flex-shrink:0}.user-profile-popup-actions{margin-top:8px;border-top:1px solid var(--border);padding-top:8px;display:flex;flex-direction:column;gap:2px}.user-profile-popup-action-btn{display:flex;align-items:center;gap:6px;width:100%;padding:6px 8px;border-radius:4px;font-size:13px;color:var(--text-secondary);background:transparent;cursor:pointer;border:none}.user-profile-popup-action-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.user-profile-popup-action-btn:disabled{cursor:default}.user-profile-popup-action-btn.friend-status{color:var(--success)}.user-profile-popup-action-btn.pending-status{color:var(--text-muted)}.user-profile-popup-mention-btn{display:flex;align-items:center;gap:6px;width:100%;padding:6px 8px;border-radius:4px;font-size:13px;color:var(--text-secondary);background:transparent;cursor:pointer;border:none}.user-profile-popup-mention-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.emoji-picker-container{position:absolute;bottom:100%;right:0;margin-bottom:8px;z-index:200}em-emoji-picker{--rgb-background: 38, 35, 48;--rgb-input: 20, 18, 24;--rgb-color: 117, 110, 133;--rgb-accent: 232, 116, 63;--color-border: var(--border);--color-border-over: var(--bg-hover);--shadow: 0 8px 32px rgba(0, 0, 0, .5);--font-family: "Noto Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--font-size: 14px;border-radius:12px!important;border:1px solid var(--border)!important;font-family:var(--font)!important}em-emoji-picker *{font-family:Noto Sans,Segoe UI,system-ui,-apple-system,sans-serif!important}em-emoji-picker .category-title,em-emoji-picker [class*=category] span,em-emoji-picker section>div:first-child{font-family:Noto Sans,Segoe UI,system-ui,-apple-system,sans-serif!important;color:var(--text-muted)!important;font-size:12px!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.5px!important}em-emoji-picker input{font-family:Noto Sans,Segoe UI,system-ui,-apple-system,sans-serif!important;font-size:14px!important;color:var(--text-muted)!important}em-emoji-picker input::placeholder{color:var(--text-muted)!important}.emoji-autocomplete{position:absolute;bottom:100%;left:0;right:0;max-height:280px;overflow-y:auto;background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;padding:6px;margin-bottom:4px;box-shadow:0 -4px 16px #0006;z-index:100}.emoji-autocomplete-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;cursor:pointer;transition:background .1s}.emoji-autocomplete-item:hover,.emoji-autocomplete-item.selected{background:var(--accent-subtle)}.emoji-autocomplete-char{font-size:22px;width:28px;text-align:center;flex-shrink:0;line-height:1}.emoji-autocomplete-img{width:24px;height:24px;object-fit:contain;flex-shrink:0}.emoji-autocomplete-name{font-size:14px;color:var(--text-primary);font-weight:500}.emoji-autocomplete-shortcode{font-size:12px;color:var(--text-muted);margin-left:auto}.custom-emoji-inline{height:1.375em;width:1.375em;object-fit:contain;vertical-align:-.3em;margin:0 1px}.settings-input{padding:8px 12px;background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s;flex:1;min-width:0}.settings-input:focus{border-color:var(--accent)}.settings-input::placeholder{color:var(--text-muted)}.settings-btn{padding:9px 18px;border:1px solid var(--border);border-radius:8px;background:var(--bg-hover);color:var(--text-primary);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s;white-space:nowrap;flex-shrink:0}.settings-btn:hover{background:var(--bg-active)}.settings-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.settings-btn.primary:hover{background:var(--accent-hover)}.settings-btn:disabled{opacity:.4;cursor:not-allowed}.emojis-tab{max-width:600px}.emoji-upload-form{display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--bg-base);border:1px solid var(--border);border-radius:10px;margin-bottom:20px}.emoji-upload-row{display:flex;align-items:center;gap:10px}.emoji-upload-select{width:48px;height:48px;border-radius:8px;background:var(--bg-hover);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-muted);cursor:pointer;transition:background .15s;border:1px dashed var(--border)}.emoji-upload-select:hover{background:var(--bg-active);border-color:var(--text-muted)}.emoji-upload-preview{width:48px;height:48px;border-radius:8px;background:var(--bg-hover);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;color:var(--text-muted);cursor:pointer;transition:background .15s;border:1px dashed var(--border);position:relative}.emoji-upload-clear{position:absolute;top:-4px;right:-4px;width:18px;height:18px;border-radius:50%;background:var(--bg-raised);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;font-size:10px;padding:0}.emoji-upload-clear:hover{background:var(--danger-hover);border-color:var(--danger-hover);color:#fff}.emoji-upload-preview:hover{background:var(--bg-active);border-color:var(--text-muted)}.emoji-upload-preview img{width:100%;height:100%;object-fit:contain}.emoji-upload-fields{flex:1;display:flex;flex-direction:column;gap:6px}.emoji-upload-fields input{padding:8px 12px;background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s}.emoji-upload-fields input:focus{border-color:var(--accent)}.emoji-upload-fields input::placeholder{color:var(--text-muted)}.emoji-upload-hint{font-size:11px;color:var(--text-muted)}.emoji-upload-btn{padding:9px 18px;background:var(--accent);border:none;border-radius:8px;color:#fff;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s;white-space:nowrap;flex-shrink:0}.emoji-upload-btn:hover{background:var(--accent-hover)}.emoji-upload-btn:disabled{opacity:.4;cursor:not-allowed}.emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.emoji-grid-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg-base);border:1px solid var(--border);border-radius:8px;transition:border-color .15s;position:relative}.emoji-grid-item:hover{border-color:var(--text-muted)}.emoji-grid-item img,.emoji-grid-img{width:28px;height:28px;object-fit:contain;flex-shrink:0}.emoji-grid-item-name,.emoji-grid-name{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.emoji-grid-item-delete,.emoji-grid-delete{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:var(--bg-raised);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity .15s,background .15s,color .15s;padding:0}.emoji-grid-item:hover .emoji-grid-item-delete,.emoji-grid-item:hover .emoji-grid-delete{opacity:1}.emoji-grid-item-delete:hover,.emoji-grid-delete:hover{background:var(--danger-hover);border-color:var(--danger-hover);color:#fff}.emoji-grid-empty{grid-column:1 / -1;text-align:center;padding:32px 20px;color:var(--text-muted);font-size:14px}[data-tauri] body{user-select:none;-webkit-user-select:none}[data-tauri] .message-text,[data-tauri] .message-input,[data-tauri] input,[data-tauri] textarea,[data-tauri] [contenteditable]{user-select:text;-webkit-user-select:text}.titlebar{height:32px;background:transparent;display:flex;align-items:center;justify-content:center;user-select:none;-webkit-user-select:none;position:fixed;top:0;left:0;right:0;z-index:9999}.titlebar-title{font-size:12px;font-weight:600;color:var(--text-secondary)}.titlebar-buttons{display:flex;align-items:center;gap:8px;position:absolute;right:8px;top:0;height:100%}.titlebar-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);border-radius:50%;transition:background .15s,color .15s}.titlebar-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.titlebar-btn.close:hover{background:var(--danger-hover);color:#fff}.app-container{padding-top:32px;height:100%}[data-ios] .app-container{padding-top:0;height:calc(100vh - var(--keyboard-height, 0px))}.macos-drag-region{position:fixed;top:0;left:0;right:0;height:42px;z-index:9999}[data-tauri]{background:transparent}[data-tauri] body{border-radius:10px;overflow:hidden}.friends-modal{width:500px;max-width:90vw;max-height:600px}.friends-modal .settings-body{padding:0;overflow:hidden}.friends-tab-content{display:flex;flex-direction:column;height:400px;overflow-y:auto}.friends-loading{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-muted)}.friends-search-bar{position:relative;padding:.75rem;border-bottom:1px solid var(--border);flex-shrink:0}.friends-search-bar input{width:100%;padding:.5rem .75rem .5rem 2rem;background:var(--bg-hover);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:.875rem}.friends-search-bar input::placeholder{color:var(--text-muted)}.friends-search-bar input:focus{outline:none;border-color:var(--accent)}.friends-search-icon{position:absolute;left:1.25rem;top:50%;transform:translateY(-50%);color:var(--text-muted)}.friends-list{flex:1;overflow-y:auto;padding:.5rem}.friends-section{margin-bottom:1rem}.friends-section-header{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;padding:.5rem .75rem}.friends-empty-state{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-muted);text-align:center;padding:1rem}.friend-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-radius:4px;cursor:pointer;transition:background .15s ease}.friend-item:hover{background:var(--bg-hover)}.friend-item-user{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1}.friend-avatar-wrapper{position:relative;flex-shrink:0}.friend-avatar-wrapper .presence-dot{position:absolute;bottom:-2px;right:-2px}.friend-item-info{min-width:0;flex:1}.friend-item-name-row{display:flex;align-items:center;gap:.25rem}.friend-item-name{font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.friend-item-status{font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.friend-message-btn{padding:.5rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:4px;opacity:0;transition:all .15s ease}.friend-item:hover .friend-message-btn{opacity:1}.friend-message-btn:hover{background:var(--bg-active);color:var(--text-primary)}.add-friend-form{padding:.75rem;border-bottom:1px solid var(--border);flex-shrink:0}.add-friend-input-wrapper{display:flex;align-items:center;gap:.5rem;position:relative}.add-friend-input-wrapper input{flex:1;padding:.5rem .75rem .5rem 2rem;background:var(--bg-hover);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:.875rem}.add-friend-input-wrapper input::placeholder{color:var(--text-muted)}.add-friend-input-wrapper input:focus{outline:none;border-color:var(--accent)}.add-friend-icon{position:absolute;left:.75rem;color:var(--text-muted)}.add-friend-input-wrapper button{padding:.5rem 1rem;background:var(--accent);color:#fff;border:none;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s ease;white-space:nowrap}.add-friend-input-wrapper button:hover:not(:disabled){background:var(--accent-hover)}.add-friend-input-wrapper button:disabled{opacity:.5;cursor:not-allowed}.add-friend-error{margin-top:.5rem;font-size:.75rem;color:var(--danger)}.friend-requests-section{padding:.5rem}.friend-request-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:var(--bg-hover);border-radius:4px;margin-bottom:.5rem}.friend-request-user{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1}.friend-request-actions{display:flex;gap:.5rem;flex-shrink:0}.friend-request-btn{display:flex;align-items:center;justify-content:center;padding:.4rem;border:none;border-radius:4px;cursor:pointer;transition:all .15s ease}.friend-request-btn.accept{background:var(--success);color:#fff}.friend-request-btn.accept:hover{background:var(--success)}.friend-request-btn.reject{background:var(--bg-raised);color:var(--text-muted)}.friend-request-btn.reject:hover{background:var(--danger);color:#fff}.friend-request-btn.cancel{padding:.4rem .75rem;background:var(--bg-raised);color:var(--text-primary);font-size:.75rem}.friend-request-btn.cancel:hover{background:var(--bg-active)}.blocked-user-item{padding:.75rem}.unblock-btn{padding:.4rem .75rem;background:var(--bg-raised);border:none;color:var(--text-primary);border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .15s ease}.unblock-btn:hover{background:var(--accent);color:#fff}.friends-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--danger);color:#fff;border-radius:9px;font-size:.7rem;font-weight:600;margin-left:.5rem}.friends-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--bg-active);color:var(--text-muted);border-radius:9px;font-size:.7rem;font-weight:600;margin-left:.5rem}.channel-perms-modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;width:100%;max-width:680px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.channel-perms-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border)}.channel-perms-header h3{font-size:18px;font-weight:600;color:var(--text-primary)}.channel-perms-header .close-btn{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:20px;transition:background .15s,color .15s}.channel-perms-header .close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.channel-perms-loading{padding:40px;text-align:center;color:var(--text-muted)}.channel-perms-body{display:flex;flex:1;min-height:0;overflow:hidden}.channel-perms-roles{width:200px;flex-shrink:0;border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.channel-perms-roles-header{padding:12px 16px;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em}.channel-perms-role{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;text-align:left;color:var(--text-secondary);transition:background .15s,color .15s}.channel-perms-role:hover{background:var(--bg-hover);color:var(--text-primary)}.channel-perms-role.selected{background:var(--accent-subtle);color:var(--text-primary)}.channel-perms-role.has-overrides .role-name{font-weight:500}.channel-perms-role .role-color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.channel-perms-role .role-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.channel-perms-role .override-indicator{color:var(--accent);font-weight:700;flex-shrink:0}.channel-perms-editor{flex:1;padding:20px;overflow-y:auto;min-width:0}.channel-perms-role-header{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.channel-perms-role-header .default-badge{font-size:10px;font-weight:500;padding:2px 8px;border-radius:8px;background:var(--bg-hover);color:var(--text-muted);text-transform:uppercase}.channel-perms-desc{font-size:13px;color:var(--text-muted);margin-bottom:20px;line-height:1.5}.channel-perms-error{margin-top:16px;padding:10px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:var(--danger);font-size:13px}.channel-perms-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.channel-perms-actions button:disabled{opacity:.5;cursor:not-allowed}.channel-perms-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:14px}.channel-perms-inline{border:1px solid var(--border);border-radius:12px;overflow:hidden;min-height:280px}.channel-perms-inline .channel-perms-body{height:100%}.channel-perms-inline .channel-perms-roles{border-radius:12px 0 0 12px}.channel-perms-inline .channel-perms-editor{border-radius:0 12px 12px 0}.channel-perms-inline .channel-perms-loading{padding:24px;color:var(--text-muted);font-size:14px}.channel-detail-subpage{display:flex;flex-direction:column;gap:24px}.channel-detail-back{display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-muted);font-size:13px;cursor:pointer;padding:4px 0;transition:color .15s;align-self:flex-start}.channel-detail-back:hover{color:var(--text-primary)}.channel-detail-title{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:600;color:var(--text-primary);margin:0}.channel-detail-title svg{color:var(--text-muted)}.settings-detail-section{display:flex;flex-direction:column;gap:16px}.settings-detail-section-title{font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;margin:0}.settings-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-detail-grid .form-field-full{grid-column:1 / -1}@media(max-width:600px){.settings-detail-grid{grid-template-columns:1fr}}.channel-detail-topic-input{min-height:60px}.settings-channel-row.clickable{cursor:pointer}.settings-channel-row .channel-row-chevron{color:var(--text-muted);opacity:0;transition:opacity .15s;margin-left:auto;flex-shrink:0}.settings-channel-row:hover .channel-row-chevron{opacity:.6}.settings-description{color:var(--text-muted);font-size:.875rem;margin-bottom:1rem}.feature-toggle-list{display:flex;flex-direction:column;gap:4px;margin-bottom:20px}.feature-toggle-item{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--bg-secondary);border-radius:8px}.feature-toggle-info{display:flex;align-items:center;gap:12px;color:var(--text-secondary)}.feature-toggle-name{font-size:.9375rem;font-weight:500;color:var(--text-primary)}.feature-toggle-desc{font-size:.8125rem;color:var(--text-muted);margin-top:2px}.invite-create-form{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.invite-create-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.invite-select{padding:.5rem .75rem;background:var(--bg-raised);border:1px solid var(--border);color:var(--text-primary);border-radius:4px;font-size:.875rem;cursor:pointer;min-width:140px}.invite-select:hover{border-color:var(--border-hover)}.invite-select:focus{outline:none;border-color:var(--accent)}.invite-list{display:flex;flex-direction:column;gap:.5rem}.invite-row{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--bg-raised);border-radius:6px;border:1px solid var(--border)}.invite-row.expired{opacity:.5}.invite-code{display:flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.9rem;font-weight:600;color:var(--accent);min-width:100px}.invite-details{flex:1;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;font-size:.8rem;color:var(--text-muted)}.invite-uses,.invite-expires,.invite-creator{display:flex;align-items:center;gap:.25rem}.invite-actions{display:flex;gap:.25rem}.invite-actions .copied-text{color:var(--success);font-size:.75rem;font-weight:500}.invite-accept-modal{max-width:400px;text-align:center}.invite-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 16px;color:var(--text-muted)}.invite-preview{display:flex;flex-direction:column;align-items:center;padding:8px 0 16px}.invite-preview-icon{width:64px;height:64px;border-radius:28%;background:var(--gradient);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#fff;margin-bottom:16px;overflow:hidden}.invite-preview-icon img{width:100%;height:100%;object-fit:cover}.invite-preview-name{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.invite-preview-desc{font-size:14px;color:var(--text-secondary);margin-bottom:8px;max-width:300px}.invite-preview-members{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted);margin-bottom:20px}.invite-expired{color:var(--danger);font-size:14px;font-weight:500;padding:12px 0}.invite-error-state{text-align:center;padding:32px 16px;color:var(--text-muted)}.invite-error-state p{font-size:15px;color:var(--text-secondary)}.invite-already-member{font-size:14px;color:var(--accent);margin-bottom:12px}.invite-accept-error{font-size:13px;color:var(--danger);margin-bottom:8px}.invite-accept-modal .btn-submit{width:100%}.settings-loading,.settings-empty{padding:2rem;text-align:center;color:var(--text-muted);font-size:.875rem}@media(max-width:768px){html,body,#root{height:100dvh;overflow:hidden;max-width:100vw}.app{height:100dvh;position:relative;overflow:hidden;max-width:100vw;gap:0;padding-bottom:env(safe-area-inset-bottom,0px)}[data-ios] .app{height:100%;padding-bottom:var(--safe-area-inset-bottom, 0px)}.main-content{gap:0}.space-bar{position:fixed;left:0;top:0;bottom:0;width:72px;z-index:102;transform:translate(-100%);transition:transform .25s ease;padding-top:env(safe-area-inset-top,12px)}.sidebar{position:fixed;left:72px;top:0;bottom:0;width:calc(100vw - 72px);max-width:300px;z-index:101;transform:translate(calc(-100% - 72px));transition:transform .25s ease;margin:0;gap:0;padding-top:env(safe-area-inset-top,0px)}.sidebar .sidebar-profile,.sidebar .sidebar-nav-card{border-radius:0;box-shadow:none}.sidebar .sidebar-profile{border-bottom:1px solid var(--border)}.space-bar{background:color-mix(in srgb,var(--bg-base) 55%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.sidebar{background:color-mix(in srgb,var(--bg-surface) 50%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.app.mobile.sidebar-open .space-bar,.app.mobile.sidebar-open .sidebar{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;inset:0;background:#00000080;z-index:100;opacity:0;pointer-events:none;transition:opacity .25s ease}.app.mobile.sidebar-open .sidebar-backdrop,.app.mobile.members-open .sidebar-backdrop{opacity:1;pointer-events:auto}.main-content{width:100%;min-width:100%}.member-panel{position:fixed;right:0;top:0;bottom:0;width:280px;max-width:85vw;z-index:102;transform:translate(100%);transition:transform .25s ease;border-left:1px solid var(--border);background:var(--bg-surface);padding-top:env(safe-area-inset-top,0px);border-radius:0;margin:0;box-shadow:none}.app.mobile.members-open .member-panel{transform:translate(0)}.thread-panel{position:fixed;right:0;top:0;bottom:0;width:100%;max-width:100%;z-index:102;border-left:none}.forum-threads{padding:12px 16px}.chat-header{padding:env(safe-area-inset-top,0px) 12px 0;height:calc(52px + env(safe-area-inset-top,0px));gap:8px}.mobile-hide{display:none!important}.chat-header-topic,.chat-header-divider{display:none}.mobile-menu-btn{margin-right:4px}.message{padding:3px 12px 3px 56px}.message-avatar{left:12px}.message-actions{right:12px}.message-input-wrapper{padding:0 8px 8px}.pinned-messages-panel{position:fixed;top:52px;left:0;right:0;width:100%;max-width:100%;max-height:calc(100dvh - 52px);border-radius:0;z-index:150}.modal-card{max-width:100%;width:100%;height:100%;max-height:100%;border-radius:0;padding:20px;border:none}.modal-overlay{align-items:stretch}.settings-modal{max-width:100%;max-height:100%;border-radius:0;height:100%}.friends-modal{width:100%;max-width:100%;max-height:100%;height:100%;border-radius:0}.friends-tab-content{height:auto;flex:1}.confirm-dialog{max-width:calc(100% - 32px);height:auto;border-radius:12px;border:1px solid var(--border)}.user-profile-popup{position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:calc(100vw - 32px);max-width:320px;z-index:200}.emoji-picker-modal{position:fixed;top:64px;left:0;right:0;bottom:calc(var(--keyboard-height, 0px) + 64px);margin:0;z-index:300;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px}.emoji-picker-backdrop{position:absolute;inset:0;background:#00000080}.emoji-picker-modal em-emoji-picker{position:relative;width:100%!important;max-width:100%!important;flex:1!important;min-height:0!important;max-height:100%!important;border-radius:12px!important}.context-menu{position:fixed!important;inset:auto 0 0!important;border-radius:16px 16px 0 0;max-height:60vh;overflow-y:auto;padding:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));min-width:unset;width:100%;animation:mobile-slide-up .2s ease}@keyframes mobile-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.context-menu-item{padding:14px 16px;font-size:15px;min-height:48px}.context-menu-submenu{position:static;border:none;box-shadow:none;padding:4px 0 0;margin:4px 0 0;border-radius:0;border-top:1px solid var(--border)}.context-menu-submenu.right,.context-menu-submenu.left{left:auto;right:auto;margin-left:0;margin-right:0}.context-menu-submenu-item{padding:12px 16px;font-size:15px;min-height:44px}.space-settings-body{flex-direction:column}.space-settings-nav{width:100%;flex-direction:row;flex-wrap:wrap;border-right:none;border-bottom:1px solid var(--border);padding:8px;gap:4px;flex-shrink:0}.space-settings-nav-item{white-space:nowrap;flex-shrink:0}.space-settings-content{padding:16px}.sidebar-item{padding:10px 12px;min-height:44px}.space-bar-item{width:48px;height:48px}.chat-header-btn{width:38px;height:38px;display:flex;align-items:center;justify-content:center}.member-item{padding:10px 12px;min-height:44px}.sidebar-actions{padding-bottom:env(safe-area-inset-bottom,8px)}.full-page-panel-body{flex-direction:column}.full-page-panel-nav{width:100%;flex-direction:row;flex-wrap:wrap;border-bottom:1px solid var(--border);padding:8px;gap:4px;flex-shrink:0;border-radius:0;margin:0;box-shadow:none}.full-page-panel-header{width:100%;padding:8px 12px;margin-bottom:4px}.full-page-panel-nav-item{white-space:nowrap;flex-shrink:0;padding:8px 14px}.full-page-panel-content{padding:16px}}@media(max-width:480px){.message{padding:3px 10px 3px 48px}.message-avatar{left:10px}.message-avatar .avatar{width:32px;height:32px;font-size:14px}.full-message{margin-top:14px}.message-actions{right:10px}.auth-card{padding:24px 20px;border-radius:0;border:none;max-width:100%}.chat-header-name{font-size:17px}.events-calendar-grid{padding:0 10px 12px}.events-calendar-cell{min-height:48px;padding:2px}.events-calendar-cell-event{font-size:.5rem}.events-rsvp-buttons{flex-direction:column}.events-detail,.events-form{padding:16px 14px}}.app.fullscreen-panel .space-bar,.app.fullscreen-panel .sidebar,.app.fullscreen-panel .member-panel,.app.fullscreen-panel .thread-panel{display:none}.app.fullscreen-panel .main-content{width:100%}.admin-tab-content{padding:1rem}.admin-search-bar{display:flex;align-items:center;gap:.5rem;background:var(--bg-raised);border:1px solid var(--border);border-radius:6px;padding:.5rem .75rem;margin-bottom:1rem}.admin-search-bar input{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:.875rem;outline:none}.admin-search-bar input::placeholder{color:var(--text-muted)}.admin-search-bar button{background:var(--brand);color:#fff;border:none;border-radius:4px;padding:.375rem .75rem;font-size:.75rem;cursor:pointer}.admin-search-bar button:hover{opacity:.9}.admin-filter-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary);margin-bottom:1rem}.admin-filter-row{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;font-size:.875rem}.admin-filter-row select{background:var(--bg-raised);border:1px solid var(--border);color:var(--text-primary);padding:.375rem .5rem;border-radius:4px;font-size:.875rem}.admin-loading,.admin-empty{text-align:center;padding:2rem;color:var(--text-muted)}.admin-table-container{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-table th,.admin-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border)}.admin-table th{color:var(--text-muted);font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.admin-table tr:hover{background:var(--bg-raised)}.admin-table tr.banned-row{opacity:.6}.admin-badge{color:var(--brand);margin-left:.25rem}.admin-space-cell{display:flex;align-items:center;gap:.5rem}.admin-public-badge{background:var(--brand);color:#fff;font-size:.625rem;padding:.125rem .375rem;border-radius:3px;text-transform:uppercase}.admin-status{display:inline-block;padding:.125rem .5rem;border-radius:3px;font-size:.75rem;font-weight:500}.admin-status.active{background:#4caf5026;color:var(--success)}.admin-status.banned{background:#f4433626;color:var(--danger)}.admin-actions{display:flex;gap:.5rem}.admin-action-btn{background:var(--bg-raised);border:1px solid var(--border);color:var(--text-secondary);padding:.375rem;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center}.admin-action-btn:hover{background:var(--bg-modifier-hover);color:var(--text-primary)}.admin-action-btn.danger:hover{background:#f4433626;color:var(--danger);border-color:#f443364d}.admin-pagination{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;font-size:.875rem;color:var(--text-muted)}.admin-pagination-controls{display:flex;align-items:center;gap:.5rem}.admin-pagination-controls button{background:var(--bg-raised);border:1px solid var(--border);color:var(--text-secondary);padding:.375rem;border-radius:4px;cursor:pointer;display:flex;align-items:center}.admin-pagination-controls button:disabled{opacity:.4;cursor:not-allowed}.admin-pagination-controls button:not(:disabled):hover{background:var(--bg-modifier-hover)}.admin-reports-list{display:flex;flex-direction:column;gap:1rem}.admin-report-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:8px;padding:1rem}.admin-report-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.admin-report-type{background:var(--bg-modifier-active);padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:capitalize}.admin-report-type.harassment{background:#f4433626;color:var(--danger)}.admin-report-type.spam{background:#ff980026;color:var(--warning)}.admin-report-status{font-size:.75rem;padding:.25rem .5rem;border-radius:4px}.admin-report-status.pending{background:#ffc10726;color:var(--warning)}.admin-report-status.resolved{background:#4caf5026;color:var(--success)}.admin-report-status.dismissed{background:#9e9e9e26;color:#9e9e9e}.admin-report-date{margin-left:auto;font-size:.75rem;color:var(--text-muted)}.admin-report-body{display:flex;flex-direction:column;gap:.5rem}.admin-report-field{display:flex;gap:.5rem;font-size:.875rem}.admin-report-field label{color:var(--text-muted);min-width:120px}.admin-report-message{background:var(--bg-primary);padding:.5rem;border-radius:4px;font-style:italic}.admin-report-actions{display:flex;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.admin-btn{display:flex;align-items:center;gap:.375rem;background:var(--bg-modifier-active);border:1px solid var(--border);color:var(--text-primary);padding:.5rem .75rem;border-radius:4px;font-size:.875rem;cursor:pointer}.admin-btn:hover{background:var(--bg-modifier-hover)}.admin-btn.success{background:#4caf5026;border-color:#4caf504d;color:var(--success)}.admin-btn.success:hover{background:#4caf5040}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem}.admin-stat-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:8px;padding:1rem;text-align:center}.admin-stat-card.accent{border-color:var(--brand);background:rgba(var(--brand-rgb),.05)}.admin-stat-value{font-size:1.75rem;font-weight:600;color:var(--text-primary)}.admin-stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem}.admin-section-title{font-size:.875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem}.admin-online-section{background:var(--bg-raised);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:1.5rem}.admin-online-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.admin-online-current{display:flex;align-items:center;gap:.5rem}.admin-online-dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 6px #43b58180;animation:admin-pulse 2s ease-in-out infinite}@keyframes admin-pulse{0%,to{opacity:1}50%{opacity:.5}}.admin-online-count{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.admin-online-label{font-size:.85rem;color:var(--text-muted)}.admin-online-connections{color:var(--text-muted);opacity:.7}.admin-online-chart{margin:0 -.5rem}.admin-chart-tooltip{background:var(--bg-floating);border:1px solid var(--border);border-radius:6px;padding:.5rem .75rem;box-shadow:0 4px 12px #0000004d}.admin-chart-tooltip-time{font-size:.7rem;color:var(--text-muted);margin-bottom:.25rem}.admin-chart-tooltip-row{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text-primary)}.admin-chart-tooltip-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.admin-audit-list{display:flex;flex-direction:column;gap:.75rem}.admin-audit-entry{background:var(--bg-raised);border:1px solid var(--border);border-radius:6px;padding:.75rem}.admin-audit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.admin-audit-action{font-weight:500;color:var(--text-primary)}.admin-audit-date{font-size:.75rem;color:var(--text-muted)}.admin-audit-details{display:flex;gap:1rem;font-size:.875rem;color:var(--text-secondary)}.admin-audit-json{background:var(--bg-primary);border-radius:4px;padding:.5rem;font-size:.75rem;margin-top:.5rem;overflow-x:auto;color:var(--text-muted)}.admin-tab-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.admin-tab-header .btn-solid{padding:8px 16px}.admin-flags-create{display:flex;gap:8px;margin-top:16px;align-items:center}.admin-flags-create input:first-child{flex:0 0 180px}.admin-flags-create input:nth-child(2){flex:1}.admin-flags-create .btn-solid{flex-shrink:0;padding:8px 16px}.admin-flags-list{display:flex;flex-direction:column;gap:2px}.admin-flag-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-raised);border-radius:8px;transition:background .15s}.admin-flag-row:hover{background:var(--bg-hover)}.admin-flag-info{display:flex;flex-direction:column;gap:2px;min-width:0}.admin-flag-name{font-size:14px;font-weight:600;color:var(--text-primary);font-family:var(--font-mono)}.admin-flag-desc{font-size:12px;color:var(--text-muted)}.admin-flag-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.audit-log-filters{margin-bottom:1rem}.audit-log-filter-select{background:var(--bg-raised);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);padding:.5rem .75rem;font-size:.875rem;cursor:pointer}.audit-log-filter-select:focus{outline:none;border-color:var(--accent)}.space-bar-item.admin-button{color:var(--warning)}.space-bar-item.admin-button:hover{background:#ffc10726}.automod-tab{display:flex;flex-direction:column;gap:20px}.automod-mode-toggle{display:flex;gap:8px;padding:4px;background:var(--bg-surface);border-radius:8px;width:fit-content}.automod-mode-toggle button{padding:6px 16px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:.875rem;transition:all .15s}.automod-mode-toggle button.active{background:var(--bg-raised);color:var(--text-primary)}.automod-rulesets-layout{display:flex;gap:16px;min-height:400px}.automod-rulesets-sidebar{width:220px;flex-shrink:0;display:flex;flex-direction:column;gap:4px}.automod-ruleset-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:background .15s;font-size:.875rem}.automod-ruleset-item:hover{background:var(--bg-hover)}.automod-ruleset-item.active{background:var(--bg-active);color:var(--text-primary)}.automod-ruleset-item .ruleset-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automod-ruleset-item .ruleset-scope{font-size:.75rem;color:var(--text-muted);margin-left:8px}.automod-ruleset-editor{flex:1;display:flex;flex-direction:column;gap:16px;min-width:0}.automod-ruleset-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.automod-ruleset-header .settings-input{flex:1;min-width:200px}.automod-rule-section{background:var(--bg-surface);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:12px}.automod-rule-section-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none}.automod-rule-section-header h4{margin:0;font-size:.9375rem;color:var(--text-primary);display:flex;align-items:center;gap:6px}.automod-rule-row{display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--bg-raised);border-radius:6px}.automod-rule-row-header{display:flex;align-items:center;gap:8px}.automod-rule-config{display:flex;flex-direction:column;gap:8px}.automod-rule-config label{font-size:.8125rem;color:var(--text-secondary);display:flex;flex-direction:column;gap:4px}.automod-rule-config label span{font-weight:500}.automod-words-input{width:100%;min-height:80px;padding:8px;background:var(--bg-base);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:var(--font-mono);font-size:.8125rem;resize:vertical}.automod-words-input:focus{outline:none;border-color:var(--accent-color)}.automod-action-select,.automod-scope-select,.automod-match-select{padding:6px 10px;background:var(--bg-base);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.8125rem}.automod-action-select:focus,.automod-scope-select:focus,.automod-match-select:focus{outline:none;border-color:var(--accent-color)}.automod-number-input{width:80px;padding:6px 10px;background:var(--bg-base);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.8125rem}.automod-number-input:focus{outline:none;border-color:var(--accent-color)}.automod-rule-actions{display:flex;gap:8px;align-items:center;margin-top:4px}.automod-reason-input{flex:1;padding:6px 10px;background:var(--bg-base);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.8125rem}.automod-reason-input:focus{outline:none;border-color:var(--accent-color)}.automod-radio-group{display:flex;gap:16px;align-items:center}.automod-radio-group label{display:flex;align-items:center;gap:4px;font-size:.8125rem;color:var(--text-secondary);cursor:pointer;flex-direction:row}.automod-spam-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.automod-flag{display:flex;align-items:center;gap:6px;margin-top:4px;padding:4px 8px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:4px;font-size:.75rem;color:var(--danger)}.automod-flag-icon{flex-shrink:0}.automod-flag-text{flex:1}.automod-approve-btn{padding:2px 8px;border:1px solid rgba(74,222,128,.3);border-radius:4px;background:#4ade801a;color:var(--status-online);font-size:.75rem;cursor:pointer;transition:background .15s}.automod-approve-btn:hover{background:#4ade8033}.automod-logs{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto}.automod-logs-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.automod-logs-header h4{margin:0;font-size:.9375rem;color:var(--text-primary)}.automod-log-entry{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-surface);border-radius:6px;font-size:.8125rem;color:var(--text-secondary)}.automod-log-entry .log-time{flex-shrink:0;font-size:.75rem;color:var(--text-muted);min-width:70px}.automod-log-entry .log-content{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-badge{padding:2px 6px;border-radius:4px;font-size:.6875rem;font-weight:600;text-transform:uppercase;flex-shrink:0}.action-badge.block{background:#ef444426;color:var(--danger)}.action-badge.delete_alert{background:#f0b23226;color:var(--warning)}.action-badge.flag{background:#9b59d026;color:#9b59d0}.rule-type-badge{padding:2px 6px;border-radius:4px;font-size:.6875rem;font-weight:600;background:var(--bg-hover);color:var(--text-secondary);flex-shrink:0}.automod-empty{text-align:center;padding:40px 20px;color:var(--text-muted);font-size:.875rem}.wiki-view{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.wiki-header{height:52px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;border-radius:var(--card-radius);margin:8px 8px 0;overflow:hidden;position:relative}.wiki-header:before{content:"";position:absolute;bottom:0;left:8px;right:8px;height:4px;border-radius:4px 4px 0 0;background:var(--gradient);z-index:2}.wiki-header-title{display:flex;align-items:center;gap:8px;font-size:1rem;font-weight:600;color:var(--text-primary)}.wiki-header-nav{display:flex;align-items:center;gap:6px}.wiki-header-title-small{display:flex;align-items:center;gap:6px;font-size:.875rem;font-weight:600;color:var(--text-primary);padding:4px 8px}.wiki-header-actions{display:flex;align-items:center;gap:6px}.wiki-back-btn{display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-secondary);font-size:.875rem;cursor:pointer;padding:4px 8px;border-radius:6px}.wiki-back-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.wiki-btn{display:flex;align-items:center;gap:5px;background:var(--bg-hover);border:none;color:var(--text-secondary);font-size:.8125rem;cursor:pointer;padding:6px 12px;border-radius:6px;font-weight:500}.wiki-btn:hover{background:var(--bg-active);color:var(--text-primary)}.wiki-btn-primary{background:var(--accent);color:#fff}.wiki-btn-primary:hover{background:var(--accent-hover);color:#fff}.wiki-btn-primary:disabled{opacity:.5;cursor:not-allowed}.wiki-btn-danger{color:var(--text-secondary)}.wiki-btn-danger:hover{background:#ef444426;color:var(--danger)}.wiki-search{padding:12px 20px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border)}.wiki-search-icon{color:var(--text-muted);flex-shrink:0}.wiki-search-input{flex:1;background:none;border:none;color:var(--text-primary);font-size:.875rem;outline:none;font-family:var(--font)}.wiki-search-input::placeholder{color:var(--text-muted)}.wiki-page-list{flex:1;overflow-y:auto;padding:8px;scrollbar-width:thin;scrollbar-color:var(--bg-hover) transparent}.wiki-page-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:12px 14px;background:none;border:none;border-radius:6px;cursor:pointer;text-align:left}.wiki-page-item:hover{background:var(--bg-hover)}.wiki-page-item-title{font-size:.9375rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:4px}.wiki-protected-icon{color:var(--text-muted);flex-shrink:0}.wiki-page-item-meta{font-size:.75rem;color:var(--text-muted)}.wiki-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;color:var(--text-muted);text-align:center}.wiki-empty p{font-size:.875rem}.wiki-page-content{flex:1;overflow-y:auto;padding:24px 32px;scrollbar-width:thin;scrollbar-color:var(--bg-hover) transparent}.wiki-page-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:8px;display:flex;align-items:center;gap:6px}.wiki-page-meta{font-size:.75rem;color:var(--text-muted);margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.wiki-page-body{color:var(--text-primary);font-size:.9375rem;line-height:1.65;user-select:text}.wiki-page-body h1,.wiki-page-body h2,.wiki-page-body h3{color:var(--text-primary);margin-top:1.5em;margin-bottom:.5em}.wiki-page-body h1{font-size:1.375rem}.wiki-page-body h2{font-size:1.125rem}.wiki-page-body h3{font-size:1rem}.wiki-page-body p{margin-bottom:.75em}.wiki-page-body ul,.wiki-page-body ol{margin-bottom:.75em;padding-left:1.5em}.wiki-page-body li{margin-bottom:.25em}.wiki-page-body blockquote{border-left:3px solid var(--accent);padding-left:12px;margin:.75em 0;color:var(--text-secondary)}.wiki-page-body table{border-collapse:collapse;margin:.75em 0;width:100%}.wiki-page-body th,.wiki-page-body td{border:1px solid var(--border);padding:6px 10px;text-align:left;font-size:.875rem}.wiki-page-body th{background:var(--bg-raised);font-weight:600}.wiki-page-body img{max-width:100%;border-radius:6px}.wiki-link{background:none;border:none;color:var(--text-link);font-size:inherit;font-family:inherit;cursor:pointer;padding:0;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.wiki-link:hover{color:var(--accent);text-decoration-style:solid}.wiki-editor{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.wiki-editor-title-row{padding:16px 20px 0}.wiki-editor-title{width:100%;background:var(--bg-raised);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:1.125rem;font-weight:600;font-family:var(--font);padding:10px 14px;outline:none}.wiki-editor-title:focus{border-color:var(--accent)}.wiki-editor-title::placeholder{color:var(--text-muted)}.wiki-editor-source{flex:1;margin:12px 20px 20px;background:var(--bg-raised);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.875rem;font-family:var(--font-mono);line-height:1.6;padding:14px;resize:none;outline:none;user-select:text}.wiki-editor-source:focus{border-color:var(--accent)}.wiki-editor-source::placeholder{color:var(--text-muted)}.wiki-editor-preview{flex:1;overflow-y:auto;padding:16px 20px 20px;scrollbar-width:thin;scrollbar-color:var(--bg-hover) transparent}.wiki-revisions{flex:1;overflow-y:auto;padding:8px;scrollbar-width:thin;scrollbar-color:var(--bg-hover) transparent}.wiki-revision-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:12px 14px;background:none;border:none;border-radius:6px;cursor:pointer;text-align:left}.wiki-revision-item:hover{background:var(--bg-hover)}.wiki-revision-item-title{font-size:.875rem;font-weight:600;color:var(--text-primary)}.wiki-revision-old-title{font-weight:400;color:var(--text-secondary);font-style:italic}.wiki-revision-item-meta{font-size:.75rem;color:var(--text-muted)}.wiki-infobox{float:right;clear:right;width:280px;margin:0 0 16px 20px;background:var(--bg-raised);border:1px solid var(--border);border-radius:8px;overflow:hidden;font-size:.8125rem}.wiki-infobox-title{padding:10px 14px;font-weight:700;font-size:.9375rem;text-align:center;background:var(--bg-active);color:var(--text-primary);border-bottom:1px solid var(--border)}.wiki-infobox-image-wrap{border-bottom:1px solid var(--border)}.wiki-infobox-image{width:100%;display:block}.wiki-infobox-table{width:100%;border-collapse:collapse}.wiki-infobox-table th{text-align:left;padding:6px 10px;font-weight:600;color:var(--text-secondary);background:var(--bg-surface);border-bottom:1px solid var(--border);width:40%;vertical-align:top}.wiki-infobox-table td{padding:6px 10px;color:var(--text-primary);border-bottom:1px solid var(--border)}.wiki-callout{margin:12px 0;padding:12px 16px;border-radius:6px;border-left:4px solid}.wiki-callout-info{background:#3898ec14;border-left-color:#3898ec}.wiki-callout-warning{background:#efa84414;border-left-color:#efa844}.wiki-callout-tip{background:#48c78e14;border-left-color:#48c78e}.wiki-callout-title{font-weight:700;font-size:.875rem;margin-bottom:6px;color:var(--text-primary)}.wiki-callout-body{font-size:.875rem;color:var(--text-secondary)}.wiki-callout-body p:last-child{margin-bottom:0}.wiki-gallery{display:grid;grid-template-columns:repeat(var(--gallery-cols, 3),1fr);gap:8px;margin:12px 0}.wiki-gallery img{width:100%;border-radius:6px;display:block}.wiki-gallery p{margin:0}.wiki-spoiler{margin:12px 0;background:var(--bg-raised);border:1px solid var(--border);border-radius:6px;overflow:hidden}.wiki-spoiler summary{padding:10px 14px;cursor:pointer;font-weight:600;font-size:.875rem;color:var(--text-primary);user-select:none;list-style:none}.wiki-spoiler summary:before{content:"▸ ";color:var(--text-muted)}.wiki-spoiler[open] summary:before{content:"▾ "}.wiki-spoiler summary:hover{background:var(--bg-hover)}.wiki-spoiler-body{padding:0 14px 12px;font-size:.875rem;color:var(--text-secondary)}.wiki-toc{background:var(--bg-raised);border:1px solid var(--border);border-radius:6px;padding:12px 16px;margin:12px 0;display:inline-block;min-width:200px;max-width:360px}.wiki-toc-title{font-weight:700;font-size:.875rem;color:var(--text-primary);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border)}.wiki-toc-list{list-style:decimal;margin:0;padding-left:20px}.wiki-toc-item{font-size:.8125rem;line-height:1.6}.wiki-toc-item a{color:var(--text-link);text-decoration:none}.wiki-toc-item a:hover{text-decoration:underline}.wiki-page-body:after{content:"";display:table;clear:both}@media(max-width:768px){.wiki-infobox{float:none;width:100%;margin:0 0 16px}}.wiki-template-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--accent-purple);background:#9b59d01f;padding:1px 6px;border-radius:3px;margin-left:6px}.sidebar-wiki-btn{margin-bottom:4px}.sidebar-events-btn{margin-bottom:0}.sidebar-upcoming-events{padding:2px 6px 4px}.sidebar-upcoming-event{display:flex;align-items:center;gap:8px;width:100%;padding:3px 10px;border:none;background:none;border-radius:6px;font-size:12px;color:var(--text-muted);text-align:left;cursor:pointer;transition:background .1s,color .1s}.sidebar-upcoming-event:hover{background:var(--bg-hover);color:var(--text-secondary)}.sidebar-upcoming-event-date{flex-shrink:0;font-size:11px;font-weight:600;color:var(--accent);min-width:52px}.sidebar-upcoming-event-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.events-view{flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto}.events-header{height:52px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;border-radius:var(--card-radius);margin:8px 8px 0;overflow:hidden;position:relative}.events-header:before{content:"";position:absolute;bottom:0;left:8px;right:8px;height:4px;border-radius:4px 4px 0 0;background:var(--gradient);z-index:2}.events-header-title{display:flex;align-items:center;gap:8px;font-size:1rem;font-weight:600;color:var(--text-primary)}.events-header-actions{display:flex;align-items:center;gap:6px}.events-back-btn{display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-secondary);font-size:.875rem;cursor:pointer;padding:4px 8px;border-radius:6px}.events-back-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.events-btn{display:flex;align-items:center;gap:5px;background:var(--bg-hover);border:none;color:var(--text-secondary);font-size:.8125rem;cursor:pointer;padding:6px 12px;border-radius:6px;font-weight:500}.events-btn:hover{background:var(--bg-active);color:var(--text-primary)}.events-btn-primary{background:var(--accent);color:#fff}.events-btn-primary:hover{background:var(--accent-hover)}.events-btn-primary:disabled{opacity:.5;cursor:not-allowed}.events-btn-danger{color:var(--error)}.events-btn-danger:hover{background:#dc354526}.events-calendar-nav{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px 20px;flex-shrink:0}.events-calendar-nav button{background:none;border:none;color:var(--text-secondary);font-size:1.25rem;cursor:pointer;padding:4px 10px;border-radius:6px;line-height:1}.events-calendar-nav button:hover{background:var(--bg-hover);color:var(--text-primary)}.events-calendar-month-label{font-size:.9375rem;font-weight:600;color:var(--text-primary);min-width:160px;text-align:center}.events-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;padding:0 20px 12px;flex-shrink:0}.events-calendar-day-header{text-align:center;font-size:.6875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;padding:4px 0 8px}.events-calendar-cell{min-height:64px;padding:4px;border-radius:6px;cursor:pointer;border:1px solid transparent;transition:background .1s,border-color .1s}.events-calendar-cell:hover:not(.empty){background:var(--bg-hover)}.events-calendar-cell.empty{cursor:default}.events-calendar-cell.today{border-color:var(--accent)}.events-calendar-cell.selected{background:var(--bg-active);border-color:var(--accent)}.events-calendar-cell-day{font-size:.75rem;font-weight:500;color:var(--text-secondary);margin-bottom:2px}.events-calendar-cell.today .events-calendar-cell-day{color:var(--accent);font-weight:700}.events-calendar-cell-events{display:flex;flex-direction:column;gap:1px}.events-calendar-cell-event{font-size:.625rem;color:var(--text-primary);background:var(--accent);color:#fff;border-radius:3px;padding:1px 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.events-calendar-cell-more{font-size:.5625rem;color:var(--text-muted)}.events-list{flex:1;overflow-y:auto;padding:0 20px 20px}.events-list-header{font-size:.8125rem;font-weight:600;color:var(--text-secondary);padding:8px 0;border-bottom:1px solid var(--border);margin-bottom:4px}.events-list-item{display:flex;align-items:center;gap:12px;padding:10px 8px;background:none;border:none;width:100%;text-align:left;color:var(--text-primary);cursor:pointer;border-radius:6px;font-size:.875rem}.events-list-item:hover{background:var(--bg-hover)}.events-list-item-date{display:flex;flex-direction:column;align-items:center;min-width:40px;padding:4px;border-radius:6px;background:var(--bg-hover)}.events-list-item-date-month{font-size:.625rem;font-weight:600;text-transform:uppercase;color:var(--accent)}.events-list-item-date-day{font-size:1.125rem;font-weight:700;line-height:1.2;color:var(--text-primary)}.events-list-item-info{flex:1;min-width:0}.events-list-item-title{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.events-list-item-meta{display:flex;align-items:center;gap:10px;font-size:.75rem;color:var(--text-muted);margin-top:2px}.events-list-item-meta span{display:flex;align-items:center;gap:3px}.events-list-item-rsvp{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--text-muted)}.events-list-item-rsvp span{display:flex;align-items:center;gap:3px}.events-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;color:var(--text-muted);font-size:.875rem}.events-empty p{margin:0}.events-detail{flex:1;overflow-y:auto;padding:24px 20px}.events-detail-title{font-size:1.375rem;font-weight:700;color:var(--text-primary);margin:0 0 12px}.events-detail-meta{display:flex;flex-direction:column;gap:6px;font-size:.875rem;color:var(--text-secondary);margin-bottom:16px}.events-detail-meta span{display:flex;align-items:center;gap:6px}.events-detail-description{font-size:.9375rem;color:var(--text-primary);line-height:1.6;margin-bottom:20px;white-space:pre-wrap}.events-rsvp-buttons{display:flex;gap:8px;margin-bottom:24px}.events-rsvp-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;background:var(--bg-hover);border:1px solid transparent;color:var(--text-secondary);transition:background .15s,border-color .15s,color .15s}.events-rsvp-btn:hover{background:var(--bg-active);color:var(--text-primary)}.events-rsvp-btn.active{border-color:var(--accent);color:var(--accent);background:rgba(var(--accent-rgb, 88, 101, 242),.1)}.events-rsvp-count{font-size:.75rem;color:var(--text-muted)}.events-attendees{margin-top:4px}.events-attendees-header{font-size:.8125rem;font-weight:600;color:var(--text-secondary);padding:8px 0 4px;margin-top:8px}.events-attendee-item{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:.875rem;color:var(--text-primary)}.events-form{flex:1;overflow-y:auto;padding:20px}.events-form-group{margin-bottom:16px}.events-form-label{display:block;font-size:.8125rem;font-weight:600;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.02em}.events-form-input{width:100%;padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.875rem;outline:none;box-sizing:border-box}.events-form-input:focus{border-color:var(--accent)}.events-form-textarea{width:100%;padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.875rem;outline:none;min-height:100px;resize:vertical;font-family:inherit;box-sizing:border-box}.events-form-textarea:focus{border-color:var(--accent)}.events-form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:8px}.tp-preview{border-radius:6px;overflow:hidden;border:1px solid var(--border);flex-shrink:0;display:grid;grid-template-columns:12% 22% 1fr 18%;grid-template-rows:1fr 3px;font-size:8px;line-height:1.2}.tp-preview.clickable{cursor:pointer}.tp-preview.small{width:200px;height:130px}.tp-preview.medium{width:320px;height:208px;font-size:10px}.tp-spacebar{display:flex;flex-direction:column;align-items:center;padding:6px 0;gap:4px}.tp-space-icon{width:60%;aspect-ratio:1;border-radius:30%}.tp-sidebar{display:flex;flex-direction:column;padding:6px 4px;gap:2px;overflow:hidden}.tp-channel{padding:2px 4px;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tp-chat{display:flex;flex-direction:column;overflow:hidden}.tp-header{padding:4px 6px;flex-shrink:0;font-weight:600}.tp-messages{flex:1;padding:4px 6px;display:flex;flex-direction:column;gap:3px;overflow:hidden}.tp-message{display:flex;gap:3px;align-items:flex-start}.tp-avatar{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:1px}.tp-msg-content{display:flex;flex-wrap:wrap;gap:2px;overflow:hidden;min-width:0}.tp-author{font-weight:700}.tp-input{margin:auto 4px 4px;padding:3px 6px;border-radius:4px;font-size:7px}.tp-members{display:flex;flex-direction:column;padding:6px 4px;gap:3px;overflow:hidden}.tp-member{display:flex;align-items:center;gap:3px;white-space:nowrap;overflow:hidden}.tp-status-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.tp-gradient-strip{grid-column:1 / -1;height:3px}.gradient-editor{display:flex;flex-direction:column;gap:12px;padding:12px;background:var(--bg-raised);border-radius:8px;border:1px solid var(--border)}.gradient-editor-preview{height:40px;border-radius:6px;border:1px solid var(--border)}.gradient-editor-angle{display:flex;align-items:center;gap:8px}.gradient-editor-angle label{font-size:.8125rem;color:var(--text-secondary);white-space:nowrap}.gradient-editor-angle-input{width:64px;padding:4px 8px;background:var(--bg-base);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:.8125rem}.gradient-editor-track{position:relative;height:24px;border-radius:12px;cursor:pointer;border:1px solid var(--border)}.gradient-editor-stop{position:absolute;top:50%;transform:translate(-50%,-50%);width:16px;height:16px;border-radius:50%;border:2px solid white;cursor:grab;box-shadow:0 1px 3px #0006}.gradient-editor-stop:active{cursor:grabbing}.gradient-editor-stops{display:flex;flex-direction:column;gap:8px}.gradient-editor-stop-row{display:flex;align-items:center;gap:8px}.gradient-editor-pos-input{width:52px;padding:4px 6px;background:var(--bg-base);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:.75rem;text-align:center}.gradient-editor-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px 6px;border-radius:4px;font-size:1rem;line-height:1}.gradient-editor-remove:hover{color:var(--danger);background:var(--bg-hover)}.gradient-editor-add{background:none;border:1px dashed var(--border);color:var(--text-muted);cursor:pointer;padding:6px 12px;border-radius:6px;font-size:.8125rem}.gradient-editor-add:hover{border-color:var(--accent);color:var(--accent)}.theme-editor{display:flex;flex-direction:column;flex:1;overflow:hidden;min-height:0}.theme-editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.theme-editor-toolbar-left{display:flex;align-items:center;gap:8px}.theme-editor-toolbar-right{display:flex;align-items:center;gap:6px}.theme-editor-name-input{padding:6px 10px;background:var(--bg-base);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.875rem;width:180px}.theme-editor-btn{background:var(--bg-raised);border:1px solid var(--border);color:var(--text-secondary);padding:6px 12px;border-radius:6px;cursor:pointer;font-size:.8125rem;display:flex;align-items:center;gap:4px;white-space:nowrap}.theme-editor-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.theme-editor-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.theme-editor-btn.primary:hover{background:var(--accent-hover)}.theme-editor-btn:disabled{opacity:.5;cursor:not-allowed}.theme-editor-publish{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--bg-raised)}.theme-editor-publish-input{padding:6px 10px;background:var(--bg-base);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.8125rem;flex:1}.theme-editor-main{display:flex;flex:1;overflow:hidden;min-height:0}.theme-editor-preview{width:45%;min-width:360px;padding:16px;overflow-y:auto;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:12px}.theme-editor-controls{flex:1;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.theme-editor-tabs{display:flex;gap:4px}.theme-editor-tab{background:none;border:none;color:var(--text-muted);padding:6px 12px;border-radius:6px;cursor:pointer;font-size:.8125rem}.theme-editor-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.theme-editor-tab.active{color:var(--text-primary);background:var(--bg-active)}.theme-editor-regions{display:flex;flex-wrap:wrap;gap:4px}.theme-editor-region-btn{background:var(--bg-raised);border:1px solid var(--border);color:var(--text-muted);padding:5px 10px;border-radius:6px;cursor:pointer;font-size:.75rem}.theme-editor-region-btn:hover{color:var(--text-primary);border-color:var(--text-muted)}.theme-editor-region-btn.active{background:var(--bg-active);color:var(--text-primary);border-color:var(--accent)}.theme-editor-vars{display:flex;flex-direction:column;gap:14px}.theme-editor-var{display:flex;flex-direction:column;gap:6px}.theme-editor-var-header{display:flex;align-items:center;gap:8px}.theme-editor-var-name{font-size:.8125rem;font-weight:500;color:var(--text-secondary);font-family:var(--font-mono)}.theme-editor-gradient-toggle{background:none;border:1px solid var(--border);color:var(--text-muted);padding:2px 8px;border-radius:4px;cursor:pointer;font-size:.6875rem;white-space:nowrap;margin-left:auto}.theme-editor-gradient-toggle:hover{border-color:var(--accent);color:var(--accent)}.theme-editor-gradient-toggle.active{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.theme-editor-text-input{padding:6px 10px;background:var(--bg-base);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.8125rem;font-family:var(--font-mono);width:100%}.theme-editor-fonts{display:flex;flex-direction:column;gap:12px;padding:16px 0 0;border-top:1px solid var(--border)}.theme-editor-fonts h4{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0}.theme-editor-font-row{display:flex;flex-direction:column;gap:6px}.theme-editor-font-row label{font-size:.8125rem;color:var(--text-secondary);font-weight:500}.theme-editor-font-select{padding:6px 10px;background:var(--bg-base);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.875rem;width:100%}.theme-editor-font-preview{font-size:.8125rem;color:var(--text-muted);padding:8px 10px;background:var(--bg-raised);border-radius:6px;border:1px solid var(--border)}.theme-editor-font-preview.mono{font-family:var(--font-mono)}.tl-preview{border:1px solid var(--border);border-radius:8px;overflow:hidden;font-size:11px;line-height:1.3;user-select:none}.tl-chat-layout{display:grid;grid-template-columns:48px 160px 1fr 130px;grid-template-rows:1fr auto;height:380px}.tl-panel-layout{display:grid;grid-template-columns:170px 1fr;grid-template-rows:1fr;height:320px}.tl-region{cursor:pointer;position:relative;outline:2px solid transparent;outline-offset:-2px;transition:outline-color .15s}.tl-region:hover{outline-color:#e8743f80}.tl-region.selected{outline-color:var(--accent)}.tl-spacebar{display:flex;flex-direction:column;align-items:center;padding:8px 0;gap:6px}.tl-space-icon{width:32px;height:32px;border-radius:10px}.tl-space-divider{width:60%;height:2px;border-radius:1px}.tl-badge{position:absolute;bottom:-2px;right:-4px;font-size:9px;font-weight:700;padding:1px 4px;border-radius:8px;line-height:1}.tl-sidebar{display:flex;flex-direction:column;padding:0;overflow:hidden}.tl-sidebar-header{padding:10px 10px 8px;font-weight:600;font-size:12px}.tl-category{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:8px 10px 4px}.tl-channel{padding:4px 10px;font-size:11px;border-radius:0}.tl-channel.active{font-weight:600}.tl-chat-col{display:flex;flex-direction:column;min-width:0;overflow:hidden}.tl-chat-header{padding:10px 12px;font-size:12px;display:flex;align-items:center;flex-shrink:0}.tl-messages{flex:1;padding:10px 12px;display:flex;flex-direction:column;gap:10px;overflow:hidden}.tl-message{display:flex;gap:8px;align-items:flex-start}.tl-avatar{width:24px;height:24px;border-radius:50%;flex-shrink:0;margin-top:1px}.tl-msg-body{display:flex;flex-direction:column;gap:1px;min-width:0}.tl-msg-meta{display:flex;align-items:baseline;gap:6px}.tl-msg-meta span:first-child{font-size:11px}.tl-msg-meta span:last-child{font-size:9px}.tl-mention{padding:0 3px;border-radius:3px;font-weight:500}.tl-input-area{padding:0 12px 10px;flex-shrink:0}.tl-input-box{padding:8px 10px;border-radius:6px;font-size:11px}.tl-members{display:flex;flex-direction:column;padding:10px 8px;gap:4px;overflow:hidden}.tl-member-group{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:4px 4px 2px}.tl-member-row{display:flex;align-items:center;gap:6px;padding:3px 4px;font-size:11px}.tl-member-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tl-buttons-row{grid-column:1 / -1;display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--bg-raised);border-top:1px solid var(--border)}.tl-btn{padding:4px 12px;border-radius:4px;font-size:10px;font-weight:600;border:none;cursor:default}.tl-badge-pill{font-size:9px;font-weight:700;padding:2px 6px;border-radius:8px;line-height:1}.tl-panel-nav{display:flex;flex-direction:column;padding:12px 8px;gap:2px;overflow:hidden}.tl-nav-item{padding:6px 10px;border-radius:4px;font-size:11px}.tl-nav-item.active{font-weight:600}.tl-panel-content{display:flex;flex-direction:column;overflow:hidden}.tl-panel-heading{padding:14px 16px;font-size:14px;font-weight:600;flex-shrink:0}.tl-panel-body{flex:1;padding:12px 16px;display:flex;flex-direction:column;gap:10px;overflow:hidden}.tl-panel-card{padding:12px;border:1px solid var(--border)}.tl-panel-actions{display:flex;gap:6px;margin-top:4px}.theme-registry{display:flex;flex-direction:column;height:100%;overflow:hidden}.theme-registry-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.theme-registry-back{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;gap:4px;font-size:.875rem}.theme-registry-back:hover{color:var(--text-primary)}.theme-registry-header h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.theme-registry-toolbar{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.theme-registry-search{display:flex;align-items:center;gap:8px;flex:1;background:var(--bg-base);border:1px solid var(--border);border-radius:6px;padding:6px 10px}.theme-registry-search svg{color:var(--text-muted);flex-shrink:0}.theme-registry-search input{flex:1;background:none;border:none;color:var(--text-primary);font-size:.875rem;outline:none}.theme-registry-search-btn{background:var(--accent);border:none;color:var(--accent-text);padding:4px 10px;border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:600}.theme-registry-sort{display:flex;gap:4px}.theme-registry-sort-btn{background:none;border:1px solid var(--border);color:var(--text-muted);padding:6px 10px;border-radius:6px;cursor:pointer;font-size:.8125rem;display:flex;align-items:center;gap:4px}.theme-registry-sort-btn:hover{color:var(--text-primary);border-color:var(--text-muted)}.theme-registry-sort-btn.active{background:var(--bg-active);color:var(--text-primary);border-color:var(--accent)}.theme-registry-loading,.theme-registry-empty{padding:40px 20px;text-align:center;color:var(--text-muted);font-size:.875rem}.theme-registry-grid{flex:1;overflow-y:auto;padding:16px 20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;align-content:start}.theme-registry-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.theme-registry-card .tp-preview{width:100%;height:140px;border-radius:0;border:none;border-bottom:1px solid var(--border)}.theme-registry-card-info{padding:10px 12px;flex:1}.theme-registry-card-name{font-size:.875rem;font-weight:600;color:var(--text-primary)}.theme-registry-card-author{font-size:.75rem;color:var(--text-muted);margin-top:2px}.theme-registry-card-desc{font-size:.8125rem;color:var(--text-secondary);margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.theme-registry-card-stats{font-size:.75rem;color:var(--text-muted);display:flex;align-items:center;gap:4px;margin-top:6px}.theme-registry-card-actions{display:flex;gap:8px;padding:8px 12px;border-top:1px solid var(--border)}.theme-registry-use-btn{flex:1;background:var(--bg-hover);border:1px solid var(--border);color:var(--text-secondary);padding:6px 10px;border-radius:6px;cursor:pointer;font-size:.8125rem}.theme-registry-use-btn:hover{background:var(--bg-active);color:var(--text-primary)}.theme-registry-install-btn{flex:1;background:var(--accent);border:none;color:var(--accent-text);padding:6px 10px;border-radius:6px;cursor:pointer;font-size:.8125rem;display:flex;align-items:center;justify-content:center;gap:4px}.theme-registry-install-btn:hover{background:var(--accent-hover)}.appearance-theme-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.8125rem;font-weight:500;background:var(--bg-raised);border:1px solid var(--border);color:var(--text-secondary)}.appearance-theme-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.appearance-theme-btn.muted{color:var(--text-muted)}.appearance-theme-btn.muted:hover{color:var(--text-primary)}.appearance-theme-btn.small{padding:4px 10px;font-size:.75rem}.appearance-saved-themes{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.appearance-saved-theme-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.appearance-saved-theme-card .tp-preview{width:100%;height:100px;border-radius:0;border:none;border-bottom:1px solid var(--border);cursor:pointer}.appearance-saved-theme-info{padding:8px 10px;display:flex;align-items:center;justify-content:space-between}.appearance-saved-theme-name{font-size:.8125rem;font-weight:600;color:var(--text-primary)}.appearance-saved-theme-actions{display:flex;gap:4px}.games-transition-container{position:relative;width:100%;height:100%;overflow:hidden}.games-page{position:absolute;inset:0;transition:transform .3s cubic-bezier(.4,0,.2,1)}.games-page-discovery{transform:translate(0)}.games-page-details{transform:translate(100%)}.games-transition-container.showing-details .games-page-discovery{transform:translate(-100%)}.games-transition-container.showing-details .games-page-details{transform:translate(0)}.games-discovery{overflow-y:auto;overflow-x:hidden;padding:0 0 32px;height:100%}.games-hero{position:relative;height:280px;display:flex;align-items:flex-end;padding:32px;margin:8px;border-radius:var(--card-radius);overflow:hidden}.games-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,transparent 60%)}.games-hero-content{position:relative;z-index:1;display:flex;flex-direction:column;gap:8px}.games-hero-badge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--gradient);color:#fff;padding:3px 10px;border-radius:4px;width:fit-content}.games-hero-title{font-size:28px;font-weight:800;color:#fff;margin:0;line-height:1.1}.games-hero-desc{font-size:14px;color:#fffc;margin:0}.games-hero-play{margin-top:4px;width:fit-content}.games-category{padding:0 8px;margin-top:24px}.games-category:first-of-type{margin-top:16px}.games-category-header{display:flex;align-items:center;justify-content:space-between;padding:0 8px;margin-bottom:12px}.games-category-header h2{font-size:16px;font-weight:700;color:var(--text-primary);margin:0}.games-category-see-all{display:flex;align-items:center;gap:2px;font-size:13px;color:var(--text-muted)}.games-category-row{display:flex;gap:12px;overflow-x:auto;padding:24px 32px;scroll-snap-type:x proximity;scrollbar-width:thin}.game-card{position:relative;width:150%;aspect-ratio:4 / 3;border-radius:var(--card-radius);overflow:hidden;cursor:pointer;text-align:left;padding:0;transform-origin:center center;transform:scale(.667);transform-style:preserve-3d;transition:transform .35s cubic-bezier(.34,1.4,.64,1),box-shadow .35s ease-out}.game-card:hover{box-shadow:var(--card-shadow),0 6px 16px #00000026;z-index:10;transition:transform .12s ease-out,box-shadow .12s ease-out}.game-card:active{box-shadow:var(--card-shadow),0 2px 8px #0003;transition:transform .06s ease-out,box-shadow .06s ease-out}.game-card-wrapper{flex:0 0 200px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:2px}.game-card-thumbnail{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.game-card-thumbnail-text{font-size:36px;font-weight:800;color:#fff9;text-shadow:0 2px 8px rgba(0,0,0,.3)}.game-card-info{position:absolute;bottom:0;left:0;right:0;padding:24px 10px 10px;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,transparent 100%);display:flex;flex-direction:column;gap:3px;transform:translateY(100%);transition:transform .2s ease}.game-card:hover .game-card-info{transform:translateY(0)}.game-card-name{font-size:15px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-card-desc{font-size:13px;color:#ffffffb3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}.game-card-stats{display:flex;justify-content:center;gap:10px;font-size:11px;color:var(--text-muted)}.game-card-stat{display:flex;align-items:center;gap:3px}.game-details{overflow-y:auto;height:100%;padding-bottom:32px}.game-details-nav{padding:12px 16px;position:sticky;top:0;z-index:20;background:var(--bg-primary)}.game-details-back{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:13px}.game-details-hero{height:70vh;margin:0 8px;border-radius:var(--card-radius);position:sticky;top:0;z-index:1;overflow:hidden}.game-details-content{position:relative;z-index:2;background:var(--bg-primary);border-radius:var(--card-radius) var(--card-radius) 0 0;margin-top:-24px;padding-top:8px}.game-details-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,transparent 50%);display:flex;flex-direction:column;justify-content:flex-end;padding:24px;gap:4px}.game-details-title{font-size:28px;font-weight:800;color:#fff;margin:0}.game-details-developer{font-size:14px;color:#ffffffb3}.game-details-actions{display:flex;gap:8px;padding:16px 16px 0}.game-details-play-btn{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700}.game-details-fav-btn{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600}.game-details-stats{display:flex;gap:24px;padding:20px 16px;margin:0 8px;border-bottom:1px solid var(--border)}.game-details-stat{display:flex;align-items:center;gap:10px;color:var(--text-muted)}.game-details-stat-info{display:flex;flex-direction:column}.game-details-stat-value{font-size:16px;font-weight:700;color:var(--text-primary);line-height:1.2}.game-details-stat-label{font-size:11px;color:var(--text-muted)}.game-details-body{padding:20px 16px;display:flex;flex-direction:column;gap:24px}.game-details-section h3{font-size:14px;font-weight:700;color:var(--text-primary);margin:0 0 8px}.game-details-section p{font-size:14px;line-height:1.6;color:var(--text-secondary);margin:0}.game-details-meta{display:flex;flex-direction:column;gap:8px}.game-details-meta-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted)}.game-details-meta-label{font-weight:600;color:var(--text-secondary);min-width:50px}.game-details-meta-value{color:var(--text-primary)}.game-details-not-found{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-muted)}.sidebar-game-icon{width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fffc;flex-shrink:0}.dev-entity-picker{padding:4px 8px;position:relative}.dev-entity-picker-btn{width:100%;display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;cursor:pointer;color:var(--text-primary);font-size:13px;transition:border-color .15s}.dev-entity-picker-btn:hover{border-color:var(--text-muted)}.dev-entity-icon{width:20px;height:20px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#ffffffe6;flex-shrink:0}.dev-entity-name{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dev-entity-chevron{color:var(--text-muted);transition:transform .15s;flex-shrink:0}.dev-entity-chevron.open{transform:rotate(180deg)}.dev-entity-dropdown{position:absolute;top:calc(100% + 4px);left:8px;right:8px;background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px #0000004d;z-index:50;padding:4px;display:flex;flex-direction:column}.dev-entity-option{display:flex;align-items:center;gap:8px;padding:6px 10px;background:none;border:none;border-radius:4px;cursor:pointer;color:var(--text-secondary);font-size:13px;text-align:left;transition:background .15s,color .15s}.dev-entity-option:hover{background:var(--bg-primary);color:var(--text-primary)}.dev-entity-option.active{color:var(--text-primary);font-weight:600}.dev-entity-badge{font-size:10px;color:var(--text-muted);background:var(--bg-primary);padding:1px 6px;border-radius:3px;margin-left:auto}.dev-dashboard,.dev-games-list{overflow-y:auto;height:100%;padding:0 0 32px}.dev-dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.dev-dashboard-header h1{font-size:22px;font-weight:800;color:var(--text-primary);margin:0}.dev-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;padding:16px 24px 0}.dev-stat-card{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--border);border-radius:var(--card-radius)}.dev-stat-icon{color:var(--text-muted);flex-shrink:0}.dev-stat-info{display:flex;flex-direction:column}.dev-stat-value{font-size:18px;font-weight:700;color:var(--text-primary);line-height:1.2}.dev-stat-label{font-size:11px;color:var(--text-muted)}.dev-section{padding:0 24px;margin-top:24px}.dev-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dev-section-header h2{font-size:16px;font-weight:700;color:var(--text-primary);margin:0}.dev-section-header-group{display:flex;align-items:center;gap:10px}.dev-group-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#ffffffe6}.dev-section-actions{display:flex;gap:8px;align-items:center}.dev-see-all{background:none;border:none;color:var(--text-muted);font-size:13px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:color .15s}.dev-see-all:hover{color:var(--text-primary)}.dev-create-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;background:var(--gradient);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s}.dev-create-btn:hover{opacity:.9}.dev-game-list{display:flex;flex-direction:column;gap:2px}.dev-game-row{display:flex;align-items:center;gap:12px;padding:8px 12px;background:none;border:none;border-radius:8px;cursor:pointer;text-align:left;width:100%;color:var(--text-primary);transition:background .15s}.dev-game-row:hover{background:var(--bg-surface)}.dev-game-row-thumb{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;color:#fff9;flex-shrink:0}.dev-game-row-thumb.small{width:28px;height:28px;font-size:12px;border-radius:6px}.dev-game-row-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.dev-game-row-name{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dev-game-row-status{font-size:11px;font-weight:600;text-transform:capitalize;padding:1px 8px;border-radius:4px;width:fit-content}.dev-game-row-status.published{color:#22c55e;background:#22c55e1a}.dev-game-row-status.draft{color:var(--text-muted);background:var(--bg-primary)}.dev-game-row-status.review{color:#f59e0b;background:#f59e0b1a}.dev-game-row-stats{display:flex;gap:16px;flex-shrink:0}.dev-game-row-stats span{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-muted)}.dev-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px;color:var(--text-muted);text-align:center}.dev-empty p{margin:0;font-size:14px}.dev-table{margin:16px 24px 0;border:1px solid var(--border);border-radius:var(--card-radius);overflow:hidden}.dev-table-header{display:flex;align-items:center;padding:8px 12px;background:var(--bg-surface);border-bottom:1px solid var(--border);font-size:12px;font-weight:600;color:var(--text-muted)}.dev-table-row{display:flex;align-items:center;padding:10px 12px;background:none;border:none;border-bottom:1px solid var(--border);cursor:pointer;width:100%;text-align:left;color:var(--text-primary);font-size:13px;transition:background .15s}.dev-table-row:last-child{border-bottom:none}.dev-table-row:hover{background:var(--bg-surface)}.dev-table-cell{display:flex;align-items:center;gap:6px}.dev-table-cell.name{flex:2;gap:10px;min-width:0}.dev-table-cell.name span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dev-table-cell.status{flex:.8}.dev-table-cell.num{flex:1;color:var(--text-muted);font-size:12px}.dev-table-sort{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer;padding:2px 4px;border-radius:3px;transition:color .15s}.dev-table-sort:hover,.dev-table-sort.active{color:var(--text-primary)}.script-editor-area{padding:0!important;overflow:hidden}.script-editor-view{display:flex;height:100%;width:100%;background:#14141e}.script-editor-sidebar{width:220px;min-width:180px;max-width:320px;display:flex;flex-direction:column;background:#16161f;border-right:1px solid #2a2a3a;overflow:hidden}.script-editor-sidebar-header{padding:10px 12px;border-bottom:1px solid #2a2a3a;display:flex;align-items:center;gap:8px;min-height:38px}.script-editor-project-name{font-size:12px;font-weight:600;color:var(--text-primary, #e0e0e8);text-transform:uppercase;letter-spacing:.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.script-editor-sidebar-content{flex:1;overflow-y:auto;padding:4px 0;scrollbar-width:thin;scrollbar-color:#3a3a5a transparent}.file-tree{user-select:none}.file-tree-item{display:flex;align-items:center;gap:4px;width:100%;padding:3px 8px;border:none;background:none;color:var(--text-secondary, #8a8ab0);font-size:12.5px;font-family:inherit;cursor:pointer;text-align:left;border-radius:0;transition:background .1s,color .1s;line-height:1.4}.file-tree-item:hover{background:#ffffff0a;color:var(--text-primary, #e0e0e8)}.file-tree-item.active{background:#7cacf81a;color:var(--text-primary, #e0e0e8)}.file-tree-chevron{display:flex;align-items:center;justify-content:center;width:14px;flex-shrink:0;color:var(--text-tertiary, #5a5a7a)}.file-tree-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.script-editor-main{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.script-editor-tabs{display:flex;align-items:stretch;background:#14141e;border-bottom:1px solid #2a2a3a;overflow-x:auto;scrollbar-width:none;min-height:34px}.script-editor-tabs::-webkit-scrollbar{display:none}.script-editor-tab{display:flex;align-items:center;gap:6px;padding:0 12px;border:none;background:transparent;color:var(--text-secondary, #8a8ab0);font-size:12px;font-family:inherit;cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;transition:color .1s,background .1s,border-color .15s;min-height:34px}.script-editor-tab:hover{color:var(--text-primary, #e0e0e8);background:#ffffff08}.script-editor-tab.active{color:var(--text-primary, #e0e0e8);border-bottom-color:var(--accent, #7cacf8);background:#7cacf80d}.script-editor-tab-name{overflow:hidden;text-overflow:ellipsis}.script-editor-tab-close{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:3px;opacity:0;transition:opacity .1s,background .1s}.script-editor-tab:hover .script-editor-tab-close,.script-editor-tab.active .script-editor-tab-close{opacity:.6}.script-editor-tab-close:hover{opacity:1!important;background:#ffffff1a}.script-editor-content{flex:1;overflow:hidden;position:relative;contain:content}.code-editor-container{height:100%;width:100%;contain:content;isolation:isolate}.code-editor-container .cm-editor{height:100%}.code-editor-container .cm-scroller{overflow:auto;will-change:scroll-position;contain:content}.script-editor-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary, #5a5a7a);font-size:14px}.forum-view{display:flex;flex-direction:column;height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--bg-hover) transparent}.forum-threads{padding:16px 24px;display:flex;flex-direction:column;gap:8px}.forum-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-muted);text-align:center;gap:8px}.forum-empty h3{font-size:18px;color:var(--text-secondary);margin-top:8px}.forum-empty p{font-size:14px;color:var(--text-muted)}.forum-thread-card{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border:none;border-radius:8px;text-align:left;transition:background .6s ease,box-shadow .6s ease;cursor:pointer}.forum-thread-card:hover{background:radial-gradient(80% 80% at 50% 50%,rgba(255,255,255,.04) 0%,rgba(255,255,255,.015) 60%,transparent 100%),var(--card-bg);transition:background .15s ease,box-shadow .15s ease}.forum-thread-card-header{display:flex;align-items:center;gap:8px}.forum-thread-card-author{font-size:12px;font-weight:600;color:var(--text-secondary)}.forum-thread-card-time{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted);margin-left:auto}.forum-thread-card-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.forum-thread-card-preview{font-size:13px;color:var(--text-secondary);line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0}.forum-thread-card-footer{display:flex;align-items:center;gap:16px;font-size:12px;color:var(--text-muted)}.forum-thread-card-replies{display:flex;align-items:center;gap:4px}.forum-thread-card-activity{margin-left:auto}.forum-thread-center{display:flex;flex-direction:column;height:100%}.forum-thread-center-body{flex:1;overflow-y:auto;padding:16px 24px;display:flex;flex-direction:column;gap:8px;scrollbar-width:thin;scrollbar-color:var(--bg-hover) transparent}.forum-thread-center-body::-webkit-scrollbar{width:6px}.forum-thread-center-body::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}.forum-thread-post{position:relative;display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:10px}.forum-thread-reply{padding:8px 0;gap:4px}.forum-thread-post-header{display:flex;align-items:center;gap:8px}.forum-thread-post-author{font-size:13px;font-weight:600;color:var(--text-primary)}.forum-thread-post-time{font-size:11px;color:var(--text-muted);margin-left:auto}.forum-thread-post-content{font-size:14px;color:var(--text-primary);line-height:1.5;word-break:break-word}.forum-thread-post-content p{margin:0}.forum-thread-divider{display:flex;align-items:center;gap:12px;padding:8px 0;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.forum-thread-divider:before,.forum-thread-divider:after{content:"";flex:1;height:1px;background:var(--border)}.forum-sort-dropdown{margin-left:auto}.forum-sort-dropdown .dropdown-trigger{font-size:11px;padding:2px 8px;text-transform:none;letter-spacing:0}.forum-thread-center-body.flat{padding-left:0;padding-right:0}.forum-thread-center-body.flat>.forum-thread-divider{padding-left:20px;padding-right:20px}.forum-thread-center .message-input-container{border-top:1px solid var(--border)}.create-thread-modal{display:flex;flex-direction:column;gap:0;padding:24px 24px 12px;max-width:560px;border:none}.create-thread-title{width:100%;padding:4px 0;font-size:20px;font-weight:600;color:var(--text-primary);background:transparent;border:none;outline:none}.create-thread-title::placeholder{color:var(--text-muted);font-weight:400}.create-thread-content{width:100%;padding:8px 0;font-size:14px;color:var(--text-primary);background:transparent;border:none;outline:none;font-family:var(--font);resize:none;min-height:120px;flex:1}.create-thread-content::placeholder{color:var(--text-muted)}.create-thread-files{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0}.create-thread-file{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:8px;background:var(--bg-hover);font-size:12px;color:var(--text-secondary)}.create-thread-file-thumb{width:24px;height:24px;border-radius:4px;object-fit:cover}.create-thread-file-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.create-thread-file-remove{width:20px;height:20px;border-radius:4px;color:var(--text-muted)}.create-thread-toolbar{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.create-thread-toolbar-left{display:flex;align-items:center;gap:2px}.create-thread-toolbar-btn{width:36px;height:36px;border-radius:8px;color:var(--text-muted)}.create-thread-toolbar-btn:hover{color:var(--text-primary)}.create-thread-send:disabled{opacity:.3;cursor:not-allowed}.create-thread-send:not(:disabled){color:var(--accent)}.forum-threads{padding:12px 16px}.forum-reply-branch{position:relative}.forum-reply-nested{margin-left:calc(var(--reply-depth, 0) * 24px)}.forum-reply-nested:before{content:"";position:absolute;left:-12px;top:0;bottom:0;width:2px;background:var(--border);border-radius:1px;opacity:.6}.forum-reply-children{display:flex;flex-direction:column;gap:8px;margin-top:8px}.forum-thread-post-footer{position:absolute;top:-14px;right:12px;display:none;border:1px solid var(--border);border-radius:10px;box-shadow:inset 1px 1px 2px #ffffff0d,0 4px 16px #0006}.forum-thread-post:hover>.forum-thread-post-footer{display:flex}.forum-thread-reply-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:color .15s}.forum-thread-reply-btn:first-child{border-radius:9px 0 0 9px}.forum-thread-reply-btn:last-child{border-radius:0 9px 9px 0}.forum-thread-reply-btn:only-child{border-radius:9px}.forum-thread-reply-btn:hover,.forum-thread-reply-btn.active{color:var(--accent)}.forum-thread-reply-btn.danger:hover{color:var(--danger)}.forum-reply-input-branch{margin-top:8px}.forum-inline-reply-wrapper{position:relative}.forum-inline-reply-input{display:flex;align-items:flex-end;gap:2px;padding:4px 6px;border-radius:14px;border:none}.forum-inline-reply-editable{flex:1;padding:7px 4px;font-size:14px;color:var(--text-primary);outline:none;max-height:150px;overflow-y:auto;line-height:1.4;word-wrap:break-word;user-select:text}.forum-inline-reply-editable:empty:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none}.forum-inline-reply-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);border-radius:8px;flex-shrink:0;transition:color .1s}.forum-inline-reply-btn:hover{color:var(--accent)}.forum-inline-reply-btn.circular{border-radius:50%}.forum-inline-reply-send-btn{color:var(--accent)}.forum-inline-reply-send-btn:hover{color:var(--accent-hover)}.forum-inline-reply-send-btn:disabled{opacity:.3;cursor:not-allowed}.forum-inline-upload-strip{border-radius:14px 14px 0 0;margin-bottom:0}.forum-inline-upload-strip+.forum-inline-reply-input{border-radius:0 0 14px 14px}.forum-reply-parent-ref{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted);margin-bottom:2px;cursor:pointer}.forum-reply-parent-ref:hover{color:var(--text-secondary)}@media(max-width:768px){.forum-reply-nested{margin-left:calc(min(var(--reply-depth, 0),3)*12px)}.forum-reply-nested:before{left:-6px}}.forum-thread-post-op-indicator{font-size:10px;color:var(--text-muted)}.thread-indicator{display:flex;align-items:center;gap:6px;margin-top:6px;padding:4px 8px;border-radius:6px;background:transparent;color:var(--accent);font-size:12px;cursor:pointer;transition:background .15s ease;width:fit-content}.thread-indicator:hover{background:var(--accent-subtle)}.thread-indicator-icon{flex-shrink:0;color:var(--accent)}.thread-indicator-count{font-weight:600}.thread-indicator-time{color:var(--text-muted);font-weight:400}.thread-panel{width:400px;min-width:320px;background:var(--bg-surface);border-left:1px solid var(--border);display:flex;flex-direction:column;height:100%}.thread-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);min-height:48px}.thread-panel-header-info{display:flex;align-items:center;gap:10px;min-width:0;color:var(--text-primary)}.thread-panel-header-text{display:flex;flex-direction:column;min-width:0}.thread-panel-title{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-panel-channel{display:flex;align-items:center;gap:3px;font-size:11px;color:var(--text-muted)}.thread-panel-close{color:var(--text-secondary);padding:4px;border-radius:4px;transition:background .15s ease;flex-shrink:0}.thread-panel-close:hover{background:var(--bg-hover);color:var(--text-primary)}.thread-panel-parent{display:flex;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-raised)}.thread-panel-parent-avatar{flex-shrink:0}.thread-panel-parent-body{min-width:0}.thread-panel-parent-author{font-size:13px;font-weight:600;color:var(--text-primary)}.thread-panel-parent-content{font-size:13px;color:var(--text-secondary);margin-top:2px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.thread-panel-parent-content p{margin:0}.thread-panel-divider{display:flex;align-items:center;gap:12px;padding:8px 16px;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.thread-panel-divider:before,.thread-panel-divider:after{content:"";flex:1;height:1px;background:var(--border)}.thread-panel-messages{flex:1;overflow-y:auto;padding:8px 0;scrollbar-width:thin;scrollbar-color:var(--bg-hover) transparent}.thread-panel-messages::-webkit-scrollbar{width:4px}.thread-panel-messages::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:2px}.thread-message{display:flex;gap:12px;padding:6px 16px;transition:background .1s ease}.thread-message:hover{background:var(--bg-hover)}.thread-message.grouped{padding-top:0}.thread-message-gutter{width:32px;flex-shrink:0;display:flex;align-items:flex-start;justify-content:center;padding-top:2px}.thread-message-hover-time{font-size:10px;color:var(--text-muted);opacity:0;transition:opacity .1s ease;white-space:nowrap}.thread-message:hover .thread-message-hover-time{opacity:1}.thread-message-body{min-width:0;flex:1}.thread-message-header{display:flex;align-items:baseline;gap:6px;margin-bottom:1px}.thread-message-author{font-size:13px;font-weight:600;color:var(--text-primary)}.thread-message-time{font-size:11px;color:var(--text-muted)}.thread-message-content{font-size:14px;color:var(--text-primary);line-height:1.4;word-break:break-word}.thread-message-content p{margin:0}.thread-panel .message-input-container{border-top:1px solid var(--border)}.sidebar-channel-group{display:flex;flex-direction:column}.sidebar-thread-item{padding-left:32px!important}.sidebar-thread-icon{opacity:.6}.sidebar-thread-name{font-size:12px!important;opacity:.85}.sidebar-thread-count{font-size:10px;color:var(--text-muted);margin-left:auto}.sidebar-backdrop{display:none}.floating-window{position:fixed;border:1px solid var(--border);border-radius:var(--card-radius);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px #00000080,inset 1px 1px 2px #ffffff0d;opacity:0;transform:scale(.95) translateY(8px);transition:opacity .2s ease,transform .2s ease}.floating-window.visible{opacity:1;transform:scale(1) translateY(0)}.floating-window.exiting{opacity:0;transform:scale(.95) translateY(8px);pointer-events:none}.floating-window-titlebar{display:flex;align-items:center;justify-content:space-between;padding:0 6px 0 14px;height:38px;flex-shrink:0;cursor:grab;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg-surface) 60%,transparent);user-select:none}.floating-window-titlebar:active{cursor:grabbing}.floating-window-title{font-size:.82rem;font-weight:600;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px;min-width:0}.floating-window-controls{display:flex;align-items:center;gap:2px;flex-shrink:0}.floating-window-controls .btn-membrane{padding:4px;border-radius:4px}.floating-window-body{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:0}.floating-window-resize-handle{position:absolute;bottom:0;right:0;width:16px;height:16px;cursor:nwse-resize;z-index:1}.floating-window-resize-handle:after{content:"";position:absolute;bottom:4px;right:4px;width:8px;height:8px;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);opacity:.4}.popout-chat-shell{display:flex;flex-direction:column;background:var(--bg-base)}.popout-pin-btn{position:fixed;top:4px;right:104px;z-index:10000;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);background:none;border:none;border-radius:50%;cursor:pointer;transition:background .15s,color .15s}.popout-pin-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.popout-pin-btn svg{transition:transform .15s ease}.popout-pin-btn.pinned{color:var(--accent)}.popout-pin-btn.pinned svg{transform:rotate(-45deg)}.popout-pin-btn.pinned:hover{color:var(--accent-hover)}[data-tauri]:not([data-linux]) .popout-pin-btn{right:8px}.popout-chat-status{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.9rem}.popout-chat{display:flex;flex-direction:column;height:100%;overflow:hidden}.popout-chat .chat-body{flex:1;display:flex;flex-direction:column;min-height:0}.popout-chat .chat-messages-wrapper{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.popout-chat .message-input-container{flex-shrink:0}.sidebar-embers-pill{display:flex;align-items:center;gap:8px;width:100%;padding:7px 14px;border:1px solid rgba(255,140,66,.15);border-radius:20px;background:#ff8c4214;color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease}.sidebar-embers-pill:hover{background:#ff8c4224;border-color:#ff8c4240}.sidebar-embers-pill:active{background:#ff8c422e}.sidebar-embers-icon{font-size:14px;line-height:1}.sidebar-embers-amount{font-variant-numeric:tabular-nums;font-weight:600}.sidebar-embers-label{color:var(--text-muted);font-weight:400}.embers-balance-hero{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 0}.embers-balance-icon{font-size:48px;line-height:1}.embers-balance-amount{font-size:40px;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.embers-balance-label{font-size:14px;color:var(--text-muted);font-weight:500}.embers-packages-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}.embers-package-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 16px;border-radius:var(--card-radius);background:var(--bg-surface);border:1px solid var(--border-subtle);cursor:pointer;transition:border-color .15s ease,transform .1s ease,box-shadow .15s ease}.embers-package-card:hover{border-color:#ff6b35;transform:translateY(-2px);box-shadow:0 4px 16px #f72c2533}.embers-package-card:active{transform:translateY(0)}.embers-package-amount{font-size:24px;font-weight:700;color:var(--text-primary)}.embers-package-name{font-size:13px;color:var(--text-muted)}.embers-package-price{font-size:16px;font-weight:600;color:var(--text-primary);background:linear-gradient(135deg,#ff6b35,#f72c25);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.embers-package-bonus{font-size:11px;font-weight:600;color:#ff8c42;background:#ff8c421f;padding:2px 8px;border-radius:10px}.embers-transactions-list{display:flex;flex-direction:column;gap:2px}.embers-transaction-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:8px;transition:background .1s ease}.embers-transaction-row:hover{background:var(--bg-hover)}.embers-transaction-left{display:flex;flex-direction:column;gap:2px;min-width:0}.embers-transaction-desc{font-size:14px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.embers-transaction-date{font-size:12px;color:var(--text-muted)}.embers-transaction-amount{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;flex-shrink:0}.embers-transaction-amount.credit{color:#4ade80}.embers-transaction-amount.debit{color:#f87171}.embers-empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 0;color:var(--text-muted);font-size:14px}.embers-load-more{display:flex;justify-content:center;padding:16px 0}
