:root{--blur-xs: blur(4px);--blur-sm: blur(12px);--blur-md: blur(20px);--blur-lg: blur(32px);--blur-xl: blur(52px);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-mono: "SF Mono", "Fira Code", "Cascadia Code", monospace;--text-xs: 11px;--text-sm: 13px;--text-base: 15px;--text-md: 17px;--text-lg: 20px;--text-xl: 24px;--text-2xl: 32px;--text-3xl: 40px;--weight-light: 300;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-tight: 1.2;--leading-normal: 1.5;--leading-relaxed: 1.7;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 28px;--radius-full: 9999px;--transition-fast: .12s ease;--transition-base: .2s ease;--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--z-base: 0;--z-raised: 10;--z-dropdown: 100;--z-modal: 200;--z-toast: 300;--z-tooltip: 400;--status-online: #5DBB63;--status-warning: #F0A030;--status-danger: #E5534B;--tint-warning-bg: rgba(240, 160, 48, .14);--tint-warning-border: rgba(240, 160, 48, .3);--tint-danger-bg: rgba(229, 83, 75, .14);--tint-danger-border: rgba(229, 83, 75, .3)}[data-theme=dark]{--bg-from: #09090f;--bg-to: #13131f;--glass-1: rgba(255, 255, 255, .03);--glass-2: rgba(255, 255, 255, .07);--glass-3: rgba(255, 255, 255, .12);--glass-4: rgba(255, 255, 255, .2);--glass-border: rgba(255, 255, 255, .09);--glass-border-strong: rgba(255, 255, 255, .18);--accent-primary: #EDEDED;--accent-primary-hover: #FFFFFF;--accent-on-primary: #0A0A0A;--bubble-sent-bg: rgba(255, 255, 255, .18);--bubble-sent-border: rgba(255, 255, 255, .3);--text-primary: #F2F2F2;--text-secondary: #9A9A9A;--text-muted: #505050;--text-inverse: #0A0A0A;--text-accent: #E0E0E0;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .45);--shadow-md: 0 4px 16px rgba(0, 0, 0, .58);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .7);--shadow-glow: 0 0 24px rgba(255, 255, 255, .07)}[data-theme=light]{--bg-from: #e8e8f0;--bg-to: #f0f0f8;--glass-1: rgba(255, 255, 255, .28);--glass-2: rgba(255, 255, 255, .5);--glass-3: rgba(255, 255, 255, .7);--glass-4: rgba(255, 255, 255, .88);--glass-border: rgba(0, 0, 0, .08);--glass-border-strong: rgba(0, 0, 0, .16);--accent-primary: #1A1A1A;--accent-primary-hover: #000000;--accent-on-primary: #FFFFFF;--bubble-sent-bg: rgba(0, 0, 0, .09);--bubble-sent-border: rgba(0, 0, 0, .18);--text-primary: #111111;--text-secondary: #444444;--text-muted: #888888;--text-inverse: #FFFFFF;--text-accent: #1A1A1A;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .12);--shadow-md: 0 4px 16px rgba(0, 0, 0, .18);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .26);--shadow-glow: 0 0 24px rgba(0, 0, 0, .12)}@media (prefers-color-scheme: dark){:root:not([data-theme]){--bg-from: #0A0A0A;--bg-to: #1C1C1C;--glass-1: rgba(255, 255, 255, .04);--glass-2: rgba(255, 255, 255, .08);--glass-3: rgba(255, 255, 255, .14);--glass-4: rgba(255, 255, 255, .24);--glass-border: rgba(255, 255, 255, .1);--glass-border-strong: rgba(255, 255, 255, .22);--accent-primary: #EDEDED;--accent-primary-hover: #FFFFFF;--accent-on-primary: #0A0A0A;--bubble-sent-bg: rgba(255, 255, 255, .18);--bubble-sent-border: rgba(255, 255, 255, .3);--text-primary: #F2F2F2;--text-secondary: #9A9A9A;--text-muted: #505050;--text-inverse: #0A0A0A;--text-accent: #E0E0E0;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .45);--shadow-md: 0 4px 16px rgba(0, 0, 0, .58);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .7);--shadow-glow: 0 0 24px rgba(255, 255, 255, .07)}}@media (prefers-color-scheme: light){:root:not([data-theme]){--bg-from: #BEBEBE;--bg-to: #D0D0D0;--glass-1: rgba(255, 255, 255, .28);--glass-2: rgba(255, 255, 255, .5);--glass-3: rgba(255, 255, 255, .7);--glass-4: rgba(255, 255, 255, .88);--glass-border: rgba(0, 0, 0, .08);--glass-border-strong: rgba(0, 0, 0, .16);--accent-primary: #1A1A1A;--accent-primary-hover: #000000;--accent-on-primary: #FFFFFF;--bubble-sent-bg: rgba(0, 0, 0, .09);--bubble-sent-border: rgba(0, 0, 0, .18);--text-primary: #111111;--text-secondary: #444444;--text-muted: #888888;--text-inverse: #FFFFFF;--text-accent: #1A1A1A;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .12);--shadow-md: 0 4px 16px rgba(0, 0, 0, .18);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .26);--shadow-glow: 0 0 24px rgba(0, 0, 0, .12)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-regular);line-height:var(--leading-normal);color:var(--text-primary);background:linear-gradient(150deg,var(--bg-from) 0%,var(--bg-to) 100%);background-attachment:fixed;min-height:100dvh;transition:background var(--transition-slow),color var(--transition-base);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before,body:after{content:"";position:fixed;border-radius:50%;pointer-events:none;z-index:-1;filter:blur(80px);will-change:transform}body:before{width:700px;height:700px;top:-200px;left:-200px;background:radial-gradient(circle at center,rgba(99,102,241,.4) 0%,rgba(139,92,246,.2) 45%,transparent 70%)}body:after{width:600px;height:600px;bottom:-150px;right:-150px;background:radial-gradient(circle at center,rgba(6,182,212,.3) 0%,rgba(59,130,246,.18) 45%,transparent 70%)}#app:before{content:"";position:fixed;width:450px;height:450px;top:10%;right:15%;border-radius:50%;background:radial-gradient(circle at center,rgba(168,85,247,.18) 0%,rgba(236,72,153,.1) 50%,transparent 70%);filter:blur(70px);pointer-events:none;z-index:-1;will-change:transform}[data-theme=light] body:before{background:radial-gradient(circle at center,rgba(99,102,241,.22) 0%,rgba(139,92,246,.1) 45%,transparent 70%)}[data-theme=light] body:after{background:radial-gradient(circle at center,rgba(6,182,212,.18) 0%,rgba(59,130,246,.1) 45%,transparent 70%)}[data-theme=light] #app:before{background:radial-gradient(circle at center,rgba(168,85,247,.1) 0%,rgba(236,72,153,.06) 50%,transparent 70%)}body.has-bg-image{background-image:linear-gradient(#0000006b,#0000006b),var(--custom-bg-url);background-size:cover;background-position:center;background-attachment:fixed}body.has-bg-image:before{width:100vw!important;height:100vh!important;top:0!important;left:0!important;border-radius:0!important;filter:none!important;background:linear-gradient(135deg,rgba(99,102,241,.12) 0%,transparent 50%,rgba(6,182,212,.08) 100%)!important}body.has-bg-image:after{opacity:.5}body.has-bg-image~* #app:before,body.has-bg-image #app:before{opacity:0}#app{width:100%;min-height:100dvh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:var(--weight-bold);line-height:var(--leading-tight);color:var(--text-primary);letter-spacing:-.02em}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}h5{font-size:var(--text-md)}h6{font-size:var(--text-base)}p{color:var(--text-secondary);line-height:var(--leading-relaxed)}a{color:var(--text-accent);text-decoration:none;transition:opacity var(--transition-fast)}a:hover{opacity:.75}strong{font-weight:var(--weight-semibold);color:var(--text-primary)}em{font-style:italic}code,kbd,pre{font-family:var(--font-mono);font-size:var(--text-sm)}code{background:var(--glass-2);border:1px solid var(--glass-border);border-radius:var(--radius-xs);padding:2px 6px;color:var(--text-secondary)}pre{background:var(--glass-2);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-4);overflow-x:auto}button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}button{background:none;border:none;cursor:pointer}input,textarea,select{background:none;border:none;outline:none}img,video{display:block;max-width:100%}ul,ol{list-style:none}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--glass-3);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--glass-4)}::selection{background:var(--glass-3);color:var(--text-primary)}:focus-visible{outline:2px solid var(--text-secondary);outline-offset:3px;border-radius:var(--radius-xs)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.glass{background:var(--glass-2);border:1px solid var(--glass-border);backdrop-filter:var(--blur-md);-webkit-backdrop-filter:var(--blur-md)}.glass-subtle{background:var(--glass-1);border:1px solid var(--glass-border);backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm)}.glass-strong{background:var(--glass-3);border:1px solid var(--glass-border-strong);backdrop-filter:var(--blur-lg);-webkit-backdrop-filter:var(--blur-lg)}.glass-modal{background:var(--glass-4);border:1px solid var(--glass-border-strong);backdrop-filter:var(--blur-xl);-webkit-backdrop-filter:var(--blur-xl)}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.wrap{flex-wrap:wrap}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.px-3{padding-inline:var(--space-3)}.px-4{padding-inline:var(--space-4)}.px-6{padding-inline:var(--space-6)}.py-2{padding-block:var(--space-2)}.py-3{padding-block:var(--space-3)}.py-4{padding-block:var(--space-4)}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100dvh}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-md{font-size:var(--text-md)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.font-light{font-weight:var(--weight-light)}.font-regular{font-weight:var(--weight-regular)}.font-medium{font-weight:var(--weight-medium)}.font-semibold{font-weight:var(--weight-semibold)}.font-bold{font-weight:var(--weight-bold)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-accent{color:var(--text-accent)}.text-center{text-align:center}.text-right{text-align:right}.uppercase{text-transform:uppercase}.tracking-wide{letter-spacing:.08em}.tracking-tight{letter-spacing:-.02em}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-glow{box-shadow:var(--shadow-glow)}.transition{transition:all var(--transition-base)}.transition-fast{transition:all var(--transition-fast)}.transition-slow{transition:all var(--transition-slow)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.pointer-events-none{pointer-events:none}.divider{height:1px;background:var(--glass-border)}.divider-vertical{width:1px;background:var(--glass-border);align-self:stretch}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-family:var(--font-sans);font-weight:var(--weight-semibold);letter-spacing:0;background:var(--glass-3);border:1px solid var(--glass-border-strong);color:var(--text-primary);flex-shrink:0;-webkit-user-select:none;user-select:none;transition:box-shadow var(--transition-fast)}.avatar-xs{width:22px;height:22px;font-size:9px}.avatar-sm{width:32px;height:32px;font-size:12px}.avatar-md{width:40px;height:40px;font-size:14px}.avatar-lg{width:56px;height:56px;font-size:20px}.avatar-xl{width:80px;height:80px;font-size:28px}.avatar-online{box-shadow:0 0 0 2px var(--status-online)}.avatar-away{box-shadow:0 0 0 2px var(--status-warning)}.avatar-busy{box-shadow:0 0 0 2px var(--status-danger)}.avatar-offline{box-shadow:0 0 0 2px var(--text-muted);opacity:.65}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes popIn{0%{opacity:0;transform:scale(.8)}70%{transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes bubbleIn{0%{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastIn{0%{opacity:0;transform:translateY(100%) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(100%) scale(.95)}}@keyframes modalIn{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.anim-fade-in{animation:fadeIn var(--transition-base) ease both}.anim-slide-up{animation:slideUp var(--transition-base) ease both}.anim-scale-in{animation:scaleIn var(--transition-base) ease both}.anim-pop-in{animation:popIn var(--transition-slow) ease both}.anim-bubble-in{animation:bubbleIn var(--transition-fast) ease both}.anim-pulse{animation:pulse 1.5s ease infinite}.anim-shimmer{background:linear-gradient(90deg,var(--glass-2) 25%,var(--glass-3) 50%,var(--glass-2) 75%);background-size:200% 100%;animation:shimmer 1.6s linear infinite}.delay-1{animation-delay:50ms}.delay-2{animation-delay:.1s}.delay-3{animation-delay:.15s}.delay-4{animation-delay:.2s}.delay-5{animation-delay:.25s}
