.sidebar{background:var(--surface-raised);border-right:1px solid var(--border-normal);z-index:10001;width:20rem;height:100dvh;min-height:0;transition:left var(--transition-slow);-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);box-shadow:none;flex-direction:column;display:flex;position:fixed;top:0;left:-20rem;overflow:hidden}.sidebar.open{box-shadow:var(--shadow-xl);left:0}.sidebar-overlay{z-index:10000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#00000080;display:none;position:fixed;inset:0}.sidebar-overlay.active{display:block}.sidebar-header{padding:var(--space-4);border-bottom:1px solid var(--border-normal);background:var(--surface-raised);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.sidebar-header h2{color:var(--accent-subtle);margin:0;font-size:1.3rem;font-weight:700}.close-sidebar{color:var(--text-primary);cursor:pointer;opacity:.7;width:32px;height:32px;transition:opacity var(--transition-normal);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:2rem;display:flex}.close-sidebar:hover{opacity:1}.sidebar-content{min-height:0;padding:var(--space-4);flex:1;overflow:hidden auto}.auth-section{padding:var(--space-3) var(--space-4) max(var(--space-3), env(safe-area-inset-bottom));background:var(--surface-raised);border-top:1px solid var(--border-normal);flex:none;margin:0}.sidebar-section{margin-bottom:var(--space-6)}.sidebar-section.is-visible{display:block}.sidebar-section h3{color:var(--accent);text-transform:uppercase;letter-spacing:.5px;margin:0 0 .8rem;font-size:.95rem;font-weight:600}.sidebar-link{padding:var(--space-3) var(--space-4);color:var(--text-primary);border-radius:var(--radius-md);margin-bottom:var(--space-2);align-items:center;font-weight:500;text-decoration:none;display:flex}.sidebar-link:hover{background:var(--surface-hover)}.sidebar-link.active{border:1px solid var(--accent);background:linear-gradient(135deg,#ffb6c133,#dda0dd33)}.sidebar-icon{text-align:center;flex-shrink:0;width:24px;margin-right:.8rem;font-size:1.2rem}.custom-dropdown{width:100%;margin-top:.5rem;position:relative}.dropdown-selected{border:2px solid var(--border-normal);background:var(--surface-input);color:var(--text-primary);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:.8rem;font-weight:500;display:flex}.dropdown-selected:hover{border-color:var(--accent)}.dropdown-selected.active{border-color:var(--accent);border-radius:8px 8px 0 0}.dropdown-arrow{transition:transform var(--transition-slow);color:var(--text-secondary);font-size:.8rem}.dropdown-selected.active .dropdown-arrow{transform:rotate(180deg)}.dropdown-options{background:var(--surface-input);border:2px solid var(--accent);opacity:0;visibility:hidden;z-index:10002;max-height:0;box-shadow:var(--shadow-md);border-top:none;border-radius:0 0 8px 8px;position:absolute;top:100%;left:0;right:0;overflow:hidden}.dropdown-options.active{opacity:1;visibility:visible;max-height:300px;overflow-y:auto}.dropdown-option{color:var(--text-primary);cursor:pointer;border-bottom:1px solid var(--border-normal);align-items:center;padding:.8rem;display:flex}.dropdown-option:last-child{border-bottom:none}.dropdown-option:hover{background:#ffffff1a}.dropdown-option:focus-visible{background:#ffffff26}.dropdown-option.active{background:#ffffff26;font-weight:600}.theme-preview{border:2px solid #ffffff4d;border-radius:50%;flex-shrink:0;width:16px;height:16px;margin-right:10px}.dark-preview{background:linear-gradient(135deg,#1a1f2e,#24283d)}.light-preview{background:linear-gradient(135deg,#f8f9fa,#fff);border-color:#0003}.lavender-preview{background:linear-gradient(135deg,#f5f3ff,#d8b4fe)}.mint-preview{background:linear-gradient(135deg,#f0fdf9,#99f6e4)}.peach-preview{background:linear-gradient(135deg,#fff7ed,#fdba74)}.dark-lavender-preview{background:linear-gradient(135deg,#1e1b2e,#c4b5fd)}.vanilla-orange-preview{background:linear-gradient(135deg,#fff8e1,#ffb74d)}.sidebar-btn{border:1.5px solid var(--border-focus);background:var(--action-primary);width:100%;color:var(--action-text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;margin-bottom:1rem;padding:.8rem;font-weight:600;display:flex}.sidebar-btn:hover{background:var(--action-hover);transform:translateY(-1px)}.sessions-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.sidebar-session-item{background:var(--surface-subtle);border:1px solid var(--border-normal);border-radius:var(--radius-md);padding:var(--space-3);cursor:pointer;justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.sidebar-session-item:hover{background:var(--surface-hover)}.sidebar-session-item.active{border-color:var(--accent);background:linear-gradient(135deg,#ffb6c133,#dda0dd33)}#sidebarSessionsList.switching-active .sidebar-session-item{pointer-events:none;opacity:.6;cursor:not-allowed}.sidebar-session-item.switching{opacity:.5;cursor:wait;pointer-events:none}.session-content{cursor:pointer;flex:1;min-width:0}.sidebar-session-name{white-space:nowrap;text-overflow:ellipsis;margin-bottom:.3rem;font-size:.9rem;font-weight:600;overflow:hidden}.sidebar-session-meta{color:var(--text-secondary);opacity:.8;font-size:.75rem}.session-actions{gap:var(--space-1);opacity:0;transition:opacity var(--transition-fast);margin-left:var(--space-2);flex-shrink:0;display:flex}.sidebar-session-item:hover .session-actions{opacity:1}.session-action-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex}.session-action-btn:hover{color:var(--text-primary);background-color:#ffffff1a}.session-action-btn.rename-btn:hover{color:var(--accent-subtle)}.session-action-btn.delete-btn:hover{color:#ff6b6b}.session-action-btn svg{width:14px;height:14px}.session-notification{z-index:10000;animation:slideInRight var(--motion-slow) var(--motion-easing-standard);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:300px;box-shadow:var(--shadow-md);border:1px solid #ffffff1a;border-radius:8px;padding:12px 16px;font-size:14px;font-weight:500;position:fixed;top:20px;right:20px}.session-notification.success{color:#fff;background:linear-gradient(135deg,#4caf50e6,#388e3ce6)}.session-notification.error{color:#fff;background:linear-gradient(135deg,#f44336e6,#c62828e6)}.session-notification.info{color:#fff;background:linear-gradient(135deg,#2196f3e6,#1976d2e6)}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.loading,.no-sessions,.error{text-align:center;border-radius:8px;padding:1.25rem;font-style:italic}.loading,.no-sessions{color:var(--text-secondary);background:#ffffff0d;border:1px dashed #ffffff1a}.error{color:#ff6b6b;background:#ff6b6b1a;border:1px dashed #ff6b6b4d}.hamburger-menu{background:var(--menu-trigger-surface);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--menu-trigger-foreground);border:1px solid var(--menu-trigger-border);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-sm);transition:background var(--transition-fast), border-color var(--transition-fast);place-items:center;padding:0;display:grid;position:static}.menu-trigger__icon{fill:none;stroke:currentColor;stroke-width:2.25px;stroke-linecap:round;width:24px;height:24px}.hamburger-menu:hover{background:var(--menu-trigger-hover);border-color:var(--menu-trigger-border)}.hamburger-menu:focus-visible{outline:2px solid var(--menu-trigger-focus);outline-offset:2px}.hamburger-menu.active{background:var(--menu-trigger-open);border-color:var(--menu-trigger-border)}@media (width<=768px){.sidebar{width:280px;left:-280px}.session-actions{opacity:1}.session-action-btn{padding:5px}.session-action-btn svg{width:16px;height:16px}.session-notification{max-width:none;padding:10px 14px;font-size:13px;top:10px;left:10px;right:10px}.dropdown-selected,.dropdown-option{padding:.7rem;font-size:.85rem}.theme-preview{width:14px;height:14px;margin-right:8px}.sidebar-header{padding:1rem}.sidebar-header h2{font-size:1.2rem}.sidebar-content{padding:.8rem}.sidebar-section{margin-bottom:1.25rem}.sidebar-link{padding:.7rem .9rem;font-size:.9rem}.sidebar-btn{padding:.7rem;font-size:.9rem}.sidebar-session-item{padding:.7rem}.sidebar-session-name{font-size:.85rem}.sidebar-session-meta{font-size:.7rem}}@media (width<=360px){.sidebar{width:260px;left:-260px}.sidebar-session-item{padding:.6rem}.session-actions{gap:3px}.session-action-btn{padding:3px}.session-action-btn svg{width:13px;height:13px}.sidebar-header{padding:.8rem}.sidebar-header h2{font-size:1.1rem}.sidebar-content{padding:.6rem}.sidebar-section h3{margin-bottom:.8rem;font-size:.9rem}.sidebar-link{padding:.6rem .8rem;font-size:.85rem}.sidebar-icon{margin-right:.6rem;font-size:1.1rem}}@media (width<=320px){.sidebar{width:240px;left:-240px}.sidebar-header{padding:.7rem}.sidebar-header h2{font-size:1rem}.close-sidebar{width:28px;height:28px;font-size:1.8rem}.sidebar-section{margin-bottom:1.2rem}.sidebar-section h3{font-size:.85rem}.dropdown-selected,.dropdown-option{padding:.6rem;font-size:.8rem}.theme-preview{width:12px;height:12px;margin-right:6px}}.auth-section h3{color:var(--accent-subtle);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.8rem;font-size:.85rem}.auth-loading{color:var(--text-secondary);padding:.5rem 0;font-size:.85rem}.auth-login-buttons{flex-direction:column;gap:.6rem;display:flex}.auth-provider-logo{object-fit:contain;flex:none;width:1.25rem;height:1.25rem}.auth-btn{cursor:pointer;width:100%;transition:background var(--transition-normal), border-color var(--transition-normal);border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.85rem;font-weight:600;display:flex}.auth-btn svg{flex-shrink:0}.auth-google-btn,.auth-github-btn{background:var(--action-primary);color:var(--action-text);border:1px solid var(--border-normal)}.auth-google-btn:hover,.auth-github-btn:hover{background:var(--action-hover);border-color:var(--accent)}.byok-section{border-bottom:1.5px solid var(--accent-subtle);padding:1.2rem}.byok-section h3{color:var(--accent-subtle);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.8rem;font-size:.85rem}.byok-placeholder{flex-direction:column;gap:.5rem;display:flex}.byok-status{border-radius:6px;padding:.4rem .6rem;font-size:.85rem}.byok-empty{color:var(--text-secondary);background:var(--surface-input);border:1px solid var(--border-normal)}.byok-manage-btn{background:var(--action-primary);color:var(--text-secondary);border:1px solid var(--border-normal);cursor:not-allowed;opacity:.6;border-radius:6px;padding:.5rem 1rem;font-size:.8rem}.byok-hint{color:var(--text-secondary);font-size:.75rem}.auth-overlay{-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);z-index:10002;background:#000000b3;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.auth-overlay.active{display:flex}.auth-overlay-card{background:var(--surface-raised);border:1.5px solid var(--accent-subtle);text-align:center;box-shadow:var(--shadow-sm);border-radius:16px;max-width:360px;padding:2rem 2.5rem}.auth-overlay-card h2{color:var(--accent-subtle);margin:0 0 .5rem;font-size:1.4rem}.auth-overlay-card p{color:var(--text-secondary);margin:0 0 1.5rem;font-size:.9rem}.auth-overlay-buttons{flex-direction:column;gap:.8rem;display:flex}.auth-user{align-items:center;gap:.75rem;padding:.5rem 0;display:flex}.auth-user-info{flex:1;align-items:center;gap:.6rem;min-width:0;display:flex}.auth-user-avatar{object-fit:cover;background:var(--surface-input);border:1px solid #ffffff1f;border-radius:50%;flex-shrink:0;width:36px;height:36px}.auth-avatar-placeholder{color:var(--text-primary);text-transform:uppercase;justify-content:center;align-items:center;font-size:.95rem;font-weight:600;display:flex}.auth-user-meta{flex-direction:column;flex:1;min-width:0;display:flex}.auth-user-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.auth-user-email{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.auth-logout-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:6px;flex-shrink:0;padding:.35rem .7rem;font-size:.72rem}.auth-logout-btn:hover{color:#fca5a5;background:#ef44442e;border-color:#ef444466}.sidebar-section--sessions{order:-1}.sidebar-section--sessions h3{color:var(--text-primary)}.sidebar-section--secondary{opacity:.78;margin-top:auto}.sidebar-section--secondary h3{letter-spacing:.08em;text-transform:uppercase;font-size:.7rem}.provider-identity-placeholder,.provider-identity-placeholder--small{border:1px solid var(--border-normal);border-radius:var(--radius-md);background:var(--surface-subtle);color:var(--provider-accent,var(--text-secondary));letter-spacing:.04em;text-transform:uppercase;flex:none;place-items:center;font-size:.7rem;font-weight:700;line-height:1;display:inline-grid}.provider-identity-placeholder{width:2rem;height:2rem}.provider-identity-placeholder--small{border-radius:var(--radius-sm);width:1.25rem;height:1.25rem;font-size:.55rem}.provider-identity{align-items:center;gap:var(--space-2);display:inline-flex}.provider-identity__name{color:var(--text-primary)}.provider-title{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.provider-title__name{color:var(--text-primary)}.provider-identity-logo{object-fit:contain;flex:none;width:1.25rem;height:1.25rem}.provider-badge,.provider-identity-badge{border-radius:var(--radius-sm);min-height:1.25rem;padding:0 var(--space-2);background:var(--surface-subtle);color:var(--text-secondary);letter-spacing:.03em;text-transform:uppercase;border:1px solid;align-items:center;font-size:.65rem;font-weight:700;line-height:1;display:inline-flex}.provider-identity-badge--official,.provider-badge--official{color:var(--status-success)}.provider-identity-badge--community,.provider-identity-badge--preview,.provider-badge--community,.provider-badge--experimental{color:var(--status-info)}.provider-identity-badge--custom,.provider-identity-badge--local,.provider-badge--custom,.provider-identity-badge--local{color:var(--accent)}.provider-identity-badge--deprecated,.provider-badge--deprecated{color:var(--status-danger)}.provider-identity-badge--unknown{color:var(--text-muted)}.provider-family{margin-top:var(--space-1);color:var(--text-muted);font-size:.75rem;font-weight:500;display:block}.visual-status{align-items:center;gap:var(--space-2);display:inline-flex}.visual-status__mark{border-radius:50%;place-items:center;width:1.1em;height:1.1em;font-size:.7em;font-weight:800;line-height:1;display:inline-grid}.visual-status--success .visual-status__mark{background:var(--status-success);color:var(--text-inverse)}.visual-status--danger .visual-status__mark{background:var(--status-danger);color:var(--text-inverse)}.visual-status--info .visual-status__mark{background:var(--accent);color:var(--text-inverse)}.visual-icon{min-width:1.1em;height:1.1em;font-family:var(--font-mono);place-items:center;font-size:.85em;font-weight:800;line-height:1;display:inline-grid}.visual-icon--tool{color:var(--accent)}.visual-icon--terminal{color:var(--text-secondary)}.tool-card__icon,.generic-card__icon,.weather-card__icon,.weather-card__day-icon{font-family:var(--font-sans)}
