*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary: #1e2a1e;--bg-secondary: #192419;--bg-tertiary: #111a11;--bg-modifier: #1a2a1a;--bg-hover: #253525;--bg-active: #2a3d2a;--accent: #5a9e44;--accent-hover: #4a8a34;--danger: #ed4245;--danger-hover: #c03537;--success: #3ba55d;--text-normal: #d8e8d0;--text-muted: #7a9a72;--text-link: #7ec850;--header-primary: #f0ffe8;--channel-default: #8aaa82;--online: #3ba55d;--idle: #faa61a;--dnd: #ed4245;--offline: #647a5c;--scrollbar-thin: #111a11;--scrollbar-thumb: #1a2a1a;--border-radius: 4px}@keyframes toastIn{0%{opacity:0;transform:translate(110%)}to{opacity:1;transform:translate(0)}}html,body,#root{height:100%;font-family:gg sans,Noto Sans,Whitney,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:16px;color:var(--text-normal);background:var(--bg-primary);overflow:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#2e3338}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-tertiary)}.auth-box{background:var(--bg-primary);border-radius:8px;padding:32px;width:100%;max-width:480px;box-shadow:0 2px 10px #0003}.auth-box h1{color:var(--header-primary);font-size:24px;font-weight:700;text-align:center;margin-bottom:8px}.auth-box .auth-subtitle{color:var(--text-muted);text-align:center;margin-bottom:20px;font-size:14px}.auth-box label{display:block;color:var(--text-muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;margin-bottom:8px;margin-top:16px}.auth-box input{width:100%;padding:10px;background:var(--bg-tertiary);border:1px solid var(--bg-tertiary);border-radius:var(--border-radius);color:var(--text-normal);font-size:16px;outline:none;transition:border-color .15s}.auth-box input:focus{border-color:var(--accent)}.auth-error{background:#ed42451a;border:1px solid var(--danger);border-radius:var(--border-radius);color:var(--danger);font-size:13px;padding:8px 12px;margin-top:12px}.terms-checkbox-label{display:flex;align-items:center;gap:10px;font-size:13px;line-height:18px;color:var(--text-muted);margin-top:14px;cursor:pointer;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);text-transform:uppercase;letter-spacing:.04em;font-weight:600;-webkit-user-select:none;user-select:none}.terms-checkbox-label input[type=checkbox]{width:18px;height:18px;min-width:18px;accent-color:var(--accent);cursor:pointer;flex-shrink:0;margin:0;align-self:center}.terms-checkbox-label a{color:var(--accent);text-decoration:underline}.terms-page{min-height:100vh;height:100vh;overflow-y:auto;background:var(--bg-primary);display:flex;justify-content:center;padding:40px 16px}.terms-box{background:var(--bg-secondary);border-radius:12px;padding:40px 48px;max-width:720px;width:100%;color:var(--text-primary);line-height:1.7}.terms-back{display:inline-block;color:var(--accent);font-size:13px;margin-bottom:24px;text-decoration:none}.terms-back:hover{text-decoration:underline}.terms-box h1{font-size:26px;font-weight:700;margin-bottom:4px}.terms-updated{color:var(--text-muted);font-size:13px;margin-bottom:28px}.terms-box h2{font-size:15px;font-weight:700;margin:24px 0 8px;color:var(--text-primary)}.terms-box p,.terms-box ul{font-size:14px;color:var(--text-secondary);margin:0 0 8px}.terms-box ul{padding-left:20px}.terms-box ul li{margin-bottom:4px}.terms-copy{margin-top:32px;font-size:12px;color:var(--text-muted);text-align:center}.copyright-badge{position:fixed;bottom:8px;right:10px;font-size:10px;color:#ffffff40;pointer-events:none;z-index:9999;-webkit-user-select:none;user-select:none;letter-spacing:.02em}.btn-primary{display:block;width:100%;padding:11px;margin-top:20px;background:var(--accent);color:#fff;border:none;border-radius:var(--border-radius);font-size:16px;font-weight:500;cursor:pointer;transition:background .15s}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.auth-switch{margin-top:8px;font-size:14px;color:var(--text-muted);text-align:left}.auth-switch a{color:var(--text-link);cursor:pointer;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.mobile-toggle-btn{display:flex;align-items:center;gap:10px;width:100%;margin-top:18px;padding:12px 14px;background:#ffffff0a;border:1.5px solid rgba(255,255,255,.08);border-radius:12px;cursor:pointer;text-align:left;transition:background .15s,border-color .15s}.mobile-toggle-btn:hover{background:#ffffff14;border-color:#ffffff26}.mobile-toggle-track{width:38px;height:22px;border-radius:11px;flex-shrink:0;background:#ffffff26;position:relative;transition:background .2s}.mobile-toggle-track.on{background:var(--accent)}.mobile-toggle-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 4px #0000004d}.mobile-toggle-track.on .mobile-toggle-thumb{transform:translate(16px)}.mobile-toggle-label{font-size:13px;font-weight:600;color:var(--text-normal)}.app-layout{display:flex;height:100vh;overflow:hidden}.server-sidebar{width:72px;background:var(--bg-tertiary);display:flex;flex-direction:column;align-items:center;padding:12px 0;overflow:hidden;flex-shrink:0}.server-sidebar-scroll{display:flex;flex-direction:column;align-items:center;gap:8px;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;width:100%}.server-sidebar-bottom{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0;padding-top:8px;width:100%}.server-icon{width:48px;height:48px;border-radius:50%;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;font-weight:700;color:var(--text-normal);transition:border-radius .15s,background .15s;position:relative;flex-shrink:0;overflow:hidden;-webkit-user-select:none;user-select:none}.server-icon:hover,.server-icon.active{border-radius:16px;background:var(--accent);color:#fff}.server-icon img{width:100%;height:100%;object-fit:cover}.server-icon-home{background:transparent;overflow:visible}.server-icon-home img{width:65px!important;height:65px!important}.server-icon-add{background:var(--bg-secondary);color:var(--success);font-size:24px}.server-icon-add:hover{background:var(--success);color:#fff}.server-icon-discover{background:#1e1f22;color:#fff}.server-icon-discover:hover,.server-icon-discover.active{background:#1e1f22;border-radius:16px;color:var(--success)}.server-icon-wrap{position:relative;display:flex;align-items:center}.server-dots-btn{position:absolute;right:-18px;background:var(--bg-tertiary);border:none;color:var(--text-muted);font-size:16px;line-height:1;width:18px;height:28px;border-radius:0 4px 4px 0;cursor:pointer;opacity:.45;transition:opacity .1s,color .1s;display:flex;align-items:center;justify-content:center;padding:0}.server-dots-btn:hover{opacity:1;color:var(--text-normal)}.server-ctx-menu{position:absolute;left:56px;top:0;background:var(--bg-tertiary);border-radius:6px;box-shadow:0 8px 24px #0000008c;z-index:300;overflow:hidden;border:1px solid rgba(255,255,255,.06);min-width:170px}.server-ctx-item{display:block;width:100%;background:none;border:none;font-size:13px;padding:10px 14px;text-align:left;cursor:pointer;transition:background .1s;color:var(--text-normal)}.server-ctx-item:hover{background:var(--bg-hover)}.server-ctx-item.leave{color:#faa61a}.server-ctx-item.leave:hover{background:#faa61a1f}.server-ctx-item.disband{color:var(--danger)}.server-ctx-item.disband:hover{background:#ed42451f}.server-divider{width:32px;height:2px;background:var(--bg-modifier);border-radius:1px;flex-shrink:0}.channel-sidebar{width:360px;background:var(--bg-secondary);display:flex;flex-direction:column;flex-shrink:0}.channel-sidebar-header{padding:16px 12px;border-bottom:1px solid var(--bg-tertiary);display:flex;align-items:center;justify-content:space-between;cursor:pointer;flex-shrink:0}.channel-sidebar-header h2{font-size:15px;font-weight:700;color:var(--header-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.channel-sidebar-header:hover{background:var(--bg-modifier)}.server-header-icon{width:32px;height:32px;border-radius:50%;background:var(--bg-modifier);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--text-normal);flex-shrink:0;overflow:hidden;transition:border-radius .15s}.server-header-icon.clickable{cursor:pointer}.server-header-icon.clickable:hover{border-radius:10px;background:var(--accent)}.invite-btn{background:none;border:none;cursor:pointer;font-size:16px;color:var(--text-muted);padding:2px 4px;border-radius:4px;flex-shrink:0;transition:color .1s,background .1s}.invite-btn:hover{color:var(--text-normal);background:var(--bg-hover)}.channel-list{flex:1;overflow-y:auto;padding:8px 0}.channel-category{padding:16px 8px 4px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none}.channel-category span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--channel-default)}.category-header{margin:1px 8px!important;padding:10px 8px 4px 16px!important;width:auto;box-sizing:border-box}.category-header-title{font-size:14px!important;font-weight:700!important;text-transform:uppercase!important;color:var(--channel-default)!important;letter-spacing:.02em!important;text-decoration:underline!important;text-underline-offset:3px}.category-header-arrow{display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;background:#589e442e;border-radius:4px;padding:1px 4px;margin-right:4px;transition:background .12s}.category-header:hover .category-header-arrow{background:#3a7a2873}.category-header:active .category-header-arrow{background:#285a1ca6}.category-header-actions{display:flex;gap:2px;flex-shrink:0}.category-header-actions .channel-delete-btn{opacity:0;font-size:12px}.category-header:hover .channel-delete-btn{opacity:.6}.category-header-actions .channel-delete-btn:hover{opacity:1!important}.channel-subheader{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);padding:4px 16px 2px;opacity:.75}.channel-category button{background:none;border:none;color:var(--channel-default);cursor:pointer;font-size:18px;line-height:1;padding:0 2px}.channel-category button:hover{color:var(--header-primary)}.channel-item{display:flex;align-items:center;padding:6px 8px 6px 16px;margin:1px 8px;border-radius:var(--border-radius);cursor:pointer;color:var(--channel-default);font-size:15px;gap:6px;-webkit-user-select:none;user-select:none}.channel-item:hover{background:var(--bg-hover);color:var(--text-normal)}.channel-item.active{background:var(--bg-active);color:var(--header-primary)}.channel-delete-btn{background:none;border:none;cursor:pointer;font-size:13px;opacity:0;padding:2px 4px;border-radius:4px;flex-shrink:0;transition:opacity .1s,background .1s}.channel-item:hover .channel-delete-btn{opacity:.6}.channel-delete-btn:hover{opacity:1!important;background:#ed424533}.channel-item .channel-hash{font-size:18px;opacity:.7}.user-panel{padding:8px;background:var(--bg-modifier);display:flex;align-items:center;gap:8px;flex-shrink:0}.user-panel .avatar{flex-shrink:0}.user-panel .user-info{flex:1;overflow:hidden}.user-panel .user-info .name{font-size:13px;font-weight:600;color:var(--header-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-panel .user-info .tag{font-size:11px;color:var(--text-muted)}.user-panel .panel-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:var(--border-radius);display:flex;align-items:center;justify-content:center}.user-panel .panel-btn:hover{color:var(--header-primary);background:var(--bg-hover)}.avatar{position:relative;width:32px;height:32px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;flex-shrink:0;overflow:visible;-webkit-user-select:none;user-select:none}.avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.avatar .status-dot{position:absolute;bottom:-1px;right:-1px;width:10px;height:10px;border-radius:50%;border:2px solid var(--bg-modifier)}.avatar .status-dot.online{background:var(--online)}.avatar .status-dot.offline{background:var(--offline)}.avatar .status-dot.idle{background:var(--idle)}.avatar .status-dot.dnd{background:var(--dnd)}.chat-area{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-primary)}.chat-header{height:48px;padding:0 16px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--bg-tertiary);flex-shrink:0}.chat-header .channel-hash{font-size:22px;color:var(--text-muted)}.chat-header h3{font-size:15px;font-weight:700;color:var(--header-primary)}.msg-search-wrap{position:relative}.msg-search-btn{background:none;border:none;cursor:pointer;font-size:16px;color:var(--text-muted);padding:4px 6px;border-radius:6px;transition:background .15s}.msg-search-btn:hover{background:var(--bg-hover)}.msg-search-panel{position:absolute;top:32px;right:0;width:320px;max-height:420px;background:var(--bg-secondary);border:1px solid var(--bg-active);border-radius:10px;box-shadow:0 8px 30px #00000080;padding:10px;z-index:50;display:flex;flex-direction:column;gap:6px}.msg-search-input{width:100%;background:var(--bg-tertiary);border:1px solid var(--bg-modifier);border-radius:6px;color:var(--text-normal);font-size:13px;padding:7px 10px;outline:none;font-family:inherit}.msg-search-status{font-size:12px;color:var(--text-muted);padding:4px 2px}.msg-search-results{overflow-y:auto;max-height:340px;display:flex;flex-direction:column;gap:2px}.msg-search-result{display:flex;flex-direction:column;gap:1px;padding:6px 8px;border-radius:6px;cursor:pointer}.msg-search-result:hover{background:var(--bg-hover)}.msg-search-result-author{font-size:12px;font-weight:700;color:var(--header-primary)}.msg-search-result-text{font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header .chat-topic{font-size:13px;color:var(--text-muted);margin-left:8px}.messages-container{flex:1;overflow-y:auto;padding:16px 0;display:flex;flex-direction:column}.welcome-banner{padding:16px 16px 8px}.welcome-banner .welcome-icon{width:68px;height:68px;border-radius:50%;background:var(--bg-modifier);display:flex;align-items:center;justify-content:center;font-size:36px;margin-bottom:16px}.welcome-banner h2{font-size:28px;color:var(--header-primary);margin-bottom:4px}.welcome-banner p{font-size:15px;color:var(--text-muted)}.messages-list{flex:1}.message-group{display:flex;flex-direction:column;padding:2px 16px;position:relative}.message-group:hover{background:#04040512}.message-group.first{margin-top:16px;padding-top:6px}.message-group .msg-avatar{padding-top:2px}.message-group .msg-body{flex:1;min-width:0}.message-group .msg-header{display:flex;align-items:baseline;gap:8px;margin-bottom:2px}.message-group .msg-author{font-size:15px;font-weight:500;color:var(--header-primary);cursor:pointer}.message-group .msg-author:hover{text-decoration:underline}.message-group .msg-ts{font-size:11px;color:var(--text-muted)}.message-group .msg-content{font-size:15px;color:var(--text-normal);line-height:1.375;word-wrap:break-word;white-space:pre-wrap}.message-group.continued .msg-ts-inline{display:none;position:absolute;left:16px;font-size:11px;color:var(--text-muted);top:50%;transform:translateY(-50%);width:40px;text-align:right}.message-group.continued:hover .msg-ts-inline{display:block}.message-group.continued .msg-avatar{visibility:hidden}.admin-tag{display:inline-block;font-size:9px;font-weight:800;letter-spacing:.08em;background:#c0392b;color:#fff;padding:1px 5px;border-radius:3px;vertical-align:middle;margin-right:5px;position:relative;top:-1px}.member-admin-tag{font-size:9px;font-weight:800;letter-spacing:.08em;color:#e74c3c;margin-bottom:1px;line-height:1}.pending-image-preview{position:relative;display:inline-block;margin:0 16px 8px}.pending-image-preview img{max-height:120px;max-width:300px;border-radius:8px;border:2px solid var(--accent);display:block}.pending-image-remove{position:absolute;top:-8px;right:-8px;width:20px;height:20px;border-radius:50%;background:var(--danger);border:none;color:#fff;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.attach-btn{background:none;border:none;color:var(--text-muted);font-size:22px;line-height:1;cursor:pointer;padding:0 4px;flex-shrink:0;transition:color .1s}.attach-btn:hover{color:var(--text-normal)}.message-group{position:relative;cursor:pointer}.msg-important{border-left:3px solid #e67e22;background:#e67e220f;border-radius:0 6px 6px 0}.msg-pinned{border-left:3px solid var(--accent);background:#5a9e440f;border-radius:0 6px 6px 0}.importance-badge{position:absolute;top:6px;right:8px;font-size:11px;font-weight:700;color:#e67e22;background:#e67e2226;padding:1px 6px;border-radius:10px}.pin-label{display:block;font-size:11px;color:var(--accent);padding:2px 8px 0 56px;font-weight:600}.msg-context-menu{position:absolute;top:4px;right:4px;background:var(--bg-tertiary);border-radius:6px;box-shadow:0 4px 16px #00000080;z-index:200;overflow:hidden;border:1px solid rgba(255,255,255,.07);min-width:180px}.msg-ctx-item{display:block;width:100%;background:none;border:none;color:var(--text-normal);font-size:13px;padding:9px 14px;text-align:left;cursor:pointer;transition:background .1s}.msg-ctx-item:hover{background:var(--bg-hover)}.msg-action-bar{position:absolute;top:4px;right:6px;display:flex;gap:2px;background:var(--bg-tertiary);border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:2px 3px;box-shadow:0 2px 8px #0006;z-index:10}.msg-action-btn{background:none;border:none;cursor:pointer;font-size:14px;padding:3px 5px;border-radius:4px;line-height:1;transition:background .1s}.msg-action-btn:hover{background:var(--bg-hover)}.msg-action-delete:hover{background:#ed42452e}.msg-edit-box{margin-top:4px}.address-input-wrap{display:flex;align-items:center;background:var(--bg-modifier);border-radius:var(--border-radius);border:1px solid transparent;overflow:hidden;transition:border-color .15s}.address-input-wrap:focus-within{border-color:var(--accent)}.address-prefix{padding:10px 0 10px 12px;color:var(--text-muted);font-size:13px;white-space:nowrap;flex-shrink:0}.address-input-wrap input{flex:1;background:none;border:none;outline:none;color:var(--text-normal);font-size:14px;padding:10px 12px 10px 4px;font-family:inherit}.msg-image{max-width:400px;max-height:300px;border-radius:8px;margin-top:6px;display:block;cursor:zoom-in;border:1px solid rgba(255,255,255,.06)}.message-input-wrapper{padding:0 16px 24px;flex-shrink:0;position:relative}.message-input-box{background:#0d1a0d;border-radius:8px;display:flex;align-items:center;padding:0 16px;gap:12px}.message-input-box textarea{flex:1;background:none;border:none;outline:none;color:var(--text-normal);font-size:15px;resize:none;max-height:200px;min-height:44px;padding:12px 0;font-family:inherit;line-height:1.4}.message-input-box textarea::placeholder{color:#5a7a52}.message-input-box .send-btn{background:none;border:none;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;padding:4px;border-radius:var(--border-radius);transition:color .15s;flex-shrink:0}.message-input-box .send-btn:hover{color:var(--header-primary)}.message-input-box .send-btn.active{color:var(--accent)}.emoji-picker-wrap{position:relative;flex-shrink:0}.emoji-btn{background:none;border:none;font-size:20px;cursor:pointer;padding:4px 6px;border-radius:4px;opacity:.6;transition:opacity .15s,transform .15s;line-height:1}.emoji-btn:hover{opacity:1;transform:scale(1.15)}.emoji-panel{position:absolute;bottom:calc(100% + 10px);right:0;width:270px;background:var(--bg-tertiary);border:1px solid #2a3d2a;border-radius:10px;box-shadow:0 8px 32px #00000080;z-index:999;overflow:hidden;animation:emojiPop .12s ease}@keyframes emojiPop{0%{opacity:0;transform:scale(.92) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.emoji-tabs{display:flex;gap:2px;padding:8px 8px 0;border-bottom:1px solid #1a2a1a}.emoji-tab-btn{flex:1;background:none;border:none;font-size:18px;padding:6px 0;border-radius:6px 6px 0 0;cursor:pointer;opacity:.5;transition:opacity .12s,background .12s}.emoji-tab-btn:hover{opacity:.85;background:#1a2a1a}.emoji-tab-btn.active{opacity:1;background:#1a2a1a;border-bottom:2px solid var(--accent)}.emoji-category-label{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:6px 10px 4px}.emoji-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:2px;padding:4px 8px 10px}.emoji-item{background:none;border:none;font-size:20px;padding:4px;border-radius:5px;cursor:pointer;transition:background .1s,transform .1s;line-height:1;text-align:center}.emoji-item:hover{background:var(--bg-hover);transform:scale(1.25)}.dm-call-btn{background:none;border:none;font-size:20px;cursor:pointer;padding:4px 8px;border-radius:6px;opacity:.65;transition:opacity .15s,background .15s;margin-right:8px}.dm-call-btn:hover:not(:disabled){opacity:1;background:var(--bg-hover)}.dm-call-btn:disabled{opacity:.25;cursor:not-allowed}.voice-call-btn{display:flex;align-items:center;gap:6px;background:var(--bg-modifier);border:1px solid #2a3d2a;color:var(--text-muted);font-size:13px;font-weight:600;padding:5px 12px;border-radius:6px;cursor:pointer;margin-right:8px;transition:background .15s,color .15s}.voice-call-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--header-primary)}.voice-call-btn:disabled{opacity:.35;cursor:not-allowed}.call-ui{position:fixed;bottom:80px;right:20px;width:240px;background:#0d1a0d;border:1px solid #2a5c2a;border-radius:12px;box-shadow:0 8px 32px #000000b3;z-index:10000;overflow:hidden;animation:callSlideIn .2s ease}@keyframes callSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.call-ui-header{display:flex;align-items:center;gap:8px;padding:10px 12px 6px;background:#0a160a;font-size:12px;font-weight:700;color:var(--success)}.call-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.call-status-dot.active{background:var(--success);box-shadow:0 0 6px var(--success);animation:pulse 2s infinite}.call-status-dot.ringing{background:var(--idle);box-shadow:0 0 6px var(--idle);animation:pulse .8s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.call-label{flex:1;color:var(--header-primary);font-size:12px}.call-participant-count{color:var(--text-muted);font-size:11px}.call-participants{display:flex;flex-wrap:wrap;gap:8px;padding:8px 12px;min-height:50px}.call-participant{display:flex;flex-direction:column;align-items:center;gap:4px}.call-avatar{position:relative;width:36px;height:36px;border-radius:50%;background:var(--bg-active);border:2px solid var(--success);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--header-primary)}.call-avatar.muted{border-color:var(--danger)}.call-avatar-wrap{position:relative;border-radius:50%;border:2px solid var(--success);display:inline-flex;flex-shrink:0}.call-avatar-wrap.muted{border-color:var(--danger)}.call-avatar-wrap.speaking{border-color:#3ba55c;box-shadow:0 0 0 3px #3ba55c8c;transition:box-shadow .1s,border-color .1s}.call-muted-icon{position:absolute;bottom:-4px;right:-4px;font-size:12px}.call-participant-name{font-size:10px;color:var(--text-muted);max-width:56px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.call-controls{display:flex;gap:8px;justify-content:center;padding:8px 12px 12px;border-top:1px solid #1a2e1a}.call-ctrl-btn{width:40px;height:40px;border-radius:50%;border:none;background:var(--bg-modifier);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .1s}.call-ctrl-btn:hover{background:var(--bg-hover);transform:scale(1.1)}.call-ctrl-btn.muted,.call-ctrl-btn.end-btn{background:var(--danger)}.call-ctrl-btn.end-btn:hover{background:var(--danger-hover)}.incoming-call-banner{position:fixed;top:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;background:#0a1a0a;border:1px solid var(--success);border-radius:12px;padding:12px 16px;box-shadow:0 8px 32px #000000b3,0 0 20px #3ba55d33;z-index:10001;animation:ringBounce .4s ease,callSlideIn .2s ease;min-width:280px}@keyframes ringBounce{0%,to{transform:translate(-50%) rotate(0)}20%{transform:translate(-50%) rotate(-3deg)}40%{transform:translate(-50%) rotate(3deg)}60%{transform:translate(-50%) rotate(-2deg)}80%{transform:translate(-50%) rotate(2deg)}}.incoming-call-avatar{font-size:28px;animation:ringBounce 1s ease infinite}.incoming-call-info{flex:1}.incoming-call-name{font-size:15px;font-weight:700;color:var(--header-primary)}.incoming-call-sub{font-size:12px;color:var(--text-muted)}.call-accept-btn,.call-decline-btn{width:38px;height:38px;border-radius:50%;border:none;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .1s,filter .1s}.call-accept-btn{background:var(--success)}.call-decline-btn{background:var(--danger)}.call-accept-btn:hover,.call-decline-btn:hover{transform:scale(1.12);filter:brightness(1.15)}.dino-code-display{display:flex;gap:6px;justify-content:center;margin:12px 0 8px}.dino-code-emoji{font-size:36px;background:var(--bg-tertiary);border:2px solid #2a4a2a;border-radius:10px;width:56px;height:56px;display:flex;align-items:center;justify-content:center;animation:codePopIn .25s ease backwards}.dino-code-emoji:nth-child(1){animation-delay:.05s}.dino-code-emoji:nth-child(2){animation-delay:.1s}.dino-code-emoji:nth-child(3){animation-delay:.15s}.dino-code-emoji:nth-child(4){animation-delay:.2s}@keyframes codePopIn{0%{opacity:0;transform:scale(.5) rotate(-10deg)}to{opacity:1;transform:scale(1) rotate(0)}}.dino-code-copy-btn{display:block;margin:8px auto 0;background:var(--bg-modifier);border:1px solid #2a4a2a;border-radius:8px;color:var(--text-muted);font-size:13px;padding:6px 16px;cursor:pointer;transition:background .15s,color .15s}.dino-code-copy-btn:hover{background:var(--bg-hover);color:var(--header-primary)}.join-server-modal{max-width:380px}.dino-code-slots{display:flex;gap:8px;justify-content:center;align-items:center;margin-bottom:16px}.dino-code-slot{width:54px;height:54px;border-radius:10px;background:var(--bg-tertiary);border:2px solid #2a4a2a;display:flex;align-items:center;justify-content:center;font-size:28px;transition:border-color .15s,transform .1s}.dino-code-slot.active{border-color:var(--accent);animation:slotPulse 1s ease infinite}.dino-code-slot.filled{border-color:#3a6a3a;animation:codePopIn .15s ease}@keyframes slotPulse{0%,to{box-shadow:0 0 #5a9e4466}50%{box-shadow:0 0 0 5px #5a9e4400}}.dino-slot-back{background:none;border:none;color:var(--text-muted);font-size:20px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .1s,color .1s;margin-left:4px}.dino-slot-back:hover{background:var(--bg-hover);color:var(--header-primary)}.dino-emoji-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:4px}.dino-pick-btn{font-size:30px;background:var(--bg-tertiary);border:2px solid transparent;border-radius:10px;padding:10px 0;cursor:pointer;transition:background .12s,border-color .12s,transform .1s;line-height:1}.dino-pick-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent);transform:scale(1.12)}.dino-pick-btn:disabled{opacity:.3;cursor:not-allowed}.invite-btn{font-size:15px;letter-spacing:1px;padding:3px 8px!important;min-width:32px;border-radius:6px;transition:background .15s}.invite-btn:hover{background:var(--bg-hover)}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);gap:12px;padding:32px;text-align:center}.empty-state .empty-icon{font-size:64px}.empty-state h2{font-size:20px;color:var(--header-primary)}.empty-state p{font-size:14px;max-width:320px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--bg-primary);border-radius:8px;padding:24px;width:100%;max-width:440px;box-shadow:0 8px 16px #0000003d}.modal h2{font-size:20px;font-weight:700;color:var(--header-primary);margin-bottom:8px}.modal p{font-size:14px;color:var(--text-muted);margin-bottom:16px}.modal label{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted);margin-bottom:8px;margin-top:16px}.modal input{width:100%;padding:10px;background:var(--bg-tertiary);border:1px solid var(--bg-tertiary);border-radius:var(--border-radius);color:var(--text-normal);font-size:16px;outline:none}.modal input:focus{border-color:var(--accent)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.toggle-switch{flex-shrink:0;width:40px;height:22px;border-radius:999px;background:var(--bg-active);position:relative;transition:background .15s ease}.toggle-switch.on{background:var(--accent)}.toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .15s ease}.toggle-switch.on .toggle-knob{left:20px}.btn-ghost{padding:10px 16px;background:none;border:none;color:var(--text-normal);border-radius:var(--border-radius);cursor:pointer;font-size:14px}.btn-ghost:hover{text-decoration:underline}.btn-danger{padding:10px 16px;background:var(--danger);border:none;color:#fff;border-radius:var(--border-radius);cursor:pointer;font-size:14px}.btn-danger:hover{background:var(--danger-hover)}.btn-confirm{padding:10px 16px;background:var(--accent);border:none;color:#fff;border-radius:var(--border-radius);cursor:pointer;font-size:14px;font-weight:500}.btn-secondary{padding:10px 16px;background:var(--bg-modifier);border:none;color:var(--text-normal);border-radius:var(--border-radius);cursor:pointer;font-size:14px;font-weight:500}.btn-secondary:hover{background:var(--bg-active)}.btn-confirm:disabled,.btn-secondary:disabled,.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-confirm:hover{background:var(--accent-hover)}.btn-confirm:disabled{opacity:.6;cursor:not-allowed}.members-sidebar{width:240px;background:var(--bg-secondary);padding:16px 8px;overflow-y:auto;flex-shrink:0}.members-sidebar h3{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--channel-default);padding:0 8px;margin-bottom:8px}.member-item{display:flex;align-items:center;gap:12px;padding:6px 8px;border-radius:var(--border-radius);cursor:pointer}.member-item:hover{background:var(--bg-hover)}.member-item .member-name{font-size:14px;color:var(--channel-default)}.member-item:hover .member-name{color:var(--text-normal)}.kick-btn{background:none;border:none;cursor:pointer;font-size:15px;opacity:0;padding:2px 5px;border-radius:4px;transition:opacity .15s,background .15s;flex-shrink:0}.member-item:hover .kick-btn{opacity:.6}.kick-btn:hover{opacity:1!important;background:#ed424526}.kick-btn.confirm{opacity:1!important;background:#ed424540}.server-type-picker{display:flex;flex-direction:column;gap:8px;margin-top:6px}.server-type-option{display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:8px;border:2px solid var(--bg-modifier);cursor:pointer;transition:border-color .15s,background .15s;background:var(--bg-modifier)}.server-type-option:hover{border-color:var(--accent)}.server-type-option.selected{border-color:var(--accent);background:#5a9e441f}.server-type-icon{font-size:22px;flex-shrink:0;margin-top:1px}.server-type-name{font-size:14px;font-weight:700;color:var(--header-primary)}.server-type-desc{font-size:12px;color:var(--text-muted);margin-top:2px}.viewing-badge{font-size:11px;font-weight:700;color:var(--text-muted);background:var(--bg-modifier);padding:2px 8px;border-radius:10px;margin-left:8px}.viewing-locked{background:var(--bg-modifier);border-radius:8px;padding:14px 16px;color:var(--text-muted);font-size:13px;text-align:center}.admin-badge{font-size:11px;font-weight:700;color:#faa61a;padding:2px 8px 6px;letter-spacing:.05em}.server-dropdown{position:absolute;top:calc(100% + 4px);left:8px;right:8px;background:var(--bg-tertiary);border-radius:6px;box-shadow:0 8px 24px #00000080;z-index:200;overflow:hidden;border:1px solid rgba(255,255,255,.06)}.server-dropdown-item{display:block;width:100%;background:none;border:none;color:var(--text-normal);font-size:13px;padding:10px 14px;text-align:left;cursor:pointer;transition:background .1s}.server-dropdown-item:hover{background:var(--bg-hover)}.server-dropdown-item.leave{color:#faa61a}.server-dropdown-item.leave:hover{background:#faa61a1f}.server-dropdown-item.delete{color:var(--danger)}.server-dropdown-item.delete:hover{background:#ed42451f}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);background:var(--bg-tertiary);color:var(--header-primary);font-size:14px;font-weight:500;padding:6px 10px;border-radius:var(--border-radius);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .1s;z-index:100;box-shadow:0 4px 12px #0000004d}[data-tooltip]:hover:after{opacity:1}.loading-screen{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);color:var(--text-muted);font-size:18px}.settings-modal{display:flex;width:90vw;max-width:780px;height:80vh;max-height:600px;background:var(--bg-primary);border-radius:8px;overflow:hidden;box-shadow:0 8px 32px #00000080}.settings-sidebar{width:220px;background:var(--bg-secondary);padding:16px 8px;display:flex;flex-direction:column;gap:2px;flex-shrink:0}.settings-category{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted);padding:8px 10px 4px}.settings-tab{padding:8px 10px;border-radius:var(--border-radius);cursor:pointer;color:var(--text-normal);font-size:14px}.settings-tab:hover{background:var(--bg-hover);color:var(--header-primary)}.settings-tab.active{background:var(--bg-active);color:var(--header-primary)}.settings-tab.danger{color:var(--danger);margin-top:auto}.settings-tab.danger:hover{background:var(--danger);color:#fff}.settings-divider{height:1px;background:var(--bg-modifier);margin:8px 0}.settings-content{flex:1;padding:24px;overflow-y:auto}.settings-content h2{font-size:20px;font-weight:700;color:var(--header-primary);margin-bottom:16px}.settings-label{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted);margin-bottom:8px;margin-top:16px}.settings-input{width:100%;padding:10px;background:var(--bg-tertiary);border:1px solid var(--bg-tertiary);border-radius:var(--border-radius);color:var(--text-normal);font-size:15px;outline:none;font-family:inherit}.settings-input:focus{border-color:var(--accent)}.avatar-preview-row{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg-secondary);border-radius:8px;margin-bottom:8px}.avatar-preview-big{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;color:#fff;flex-shrink:0}.avatar-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:4px}.avatar-option{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;cursor:pointer;border:3px solid transparent;transition:transform .1s,border-color .1s}.avatar-option:hover{transform:scale(1.1)}.avatar-option.selected{border-color:var(--accent);transform:scale(1.1)}.status-option{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;cursor:pointer;color:var(--text-normal);font-size:15px;background:var(--bg-secondary)}.status-option:hover{background:var(--bg-hover);color:var(--header-primary)}.status-dot-big{width:14px;height:14px;border-radius:50%;flex-shrink:0}.home-servers-panel{width:360px;flex-shrink:0;background:var(--bg-secondary);display:flex;flex-direction:column;overflow:hidden}.home-servers-header{display:flex;align-items:center;gap:8px;padding:16px 12px;border-bottom:1px solid var(--bg-tertiary)}.create-group-btn{margin-left:auto;background:var(--accent);border:none;color:#fff;width:26px;height:26px;border-radius:50%;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .1s}.create-group-btn:hover{background:var(--accent-hover)}.home-servers-header h2{font-size:15px;font-weight:700;color:var(--header-primary)}.home-servers-list{flex:1;overflow-y:auto;padding:8px 0}.home-server-row{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;border-radius:6px;margin:2px 6px;transition:background .1s;position:relative}.home-server-row:hover{background:var(--bg-hover)}.home-server-icon{width:40px;height:40px;border-radius:50%;background:var(--bg-modifier);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--text-normal);flex-shrink:0;overflow:hidden;transition:border-radius .15s}.home-server-row:hover .home-server-icon{border-radius:14px}.home-server-name{flex:1;font-size:14px;font-weight:600;color:var(--text-normal);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-server-members{font-size:11px;color:var(--text-muted);flex-shrink:0}.discover-panel{flex:1;min-width:0;background:var(--bg-secondary);display:flex;flex-direction:column;overflow:hidden}.discover-grid{flex:1;overflow-y:auto;padding:20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;align-content:start}.discover-card{background:var(--bg-tertiary);border-radius:10px;overflow:visible;position:relative}.discover-card-banner{position:relative;width:100%;height:110px;border-radius:10px 10px 0 0;overflow:hidden;background:linear-gradient(135deg,var(--accent),var(--success));display:flex;align-items:center;justify-content:center}.discover-card-banner img{width:100%;height:100%;object-fit:cover}.discover-card-initials{font-size:32px;font-weight:800;color:#ffffffd9}.discover-card-join-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:10px 28px;border-radius:8px;border:none;background:var(--success);color:#fff;font-weight:700;font-size:14px;cursor:pointer;box-shadow:0 4px 14px #00000059;transition:transform .1s,background .1s}.discover-card-join-btn:hover{background:var(--success);filter:brightness(1.12);transform:translate(-50%,-50%) scale(1.04)}.discover-card-join-btn:disabled{opacity:.6;cursor:default}.discover-card-info{padding:10px 14px 12px;border-radius:0 0 10px 10px}.discover-card-name{font-size:14px;font-weight:700;color:var(--text-normal);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.discover-card-members{font-size:11px;color:var(--text-muted);margin-top:2px}.discover-card-tag{font-size:11px;font-weight:700;margin-top:4px}.discover-card-gear-btn{position:absolute;bottom:-8px;right:-8px;width:28px;height:28px;border-radius:50%;border:none;background:var(--bg-modifier);color:#fff;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0006;z-index:5}.discover-card-gear-btn:hover{background:var(--accent)}.discover-tag-menu{position:absolute;bottom:24px;right:-8px;background:var(--bg-tertiary);border-radius:6px;box-shadow:0 8px 24px #0000008c;border:1px solid rgba(255,255,255,.06);overflow:hidden;min-width:190px;z-index:20}.discover-tag-item{display:block;width:100%;background:none;border:none;font-size:13px;padding:10px 14px;text-align:left;cursor:pointer;transition:background .1s;color:var(--text-normal)}.discover-tag-item:hover{background:var(--bg-hover)}.discover-tag-item.active{color:var(--success);font-weight:700}.dm-view{flex:1;display:flex;flex-direction:column;background:var(--bg-primary);overflow:hidden}.dm-header{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--bg-tertiary);background:var(--bg-secondary);flex-shrink:0}.dm-back-btn{background:none;border:none;color:var(--text-muted);font-size:20px;cursor:pointer;padding:0 6px;border-radius:4px;transition:color .1s,background .1s;line-height:1}.dm-back-btn:hover{color:var(--text-normal);background:var(--bg-hover)}.dm-header-name{font-size:15px;font-weight:700;color:var(--header-primary)}.dm-header-status{font-size:12px;color:var(--text-muted);text-transform:capitalize}.dm-messages{flex:1;overflow-y:auto;padding:16px 0 8px}.friend-row-clickable{cursor:pointer;border-radius:6px;transition:background .1s}.friend-row-clickable:hover{background:var(--bg-hover)!important}.friends-panel{flex:1;display:flex;flex-direction:column;background:var(--bg-primary);min-width:0}.friends-header{height:48px;padding:0 16px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--bg-tertiary);flex-shrink:0}.friends-header h2{font-size:15px;font-weight:700;color:var(--header-primary)}.friends-tabs{display:flex;padding:8px 16px;gap:4px;border-bottom:1px solid var(--bg-tertiary);flex-shrink:0}.friends-tab{padding:6px 14px;border-radius:var(--border-radius);border:none;background:none;color:var(--text-muted);cursor:pointer;font-size:14px;font-weight:500;display:flex;align-items:center;gap:6px}.friends-tab:hover{background:var(--bg-hover);color:var(--text-normal)}.friends-tab.active{background:var(--bg-active);color:var(--header-primary)}.friends-body{flex:1;overflow-y:auto;padding:8px 0}.friends-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;gap:12px;color:var(--text-muted);font-size:48px;text-align:center}.friends-empty p{font-size:15px}.friend-request-row{display:flex;align-items:center;gap:12px;padding:8px 16px;border-bottom:1px solid var(--bg-tertiary)}.badge{background:var(--danger);color:#fff;font-size:11px;font-weight:700;padding:1px 5px;border-radius:8px;min-width:16px;text-align:center}.sponsor-banner{padding:8px;border-top:1px solid var(--bg-tertiary);flex-shrink:0}.sponsor-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:0 4px 4px}.sponsor-card{display:flex;align-items:center;gap:8px;background:var(--bg-tertiary);border-radius:6px;padding:8px;border:1px solid rgba(90,158,68,.2)}.sponsor-icon{font-size:24px;flex-shrink:0}.sponsor-info{flex:1;min-width:0}.sponsor-name{font-size:13px;font-weight:700;color:var(--header-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sponsor-desc{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sponsor-btn{padding:4px 10px;background:var(--accent);color:#fff;border-radius:var(--border-radius);font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap;flex-shrink:0;transition:background .15s}.sponsor-btn:hover{background:var(--accent-hover)}.avatar-upload-section{display:flex;align-items:center;gap:20px;padding:16px;background:var(--bg-secondary);border-radius:8px;margin-bottom:8px}.avatar-upload-circle{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:700;color:#fff;flex-shrink:0;cursor:pointer;position:relative;overflow:hidden;border:3px solid transparent;transition:border-color .15s}.avatar-upload-circle:hover{border-color:var(--accent)}.avatar-upload-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;opacity:0;transition:opacity .15s;border-radius:50%}.avatar-upload-circle:hover .avatar-upload-overlay{opacity:1}.avatar-upload-hint{font-size:14px;color:var(--text-normal);line-height:1.5}[data-tooltip]:after{left:50%;top:calc(100% + 6px);transform:translate(-50%);white-space:nowrap}.messages-container::-webkit-scrollbar{width:6px}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-5px)}}.dm-typing-bar{flex-shrink:0;height:24px;display:flex;align-items:center;gap:8px;padding:0 16px;background:var(--bg-secondary);border-top:1px solid var(--bg-active)}.dm-typing-dots{display:flex;gap:3px;align-items:center}.typing-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:typingBounce 1.2s ease infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.dm-typing-bar-text{font-size:12px;color:var(--text-muted);font-style:italic}.dm-typing-bar-text strong{color:var(--text-normal);font-style:normal}.friend-remove-btn{flex-shrink:0;background:none;border:none;color:var(--text-muted);font-size:13px;cursor:pointer;padding:4px 6px;border-radius:4px;opacity:0;transition:opacity .15s,color .15s,background .15s;margin-left:6px}.member-item:hover .friend-remove-btn{opacity:1}.friend-remove-btn:hover{color:var(--danger);background:#ed424526}.voice-channel-item{gap:6px}.voice-channel-icon{font-size:14px;flex-shrink:0}.voice-user-count{font-size:10px;color:var(--text-muted);background:var(--bg-active);border-radius:10px;padding:1px 6px;flex-shrink:0}.voice-participants-sidebar{padding:2px 0 4px 32px;display:flex;flex-direction:column;gap:3px}.voice-participant-row{display:flex;align-items:center;gap:7px;padding:2px 6px;border-radius:4px;cursor:default}.voice-participant-name{font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-room{flex:1;display:flex;flex-direction:column;background:var(--bg-primary);overflow:hidden}.voice-room-header{display:flex;align-items:center;gap:10px;padding:12px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--bg-active);flex-shrink:0}.voice-room-icon{font-size:20px}.voice-room-name{font-size:16px;font-weight:800;color:var(--header-primary);margin:0}.voice-room-count{font-size:12px;color:var(--text-muted);background:var(--bg-active);border-radius:10px;padding:2px 9px}.voice-grid{flex:1;display:flex;flex-wrap:wrap;align-content:flex-start;gap:16px;padding:24px;overflow-y:auto}.voice-empty{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-muted);font-size:15px;padding:60px 0}.voice-tile{position:relative;width:200px;height:160px;border-radius:12px;background:var(--bg-secondary);border:2px solid var(--bg-active);overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .2s}.voice-tile:hover{border-color:var(--accent)}.voice-tile.speaking{border-color:#3ba55c;box-shadow:0 0 0 3px #3ba55c73}.speaking-ring-wrap{display:inline-flex;border-radius:50%;padding:3px;transition:box-shadow .1s}.speaking-ring-wrap.speaking{box-shadow:0 0 0 3px #3ba55c,0 0 14px 2px #3ba55c99}.voice-tile-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.voice-tile-placeholder{display:flex;align-items:center;justify-content:center;flex:1}.voice-tile-label{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000000bf);color:#fff;font-size:12px;font-weight:700;padding:18px 10px 7px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.voice-controls{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;background:var(--bg-secondary);border-top:1px solid var(--bg-active);flex-shrink:0}.voice-ctrl-btn{width:48px;height:48px;border-radius:50%;border:none;background:var(--bg-modifier);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .1s}.voice-ctrl-btn:hover{transform:scale(1.08);background:var(--bg-hover)}.voice-ctrl-btn.danger{background:#ed424540}.voice-ctrl-btn.active{background:#5a9e4440}.voice-ctrl-btn.cam-active{background:#5a9e4440;color:#5a9e44}.voice-leave-btn{width:auto;padding:0 20px;border-radius:24px;font-size:14px;font-weight:700;background:var(--danger);color:#fff}.voice-leave-btn:hover{background:var(--danger-hover)}.voice-join-btn{padding:12px 32px;border-radius:24px;border:none;background:var(--accent);color:#fff;font-size:15px;font-weight:800;cursor:pointer;transition:background .15s,transform .1s}.voice-join-btn:hover{background:var(--accent-hover);transform:scale(1.03)}.call-ui-mini-bar{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;padding:6px 12px!important;min-width:0;width:auto}.call-ui-mini-bar .call-label{font-size:11px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-ctrl-btn-sm{width:30px;height:30px;border-radius:50%;border:none;background:var(--bg-modifier);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}.call-ctrl-btn-sm:hover{background:var(--bg-hover)}.call-ctrl-btn-sm.muted{background:#ed42454d}.call-ctrl-btn-sm.active{background:#5a9e444d}.call-ctrl-btn-sm.end-btn{background:var(--danger)}.poll-create-panel{margin:0 16px 8px;background:var(--bg-secondary);border:1px solid var(--bg-active);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;flex-shrink:0}.poll-create-header{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:14px;color:var(--header-primary)}.poll-create-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:16px;padding:0 4px;line-height:1;border-radius:4px}.poll-create-close:hover{background:var(--bg-hover);color:var(--text-normal)}.poll-create-input{width:100%;background:var(--bg-tertiary);border:1.5px solid var(--bg-active);border-radius:6px;color:var(--text-normal);font-size:14px;padding:7px 10px;font-family:inherit;outline:none;box-sizing:border-box;transition:border-color .15s}.poll-create-input:focus{border-color:var(--accent)}.poll-create-input::placeholder{color:var(--text-muted)}.poll-options-list{display:flex;flex-direction:column;gap:6px}.poll-option-row{display:flex;align-items:center;gap:6px}.poll-remove-opt{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:4px 6px;border-radius:4px;flex-shrink:0}.poll-remove-opt:hover{background:var(--bg-hover);color:var(--danger)}.poll-create-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.poll-add-opt-btn{background:none;border:1px solid var(--accent);border-radius:6px;color:var(--accent);cursor:pointer;font-size:13px;padding:5px 12px;font-weight:600;transition:background .15s}.poll-add-opt-btn:hover{background:rgba(var(--accent-rgb, 88,101,242),.15)}.poll-send-btn{background:var(--accent);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:700;padding:6px 16px;margin-left:auto;transition:background .15s,opacity .15s}.poll-send-btn:hover:not(:disabled){background:var(--accent-hover)}.poll-send-btn:disabled{opacity:.45;cursor:not-allowed}.poll-btn{background:none;border:none;font-size:18px;cursor:pointer;padding:0 6px;opacity:.65;transition:opacity .15s,transform .1s;line-height:1;flex-shrink:0}.poll-btn:hover{opacity:1;transform:scale(1.15)}.poll-message{background:var(--bg-tertiary);border:1px solid var(--bg-active);border-radius:10px;padding:14px 16px;width:100%;margin-top:4px;display:flex;flex-direction:column;gap:8px}.poll-question{font-weight:700;font-size:15px;color:var(--header-primary);margin-bottom:2px;display:flex;align-items:center;gap:8px}.poll-mode-tag{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--text-muted);background:var(--bg-tertiary);border-radius:4px;padding:1px 6px;letter-spacing:.04em}.poll-see-more{background:none;border:none;cursor:pointer;font-size:12px;font-weight:700;color:var(--accent);margin-left:8px;padding:0}.poll-see-more:hover{text-decoration:underline}.poll-voter-list{display:flex;flex-wrap:wrap;gap:4px;margin:2px 0 8px 4px}.poll-voter-chip{font-size:11px;color:var(--text-normal);background:var(--bg-tertiary);border-radius:8px;padding:2px 8px}.poll-voter-empty{font-size:11px;color:var(--text-muted);font-style:italic}.poll-option-btn{display:block;width:100%;box-sizing:border-box;background:var(--bg-secondary);border:1.5px solid var(--bg-active);border-radius:8px;cursor:pointer;padding:10px 12px 8px;text-align:left;transition:border-color .15s,background .15s;color:var(--text-normal);font-family:inherit}.poll-option-btn:hover{border-color:var(--accent);background:var(--bg-hover)}.poll-option-btn.voted{border-color:var(--accent);background:#5865f21f}.poll-option-btn.at-cap{opacity:.45;cursor:not-allowed}.poll-option-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;gap:8px}.poll-option-text{font-size:14px;font-weight:600}.poll-option-count{font-size:12px;color:var(--text-muted);white-space:nowrap}.poll-bar{height:6px;background:var(--bg-active);border-radius:3px;overflow:hidden}.poll-bar-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .4s ease;min-width:0}.poll-option-btn.voted .poll-bar-fill{background:#5865f2}.poll-total{font-size:12px;color:var(--text-muted);text-align:right}.file-attachment{display:inline-flex;align-items:center;gap:10px;background:var(--bg-tertiary);border:1px solid var(--bg-active);border-radius:8px;padding:10px 14px;margin-top:4px;text-decoration:none;color:var(--text-normal);max-width:340px;transition:background .15s,border-color .15s}.file-attachment:hover{background:var(--bg-hover);border-color:var(--accent)}.file-attach-icon{font-size:26px;flex-shrink:0}.file-attach-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.file-attach-name{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-attach-size{font-size:11px;color:var(--text-muted)}.file-attach-dl{font-size:18px;flex-shrink:0;opacity:.7}.pending-file-preview{display:flex;align-items:center;gap:8px;background:var(--bg-tertiary);border:1px solid var(--bg-active);border-radius:8px;margin:8px 16px 4px;padding:8px 12px}.pending-file-icon{font-size:22px;flex-shrink:0}.pending-file-name{font-size:13px;font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-file-size{font-size:11px;color:var(--text-muted);flex-shrink:0}.call-ctrl-btn-sm.end-btn:hover{background:var(--danger-hover)}.mention-dropdown{position:absolute;bottom:calc(100% + 4px);left:0;right:0;background:var(--bg-secondary);border:1px solid var(--bg-modifier);border-radius:8px;box-shadow:0 -4px 16px #00000059;overflow:hidden;z-index:200;max-height:240px;overflow-y:auto}.mention-dropdown-header{padding:6px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--bg-modifier)}.mention-dropdown-item{display:flex;align-items:center;gap:6px;width:100%;padding:8px 12px;background:none;border:none;color:var(--text-normal);font-size:14px;text-align:left;cursor:pointer;transition:background .1s}.mention-dropdown-item:hover,.mention-dropdown-item.active{background:var(--bg-hover);color:var(--header-primary)}.mention-chip{display:inline;background:#5865f233;color:var(--accent);border-radius:3px;padding:0 2px;font-weight:600;cursor:default}.mention-chip:hover{background:var(--accent);color:#fff}.mention-chip.mention-me{background:#faa61a40;color:#faa61a}.mention-chip.mention-me:hover{background:#faa61a;color:#000}.system-message{display:flex;align-items:center;gap:8px;padding:4px 16px;margin:4px 0;color:var(--text-muted);font-size:12.5px;font-style:italic}.system-message-icon{font-size:14px;flex-shrink:0;opacity:.7}.system-message-text{flex:1}.system-message-ts{font-size:10px;color:var(--text-muted);opacity:.6;flex-shrink:0}.bot-message{display:flex;align-items:flex-start;gap:12px;padding:8px 16px;margin:4px 0;background:#5865f20f;border-left:3px solid rgba(88,101,242,.4)}.bot-message-avatar{width:36px;height:36px;border-radius:50%;background:#5865f233;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.bot-message-body{flex:1;min-width:0}.bot-message-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.bot-message-name{font-size:14px;font-weight:800;color:#5865f2;text-transform:capitalize}.bot-tag{font-size:9px;font-weight:800;letter-spacing:.04em;color:#5865f2;background:#5865f22e;border:1px solid rgba(88,101,242,.4);border-radius:3px;padding:1px 5px}.bot-message-content{font-size:13px;color:var(--text-normal);line-height:1.6;white-space:pre-wrap;word-break:break-word;font-family:inherit;margin:0}.msg-header{align-items:center;flex-wrap:wrap;gap:4px}.rank-menu{position:absolute;right:0;top:calc(100% + 4px);background:var(--bg-primary);border:1px solid var(--bg-active);border-radius:8px;box-shadow:0 8px 24px #00000080;z-index:200;min-width:160px;overflow:hidden}.rank-menu-title{padding:8px 12px 4px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.rank-menu-item{display:block;width:100%;text-align:left;padding:8px 14px;background:none;border:none;color:var(--text-normal);font-size:13px;font-family:inherit;cursor:pointer;transition:background .1s}.rank-menu-item:hover{background:var(--bg-hover);color:var(--header-primary)}.rank-menu-item.active{color:var(--accent);font-weight:700;background:var(--bg-active)}code{font-family:Consolas,Courier New,monospace;font-size:12px}.reply-quote-line{display:flex;align-items:center;gap:4px;margin-left:56px;margin-bottom:2px;font-size:13px;color:var(--text-muted);cursor:pointer;min-width:0}.reply-connector{width:22px;height:13px;border-left:2px solid var(--text-muted);border-top:2px solid var(--text-muted);border-radius:6px 0 0;margin-bottom:-5px;flex-shrink:0;opacity:.6}.reply-quote-line-avatar{width:16px;height:16px;border-radius:50%;flex-shrink:0;object-fit:cover}.reply-quote-line-author{font-weight:600;color:var(--text-muted);flex-shrink:0;cursor:pointer}.reply-quote-line-author:hover{color:var(--text-normal);text-decoration:underline}.reply-quote-line-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.reply-quote-line:hover .reply-quote-line-text{color:var(--text-normal)}.message-group .msg-row{display:flex;gap:16px}.reaction-bar{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.reaction-chip{display:inline-flex;align-items:center;gap:4px;background:var(--bg-tertiary);border:1px solid var(--bg-active);border-radius:10px;padding:2px 8px;font-size:12px;cursor:pointer;color:var(--text-normal);transition:background .15s}.reaction-chip:hover{background:var(--bg-hover)}.reaction-chip.mine{border-color:var(--accent);background:#5865f226}.reaction-count{font-size:11px;color:var(--text-muted);font-weight:700}.quick-react-popover{position:absolute;bottom:28px;right:0;display:flex;gap:2px;background:var(--bg-secondary);border:1px solid var(--bg-active);border-radius:8px;padding:4px;box-shadow:0 4px 16px #0006;z-index:20}.quick-react-item{background:none;border:none;cursor:pointer;font-size:16px;padding:4px 6px;border-radius:5px}.quick-react-item:hover{background:var(--bg-hover)}.msg-flash{animation:msgFlash 1.5s ease}@keyframes msgFlash{0%{background:#5865f22e}to{background:transparent}}.reply-preview-bar{display:flex;align-items:center;gap:8px;padding:6px 16px;background:var(--bg-tertiary);border-top:1px solid var(--bg-active);flex-shrink:0}.reply-preview-inner{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.reply-preview-label{font-size:12px;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.reply-preview-label strong{color:var(--accent)}.reply-preview-text{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.7}.reply-preview-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:2px 6px;border-radius:4px;flex-shrink:0;transition:color .1s,background .1s}.reply-preview-close:hover{color:var(--danger);background:#ed42451f}body[data-ray]{--text-normal: #d4dbd6;--text-muted: #91a496;--header-primary: #edf2ee;--header-secondary:#c0cfc4;--channel-default: #a8b9ac}body[data-ray] .dino-decorations{opacity:.03!important}body[data-ray] .message-group{border-bottom:1px solid rgba(255,255,255,.035)!important;margin-left:6px!important;margin-right:6px!important;border-radius:4px!important;padding-left:10px!important;padding-right:10px!important}body[data-ray] .message-group:hover{background:#ffffff0a!important}body[data-ray] .msg-ts,body[data-ray] .msg-ts-inline{color:#91a496!important;opacity:1!important}body[data-ray] .channel-item.active{background:#5865f238!important;border-left:3px solid #5865f2!important;padding-left:13px!important;color:#fff!important;font-weight:700!important}body[data-ray] .channel-item:not(.active){color:#a8b9ac!important;opacity:.8}body[data-ray] .channel-item:not(.active):hover{opacity:1;color:var(--header-primary)!important}body[data-ray] .channel-category span,body[data-ray] .category-header{color:#c0cfc4!important;font-size:12px!important;letter-spacing:.06em!important}body[data-ray] .msg-header span[style*=background]{opacity:.65!important;font-size:8px!important}body[data-ray] .admin-badge{color:#faa61ab3!important}body[data-ray] .sponsor-banner{display:none!important}body[data-ray] .message-input-box{padding:4px 14px!important}body[data-ray] .message-input-box textarea{padding:10px 0!important;min-height:24px}body[data-ray] .discover-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important}body[data-ray] .discover-card{height:180px!important;overflow:hidden!important}body[data-ray] .discover-card-banner{height:110px!important}body[data-ray] .discover-card-members,body[data-ray] .discover-card-info{color:#91a496!important}body[data-ray] .discover-card-name{color:#edf2ee!important}body[data-ray] .discover-card-tag{display:inline-block!important;background:#00000073!important;border-radius:4px!important;padding:2px 6px!important;font-size:10px!important}body[data-ray] .discover-card-gear-btn{bottom:8px!important;right:8px!important}body[data-ray] .member-item .member-name{color:#c0cfc4!important}body[data-ray] .sponsor-btn{background:var(--accent)!important;color:#fff!important;border:none!important}.slash-menu{position:absolute;bottom:calc(100% + 4px);left:0;right:0;background:#1a3d1e;border:1px solid #2d6b34;border-radius:8px;overflow:hidden;box-shadow:0 -4px 24px #00000073;z-index:100}.slash-menu-header{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#5a9e63;padding:7px 12px 5px;border-bottom:1px solid #2d6b34}.slash-menu-list{max-height:260px;overflow-y:auto;overflow-x:hidden}.slash-menu-list::-webkit-scrollbar{width:4px}.slash-menu-list::-webkit-scrollbar-track{background:transparent}.slash-menu-list::-webkit-scrollbar-thumb{background:var(--bg-modifier);border-radius:2px}.slash-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:7px 12px;background:none;border:none;color:var(--text-normal);cursor:pointer;text-align:left;font-size:13px}.slash-menu-item{color:#d4f0d6}.slash-menu-item:hover,.slash-menu-item.active{background:#2d6b348c}.slash-menu-icon{font-size:16px;width:22px;text-align:center;flex-shrink:0}.slash-menu-text{display:flex;flex-direction:column;min-width:0}.slash-menu-cmd{font-weight:700;color:#7dde87;flex-shrink:0}.slash-menu-desc{font-size:11px;color:#7aab80;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd-hint-strip{font-size:12px;color:var(--accent);background:#5865f214;border:1px solid rgba(88,101,242,.25);border-radius:6px;padding:5px 12px;margin:0 0 4px;display:flex;align-items:center;gap:6px}.chess-puzzle{margin-top:6px;display:inline-block;max-width:100%}.chess-puzzle-title{font-size:14px;font-weight:600;color:var(--header-primary);margin-bottom:7px}.chess-board{display:grid;grid-template-columns:repeat(8,44px);grid-template-rows:repeat(8,44px);border:2px solid #7b5a3c;border-radius:3px;overflow:hidden;width:352px;height:352px;flex-shrink:0}.chess-sq{width:44px;height:44px;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .08s}.chess-piece{font-size:33px;line-height:1;position:relative;z-index:2;pointer-events:none}.cp-white{color:#fff;text-shadow:-1px -1px 0 #6b4226,1px -1px 0 #6b4226,-1px 1px 0 #6b4226,1px 1px 0 #6b4226,0 0 3px rgba(0,0,0,.5)}.cp-black{color:#1c0f00;text-shadow:-1px -1px 0 rgba(255,255,255,.25),1px -1px 0 rgba(255,255,255,.25),-1px 1px 0 rgba(255,255,255,.25),1px 1px 0 rgba(255,255,255,.25)}.chess-dot{position:absolute;width:14px;height:14px;border-radius:50%;background:#00000040;z-index:1;pointer-events:none}.chess-capture-ring{position:absolute;width:40px;height:40px;border-radius:50%;border:4px solid rgba(0,0,0,.25);box-sizing:border-box;z-index:1;pointer-events:none}.chess-rank{position:absolute;top:2px;left:2px;font-size:10px;font-weight:700;line-height:1;pointer-events:none;z-index:3}.chess-file{position:absolute;bottom:1px;right:3px;font-size:10px;font-weight:700;line-height:1;pointer-events:none;z-index:3}.chess-bar{display:flex;align-items:center;padding:5px 2px;width:352px;box-sizing:border-box;gap:6px}.chess-bar-status{font-size:12px;font-weight:600;color:var(--text-normal);flex:1;min-width:0}.chess-btn{background:var(--bg-tertiary);border:1px solid var(--bg-modifier);border-radius:5px;color:var(--text-normal);padding:3px 9px;font-size:11px;cursor:pointer;white-space:nowrap}.chess-btn:hover{background:var(--bg-active)}.chess-btn-ans{background:#5a9e441f;border-color:var(--accent);color:var(--accent)}.chess-answer{background:var(--bg-tertiary);border-radius:7px;padding:8px 12px;font-size:12px;color:var(--text-normal);line-height:1.6;width:352px;box-sizing:border-box;margin-top:2px}.chess-create-panel{max-height:70vh;overflow-y:auto}.chess-live-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.chess-live-badge{font-size:11px;font-weight:700;background:#e63946;color:#fff;padding:2px 7px;border-radius:20px;flex-shrink:0}.chess-live-players{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--header-primary);flex-wrap:wrap}.chess-live-vs{font-size:11px;color:var(--text-muted)}.chess-live-color-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:3px;vertical-align:middle}.white-dot{background:#f0d9b5;border:1px solid #b58863}.black-dot{background:#1c0f00}.chess-live-empty{color:var(--text-muted);font-weight:400;font-size:12px}.chess-live-join{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap;align-items:center}.chess-join-btn{font-weight:700;background:var(--accent);color:#fff;border-color:transparent}.chess-live-waiting-msg{font-size:12px;color:var(--text-muted);font-style:italic}.chess-result-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:42px;font-weight:900;border-radius:4px;pointer-events:none;z-index:5;text-shadow:0 2px 12px rgba(0,0,0,.7);animation:chess-result-in .4s cubic-bezier(.34,1.56,.64,1)}@keyframes chess-result-in{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.chess-result-win{background:#27ae60d1;color:#fff}.chess-result-loss{background:#dc1414d1;color:#fff}.chess-result-draw{background:#505050d1;color:#fff}.chess-forfeit-btn{margin-left:auto;padding:3px 10px;font-size:11px;font-weight:600;background:transparent;border:1px solid #e06060;color:#e06060;border-radius:6px;cursor:pointer;transition:background .15s}.chess-forfeit-btn:hover{background:#e0606026}.chess-moves-goal{font-size:13px;font-weight:700;color:var(--accent);margin-bottom:6px}.chess-board-wrap{position:relative;display:inline-block;overflow:hidden;border-radius:3px}.chess-board-fail{opacity:.45;pointer-events:none}.chess-board-wrong{outline:3px solid #f04747;border-radius:4px;animation:chess-wrong-shake .35s ease}@keyframes chess-wrong-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}60%{transform:translate(6px)}80%{transform:translate(-3px)}}.chess-piece-moving{animation:chess-slide .28s cubic-bezier(.25,.46,.45,.94)}@keyframes chess-slide{0%{transform:var(--chess-slide-from, translate(0,0))}to{transform:translate(0)}}.chess-fail-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#00000073;z-index:20}.chess-fail-text{font-size:52px;font-weight:900;color:#f44;letter-spacing:4px;text-shadow:0 2px 12px rgba(0,0,0,.7)}.chess-try-again-btn{font-size:14px;font-weight:700;padding:8px 22px;background:var(--accent);color:#fff;border:none;border-radius:8px}.chess-move-count{font-size:11px;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.chess-confetti-container{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:10}.chess-confetti-piece{position:absolute;top:-10px;animation:confetti-fall linear forwards}@keyframes confetti-fall{0%{transform:translateY(0) translate(0) rotate(0);opacity:1}80%{opacity:1}to{transform:translateY(370px) translate(var(--drift)) rotate(calc(var(--rot) * 3));opacity:0}}.overlay-67{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000;display:flex;align-items:center;justify-content:center;animation:overlay-67-in .15s ease;cursor:pointer}.overlay-67-text{font-size:clamp(120px,25vw,280px);font-weight:900;color:#fff;letter-spacing:-8px;-webkit-user-select:none;user-select:none;text-shadow:0 0 80px rgba(255,255,255,.4);animation:overlay-67-pulse .6s ease infinite alternate}@keyframes overlay-67-in{0%{opacity:0;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes overlay-67-pulse{0%{transform:scale(1)}to{transform:scale(1.04)}}body[data-panda]{--bg-primary: #f5f5f5;--bg-secondary: #e8e8e8;--bg-tertiary: #d8d8d8;--bg-active: #c8c8c8;--bg-modifier: #bbb;--header-primary: #111;--text-normal: #222;--text-muted: #555;--accent: #4a7c59;font-family:Segoe UI,sans-serif}body[data-panda] .server-sidebar,body[data-panda] .channel-sidebar{background:#1a1a1a;color:#fff}body[data-panda] .channel-sidebar .channel-item{color:#ccc}body[data-panda] .channel-sidebar .channel-item.active{color:#fff;background:#333}body[data-panda] .chat-header{background:#f0f0f0;border-bottom:2px solid #222}body[data-panda] .message-input-box{background:#fff;border:2px solid #222;border-radius:16px}body[data-panda] .message-group{border-radius:12px}body[data-panda] .message-group:hover{background:#0000000a}body[data-panda] .app-layout:before{content:"🐼 🐼 🐼 🐼 🐼 🐼 🐼 🐼 🐼 🐼";position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:80px;opacity:.04;letter-spacing:40px;pointer-events:none;z-index:0;word-break:break-all;line-height:1.8}.uno-wrap{background:#1a6b3a;border-radius:14px;padding:14px 12px 10px;max-width:560px;margin-top:6px;border:3px solid #0e4525;font-family:sans-serif}.ucard{position:relative;width:72px;height:108px;border-radius:12px;border:3px solid rgba(255,255,255,.85);background:var(--uc, #333);box-shadow:0 3px 8px #00000080;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;-webkit-user-select:none;user-select:none}.ucard-sm{width:46px;height:68px;border-radius:8px;border-width:2px}.ucard-stacked{margin-left:-30px}.ucard-sm.ucard-stacked{margin-left:-20px}.ucard-oval{width:54px;height:80px;border-radius:50%;background:#ffffffe6;display:flex;align-items:center;justify-content:center;transform:rotate(-30deg)}.ucard-sm .ucard-oval{width:34px;height:50px}.ucard-oval-dark{background:#000000b3}.ucard-face{transform:rotate(30deg);font-size:24px;font-weight:900;color:var(--uc, #e63946);text-shadow:1px 1px 0 rgba(0,0,0,.2);line-height:1}.ucard-sm .ucard-face{font-size:15px}.ucard-oval-dark .ucard-face{color:#fff}.ucard-corner{position:absolute;font-size:11px;font-weight:900;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6);line-height:1}.ucard-tl{top:4px;left:5px}.ucard-br{bottom:4px;right:5px;transform:rotate(180deg)}.ucard-sm .ucard-corner{font-size:8px}.ucard-back{background:linear-gradient(135deg,#c00,#c00 50%,#039 50%,#039);border:3px solid #fff}.ucard-back-inner{width:56px;height:84px;border-radius:8px;border:2px solid rgba(255,255,255,.6);background:linear-gradient(135deg,#039,#039 50%,#c00 50%,#c00);display:flex;align-items:center;justify-content:center}.ucard-sm .ucard-back-inner{width:34px;height:50px;border-radius:5px}.ucard-logo{font-size:13px;font-weight:900;color:#fff;font-style:italic;text-shadow:0 1px 3px rgba(0,0,0,.7),0 0 8px rgba(255,220,0,.8);letter-spacing:1px}.ucard-sm .ucard-logo{font-size:8px}.ucard-wild{background:#111;border-color:#fff}.ucard-wild-quarters{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;border-radius:9px;overflow:hidden}.uwq-r{background:#e74c3c}.uwq-b{background:#2980b9}.uwq-g{background:#27ae60}.uwq-y{background:#f1c40f}.ucard-wild .ucard-oval{position:relative;z-index:2;background:#000000bf;width:48px;height:70px}.ucard-sm.ucard-wild .ucard-oval{width:30px;height:44px}.ucard-playable{cursor:pointer;border-color:#ffe000;box-shadow:0 0 0 2px #ffe000,0 4px 12px #0009;transition:transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .15s}.ucard-playable:hover{transform:translateY(-14px) scale(1.12);box-shadow:0 0 0 3px #ffe000,0 16px 28px #000000b3,0 0 20px #ffe00066;z-index:10}.ucard-dull{opacity:.6}.uno-opponents{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-bottom:12px}.uno-opponent{display:flex;flex-direction:column;align-items:center;gap:4px}.uno-opp-name{font-size:12px;font-weight:700;color:#d8e8d0}.uno-active-player .uno-opp-name{color:#ffe000}.uno-opp-hand{display:flex;align-items:flex-end;min-height:68px}.uno-opp-count{font-size:11px;color:#7a9a72}.uno-opp-more{font-size:12px;font-weight:700;color:#ffe000;align-self:center;margin-left:4px}.uno-play-area{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:14px;background:#00000040;border-radius:12px;padding:12px}.uno-pile-wrap{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:default}.uno-pile-wrap[title]:not([title=""]){cursor:pointer}.uno-pile-wrap[title]:not([title=""]) .ucard{transition:transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .15s}.uno-pile-wrap[title]:not([title=""]):hover .ucard{transform:translateY(-14px) scale(1.12);box-shadow:0 0 0 3px #ffe000,0 16px 28px #000000b3,0 0 20px #ffe00066}.uno-pile-label{font-size:11px;color:#a8c8a0;text-align:center}.uno-draw-stack-badge{background:#e63946;color:#fff;font-weight:900;font-size:13px;padding:1px 6px;border-radius:20px}.uno-dir-wrap{display:flex;flex-direction:column;align-items:center;gap:4px}.uno-dir-arrow{font-size:30px;color:#fff;line-height:1}.uno-dir-label{font-size:11px;font-weight:700;color:#ffe000;text-align:center;max-width:80px}.uno-my-hand-wrap{background:#0003;border-radius:10px;padding:10px 10px 6px}.uno-my-hand-label{font-size:12px;font-weight:700;color:#a8c8a0;margin-bottom:8px;display:flex;align-items:center;gap:8px}.uno-callout{background:#e63946;color:#fff;font-size:11px;font-weight:900;padding:1px 7px;border-radius:20px;letter-spacing:.5px;animation:uno-pulse .6s ease-in-out infinite alternate}@keyframes uno-pulse{0%{transform:scale(1)}to{transform:scale(1.12)}}.uno-my-hand{display:flex;flex-wrap:wrap;gap:6px;position:relative}.uno-spectate{font-size:12px;color:#7a9a72;text-align:center;padding:8px 0}.uno-color-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;background:#0000008c;border-radius:12px;display:flex;align-items:center;justify-content:center}.uno-wrap{position:relative}.uno-color-box{background:#1a1a1a;border:2px solid #fff;border-radius:14px;padding:18px 24px;text-align:center}.uno-color-title{font-size:15px;font-weight:900;color:#fff;margin-bottom:14px;letter-spacing:.5px}.uno-color-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.uno-color-btn{width:60px;height:60px;border-radius:50%;border:4px solid rgba(255,255,255,.5);cursor:pointer;transition:transform .1s,border-color .1s}.uno-color-btn:hover{transform:scale(1.15);border-color:#fff}.uno-lobby-box{display:flex;flex-direction:column;align-items:center;gap:14px;padding:10px 0 6px}.uno-logo-big{font-size:48px;font-weight:900;font-style:italic;color:#ffe000;text-shadow:3px 3px 0 #e63946,5px 5px 0 rgba(0,0,0,.4);letter-spacing:4px}.uno-lobby-players{display:flex;flex-direction:column;gap:6px;width:100%;max-width:220px}.uno-lobby-player{background:#0000004d;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:700;color:#d8e8d0;text-align:center}.uno-lobby-empty{font-size:12px;color:#7a9a72;font-style:italic;text-align:center}.uno-lobby-actions{display:flex;flex-direction:column;align-items:center;gap:8px}.uno-lobby-hint{font-size:12px;color:#a8c8a0}.uno-btn{padding:9px 28px;border-radius:10px;border:none;font-weight:900;font-size:14px;cursor:pointer;color:#fff;letter-spacing:.5px;transition:transform .1s,filter .1s}.uno-btn:hover{transform:scale(1.04);filter:brightness(1.1)}.uno-btn-join{background:var(--accent)}.uno-btn-cpu{background:#555}.uno-btn-start{background:#e63946}.uno-ended-box{display:flex;flex-direction:column;align-items:center;gap:12px;padding:10px 0 6px}.uno-winner-announce{font-size:20px;font-weight:900;color:#ffe000;text-shadow:2px 2px 0 rgba(0,0,0,.5)}.overlay-rawr{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;pointer-events:none;animation:rawr-shake .08s linear infinite}.overlay-rawr-text{font-size:96px;font-weight:900;color:#ff4500;text-shadow:0 0 40px #ff4500,0 0 80px #ff2200;animation:rawr-pop .15s cubic-bezier(.34,1.56,.64,1)}@keyframes rawr-shake{0%{transform:translate(-4px,-3px)}25%{transform:translate(4px,3px)}50%{transform:translate(-3px,4px)}75%{transform:translate(3px,-4px)}to{transform:translate(-4px,-3px)}}@keyframes rawr-pop{0%{transform:scale(.3) rotate(-15deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.overlay-meteor{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;overflow:hidden;pointer-events:none;background:#00000026}.overlay-meteor-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:80px;animation:meteor-center .3s ease}@keyframes meteor-center{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.meteor-piece{position:absolute;top:-60px;width:3px;height:60px;background:linear-gradient(to bottom,#fff,#ff8c00,transparent);border-radius:2px;animation:meteor-fall linear forwards;transform:rotate(20deg)}@keyframes meteor-fall{0%{top:-80px;opacity:1}to{top:110vh;opacity:.2}}.announce-embed-wrap{padding:2px 0}.announce-embed{display:flex;max-width:100%;background:var(--bg-secondary);border-radius:4px;overflow:hidden}.announce-embed-pill{width:4px;background:#f0b132;flex-shrink:0}.announce-embed-inner{padding:12px 16px 12px 12px;flex:1;min-width:0}.announce-embed-author{display:flex;align-items:center;gap:6px;margin-bottom:8px}.announce-embed-author-icon{width:16px;height:16px;border-radius:50%;object-fit:cover;flex-shrink:0}.announce-embed-author-name{font-size:13px;font-weight:600;color:var(--header-primary)}.announce-embed-author-badge{font-size:11px;font-weight:500;color:var(--text-muted);margin-left:2px}.announce-embed-description{font-size:14px;line-height:1.5;color:var(--text-normal);word-break:break-word;white-space:pre-wrap}.announce-embed-footer{margin-top:10px;border-top:1px solid var(--bg-modifier);padding-top:6px}.announce-embed-footer-ts{font-size:11px;color:var(--text-muted)}.dice-wrap{padding:4px 0}.dice-card{display:inline-flex;flex-direction:column;align-items:center;gap:10px;background:var(--bg-secondary);border:2px solid var(--bg-modifier);border-radius:12px;padding:14px 20px;min-width:160px}.dice-header{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted);width:100%}.dice-name{font-weight:600;color:var(--text-normal)}.dice-ts{margin-left:auto;font-size:11px}.dice-face{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;width:72px;height:72px;background:#fff;border-radius:12px;padding:8px;box-shadow:0 3px 10px #00000059,inset 0 1px #fffc;border:1px solid #ddd}.dice-dot{width:100%;aspect-ratio:1;border-radius:50%;background:transparent;transition:background .05s}.dice-dot-on{background:#1a1a2e}.dice-result{font-size:13px;font-weight:600;color:var(--text-normal)}.dice-rolling .dice-face{animation:dice-shake .07s infinite}.dice-landed .dice-face{animation:dice-pop .25s cubic-bezier(.34,1.56,.64,1)}@keyframes dice-shake{0%{transform:rotate(-4deg) scale(1.05)}50%{transform:rotate(4deg) scale(.97)}to{transform:rotate(-4deg) scale(1.05)}}@keyframes dice-pop{0%{transform:scale(.8)}60%{transform:scale(1.15)}to{transform:scale(1)}}.dc-embed-wrap{padding:2px 0}.dc-embed{display:flex;max-width:100%;background:var(--bg-secondary);border-radius:4px;overflow:hidden}.dc-embed-pill{width:4px;flex-shrink:0}.dc-embed-inner{padding:12px 16px 12px 12px;flex:1;min-width:0}.dc-embed-author{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.dc-embed-author-label{font-size:13px;font-weight:700;color:var(--header-primary)}.dc-embed-author-meta{font-size:12px;color:var(--text-muted)}.dc-embed-footer{margin-top:10px;border-top:1px solid var(--bg-modifier);padding-top:6px}.dc-embed-footer-ts{font-size:11px;color:var(--text-muted)}.countdown-display{display:flex;align-items:center;gap:2px;margin-bottom:4px}.dc-embed-done .dc-embed-author-label{color:var(--text-muted)}.countdown-unit{font-size:36px;font-weight:900;font-variant-numeric:tabular-nums;color:var(--header-primary);background:var(--bg-tertiary);padding:4px 10px;border-radius:6px;min-width:52px;text-align:center;display:inline-block}.countdown-sep{font-size:30px;font-weight:900;color:var(--text-muted);padding:0 2px}.server-icon-monitor{display:flex;align-items:center;justify-content:center;overflow:visible!important}.monitor-badge{position:absolute;top:-4px;right:-4px;background:var(--danger);color:#fff;border-radius:50%;width:16px;height:16px;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}.monitor-mark{color:var(--accent);font-size:18px;font-weight:900;line-height:1;margin-right:2px;vertical-align:super;font-style:normal}.monitor-panel{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg-secondary);overflow:hidden;position:relative;z-index:2}.monitor-panel-header{background:var(--bg-tertiary);padding:14px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.monitor-report-card{background:var(--bg-tertiary);border-radius:10px;padding:14px 16px;margin-bottom:10px;border:1px solid rgba(255,255,255,.06)}.help-btn{position:fixed;bottom:24px;right:24px;z-index:8000;background:var(--accent);color:#fff;border:none;border-radius:50%;width:44px;height:44px;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #5a9e4466;transition:transform .15s,box-shadow .15s}.help-btn:hover{transform:scale(1.1);box-shadow:0 6px 24px #5a9e4499}
