:root{--bg-primary:#0f0f1a;--bg-secondary:#1a1a2e;--bg-tertiary:#16213e;--bg-hover:#1f2b47;--bg-active:#253352;--text-primary:#e8e8f0;--text-secondary:#a0a0b8;--text-muted:#6b6b80;--accent:#7c3aed;--accent-hover:#6d28d9;--accent-light:#7c3aed26;--border:#2a2a40;--danger:#ef4444;--success:#22c55e;--radius:12px;--radius-sm:8px;--shadow:0 4px 24px #0000004d;--sidebar-width:300px;--transition:all 0.2s ease}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{background:#0f0f1a;background:var(--bg-primary);color:#e8e8f0;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;overflow:hidden}#root,body{height:100vh;height:100dvh}button,input,select,textarea{font-family:inherit;font-size:inherit}a{color:#7c3aed;color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#2a2a40;background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#6b6b80;background:var(--text-muted)}.loading-screen{align-items:center;color:#a0a0b8;color:var(--text-secondary);display:flex;flex-direction:column;gap:16px;height:100vh;height:100dvh;justify-content:center}.loading-spinner{animation:spin .8s linear infinite;border:3px solid #2a2a40;border-top-color:#7c3aed;border:3px solid var(--border);border-radius:50%;border-top-color:var(--accent);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.auth-container{align-items:center;background:#0f0f1a;background:var(--bg-primary);background-image:radial-gradient(ellipse at 20% 50%,#7c3aed14 0,#0000 50%),radial-gradient(ellipse at 80% 20%,#7c3aed0d 0,#0000 50%);display:flex;height:100vh;height:100dvh;justify-content:center;position:relative}.auth-card{background:#1a1a2e;background:var(--bg-secondary);border:1px solid #2a2a40;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 4px 24px #0000004d;box-shadow:var(--shadow);max-width:420px;padding:40px;width:100%}.auth-logo{margin-bottom:32px;text-align:center}.logo-icon{display:block;font-size:48px;margin-bottom:8px}.auth-logo h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#7c3aed,#a78bfa);background:linear-gradient(135deg,var(--accent),#a78bfa);-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:700}.auth-subtitle{color:#a0a0b8;color:var(--text-secondary);font-size:14px;margin-top:4px}.form-group{margin-bottom:20px}.form-group label{color:#a0a0b8;color:var(--text-secondary);display:block;font-size:13px;font-weight:500;margin-bottom:6px}.form-group input{background:#0f0f1a;background:var(--bg-primary);border:1px solid #2a2a40;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#e8e8f0;color:var(--text-primary);font-size:14px;outline:none;padding:12px 16px;transition:all .2s ease;transition:var(--transition);width:100%}.form-group input:focus{border-color:#7c3aed;border-color:var(--accent);box-shadow:0 0 0 3px #7c3aed26;box-shadow:0 0 0 3px var(--accent-light)}.btn-primary{background:#7c3aed;background:var(--accent);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px;transition:all .2s ease;transition:var(--transition);width:100%}.btn-primary:hover:not(:disabled){background:#6d28d9;background:var(--accent-hover);transform:translateY(-1px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.error-message{background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;border-radius:var(--radius-sm);color:#ef4444;color:var(--danger);font-size:13px;margin-bottom:16px;padding:10px 14px}.auth-switch{color:#a0a0b8;color:var(--text-secondary);font-size:14px;margin-top:24px;text-align:center}.auth-footer{bottom:16px;left:0;position:absolute;right:0;text-align:center}.disclaimer{color:#6b6b80;color:var(--text-muted);font-size:11px}.chat-layout{display:flex;height:100vh;height:100dvh;overflow:hidden}.sidebar{background:#1a1a2e;background:var(--bg-secondary);border-right:1px solid #2a2a40;border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;transition:transform .3s ease,width .3s ease;width:300px;width:var(--sidebar-width)}.sidebar.closed{border:none;overflow:hidden;transform:translateX(-100%);width:0}.sidebar-header{border-bottom:1px solid #2a2a40;border-bottom:1px solid var(--border);justify-content:space-between;padding:16px 20px}.sidebar-brand,.sidebar-header{align-items:center;display:flex}.sidebar-brand{gap:10px}.sidebar-brand .logo-icon{font-size:24px;margin:0}.brand-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#7c3aed,#a78bfa);background:linear-gradient(135deg,var(--accent),#a78bfa);-webkit-background-clip:text;background-clip:text;font-size:18px;font-weight:700}.icon-btn{background:none;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#a0a0b8;color:var(--text-secondary);cursor:pointer;font-size:16px;padding:6px 8px;transition:all .2s ease;transition:var(--transition)}.icon-btn:hover{background:#1f2b47;background:var(--bg-hover);color:#e8e8f0;color:var(--text-primary)}.sidebar-section{padding:16px 20px 8px}.section-label{color:#6b6b80;color:var(--text-muted);display:block;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.model-select{background:#0f0f1a;background:var(--bg-primary);border:1px solid #2a2a40;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#e8e8f0;color:var(--text-primary);cursor:pointer;font-size:13px;outline:none;padding:10px 12px;transition:all .2s ease;transition:var(--transition);width:100%}.model-select:focus{border-color:#7c3aed;border-color:var(--accent)}.new-chat-btn{align-items:center;background:#7c3aed;background:var(--accent);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;margin:12px 20px;padding:10px 16px;transition:all .2s ease;transition:var(--transition)}.new-chat-btn:hover{background:#6d28d9;background:var(--accent-hover)}.new-chat-btn span{font-size:18px;font-weight:300}.select-toolbar{padding:4px 20px}.select-mode-btn{background:none;border:1px solid #2a2a40;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#a0a0b8;color:var(--text-secondary);cursor:pointer;font-size:12px;padding:5px 12px;transition:all .2s ease;transition:var(--transition);width:100%}.select-mode-btn:hover{background:#1f2b47;background:var(--bg-hover);color:#e8e8f0;color:var(--text-primary)}.select-actions{align-items:center;display:flex;gap:8px}.select-all-label{align-items:center;color:#a0a0b8;color:var(--text-secondary);cursor:pointer;display:flex;font-size:12px;gap:6px;white-space:nowrap}.select-all-label input[type=checkbox]{accent-color:#7c3aed;accent-color:var(--accent)}.bulk-delete-btn{background:#ef4444;background:var(--danger);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:12px;padding:4px 10px;transition:all .2s ease;transition:var(--transition);white-space:nowrap}.bulk-delete-btn:disabled{cursor:not-allowed;opacity:.5}.bulk-delete-btn:hover:not(:disabled){opacity:.9}.cancel-select-btn{background:none;border:none;border-radius:4px;color:#a0a0b8;color:var(--text-secondary);cursor:pointer;font-size:14px;padding:2px 6px;transition:all .2s ease;transition:var(--transition)}.cancel-select-btn:hover{background:#1f2b47;background:var(--bg-hover);color:#e8e8f0;color:var(--text-primary)}.chat-checkbox{accent-color:#7c3aed;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.chat-item.selected{background:#7c3aed26;background:var(--accent-light)}.settings-panel{background:#16213e;background:var(--bg-tertiary);border-top:1px solid #2a2a40;border-top:1px solid var(--border);padding:12px 20px}.settings-header{align-items:center;color:#e8e8f0;color:var(--text-primary);display:flex;font-size:13px;font-weight:600;justify-content:space-between;margin-bottom:12px}.settings-option{margin-bottom:8px}.toggle-label{align-items:center;color:#e8e8f0;color:var(--text-primary);cursor:pointer;display:flex;font-size:13px;justify-content:space-between}.toggle-switch{background:#2a2a40;background:var(--border);border-radius:11px;cursor:pointer;height:22px;position:relative;transition:background .2s ease;width:40px}.toggle-switch.on{background:#7c3aed;background:var(--accent)}.toggle-knob{background:#fff;border-radius:50%;height:18px;left:2px;position:absolute;top:2px;transition:transform .2s ease;width:18px}.toggle-switch.on .toggle-knob{transform:translateX(18px)}.settings-hint{color:#6b6b80;color:var(--text-muted);font-size:11px;margin-top:4px}.chat-list{flex:1 1;overflow-y:auto;padding:8px 12px}.chat-item{align-items:center;border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:10px;padding:10px 12px;position:relative;transition:all .2s ease;transition:var(--transition)}.chat-item:hover{background:#1f2b47;background:var(--bg-hover)}.chat-item.active{background:#253352;background:var(--bg-active)}.chat-icon{flex-shrink:0;font-size:14px}.chat-title{flex:1 1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-actions{display:none;gap:2px}.chat-item:hover .chat-actions{display:flex}.action-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:12px;padding:2px 4px;transition:all .2s ease;transition:var(--transition)}.action-btn:hover{background:#16213e;background:var(--bg-tertiary)}.rename-input{background:#0f0f1a;background:var(--bg-primary);border:1px solid #7c3aed;border:1px solid var(--accent);border-radius:4px;color:#e8e8f0;color:var(--text-primary);flex:1 1;font-size:13px;outline:none;padding:4px 8px}.sidebar-footer{border-top:1px solid #2a2a40;border-top:1px solid var(--border);justify-content:space-between;padding:16px 20px}.sidebar-footer,.user-info{align-items:center;display:flex}.user-info{gap:10px}.user-avatar{align-items:center;background:#7c3aed;background:var(--accent);border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}.user-name{font-size:14px;font-weight:500}.footer-actions{align-items:center;display:flex;gap:4px}.logout-btn{font-size:18px}.chat-window{display:flex;flex:1 1;flex-direction:column;min-width:0}.chat-header{align-items:center;background:#1a1a2e;background:var(--bg-secondary);border-bottom:1px solid #2a2a40;border-bottom:1px solid var(--border);display:flex;gap:12px;padding:16px 24px}.menu-btn{font-size:20px}.chat-header-info{align-items:center;display:flex;gap:12px}.chat-header-info h2{font-size:16px;font-weight:600}.model-badge{background:#7c3aed26;background:var(--accent-light);border-radius:20px;color:#7c3aed;color:var(--accent);font-size:11px;font-weight:500;padding:4px 10px}.messages-container{flex:1 1;overflow-y:auto;padding:24px}.welcome-screen{align-items:center;color:#a0a0b8;color:var(--text-secondary);display:flex;flex-direction:column;gap:16px;height:100%;justify-content:center;text-align:center}.welcome-logo{animation:float 3s ease-in-out infinite;font-size:72px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.welcome-screen h2{color:#e8e8f0;color:var(--text-primary);font-size:24px}.welcome-screen p{font-size:14px;line-height:1.6;max-width:400px}.model-selector{max-width:280px;width:100%}.model-selector .model-select{font-size:14px;padding:10px 16px;text-align:center;width:100%}.messages-list{display:flex;flex-direction:column;gap:24px;margin:0 auto;max-width:800px}.message{animation:fadeIn .3s ease;display:flex;gap:14px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-avatar{align-items:center;background:#16213e;background:var(--bg-tertiary);border-radius:50%;display:flex;flex-shrink:0;font-size:18px;height:36px;justify-content:center;width:36px}.message-user .message-avatar{background:#7c3aed;background:var(--accent)}.message-content{flex:1 1;min-width:0}.message-role{color:#a0a0b8;color:var(--text-secondary);font-size:13px;font-weight:600;margin-bottom:4px}.message-text{color:#e8e8f0;color:var(--text-primary);font-size:14px;line-height:1.7}.message-text p{margin-bottom:8px}.message-text p:last-child{margin-bottom:0}.message-text pre{border-radius:8px;border-radius:var(--radius-sm);margin:12px 0;overflow:hidden}.message-text code.inline-code{background:#16213e;background:var(--bg-tertiary);border-radius:4px;font-family:Fira Code,Consolas,monospace;font-size:13px;padding:2px 6px}.message-text ol,.message-text ul{margin:8px 0;padding-left:24px}.message-text li{margin-bottom:4px}.message-duration{color:#a0a0b8;color:var(--text-secondary);font-size:11px;margin-top:6px;opacity:.7}.message-text blockquote{border-left:3px solid #7c3aed;border-left:3px solid var(--accent);color:#a0a0b8;color:var(--text-secondary);margin:12px 0;padding-left:16px}.message-text table{border-collapse:collapse;margin:12px 0;width:100%}.message-text td,.message-text th{border:1px solid #2a2a40;border:1px solid var(--border);padding:8px 12px;text-align:left}.message-text th{background:#16213e;background:var(--bg-tertiary);font-weight:600}.input-container{background:#0f0f1a;background:var(--bg-primary);padding:16px 24px 24px}.stop-btn{background:#16213e;background:var(--bg-tertiary);border:1px solid #2a2a40;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);color:#a0a0b8;color:var(--text-secondary);cursor:pointer;display:block;font-size:13px;margin:0 auto 12px;padding:6px 20px;transition:all .2s ease;transition:var(--transition)}.stop-btn:hover{background:#e74c3c;border-color:#e74c3c;color:#fff}.input-wrapper{align-items:flex-end;background:#1a1a2e;background:var(--bg-secondary);border:1px solid #2a2a40;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);display:flex;gap:12px;margin:0 auto;max-width:800px;padding:8px 12px;transition:all .2s ease;transition:var(--transition)}.input-wrapper:focus-within{border-color:#7c3aed;border-color:var(--accent);box-shadow:0 0 0 3px #7c3aed26;box-shadow:0 0 0 3px var(--accent-light)}.input-wrapper textarea{background:none;border:none;color:#e8e8f0;color:var(--text-primary);flex:1 1;font-size:14px;line-height:1.5;max-height:200px;outline:none;padding:6px 4px;resize:none}.input-wrapper textarea::placeholder{color:#6b6b80;color:var(--text-muted)}.send-btn{align-items:center;background:#7c3aed;background:var(--accent);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:40px;justify-content:center;transition:all .2s ease;transition:var(--transition);width:40px}.send-btn:hover:not(:disabled){background:#6d28d9;background:var(--accent-hover);transform:scale(1.05)}.send-btn:disabled{cursor:not-allowed;opacity:.4}.sending-indicator{animation:pulse 1s ease-in-out infinite;font-size:12px}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.success-message{background:#22c55e1a;border:1px solid #22c55e4d;border-radius:12px;border-radius:var(--radius);margin-bottom:16px;padding:24px;text-align:center}.success-icon{align-items:center;background:#22c55e;background:var(--success);border-radius:50%;color:#fff;display:inline-flex;font-size:24px;font-weight:700;height:48px;justify-content:center;margin-bottom:12px;width:48px}.success-message h3{color:#22c55e;color:var(--success);font-size:18px;margin-bottom:8px}.success-message p{color:#a0a0b8;color:var(--text-secondary);font-size:14px;line-height:1.5}.admin-panel{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.admin-header{align-items:center;background:#1a1a2e;background:var(--bg-secondary);border-bottom:1px solid #2a2a40;border-bottom:1px solid var(--border);display:flex;gap:12px;padding:16px 24px}.admin-header h2{font-size:16px;font-weight:600}.admin-content{flex:1 1;overflow-y:auto;padding:24px}.admin-loading{align-items:center;color:#a0a0b8;color:var(--text-secondary);display:flex;flex:1 1;justify-content:center}.admin-section{margin-bottom:32px}.admin-section-title{align-items:center;color:#a0a0b8;color:var(--text-secondary);display:flex;font-size:14px;font-weight:600;gap:8px;margin-bottom:12px}.badge{background:#ef4444;background:var(--danger);border-radius:10px;color:#fff;font-size:11px;font-weight:600;padding:2px 8px}.user-list{display:flex;flex-direction:column;gap:8px;max-width:600px}.user-card{align-items:center;background:#1a1a2e;background:var(--bg-secondary);border:1px solid #2a2a40;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);display:flex;justify-content:space-between;padding:12px 16px}.user-card.pending{background:#eab3080d;border-color:#eab3084d}.user-card-info{align-items:center;display:flex;gap:12px}.user-card-avatar{background:#7c3aed;background:var(--accent);border-radius:50%;color:#fff;flex-shrink:0;font-weight:600;height:36px;justify-content:center;width:36px}.user-card-avatar,.user-card-name{align-items:center;display:flex;font-size:14px}.user-card-name{font-weight:500;gap:8px}.user-card-email{color:#6b6b80;color:var(--text-muted);font-size:12px}.role-badge{background:#7c3aed26;background:var(--accent-light);border-radius:4px;color:#7c3aed;color:var(--accent);font-size:10px;font-weight:600;padding:2px 6px}.btn-activate{background:#22c55e;background:var(--success);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:6px 16px;transition:all .2s ease;transition:var(--transition)}.btn-activate:hover{opacity:.9}.btn-deactivate{background:#0000;border:1px solid #ef4444;border:1px solid var(--danger);border-radius:8px;border-radius:var(--radius-sm);color:#ef4444;color:var(--danger);cursor:pointer;font-size:13px;font-weight:500;padding:6px 16px;transition:all .2s ease;transition:var(--transition)}.btn-deactivate:hover{background:#ef44441a}.user-card-actions{align-items:center;display:flex;flex-shrink:0;gap:6px}.user-card-activity{color:#6b6b80;color:var(--text-muted);font-size:11px;margin-top:2px}.btn-edit{background:none;border:1px solid #2a2a40;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;padding:4px 8px;transition:all .2s ease;transition:var(--transition)}.btn-edit:hover{background:#1f2b47;background:var(--bg-hover)}.btn-delete{background:none;border:none;border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;font-size:15px;opacity:.6;padding:4px 6px;transition:all .2s ease;transition:var(--transition)}.btn-delete:hover{background:#ef44441a;opacity:1}.modal-backdrop{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;position:fixed;z-index:500}.modal{background:#1a1a2e;background:var(--bg-secondary);border:1px solid #2a2a40;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 4px 24px #0000004d;box-shadow:var(--shadow);max-width:380px;padding:24px;width:100%}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.modal-header h3{font-size:15px;font-weight:600}.modal-body{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.modal-label{color:#a0a0b8;color:var(--text-secondary);font-size:12px;font-weight:500;margin-bottom:-4px}.modal-input{background:#0f0f1a;background:var(--bg-primary);border:1px solid #2a2a40;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#e8e8f0;color:var(--text-primary);font-size:14px;outline:none;padding:9px 12px;transition:all .2s ease;transition:var(--transition);width:100%}.modal-input:focus{border-color:#7c3aed;border-color:var(--accent);box-shadow:0 0 0 3px #7c3aed26;box-shadow:0 0 0 3px var(--accent-light)}.modal-actions{display:flex;gap:8px}.sidebar-footer-copyright{border-top:1px solid #2a2a40;border-top:1px solid var(--border);color:#6b6b80;color:var(--text-muted);font-size:10px;line-height:1.4;padding:6px 16px;text-align:center}.settings-divider{background:#2a2a40;background:var(--border);height:1px;margin:10px 0}.settings-link-btn{background:none;border:1px solid #2a2a40;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#a0a0b8;color:var(--text-secondary);cursor:pointer;font-size:13px;padding:7px 12px;text-align:left;transition:all .2s ease;transition:var(--transition);width:100%}.settings-link-btn:hover{background:#1f2b47;background:var(--bg-hover);color:#e8e8f0;color:var(--text-primary)}.password-change-form{display:flex;flex-direction:column;gap:8px}.password-change-form input[type=password]{background:#0f0f1a;background:var(--bg-primary);border:1px solid #2a2a40;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#e8e8f0;color:var(--text-primary);font-size:13px;outline:none;padding:8px 12px;transition:all .2s ease;transition:var(--transition);width:100%}.password-change-form input[type=password]:focus{border-color:#7c3aed;border-color:var(--accent);box-shadow:0 0 0 2px #7c3aed26;box-shadow:0 0 0 2px var(--accent-light)}.password-change-actions{display:flex;gap:8px;margin-top:2px}.btn-sm-primary{background:#7c3aed;background:var(--accent);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;flex:1 1;font-size:13px;font-weight:500;padding:7px 12px;transition:all .2s ease;transition:var(--transition)}.btn-sm-primary:hover:not(:disabled){background:#6d28d9;background:var(--accent-hover)}.btn-sm-primary:disabled{cursor:not-allowed;opacity:.5}.btn-sm-cancel{background:none;border:1px solid #2a2a40;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#a0a0b8;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:13px;padding:7px 12px;transition:all .2s ease;transition:var(--transition)}.btn-sm-cancel:hover{background:#1f2b47;background:var(--bg-hover);color:#e8e8f0;color:var(--text-primary)}.error-message.small,.success-message.small{border-radius:8px;border-radius:var(--radius-sm);font-size:12px;padding:6px 10px}.error-message.small{background:#ef44441a;border:1px solid #ef44444d;color:#ef4444;color:var(--danger)}.success-message.small{background:#22c55e1a;border:1px solid #22c55e4d;color:#22c55e;color:var(--success)}.sleeping-emoji{animation:breathe 4s ease-in-out infinite;display:block;font-size:72px}@keyframes breathe{0%,to{transform:scale(1) rotate(-3deg)}50%{transform:scale(1.08) rotate(3deg)}}.sleeping-zzz{align-items:flex-end;display:flex;gap:4px;height:32px}.sleeping-zzz .z{animation:floatZ 2.4s ease-in-out infinite;color:#7c3aed;color:var(--accent);font-weight:700;opacity:0}.sleeping-zzz .z1{animation-delay:0s;font-size:20px}.sleeping-zzz .z2{animation-delay:.6s;font-size:15px}.sleeping-zzz .z3{animation-delay:1.2s;font-size:11px}@keyframes floatZ{0%{opacity:0;transform:translateY(0)}20%{opacity:1}80%{opacity:.6}to{opacity:0;transform:translateY(-24px)}}.offline-msg{color:#6b6b80;color:var(--text-muted);font-size:14px;line-height:1.7;max-width:320px;text-align:center}.admin-tabs{background:#1a1a2e;background:var(--bg-secondary);border-bottom:1px solid #2a2a40;border-bottom:1px solid var(--border);display:flex;gap:0;padding:0 24px}.admin-tab{background:none;border:none;border-bottom:2px solid #0000;color:#a0a0b8;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:500;padding:12px 20px;transition:all .2s ease;transition:var(--transition)}.admin-tab:hover{color:#e8e8f0;color:var(--text-primary)}.admin-tab.active{border-bottom-color:#7c3aed;border-bottom-color:var(--accent);color:#7c3aed;color:var(--accent)}.admin-section-hint{color:#6b6b80;color:var(--text-muted);font-size:13px;line-height:1.5;margin-bottom:16px}.models-offline-hint{background:#1a1a2e;background:var(--bg-secondary);border:1px solid #2a2a40;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#6b6b80;color:var(--text-muted);font-size:14px;padding:16px}.model-name-list{gap:10px;max-width:600px}.model-name-card,.model-name-list{display:flex;flex-direction:column}.model-name-card{background:#1a1a2e;background:var(--bg-secondary);border:1px solid #2a2a40;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);gap:8px;padding:12px 16px}.model-name-original{color:#6b6b80;color:var(--text-muted);font-family:Fira Code,Consolas,monospace;font-size:12px}.model-name-input-row{align-items:center;display:flex;gap:8px}.model-display-name-input{background:#0f0f1a;background:var(--bg-primary);border:1px solid #2a2a40;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#e8e8f0;color:var(--text-primary);flex:1 1;font-size:14px;outline:none;padding:8px 12px;transition:all .2s ease;transition:var(--transition)}.model-display-name-input:focus{border-color:#7c3aed;border-color:var(--accent);box-shadow:0 0 0 3px #7c3aed26;box-shadow:0 0 0 3px var(--accent-light)}.btn-save-name{background:#7c3aed;background:var(--accent);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s ease;transition:var(--transition);white-space:nowrap}.btn-save-name:hover:not(:disabled){background:#6d28d9;background:var(--accent-hover)}.btn-save-name:disabled{cursor:not-allowed;opacity:.5}.back-btn,.sidebar-backdrop{display:none}@media (max-width:768px){.sidebar{box-shadow:0 4px 24px #0000004d;box-shadow:var(--shadow);height:100vh;height:100dvh;left:0;max-width:320px;position:fixed;top:0;width:85vw;z-index:200}.sidebar.closed{transform:translateX(-100%)}.sidebar-header{padding:12px 16px}.sidebar-section{padding:12px 16px 6px}.new-chat-btn{margin:8px 16px}.sidebar-footer{padding:12px 16px}.sidebar-backdrop{background:#00000080;display:block;inset:0;opacity:1;position:fixed;transition:opacity .3s ease;z-index:150}.sidebar-backdrop.hidden{opacity:0;pointer-events:none}.chat-window{height:100vh;height:100dvh}.chat-header{flex-shrink:0;gap:8px;padding:10px 12px}.chat-header-info h2{font-size:14px}.back-btn{align-items:center;display:flex;font-size:20px;justify-content:center}.messages-container{padding:16px}.input-container{padding:8px 12px 12px}.auth-card{margin:16px;padding:24px}}
/*# sourceMappingURL=main.1ff1f2e9.css.map*/