:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--color-primary-50: hsl(210, 100%, 97%);--color-primary-100: hsl(210, 100%, 94%);--color-primary-200: hsl(210, 100%, 86%);--color-primary-300: hsl(210, 100%, 74%);--color-primary-400: hsl(210, 100%, 62%);--color-primary-500: hsl(210, 100%, 50%);--color-primary-600: hsl(210, 100%, 42%);--color-primary-700: hsl(210, 100%, 34%);--color-primary-800: hsl(210, 100%, 26%);--color-primary-900: hsl(210, 100%, 18%);--color-secondary-50: hsl(174, 80%, 96%);--color-secondary-100: hsl(174, 80%, 90%);--color-secondary-500: hsl(174, 80%, 40%);--color-secondary-600: hsl(174, 80%, 32%);--color-neutral-0: hsl(0, 0%, 100%);--color-neutral-50: hsl(210, 20%, 98%);--color-neutral-100: hsl(210, 20%, 96%);--color-neutral-200: hsl(210, 16%, 92%);--color-neutral-300: hsl(210, 14%, 84%);--color-neutral-400: hsl(210, 12%, 66%);--color-neutral-500: hsl(210, 10%, 50%);--color-neutral-600: hsl(210, 12%, 40%);--color-neutral-700: hsl(210, 14%, 30%);--color-neutral-800: hsl(210, 18%, 20%);--color-neutral-900: hsl(210, 22%, 12%);--color-neutral-950: hsl(210, 24%, 8%);--color-success-50: hsl(142, 76%, 96%);--color-success-100: hsl(142, 76%, 90%);--color-success-500: hsl(142, 76%, 36%);--color-success-600: hsl(142, 76%, 28%);--color-warning-50: hsl(38, 92%, 96%);--color-warning-100: hsl(38, 92%, 88%);--color-warning-500: hsl(38, 92%, 50%);--color-warning-600: hsl(38, 92%, 42%);--color-danger-50: hsl(0, 84%, 96%);--color-danger-100: hsl(0, 84%, 90%);--color-danger-500: hsl(0, 84%, 60%);--color-danger-600: hsl(0, 84%, 50%);--color-info-50: hsl(200, 88%, 96%);--color-info-100: hsl(200, 88%, 88%);--color-info-500: hsl(200, 88%, 48%);--color-info-600: hsl(200, 88%, 40%);--surface-bg: var(--color-neutral-50);--surface-card: var(--color-neutral-0);--surface-elevated: var(--color-neutral-0);--surface-overlay: rgba(0, 0, 0, .5);--glass-bg: rgba(255, 255, 255, .85);--glass-border: rgba(255, 255, 255, .3);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .08);--text-primary: var(--color-neutral-900);--text-secondary: var(--color-neutral-600);--text-tertiary: var(--color-neutral-500);--text-disabled: var(--color-neutral-400);--text-inverse: var(--color-neutral-0);--text-link: var(--color-primary-600);--border-subtle: var(--color-neutral-200);--border-default: var(--color-neutral-300);--border-strong: var(--color-neutral-400);--border-focus: var(--color-primary-500);--font-family-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono: "JetBrains Mono", "Fira Code", Consolas, monospace;--font-size-2xs: .625rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--sidebar-width: 280px;--header-height: 64px;--container-max-width: 1280px;--radius-xs: .25rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .2);--shadow-inner: inset 0 2px 4px rgba(0, 0, 0, .04);--shadow-focus: 0 0 0 3px rgba(var(--color-primary-500), .4);--transition-fast: .1s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--transition-slower: .5s ease;--transition-colors: color .2s ease, background-color .2s ease, border-color .2s ease;--transition-transform: transform .2s ease;--transition-opacity: opacity .2s ease;--transition-all: all .2s ease;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800}[data-theme=dark],.dark{--surface-bg: var(--color-neutral-950);--surface-card: var(--color-neutral-900);--surface-elevated: var(--color-neutral-800);--glass-bg: rgba(20, 20, 30, .85);--glass-border: rgba(255, 255, 255, .1);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .3);--text-primary: var(--color-neutral-50);--text-secondary: var(--color-neutral-300);--text-tertiary: var(--color-neutral-400);--text-disabled: var(--color-neutral-600);--text-inverse: var(--color-neutral-900);--text-link: var(--color-primary-400);--border-subtle: var(--color-neutral-800);--border-default: var(--color-neutral-700);--border-strong: var(--color-neutral-600);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(24px)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes popIn{0%{opacity:0;transform:scale(.8)}70%{transform:scale(1.02)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes typing{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}@keyframes messageIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.animate-fade-in{animation:fadeIn var(--transition-normal) ease-out}.animate-fade-out{animation:fadeOut var(--transition-normal) ease-out}.animate-fade-in-up{animation:fadeInUp var(--transition-normal) ease-out}.animate-fade-in-down{animation:fadeInDown var(--transition-normal) ease-out}.animate-slide-in-right{animation:slideInRight var(--transition-normal) ease-out}.animate-slide-in-left{animation:slideInLeft var(--transition-normal) ease-out}.animate-scale-in{animation:scaleIn var(--transition-normal) ease-out}.animate-pop-in{animation:popIn var(--transition-slow) ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.animate-bounce{animation:bounce 1s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.animate-shake{animation:shake .5s ease-in-out}.animate-message-in{animation:messageIn .3s ease-out}.skeleton{background:linear-gradient(90deg,var(--color-neutral-200) 25%,var(--color-neutral-100) 50%,var(--color-neutral-200) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}[data-theme=dark] .skeleton,.dark .skeleton{background:linear-gradient(90deg,var(--color-neutral-800) 25%,var(--color-neutral-700) 50%,var(--color-neutral-800) 75%);background-size:200% 100%}.skeleton-text{height:1em;margin-bottom:.5em}.skeleton-circle{border-radius:var(--radius-full)}.typing-indicator{display:flex;gap:4px;padding:8px 12px}.typing-indicator .dot{width:8px;height:8px;background-color:var(--color-neutral-400);border-radius:var(--radius-full);animation:typing 1.4s infinite}.typing-indicator .dot:nth-child(2){animation-delay:.2s}.typing-indicator .dot:nth-child(3){animation-delay:.4s}.transition-none{transition:none}.transition-all{transition:var(--transition-all)}.transition-colors{transition:var(--transition-colors)}.transition-transform{transition:var(--transition-transform)}.transition-opacity{transition:var(--transition-opacity)}.duration-fast{transition-duration:.1s}.duration-normal{transition-duration:.2s}.duration-slow{transition-duration:.3s}.hover-lift{transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.hover-glow{transition:box-shadow var(--transition-normal)}.hover-glow:hover{box-shadow:0 0 20px rgba(var(--color-primary-500),.3)}.hover-scale{transition:transform var(--transition-normal)}.hover-scale:hover{transform:scale(1.02)}.focus-ring{outline:none}.focus-ring:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.animate-pulse,.animate-ping,.animate-bounce,.animate-spin{animation:none}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%;width:100%}body{font-family:var(--font-family-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--surface-bg);min-height:100%;width:100%;margin:0;padding:0}#root{height:100vh;width:100%;overflow:hidden}.app{display:flex;flex-direction:column;height:100vh;width:100%;overflow:hidden}.app-layout{display:flex;flex:1;width:100%;min-height:0;overflow:hidden}.app-sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);flex-shrink:0;height:100%;overflow:hidden;border-right:1px solid var(--border-subtle);background:var(--surface-card)}.app-main{flex:1;min-width:0;height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column;background:var(--surface-bg)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:var(--space-8);text-align:center;color:var(--text-secondary)}.empty-state svg{color:var(--text-tertiary);margin-bottom:var(--space-4);opacity:.6}.empty-state h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.empty-state p{font-size:var(--font-size-sm);max-width:320px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-neutral-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--color-neutral-600)}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-500)}::selection{background:var(--color-primary-200);color:var(--color-primary-900)}[data-theme=dark] ::selection{background:var(--color-primary-700);color:var(--color-primary-100)}:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}@media(max-width:768px){.app-sidebar{position:fixed;left:0;top:var(--header-height);bottom:0;z-index:var(--z-fixed);transform:translate(-100%);transition:transform var(--transition-normal)}.app-sidebar.open{transform:translate(0)}.app-main{width:100%}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
