.app-footer{background-color:var(--card-bg);color:var(--text-primary);border-radius:0;padding:24px;border:none;border-bottom:1px solid var(--border-color);box-shadow:none;margin:0;width:100%;box-sizing:border-box}.app-footer p{margin:0;font-size:14px;color:var(--text-muted);text-align:center;line-height:1.4}.app-footer a{color:var(--accent-color);text-decoration:none;transition:color .2s ease}.app-footer a:hover{color:var(--accent-hover);text-decoration:underline}@media (max-width: 430px){.app-footer{padding:16px}.app-footer p{font-size:12px}}@media (max-width: 480px){.app-footer p{font-size:11px;line-height:1.3}}body:has(.signin-container){margin:0!important;padding:0!important;overflow:hidden!important}#root:has(.signin-container){margin:0!important;padding:0!important;width:100vw!important;height:100vh!important}.app-container:has(.signin-container){padding:0!important;margin:0!important;display:flex!important;justify-content:center!important;align-items:center!important;width:100vw!important;height:100vh!important;background:#0c0d0f!important;background-color:#0c0d0f!important}.container:has(.signin-container){max-width:none!important;padding:0!important;margin:0!important;width:100vw!important;height:100vh!important;display:flex!important;justify-content:center!important;align-items:center!important;background:#0c0d0f!important;background-color:#0c0d0f!important}.signin-container{position:relative!important;inset:auto!important;width:100vw!important;height:100vh!important;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0c0d0f!important;margin:0!important;padding:2rem 1rem;box-sizing:border-box;overflow:hidden;z-index:9999}.signin-container,.signin-container.light,.signin-container.dark{background:#0c0d0f}.signin-form{background:#1e293b;border:1px solid #334155;border-radius:12px;padding:2.5rem;box-shadow:0 10px 15px -3px #0000004d,0 4px 6px -4px #0000004d;width:100%;max-width:480px;position:relative;z-index:1;flex-shrink:0;margin:0 auto}.signin-container .app-footer{background:#1e293b!important;background-color:#1e293b!important;border:1px solid #334155!important;border-top:1px solid #334155!important;border-radius:0 0 12px 12px!important;padding:1rem 2.5rem!important;margin:0!important;width:100%!important;max-width:480px!important;box-shadow:0 10px 15px -3px #0000004d,0 4px 6px -4px #0000004d!important}.signin-container .app-footer p{color:#94a3b8!important;text-align:center!important}.signin-container .app-footer a{color:#60a5fa!important}.signin-header{text-align:center;margin-bottom:2rem}.signin-title{font-size:2rem;font-weight:600;margin-bottom:.5rem;color:#f8fafc}.signin-subtitle{color:#e2e8f0;margin:0;font-size:1rem;font-weight:400}.signin-buttons{display:flex;flex-direction:column;gap:.875rem;margin-bottom:2rem}.signin-btn{background:#131314;color:#e3e3e3;border:1px solid #8e918f;padding:.75rem 1.25rem;font-size:.95rem;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative;display:flex;align-items:center;justify-content:center;gap:.75rem;min-height:48px;width:100%;max-width:100%;box-sizing:border-box;text-decoration:none}.signin-btn:hover:not(:disabled){background:#1a1a1b;border-color:#a0a0a0;transform:translateY(-1px)}.signin-btn:active{transform:translateY(0)}.signin-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.google-btn{background:#131314;border-color:#8e918f;color:#e3e3e3}.google-btn:hover:not(:disabled){background:#1a1a1b;border-color:#a0a0a0}.github-btn{background:#131314;border-color:#8e918f;color:#e3e3e3}.github-btn:hover:not(:disabled){background:#1a1a1b;border-color:#a0a0a0}.btn-text{font-weight:500;letter-spacing:-.01em;white-space:nowrap;flex-shrink:0}.signin-btn.loading .btn-text{opacity:.7}.signin-btn.loading{pointer-events:none}.signin-footer{text-align:center;padding-top:1.5rem;border-top:1px solid #334155}.signin-footer p{margin:0;font-size:.875rem;line-height:1.6;color:#94a3b8}.footer-link{color:#60a5fa;text-decoration:none;transition:color .2s ease}.footer-link:hover{color:#3b82f6;text-decoration:underline}.signin-app-footer{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #334155}.signin-app-footer .app-footer{background:transparent!important;border:none!important;border-radius:0!important;padding:0!important;margin:0!important;box-shadow:none!important}.signin-app-footer .app-footer p{color:#94a3b8!important;text-align:center!important;font-size:.875rem!important}.signin-app-footer .app-footer a{color:#60a5fa!important}@media (max-width: 768px){.signin-container{padding:.75rem}.signin-form{padding:2rem 1.5rem;max-width:none;border-radius:12px!important;margin:0 auto!important}.signin-title{font-size:1.75rem}.signin-subtitle{font-size:.95rem}.signin-btn{padding:.75rem 1rem;font-size:.9rem;width:100%;box-sizing:border-box}.signin-buttons{gap:.75rem}}@media (max-width: 480px){.signin-container{padding:.5rem}.signin-form{padding:1.5rem;border-radius:12px!important;margin:0 auto!important}.signin-title{font-size:1.5rem}.signin-subtitle{font-size:.9rem}.signin-btn{padding:.75rem;font-size:.875rem;min-height:44px;width:100%;box-sizing:border-box}.signin-buttons{gap:.625rem}.signin-footer p{font-size:.8rem}}.user-profile-menu{position:relative;display:inline-block}.profile-button{background:none;border:none;cursor:pointer;padding:4px;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.profile-button:hover{background:var(--secondary-bg);transform:scale(1.05)}.profile-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid var(--border-color)}.profile-avatar-fallback{width:36px;height:36px;border-radius:50%;background:var(--accent-color);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;border:2px solid var(--border-color)}.navbar .user-profile-menu .profile-avatar,.navbar .user-profile-menu .profile-avatar-fallback{border:2px solid var(--border-color)}.profile-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-lg);min-width:220px;z-index:1000;overflow:hidden;animation:dropdownFadeIn .2s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.profile-header{padding:16px;background:var(--secondary-bg)}.profile-info{display:flex;flex-direction:column}.profile-name{font-weight:600;color:var(--text-primary);font-size:14px;margin-bottom:2px}.profile-email{color:var(--text-secondary);font-size:12px;opacity:.8}.profile-divider{height:1px;background:var(--border-color)}.profile-menu-items{padding:8px 0}.profile-menu-item{display:flex;align-items:center;width:100%;padding:12px 16px;color:var(--text-primary);text-decoration:none;background:none;border:none;cursor:pointer;font-size:14px;transition:background-color .2s ease;text-align:left}.profile-menu-item:hover{background:var(--secondary-bg)}.logout-item{color:#ef4444}.logout-item:hover{background:#ef44441a}.menu-icon{margin-right:12px;font-size:16px;width:20px;text-align:center}.drawer-layout{display:flex;flex-direction:column;height:100vh;width:100vw;position:fixed;inset:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--background);color:var(--text-primary)}.sidebar{position:fixed;left:0;top:56px;bottom:0;width:50px;background-color:var(--card-bg);border-right:1px solid var(--border-color);display:flex;flex-direction:column;z-index:1000;transition:all .3s ease;box-shadow:var(--shadow)}.sidebar-nav{display:flex;flex-direction:column;padding:16px 0;gap:8px}.nav-item{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0 auto;border-radius:8px;text-decoration:none;color:var(--text-muted);transition:all .2s ease;position:relative;background-color:transparent;border:none;cursor:pointer}.nav-item:hover{background-color:var(--secondary-bg);color:var(--accent-color);transform:scale(1.05)}.nav-item.active{background-color:var(--accent-color);color:#fff;box-shadow:0 2px 8px #3b82f64d}.nav-icon{font-size:20px;display:flex;align-items:center;justify-content:center}.nav-item:after{content:attr(title);position:absolute;left:58px;top:50%;transform:translateY(-50%);background:var(--card-bg);color:var(--text-primary);padding:8px 12px;border-radius:0;border:1px solid var(--border-color);font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease;box-shadow:var(--shadow-lg);z-index:1001}.nav-item:hover:after{opacity:1;transform:translateY(-50%) translate(4px)}.top-navbar{position:fixed;top:0;left:0;right:0;height:56px;background-color:var(--card-bg);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 24px 0 74px;z-index:999;box-shadow:var(--shadow)}.navbar-left{display:flex;align-items:center;gap:16px}.navbar-right{display:flex;align-items:center;gap:12px}.top-navbar h3{margin:0;color:var(--text-primary);font-size:18px;font-weight:600}.navbar-icon-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;text-decoration:none;transition:all .2s ease;cursor:pointer;background-color:transparent;color:var(--text-muted);border:none;position:relative}.navbar-icon-btn:hover{background-color:var(--secondary-bg);color:var(--accent-color);transform:scale(1.05)}.navbar-icon-btn.active{background-color:var(--accent-color);color:#fff;box-shadow:0 2px 8px #3b82f64d}.navbar-icon-btn:after{content:attr(title);position:absolute;bottom:-36px;left:50%;transform:translate(-50%);background:var(--card-bg);color:var(--text-primary);padding:6px 10px;border-radius:4px;border:1px solid var(--border-color);font-size:11px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease;box-shadow:var(--shadow-lg);z-index:1001}.navbar-icon-btn:hover:after{opacity:1}@media (max-width: 430px){.sidebar{display:none}.top-navbar{left:0;height:56px;padding:0 16px}.nav-item:after{display:none}.navbar-icon-btn:after{display:none}}.mobile-menu-btn{display:none;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:8px;border-radius:4px;transition:all .2s ease;margin-right:12px}.mobile-menu-btn:hover{background-color:var(--secondary-bg);color:var(--accent-color)}.mobile-menu-overlay{position:fixed;inset:0;background:#00000080;z-index:2000;display:flex;justify-content:center;align-items:flex-start;padding-top:80px}.mobile-menu{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-lg);width:90%;max-width:320px;max-height:80vh;overflow-y:auto}.mobile-menu-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color)}.mobile-menu-header h4{margin:0;color:var(--text-primary);font-size:18px;font-weight:600}.mobile-menu-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:24px;padding:4px;line-height:1;border-radius:4px;transition:all .2s ease}.mobile-menu-close:hover{background-color:var(--secondary-bg);color:var(--text-primary)}.mobile-menu-items{padding:8px 0}.mobile-menu-item{display:flex;align-items:center;gap:12px;padding:12px 20px;text-decoration:none;color:var(--text-primary);transition:all .2s ease;border:none;background:none}.mobile-menu-item:hover{background-color:var(--secondary-bg);color:var(--accent-color)}.mobile-menu-item.active{background-color:var(--accent-color);color:#fff}.mobile-menu-icon{font-size:18px;width:24px;text-align:center}@media (max-width: 430px){.mobile-menu-btn{display:flex;align-items:center;justify-content:center}}.account-content{position:fixed;inset:56px 0 0 50px;display:flex;flex-direction:column;overflow-y:auto;background-color:var(--background)}.page-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:0;padding:24px;background:var(--card-bg);border-bottom:1px solid var(--border-color)}.page-header h1{font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700;margin:0;background:linear-gradient(135deg,var(--text-primary),var(--text-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.account-container{display:flex;flex-direction:column;gap:0}.profile-section,.settings-section,.danger-section{display:flex;justify-content:stretch;width:100%}.profile-card,.settings-card,.danger-card{background:var(--card-bg);border:none;border-bottom:1px solid var(--border-color);border-radius:0;padding:clamp(1.5rem,4vw,2rem);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;width:100%;box-sizing:border-box;transition:all .3s ease}.profile-card:hover,.settings-card:hover{background-color:var(--secondary-bg)}.danger-card{border-color:var(--danger-border);background:var(--danger-bg)}.danger-card:hover{background-color:var(--secondary-bg)}.profile-avatar-large,.profile-avatar-large-fallback{width:clamp(80px,15vw,120px);height:clamp(80px,15vw,120px);border-radius:50%;object-fit:cover;margin-bottom:1rem;border:3px solid var(--border-color);transition:transform .3s ease}.profile-avatar-large:hover,.profile-avatar-large-fallback:hover{transform:scale(1.05)}.profile-avatar-large-fallback{background:linear-gradient(135deg,var(--accent-color),var(--accent-hover));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:clamp(1.5rem,6vw,2rem)}.profile-name{font-size:clamp(1.25rem,4vw,1.5rem);font-weight:600;margin:.5rem 0;color:var(--text-primary)}.profile-email{font-size:clamp(.9rem,3vw,1rem);color:var(--text-secondary);margin-bottom:1.5rem;padding:.5rem 1rem;background:var(--input-bg);border-radius:0;border:1px solid var(--border-color)}.theme-toggle-btn{padding:.875rem 1.75rem;font-size:clamp(.875rem,2.5vw,.95rem);font-weight:500;border-radius:0;cursor:pointer;background:var(--secondary-bg);border:1px solid var(--border-color);color:var(--text-primary);transition:all .3s ease;position:relative;overflow:hidden}.theme-toggle-btn:hover{background:var(--accent-color);color:#fff;transform:translateY(-1px);box-shadow:0 4px 16px #0000001a}.theme-toggle-btn:active{transform:translateY(0)}.setting-group{margin-bottom:1.5rem}.setting-group label{display:block;margin-bottom:.75rem;font-weight:600;color:var(--text-primary);font-size:clamp(.9rem,2.5vw,1rem)}.api-key-input,.model-select{width:100%;padding:1rem;border-radius:0;border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-primary);font-size:clamp(.9rem,2.5vw,.95rem);box-sizing:border-box;transition:all .3s ease;font-family:inherit}.api-key-input:focus,.model-select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #3b82f61a;background:var(--card-bg)}.api-key-input::placeholder{color:var(--text-muted)}.api-key-actions{display:flex;gap:.75rem;margin-top:.75rem;flex-wrap:wrap}.edit-btn,.delete-btn,.cancel-btn,.save-settings-btn{padding:.75rem 1.5rem;font-size:clamp(.875rem,2.5vw,.95rem);font-weight:500;border-radius:0;cursor:pointer;border:none;transition:all .3s ease;position:relative;overflow:hidden}.edit-btn,.save-settings-btn{background:var(--accent-color);color:#fff}.edit-btn:hover,.save-settings-btn:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 16px #3b82f64d}.delete-btn{background:var(--danger-color);color:#fff}.delete-btn:hover{background:var(--danger-hover);transform:translateY(-1px);box-shadow:0 4px 16px #e74c3c4d}.cancel-btn{background:var(--secondary-bg);color:var(--text-secondary);border:1px solid var(--border-color)}.cancel-btn:hover{background:var(--border-color);color:var(--text-primary);transform:translateY(-1px)}.input-help{display:block;margin-top:.75rem;font-size:clamp(.8rem,2vw,.875rem);color:var(--text-muted);line-height:1.5;padding:.5rem .75rem;background:var(--secondary-bg);border-radius:0;border-left:3px solid var(--accent-color)}.danger-description{font-size:clamp(.9rem,2.5vw,.95rem);color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.6;padding:1rem;background:#e74c3c0d;border-radius:0;border-left:3px solid var(--danger-color)}@media (max-width: 430px){.account-content{left:0}.account-page{padding:1rem}.profile-card,.settings-card,.danger-card{padding:1.25rem}.profile-avatar-large,.profile-avatar-large-fallback{align-self:center}}
