.chat-history{max-height:200px;overflow:hidden;margin:var(--spacing-xs) .75rem 0 2.25rem;padding-left:var(--spacing-sm);border-left:1px solid var(--sidebar-border-light)}.chat-history-list{overflow-y:auto;max-height:200px}.chat-history-item{display:flex;align-items:center;height:32px;padding:0 var(--spacing-xs);margin:var(--spacing-xs) 0;cursor:pointer;border-radius:var(--radius-sm);overflow:hidden;transition:background var(--transition-fast)}.chat-history-item:hover{background:#ffffff0d}.chat-history-item.active{background:#ffffff14}.chat-history-title{flex:1;min-width:0;font-size:var(--font-size-base);color:var(--sidebar-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:32px;transition:color var(--transition-fast)}.chat-history-item:hover .chat-history-title,.chat-history-item.active .chat-history-title{color:var(--sidebar-text)}.chat-history-title-input{flex:1;min-width:0;font-size:var(--font-size-base);background:transparent;border:none;border-bottom:1px solid var(--sidebar-accent);color:var(--sidebar-text);padding:0;margin:0;outline:none;font-family:inherit;line-height:30px}.chat-history-btn{flex-shrink:0;width:22px;text-align:center;background:transparent;border:none;color:#555;font-size:var(--font-size-sm);cursor:pointer;opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast);line-height:1}.chat-history-item:hover .chat-history-btn{opacity:1}.chat-history-btn:hover{color:var(--sidebar-text)}.chat-history-btn.delete:hover{color:#e66}.texts-list-sidebar{max-height:200px;overflow:hidden;margin:var(--spacing-xs) .75rem 0 2.25rem;padding-left:var(--spacing-sm);border-left:1px solid var(--sidebar-border-light)}.texts-list-items{overflow-y:auto;max-height:200px}.texts-list-item{display:flex;align-items:center;height:32px;padding:0 var(--spacing-xs);margin:var(--spacing-xs) 0;cursor:pointer;border-radius:var(--radius-sm);overflow:hidden;transition:background var(--transition-fast)}.texts-list-item:hover{background:#ffffff0d}.texts-list-item.active{background:#ffffff14}.texts-list-title{flex:1;min-width:0;font-size:var(--font-size-base);color:var(--sidebar-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:32px;transition:color var(--transition-fast)}.texts-list-item:hover .texts-list-title,.texts-list-item.active .texts-list-title{color:var(--sidebar-text)}.texts-list-title-input{flex:1;min-width:0;font-size:var(--font-size-base);background:transparent;border:none;border-bottom:1px solid var(--sidebar-accent);color:var(--sidebar-text);padding:0;margin:0;outline:none;font-family:inherit;line-height:30px}.texts-list-btn{flex-shrink:0;width:22px;text-align:center;background:transparent;border:none;color:#555;font-size:var(--font-size-sm);cursor:pointer;opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast);line-height:1}.texts-list-item:hover .texts-list-btn{opacity:1}.texts-list-btn:hover{color:var(--sidebar-text)}.texts-list-btn.delete:hover{color:#e66}:root{--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-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;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--sidebar-bg: #1a1a2e;--sidebar-bg-hover: #2a2a4a;--sidebar-bg-active: #3a3a5a;--sidebar-border: #2a2a4a;--sidebar-border-light: #3a3a5a;--sidebar-text: #a0a0b0;--sidebar-text-muted: #888;--sidebar-text-hover: white;--sidebar-accent: #6366f1;--bg-main: #f5f5f5;--text-primary: #1a1a2e;--text-muted: #666;--color-primary: #6366f1;--color-primary-hover: #5558e3;--color-secondary: #e0e0e0;--color-secondary-hover: #d0d0d0;--color-secondary-text: #4a4a6a;--color-success: #10b981;--color-success-hover: #059669;--color-danger: #ef4444;--color-danger-hover: #dc2626;--color-warning: #f59e0b;--color-warning-hover: #d97706;--color-ghost-border: #e0e0e0;--color-ghost-border-hover: #ccc;--color-ghost-bg-hover: #f5f5f5;--radius-sm: 3px;--radius-md: 4px;--radius-lg: 8px;--transition-fast: .15s ease;--transition-normal: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:system-ui,-apple-system,sans-serif;font-size:var(--font-size-base);line-height:var(--line-height-normal);background:var(--bg-main);min-height:100vh}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:var(--font-weight-bold)}h1{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-lg)}h2{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-md)}h3{font-size:var(--font-size-xl);margin-bottom:var(--spacing-sm)}a{color:var(--sidebar-accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:inherit;cursor:pointer}input,textarea,select{font-family:inherit;font-size:inherit}.error-message{color:var(--color-danger);padding:var(--spacing-md);text-align:center}.inline-error{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-danger);padding:var(--spacing-md)}.inline-error .error-icon{font-size:var(--font-size-lg)}.loading-content{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-lg);color:var(--text-muted)}.placeholder-text{color:var(--text-muted);padding:var(--spacing-md)}.app{display:flex;min-height:100vh}.sidebar{width:240px;background:var(--sidebar-bg);color:#fff;padding:var(--spacing-lg) 0;display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;overflow-y:auto}.logo{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);padding:0 var(--spacing-lg) var(--spacing-lg);border-bottom:1px solid var(--sidebar-border)}.nav{flex:1;padding:var(--spacing-md) 0;overflow:hidden}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.875rem var(--spacing-lg);color:var(--sidebar-text);text-decoration:none;transition:all var(--transition-normal)}.nav-item:hover{background:var(--sidebar-bg-hover);color:var(--sidebar-text-hover);text-decoration:none}.nav-item.active{background:var(--sidebar-bg-active);color:var(--sidebar-text-hover);border-left:3px solid var(--sidebar-accent);padding-left:calc(var(--spacing-lg) - 3px)}.nav-icon{width:20px;height:20px}.nav-expand-arrow{margin-left:auto;font-size:.6rem;opacity:.4}.user-section{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--sidebar-border)}.username{font-size:var(--font-size-sm);color:var(--sidebar-text);margin-bottom:var(--spacing-sm)}.logout-btn{background:transparent;border:1px solid #4a4a6a;color:var(--sidebar-text);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;width:100%;transition:all var(--transition-normal)}.logout-btn:hover{background:var(--sidebar-bg-hover);color:var(--sidebar-text-hover)}.language-section{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--sidebar-border)}.language-switcher{display:flex;align-items:center;justify-content:center;gap:.75rem}.flag-select{position:relative}.flag-btn{background:var(--sidebar-bg-hover);border:1px solid var(--sidebar-border-light);border-radius:var(--radius-lg);padding:var(--spacing-sm) .75rem;cursor:pointer;font-size:var(--font-size-2xl);line-height:1;transition:all var(--transition-normal)}.flag-btn:hover{background:var(--sidebar-bg-active);border-color:var(--sidebar-accent)}.flag-arrow{color:#6a6a7a;font-size:var(--font-size-xl)}.flag-dropdown{display:none;position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--sidebar-bg);border:1px solid var(--sidebar-border-light);border-radius:var(--radius-lg);padding:var(--spacing-sm);margin-bottom:var(--spacing-sm);flex-direction:column;gap:var(--spacing-xs);z-index:100;box-shadow:0 4px 12px #0000004d;min-width:180px;max-height:350px;overflow-y:auto}.flag-dropdown.open{display:flex}.flag-option{background:none;border:none;padding:.625rem var(--spacing-md);cursor:pointer;border-radius:6px;transition:background var(--transition-normal);display:flex;align-items:center;gap:.75rem;color:var(--sidebar-text);font-size:var(--font-size-base);text-align:left;white-space:nowrap}.flag-option:hover{background:var(--sidebar-bg-hover);color:var(--sidebar-text-hover)}.flag-option.selected{background:var(--sidebar-bg-active);color:var(--sidebar-text-hover)}.flag-option .flag{font-size:var(--font-size-2xl)}.main{flex:1;padding:var(--spacing-xl);margin-left:240px;min-height:100vh}.content{max-width:1200px;margin:0 auto}
