@import"https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap";:root{--color-primary: #5865f2;--color-primary-hover: #4752c4;--color-primary-light: #5865f2;--color-primary-soft: #5e81f4;--color-primary-dark: #3b45c7;--color-accent: #5865f2;--color-accent-alt: #4752c4;--color-accent-gradient: #4752c4;--color-accent-blue: #5865f2;--color-success: #23a559;--color-success-alt: #23a559;--color-success-bright: #23a559;--color-success-muted: #3ba55d;--color-success-dark: #2ecc71;--color-success-modern: #10b981;--color-spotify: #1db954;--color-danger: #f23f42;--color-danger-alt: #f23f42;--color-danger-bright: #f23f42;--color-danger-dark: #da373c;--color-danger-legacy: #e74c3c;--color-danger-material: #f44336;--color-danger-deep: #dc2626;--color-danger-ios: #f23f42;--color-warning: #f0b232;--color-warning-alt: #f0b232;--color-warning-bright: #fbbf24;--color-warning-amber: #f59e0b;--color-warning-gold: #ffd700;--color-warning-material: #ffc107;--color-warning-yellow: #facc15;--color-warning-sun: #eab308;--color-info: #3b82f6;--color-info-light: #00b0f4;--color-info-cyan: #22d3ee;--color-info-teal: #00bcd4;--color-info-classic: #3498db;--color-info-material: #2196f3;--color-info-sky: #00a8fc;--color-pink: #eb459e;--color-pink-modern: #ec4899;--color-pink-legacy: #5865f2;--color-neon-green: #00ff88;--color-orange: #e67e22;--color-success-material: #4caf50;--color-purple: #7c3aed;--color-link-bright: #58a6ff;--color-neon-cyan: #00d9ff;--color-white: #ffffff;--color-black: #000000;--color-coral: #ff4757;--color-coral-light: #ff6b6b;--color-mint: #66d49c;--color-emerald: #059669;--color-lime: #22c55e;--bg-deepest: #090c1a;--bg-deep: #0b0e1b;--bg-darkest: #0f1525;--bg-darker: #080b18;--bg-tertiary: #080b18;--bg-primary: #0b0e1b;--bg-primary-alt: #0b0e1b;--bg-secondary: #0e1222;--bg-secondary-alt: #0e1222;--bg-secondary-dark: #1e2844;--bg-navy: #060919;--bg-modifier: #0e1222;--bg-card: #121928;--bg-elevated: #121928;--bg-input: #182135;--bg-hover: #182135;--bg-input-alt: #182135;--bg-dark: #16203a;--bg-slate: #162240;--bg-void: #0d0e10;--bg-charcoal-deep: #111214;--bg-charcoal: #17191c;--bg-neutral-dark: #1e2024;--bg-neutral-800: #1f2937;--bg-neutral-700: #374151;--bg-neutral-600: #1e293b;--bg-modifier-hover: rgba(79, 84, 92, .16);--bg-modifier-active: rgba(79, 84, 92, .24);--bg-white-subtle: rgba(255, 255, 255, .03);--bg-white-faint: rgba(255, 255, 255, .05);--bg-white-thin: rgba(255, 255, 255, .08);--bg-white-light: rgba(255, 255, 255, .1);--bg-white-medium: rgba(255, 255, 255, .2);--bg-black-light: rgba(0, 0, 0, .2);--bg-black-medium: rgba(0, 0, 0, .3);--bg-black-heavy: rgba(0, 0, 0, .5);--bg-black-overlay: rgba(0, 0, 0, .85);--text-white: #ffffff;--text-primary: #dbdee1;--text-secondary: #b5bac1;--text-normal: #b5bac1;--text-normal-alt: #dbdee1;--text-interactive: #949ba4;--text-muted: #949ba4;--text-muted-alt: #949ba4;--text-faint: #6b7280;--text-faint-alt: #949ba4;--text-disabled: #4e5058;--text-subtle: #4e5058;--text-gray: #9ca3af;--text-light: #a0aec0;--text-light-bg: #f2f3f5;--text-light-alt: #dbdee1;--text-light-neutral: #e5e7eb;--text-link: #00b0f4;--text-slate: #64748b;--text-silver: #a0a0b0;--text-mist: #cbd5e0;--text-cloud: #8e9297;--text-snow: #f9fafb;--status-online: #23a559;--status-idle: #f0b232;--status-dnd: #f23f42;--status-offline: #80848e;--status-streaming: #6441a5;--border-default: rgba(255, 255, 255, .06);--border-subtle: rgba(255, 255, 255, .05);--border-light: rgba(255, 255, 255, .1);--border-medium: rgba(255, 255, 255, .15);--focus-primary: rgba(88, 101, 242, .3);--focus-accent: rgba(88, 101, 242, .3);--focus-accent-light: rgba(88, 101, 242, .2);--focus-accent-faint: rgba(88, 101, 242, .1);--focus-danger: rgba(239, 68, 68, .2);--space-0: 0px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-2xl: 24px;--space-3xl: 32px;--space-4xl: 40px;--space-5xl: 48px;--space-6xl: 64px;--radius-none: 0px;--radius-xs: 3px;--radius-sm: 4px;--radius-md: 6px;--radius-base: 8px;--radius-lg: 10px;--radius-xl: 12px;--radius-2xl: 16px;--radius-3xl: 20px;--radius-full: 50%;--radius-pill: 9999px;--font-2xs: 10px;--font-xs: 11px;--font-sm: 12px;--font-md: 13px;--font-base: 14px;--font-lg: 15px;--font-xl: 16px;--font-2xl: 18px;--font-3xl: 20px;--font-4xl: 24px;--font-5xl: 28px;--font-6xl: 32px;--font-title: 36px;--font-hero: 48px;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--font-sans: "gg sans", "Inter", "Noto Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "Fira Code", "Consolas", "Monaco", "Courier New", monospace;--leading-tight: 1.1;--leading-snug: 1.25;--leading-normal: 1.375;--leading-relaxed: 1.5;--leading-loose: 1.75;--shadow-none: none;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .1);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .1);--shadow-md: 0 4px 15px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-xl: 0 8px 32px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(88, 101, 242, .5);--shadow-glow-sm: 0 4px 15px rgba(88, 101, 242, .3);--shadow-glow-md: 0 6px 20px rgba(88, 101, 242, .4);--shadow-glow-lg: 0 8px 24px rgba(88, 101, 242, .3);--shadow-glow-primary: 0 4px 12px rgba(88, 101, 242, .4);--shadow-focus: 0 0 0 3px rgba(88, 101, 242, .2);--shadow-focus-thin: 0 0 0 3px rgba(88, 101, 242, .1);--shadow-modal: 0 0 0 1px rgba(32, 34, 37, .6), 0 2px 10px 0 rgba(0, 0, 0, .2);--shadow-elevated: 0 8px 24px rgba(0, 0, 0, .4);--transition-fast: all .15s ease;--transition-normal: all .2s ease;--transition-slow: all .3s ease;--transition-slower: all .5s ease;--transition-bg-fast: background-color .2s ease;--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s;--duration-slower: .5s;--z-base: 1;--z-above: 10;--z-dropdown: 100;--z-sticky: 500;--z-overlay: 999;--z-modal: 1000;--z-modal-overlay: 999;--z-popover: 1100;--z-toast: 2000;--z-tooltip: 9999;--z-topmost: 10000;--z-legacy: 999999;--bp-xs: 320px;--bp-sm: 480px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1280px;--bp-xxl: 1440px;--sidebar-width: 312px;--server-list-width: 72px;--member-list-width: 240px;--header-height: 48px;--input-min-height: 44px;--max-content-width: 1200px;--avatar-sm: 24px;--avatar-md: 32px;--avatar-lg: 40px;--avatar-xl: 80px;--avatar-xxl: 128px;--backdrop-blur: blur(4px);--backdrop-blur-lg: blur(20px);--bg-gradient-subtle: radial-gradient(circle at 50% 10%, rgba(88, 101, 242, .05) 0%, transparent 40%)}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}*:focus:not(:focus-visible){outline:none}.skip-nav{position:fixed;top:-48px;left:var(--space-lg);z-index:var(--z-topmost);padding:var(--space-sm) var(--space-lg);background:var(--color-primary);color:var(--text-white);border-radius:0 0 var(--radius-base) var(--radius-base);font-weight:var(--weight-semibold);font-size:var(--font-base);text-decoration:none;transition:top .2s ease}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-white{color:var(--text-white, var(--color-white))}.text-link{color:var(--text-link)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.bg-primary{background:var(--bg-primary)}.bg-secondary{background:var(--bg-secondary)}.bg-tertiary{background:var(--bg-tertiary)}.bg-elevated{background:var(--bg-elevated)}.bg-card{background:var(--bg-card)}.bg-input{background:var(--bg-input)}.text-xs{font-size:var(--font-xs)}.text-sm{font-size:var(--font-sm)}.text-base{font-size:var(--font-base)}.text-lg{font-size:var(--font-lg)}.text-xl{font-size:var(--font-xl)}.text-2xl{font-size:var(--font-2xl)}.text-3xl{font-size:var(--font-3xl)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:768px){*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}button,a,input,select,textarea{min-height:44px;min-width:44px}body{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}}@media(max-width:768px){.app-container{flex-direction:column!important}.server-list{width:100%!important;height:60px!important;flex-direction:row!important;overflow-x:auto!important;overflow-y:hidden!important;padding:8px 4px!important}.server-icon{width:48px!important;height:48px!important;margin:0 4px!important}.sidebar{position:fixed!important;bottom:0!important;left:0!important;right:0!important;width:100%!important;height:auto!important;flex-direction:row!important;z-index:1000!important;border-top:1px solid rgba(255,255,255,.1)!important;border-right:none!important}.chat-container{width:100%!important;height:calc(100vh - 116px)!important;max-width:100%!important}}@media(max-width:768px){.message-input-container{position:sticky!important;bottom:0!important;background:var(--bg-tertiary)!important;padding:8px!important;border-top:1px solid rgba(255,255,255,.1)!important}.message-input{font-size:16px!important;min-height:44px!important;padding:12px 16px!important}.message-input textarea{flex:1!important;min-width:0!important;font-size:14px!important;padding:8px 10px!important}.message-actions button{width:44px!important;height:44px!important;font-size:20px!important}.emoji-picker{position:fixed!important;bottom:56px!important;left:0!important;right:0!important;width:100%!important;max-height:50vh!important;border-radius:16px 16px 0 0!important}}@media(max-width:768px){.modal-overlay{align-items:flex-end!important}.modal-content{width:100%!important;max-width:100%!important;height:90vh!important;max-height:90vh!important;border-radius:16px 16px 0 0!important;margin:0!important;animation:slideUpMobile .3s ease!important}@keyframes slideUpMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}.context-menu{position:fixed!important;inset:auto 0 0!important;width:100%!important;border-radius:16px 16px 0 0!important;max-height:60vh!important;overflow-y:auto!important}}@media(min-width:769px)and (max-width:1024px){.sidebar{width:240px!important;transition:width .3s ease!important}.sidebar.collapsed{width:72px!important}}@media(prefers-contrast:more){:root{--border-color: var(--color-white) !important;--text-color: var(--color-white) !important;--bg-primary: #000000 !important}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:896px)and (orientation:landscape){.sidebar{display:none!important}.chat-container{height:100vh!important}}@supports (padding: max(0px)){.sidebar{padding-bottom:max(0px,env(safe-area-inset-bottom))!important}}@media(max-width:768px){.jsm-modal,[class*=Modal]>div[style*=borderRadius]{width:100vw!important;max-width:100vw!important;max-height:100vh!important;border-radius:0!important;margin:0!important}.jsm-invite-form{flex-direction:column!important}.jsm-server-row{flex-direction:column!important;align-items:flex-start!important;gap:8px!important}}@media(min-width:769px)and (max-width:1024px){.jsm-modal{width:90vw!important;max-width:600px!important}}@font-face{font-family:gg sans;src:local("Noto Sans"),local("NotoSans");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:gg sans;src:local("Noto Sans Medium"),local("NotoSans-Medium");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:gg sans;src:local("Noto Sans SemiBold"),local("NotoSans-SemiBold");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:gg sans;src:local("Noto Sans Bold"),local("NotoSans-Bold");font-weight:700;font-style:normal;font-display:swap}:root{--brand-primary: var(--color-primary);--brand-secondary: var(--color-primary-hover);--brand-accent: var(--color-primary);--gradient-primary: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-hover) 100%);--gradient-secondary: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-success: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--gradient-warning: linear-gradient(135deg, #fa709a 0%, #fee140 100%);--gradient-danger: linear-gradient(135deg, #f857a6 0%, #ff5858 100%);--bg-app: #0e1222;--bg-hover: rgba(88, 101, 242, .12);--bg-active: rgba(88, 101, 242, .22);--glass-bg: rgba(255, 255, 255, .03);--glass-bg-hover: rgba(255, 255, 255, .06);--glass-border: rgba(255, 255, 255, .08);--glass-border-hover: rgba(255, 255, 255, .15);--text-tertiary: #b8b9c7;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .1);--shadow-md: 0 4px 16px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .2);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .25);--shadow-2xl: 0 24px 64px rgba(0, 0, 0, .3);--glow-primary: 0 0 20px rgba(88, 101, 242, .3);--glow-secondary: 0 0 20px rgba(71, 82, 196, .3);--glow-purple: 0 0 20px rgba(88, 101, 242, .3);--glow-blue: 0 0 20px rgba(59, 130, 246, .3);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-full: 9999px;--transition-fast: all .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: all .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: all .4s cubic-bezier(.4, 0, .2, 1);--dc-header-primary: var(--text-light-bg);--dc-text-normal: var(--text-primary);--dc-background-primary: var(--bg-elevated);--dc-background-secondary: var(--bg-secondary);--dc-background-tertiary: #1a2440;--dc-background-accent: var(--bg-primary);--dc-interactive-normal: var(--text-secondary);--dc-interactive-hover: var(--text-primary);--dc-interactive-active: var(--color-white);--dc-blurple: var(--color-primary);--dc-green: var(--color-success);--dc-red: var(--color-danger-dark);--dc-yellow: var(--color-warning)}.chat-msg:hover{background-color:#04040512!important}@keyframes msgSlideIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chat-msg{animation:msgSlideIn .15s ease-out}button:active:not(:disabled){transform:scale(.96);transition:transform .08s ease!important}[role=dialog],.modal-overlay,.modal-backdrop{animation:modalFadeIn .18s ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.97) translateY(-6px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton-shimmer{background:linear-gradient(90deg,#2e3035 25%,#3a3d44,#2e3035 75%);background-size:800px 100%;animation:shimmer 1.4s infinite linear;border-radius:4px}.action-button:hover svg,.action-button:hover{transform:scale(1.12);transition:transform .12s ease}html,body,#root{height:100dvh;margin:0;padding:0;overflow:hidden;scroll-behavior:smooth;box-sizing:border-box;background:var(--bg-app)}body:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse at top left,rgba(88,101,242,.06),transparent 50%),radial-gradient(ellipse at bottom right,rgba(71,82,196,.04),transparent 50%);pointer-events:none;z-index:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-family:gg sans,Noto Sans,sans-serif;font-weight:600;font-size:14px;border-radius:var(--radius-md);border:none;cursor:pointer;transition:var(--transition-normal);position:relative;overflow:hidden}input[type=text],input[type=email],input[type=password],textarea,select{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);padding:12px 16px;font-family:gg sans,Noto Sans,sans-serif;font-size:14px;transition:var(--transition-fast)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px #5865f21a;background:var(--glass-bg-hover)}body{margin:0;font-family:gg sans,Noto Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;background-color:var(--bg-primary);font-size:16px;line-height:1.375;overscroll-behavior:none;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}:root{color-scheme:dark;--background-primary: var(--bg-charcoal);--background-secondary: var(--bg-charcoal-deep);--background-tertiary: var(--bg-void);--background-accent: #404249;--background-modifier-hover: rgba(79, 84, 92, .3);--background-modifier-active: rgba(79, 84, 92, .5);--background-mentioned: rgba(88, 101, 242, .1);--text-secondary: var(--text-muted);--text-muted: #787f89;--text-link: var(--color-info-sky);--text-positive: var(--color-success);--text-warning: var(--color-warning);--text-danger: var(--color-danger-dark);--input-background: var(--bg-input);--input-border: var(--bg-void);--button-primary: var(--color-primary);--button-secondary: var(--text-disabled);--button-danger: var(--color-danger-dark);--border-primary: #1f2023;--border-mentioned: var(--color-primary);--scrollbar-thumb: #1e2a42;--scrollbar-track: var(--bg-secondary)}select option{background-color:var(--bg-secondary, var(--bg-secondary));color:var(--text-normal, var(--text-primary))}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background-color:transparent}::-webkit-scrollbar-thumb{background-color:#1a1b1e99;border-radius:10px}::-webkit-scrollbar-thumb:hover{background-color:#111214cc}@media(max-width:768px){html,body{overflow-x:hidden;max-width:100vw}button,a,[role=button],input[type=checkbox],input[type=radio]{min-width:44px;min-height:44px;padding:12px}body{font-size:16px}input,textarea,select{font-size:16px!important}*{-webkit-tap-highlight-color:rgba(88,101,242,.2);touch-action:manipulation}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}}button,a,input,[role=button]{transition:all .2s ease-in-out}button:active{transform:scale(.96)}.messageContent code{background-color:var(--bg-secondary, var(--bg-secondary));padding:.2em .4em;border-radius:var(--radius-sm, 4px);font-family:var(--font-mono, "Consolas", "Andale Mono", "Monaco", "Courier New", monospace);font-size:.875em;color:#e3e5e8;border:1px solid var(--border-default, rgba(255, 255, 255, .06))}.messageContent pre{background-color:var(--bg-secondary, var(--bg-secondary));padding:var(--space-md, 12px);border-radius:var(--radius-base, 8px);border:1px solid var(--border-default, rgba(255, 255, 255, .06));margin:6px 0;max-width:90%;overflow-x:auto}.messageContent pre code{background:none;border:none;padding:0;font-size:.875rem;line-height:1.125rem}.messageContent blockquote{border-left:4px solid var(--color-primary, var(--color-primary));padding-left:var(--space-md, 12px);margin:var(--space-xs, 4px) 0;color:var(--text-secondary)}.messageContent a{color:var(--color-info-sky);text-decoration:none}.messageContent a:hover{text-decoration:underline}.messageContent strong{font-weight:700;color:var(--color-white)}.messageContent em{font-style:italic}.messageContent ul,.messageContent ol{margin:4px 0;padding-left:24px}.messageContent li{margin:2px 0}.typing-indicator{display:flex;align-items:center;gap:4px;padding:5px 10px;font-size:.8em;color:var(--text-secondary);font-weight:700;height:20px}#portal-root{position:fixed!important;inset:0!important;pointer-events:none!important;z-index:2147483647!important;overflow:visible!important}#portal-root>*{pointer-events:auto!important;position:fixed!important}#portal-root>div[style*="background: transparent"]{z-index:2147483646!important;pointer-events:auto!important;position:fixed!important;inset:0!important}#portal-root [role=menu],#portal-root div[role=menu],#portal-root>div>div[role=menu]{z-index:2147483647!important;pointer-events:auto!important;position:fixed!important;overflow:visible!important}#portal-root [role=menuitem],#portal-root [role=menuitem] *{pointer-events:auto!important;cursor:pointer!important}[class*=floating],[class*=FloatingVoiceIsland]{z-index:9998!important}[class*=sidebar]{z-index:100!important}[class*=modal],[role=dialog]{z-index:1000!important}[class*=VoiceChat],[class*=voicePanel]{z-index:9999!important}.skip-nav{position:fixed;top:-48px;left:var(--space-sm, 8px);z-index:99999;padding:var(--space-sm, 8px) var(--space-lg, 16px);background:var(--color-primary, #5865f2);color:#fff;border-radius:var(--radius-sm, 4px);font-size:var(--font-base, 14px);font-weight:var(--weight-semibold, 600);text-decoration:none;transition:top .15s ease}.skip-nav:focus{top:8px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(forced-colors:active){button{forced-color-adjust:auto}.chat-msg:hover{border:1px solid Highlight}.status-online{box-shadow:none!important}}.status-online{position:relative}.status-online:after{content:"";position:absolute;inset:0;border-radius:50%;background:inherit;animation:statusRipple 2.5s ease-out infinite}@keyframes statusRipple{0%{transform:scale(1);opacity:.6}70%{transform:scale(2.2);opacity:0}to{transform:scale(2.2);opacity:0}}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);background:var(--bg-secondary);color:var(--text-primary);font-size:12px;font-weight:500;font-family:gg sans,Noto Sans,sans-serif;white-space:nowrap;padding:6px 10px;border-radius:4px;box-shadow:0 4px 12px #00000080;pointer-events:none;opacity:0;transition:opacity .15s ease,transform .15s ease;transition-delay:0s;z-index:9999}[data-tooltip]:hover:after{opacity:1;transform:translate(-50%) translateY(0);transition-delay:.2s}.server-icon-initials{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary) 100%);color:var(--color-white);font-size:16px;font-weight:700;font-family:gg sans,Noto Sans,sans-serif;letter-spacing:.5px;transition:border-radius .2s ease,background .2s ease;cursor:pointer;user-select:none;flex-shrink:0}.server-icon-initials:hover{border-radius:30%;background:linear-gradient(135deg,var(--color-primary-hover) 0%,var(--color-primary) 100%)}.server-icon-initials.active{border-radius:30%}@keyframes lockBounce{0%{transform:scale(.5) rotate(-20deg);opacity:0}50%{transform:scale(1.25) rotate(6deg);opacity:1}70%{transform:scale(.9) rotate(-3deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.voice-locked-enter{animation:lockBounce .35s cubic-bezier(.175,.885,.32,1.275) forwards}@keyframes pullSpinner{to{transform:rotate(360deg)}}.pull-refresh-indicator{display:flex;align-items:center;justify-content:center;gap:var(--space-sm, 8px);color:var(--color-primary, var(--color-primary));font-size:var(--font-md, 13px);font-weight:var(--weight-medium, 500);padding:10px 0;font-family:var(--font-sans, "gg sans", "Noto Sans", sans-serif);transition:opacity .2s ease}.pull-refresh-indicator .spinner{width:16px;height:16px;border:2px solid rgba(88,101,242,.25);border-top-color:var(--color-primary, var(--color-primary));border-radius:50%;animation:pullSpinner .7s linear infinite}[data-theme=light]{--dc-background-primary: var(--color-white);--dc-background-secondary: var(--text-light-bg);--dc-background-secondary-alt: #eaecef;--dc-background-tertiary: #e3e5e8;--dc-background-accent: #dde1e7;--dc-background-floating: var(--color-white);--dc-background-modifier-hover: rgba(0, 0, 0, .06);--dc-background-modifier-active: rgba(0, 0, 0, .1);--dc-background-modifier-selected: rgba(0, 0, 0, .1);--dc-text-normal: #2e3338;--dc-text-muted: #5c5e66;--dc-text-link: #006ce7;--dc-header-primary: #060607;--dc-header-secondary: var(--text-disabled);--dc-interactive-normal: var(--text-disabled);--dc-interactive-hover: #2e3338;--dc-interactive-active: #060607;--dc-interactive-muted: #c3c4cb;--dc-divider: rgba(0, 0, 0, .08);--dc-channeltextarea-background: #eaecef;--dc-brand: var(--color-primary);--dc-shadow-elevation-low: 0 1px 0 rgba(0, 0, 0, .08);--dc-shadow-elevation-medium: 0 4px 8px rgba(0, 0, 0, .12);--dc-shadow-elevation-high: 0 8px 24px rgba(0, 0, 0, .16);--dc-status-positive: #248046;--dc-status-warning: var(--color-orange);--dc-status-danger: var(--color-danger-dark)}[data-theme=light] .app-container,[data-theme=light] body{background:var(--dc-background-primary);color:var(--dc-text-normal)}[data-theme=amoled]{--dc-background-primary: #000000;--dc-background-secondary: #0a0a0a;--dc-background-secondary-alt: #111111;--dc-background-tertiary: #161616;--dc-background-accent: #1a1a1a;--dc-background-floating: #0d0d0d;--dc-background-modifier-hover: rgba(255, 255, 255, .04);--dc-background-modifier-active: rgba(255, 255, 255, .08);--dc-background-modifier-selected: rgba(255, 255, 255, .1);--dc-text-normal: #e3e5e8;--dc-text-muted: var(--text-muted);--dc-text-link: var(--text-link);--dc-header-primary: var(--text-light-bg);--dc-header-secondary: var(--text-secondary);--dc-interactive-normal: var(--text-secondary);--dc-interactive-hover: var(--text-primary);--dc-interactive-active: var(--color-white);--dc-interactive-muted: var(--text-disabled);--dc-divider: rgba(255, 255, 255, .06);--dc-channeltextarea-background: #111111;--dc-brand: var(--color-primary);--dc-shadow-elevation-low: 0 1px 0 rgba(0, 0, 0, .8);--dc-shadow-elevation-medium: 0 4px 8px rgba(0, 0, 0, .9);--dc-shadow-elevation-high: 0 8px 24px rgba(0, 0, 0, .95);--dc-status-positive: #23a55a;--dc-status-warning: #f0b132;--dc-status-danger: #f23f43}[data-theme=amoled] .app-container,[data-theme=amoled] body{background:var(--dc-background-primary)}.login-container{width:100%;height:100dvh;display:flex;justify-content:center;align-items:center;background:#0b0d10;position:relative;overflow:hidden;padding:0}.background-animate{position:absolute;inset:0;background:radial-gradient(ellipse at 15% 20%,rgba(88,101,242,.18) 0%,transparent 52%),radial-gradient(ellipse at 85% 80%,rgba(124,58,237,.11) 0%,transparent 48%),radial-gradient(ellipse at 50% 105%,rgba(35,165,89,.06) 0%,transparent 45%);pointer-events:none;z-index:0}.background-animate:before{content:"";position:absolute;width:480px;height:480px;top:-120px;left:-100px;background:radial-gradient(circle,rgba(88,101,242,.09) 0%,transparent 70%);border-radius:50%;animation:orbDrift 12s ease-in-out infinite}.background-animate:after{content:"";position:absolute;width:360px;height:360px;bottom:-80px;right:-80px;background:radial-gradient(circle,rgba(124,58,237,.07) 0%,transparent 70%);border-radius:50%;animation:orbDrift 16s ease-in-out infinite reverse}@keyframes orbDrift{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-20px) scale(1.06)}66%{transform:translate(-20px,30px) scale(.95)}}.login-card{position:relative;z-index:1;background:#1e1f23e0;backdrop-filter:blur(48px) saturate(180%);-webkit-backdrop-filter:blur(48px) saturate(180%);padding:48px 44px 40px;border-radius:22px;width:100%;max-width:428px;border:1px solid rgba(255,255,255,.07);box-shadow:0 0 0 1px #5865f214,0 32px 80px #000000a6,inset 0 1px #ffffff0f,inset 0 -1px #00000026;animation:cardReveal .55s cubic-bezier(.22,1,.36,1) both}@keyframes cardReveal{0%{opacity:0;transform:translateY(28px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.logo-header{text-align:center;margin-bottom:30px}.logo-circle{width:78px;height:78px;background:linear-gradient(145deg,var(--color-primary) 0%,#4049c0 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;box-shadow:0 0 0 8px #5865f21a,0 6px 28px #5865f280;transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s ease}.logo-circle:hover{transform:scale(1.07) rotate(-6deg);box-shadow:0 0 0 10px #5865f224,0 10px 40px #5865f2a6}.logo-header h1{margin:0 0 6px;font-size:26px;font-weight:800;letter-spacing:.3px;background:linear-gradient(135deg,var(--color-white) 20%,#b8b9c7 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo-header p{margin:0;color:var(--text-faint);font-size:14px;font-weight:400}.error-message{background:#da373c1a;border:1px solid rgba(218,55,60,.28);border-radius:11px;padding:12px 16px;color:#f87171;font-size:13.5px;margin-bottom:18px;text-align:center;line-height:1.45;animation:shakeIn .3s ease}@keyframes shakeIn{0%{transform:translate(-6px)}25%{transform:translate(5px)}50%{transform:translate(-3px)}75%{transform:translate(2px)}to{transform:translate(0)}}.input-group{position:relative;margin-bottom:13px}.input-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--color-primary);opacity:.75;z-index:2;font-size:14px;pointer-events:none;transition:opacity .2s ease}.input-group:focus-within .input-icon{opacity:1}.input-group input{width:100%;padding:13px 16px 13px 46px;background:#ffffff0a;border:1.5px solid rgba(255,255,255,.07);border-radius:13px;color:var(--text-light-bg);font-size:15px;font-family:inherit;outline:none;transition:all .22s cubic-bezier(.4,0,.2,1);box-sizing:border-box}.input-group input:hover{border-color:#ffffff21;background:#ffffff0d}.input-group input:focus{border-color:#5865f2a6;background:#5865f20d;box-shadow:0 0 0 3.5px #5865f221;color:var(--color-white)}.input-group input::placeholder{color:#3e4147}.submit-btn{width:100%;padding:14px;background:linear-gradient(135deg,var(--color-primary) 0%,#4549c4 100%);color:var(--color-white);border:none;border-radius:13px;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;margin-top:10px;letter-spacing:.25px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;position:relative;overflow:hidden;box-shadow:0 4px 0 var(--color-primary-dark),0 8px 24px #5865f261}.submit-btn:after{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);transform:skew(-20deg);transition:left .55s ease}.submit-btn:hover:not(:disabled):after{left:160%}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 32px #5865f285;background:linear-gradient(135deg,#6470f5 0%,var(--color-primary) 100%)}.submit-btn:active:not(:disabled){transform:translateY(0) scale(.99);box-shadow:0 2px 10px #5865f24d}.submit-btn:disabled{opacity:.55;cursor:not-allowed}.divider{display:flex;align-items:center;gap:10px;margin:22px 0 6px;color:#3a3d44;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#ffffff0f}.divider span{padding:0 4px}.google-btn-wrapper{display:flex;justify-content:center;margin-top:12px;width:100%;transform:none;background:transparent;box-shadow:none;overflow:visible;border-radius:0}.google-btn-wrapper>button{border-radius:13px!important;width:100%!important;padding:12px 16px!important;font-size:14.5px!important;border:1.5px solid rgba(255,255,255,.08)!important;background:#ffffff0a!important;color:var(--text-primary)!important;box-shadow:none!important;transition:all .2s ease!important}.google-btn-wrapper>button:hover{background:#ffffff14!important;border-color:#ffffff26!important;box-shadow:0 4px 14px #00000040!important;transform:translateY(-1px)!important}.toggle-mode{margin-top:22px;font-size:13.5px;color:var(--text-disabled);text-align:center}.toggle-mode span{color:var(--color-primary);font-weight:700;cursor:pointer;transition:color .15s ease}.toggle-mode span:hover{color:#7289ff;text-decoration:underline}.spinner-white{display:inline-block;width:20px;height:20px;border:2.5px solid rgba(255,255,255,.22);border-top-color:var(--color-white);border-radius:50%;animation:spinW .72s linear infinite;margin:0 auto}@keyframes spinW{to{transform:rotate(360deg)}}.slide-down{animation:slideDown .3s cubic-bezier(.22,1,.36,1) both}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px);max-height:0}to{opacity:1;transform:translateY(0);max-height:80px}}.login-card a[href*=forgot]{display:inline-block;color:var(--color-primary)!important;font-size:13px;font-weight:500;text-decoration:none;transition:color .15s ease,opacity .15s ease;margin-top:4px}.login-card a[href*=forgot]:hover{color:#7289ff!important;text-decoration:underline}@media(max-width:480px){.login-card{padding:36px 22px 32px;margin:12px;max-width:calc(100% - 24px);border-radius:18px}.logo-header h1{font-size:22px}.logo-circle{width:68px;height:68px}}:root{--brand-primary: var(--color-primary);--brand-secondary: var(--color-primary-hover);--brand-accent: var(--color-primary);--gradient-primary: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-hover) 100%);--gradient-secondary: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-success: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--gradient-warning: linear-gradient(135deg, #fa709a 0%, #fee140 100%);--gradient-danger: linear-gradient(135deg, #f857a6 0%, #ff5858 100%);--gradient-dark: linear-gradient(135deg, #080b18 0%, var(--bg-secondary) 90%);--bg-app: #0e1222;--bg-tertiary: #080b18;--bg-elevated: var(--bg-input);--bg-hover: rgba(88, 101, 242, .12);--bg-active: rgba(88, 101, 242, .22);--glass-bg: rgba(255, 255, 255, .03);--glass-bg-hover: rgba(255, 255, 255, .06);--glass-border: rgba(255, 255, 255, .08);--glass-border-hover: rgba(255, 255, 255, .15);--text-tertiary: #b8b9c7;--text-disabled: #4a4b58;--success: var(--color-success-modern);--warning: var(--color-warning-amber);--error: var(--color-danger);--info: var(--color-info);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .1);--shadow-md: 0 4px 16px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .2);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .25);--shadow-2xl: 0 24px 64px rgba(0, 0, 0, .3);--glow-purple: 0 0 20px rgba(88, 101, 242, .3);--glow-blue: 0 0 20px rgba(59, 130, 246, .3);--glow-pink: 0 0 20px rgba(236, 72, 153, .3);--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-full: 9999px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--space-3xl: 48px;--transition-fast: all .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: all .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: all .4s cubic-bezier(.4, 0, .2, 1);--transition-bounce: all .5s cubic-bezier(.68, -.55, .27, 1.55);--z-dropdown: 1000;--z-sticky: 1020;--z-modal-backdrop: 1040;--z-modal: 1050;--z-tooltip: 1070;--z-notification: 1080}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:12px 24px;font-family:Inter,sans-serif;font-weight:600;font-size:14px;line-height:1.5;border-radius:var(--radius-md);border:none;cursor:pointer;transition:var(--transition-normal);position:relative;overflow:hidden;white-space:nowrap}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn:hover:before{left:100%}.btn:active{transform:scale(.98)}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 14px #5865f24d}.btn-primary:hover{box-shadow:0 6px 20px #5865f266;transform:translateY(-1px)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--glass-border)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--glass-border-hover)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-icon{padding:10px;border-radius:var(--radius-full)}.btn-sm{padding:8px 16px;font-size:13px}.btn-lg{padding:14px 28px;font-size:16px}.input{width:100%;padding:12px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);font-family:Inter,sans-serif;font-size:14px;transition:var(--transition-fast)}.input:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px #5865f21a;background:var(--glass-bg-hover)}.input::placeholder{color:var(--text-muted)}.card{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-xl);border:1px solid var(--glass-border);transition:var(--transition-normal)}.card-header{margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--glass-border)}.card-description{font-size:14px;color:var(--text-tertiary);margin-top:var(--space-xs)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:var(--glow-purple)}50%{box-shadow:var(--glow-blue)}}.fade-in{animation:fadeIn .4s ease-out}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.glow{animation:glow 3s ease-in-out infinite}.text-gradient{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-secondary{background:var(--gradient-secondary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.spinner{width:40px;height:40px;border:3px solid var(--glass-border);border-top-color:var(--brand-primary);border-radius:50%;animation:spin .8s linear infinite}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 0%,var(--bg-elevated) 50%,var(--bg-tertiary) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@media(max-width:768px){:root{--space-xl: 20px;--space-2xl: 28px;--space-3xl: 40px}.btn{padding:10px 20px;font-size:14px}.btn-lg{padding:12px 24px;font-size:15px}.card{padding:var(--space-lg);border-radius:var(--radius-md)}}::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:10px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--brand-primary),var(--brand-secondary));border-radius:10px;transition:var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--brand-accent),var(--brand-primary))}*{scrollbar-width:thin;scrollbar-color:var(--brand-primary) var(--bg-secondary)}:root{--blurple: var(--color-primary);--blurple-hover: var(--color-primary-hover);--blurple-glow: rgba(88, 101, 242, .25);--primary-gradient: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-hover) 100%);--secondary-gradient: linear-gradient(135deg, var(--color-pink) 0%, #c2375a 100%);--success-gradient: linear-gradient(135deg, var(--color-success) 0%, #1a7d42 100%);--bg-primary: var(--bg-charcoal);--bg-secondary: var(--bg-charcoal-deep);--bg-tertiary: var(--bg-void);--bg-elevated: var(--bg-neutral-dark);--bg-floating: #090a0b;--glass-bg: rgba(17, 18, 20, .94);--glass-bg-hover: rgba(30, 32, 36, .96);--glass-border: rgba(255, 255, 255, .055);--glass-border-hover: rgba(255, 255, 255, .11);--glass-shadow: rgba(0, 0, 0, .3);--text-brand: var(--color-primary);--accent-blurple: var(--color-primary);--accent-green: var(--color-success);--accent-yellow: var(--color-warning);--accent-red: var(--color-danger);--accent-pink: var(--color-pink);--accent-purple: var(--color-primary);--shadow-sm: 0 1px 4px rgba(0, 0, 0, .25);--shadow-md: 0 4px 12px rgba(0, 0, 0, .35);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .45);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .55);--shadow-2xl: 0 24px 64px rgba(0, 0, 0, .65);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--transition-fast: all .15s ease;--transition-normal: all .2s ease;--transition-slow: all .35s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:gg sans,Noto Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-primary);overflow-x:hidden;font-size:16px;line-height:1.375}.App{min-height:100vh;background:var(--bg-primary);position:relative;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.App:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse at 60% 0%,rgba(88,101,242,.045) 0%,transparent 60%),radial-gradient(ellipse at 0% 100%,rgba(124,58,237,.03) 0%,transparent 50%);pointer-events:none;z-index:0}.btn-primary{background:var(--blurple);color:#fff;border:none;padding:10px 20px;border-radius:var(--radius-sm);font-weight:500;font-size:14px;cursor:pointer;transition:var(--transition-fast);box-shadow:0 2px 8px #5865f24d;position:relative;overflow:hidden}.btn-primary:hover{background:var(--blurple-hover);box-shadow:0 4px 12px #5865f266;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0);box-shadow:0 1px 4px #5865f24d}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#18191c99;border-radius:4px;border:2px solid var(--bg-secondary)}::-webkit-scrollbar-thumb:hover{background:#18191ce6}@media(max-width:768px){.App{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.btn-primary{padding:14px 20px;font-size:16px;width:100%}}@media(hover:none)and (pointer:coarse){button,a,input,select,textarea{min-height:44px;min-width:44px}}.chat-container{background:var(--bg-primary);border-left:1px solid rgba(255,255,255,.045)}.message-content{color:var(--text-primary);font-size:15px;line-height:1.5;word-wrap:break-word}.message-author{font-weight:600;color:var(--color-white);margin-bottom:2px;display:flex;align-items:center;gap:8px;font-size:15px}.chat-input{background:#ffffff0d;border:1px solid rgba(255,255,255,.07);border-radius:var(--radius-md);padding:11px 16px;color:var(--text-primary);font-size:15px;width:100%;transition:var(--transition-fast);font-family:inherit}.chat-input:focus{outline:none;border-color:#5865f273;background:#ffffff0f;box-shadow:0 0 0 2px #5865f21f}.chat-input::placeholder{color:var(--text-muted)}.sidebar{background:linear-gradient(180deg,#0f1012,var(--bg-charcoal-deep));border-right:1px solid rgba(255,255,255,.05)}.sidebar-header{padding:16px;border-bottom:1px solid rgba(255,255,255,.05);font-weight:600;font-size:15px;color:var(--text-primary);background:#ffffff06}.modal-overlay{background:#000c;backdrop-filter:blur(4px)}.modal-content{background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);animation:modalSlideIn .18s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.96) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{padding:20px 24px 16px;border-bottom:1px solid var(--glass-border)}.user-avatar{width:40px;height:40px;border-radius:50%;box-shadow:0 2px 8px #0000004d;transition:var(--transition-fast)}.user-avatar:hover{transform:scale(1.08);box-shadow:0 0 16px #5865f280}.skeleton{background:linear-gradient(90deg,var(--bg-elevated) 0%,rgba(255,255,255,.05) 50%,var(--bg-elevated) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.08);border-top-color:var(--blurple);border-radius:50%;animation:spin .7s linear infinite}.text-gradient{background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-purple{background:linear-gradient(135deg,var(--color-primary),var(--color-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.fade-in{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.pulse{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.spinner-sm{width:20px;height:20px;border:2px solid rgba(255,255,255,.1);border-top-color:var(--blurple);border-radius:50%;animation:spin .7s linear infinite}.float{animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--bg-void) 0%,var(--bg-charcoal-deep) 100%);padding:20px}.error-boundary.critical{background:linear-gradient(135deg,#2d1414,#3d1f1f)}.error-content{text-align:center;max-width:600px;background:var(--bg-elevated);padding:40px;border-radius:12px;box-shadow:0 8px 24px #0006}.error-icon{font-size:80px;margin-bottom:20px;animation:bounce 1s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.error-boundary h1{color:var(--color-danger);font-size:28px;margin-bottom:16px}.error-message{color:var(--text-secondary);font-size:16px;line-height:1.6;margin-bottom:24px}.error-details{background:var(--bg-primary);padding:16px;border-radius:8px;margin:20px 0;text-align:left}.error-details summary{cursor:pointer;color:var(--color-info-sky);font-weight:600;margin-bottom:12px}.error-stack{color:var(--text-primary);font-size:13px}.error-stack pre{background:#0d0d0e;padding:12px;border-radius:4px;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word;margin-top:8px;font-family:Consolas,Monaco,monospace}.error-actions{display:flex;gap:12px;justify-content:center;margin-top:24px}.error-actions button{padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-retry{background:var(--color-primary);color:#fff}.btn-retry:hover{background:var(--color-primary-hover);transform:translateY(-2px)}.btn-home{background:var(--text-disabled);color:#fff}.btn-home:hover{background:#6d6f78;transform:translateY(-2px)}.btn-reload{background:var(--color-danger);color:#fff;padding:12px 32px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.btn-reload:hover{background:#d83437;transform:scale(1.05)}.splash-screen{position:fixed;top:0;left:0;width:100%;height:100dvh;background:#0b0d10;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:9999;opacity:1;overflow:hidden;transition:opacity .45s ease-out,visibility 0s .45s}.splash-screen:before{content:"";position:absolute;top:-20%;left:50%;transform:translate(-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(88,101,242,.1) 0%,transparent 65%);pointer-events:none;border-radius:50%}.splash-screen.finished{opacity:0;pointer-events:none;visibility:hidden}.particles,.rings-container,.logo-glow{display:none}.logo-container{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;gap:20px}.splash-logo{width:100px;height:100px;opacity:0;animation:splashLogoIn .65s cubic-bezier(.34,1.4,.64,1) .2s forwards;filter:drop-shadow(0 4px 20px rgba(88,101,242,.45)) drop-shadow(0 1px 4px rgba(0,0,0,.6))}@keyframes splashLogoIn{0%{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}.brand-text{display:flex;gap:1px;opacity:0;animation:splashTextIn .5s ease-out .6s forwards}@keyframes splashTextIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.letter{font-family:gg sans,Noto Sans,-apple-system,sans-serif;font-size:26px;font-weight:800;background:linear-gradient(135deg,var(--text-light-bg) 0%,#d1d5f0 50%,var(--text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:1.5px;animation:none!important;opacity:1;transform:none;filter:drop-shadow(0 2px 12px rgba(88,101,242,.25))}.loading-bar{position:absolute;bottom:48px;left:calc(50% - 100px);width:200px;height:3px;background:#ffffff14;border-radius:2px;overflow:hidden;opacity:0;animation:splashBarIn .4s ease-out .75s forwards}@keyframes splashBarIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.loading-progress{width:100%;height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-purple));border-radius:2px;transform:scaleX(0);transform-origin:left;animation:loadingFill 1.8s cubic-bezier(.4,0,.2,1) .85s forwards}@keyframes loadingFill{0%{transform:scaleX(0)}60%{transform:scaleX(.75)}85%{transform:scaleX(.92)}to{transform:scaleX(1)}}.splash-screen.pre-transition .logo-container{animation:splashExit .45s cubic-bezier(.4,0,1,1) forwards}.splash-screen.pre-transition .brand-text,.splash-screen.pre-transition .loading-bar{animation:splashFadeOut .35s ease-out forwards}@keyframes splashExit{to{opacity:0;transform:scale(1.08) translateY(-6px)}}@keyframes splashFadeOut{to{opacity:0;transform:translateY(-12px)}}.mobile-nav{position:fixed;bottom:0;left:0;right:0;height:64px;background:var(--bg-primary, var(--bg-void));border-top:1px solid var(--border-default, rgba(255, 255, 255, .06));display:flex;justify-content:space-around;align-items:center;padding:0 var(--space-sm, 8px);z-index:var(--z-modal, 1000);box-shadow:0 -2px 16px #00000059;backdrop-filter:var(--backdrop-blur, blur(8px));-webkit-backdrop-filter:var(--backdrop-blur, blur(8px))}.nav-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-sm, 8px);background:none;border:none;cursor:pointer;position:relative;transition:var(--transition-fast, all .18s ease);color:var(--text-muted-alt, var(--text-muted));-webkit-tap-highlight-color:transparent}.nav-tab:active{transform:scale(.92)}.nav-tab.active{color:var(--color-white)}.tab-icon{font-size:22px;margin-bottom:3px;transition:transform .18s ease;line-height:1}.nav-tab.active .tab-icon{transform:scale(1.05);filter:drop-shadow(0 0 6px rgba(88,101,242,.7))}.tab-label{font-size:11px;font-weight:600;letter-spacing:.01em}.tab-indicator{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:36px;height:3px;background:var(--color-primary, var(--color-primary));border-radius:2px 2px 0 0;box-shadow:0 0 8px #5865f299}@supports (padding-bottom: env(safe-area-inset-bottom)){.mobile-nav{padding-bottom:env(safe-area-inset-bottom);height:calc(64px + env(safe-area-inset-bottom))}}@media(min-width:768px){.mobile-nav{display:none}}@media(max-width:480px){.jsm-modal{max-height:92dvh!important;max-height:92vh!important;padding:14px!important;border-radius:8px!important}.jsm-invite-form{flex-direction:column!important}.jsm-invite-form input,.jsm-invite-form button{width:100%!important}}@media(hover:none)and (pointer:coarse){.jsm-modal button{min-height:40px}.jsm-server-row{padding:12px!important}}.page-transition-wrapper{width:100%;min-height:100%}@keyframes pageSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-transition-active{animation:pageSlideIn .18s ease-out both}@media(prefers-reduced-motion:reduce){.page-transition-active{animation:none}}.connection-banner{position:fixed;top:0;left:0;right:0;z-index:9999;display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px;font-size:.875rem;font-weight:500;transition:transform .3s ease,opacity .3s ease;box-shadow:0 2px 8px #0006;pointer-events:none}.connection-banner.hidden{transform:translateY(-100%);opacity:0}.connection-banner.visible{transform:translateY(0);opacity:1}.connection-banner.reconnecting{background-color:#f0a500;color:#1a1a1a}.connection-banner.failed{background-color:#ed4245;color:var(--color-white)}.connection-banner.connected{background-color:#3ba55c;color:var(--color-white)}.banner-spinner{width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.banner-icon{font-size:1rem;flex-shrink:0}.banner-text{line-height:1}.banner-attempts{opacity:.75;font-size:.75rem}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:800px){.connection-banner{left:240px}}.auth-callback-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:radial-gradient(ellipse at 15% 20%,rgba(88,101,242,.16) 0%,transparent 50%),radial-gradient(ellipse at 85% 80%,rgba(124,58,237,.1) 0%,transparent 48%),var(--bg-void);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif}.auth-callback-card{background:#1e1f23e0;backdrop-filter:blur(48px) saturate(180%);-webkit-backdrop-filter:blur(48px) saturate(180%);border-radius:22px;padding:48px;text-align:center;color:#fff;max-width:400px;width:90%;border:1px solid rgba(255,255,255,.07);box-shadow:0 0 0 1px #5865f214,0 32px 80px #0009,inset 0 1px #ffffff0f;animation:authCardIn .5s cubic-bezier(.22,1,.36,1)}.auth-callback-card h2{margin:20px 0 10px;font-size:24px;font-weight:600;color:#e3e5e8}.auth-callback-card p{margin:0;opacity:.75;font-size:16px;color:var(--text-secondary)}.auth-spinner{width:48px;height:48px;border:3px solid rgba(88,101,242,.25);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-success-icon{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--color-success),#2dc26e);display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto;animation:scaleIn .3s cubic-bezier(.22,1,.36,1);box-shadow:0 4px 24px #23a55959}.auth-error-icon{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--color-danger-dark),#f04747);display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto;animation:scaleIn .3s cubic-bezier(.22,1,.36,1);box-shadow:0 4px 24px #da373c59}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.auth-redirect-text{margin-top:16px!important;font-size:13px!important;opacity:.55!important;color:var(--status-offline)!important}@keyframes authCardIn{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}
