body{background:#fff;background:var(--bg-primary,#fff);color:#000;color:var(--text-primary,#000);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}*,body{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}html[data-theme] *{transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}html[data-theme=dark] body,html[data-theme=light] body{background:var(--bg-primary);color:var(--text-primary)}:root{--breakpoint-xs:320px;--breakpoint-sm:480px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1200px;--breakpoint-2xl:1400px;--breakpoint-3xl:1600px;--header-height:64px;--header-height-mobile:56px;--sidebar-width:240px;--sidebar-width-mobile:280px;--content-max-width:none;--content-padding:24px;--content-padding-mobile:16px;--input-height:48px;--input-height-large:56px;--input-container-height:80px;--spacing-0:0;--spacing-1:0.25rem;--spacing-2:0.5rem;--spacing-3:0.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--radius-none:0;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-2xl:16px;--radius-3xl:24px;--radius-full:9999px;--font-size-xs:0.75rem;--font-size-sm:0.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-size-5xl:3rem;--font-weight-thin:100;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--line-height-tight:1.25;--line-height-snug:1.375;--line-height-normal:1.5;--line-height-relaxed:1.625;--line-height-loose:2;--z-base:1;--z-dropdown:10;--z-sticky:20;--z-fixed:30;--z-mobile-backdrop:40;--z-modal-backdrop:50;--z-sidebar:60;--z-header:70;--z-modal:80;--z-toast:90;--z-tooltip:100;--transition-fast:0.1s ease;--transition-normal:0.2s ease;--transition-slow:0.3s ease;--transition-layout:0.3s cubic-bezier(0.4,0,0.2,1);--transition-bounce:0.5s cubic-bezier(0.68,-0.55,0.265,1.55);--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--bg-quaternary:#e2e8f0;--bg-elevated:#fff;--bg-overlay:#00000080;--text-primary:#0f172a;--text-secondary:#334155;--text-tertiary:#475569;--text-muted:#64748b;--text-disabled:#94a3b8;--text-inverse:#fff;--accent-primary:#6366f1;--accent-hover:#5855eb;--accent-active:#4c46d6;--accent-light:#6366f11a;--accent-lighter:#6366f10d;--accent-gradient:linear-gradient(135deg,#6366f1,#8b5cf6);--success:#059669;--success-light:#0596691a;--warning:#d97706;--warning-light:#d977061a;--error:#dc2626;--error-light:#dc26261a;--info:#2563eb;--info-light:#2563eb1a;--border-primary:#e2e8f0;--border-secondary:#cbd5e1;--border-muted:#94a3b8;--border-focus:var(--accent-primary);--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--shadow-2xl:0 25px 50px -12px #00000026;--glass-bg:#fffc;--glass-border:#ffffffe6;--glass-hover:#ffffffe6;--glass-backdrop:backdrop-filter:blur(16px) saturate(180%);--theme-transition:background-color 0.3s ease,color 0.3s ease,border-color 0.3s ease,box-shadow 0.3s ease;--dark-bg:#1a1a2e;--dark-text:#fff;--dark-border:#2d2d4d;--dark-hover:#252547;--dark-active:#2a2a5a;--light-bg:#fff;--light-text:#1a1a2e;--light-border:#e2e8f0;--light-hover:#f8fafc;--light-active:#f1f5f9;--sidebar-width-expanded:240px;--sidebar-width-collapsed:72px;--sidebar-transition:all 0.3s ease;--sidebar-icon-size:24px;--sidebar-btn-padding:12px 16px;--sidebar-btn-radius:8px}[data-theme=dark]{--bg-primary:#0f0f23;--bg-secondary:#1a1d29;--bg-tertiary:#242837;--bg-quaternary:#2d3142;--bg-elevated:#3a3f52;--bg-overlay:#000c;--text-primary:#fff;--text-secondary:#e2e8f0;--text-tertiary:#cbd5e0;--text-muted:#a0aec0;--text-disabled:#718096;--text-inverse:#1a202c;--accent-primary:#6366f1;--accent-hover:#5855eb;--accent-active:#4c46d6;--accent-light:#6366f11a;--accent-lighter:#6366f10d;--accent-gradient:linear-gradient(135deg,#6366f1,#8b5cf6);--success:#10b981;--success-light:#10b9811a;--warning:#f59e0b;--warning-light:#f59e0b1a;--error:#ef4444;--error-light:#ef44441a;--info:#3b82f6;--info-light:#3b82f61a;--border-primary:#374151;--border-secondary:#4b5563;--border-muted:#6b7280;--border-focus:var(--accent-primary);--shadow-xs:0 1px 2px 0 #0000004d;--shadow-sm:0 1px 3px 0 #0006,0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d;--shadow-lg:0 10px 15px -3px #0006,0 4px 6px -2px #0000004d;--shadow-xl:0 20px 25px -5px #00000080,0 10px 10px -5px #0006;--shadow-2xl:0 25px 50px -12px #0009;--glass-bg:#ffffff0d;--glass-border:#ffffff1a;--glass-hover:#ffffff14;--glass-backdrop:backdrop-filter:blur(16px) saturate(180%)}@media (max-width:480px){:root{--header-height:var(--header-height-mobile);--sidebar-width:var(--sidebar-width-mobile);--content-padding:var(--content-padding-mobile);--spacing-4:0.75rem;--spacing-6:1rem;--spacing-8:1.5rem;--font-size-base:0.875rem}}@media (min-width:481px) and (max-width:768px){:root{--content-padding:20px;--spacing-6:1.25rem}}:root{--btn-height-sm:32px;--btn-height-md:40px;--btn-height-lg:48px;--btn-padding-x:var(--spacing-4);--btn-padding-y:var(--spacing-2);--form-element-height:var(--input-height);--form-border-radius:var(--radius-md);--form-focus-ring:0 0 0 3px #6366f11a;--card-padding:var(--spacing-6);--card-radius:var(--radius-xl);--card-shadow:var(--shadow-md);--nav-item-height:44px;--nav-item-padding:var(--spacing-3) var(--spacing-4);--animation-duration-fast:0.15s;--animation-duration-normal:0.3s;--animation-duration-slow:0.5s;--animation-easing:cubic-bezier(0.4,0,0.2,1);--chat-bubble-max-width:70%;--chat-input-max-height:120px;--chat-avatar-size:32px;--sidebar-item-height:48px;--sidebar-item-padding:12px;--sidebar-scroll-width:6px;--sidebar-width-full:250px;--sidebar-width-mini:64px;--header-button-size:40px;--header-avatar-size:36px;--header-padding:16px;--modal-max-width:90vw;--modal-max-height:90vh;--modal-border-radius:var(--radius-lg);--voice-card-height:80px;--voice-preview-height:120px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;font-size:16px;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);min-height:100vh;overflow-x:hidden;transition:var(--theme-transition)}.btn{-webkit-tap-highlight-color:transparent;align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);gap:var(--spacing-2);justify-content:center;line-height:1.2;min-height:var(--btn-height-md);overflow:hidden;padding:var(--spacing-3) var(--spacing-4);position:relative;text-decoration:none;transition:var(--transition-normal);-webkit-user-select:none;user-select:none}.btn:focus{box-shadow:var(--form-focus-ring);outline:none}.btn:disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.btn-primary{background:var(--accent-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--bg-quaternary);border-color:var(--border-secondary)}.btn-outline{background:#0000;border:1px solid var(--accent-primary);color:var(--accent-primary)}.btn-outline:hover:not(:disabled){background:var(--accent-primary);color:#fff}.btn-ghost{background:#0000;border:none;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.btn-sm{font-size:var(--font-size-sm);min-height:var(--btn-height-sm);padding:var(--spacing-2) var(--spacing-3)}.btn-lg{font-size:var(--font-size-lg);min-height:var(--btn-height-lg);padding:var(--spacing-4) var(--spacing-6)}.form-group{margin-bottom:var(--spacing-4)}.form-label{color:var(--text-secondary);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-2)}.form-input,.form-select,.form-textarea{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--form-border-radius);color:var(--text-primary);font-family:inherit;font-size:var(--font-size-base);height:var(--form-element-height);padding:var(--spacing-3) var(--spacing-4);transition:var(--transition-normal);width:100%}.form-textarea{height:auto;min-height:calc(var(--form-element-height)*2);resize:vertical}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent-primary);box-shadow:var(--form-focus-ring);outline:none}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-input--error,.form-select--error,.form-textarea--error{border-color:var(--error)}.form-error{color:var(--error);display:block;font-size:var(--font-size-sm);margin-top:var(--spacing-1)}.card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:var(--card-padding);transition:var(--transition-normal)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-header{margin-bottom:var(--spacing-4)}.card-title{color:var(--text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-2)}.card-subtitle{color:var(--text-secondary);font-size:var(--font-size-base)}.card-content{color:var(--text-primary)}.card-footer{border-top:1px solid var(--border-primary);margin-top:var(--spacing-4);padding-top:var(--spacing-4)}.nav{display:flex;list-style:none}.nav-item{position:relative}.nav-link{align-items:center;border-radius:var(--radius-md);color:var(--text-secondary);display:flex;gap:var(--spacing-2);min-height:var(--nav-item-height);padding:var(--nav-item-padding);text-decoration:none;transition:var(--transition-normal)}.nav-link:hover{background:var(--bg-tertiary);color:var(--text-primary)}.nav-link--active{background:var(--accent-light);color:var(--accent-primary);font-weight:var(--font-weight-medium)}.m-0{margin:0}.m-1{margin:var(--spacing-1)}.m-2{margin:var(--spacing-2)}.m-3{margin:var(--spacing-3)}.m-4{margin:var(--spacing-4)}.m-6{margin:var(--spacing-6)}.m-8{margin:var(--spacing-8)}.p-0{padding:0}.p-1{padding:var(--spacing-1)}.p-2{padding:var(--spacing-2)}.p-3{padding:var(--spacing-3)}.p-4{padding:var(--spacing-4)}.p-6{padding:var(--spacing-6)}.p-8{padding:var(--spacing-8)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-accent{color:var(--accent-primary)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-error{color:var(--error)}.font-light{font-weight:var(--font-weight-light)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.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-none{box-shadow:none}@media (max-width:767px){.btn,.nav-link{min-height:44px;padding:var(--spacing-3) var(--spacing-4)}.form-input,.form-select,.form-textarea{font-size:16px;min-height:44px}}@media (min-width:1200px){.container{max-width:var(--content-max-width);padding:0 var(--spacing-6)}.card{padding:var(--spacing-8)}}.btn:focus-visible,.form-input:focus-visible,.form-select:focus-visible,.form-textarea:focus-visible,.nav-link:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.skip-to-main{background:var(--accent-primary);border-radius:var(--radius-md);color:#fff;left:6px;padding:8px;position:absolute;text-decoration:none;top:-40px;transition:top var(--transition-fast);z-index:var(--z-tooltip)}.skip-to-main:focus{top:6px}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast:high){.btn,.card,.form-input,.form-select,.form-textarea{border-width:2px}}@media (prefers-color-scheme:dark){:root:not([data-theme]){--bg-primary:#0f0f23;--bg-secondary:#1a1d29;--text-primary:#fff;--text-secondary:#e2e8f0}}.card,.header,.modal,.sidebar,.theme-transitional,[data-theme] .theme-transitional,button,input,select,textarea{transition:var(--theme-transition)}body,html{background-color:var(--bg-primary);color:var(--text-primary);transition:background-color var(--theme-transition),color var(--theme-transition)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-weight:var(--font-weight-medium)}body.dark-theme,body.light-theme{background-color:var(--bg-primary);color:var(--text-primary)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:var(--font-weight-bold);transition:color var(--theme-transition-fast)}[data-theme=light] h1,[data-theme=light] h2,[data-theme=light] h3,[data-theme=light] h4,[data-theme=light] h5,[data-theme=light] h6{color:var(--text-primary);font-weight:var(--font-weight-bold);text-shadow:none}div,li,p,span,td,th{color:var(--text-primary)}a,div,li,p,span,td,th{transition:color var(--theme-transition-fast)}a{color:var(--accent-primary);font-weight:var(--font-weight-semibold);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}a:focus{border-radius:var(--border-radius-sm);outline:2px solid var(--accent-primary);outline-offset:2px}small{color:var(--text-secondary);font-weight:var(--font-weight-medium);transition:color var(--theme-transition-fast)}code,pre{border:1px solid var(--glass-border);border-radius:var(--border-radius-sm)}button,code,input,pre,select,textarea{background-color:var(--glass-bg);color:var(--text-primary);font-weight:var(--font-weight-medium);transition:all var(--theme-transition-fast)}button,input,select,textarea{border:1px solid var(--glass-border);border-radius:var(--border-radius-md)}input::placeholder,textarea::placeholder{color:var(--text-muted);font-weight:var(--font-weight-normal);opacity:.8}[data-theme=light] input,[data-theme=light] select,[data-theme=light] textarea{background-color:#fff;border-color:var(--glass-border-strong);color:var(--text-primary);font-weight:var(--font-weight-semibold)}[data-theme=light] input::placeholder,[data-theme=light] textarea::placeholder{color:var(--text-muted);font-weight:var(--font-weight-medium)}input:focus,select:focus,textarea:focus{background-color:var(--glass-hover);border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-light);outline:none}button{cursor:pointer;font-weight:var(--font-weight-semibold);transition:all var(--theme-transition-fast)}button:hover{background-color:var(--glass-hover);transform:translateY(-1px)}button:active{transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.5;transform:none}.card,.container,.modal,.panel{background-color:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);color:var(--text-primary);transition:all var(--theme-transition-fast)}.card:hover,.panel:hover{border-color:var(--glass-border-strong);box-shadow:var(--shadow-lg)}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:var(--glass-bg);border-radius:var(--border-radius-sm)}::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:var(--border-radius-sm);-webkit-transition:background var(--theme-transition-fast);transition:background var(--theme-transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--accent-hover)}*{scrollbar-color:var(--accent-primary) var(--glass-bg);scrollbar-width:thin}::selection{background-color:var(--accent-light);color:var(--text-primary)}::-moz-selection{background-color:var(--accent-light);color:var(--text-primary)}:focus{outline:2px solid var(--accent-primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}:focus-visible{border-radius:var(--border-radius-sm);outline:2px solid var(--accent-primary);outline-offset:2px}.loading{opacity:.7;pointer-events:none;position:relative}.loading:after{animation:spin 1s linear infinite;border:2px solid var(--glass-border);border-radius:50%;border-top-color:var(--accent-primary);content:"";height:20px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:20px}@keyframes spin{to{transform:translate(-50%,-50%) rotate(1turn)}}.success{background-color:var(--success-light);border-color:var(--success);color:var(--success)}.warning{background-color:var(--warning-light);border-color:var(--warning);color:var(--warning)}.error{background-color:var(--error-light);border-color:var(--error);color:var(--error)}.info{background-color:var(--info-light);border-color:var(--info);color:var(--info)}@media (prefers-contrast:high){:root{--font-weight-normal:600;--font-weight-medium:700;--font-weight-semibold:800;--font-weight-bold:900}[data-theme=light]{--text-primary:#000;--text-secondary:#000;--text-tertiary:#1a1a1a;--glass-border:#000;--glass-border-strong:#000}[data-theme=dark]{--text-primary:#fff;--text-secondary:#fff;--text-tertiary:#f0f0f0;--glass-border:#fff;--glass-border-strong:#fff}.card,.container,.panel,button,input,select,textarea{border-width:2px}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.loading:after{animation:none}}@media print{*{background:#fff!important;box-shadow:none!important;color:#000!important;text-shadow:none!important}}@media (max-width:768px){a,button,input,select,textarea{font-size:16px;min-height:44px}body{font-weight:var(--font-weight-semibold)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-extrabold)}[data-theme=light]{--text-primary:#000;--text-secondary:#1a1a1a}}[data-theme=dark]{--text-primary:#f8f9fa;--text-secondary:#e9ecef}[data-theme=dark] body{font-weight:var(--font-weight-medium)}[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3,[data-theme=dark] h4,[data-theme=dark] h5,[data-theme=dark] h6{font-weight:var(--font-weight-bold);text-shadow:0 1px 2px #0000004d}[data-theme=light]{--text-primary:#000;--text-secondary:#1a1a1a;--text-tertiary:#2d2d2d}[data-theme=light] body{color:#000;font-weight:var(--font-weight-semibold)}[data-theme=light] h1,[data-theme=light] h2,[data-theme=light] h3,[data-theme=light] h4,[data-theme=light] h5,[data-theme=light] h6{color:#000;font-weight:var(--font-weight-extrabold)}[data-theme=light] div,[data-theme=light] li,[data-theme=light] p,[data-theme=light] span{color:#000;font-weight:var(--font-weight-medium)}[data-theme=light] small{color:#2d2d2d;font-weight:var(--font-weight-semibold)}@keyframes theme-fade-in{0%{opacity:0}to{opacity:1}}.theme-transitioning{animation:theme-fade-in .3s ease-out}.App{background:var(--bg-primary);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;overflow:hidden;position:relative;transition:var(--theme-transition);width:100%}.App *,.App :after,.App :before{box-sizing:border-box}