:root{color-scheme:dark;--bg-primary: #09090b;--bg-secondary: #0f0f12;--bg-tertiary: #16161a;--bg-elevated: #1c1c21;--bg-hover: #222228;--text-primary: #fafafa;--text-secondary: #a1a1aa;--text-muted: #71717a;--text-disabled: #52525b;--accent: #3b82f6;--accent-subtle: rgba(59, 130, 246, .1);--accent-hover: #60a5fa;--accent-glow: rgba(59, 130, 246, .4);--success: #22c55e;--success-subtle: rgba(34, 197, 94, .1);--warning: #eab308;--warning-subtle: rgba(234, 179, 8, .1);--error: #ef4444;--error-subtle: rgba(239, 68, 68, .1);--chart-1: #3b82f6;--chart-2: #8b5cf6;--chart-3: #06b6d4;--chart-4: #10b981;--chart-5: #f59e0b;--chart-6: #ec4899;--border-subtle: 1px solid rgba(255, 255, 255, .06);--border-default: 1px solid rgba(255, 255, 255, .1);--border-focus: 1px solid var(--accent);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px var(--accent-glow);--shadow-card: 0 4px 20px rgba(0, 0, 0, .4), 0 0 0 1px rgba(255, 255, 255, .05);--shadow-epic: 0 8px 32px rgba(0, 0, 0, .5), 0 0 60px rgba(59, 130, 246, .1);--glass-bg: rgba(15, 15, 18, .8);--glass-border: rgba(255, 255, 255, .08);--glass-blur: 12px;--gradient-epic: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 50%, #ec4899 100%);--gradient-surface: linear-gradient(180deg, rgba(255, 255, 255, .03) 0%, transparent 100%);--gradient-hero: radial-gradient(ellipse 80% 50% at 50% -20%, rgba(59, 130, 246, .15) 0%, transparent 50%)}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-elevated: #ffffff;--bg-hover: #e2e8f0;--text-primary: #0f172a;--text-secondary: #334155;--text-muted: #64748b;--text-disabled: #94a3b8;--accent: #2563eb;--accent-subtle: rgba(37, 99, 235, .1);--accent-hover: #3b82f6;--accent-glow: rgba(37, 99, 235, .25);--success: #16a34a;--success-subtle: rgba(22, 163, 74, .1);--warning: #ca8a04;--warning-subtle: rgba(202, 138, 4, .1);--error: #dc2626;--error-subtle: rgba(220, 38, 38, .1);--chart-1: #2563eb;--chart-2: #7c3aed;--chart-3: #0891b2;--chart-4: #059669;--chart-5: #d97706;--chart-6: #db2777;--border-subtle: 1px solid rgba(0, 0, 0, .06);--border-default: 1px solid rgba(0, 0, 0, .1);--border-focus: 1px solid var(--accent);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-glow: 0 0 20px var(--accent-glow);--shadow-card: 0 4px 20px rgba(0, 0, 0, .08), 0 0 0 1px rgba(0, 0, 0, .05);--shadow-epic: 0 8px 32px rgba(0, 0, 0, .12), 0 0 60px rgba(37, 99, 235, .08);--glass-bg: rgba(255, 255, 255, .8);--glass-border: rgba(0, 0, 0, .08);--glass-blur: 12px;--gradient-epic: linear-gradient(135deg, #2563eb 0%, #7c3aed 50%, #db2777 100%);--gradient-surface: linear-gradient(180deg, rgba(0, 0, 0, .02) 0%, transparent 100%);--gradient-hero: radial-gradient(ellipse 80% 50% at 50% -20%, rgba(37, 99, 235, .1) 0%, transparent 50%)}:root{--font-display: "Instrument Serif", Georgia, serif;--font-body: "Manrope", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Consolas, monospace;--font-professional: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-playful: "Nunito", -apple-system, BlinkMacSystemFont, sans-serif;--font-editorial: "Instrument Serif", Georgia, serif;--font-minimalist: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-bold: "Sora", -apple-system, BlinkMacSystemFont, sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--transition-fast: .12s ease;--transition-base: .2s ease;--transition-slow: .4s ease;--transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1);--control-height-sm: 28px;--control-height-md: 32px;--control-font-xs: .65rem;--control-font-sm: .75rem;--control-font-md: .85rem;--sidebar-width: 216px;--sidebar-width-mobile: 256px}[data-theme=light]{color-scheme:light}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);line-height:1.5;min-height:100vh;transition:background var(--transition-base),color var(--transition-base)}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4{font-weight:500;line-height:1.2;letter-spacing:-.02em}h1{font-family:var(--font-display);font-weight:400}code,pre,.mono{font-family:var(--font-mono);font-size:.9em}::selection{background:var(--accent);color:#fff}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.epic-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-family:var(--font-body);font-size:.9rem;font-weight:500;color:#fff;background:var(--accent);border:none;border-radius:var(--radius-md);cursor:pointer;overflow:hidden;transition:background-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base)}.epic-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.epic-button:hover{background:var(--accent-hover);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.epic-button:hover:before{left:100%}.epic-button:active{transform:translateY(0)}.epic-button--secondary{background:var(--bg-tertiary);color:var(--text-secondary)}.epic-button--secondary:hover{background:var(--bg-hover);color:var(--text-primary);box-shadow:var(--shadow-md)}.epic-button--gradient{background:var(--gradient-epic);background-size:200% 200%;animation:gradientShift 3s ease infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg)}.epic-card{background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:box-shadow var(--transition-base),transform var(--transition-base)}.epic-card:hover{box-shadow:var(--shadow-epic);transform:translateY(-2px)}.gradient-text{background:var(--gradient-epic);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 20px var(--accent-glow)}50%{box-shadow:0 0 40px var(--accent-glow),0 0 60px var(--accent-glow)}}.animate-fade-in{animation:fadeIn .3s ease}.animate-fade-in-up{animation:fadeInUp .4s ease}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-float{animation:float 6s ease-in-out infinite}.animate-glow{animation:glow 2s ease-in-out infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:32px;padding:var(--space-2) var(--space-3);font-family:var(--font-body);font-size:.85rem;font-weight:500;line-height:1;color:var(--text-secondary);background:transparent;border:var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.button:hover:not(:disabled),.button:active:not(:disabled){color:var(--text-primary);background:var(--bg-tertiary)}.button:disabled{opacity:.6;cursor:not-allowed}.button--primary{background:var(--accent);color:#fff;border-color:transparent}.button--primary:hover:not(:disabled),.button--primary:active:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.button--danger{background:var(--error);color:#fff;border-color:transparent}.button--danger:hover:not(:disabled){background:var(--error);filter:brightness(.95)}.button--ghost{background:transparent;border-color:transparent;color:var(--text-secondary)}.button--ghost:hover:not(:disabled),.button--ghost:active:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.button--sm{min-height:28px;padding:var(--space-1) var(--space-2);font-size:.8rem}.button--md{min-height:32px}.button--lg{min-height:36px;padding:10px 18px;font-size:.9rem;border-radius:var(--radius-md)}.button--full{width:100%}@media(prefers-reduced-motion:reduce){.button{transition:none;animation:none}}.theme-toggle{position:relative;padding:0;background:none;border:none;cursor:pointer}.theme-toggle-track{position:relative;width:58px;height:30px;background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-full);display:flex;align-items:center;padding:0 8px;gap:16px;transition:background var(--transition-base),border-color var(--transition-base)}.theme-toggle:hover .theme-toggle-track{background:var(--bg-hover);border-color:var(--accent)}.theme-toggle-thumb{position:absolute;left:4px;width:22px;height:22px;background:var(--accent);border-radius:50%;box-shadow:0 2px 4px #0003;z-index:2}.theme-icon{position:relative;z-index:1;transition:color var(--transition-base),opacity var(--transition-base)}.theme-icon--sun{margin-left:0;color:var(--text-muted)}.theme-icon--moon{margin-right:0;color:var(--text-primary)}[data-theme=light] .theme-icon--sun{color:var(--text-primary)}[data-theme=light] .theme-icon--moon{color:var(--text-muted)}@media(prefers-reduced-motion:reduce){.theme-toggle-track,.theme-icon{transition:none;animation:none}}.header{position:sticky;top:0;z-index:100;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:var(--border-subtle)}.header-content{position:relative;margin:0 auto;padding:var(--space-3) var(--space-6);display:flex;align-items:center;justify-content:space-between}.header-center{position:absolute;left:50%;transform:translate(-50%)}.logo-container{display:flex;align-items:center;gap:var(--space-3)}.logo-link{display:flex;align-items:center;gap:var(--space-3);text-decoration:none}.logo-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--accent);border-radius:var(--radius-sm);color:#fff}.logo-icon svg{width:16px;height:16px}.logo-text{font-family:var(--font-display);font-size:1.25rem;font-style:italic;color:var(--text-primary);letter-spacing:-.01em}.logo-badge{font-family:var(--font-mono);font-size:.6rem;font-weight:500;padding:2px 5px;background:var(--bg-tertiary);color:var(--text-muted);border-radius:3px;letter-spacing:.03em}.header-links{display:flex;align-items:center;gap:var(--space-1)}.header-link{padding:6px 12px;font-family:var(--font-body);font-size:.85rem;font-weight:500;color:var(--text-muted);text-decoration:none;border-radius:var(--radius-sm);transition:color var(--transition-fast),background-color var(--transition-fast)}.header-link:hover{color:var(--text-primary);background:var(--bg-hover)}.header-nav{display:flex;align-items:center;gap:var(--space-2)}.user-menu-container{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:6px;padding:4px;min-width:44px;min-height:44px;background:transparent;border:none;cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.user-menu-trigger:hover,.user-menu-trigger:active{background:var(--bg-tertiary)}.user-menu-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.user-menu-avatar-placeholder{width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}.user-menu-chevron{color:var(--text-muted);transition:transform .2s ease}.user-menu-chevron--open{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-md);box-shadow:0 10px 40px #0000004d;overflow:hidden;z-index:200}.user-menu-header{padding:12px 14px;border-bottom:var(--border-subtle)}.user-menu-name{font-size:14px;font-weight:600;color:var(--text-primary)}.user-menu-email{font-size:12px;color:var(--text-muted);margin-top:2px}.user-menu-divider{height:1px;background:var(--bg-tertiary)}.user-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:transparent;border:none;cursor:pointer;font-size:13px;color:var(--text-secondary);transition:background-color var(--transition-fast),color var(--transition-fast);text-align:left;text-decoration:none}.user-menu-item:hover,.user-menu-item:active{background:var(--bg-tertiary);color:var(--text-primary)}.user-menu-item--danger{color:var(--error)}.user-menu-item--danger:hover,.user-menu-item--danger:active{background:color-mix(in srgb,var(--error) 10%,transparent);color:var(--error)}.header-hamburger{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:background-color .15s,color .15s}.header-hamburger:hover{background:var(--bg-tertiary);color:var(--text-primary)}.header-hamburger:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media(max-width:1024px){.header-center{position:static;transform:none}}@media(max-width:768px){.header-hamburger{display:flex}.header-center,.header-links,.logo-badge{display:none}.header-content{padding:var(--space-2) var(--space-3)}}@media(prefers-reduced-motion:reduce){.header-hamburger,.header-link{transition:none}.user-menu-trigger,.user-menu-chevron,.user-menu-item{transition:none;animation:none}}.usage-widget{padding:var(--space-3);background:var(--bg-tertiary);border-radius:var(--radius-md)}.usage-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);color:var(--text-muted)}.usage-label{font-size:.75rem;font-weight:500}.usage-bar{height:4px;background:var(--bg-hover);border-radius:2px;overflow:hidden;margin-bottom:var(--space-2)}.usage-bar-fill{height:100%;background:var(--accent);border-radius:2px;transition:width var(--transition-base)}.usage-bar-fill--warning{background:var(--warning)}.usage-bar-fill--danger{background:var(--error)}.usage-count{font-size:.8rem;color:var(--text-secondary)}.usage-count-separator{margin:0 var(--space-1);color:var(--text-muted)}.usage-count--danger{color:var(--error);font-weight:600}@media(prefers-reduced-motion:reduce){.usage-bar-fill{transition:none;animation:none}}.dashboard-sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);display:flex;flex-direction:column;background:var(--bg-secondary);border-right:var(--border-subtle);height:calc(100vh - 57px);position:sticky;top:57px;transition:width .2s ease,min-width .2s ease}.dashboard-sidebar--collapsed{width:56px;min-width:56px}.sidebar-toggle-area{display:flex;justify-content:flex-end;padding:var(--space-2) var(--space-2) 0}.dashboard-sidebar--collapsed .sidebar-toggle-area{justify-content:center}.sidebar-toggle-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:background-color .15s,color .15s}.sidebar-toggle-btn:hover,.sidebar-toggle-btn:active{background:var(--bg-tertiary);color:var(--text-primary)}.sidebar-toggle-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.sidebar-nav{flex:1;padding:var(--space-3);overflow-y:auto}.dashboard-sidebar--collapsed .sidebar-nav{padding:var(--space-2)}.sidebar-create-btn{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--accent);border:none;color:#fff;font-family:var(--font-body);font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .15s,transform .15s}.sidebar-create-btn:hover{opacity:.9}.sidebar-create-btn:active{transform:scale(.98)}.sidebar-create-btn--collapsed{width:40px;height:40px;padding:0;justify-content:center;margin:0 auto}.sidebar-section{margin-bottom:var(--space-6)}.sidebar-section:last-child{margin-bottom:0}.dashboard-sidebar--collapsed .sidebar-section{margin-bottom:var(--space-3)}.sidebar-section-header{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-1)}.sidebar-nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text-secondary);text-decoration:none;font-size:.875rem;font-weight:500;transition:background-color var(--transition-fast),color var(--transition-fast)}.sidebar-nav-item:hover,.sidebar-nav-item:active{background:var(--bg-tertiary);color:var(--text-primary)}.sidebar-nav-item--active,.sidebar-nav-item--active:hover{background:var(--accent-subtle);color:var(--accent)}.sidebar-nav-item--collapsed{width:40px;height:40px;padding:0;justify-content:center;margin:0 auto}.sidebar-nav-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-nav-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-footer{padding:var(--space-3);border-top:var(--border-subtle)}.sidebar-backdrop{display:none}@media(max-width:768px){.sidebar-backdrop{display:block;position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:90}.dashboard-sidebar{position:fixed;top:0;left:0;height:100vh;width:var(--sidebar-width-mobile);min-width:var(--sidebar-width-mobile);z-index:91;transform:translate(-100%);transition:transform .3s cubic-bezier(.32,.72,0,1)}.dashboard-sidebar--mobile-open{transform:translate(0)}.sidebar-toggle-area{display:none}.dashboard-sidebar--collapsed{width:var(--sidebar-width-mobile);min-width:var(--sidebar-width-mobile)}}@media(prefers-reduced-motion:reduce){.dashboard-sidebar,.sidebar-toggle-btn,.sidebar-create-btn,.sidebar-nav-item{transition:none}.sidebar-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}}.auth-modal-backdrop{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.auth-modal{width:100%;max-width:420px;background:var(--bg-secondary);border:var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.auth-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.auth-modal__eyebrow{margin:0 0 var(--space-1);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-family:var(--font-mono)}.auth-modal__title{margin:0;font-size:1.3rem;color:var(--text-primary)}.auth-modal__close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm);transition:background var(--transition-fast),color var(--transition-fast)}.auth-modal__close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.auth-modal__body{display:flex;flex-direction:column;gap:var(--space-3)}.auth-modal__copy{margin:0;color:var(--text-secondary);font-size:.9rem;line-height:1.5}.auth-modal__footnote{margin:0;font-size:.75rem;color:var(--text-muted);text-align:center}@media(max-width:480px){.auth-modal-backdrop{align-items:flex-end;padding:0}.auth-modal{max-width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:90vh;overflow-y:auto}.auth-modal__close{min-width:44px;min-height:44px}}@media(prefers-reduced-motion:reduce){.auth-modal__close{transition:none;animation:none}}.assistant-sidebar{width:56px;min-width:56px;display:flex;flex-direction:column;align-items:center;padding-top:var(--space-4);background:var(--bg-secondary);border-left:var(--border-subtle);flex-shrink:0}.assistant-sidebar-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:linear-gradient(135deg,#3b82f61a,#8b5cf61a);border:none;border-radius:var(--radius-md);color:var(--accent);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),opacity var(--transition-fast)}.assistant-sidebar-btn:hover,.assistant-sidebar-btn:active{background:linear-gradient(135deg,#3b82f633,#8b5cf633);transform:scale(1.05)}.assistant-panel{width:420px;min-width:420px;display:flex;flex-direction:column;background:var(--bg-secondary);border-left:var(--border-subtle);flex-shrink:0}.assistant-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:linear-gradient(135deg,var(--accent),var(--chart-2));color:#fff;border-bottom:var(--border-subtle)}.assistant-header-title{display:flex;align-items:center;gap:var(--space-2);font-size:.875rem;font-weight:600}.assistant-icon-wrapper{display:flex;align-items:center;justify-content:center;padding:6px;background:#fff3;border-radius:var(--radius-md)}.assistant-header-actions{display:flex;align-items:center;gap:var(--space-1)}.assistant-header-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),opacity var(--transition-fast)}.assistant-header-btn:hover,.assistant-header-btn:active{background:#fff3}.assistant-messages{flex:1;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.assistant-empty-state{text-align:center;padding:var(--space-8) var(--space-4)}.assistant-empty-icon{display:inline-flex;padding:var(--space-3);background:linear-gradient(135deg,#3b82f626,#8b5cf626);border-radius:50%;margin-bottom:var(--space-3);color:var(--accent)}.assistant-empty-state h4{margin:0 0 var(--space-2);font-size:1rem;font-weight:600;color:var(--text-primary)}.assistant-empty-state p{margin:0 auto var(--space-4);max-width:280px;font-size:.85rem;color:var(--text-secondary);line-height:1.5}.assistant-suggestions{display:flex;flex-direction:column;gap:var(--space-2)}.assistant-suggestion-card{width:100%;text-align:left;padding:var(--space-3);font-family:var(--font-body);font-size:.85rem;color:var(--text-secondary);background:var(--bg-tertiary);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),opacity var(--transition-fast)}.assistant-suggestion-card:hover,.assistant-suggestion-card:active{background:var(--bg-hover);color:var(--text-primary)}.assistant-message{display:flex;gap:var(--space-3)}.assistant-message.user{justify-content:flex-end}.assistant-message.assistant{justify-content:flex-start}.assistant-avatar{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f626,#8b5cf626);border-radius:50%;color:var(--accent)}.user-avatar{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:50%;font-size:.75rem;font-weight:600;color:var(--text-secondary)}.assistant-message-bubble{max-width:85%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg)}.assistant-message.user .assistant-message-bubble{background:var(--accent);color:#fff;border-bottom-right-radius:4px}.assistant-message.assistant .assistant-message-bubble{background:var(--bg-tertiary);color:var(--text-primary);border-bottom-left-radius:4px}.assistant-message-bubble.loading{display:flex;align-items:center;gap:var(--space-2);color:var(--text-muted)}.assistant-changes{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-2)}.change-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:.65rem;font-weight:500;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.02em}.change-badge.insight{background:color-mix(in srgb,var(--chart-5) 15%,transparent);color:var(--chart-5)}.change-badge.data{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.change-badge.config{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.assistant-message-content{font-size:.85rem;line-height:1.6}.assistant-message-content p{margin:var(--space-1) 0}.assistant-message-content p:first-child{margin-top:0}.assistant-message-content p:last-child{margin-bottom:0}.assistant-message-content ul,.assistant-message-content ol{margin:var(--space-1) 0;padding-left:var(--space-4)}.assistant-message-content li{margin:var(--space-1) 0}.assistant-message-content code{padding:2px 6px;font-family:var(--font-mono);font-size:.8rem;background:#0003;border-radius:var(--radius-sm)}.assistant-message-content pre{margin:var(--space-2) 0;padding:var(--space-3);background:#0003;border-radius:var(--radius-md);overflow-x:auto}.assistant-message-content pre code{padding:0;background:transparent}.assistant-message.user .assistant-message-content code{background:#fff3}.assistant-timestamp{font-size:.65rem;margin-top:var(--space-1);opacity:.6}.assistant-message.user .assistant-timestamp{color:#ffffffb3}.assistant-input-area{padding:var(--space-4);border-top:var(--border-subtle);background:var(--bg-tertiary)}.assistant-input-row{display:flex;gap:var(--space-2)}.assistant-input{flex:1;min-height:44px;max-height:120px;padding:var(--space-3);font-family:var(--font-body);font-size:.85rem;color:var(--text-primary);background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-md);resize:none;outline:none;transition:border-color var(--transition-fast)}.assistant-input:focus-visible{border-color:var(--accent)}.assistant-input::placeholder{color:var(--text-muted)}.assistant-send-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--accent);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),opacity var(--transition-fast);flex-shrink:0}.assistant-send-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.assistant-send-btn:disabled{opacity:.5;cursor:not-allowed}.assistant-input-hint{margin:var(--space-2) 0 0;font-size:.65rem;color:var(--text-muted);text-align:center}.assistant-messages::-webkit-scrollbar{width:6px}.assistant-messages::-webkit-scrollbar-track{background:transparent}.assistant-messages::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}.assistant-messages::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media(max-width:1200px){.assistant-panel{width:380px;min-width:380px}}@media(max-width:900px){.assistant-panel{width:320px;min-width:320px}}@media(prefers-reduced-motion:reduce){.assistant-sidebar-btn,.assistant-header-btn,.assistant-suggestion-card,.assistant-send-btn,.assistant-input{transition:none}.spin{animation:none}}@media(max-width:768px){.assistant-sidebar{position:fixed;bottom:24px;right:16px;width:56px;min-width:56px;height:56px;border-radius:50%;border-left:none;padding:0;background:var(--accent);box-shadow:0 4px 16px #0000004d;z-index:80;justify-content:center}.assistant-sidebar-btn{width:56px;height:56px;background:transparent;color:#fff;border-radius:50%}.assistant-sidebar-btn:hover,.assistant-sidebar-btn:active{background:transparent;transform:none}.assistant-panel{position:fixed;top:0;right:0;width:100%;max-width:100%;min-width:100%;height:100%;z-index:99;border-left:none}}.hero{position:relative;text-align:center;padding:var(--space-4) var(--space-4) var(--space-2);overflow:hidden}.hero:before{content:"";position:absolute;top:-50%;left:50%;width:200%;height:200%;transform:translate(-50%);background:var(--gradient-hero);animation:heroGlow 8s ease-in-out infinite;pointer-events:none;z-index:0}@keyframes heroGlow{0%,to{opacity:.6;transform:translate(-50%) scale(1)}50%{opacity:1;transform:translate(-50%) scale(1.1)}}.hero-content{position:relative;max-width:640px;margin:0 auto;z-index:1}.hero-eyebrow{font-family:var(--font-mono);font-size:.7rem;font-weight:500;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-2);animation:fadeInUp .6s ease backwards;animation-delay:.1s}.hero-title{font-size:clamp(1.75rem,4vw,2.25rem);font-weight:400;line-height:1.2;margin-bottom:var(--space-3);color:var(--text-primary);animation:fadeInUp .6s ease backwards;animation-delay:.2s}.hero-title em{font-family:var(--font-display);font-style:italic;background:var(--gradient-epic);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% 200%;animation:gradientText 4s ease infinite}@keyframes gradientText{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-subtitle{font-size:.95rem;color:var(--text-secondary);line-height:1.5;max-width:520px;margin:0 auto;animation:fadeInUp .6s ease backwards;animation-delay:.3s}.hero-actions{margin-top:var(--space-4);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);animation:fadeInUp .6s ease backwards;animation-delay:.4s}.hero-note{font-size:.8rem;color:var(--text-muted);margin:0}.hero:after{content:"";position:absolute;top:20%;right:10%;width:120px;height:120px;background:var(--accent);border-radius:50%;filter:blur(80px);opacity:.15;animation:float 6s ease-in-out infinite;pointer-events:none;z-index:0}@keyframes float{0%,to{transform:translateY(0) translate(0)}33%{transform:translateY(-15px) translate(10px)}66%{transform:translateY(10px) translate(-5px)}}@media(prefers-reduced-motion:reduce){.hero:before,.hero:after{animation:none}.hero-title em,.hero-eyebrow,.hero-title,.hero-subtitle,.hero-actions{animation:none}}.ai-processing{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-6)}.ai-processing-orb{position:relative;display:flex;align-items:center;justify-content:center}.ai-processing--sm .ai-processing-orb{width:56px;height:56px}.ai-processing--md .ai-processing-orb{width:80px;height:80px}.ai-processing--lg .ai-processing-orb{width:104px;height:104px}.orb-ring{position:absolute;inset:0;border-radius:50%;border:2px solid transparent}.orb-ring--outer{border-top-color:var(--accent);border-right-color:#3b82f633;animation:orb-spin 2.5s linear infinite}.orb-ring--middle{inset:8px;border-bottom-color:var(--chart-2);border-left-color:#8b5cf633;animation:orb-spin-reverse 2s linear infinite}.orb-ring--inner{inset:16px;border-top-color:var(--chart-3);border-right-color:#06b6d426;animation:orb-spin 1.5s linear infinite}.ai-processing--sm .orb-ring--middle{inset:6px}.ai-processing--sm .orb-ring--inner,.ai-processing--lg .orb-ring--middle{inset:12px}.ai-processing--lg .orb-ring--inner{inset:24px}.orb-core{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;color:var(--accent);animation:orb-pulse 2s ease-in-out infinite}.orb-dot{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--accent)}.orb-dot--1{animation:orbit-1 3s linear infinite;background:var(--chart-1);box-shadow:0 0 6px var(--chart-1)}.orb-dot--2{animation:orbit-2 4s linear infinite;background:var(--chart-2);box-shadow:0 0 6px var(--chart-2)}.orb-dot--3{animation:orbit-3 3.5s linear infinite;background:var(--chart-3);box-shadow:0 0 6px var(--chart-3)}.ai-processing-label{font-size:1rem;font-weight:600;color:var(--text-primary);text-align:center}.ai-processing--sm .ai-processing-label{font-size:.85rem}.ai-processing-status{font-size:.8rem;color:var(--accent);text-align:center;min-height:1.2em;animation:status-fade .4s ease-out}.ai-processing-hint{font-size:.75rem;color:var(--text-muted);text-align:center}.ai-processing-progress{width:100%;max-width:220px}.ai-processing--sm .ai-processing-progress{max-width:160px}.progress-track{position:relative;height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:visible}.progress-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--chart-1),var(--chart-2),var(--chart-3));background-size:200% 100%;animation:progress-shimmer 2s linear infinite;transition:width .15s ease-out}.progress-glow{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;background:var(--accent);transform:translate(-50%,-50%);box-shadow:0 0 12px var(--accent),0 0 24px #3b82f64d;opacity:.8;transition:left .15s ease-out}@keyframes orb-spin{to{transform:rotate(360deg)}}@keyframes orb-spin-reverse{to{transform:rotate(-360deg)}}@keyframes orb-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}@keyframes orbit-1{0%{transform:rotate(0) translate(28px) rotate(0);opacity:1}50%{opacity:.4}to{transform:rotate(360deg) translate(28px) rotate(-360deg);opacity:1}}@keyframes orbit-2{0%{transform:rotate(120deg) translate(36px) rotate(-120deg);opacity:1}50%{opacity:.4}to{transform:rotate(480deg) translate(36px) rotate(-480deg);opacity:1}}@keyframes orbit-3{0%{transform:rotate(240deg) translate(32px) rotate(-240deg);opacity:1}50%{opacity:.4}to{transform:rotate(600deg) translate(32px) rotate(-600deg);opacity:1}}.ai-processing--sm .orb-dot--1{animation-name:orbit-sm-1}.ai-processing--sm .orb-dot--2{animation-name:orbit-sm-2}.ai-processing--sm .orb-dot--3{animation-name:orbit-sm-3}@keyframes orbit-sm-1{0%{transform:rotate(0) translate(20px) rotate(0);opacity:1}50%{opacity:.4}to{transform:rotate(360deg) translate(20px) rotate(-360deg);opacity:1}}@keyframes orbit-sm-2{0%{transform:rotate(120deg) translate(24px) rotate(-120deg);opacity:1}50%{opacity:.4}to{transform:rotate(480deg) translate(24px) rotate(-480deg);opacity:1}}@keyframes orbit-sm-3{0%{transform:rotate(240deg) translate(22px) rotate(-240deg);opacity:1}50%{opacity:.4}to{transform:rotate(600deg) translate(22px) rotate(-600deg);opacity:1}}.ai-processing--lg .orb-dot--1{animation-name:orbit-lg-1}.ai-processing--lg .orb-dot--2{animation-name:orbit-lg-2}.ai-processing--lg .orb-dot--3{animation-name:orbit-lg-3}@keyframes orbit-lg-1{0%{transform:rotate(0) translate(40px) rotate(0);opacity:1}50%{opacity:.4}to{transform:rotate(360deg) translate(40px) rotate(-360deg);opacity:1}}@keyframes orbit-lg-2{0%{transform:rotate(120deg) translate(48px) rotate(-120deg);opacity:1}50%{opacity:.4}to{transform:rotate(480deg) translate(48px) rotate(-480deg);opacity:1}}@keyframes orbit-lg-3{0%{transform:rotate(240deg) translate(44px) rotate(-240deg);opacity:1}50%{opacity:.4}to{transform:rotate(600deg) translate(44px) rotate(-600deg);opacity:1}}@keyframes progress-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes status-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.orb-ring,.orb-core,.orb-dot,.progress-fill{animation:none}.progress-glow{display:none}}.sql-editor{border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.sql-editor .cm-editor{font-size:.8125rem;font-family:SF Mono,Fira Code,JetBrains Mono,monospace}.sql-editor .cm-editor.cm-focused{outline:none;border-color:var(--accent)}.sql-editor .cm-gutters{border-right:1px solid var(--border-subtle)}.loading-spinner{display:flex;align-items:center;justify-content:center}.loading-spinner-ring{border:2px solid var(--bg-tertiary);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.loading-spinner--sm .loading-spinner-ring{width:16px;height:16px}.loading-spinner--md .loading-spinner-ring{width:24px;height:24px}.loading-spinner--lg .loading-spinner-ring{width:40px;height:40px;border-width:3px}@media(prefers-reduced-motion:reduce){.loading-spinner-ring{transition:none;animation:none}}.sql-input{display:flex;flex-direction:column;gap:var(--space-4)}.sql-input-loading{display:flex;align-items:center;justify-content:center;padding:var(--space-10)}.sql-input-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-10);color:var(--text-muted);text-align:center}.sql-input-empty p{margin:0;font-size:.875rem}.sql-input-empty-hint{font-size:.8125rem;opacity:.7}.sql-input-label{display:block;font-size:.8125rem;font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-1)}.sql-input-select{width:100%;padding:var(--space-2) var(--space-3);font-size:.8125rem;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);outline:none;transition:border-color var(--transition-fast)}.sql-input-select:focus-visible{border-color:var(--accent)}.sql-input-actions{display:flex;gap:var(--space-2)}.sql-input-error{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);font-size:.8125rem;color:var(--danger);background:var(--danger-bg);border-radius:var(--radius-md)}.sql-input-results{display:flex;flex-direction:column;gap:var(--space-3)}.sql-input-results-header{display:flex;align-items:center;justify-content:space-between}.sql-input-results-count{font-size:.75rem;color:var(--text-muted)}.sql-input-mapping{display:flex;gap:var(--space-4)}.sql-input-mapping-field{flex:1}.sql-input-preview{overflow-x:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.sql-input-table{width:100%;font-size:.75rem;border-collapse:collapse;font-variant-numeric:tabular-nums}.sql-input-table th,.sql-input-table td{padding:var(--space-1) var(--space-2);text-align:left;border-bottom:1px solid var(--border-subtle);white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.sql-input-table th{font-weight:600;color:var(--text-secondary);background:var(--bg-tertiary);position:sticky;top:0}.sql-input-table td{color:var(--text-primary)}.sql-input-preview-more{padding:var(--space-2);font-size:.75rem;color:var(--text-muted);text-align:center}.sql-input-submit{display:flex;justify-content:flex-end}@media(max-width:640px){.sql-input-mapping{flex-direction:column}}@media(prefers-reduced-motion:reduce){.sql-input-select{transition:none}}.data-input{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) 52px;grid-template-rows:1fr;gap:var(--space-4)}.data-input--instructions-open{grid-template-columns:auto minmax(0,1fr) clamp(240px,26vw,340px)}.data-input--instructions-collapsed{grid-template-columns:auto minmax(0,1fr) 52px}.input-mode-tabs{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-1);background:var(--bg-secondary);border-radius:var(--radius-md);border:var(--border-subtle);grid-row:1 / 2}.mode-tab{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:.85rem;font-weight:500;color:var(--text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:color var(--transition-fast),background-color var(--transition-fast)}.mode-tab:hover{color:var(--text-secondary)}.mode-tab.active{color:var(--text-primary);background:var(--bg-tertiary)}.input-content{background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;height:100%}.input-content-shell{position:relative;grid-row:1 / 2}.file-input-section{position:relative;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4)}.file-input-overlay{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radius-lg);padding:var(--space-4)}.drop-zone{min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-16);border:1px dashed var(--text-muted);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-base),background-color var(--transition-base)}.drop-zone:hover,.drop-zone.active{border-color:var(--accent);background:var(--accent-subtle)}.drop-zone.has-file{border-color:var(--success);background:#22c55e0d}.drop-zone-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:var(--radius-md);color:var(--text-muted);transition:color var(--transition-base)}.drop-zone:hover .drop-zone-icon{color:var(--accent)}.drop-zone-text{font-size:.95rem;color:var(--text-secondary);text-align:center}.drop-zone-hint{font-size:.8rem;color:var(--text-muted)}.drop-zone-processing,.drop-zone-success{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);color:var(--text-secondary)}.drop-zone-processing{color:var(--accent)}.drop-zone-processing .processing-hint{font-size:.75rem;color:var(--text-muted)}.drop-zone-success{color:var(--success)}.drop-zone-staged{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);color:var(--success)}.drop-zone-staged-name{font-size:.9rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;max-width:100%}.drop-zone-preview-img{max-width:200px;max-height:120px;object-fit:contain;border-radius:var(--radius-sm);border:var(--border-subtle)}.pulse{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.paste-input{position:relative;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);height:100%;min-height:0}.paste-textarea{flex:1;min-height:200px;padding:var(--space-4);font-family:var(--font-mono);font-size:.85rem;line-height:1.6;color:var(--text-primary);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-md);resize:vertical;transition:border-color var(--transition-fast)}.paste-textarea::placeholder{color:var(--text-muted)}.paste-textarea:focus-visible{outline:none;border-color:var(--accent)}.sheets-input{position:relative;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6);min-height:240px;justify-content:space-between}.sheets-input-top{display:flex;flex-direction:column;gap:var(--space-3)}.sheets-url-wrapper{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-md);transition:border-color var(--transition-fast)}.sheets-url-wrapper:focus-within{border-color:var(--accent)}.sheets-url-icon{color:var(--text-muted);flex-shrink:0}.sheets-url-input{flex:1;font-family:var(--font-body);font-size:.95rem;color:var(--text-primary);background:transparent;border:none;outline:none}.sheets-url-input::placeholder{color:var(--text-muted)}.sheets-hint{font-size:.8rem;color:var(--text-muted);text-align:center}.ai-instructions-dock{grid-row:1 / 2;min-height:0;display:flex}.ai-instructions-dock.open,.ai-instructions-dock.collapsed{align-items:stretch}.ai-instructions-dock-toggle{width:100%;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2);background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast)}.ai-instructions-dock-toggle span{font-size:.72rem;font-weight:600;letter-spacing:.02em;writing-mode:vertical-rl;transform:rotate(180deg)}.ai-instructions-dock-toggle:hover{color:var(--text-primary);border-color:var(--accent)}.ai-instructions-dock-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ai-instructions-panel{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-md);width:100%;min-height:0;box-shadow:var(--shadow-card)}.ai-instructions-panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.ai-instructions-panel-title-wrap{display:inline-flex;align-items:center;gap:var(--space-2)}.ai-instructions-icon{color:var(--accent)}.ai-instructions-panel-title{font-size:.82rem;font-weight:600;letter-spacing:.02em;color:var(--text-primary)}.ai-instructions-close{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;color:var(--text-muted);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast)}.ai-instructions-close:hover{color:var(--text-primary);border-color:var(--accent)}.ai-instructions-close:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ai-instructions-panel-copy{margin:0;font-size:.74rem;line-height:1.45;color:var(--text-muted)}.ai-instructions-label{font-size:.72rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.ai-instructions-textarea{flex:1;min-height:160px;padding:var(--space-3);font-family:var(--font-body);font-size:.88rem;line-height:1.5;color:var(--text-primary);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-sm);resize:none;transition:border-color var(--transition-fast)}.ai-instructions-textarea::placeholder{color:var(--text-muted)}.ai-instructions-textarea:focus-visible{outline:none;border-color:var(--accent)}.stocks-input{position:relative;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6);min-height:240px;justify-content:space-between}.input-processing-overlay{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radius-lg);padding:var(--space-4)}.stocks-input-top{display:flex;flex-direction:column;gap:var(--space-4)}.stocks-col-left{position:relative;display:flex;flex-direction:column;gap:var(--space-3)}.stocks-ticker-wrapper{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-md);transition:border-color var(--transition-fast)}.stocks-ticker-wrapper:focus-within{border-color:var(--accent)}.stocks-ticker-icon{color:var(--text-muted);flex-shrink:0}.stocks-ticker-input{flex:1;font-family:var(--font-body);font-size:.95rem;color:var(--text-primary);background:transparent;border:none;outline:none}.stocks-ticker-input::placeholder{color:var(--text-muted)}.stocks-dropdown{position:absolute;top:48px;left:0;right:0;margin-top:var(--space-1);background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-md);box-shadow:0 8px 24px #00000040;z-index:20;max-height:240px;overflow-y:auto}.stocks-dropdown-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:.85rem;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast)}.stocks-dropdown-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.stocks-dropdown-symbol{font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary);min-width:64px}.stocks-dropdown-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stocks-range-bar{display:flex;gap:var(--space-1);padding:var(--space-1);background:var(--bg-tertiary);border-radius:var(--radius-md)}.stocks-range-btn{flex:1;padding:var(--space-2) var(--space-3);font-family:var(--font-body);font-size:.8rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast)}.stocks-range-btn:hover{color:var(--text-secondary)}.stocks-range-btn.active{color:var(--text-primary);background:var(--bg-secondary)}.stocks-ticker-row{position:relative}.stocks-ticker-row--compare{margin-top:var(--space-3)}.stocks-ticker-wrapper--compare{background:var(--bg-secondary);border-style:dashed}.stocks-ticker-icon--muted{opacity:.6}.stocks-ticker-selected{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-md);width:fit-content}.stocks-ticker-selected-label{font-size:.75rem;font-weight:500;color:var(--text-muted);text-transform:lowercase}.stocks-ticker-selected-symbol{font-family:var(--font-mono);font-size:.9rem;font-weight:600;color:var(--accent)}.stocks-ticker-clear{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:var(--bg-secondary);border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast)}.stocks-ticker-clear:hover{color:var(--text-primary);background:var(--bg-hover)}.stocks-ticker-clear:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.datasets-input{position:relative;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6);min-height:240px;justify-content:space-between}.datasets-input-overlay{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radius-lg);padding:var(--space-4)}.datasets-input-top{display:flex;flex-direction:column;gap:var(--space-3)}.datasets-select-wrapper{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-md);transition:border-color var(--transition-fast)}.datasets-select-wrapper:focus-within{border-color:var(--accent)}.datasets-select-icon{color:var(--text-muted);flex-shrink:0}.datasets-select{flex:1;font-family:var(--font-body);font-size:.92rem;color:var(--text-primary);background:transparent;border:none;outline:none}.datasets-meta{display:flex;flex-direction:column;gap:var(--space-2)}.datasets-description{margin:0;font-size:.82rem;color:var(--text-muted);line-height:1.45}.datasets-examples{display:flex;flex-wrap:wrap;gap:var(--space-2)}.datasets-example-chip{padding:var(--space-1) var(--space-2);font-family:var(--font-body);font-size:.74rem;color:var(--text-secondary);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}.datasets-example-chip:hover{color:var(--text-primary);background:var(--bg-hover);border-color:var(--accent)}.datasets-example-chip:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.datasets-prompt-textarea{min-height:140px;padding:var(--space-3);font-family:var(--font-body);font-size:.9rem;line-height:1.55;color:var(--text-primary);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-md);resize:vertical;transition:border-color var(--transition-fast)}.datasets-prompt-textarea::placeholder{color:var(--text-muted)}.datasets-prompt-textarea:focus-visible{outline:none;border-color:var(--accent)}.datasets-controls-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.datasets-control{display:flex;flex-direction:column;gap:var(--space-1)}.datasets-control-label{font-size:.74rem;font-weight:500;color:var(--text-muted)}.datasets-number-input,.datasets-type-select{width:100%;padding:var(--space-2) var(--space-3);font-family:var(--font-body);font-size:.85rem;color:var(--text-primary);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-sm);outline:none;transition:border-color var(--transition-fast)}.datasets-number-input:focus-visible,.datasets-type-select:focus-visible{border-color:var(--accent)}.error-message{grid-column:1 / -1;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md);color:var(--error);font-size:.85rem}.spin{animation:spin 1s linear infinite}@media(max-width:768px){.data-input,.data-input--instructions-open,.data-input--instructions-collapsed{grid-template-columns:1fr;grid-template-rows:auto auto auto}.input-mode-tabs{flex-direction:row;overflow-x:auto}.mode-tab span{display:none}.ai-instructions-dock{grid-row:auto}.ai-instructions-dock-toggle{min-height:44px;flex-direction:row;justify-content:center;padding:var(--space-2) var(--space-3)}.ai-instructions-dock-toggle span{writing-mode:horizontal-tb;transform:none}}@media(max-width:480px){.drop-zone{min-height:220px;padding:var(--space-8) var(--space-5)}.drop-zone-text{font-size:.9rem}.drop-zone-hint{font-size:.76rem;text-align:center}.stocks-range-bar{flex-wrap:wrap}.datasets-controls-row{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.mode-tab,.drop-zone-icon,.pulse,.paste-textarea,.sheets-url-wrapper,.ai-instructions-dock-toggle,.ai-instructions-panel,.ai-instructions-close,.ai-instructions-textarea,.spin{transition:none;animation:none}.stocks-ticker-wrapper,.stocks-dropdown-item,.stocks-range-btn,.datasets-select-wrapper,.datasets-example-chip,.datasets-prompt-textarea,.datasets-number-input,.datasets-type-select{transition:none}}.voc{position:relative;padding:var(--space-16) var(--space-6) var(--space-12);text-align:center}.voc-inner{max-width:680px;margin:0 auto}.voc-eyebrow{font-family:var(--font-mono);font-size:.7rem;font-weight:500;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-3)}.voc-title{font-size:clamp(1.4rem,3vw,1.75rem);font-weight:400;line-height:1.3;color:var(--text-primary);margin-bottom:var(--space-10)}.voc-title em{font-family:var(--font-display);font-style:italic;background:var(--gradient-epic);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.voc-chart-container{background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-2) var(--space-2);box-shadow:var(--shadow-card)}.voc-caption{margin-top:var(--space-3);font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted);letter-spacing:.02em}.voc-chart-container .recharts-cartesian-grid line{stroke:var(--bg-tertiary)}@media(max-width:640px){.voc{padding:var(--space-12) var(--space-4) var(--space-8)}}@media(prefers-reduced-motion:reduce){.voc-inner{animation:none}}.features{padding:var(--space-16) var(--space-6) var(--space-12);text-align:center}.features-header{max-width:560px;margin:0 auto var(--space-10)}.features-eyebrow{font-family:var(--font-mono);font-size:.7rem;font-weight:500;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-3)}.features-title{font-size:clamp(1.4rem,3vw,1.75rem);font-weight:400;line-height:1.3;color:var(--text-primary)}.features-title em{font-family:var(--font-display);font-style:italic;background:var(--gradient-epic);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);max-width:880px;margin:0 auto}.feature-card{padding:var(--space-5);background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-lg);text-align:left;transition:box-shadow var(--transition-base),transform var(--transition-base)}.feature-card:hover{box-shadow:var(--shadow-card);transform:translateY(-2px)}.feature-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--accent-subtle);border-radius:var(--radius-md);color:var(--accent);margin-bottom:var(--space-3)}.feature-card-title{font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-2);letter-spacing:-.01em}.feature-card-desc{font-size:.82rem;line-height:1.5;color:var(--text-muted)}@media(max-width:768px){.features{padding:var(--space-12) var(--space-4) var(--space-8)}.features-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}}@media(max-width:480px){.features-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.feature-card{transition:none}}.bottom-cta{padding:var(--space-12) var(--space-6) var(--space-16);text-align:center}.bottom-cta-inner{max-width:520px;margin:0 auto;padding:var(--space-10) var(--space-8);background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-epic)}.bottom-cta-title{font-size:clamp(1.4rem,3vw,1.75rem);font-weight:400;line-height:1.3;color:var(--text-primary);margin-bottom:var(--space-3)}.bottom-cta-title em{font-family:var(--font-display);font-style:italic;background:var(--gradient-epic);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.bottom-cta-subtitle{font-size:.92rem;color:var(--text-muted);line-height:1.5;margin-bottom:var(--space-6)}.bottom-cta-actions{display:flex;justify-content:center}.bottom-cta-btn{padding:var(--space-3) var(--space-6);font-size:.95rem;text-decoration:none}@media(max-width:640px){.bottom-cta{padding:var(--space-8) var(--space-4) var(--space-12)}.bottom-cta-inner{padding:var(--space-8) var(--space-5)}}.map-chart{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px}.map-chart--loading,.map-chart--error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);color:var(--text-muted);font-size:.875rem}.map-loading-spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;animation:map-spin .8s linear infinite}@keyframes map-spin{to{transform:rotate(360deg)}}.map-svg{width:100%;height:100%;flex:1}.map-geography{transition:fill .15s}.map-bubble{transition:r .15s,fill-opacity .15s}.map-bubble:hover{fill-opacity:.9}.map-legend{position:absolute;bottom:var(--space-3);left:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-sm);font-size:.7rem;font-family:var(--font-mono);z-index:10}.map-legend-title{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1);opacity:.7}.map-legend-range{display:flex;align-items:center;gap:var(--space-2)}.map-legend-gradient{width:60px;height:8px;border-radius:2px;display:flex;align-items:center;justify-content:space-between}.map-legend-gradient svg{flex-shrink:0}@media(max-width:640px){.map-legend{bottom:var(--space-2);left:var(--space-2);padding:var(--space-1) var(--space-2)}.map-legend-gradient{width:40px}}@media(prefers-reduced-motion:reduce){.map-loading-spinner{animation:none;border-top-color:var(--accent);opacity:.7}.map-geography,.map-bubble{transition:none}}.chart-preview{position:relative;display:flex;flex-direction:column;background:var(--chart-bg, var(--bg-secondary));border:1px solid var(--chart-border, var(--border-color));border-radius:var(--radius-lg);overflow:hidden;height:100%;min-height:0;transition:box-shadow var(--transition-base),transform var(--transition-base),background var(--transition-base)}.chart-preview--shadow{box-shadow:var(--shadow-card)}.chart-preview--glow:hover{box-shadow:var(--shadow-epic);transform:translateY(-2px)}.chart-header{padding:var(--space-3) var(--space-4) 0 var(--space-4);border-bottom:1px solid var(--chart-border, var(--border-color));background:var(--chart-card-bg, var(--bg-tertiary));display:flex;flex-direction:column;gap:var(--space-2)}.chart-header-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.view-toggle{display:flex;background:var(--bg-primary);border:var(--border-subtle);border-radius:var(--radius-md);padding:3px;gap:2px}.view-toggle-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:none;background:transparent;color:var(--text-muted);font-family:var(--font-body);font-size:.75rem;font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:color .15s,background-color .15s,box-shadow .15s}.view-toggle-btn:hover:not(.active),.view-toggle-btn:active:not(.active){color:var(--text-secondary);background:var(--bg-hover)}.view-toggle-btn.active{background:var(--accent);color:#fff;box-shadow:0 1px 3px #0003}.view-toggle-btn svg{flex-shrink:0}.chart-title{font-family:var(--font-display);font-size:1.1rem;font-weight:400;color:var(--chart-text, var(--text-primary))}.chart-title-placeholder{font-family:var(--font-display);font-size:1.05rem;font-weight:400;color:var(--chart-text-muted, var(--text-muted));font-style:italic;opacity:.75}.chart-brand-area{display:flex;align-items:center;gap:6px;flex-shrink:0}.chart-brand{display:flex;align-items:center;gap:4px;font-family:var(--font-display);font-style:italic;opacity:.5;flex-shrink:0;transition:opacity .15s}.chart-brand-logo{max-height:16px;max-width:92px;width:auto;object-fit:contain}.chart-brand:hover{opacity:.8}.chart-brand svg{flex-shrink:0}.chart-brand-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;opacity:.35;flex-shrink:0;transition:opacity .15s,background-color .15s}.chart-brand-toggle:hover,.chart-brand-toggle:active{opacity:.7;background:#8080801a}.chart-brand-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;opacity:.7}.chart-brand-toggle:disabled{cursor:not-allowed;opacity:.15}.chart-brand-toggle svg{flex-shrink:0}.chart-logo-select{height:30px;min-width:120px;max-width:180px;padding:0 8px;border:1px solid;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.68rem}.chart-logo-select:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.chart-logo-select:disabled{opacity:.5;cursor:not-allowed}.chart-meta{display:flex;gap:var(--space-5)}.chart-meta-item{display:flex;align-items:center;gap:var(--space-1);font-family:var(--font-mono);font-size:.7rem}.chart-meta-item--verified{gap:4px;padding:2px 6px;border:1px solid;border-radius:999px;font-weight:600;letter-spacing:.01em}.chart-meta-item--unverified{padding:2px 6px;border:1px solid color-mix(in srgb,var(--warning) 35%,transparent);border-radius:999px;color:var(--warning);background:color-mix(in srgb,var(--warning) 12%,transparent);font-weight:600;letter-spacing:.01em}.meta-label{color:var(--chart-text-muted, var(--text-muted))}.meta-value{color:var(--chart-text, var(--text-secondary));font-weight:500}.chart-container{flex:1;min-height:200px;min-width:0;padding:var(--space-2) var(--space-2) 0 0;overflow:hidden;background:var(--chart-bg, var(--bg-secondary))}.chart-container--scroll{overflow:auto}.chart-container--no-scroll{overflow:hidden}.chart-source{padding:var(--space-1) var(--space-3);border-top:1px solid}.chart-source-link{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:.65rem;text-decoration:none;opacity:.7;transition:opacity .15s}.chart-source-link:hover{opacity:1}.chart-source-link:focus-visible{opacity:1;outline:1px solid var(--accent);outline-offset:2px;border-radius:2px}.chart-source-label{font-weight:500}.chart-source-domain{text-decoration:underline;text-underline-offset:2px}.chart-color-bar{position:relative;display:flex;height:3px;overflow:hidden}.chart-color-bar:after{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);opacity:.7}.chart-preview:hover .chart-color-bar:after{animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%{left:-100%}to{left:200%}}.color-segment{flex:1;transition:transform var(--transition-fast)}.chart-preview:hover .color-segment{transform:scaleY(1.5)}.chart-grid{color:var(--text-muted)}.table-container{width:100%;height:100%;overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:.85rem}.table-header-cell{padding:var(--space-3) var(--space-4);text-align:right;font-weight:600;font-size:.8rem;color:var(--text-secondary);background:var(--bg-tertiary);border-bottom:var(--border-default);white-space:nowrap}.table-header-cell:first-child{text-align:left}.table-row-label{padding:var(--space-3) var(--space-4);font-weight:500;color:var(--text-primary);background:var(--bg-tertiary);display:flex;align-items:center;gap:var(--space-2);white-space:nowrap;font-size:.85rem}.series-indicator{width:8px;height:8px;border-radius:2px;flex-shrink:0}.table-cell{padding:var(--space-3) var(--space-4);text-align:right;font-family:var(--font-mono);font-size:.85rem;color:var(--text-secondary);border-bottom:var(--border-subtle)}.table-cell-value{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px}.table-cell--low-confidence{color:var(--warning);background:linear-gradient(90deg,transparent 0%,var(--warning-subtle) 100%)}.low-confidence-dot{width:6px;height:6px;border-radius:50%;background:var(--warning);box-shadow:0 0 0 1px var(--warning-subtle);flex-shrink:0}.data-table tbody tr:hover .table-cell{background:var(--bg-tertiary)}.data-table tbody tr:hover .table-cell--low-confidence{background:linear-gradient(90deg,var(--bg-tertiary) 0%,var(--warning-subtle) 100%)}.sticky-col{position:sticky;left:0;z-index:1}.infographic-placeholder{display:flex;align-items:center;justify-content:center;height:100%;min-height:400px}.infographic-placeholder-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center;padding:var(--space-6)}.infographic-placeholder-icon{color:var(--chart-2);opacity:.6}.infographic-placeholder-content h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.infographic-placeholder-content p{font-size:.85rem;color:var(--text-muted);margin:0;max-width:280px;line-height:1.5}.infographic-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:400px;gap:var(--space-4)}.sparkle-icon{color:var(--accent);animation:pulse 2s ease-in-out infinite}.loading-text{font-size:.95rem;color:var(--text-secondary)}.loading-hint{font-size:.8rem;color:var(--text-muted)}.infographic-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--space-4);color:var(--error);font-size:.9rem}.infographic-container{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.infographic-svg{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.infographic-svg svg{max-width:100%;max-height:100%;width:auto;height:auto}.regenerate-button{position:absolute;top:0;right:0;font-family:var(--font-mono);opacity:.6}.regenerate-button:hover{opacity:1}.recharts-default-tooltip,.recharts-legend-item-text{font-family:var(--font-body)!important}.recharts-cartesian-axis-tick-value{font-family:var(--font-mono)!important}[data-style-variant=playful] .chart-title{font-family:var(--font-playful)}[data-style-variant=editorial] .chart-title{font-family:var(--font-editorial)}[data-style-variant=minimalist] .chart-title{font-family:var(--font-minimalist);font-weight:300}[data-style-variant=bold] .chart-title{font-family:var(--font-bold);font-weight:600}[data-style-variant=professional] .chart-title{font-family:var(--font-professional);font-weight:500}@media(max-width:1024px){.chart-preview{min-height:360px}}@media(max-width:768px){.chart-header{flex-direction:column;align-items:flex-start}.chart-preview{min-height:350px}}@media(max-width:480px){.chart-preview{min-height:280px}.chart-header{padding:var(--space-2) var(--space-3) 0 var(--space-3)}.chart-meta{flex-wrap:wrap;gap:var(--space-2)}.view-toggle-btn{min-height:44px}}.is-exporting .chart-meta{display:none}@media(prefers-reduced-motion:reduce){.chart-color-bar:after{animation:none}.chart-preview--glow:hover,.chart-preview:hover .color-segment{transform:none}.chart-source-link,.chart-brand,.chart-brand-toggle,.chart-logo-select{transition:none}}.cstudio{display:flex;flex-direction:column;gap:1px;background:var(--bg-tertiary)}.cstudio-section{display:flex;flex-direction:column;background:var(--bg-secondary)}.cstudio-section-head{display:flex;align-items:center;justify-content:space-between;padding:6px 10px}.cstudio-section-head .control-label{margin-bottom:0}.cstudio-section-toggle{background:var(--bg-secondary);border:none;cursor:pointer;transition:color .15s}.cstudio-section-toggle:hover .section-label{color:var(--text-secondary)}.cstudio-section-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.cstudio-section-right{display:flex;align-items:center;gap:6px}.cstudio-chevron{color:var(--text-muted);transition:transform .2s}.cstudio-chevron.open{transform:rotate(180deg)}.cstudio-mode{display:flex;border-radius:4px;overflow:hidden;border:1px solid var(--bg-hover)}.cstudio-mode-btn{display:flex;align-items:center;gap:4px;padding:var(--space-1) var(--space-2);font-family:var(--font-body);font-size:var(--control-font-xs);font-weight:600;color:var(--text-muted);background:var(--bg-tertiary);border:var(--border-subtle);cursor:pointer;transition:color .15s,background-color .15s,border-color .15s}.cstudio-mode-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.cstudio-mode-btn:hover,.cstudio-mode-btn:active{color:var(--text-primary)}.cstudio-mode-btn.active{color:var(--accent);background:var(--accent-subtle);border-color:var(--accent)}.cstudio-schemes{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--bg-tertiary)}.cstudio-scheme{display:flex;align-items:center;gap:6px;padding:var(--space-1) var(--space-2);font-family:var(--font-body);color:var(--text-muted);background:var(--bg-secondary);border:var(--border-subtle);cursor:pointer;transition:color .15s,background-color .15s,border-color .15s}.cstudio-scheme:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.cstudio-scheme:hover,.cstudio-scheme:active{color:var(--text-secondary);background:var(--bg-hover)}.cstudio-scheme.active{color:var(--accent);background:var(--accent-subtle);border-color:var(--accent)}.cstudio-scheme-dots{display:flex;gap:2px;flex-shrink:0}.cstudio-dot{width:8px;height:8px;border-radius:2px}.cstudio-scheme-label{font-size:var(--control-font-sm);font-weight:500;white-space:nowrap}.cstudio-series{display:flex;flex-wrap:wrap;gap:4px;padding:4px 10px 6px}.cstudio-swatch{display:flex;align-items:center;gap:4px;cursor:pointer}.cstudio-color-input{width:18px;height:18px;padding:0;border:2px solid var(--bg-hover);border-radius:3px;cursor:pointer;flex-shrink:0}.cstudio-color-input::-webkit-color-swatch-wrapper{padding:0}.cstudio-color-input::-webkit-color-swatch{border:none;border-radius:1px}.cstudio-swatch-name{font-size:.6rem;font-weight:500;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cstudio-presets{display:flex;gap:3px;padding:0 10px 6px;overflow-x:auto;scrollbar-width:none}.cstudio-presets::-webkit-scrollbar{display:none}.cstudio-preset{display:flex;gap:2px;padding:3px 5px;background:var(--bg-tertiary);border:1px solid transparent;border-radius:3px;cursor:pointer;flex-shrink:0;transition:border-color .15s}.cstudio-preset:hover{border-color:var(--accent)}.cstudio-preset:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.cstudio-preset-dot{width:7px;height:7px;border-radius:2px}.cstudio-reset{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--text-muted);background:var(--bg-tertiary);border:none;border-radius:3px;cursor:pointer;flex-shrink:0;transition:color .15s}.cstudio-reset:hover{color:var(--text-secondary)}.cstudio-reset:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.cstudio-custom{display:flex;flex-direction:column;gap:6px;padding:4px 0 6px}.cstudio-custom-fields{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--bg-tertiary)}.cstudio-field{display:flex;align-items:center;gap:6px;padding:5px 10px;background:var(--bg-secondary);cursor:pointer}.cstudio-field-label{font-size:.55rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;width:26px;flex-shrink:0}.cstudio-field-color{width:16px;height:16px;padding:0;border:2px solid var(--bg-hover);border-radius:3px;cursor:pointer;flex-shrink:0}.cstudio-field-color::-webkit-color-swatch-wrapper{padding:0}.cstudio-field-color::-webkit-color-swatch{border:none;border-radius:1px}.cstudio-field-hex{flex:1;min-width:0;padding:var(--space-1);font-family:var(--font-mono);font-size:var(--control-font-xs);font-variant-numeric:tabular-nums;color:var(--text-primary);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-sm);text-transform:lowercase}.cstudio-field-hex:focus-visible{outline:none;border-color:var(--accent)}@media(prefers-reduced-motion:reduce){.cstudio-mode-btn,.cstudio-scheme,.cstudio-preset,.cstudio-section-toggle,.cstudio-reset,.cstudio-chevron{transition:none}}@media(max-width:768px){.cstudio-schemes{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.cstudio-schemes,.cstudio-custom-fields{grid-template-columns:1fr}}.chart-controls{display:flex;flex-direction:column;background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;height:100%;min-height:0;overflow-y:auto}.controls-top-layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,2fr);gap:var(--space-1);width:100%;padding:var(--space-2) var(--space-2) 0 var(--space-2)}.controls-top-row{display:flex;flex-direction:column;gap:var(--space-1);width:100%}.controls-branding-column{display:flex;flex-direction:column;justify-content:center;gap:var(--space-1);min-width:0;border-left:2px solid var(--bg-tertiary);padding-left:var(--space-1)}.controls-branding-label{font-size:.7rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;text-align:center}.controls-branding-select{width:100%;min-height:var(--control-height-md);padding:var(--space-1) var(--space-2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;line-height:1.2;color:var(--text-secondary);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-sm);transition:border-color var(--transition-fast),background-color var(--transition-fast)}.controls-branding-select:focus-visible{outline:none;border-color:var(--accent)}.control-source-link{display:flex;align-items:center;gap:var(--space-2);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-sm);padding:0 var(--space-2);min-height:var(--control-height-md);transition:border-color var(--transition-fast)}.control-source-link:focus-within{border-color:var(--accent)}.source-link-icon{color:var(--text-muted);flex-shrink:0}.control-input-source{flex:1;padding:var(--space-2) 0;font-family:var(--font-mono);font-size:var(--control-font-sm);color:var(--text-secondary);background:transparent;border:none;outline:none}.control-input-source::placeholder{color:var(--text-muted);font-family:var(--font-body)}.control-input-title{width:100%;padding:var(--space-2) var(--space-3);font-family:var(--font-body);font-size:.9rem;font-weight:500;color:var(--text-primary);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-sm);transition:border-color var(--transition-fast)}.control-input-title:focus-visible{outline:none;border-color:var(--accent)}.control-input-title::placeholder{color:var(--text-muted);font-weight:400}.controls-segmented{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-bottom:var(--border-subtle);background:var(--bg-secondary)}.controls-segment{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);min-height:var(--control-height-md);padding:var(--space-2) var(--space-2);font-family:var(--font-body);font-size:var(--control-font-sm);font-weight:600;color:var(--text-muted);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}.controls-segment:hover,.controls-segment:active{color:var(--text-secondary);background:var(--bg-hover)}.controls-segment.active{color:var(--accent);background:var(--accent-subtle);border-color:var(--accent)}.controls-segment:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.controls-type-row{display:block;position:relative;width:100%;padding:var(--space-1) var(--space-2) var(--space-2) var(--space-1);border-bottom:var(--border-subtle)}.chart-type-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-1);width:100%}.type-button-wrap{position:relative;display:flex;min-width:0}.type-quick-actions{margin-top:var(--space-2)}.type-button{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;width:100%;gap:2px;padding:var(--space-2) var(--space-1);font-family:var(--font-body);color:var(--text-muted);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}.type-button:hover,.type-button:active{background:var(--bg-hover);color:var(--text-secondary)}.type-button.active{background:var(--accent-subtle);color:var(--accent);border-color:var(--accent)}.type-button:disabled{opacity:.55;cursor:not-allowed}.type-button:disabled:hover,.type-button:disabled:active{background:var(--bg-tertiary);color:var(--text-muted)}.combo-entry-button{width:100%;flex-direction:row;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-3)}.type-button.special{background:var(--bg-tertiary)}.type-button.special.active{background:color-mix(in srgb,var(--chart-2) 10%,transparent);color:var(--chart-2);border-color:color-mix(in srgb,var(--chart-2) 40%,transparent)}.type-label{font-size:var(--control-font-xs);font-weight:500}.controls-ai-mode{padding:var(--space-3);border-bottom:var(--border-subtle);background:linear-gradient(135deg,#8b5cf608,#3b82f608)}.ai-mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.ai-mode-button{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-2);background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.ai-mode-button:hover,.ai-mode-button:active{background:var(--bg-tertiary);color:var(--text-secondary)}.ai-mode-button.active{background:color-mix(in srgb,var(--chart-2) 10%,transparent);color:var(--chart-2);border-color:color-mix(in srgb,var(--chart-2) 40%,transparent)}.ai-mode-label{font-size:.75rem;font-weight:500}.ai-custom-prompt{margin-top:var(--space-3)}.ai-custom-prompt-input{width:100%;padding:var(--space-3);font-family:var(--font-body);font-size:.85rem;color:var(--text-primary);background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-md);resize:vertical;min-height:80px;transition:border-color var(--transition-fast)}.ai-custom-prompt-input:focus-visible{outline:none;border-color:var(--accent)}.ai-custom-prompt-input::placeholder{color:var(--text-muted)}.ai-generate-button{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;margin-top:var(--space-3);padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:.9rem;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--chart-2),var(--chart-2));border:none;border-radius:var(--radius-md);cursor:pointer;transition:opacity var(--transition-fast),transform var(--transition-fast)}.ai-generate-button:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.ai-generate-button:active:not(:disabled){transform:translateY(0)}.ai-generate-button:disabled{opacity:.5;cursor:not-allowed}.controls-map-options{padding:var(--space-3);border-bottom:var(--border-subtle);background:linear-gradient(135deg,#22c55e08,#3b82f608)}.map-options-row{display:flex;gap:var(--space-4)}.map-option-group{flex:1;display:flex;flex-direction:column;gap:var(--space-2)}.map-option-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.map-scope-grid,.map-variant-grid{display:flex;gap:var(--space-1)}.map-scope-button,.map-variant-button{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);font-size:.75rem;font-weight:500;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.map-scope-button:hover,.map-scope-button:active,.map-variant-button:hover,.map-variant-button:active{background:var(--bg-tertiary);color:var(--text-secondary)}.map-scope-button.active,.map-variant-button.active{background:var(--accent-subtle);color:var(--accent);border-color:var(--accent)}.map-no-data-hint{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-2) var(--space-3);background:color-mix(in srgb,var(--warning) 8%,transparent);border:1px solid color-mix(in srgb,var(--warning) 20%,transparent);border-radius:var(--radius-sm);font-size:.7rem;color:var(--text-secondary)}.map-no-data-hint svg{flex-shrink:0;color:var(--warning)}.controls-grid{display:grid;grid-template-columns:1fr 1fr;flex:1}.control-section{padding:var(--space-2);border-bottom:var(--border-subtle);border-right:var(--border-subtle)}.control-section:nth-child(2n){border-right:none}.control-section:nth-last-child(-n+2){border-bottom:none}.control-label{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.style-variant-grid{display:flex;gap:var(--space-1);flex-wrap:wrap}.style-variant-button{display:flex;align-items:center;gap:4px;padding:var(--space-1) var(--space-2);font-family:var(--font-body);color:var(--text-muted);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}.style-variant-button:hover,.style-variant-button:active{background:var(--bg-hover);color:var(--text-secondary)}.style-variant-button.active{background:var(--accent-subtle);color:var(--accent);border-color:var(--accent)}.style-variant-button.brand{border-style:dashed;border-color:var(--accent)}.style-variant-button.brand.active{border-style:solid;background:linear-gradient(135deg,var(--accent-subtle),var(--accent-subtle))}.variant-label{font-size:var(--control-font-sm);font-weight:500}.toggle-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.baseline-mode-control{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-3)}.baseline-mode-label{font-size:.7rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.baseline-mode-select{width:100%;min-height:var(--control-height-md);padding:var(--space-2) var(--space-3);font-family:var(--font-body);font-size:.8rem;color:var(--text-secondary);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-sm);transition:border-color var(--transition-fast),background-color var(--transition-fast)}.baseline-mode-select:focus-visible{outline:none;border-color:var(--accent)}.swap-axes-btn{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);margin-top:var(--space-2);font-family:var(--font-body);font-size:.75rem;font-weight:500;color:var(--text-secondary);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast)}.swap-axes-btn:hover{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--bg-tertiary))}.swap-axes-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.branding-upgrade-hint{font-size:.68rem;color:var(--text-muted)}.toggle-item{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}.toggle-item input{display:none}.toggle-switch{position:relative;width:28px;height:16px;background:var(--bg-tertiary);border-radius:8px;transition:background var(--transition-fast);flex-shrink:0}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;background:var(--text-muted);border-radius:50%;transition:left var(--transition-fast),background-color var(--transition-fast)}.toggle-item input:checked+.toggle-switch{background:var(--accent)}.toggle-item input:checked+.toggle-switch:after{left:14px;background:#fff}.toggle-label{font-size:.75rem;color:var(--text-secondary)}.color-scheme-list{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-1)}.color-scheme-button{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);font-family:var(--font-body);color:var(--text-muted);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}.color-scheme-button:hover,.color-scheme-button:active{background:var(--bg-hover);color:var(--text-secondary)}.color-scheme-button.active{background:var(--accent-subtle);border-color:var(--accent)}.color-preview{display:flex;gap:1px}.color-dot{width:8px;height:8px;border-radius:2px}.scheme-label{font-size:var(--control-font-sm);font-weight:500}.collapsible-section>.section-label{cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.collapsible-section>.section-label::-webkit-details-marker{display:none}.collapsible-section>.section-label:after{content:"▾";margin-left:auto;color:var(--text-muted);font-size:.75rem;font-weight:700;line-height:1}.collapsible-section:not([open])>.section-label:after{content:"▸"}.collapsible-section>.section-label:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.data-summary{background:var(--bg-tertiary)}.data-summary.full-width{grid-column:1 / -1;border-right:none}.data-grid{display:flex;flex-direction:column;gap:var(--space-1)}.data-series-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);background:var(--bg-secondary);border-radius:var(--radius-sm)}.series-color{width:6px;height:6px;border-radius:2px;flex-shrink:0}.series-name{flex:1;font-size:.75rem;color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.series-stats{font-family:var(--font-mono);font-size:.65rem;color:var(--text-muted)}.combo-section.full-width{grid-column:1 / -1;border-right:none;background:var(--bg-tertiary)}.combo-series-grid{display:flex;flex-direction:column;gap:var(--space-1)}.combo-series-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--bg-secondary);border-radius:var(--radius-sm)}.combo-series-name{flex:1;font-size:.75rem;color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.combo-suggest-banner{display:flex;align-items:center;gap:var(--space-2);width:100%;margin-bottom:var(--space-2);padding:var(--space-2) var(--space-3);font-family:var(--font-body);font-size:.7rem;line-height:1.3;color:var(--text-secondary);background:linear-gradient(135deg,#3b82f614,#8b5cf614);border:1px solid rgba(59,130,246,.25);border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.combo-suggest-banner:hover{background:linear-gradient(135deg,#3b82f624,#8b5cf624);border-color:#3b82f666}.combo-suggest-banner:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.combo-suggest-banner svg{flex-shrink:0;color:var(--accent)}.combo-suggest-banner strong{font-weight:600;color:var(--text-primary)}.combo-series-controls{display:flex;align-items:center;gap:var(--space-1);margin-left:auto;flex-shrink:0}.combo-type-selector,.combo-axis-selector{display:flex;gap:1px;background:var(--bg-tertiary);border-radius:var(--radius-sm);overflow:hidden}.combo-type-btn,.combo-axis-btn{display:flex;align-items:center;justify-content:center;padding:2px 4px;font-family:var(--font-mono);font-size:.6rem;font-weight:600;color:var(--text-muted);background:var(--bg-tertiary);border:none;cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast)}.combo-type-btn:focus-visible,.combo-axis-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-1px;z-index:1}.combo-type-btn:hover,.combo-type-btn:active,.combo-axis-btn:hover,.combo-axis-btn:active{color:var(--text-secondary);background:var(--bg-hover)}.combo-type-btn.active,.combo-axis-btn.active{color:var(--accent);background:var(--accent-subtle)}.combo-right-axis-label{margin-top:var(--space-2)}.combo-right-axis-input{width:100%;padding:var(--space-2) var(--space-2);font-family:var(--font-body);font-size:.8rem;color:var(--text-primary);background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-sm);transition:border-color var(--transition-fast)}.combo-right-axis-input:focus-visible{outline:none;border-color:var(--accent)}.combo-right-axis-input::placeholder{color:var(--text-muted)}.controls-footer{padding:var(--space-2) var(--space-3);border-top:var(--border-subtle);background:var(--bg-tertiary)}.ai-badge{display:flex;align-items:center;justify-content:center;gap:var(--space-1);font-size:.6rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}@media(max-width:720px){.chart-controls{max-height:none}.controls-top-layout{grid-template-columns:1fr}.controls-branding-column{border-left:none;padding-left:0}.chart-type-grid{grid-template-columns:repeat(5,1fr)}.controls-grid{grid-template-columns:1fr}.control-section{border-right:none}.control-section:nth-last-child(-n+2){border-bottom:var(--border-subtle)}.control-section:last-child{border-bottom:none}.color-scheme-list{grid-template-columns:repeat(3,1fr)}.toggle-list{grid-template-columns:1fr 1fr}}@media(max-width:480px){.chart-type-grid{grid-template-columns:repeat(4,1fr)}.color-scheme-list,.ai-mode-grid{grid-template-columns:repeat(2,1fr)}.map-options-row{flex-direction:column}}@media(prefers-reduced-motion:reduce){.control-source-link,.control-input-title,.controls-branding-select,.controls-segment,.type-button,.style-variant-button,.ai-mode-button,.ai-custom-prompt-input{transition:none;animation:none}.ai-generate-button{transition:none}.toggle-switch{transition:none;animation:none}.toggle-switch:after{transition:none;animation:none}.baseline-mode-select,.color-scheme-button{transition:none;animation:none}.map-scope-button,.map-variant-button,.combo-suggest-banner,.swap-axes-btn,.combo-type-btn,.combo-axis-btn,.combo-right-axis-input{transition:none}}.editable-spreadsheet{display:flex;flex-direction:column;background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.spreadsheet-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:var(--border-subtle);background:var(--bg-tertiary)}.spreadsheet-header-left{display:flex;align-items:center;gap:var(--space-3)}.spreadsheet-label{font-family:var(--font-mono);font-size:.65rem;font-weight:500;color:var(--text-muted);letter-spacing:.08em}.dirty-indicator{font-family:var(--font-mono);font-size:.6rem;font-weight:500;color:var(--warning);padding:2px 6px;background:#eab3081a;border-radius:3px}.spreadsheet-actions{display:flex;align-items:center;gap:var(--space-2)}.spreadsheet-action{display:flex;align-items:center;gap:4px;padding:4px 8px;font-family:var(--font-body);font-size:.75rem;font-weight:500;color:var(--text-muted);background:transparent;border:var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}.spreadsheet-action:hover{color:var(--text-secondary);background:var(--bg-hover);border-color:var(--accent)}.spreadsheet-container{overflow:auto;max-height:320px}.spreadsheet-table{width:100%;border-collapse:collapse;font-size:.85rem}.spreadsheet-th,.spreadsheet-td{padding:0;border-bottom:var(--border-subtle);border-right:var(--border-subtle)}.spreadsheet-th:last-child,.spreadsheet-td:last-child{border-right:none}.spreadsheet-th{background:var(--bg-tertiary);position:sticky;top:0;z-index:2}.corner-cell{width:120px;min-width:120px;position:sticky;left:0;z-index:3}.corner-header{padding:var(--space-2) var(--space-3);font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.series-header{min-width:100px}.series-header-content{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3)}.series-color{width:8px;height:8px;border-radius:2px;flex-shrink:0}.label-cell{background:var(--bg-tertiary);position:sticky;left:0;z-index:1;min-width:120px}.label-cell-content{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3)}.value-cell{background:var(--bg-secondary);min-width:100px}.editable-cell{display:flex;align-items:center;min-height:36px;flex:1;cursor:text}.editable-cell.header-cell{font-weight:500}.series-header .editable-cell{align-items:flex-start}.series-header .cell-value{white-space:normal;overflow:visible;text-overflow:unset;line-height:1.2}.cell-value{padding:var(--space-2) var(--space-3);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.value-cell .cell-value{font-family:var(--font-mono);text-align:right;color:var(--text-secondary)}.label-cell .cell-value{color:var(--text-primary);font-weight:500}.cell-input{width:100%;padding:var(--space-2) var(--space-3);font-family:inherit;font-size:inherit;color:var(--text-primary);background:var(--bg-primary);border:2px solid var(--accent);border-radius:2px;outline:none}.value-cell .cell-input{font-family:var(--font-mono);text-align:right}.editable-cell.editing{padding:0}.delete-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;color:var(--text-muted);background:transparent;border:none;border-radius:3px;cursor:pointer;opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast),background-color var(--transition-fast);flex-shrink:0}.series-header-content:hover .delete-btn,.label-cell-content:hover .delete-btn{opacity:1}.delete-btn:hover{color:var(--error);background:#ef44441a}.spreadsheet-table tbody tr:hover .value-cell{background:var(--bg-tertiary)}.spreadsheet-container::-webkit-scrollbar{width:6px;height:6px}.spreadsheet-container::-webkit-scrollbar-track{background:transparent}.spreadsheet-container::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:3px}.spreadsheet-container::-webkit-scrollbar-corner{background:var(--bg-tertiary)}@media(max-width:768px){.spreadsheet-container{max-height:250px}.corner-cell,.label-cell{min-width:100px;width:100px}}@media(max-width:480px){.spreadsheet-container{-webkit-overflow-scrolling:touch}.spreadsheet-header{flex-wrap:wrap;gap:var(--space-2)}.corner-cell,.label-cell{min-width:80px;width:80px}.value-cell{min-width:80px}}@media(prefers-reduced-motion:reduce){.spreadsheet-action{transition:none;animation:none}}.image-reasoning-panel{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-md);min-height:0;overflow:hidden}.image-reasoning-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.image-reasoning-label{font-family:var(--font-mono);font-size:.65rem;font-weight:600;letter-spacing:.08em;color:var(--text-muted)}.image-reasoning-help{margin:0;font-size:.7rem;color:var(--text-muted);line-height:1.3}.image-reasoning-textarea{flex:1;min-height:60px;padding:var(--space-2);font-family:var(--font-body);font-size:.8rem;line-height:1.4;color:var(--text-primary);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-md);resize:none}.image-reasoning-textarea::placeholder{color:var(--text-muted)}.image-reasoning-textarea:focus-visible{outline:none;border-color:var(--accent)}.image-reasoning-actions{display:flex;align-items:center;gap:var(--space-2)}.image-reasoning-apply,.image-reasoning-reset{display:inline-flex;align-items:center;gap:var(--space-1);padding:6px 10px;font-family:var(--font-body);font-size:.75rem;font-weight:600;border:none;border-radius:var(--radius-sm);cursor:pointer}.image-reasoning-apply{background:var(--accent);color:#fff}.image-reasoning-apply:disabled{opacity:.5;cursor:not-allowed}.image-reasoning-reset{background:transparent;color:var(--text-muted)}.image-reasoning-error{color:var(--danger);font-size:.8rem}.image-reasoning-reply{padding-top:var(--space-2);border-top:1px solid var(--bg-tertiary);display:flex;flex-direction:column;gap:var(--space-1)}.image-reasoning-reply-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.image-reasoning-reply-text{margin:0;font-size:.85rem;color:var(--text-secondary);line-height:1.5}.image-reasoning-spin{animation:image-reasoning-spin .9s linear infinite}@keyframes image-reasoning-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.image-reasoning-spin{animation:none}}.reverse-engineer-view{display:flex;flex-direction:column;gap:var(--space-4);flex:1;min-height:0}.re-main-content{flex:1;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3) var(--space-4);overflow-y:auto;min-width:0;min-height:0}.re-toolbar{display:flex;justify-content:flex-end;gap:var(--space-2)}.re-workspace{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);min-height:0;flex:1}.re-chart-area{display:flex;flex-direction:column;gap:var(--space-3);min-height:0}.re-chart-area.is-exporting{width:fit-content;max-width:800px}.re-chart-area.is-exporting .chart-ai-summary{display:none}.re-controls-area{display:flex;flex-direction:column;min-height:0}.re-controls-area .chart-controls{display:flex;flex-direction:column}.re-data-area{flex-shrink:0}@media(max-width:1200px){.re-controls-area .controls-grid{grid-template-columns:1fr}.re-controls-area .control-section{border-right:none}}@media(max-width:1024px){.re-workspace{grid-template-columns:1fr;grid-template-rows:1fr auto;flex:none}.re-chart-area{min-height:450px}.re-editor-area{min-height:350px}}@media(max-width:768px){.re-chart-area{min-height:350px}}.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9999;display:flex;flex-direction:column;gap:.75rem;pointer-events:none}.toast{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:280px;max-width:420px;pointer-events:auto}.toast-icon{flex-shrink:0}.toast--success{border-left:3px solid var(--success)}.toast--success .toast-icon{color:var(--success)}.toast--error{border-left:3px solid var(--error)}.toast--error .toast-icon{color:var(--error)}.toast--warning{border-left:3px solid var(--warning)}.toast--warning .toast-icon{color:var(--warning)}.toast--info{border-left:3px solid var(--accent)}.toast--info .toast-icon{color:var(--accent)}.toast-message{flex:1;font-size:.9rem;color:var(--text-primary);line-height:1.4}.toast-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:background-color .15s ease,color .15s ease}.toast-close:hover{background:var(--bg-secondary);color:var(--text-primary)}@media(max-width:640px){.toast-container{left:1rem;right:1rem;bottom:1rem}.toast{min-width:auto;max-width:none}}@media(prefers-reduced-motion:reduce){.toast-close{transition:none;animation:none}}.export-menu{position:relative}.export-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;background:var(--bg-elevated);border:var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;z-index:1000}.export-option{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:.85rem;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast);text-align:left}.export-option:hover:not(:disabled),.export-option:active:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.export-option:disabled{opacity:.5;cursor:not-allowed}.export-option svg{flex-shrink:0;color:var(--text-muted)}.export-option:hover:not(:disabled) svg,.export-option:active:not(:disabled) svg{color:var(--text-secondary)}.export-divider{height:1px;background:var(--border-subtle);margin:var(--space-1) 0}.export-loading{margin-left:auto;font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);animation:pulse 1s ease-in-out infinite}@media(max-width:480px){.export-dropdown{position:fixed;inset:auto 0 0;min-width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:50vh;overflow-y:auto}.export-option{min-height:44px}}@media(prefers-reduced-motion:reduce){.export-option,.export-loading{transition:none;animation:none}}.share-menu{position:relative}.share-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--bg-elevated);border:var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;z-index:1000}.share-option{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:.85rem;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast);text-align:left}.share-option:hover:not(:disabled),.share-option:active:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.share-option:disabled{opacity:.5;cursor:not-allowed}.share-option svg{flex-shrink:0;color:var(--text-muted)}.share-option:hover:not(:disabled) svg,.share-option:active:not(:disabled) svg{color:var(--text-secondary)}.copied-icon{color:var(--success)!important}.share-divider{height:1px;background:var(--border-subtle);margin:var(--space-1) 0}.share-loading{margin-left:auto;font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.share-paste-hint{position:absolute;top:calc(100% + 8px);right:0;min-width:260px;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-elevated);border:1px solid var(--success);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000;font-family:var(--font-body);font-size:.8rem;color:var(--text-secondary);white-space:nowrap}.paste-hint-icon{color:var(--success);flex-shrink:0}@media(max-width:480px){.share-dropdown{position:fixed;inset:auto 0 0;min-width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:50vh;overflow-y:auto}.share-option{min-height:44px}}@media(prefers-reduced-motion:reduce){.share-option{transition:none}.share-loading{animation:none}.share-paste-hint{transition:none}}.publish-menu{position:relative}.publish-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:280px;background:var(--bg-elevated);border:var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;z-index:1000}.publish-option{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:none;background:transparent;color:var(--text-secondary);font-family:var(--font-body);font-size:.85rem;text-align:left;cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast)}.publish-option:hover:not(:disabled),.publish-option:active:not(:disabled){color:var(--text-primary);background:var(--bg-hover)}.publish-option:disabled{opacity:.5;cursor:not-allowed}.publish-option svg{flex-shrink:0;color:var(--text-muted)}.publish-option:hover:not(:disabled) svg,.publish-option:active:not(:disabled) svg{color:var(--text-secondary)}.publish-check{margin-left:auto;color:var(--success)!important}.publish-divider{height:1px;background:var(--border-subtle)}.publish-team-block{display:grid;gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-4)}.publish-team-label{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-muted);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.publish-team-list{display:grid;gap:var(--space-2);max-height:180px;overflow-y:auto;padding-right:2px}.publish-team-item{display:flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-family:var(--font-body);font-size:.82rem}.publish-team-item input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent)}.publish-team-item input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.publish-save-button{display:inline-flex;align-items:center;justify-content:center;margin-top:var(--space-1);min-height:32px;border:none;border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary);font-family:var(--font-body);font-size:.82rem;font-weight:500;cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast)}.publish-save-button:hover:not(:disabled),.publish-save-button:active:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.publish-save-button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.publish-save-button:disabled{opacity:.5;cursor:not-allowed}.publish-team-empty{margin:0;color:var(--text-muted);font-family:var(--font-body);font-size:.78rem;line-height:1.4}@media(max-width:480px){.publish-dropdown{position:fixed;inset:auto 0 0;min-width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:50vh;overflow-y:auto}}@media(prefers-reduced-motion:reduce){.publish-option,.publish-save-button{transition:none}}.embed-view{width:100%;height:100vh;overflow:hidden;background:transparent;display:flex;align-items:stretch;justify-content:stretch}.embed-view--loading,.embed-view--error{align-items:center;justify-content:center;background:var(--bg-primary)}.embed-error-text{color:var(--text-muted);font-family:var(--font-body);font-size:.85rem}.embed-chart-wrapper{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.embed-chart-wrapper .chart-preview{flex:1;min-height:0;border-radius:0;border:none}.chart-card{display:flex;flex-direction:column;background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.chart-card:hover{border-color:var(--accent-subtle);box-shadow:var(--shadow-card)}.chart-card__preview{position:relative;height:160px;background:var(--bg-tertiary);padding:var(--space-2)}.chart-card__type-badge{position:absolute;top:var(--space-2);right:var(--space-2);padding:var(--space-1) var(--space-2);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-secondary);border-radius:var(--radius-sm);border:var(--border-subtle)}.chart-card__content{flex:1;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4)}.chart-card__title{font-size:.95rem;font-weight:600;color:var(--text-primary);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chart-card__description{font-size:.8rem;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chart-card__meta{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:var(--space-2)}.chart-card__author{display:flex;align-items:center;gap:var(--space-2)}.chart-card__avatar{width:20px;height:20px;border-radius:var(--radius-full);object-fit:cover}.chart-card__avatar-placeholder{width:20px;height:20px;border-radius:var(--radius-full);background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.chart-card__author-name{font-size:.75rem;color:var(--text-secondary);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-card__date{font-size:.7rem;color:var(--text-muted)}.chart-card__actions{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-4) var(--space-3);border-top:var(--border-subtle)}.chart-card__action{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:.75rem;color:var(--text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast)}.chart-card__action:hover{color:var(--text-secondary);background:var(--bg-tertiary)}.chart-card__action--active{color:var(--accent)}.chart-card__action--active:hover{color:var(--accent-hover)}.chart-card__action:disabled{opacity:.5;cursor:not-allowed}.chart-card__stat{display:flex;align-items:center;gap:var(--space-1);margin-left:auto;font-size:.7rem;color:var(--text-muted)}@media(prefers-reduced-motion:reduce){.chart-card,.chart-card__action{transition:none;animation:none}}.chart-feed{display:flex;flex-direction:column;flex:1;min-height:0}.chart-feed__header{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4) var(--space-6);border-bottom:var(--border-subtle);background:var(--bg-secondary)}.chart-feed__header-top{display:flex;align-items:center;gap:var(--space-4)}.chart-feed__back-btn{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);font-size:.85rem;font-weight:500;color:var(--text-secondary);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast)}.chart-feed__back-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.chart-feed__title{font-family:var(--font-display);font-size:1.5rem;font-weight:400;color:var(--text-primary);margin:0;flex:1}.chart-feed__refresh-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--text-muted);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast)}.chart-feed__refresh-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.chart-feed__refresh-btn:disabled{opacity:.5;cursor:not-allowed}.chart-feed__tabs{display:flex;gap:var(--space-2)}.chart-feed__tab{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:.85rem;font-weight:500;color:var(--text-secondary);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast)}.chart-feed__tab:hover:not(:disabled){color:var(--text-primary);background:var(--bg-tertiary)}.chart-feed__tab--active{color:var(--text-primary);background:var(--bg-tertiary)}.chart-feed__tab--disabled{opacity:.5;cursor:not-allowed}.chart-feed__content{flex:1;overflow-y:auto;padding:var(--space-6)}.chart-feed__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.chart-feed__loading,.chart-feed__empty,.chart-feed__error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-16);text-align:center;color:var(--text-muted)}.chart-feed__loading .spinning,.chart-feed__refresh-btn .spinning{animation:spin 1s linear infinite}.chart-feed__empty h2{font-size:1.1rem;font-weight:600;color:var(--text-secondary);margin:0}.chart-feed__empty p{font-size:.9rem;color:var(--text-muted);margin:0}.chart-feed__error{color:var(--error)}.chart-feed__error p{margin:0}.chart-feed__retry-btn{padding:var(--space-2) var(--space-4);font-size:.85rem;font-weight:500;color:var(--text-primary);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast)}.chart-feed__retry-btn:hover{background:var(--bg-hover)}.chart-feed__load-more{display:flex;justify-content:center;padding:var(--space-6) 0}.chart-feed__load-more-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-size:.9rem;font-weight:500;color:var(--text-secondary);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-base),background-color var(--transition-base),border-color var(--transition-base)}.chart-feed__load-more-btn:hover:not(:disabled){color:var(--text-primary);background:var(--bg-hover);border-color:var(--accent-subtle)}.chart-feed__load-more-btn:disabled{opacity:.7;cursor:not-allowed}.chart-feed__load-more-btn .spinning{animation:spin 1s linear infinite}@media(max-width:768px){.chart-feed__header{padding:var(--space-3) var(--space-4)}.chart-feed__content{padding:var(--space-4)}.chart-feed__grid{grid-template-columns:1fr}.chart-feed__tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.chart-feed__tab{white-space:nowrap}}@media(prefers-reduced-motion:reduce){.chart-feed__back-btn,.chart-feed__refresh-btn,.chart-feed__tab,.chart-feed__loading .spinning,.chart-feed__refresh-btn .spinning,.chart-feed__retry-btn,.chart-feed__load-more-btn,.chart-feed__load-more-btn .spinning{transition:none;animation:none}}.modal-backdrop{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000}.invite-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;max-width:420px;background:var(--bg-secondary);border:var(--border-default);border-radius:12px;box-shadow:0 20px 60px #0006;z-index:1001;overflow:hidden}.invite-modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:var(--border-default)}.invite-modal__title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:var(--text-primary)}.invite-modal__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:6px;transition:background-color .15s ease,color .15s ease}.invite-modal__close:hover{background:var(--bg-elevated);color:var(--text-primary)}.invite-modal__form{padding:20px}.invite-modal__field{margin-bottom:16px}.invite-modal__label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.invite-modal__input-wrapper{position:relative}.invite-modal__input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted)}.invite-modal__input{width:100%;padding:10px 12px 10px 38px;background:var(--bg-elevated);border:var(--border-default);border-radius:8px;color:var(--text-primary);font-size:14px;transition:border-color .15s ease,box-shadow .15s ease}.invite-modal__input::placeholder{color:var(--text-muted)}.invite-modal__input:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.invite-modal__roles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.invite-modal__role{padding:12px;background:var(--bg-elevated);border:var(--border-default);border-width:2px;border-radius:8px;cursor:pointer;text-align:left;transition:border-color .15s ease,background-color .15s ease}.invite-modal__role:hover{border-color:var(--accent)}.invite-modal__role--active{border-color:var(--accent);background:var(--accent-subtle)}.invite-modal__role-name{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.invite-modal__role-desc{display:block;font-size:12px;color:var(--text-muted)}.invite-modal__warning{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--error-subtle);border:1px solid color-mix(in srgb,var(--error) 20%,transparent);border-radius:8px;font-size:13px;color:var(--error);margin-bottom:16px}.invite-modal__warning a{color:var(--error);text-decoration:underline}.invite-modal__submit{width:100%;padding:12px;background:var(--accent);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .15s ease}.invite-modal__submit:hover:not(:disabled){background:var(--accent-hover)}.invite-modal__submit:disabled{opacity:.5;cursor:not-allowed}.invite-modal__link-section{padding:16px 20px 20px;border-top:var(--border-default);background:var(--bg-elevated)}.invite-modal__link-header{font-size:13px;color:var(--text-secondary);margin-bottom:10px}.invite-modal__link-row{display:flex;gap:8px}.invite-modal__link-input{flex:1;padding:8px 12px;background:var(--bg-secondary);border:var(--border-default);border-radius:6px;color:var(--text-secondary);font-size:12px;font-family:monospace}.invite-modal__copy{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-secondary);border:var(--border-default);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.invite-modal__copy:hover{background:var(--accent);border-color:var(--accent);color:#fff}@media(max-width:480px){.invite-modal{top:auto;bottom:0;left:0;transform:none;max-width:100%;border-radius:12px 12px 0 0;max-height:90vh;overflow-y:auto}.invite-modal__close{min-width:44px;min-height:44px}}@media(prefers-reduced-motion:reduce){.invite-modal__close,.invite-modal__input,.invite-modal__role,.invite-modal__submit,.invite-modal__copy{transition:none;animation:none}}.plan-selector{max-width:1000px;margin:0 auto}.plan-selector__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media(max-width:900px){.plan-selector__grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}}.plan-card{position:relative;padding:24px;background:var(--bg-secondary);border:var(--border-default);border-radius:12px;display:flex;flex-direction:column}.plan-card--highlight{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.plan-card--current{background:var(--bg-elevated)}.plan-card__badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);padding:4px 12px;background:var(--accent);color:#fff;font-size:11px;font-weight:600;border-radius:20px;text-transform:uppercase;letter-spacing:.5px}.plan-card__icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--accent-subtle);color:var(--accent);border-radius:10px;margin-bottom:16px}.plan-card--highlight .plan-card__icon{background:var(--accent);color:#fff}.plan-card__name{font-size:20px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.plan-card__price{display:flex;align-items:baseline;gap:4px;margin-bottom:8px}.plan-card__amount{font-size:36px;font-weight:700;color:var(--text-primary)}.plan-card__period{font-size:14px;color:var(--text-muted)}.plan-card__description{font-size:14px;color:var(--text-secondary);margin:0 0 20px;line-height:1.5}.plan-card__limits{display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--bg-elevated);border-radius:8px;margin-bottom:20px}.plan-card--current .plan-card__limits{background:var(--bg-secondary)}.plan-card__limit{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--text-primary)}.plan-card__limit svg{color:var(--success)}.plan-card__features{list-style:none;padding:0;margin:0 0 24px;flex:1}.plan-card__feature{display:flex;align-items:flex-start;gap:10px;padding:8px 0;font-size:13px;color:var(--text-secondary)}.plan-card__feature svg{flex-shrink:0;margin-top:2px;color:var(--accent)}.plan-card__button{width:100%;padding:12px;background:var(--bg-elevated);border:var(--border-default);border-radius:8px;color:var(--text-primary);font-size:14px;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.plan-card__button:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff}.plan-card__button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.plan-card__button:disabled{cursor:not-allowed;opacity:.6}.plan-card__button--current{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent)}.plan-card__button--downgrade{background:transparent;color:var(--text-muted)}.plan-card--highlight .plan-card__button:not(.plan-card__button--current){background:var(--accent);border-color:var(--accent);color:#fff}.plan-card--highlight .plan-card__button:hover:not(:disabled){background:var(--accent-hover)}.plan-selector__note{text-align:center;font-size:13px;color:var(--text-muted);margin-top:24px}@media(prefers-reduced-motion:reduce){.plan-card__button{transition:none;animation:none}}.settings-page{display:flex;min-height:100vh;background:var(--bg-primary)}.settings-page__sidebar{width:var(--sidebar-width);padding:20px 16px;background:var(--bg-secondary);border-right:var(--border-default)}.settings-page__title{font-size:20px;font-weight:600;color:var(--text-primary);margin:0 0 24px}.settings-page__nav{display:flex;flex-direction:column;gap:4px}.settings-page__nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:transparent;border:none;border-radius:8px;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:background-color .15s ease,color .15s ease;text-align:left}.settings-page__nav-item:hover{background:var(--bg-elevated);color:var(--text-primary)}.settings-page__nav-item--active{background:var(--accent-subtle);color:var(--accent)}.settings-page__content{flex:1;padding:32px;position:relative;overflow-y:auto}.settings-page__close{position:absolute;top:24px;right:24px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;font-size:24px;color:var(--text-muted);cursor:pointer;border-radius:6px;transition:background-color .15s ease,color .15s ease}.settings-page__close:hover{background:var(--bg-elevated);color:var(--text-primary)}.settings-section{max-width:600px}.settings-section--wide{max-width:100%}.settings-section__header{margin-bottom:24px}.settings-section__title{font-size:24px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.settings-section__description,.settings-privacy-text{font-size:14px;color:var(--text-secondary);margin:0}.settings-card{background:var(--bg-secondary);border:var(--border-default);border-radius:12px;padding:20px;margin-bottom:16px}.settings-card--warning{border-color:var(--warning)}.settings-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.settings-card__title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.settings-card__content{display:flex;flex-direction:column;gap:16px}.settings-plan-row{display:flex;align-items:center;gap:12px}.settings-plan-name{font-size:24px;font-weight:700;text-transform:capitalize;color:var(--text-primary)}.settings-plan-status{font-size:12px;padding:4px 8px;background:var(--error-subtle);color:var(--error);border-radius:4px}.settings-plan-renewal{font-size:13px;color:var(--text-muted);margin:8px 0 0}.settings-usage-title-icon{margin-right:8px;vertical-align:middle}.settings-plan-selection{margin-top:32px}.settings-billing-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.settings-billing-overview .settings-card{margin-bottom:0}.settings-plan-selection__title{font-size:18px;font-weight:600;margin-bottom:20px;color:var(--text-primary)}.settings-faq{margin-top:32px}.settings-faq-item{margin-bottom:16px}.settings-faq-item:last-child{margin-bottom:0}.settings-faq-title{color:var(--text-primary)}.settings-faq-text{font-size:13px;color:var(--text-secondary);margin:4px 0 0}.settings-field{display:flex;flex-direction:column;gap:6px}.settings-field__label{font-size:13px;font-weight:500;color:var(--text-secondary)}.settings-field__value{font-size:14px;color:var(--text-primary)}.settings-muted-text{font-size:13px;color:var(--text-muted);margin:0}.settings-warning-text{margin:0;font-size:14px;color:var(--warning)}.settings-warning-link{margin-top:12px;display:inline-block;text-decoration:none}.settings-field__input{padding:10px 12px;background:var(--bg-elevated);border:var(--border-default);border-radius:8px;color:var(--text-primary);font-size:14px;transition:border-color .15s ease,box-shadow .15s ease}.settings-field__input:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.settings-button__icon{margin-right:6px;vertical-align:middle}.settings-inline-icon{margin-right:4px;vertical-align:middle}.settings-icon-button{padding:var(--space-1);min-width:28px}.settings-avatar{display:flex;align-items:center;gap:16px}.settings-avatar__image{width:64px;height:64px;border-radius:50%;object-fit:cover}.settings-avatar__placeholder{width:64px;height:64px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:600}.settings-avatar__info{flex:1}.settings-avatar__name{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.settings-avatar__email{font-size:13px;color:var(--text-muted);margin:0}.members-list{display:flex;flex-direction:column;gap:12px}.member-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-elevated);border-radius:8px}.member-item__avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}.member-item__avatar-placeholder{width:40px;height:40px;border-radius:50%;background:var(--accent-subtle);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600}.member-item__info{flex:1}.member-item__name{font-size:14px;font-weight:500;color:var(--text-primary)}.member-item__email{font-size:12px;color:var(--text-muted)}.member-item__role{font-size:12px;padding:4px 8px;background:var(--bg-secondary);border-radius:4px;color:var(--text-secondary);text-transform:capitalize}.member-item__role--owner{background:var(--accent-subtle);color:var(--accent)}.member-item__actions{display:flex;gap:8px}.usage-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.usage-stat{padding:16px;background:var(--bg-elevated);border-radius:8px}.usage-stat__label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.usage-stat__value{font-size:24px;font-weight:600;color:var(--text-primary)}.usage-stat__limit{font-size:13px;color:var(--text-secondary);margin-top:4px}.usage-bar{height:4px;background:var(--bg-tertiary);border-radius:2px;margin-top:12px;overflow:hidden}.usage-bar__fill{height:100%;background:var(--accent);border-radius:2px;transition:width .3s ease}.usage-bar__fill--warning{background:var(--warning)}.usage-bar__fill--danger{background:var(--error)}.settings-empty{text-align:center;padding:40px;color:var(--text-muted)}.settings-empty__icon{margin-bottom:16px;opacity:.5}.settings-empty__text{font-size:14px;margin:0}.branding-upgrade{display:flex;gap:16px;align-items:flex-start}.branding-upgrade__icon{padding:12px;background:var(--warning-subtle);border-radius:8px;color:var(--warning)}.branding-upgrade__content{flex:1}.branding-upgrade__title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.branding-upgrade__text{font-size:14px;color:var(--text-secondary);margin:0 0 16px;line-height:1.5}.branding-preview{display:flex;justify-content:center}.branding-preview__chart{position:relative;width:100%;max-width:400px;aspect-ratio:16/9;background:var(--bg-tertiary);border-radius:8px;overflow:hidden}.branding-preview__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:14px}.branding-preview__watermark{position:absolute;bottom:8px;right:8px;opacity:.5}.branding-preview__text{font-size:12px;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.branding-preview__logo{max-height:20px;width:auto}.branding-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px}.branding-toggle__info{flex:1}.branding-toggle__label{display:block;font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:4px}.branding-toggle__description{display:block;font-size:13px;color:var(--text-muted)}.branding-toggle__switch{position:relative;width:44px;height:24px;background:var(--bg-tertiary);border:none;border-radius:12px;cursor:pointer;transition:background-color .2s ease}.branding-toggle__switch--on{background:var(--accent)}.branding-toggle__switch-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s ease}.branding-toggle__switch--on .branding-toggle__switch-thumb{transform:translate(20px)}.branding-logo-upload{display:flex;flex-direction:column;gap:16px}.branding-logo-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px;background:var(--bg-elevated);border:2px dashed var(--border-color);border-radius:8px;cursor:pointer;transition:border-color .15s ease,color .15s ease;color:var(--text-secondary)}.branding-logo-dropzone:hover{border-color:var(--accent);color:var(--text-primary)}.branding-logo-dropzone:disabled{opacity:.6;cursor:not-allowed}.branding-logo-dropzone__hint{font-size:12px;color:var(--text-muted)}.branding-logo-current{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg-elevated);border-radius:8px}.branding-logo-current__image{max-height:48px;max-width:200px;width:auto}.branding-logo-current__actions{display:flex;gap:8px;margin-left:auto}.branding-logo-delete{color:var(--error)}.branding-logo-delete:hover{background:var(--error-subtle)}.branding-domain-input{display:flex;gap:12px;margin-bottom:16px}.branding-domain-field{flex:1;display:flex;align-items:center;gap:10px;padding:0 12px;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:8px;transition:border-color .15s ease}.branding-domain-field:focus-within{border-color:var(--accent)}.branding-domain-icon{color:var(--text-muted);flex-shrink:0}.branding-domain-text{flex:1;padding:10px 0;background:transparent;border:none;color:var(--text-primary);font-size:14px;outline:none}.branding-domain-text::placeholder{color:var(--text-muted)}.branding-colors-preview{padding:16px;background:var(--bg-elevated);border-radius:8px}.branding-colors-label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.branding-colors-swatches{display:flex;gap:8px;margin-bottom:12px}.branding-color-swatch{width:48px;height:48px;border-radius:8px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:4px;box-shadow:0 2px 4px #0003;transition:transform .15s ease}.branding-color-swatch:hover{transform:scale(1.1)}.branding-color-hex{font-size:8px;font-weight:600;font-family:var(--font-mono);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);font-variant-numeric:tabular-nums}.branding-theme-badge{display:inline-block;padding:4px 10px;background:var(--bg-secondary);border-radius:4px;font-size:12px;color:var(--text-secondary);text-transform:capitalize}.branding-section{padding-bottom:20px;border-bottom:var(--border-subtle)}.branding-section:last-child{border-bottom:none;padding-bottom:0}.branding-section__title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.brand-colors-editor{display:flex;flex-direction:column;gap:12px}.brand-color-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;background:var(--bg-secondary);border-radius:8px}.brand-color-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.brand-color-label{font-size:13px;font-weight:500;color:var(--text-primary)}.brand-color-description{font-size:11px;color:var(--text-muted)}.brand-color-input-wrapper{display:flex;align-items:center;gap:8px;position:relative}.brand-color-swatch-btn{width:32px;height:32px;border-radius:6px;border:2px solid var(--border-color);cursor:pointer;transition:border-color .15s,transform .15s;flex-shrink:0}.brand-color-swatch-btn:hover{border-color:var(--accent);transform:scale(1.05)}.brand-color-picker{position:absolute;top:100%;right:0;margin-top:4px;width:200px;height:40px;border:none;cursor:pointer;z-index:10}.brand-color-hex-input{width:80px;padding:6px 8px;font-family:var(--font-mono);font-size:12px;color:var(--text-secondary);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:4px;text-transform:uppercase}.brand-color-hex-input:focus-visible{outline:none;border-color:var(--accent)}@media(max-width:768px){.settings-page{flex-direction:column}.settings-page__sidebar{width:100%;border-right:none;border-bottom:var(--border-default);padding:16px}.settings-page__nav{flex-direction:row;overflow-x:auto}.settings-page__nav-item{white-space:nowrap;min-height:44px}.settings-page__content{padding:20px}.usage-stats,.settings-billing-overview{grid-template-columns:1fr}.branding-upgrade{flex-direction:column}.branding-logo-current{flex-direction:column;text-align:center}.branding-logo-current__actions{margin-left:0}.brand-color-row{flex-direction:column;align-items:flex-start;gap:8px}.brand-color-input-wrapper{width:100%;justify-content:flex-start}}@media(max-width:480px){.settings-page__content{padding:16px}.settings-page__sidebar{padding:12px}}@media(prefers-reduced-motion:reduce){.settings-page__nav-item,.settings-page__close,.settings-field__input,.usage-bar__fill,.branding-toggle__switch,.branding-toggle__switch-thumb,.branding-logo-dropzone{transition:none;animation:none}.brand-color-swatch-btn{transition:none}}.conn-form-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;transition:background-color .15s,color .15s}.conn-form-close:hover{background:var(--bg-elevated);color:var(--text-primary)}.conn-form-row{display:flex;gap:12px}.conn-form-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);cursor:pointer}.conn-form-checkbox input[type=checkbox]{accent-color:var(--accent)}.conn-form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.conn-list{display:flex;flex-direction:column;gap:12px}.conn-item{margin-bottom:0}.conn-item-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.conn-item-info{flex:1;min-width:0}.conn-item-name{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--text-primary)}.conn-item-detail{font-size:12px;color:var(--text-muted);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conn-item-actions{display:flex;gap:6px;flex-shrink:0}.conn-item-error{margin-top:8px;padding:8px 12px;font-size:12px;color:var(--danger);background:var(--danger-bg);border-radius:var(--radius-md)}.conn-status{display:inline-block;padding:2px 8px;font-size:11px;font-weight:600;border-radius:4px;text-transform:uppercase;letter-spacing:.03em}.conn-status--ok{background:var(--success-bg, rgba(34, 197, 94, .1));color:var(--success, #22c55e)}.conn-status--error{background:var(--error-subtle, rgba(239, 68, 68, .1));color:var(--error, #ef4444)}.conn-status--untested{background:var(--bg-tertiary);color:var(--text-muted)}@media(max-width:640px){.conn-form-row{flex-direction:column}.conn-item-header{flex-direction:column;align-items:flex-start}.conn-item-actions{width:100%}}@media(prefers-reduced-motion:reduce){.conn-form-close{transition:none}}.invite-accept{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:2rem}.invite-accept__card{background:var(--bg-secondary);border:1px solid var(--bg-tertiary);border-radius:16px;padding:2.5rem;max-width:420px;width:100%;text-align:center;box-shadow:0 4px 24px #00000014}.invite-accept__card--error{border-color:var(--error)}.invite-accept__card--success{border-color:var(--success)}.invite-accept__icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 1.5rem;background:color-mix(in srgb,var(--accent) 10%,transparent);border-radius:50%;color:var(--accent)}.invite-accept__icon--error{background:color-mix(in srgb,var(--error) 10%,transparent);color:var(--error)}.invite-accept__icon--success{background:color-mix(in srgb,var(--success) 10%,transparent);color:var(--success)}.invite-accept__spinner{animation:spin 1s linear infinite;color:var(--accent)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.invite-accept__loading-text{color:var(--text-secondary);margin:1rem 0 0}.invite-accept__title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.invite-accept__message{color:var(--text-secondary);margin:0 0 1.5rem}.invite-accept__redirect{color:var(--text-muted);font-size:.875rem;margin:0}.invite-accept__link{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--accent);color:#fff;border-radius:8px;text-decoration:none;font-weight:500;transition:background-color .2s ease}.invite-accept__link:hover{background:var(--accent-hover)}.invite-accept__details{background:var(--bg-tertiary);border-radius:12px;padding:1.25rem;margin:1.5rem 0}.invite-accept__team-name{color:var(--text-primary);margin:0 0 .5rem;font-size:1rem}.invite-accept__inviter{color:var(--text-secondary);font-size:.875rem;margin:0 0 .75rem}.invite-accept__role{color:var(--text-secondary);font-size:.875rem;margin:0}.invite-accept__role-badge{display:inline-block;padding:.125rem .5rem;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);border-radius:4px;font-weight:500;text-transform:capitalize}.invite-accept__auth{display:flex;flex-direction:column;align-items:center;gap:1rem}.invite-accept__auth-message{color:var(--text-secondary);margin:0}.invite-accept__actions{display:flex;flex-direction:column;align-items:center;gap:1rem}.invite-accept__decline{color:var(--text-secondary);text-decoration:none;font-size:.875rem}.invite-accept__decline:hover{color:var(--text-primary);text-decoration:underline}.invite-accept__button-spinner{animation:spin 1s linear infinite}@media(prefers-reduced-motion:reduce){.invite-accept__spinner,.invite-accept__link,.invite-accept__button-spinner{transition:none;animation:none}}.not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:2rem}.not-found__title{font-size:6rem;font-weight:700;color:var(--color-primary);margin:0;line-height:1}.not-found__message{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin:1rem 0 .5rem}.not-found__description{font-size:1rem;color:var(--color-text-secondary);margin:0 0 2rem;max-width:400px}.not-found__link{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--color-primary);color:#fff;border-radius:8px;text-decoration:none;font-weight:500;transition:background .2s ease}.not-found__link:hover{background:var(--color-primary-hover)}@media(prefers-reduced-motion:reduce){.not-found__link{transition:none;animation:none}}.legal{max-width:720px;margin:0 auto;padding:var(--space-8) var(--space-6)}.legal h1{font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--space-2)}.legal-updated{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:var(--space-8)}.legal h2{font-size:1.15rem;font-weight:600;color:var(--text-primary);margin-top:var(--space-8);margin-bottom:var(--space-3)}.legal p,.legal li{font-size:.925rem;line-height:1.7;color:var(--text-secondary)}.legal p{margin-bottom:var(--space-4)}.legal ul{padding-left:var(--space-5);margin-bottom:var(--space-4)}.legal li{margin-bottom:var(--space-2)}.legal a{color:var(--accent);text-decoration:none}.legal a:hover{text-decoration:underline}.legal a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}@media(max-width:640px){.legal{padding:var(--space-6) var(--space-4)}.legal h1{font-size:1.4rem}}.search-input-container{position:relative;display:flex;align-items:center;flex:1;max-width:320px}.search-input-icon{position:absolute;left:var(--space-3);color:var(--text-muted);pointer-events:none}.search-input{width:100%;height:36px;padding:0 var(--space-8) 0 calc(var(--space-3) + 16px + var(--space-2));font-size:.875rem;color:var(--text-primary);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-md);outline:none;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.search-input::placeholder{color:var(--text-muted)}.search-input:focus-visible{border-color:var(--accent);background:var(--bg-secondary)}.search-input-clear{position:absolute;right:var(--space-2);display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.search-input-clear:hover{background:var(--bg-hover);color:var(--text-secondary)}@media(prefers-reduced-motion:reduce){.search-input,.search-input-clear{transition:none;animation:none}}.sort-dropdown{position:relative}.sort-dropdown-trigger{display:flex;align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-3);font-size:.8rem;font-weight:500;color:var(--text-secondary);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.sort-dropdown-trigger:hover{background:var(--bg-hover);color:var(--text-primary)}.sort-dropdown-label{white-space:nowrap}.sort-dropdown-order{display:flex;align-items:center;justify-content:center;padding:2px;background:var(--bg-hover);border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.sort-dropdown-order:hover{background:var(--accent-subtle);color:var(--accent)}.sort-dropdown-chevron{color:var(--text-muted);transition:transform .2s ease}.sort-dropdown-chevron--open{transform:rotate(180deg)}.sort-dropdown-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:160px;background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;z-index:100}.sort-dropdown-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-2) var(--space-3);font-size:.8rem;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast)}.sort-dropdown-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.sort-dropdown-item--selected{color:var(--accent)}@media(prefers-reduced-motion:reduce){.sort-dropdown-trigger,.sort-dropdown-order,.sort-dropdown-chevron,.sort-dropdown-item{transition:none;animation:none}}.view-toggle{display:flex;align-items:center;background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.view-toggle-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:none;color:var(--text-muted);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.view-toggle-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.view-toggle-btn--active,.view-toggle-btn--active:hover{background:var(--accent-subtle);color:var(--accent)}@media(prefers-reduced-motion:reduce){.view-toggle-btn{transition:none;animation:none}}.dashboard-header{padding:var(--space-6);border-bottom:var(--border-subtle);background:var(--bg-primary)}.dashboard-header-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-4)}.dashboard-header-title-section{display:flex;flex-direction:column;gap:var(--space-1)}.dashboard-header-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.dashboard-header-subtitle{font-size:.875rem;color:var(--text-muted)}.dashboard-header-count{font-size:.8rem;color:var(--text-muted);margin-top:var(--space-1)}.dashboard-header-controls{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3)}.dashboard-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex-shrink:0}.dashboard-header-controls .search-input-container{flex:0 1 320px;min-width:200px}@media(max-width:900px){.dashboard-header-top{grid-template-columns:1fr;align-items:stretch}.dashboard-header-controls{justify-content:space-between}}@media(max-width:640px){.dashboard-header-controls{flex-direction:column;align-items:stretch}.dashboard-header-controls .search-input-container{flex-basis:auto}.dashboard-header-actions{justify-content:flex-end}}.chart-actions-menu{position:relative}.chart-actions-trigger{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.chart-actions-trigger:hover{background:var(--bg-hover);color:var(--text-primary)}.chart-actions-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:160px;background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;z-index:100}.chart-actions-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);font-size:.8rem;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast)}.chart-actions-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.chart-actions-item:disabled{opacity:.5;cursor:not-allowed}.chart-actions-item--danger{color:var(--error)}.chart-actions-item--danger:hover{background:var(--error-subtle);color:var(--error)}.chart-actions-divider{height:1px;background:var(--bg-tertiary);margin:var(--space-1) 0}@media(prefers-reduced-motion:reduce){.chart-actions-trigger,.chart-actions-item{transition:none;animation:none}}.dashboard-chart-card{display:flex;flex-direction:column;background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.dashboard-chart-card:hover{border-color:var(--accent-subtle);box-shadow:var(--shadow-card)}.dashboard-chart-card--selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.dashboard-chart-card__preview{position:relative;height:140px;background:var(--bg-tertiary);padding:var(--space-2)}.dashboard-chart-card__checkbox{position:absolute;top:var(--space-2);left:var(--space-2);width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:2px solid var(--bg-hover);border-radius:var(--radius-sm);color:#fff;cursor:pointer;opacity:0;transition:opacity var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast);z-index:2}.dashboard-chart-card__checkbox--visible{opacity:1}.dashboard-chart-card__checkbox:hover{border-color:var(--accent)}.dashboard-chart-card--selected .dashboard-chart-card__checkbox{background:var(--accent);border-color:var(--accent);opacity:1}.dashboard-chart-card__menu-trigger{position:absolute;top:var(--space-2);right:var(--space-2);opacity:0;transition:opacity var(--transition-fast);z-index:2}.dashboard-chart-card__menu-trigger--visible{opacity:1}.dashboard-chart-card__badges{position:absolute;bottom:var(--space-2);right:var(--space-2);display:flex;align-items:center;gap:var(--space-1)}.dashboard-chart-card__type-badge{padding:var(--space-1) var(--space-2);font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-secondary);border-radius:var(--radius-sm);border:var(--border-subtle)}.dashboard-chart-card__visibility-badge{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--radius-sm);border:var(--border-subtle)}.dashboard-chart-card__visibility-badge--public{background:var(--success-subtle);color:var(--success);border-color:transparent}.dashboard-chart-card__visibility-badge--private{background:var(--bg-secondary);color:var(--text-muted)}.dashboard-chart-card__content{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3)}.dashboard-chart-card__title{font-size:.875rem;font-weight:600;color:var(--text-primary);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dashboard-chart-card__meta{display:flex;align-items:center;gap:var(--space-3);font-size:.7rem;color:var(--text-muted)}.dashboard-chart-card__author{color:var(--text-secondary)}.dashboard-chart-card__stat{display:flex;align-items:center;gap:var(--space-1);margin-left:auto}@media(prefers-reduced-motion:reduce){.dashboard-chart-card,.dashboard-chart-card__checkbox,.dashboard-chart-card__menu-trigger{transition:none;animation:none}}.chart-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4);padding:var(--space-6)}@media(max-width:640px){.chart-grid{grid-template-columns:1fr;padding:var(--space-4)}}.chart-list{display:flex;flex-direction:column;margin:var(--space-4) var(--space-6);background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.chart-list-header{display:grid;grid-template-columns:32px 1fr 80px 100px 60px 40px;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.chart-list-header.chart-list-header--with-author{grid-template-columns:32px 1fr 80px 120px 100px 60px 40px}.chart-list-body{display:flex;flex-direction:column}.chart-list-item{display:grid;grid-template-columns:32px 1fr 80px 100px 60px 40px;align-items:center;gap:var(--space-3);padding:var(--space-3);border-bottom:var(--border-subtle);cursor:pointer;transition:background var(--transition-fast)}.chart-list-item.chart-list-item--with-author{grid-template-columns:32px 1fr 80px 120px 100px 60px 40px}.chart-list-item:last-child{border-bottom:none}.chart-list-item:hover{background:var(--bg-tertiary)}.chart-list-item--selected,.chart-list-item--selected:hover{background:var(--accent-subtle)}.chart-list-checkbox{width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border:2px solid var(--bg-hover);border-radius:var(--radius-sm);color:#fff;cursor:pointer;opacity:0;transition:opacity var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}.chart-list-checkbox--visible,.chart-list-item:hover .chart-list-checkbox{opacity:1}.chart-list-checkbox:hover{border-color:var(--accent)}.chart-list-item--selected .chart-list-checkbox{background:var(--accent);border-color:var(--accent);opacity:1}.chart-list-title{display:flex;align-items:center;gap:var(--space-2);min-width:0}.chart-list-title-text{font-size:.875rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-list-visibility{flex-shrink:0}.chart-list-visibility--public{color:var(--success)}.chart-list-visibility--private{color:var(--text-muted)}.chart-list-type{font-size:.75rem;color:var(--text-muted);text-transform:capitalize}.chart-list-author{font-size:.8rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-list-date{font-size:.75rem;color:var(--text-muted)}.chart-list-views{display:flex;align-items:center;gap:var(--space-1);font-size:.75rem;color:var(--text-muted)}.chart-list-actions{display:flex;justify-content:flex-end}@media(max-width:768px){.chart-list{margin:var(--space-4)}.chart-list-header,.chart-list-item{grid-template-columns:32px 1fr 40px}.chart-list-type,.chart-list-author,.chart-list-date,.chart-list-views,.chart-list-header-type,.chart-list-header-author,.chart-list-header-date,.chart-list-header-views{display:none}}@media(prefers-reduced-motion:reduce){.chart-list-item,.chart-list-checkbox{transition:none;animation:none}}.dashboard-toolbar{position:fixed;bottom:var(--space-6);left:50%;transform:translate(-50%);z-index:200}.dashboard-toolbar-content{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.dashboard-toolbar-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.dashboard-toolbar-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.dashboard-toolbar-count{font-size:.875rem;font-weight:500;color:var(--text-primary);white-space:nowrap}.dashboard-toolbar-divider{width:1px;height:24px;background:var(--bg-tertiary)}.dashboard-toolbar-actions{display:flex;align-items:center;gap:var(--space-2)}@media(max-width:640px){.dashboard-toolbar{left:var(--space-4);right:var(--space-4);transform:none}.dashboard-toolbar-content{justify-content:space-between;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.dashboard-toolbar-close{transition:none;animation:none}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-16) var(--space-4);text-align:center}.empty-state-icon{display:flex;align-items:center;justify-content:center;width:96px;height:96px;background:var(--bg-tertiary);border-radius:var(--radius-xl);color:var(--text-muted)}.empty-state-title{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.empty-state-description{font-size:.9rem;color:var(--text-muted);max-width:300px}.dashboard-page{display:flex;flex-direction:column;min-height:100%}.dashboard-loading{display:flex;align-items:center;justify-content:center;flex:1;padding:var(--space-16)}.team-dashboard-tabs{display:flex;align-items:center;gap:var(--space-1);padding:0 var(--space-6);border-bottom:var(--border-subtle)}.team-dashboard-tab{position:relative;padding:var(--space-3) var(--space-4);font-size:.875rem;font-weight:500;color:var(--text-muted);text-decoration:none;transition:color var(--transition-fast)}.team-dashboard-tab:hover{color:var(--text-secondary)}.team-dashboard-tab--active{color:var(--text-primary)}.team-dashboard-tab--active:after{content:"";position:absolute;bottom:-1px;left:var(--space-4);right:var(--space-4);height:2px;background:var(--accent);border-radius:1px 1px 0 0}.team-dashboard-tabs-actions{margin-left:auto;padding:var(--space-2) 0}@media(max-width:480px){.team-dashboard-tabs{overflow-x:auto;white-space:nowrap;scrollbar-width:none;padding:0 var(--space-3)}.team-dashboard-tabs::-webkit-scrollbar{display:none}}@media(prefers-reduced-motion:reduce){.team-dashboard-tab{transition:none;animation:none}}.team-header{padding:var(--space-6);border-bottom:var(--border-subtle);background:var(--bg-primary)}.team-header-top{display:flex;align-items:flex-start;gap:var(--space-4)}.team-header-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-top:4px;color:var(--text-muted);background:var(--bg-tertiary);border-radius:var(--radius-md);transition:color var(--transition-fast),background-color var(--transition-fast)}.team-header-back:hover{color:var(--text-primary);background:var(--bg-hover)}.team-header-info{flex:1;min-width:0}.team-header-title-row{display:flex;align-items:center;gap:var(--space-3)}.team-header-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.team-header-badge{padding:var(--space-1) var(--space-2);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm)}.team-header-badge--pro{background:var(--accent-subtle);color:var(--accent)}.team-header-badge--business{background:linear-gradient(135deg,#8b5cf61a,#ec48991a);color:#a855f7}.team-header-stats{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-2)}.team-header-stat{font-size:.8rem;color:var(--text-muted)}.team-header-stat:after{content:"•";margin-left:var(--space-3);opacity:.3}.team-header-stat:last-child:after{display:none}.team-header-actions{display:flex;align-items:center;gap:var(--space-2)}@media(max-width:640px){.team-header-top{flex-wrap:wrap}.team-header-actions{width:100%;justify-content:flex-end;margin-top:var(--space-2)}}@media(prefers-reduced-motion:reduce){.team-header-back{transition:none;animation:none}}.member-filter{position:relative}.member-filter-trigger{display:flex;align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-3);font-size:.8rem;font-weight:500;color:var(--text-secondary);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.member-filter-trigger:hover{background:var(--bg-hover);color:var(--text-primary)}.member-filter-chevron{color:var(--text-muted);transition:transform .2s ease}.member-filter-chevron--open{transform:rotate(180deg)}.member-filter-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:200px;background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;z-index:100}.member-filter-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-2) var(--space-3);font-size:.8rem;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast)}.member-filter-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.member-filter-item--selected{color:var(--accent)}.member-filter-item-info{display:flex;align-items:center;gap:var(--space-2)}.member-filter-avatar{width:20px;height:20px;border-radius:50%;object-fit:cover}.member-filter-avatar-placeholder{width:20px;height:20px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:600;color:var(--text-muted)}.member-filter-divider{height:1px;background:var(--bg-tertiary);margin:var(--space-1) 0}@media(prefers-reduced-motion:reduce){.member-filter-trigger,.member-filter-chevron,.member-filter-item{transition:none;animation:none}}.activity-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:background var(--transition-fast)}.activity-item:hover{background:var(--bg-tertiary)}.activity-item-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);flex-shrink:0}.activity-item-icon--default{background:var(--bg-tertiary);color:var(--text-muted)}.activity-item-icon--success{background:var(--success-subtle);color:var(--success)}.activity-item-icon--accent{background:var(--accent-subtle);color:var(--accent)}.activity-item-icon--warning{background:var(--warning-subtle);color:var(--warning)}.activity-item-icon--danger{background:var(--error-subtle);color:var(--error)}.activity-item-content{flex:1;font-size:.875rem;color:var(--text-secondary);min-width:0}.activity-item-actor{font-weight:500;color:var(--text-primary)}.activity-item-action{color:var(--text-muted)}.activity-item-target{color:var(--accent);text-decoration:none}.activity-item-target:hover{text-decoration:underline}.activity-item-time{font-size:.75rem;color:var(--text-muted);white-space:nowrap}@media(prefers-reduced-motion:reduce){.activity-item{transition:none;animation:none}}.activity-feed{display:flex;flex-direction:column;padding:var(--space-6)}.activity-feed-empty{display:flex;align-items:center;justify-content:center;padding:var(--space-16);color:var(--text-muted)}.activity-feed-group{margin-bottom:var(--space-6)}.activity-feed-group:last-child{margin-bottom:0}.activity-feed-group-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:var(--space-3);padding-left:var(--space-8)}.activity-feed-group-items{display:flex;flex-direction:column}.dbcard{position:relative;border-radius:var(--radius-lg);background:var(--bg-secondary);border:1px solid var(--border-subtle);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.dbcard:hover{border-color:var(--border-default);box-shadow:0 2px 8px #00000014}.dbcard-link{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-5);text-decoration:none;color:inherit}.dbcard-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-muted)}.dbcard-info{flex:1;min-width:0}.dbcard-name{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dbcard-description{font-size:.8125rem;color:var(--text-muted);margin:var(--space-1) 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dbcard-meta{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);font-size:.75rem;color:var(--text-muted)}.dbcard-sep{opacity:.4}.dbcard-badges{display:flex;gap:var(--space-1);flex-shrink:0}.dbcard-badge{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-muted)}.dbcard-badge--refresh{color:var(--accent)}.dbcard-badge--public{color:var(--success)}.dbcard-delete{position:absolute;top:var(--space-2);right:var(--space-2);display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast),background-color var(--transition-fast)}.dbcard:hover .dbcard-delete{opacity:1}.dbcard-delete:hover{background:var(--danger-bg);color:var(--danger)}.dbcard-delete:focus-visible{opacity:1;outline:2px solid var(--accent);outline-offset:1px}@media(prefers-reduced-motion:reduce){.dbcard,.dbcard-delete{transition:none}}.dblist-page{display:flex;flex-direction:column;min-height:100%}.dblist-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-6);gap:var(--space-4)}.dblist-header h1{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0}.dblist-header-title{display:flex;align-items:baseline;gap:var(--space-3)}.dblist-header-count{font-size:.8125rem;color:var(--text-muted)}.dblist-loading{display:flex;align-items:center;justify-content:center;flex:1;padding:var(--space-16)}.dblist-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:var(--space-16) var(--space-6);text-align:center}.dblist-empty-icon{color:var(--text-muted);opacity:.4;margin-bottom:var(--space-4)}.dblist-empty-title{font-size:1.0625rem;font-weight:600;color:var(--text-primary);margin:0 0 var(--space-2)}.dblist-empty-description{font-size:.875rem;color:var(--text-muted);margin:0 0 var(--space-6);max-width:320px}.dblist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-4);padding:0 var(--space-6) var(--space-6)}@media(max-width:640px){.dblist-header{flex-direction:column;align-items:flex-start;padding:var(--space-4)}.dblist-grid{grid-template-columns:1fr;padding:0 var(--space-4) var(--space-4)}}.dbview-page{display:flex;flex-direction:column;min-height:100%}.dbview-loading,.dbview-error{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:var(--space-16);gap:var(--space-4);color:var(--text-muted)}.dbview-error a{color:var(--accent)}.dbview-header{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-subtle)}.dbview-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);color:var(--text-muted);transition:background-color var(--transition-fast),color var(--transition-fast)}.dbview-back:hover{background:var(--bg-tertiary);color:var(--text-primary)}.dbview-back:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.dbview-header-info{flex:1;min-width:0}.dbview-title{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dbview-description{font-size:.8125rem;color:var(--text-muted);margin:var(--space-1) 0 0}.dbview-header-badges{display:flex;gap:var(--space-2)}.dbview-badge{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:.75rem;color:var(--text-muted);background:var(--bg-tertiary);border-radius:var(--radius-sm)}.dbview-edit-link{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);font-size:.8125rem;font-weight:500;color:var(--text-secondary);background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-subtle);text-decoration:none;transition:border-color var(--transition-fast),color var(--transition-fast)}.dbview-edit-link:hover{border-color:var(--border-default);color:var(--text-primary)}.dbview-edit-link:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.dbview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:var(--space-16);gap:var(--space-3);color:var(--text-muted);font-size:.875rem}.dbview-empty a{color:var(--accent)}.dbview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);padding:var(--space-6)}.dbview-item{background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);overflow:hidden;min-height:240px;transition:border-color var(--transition-fast)}.dbview-item:hover{border-color:var(--border-default)}.dbview-item-link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}.dbview-item-title{padding:var(--space-3) var(--space-4);font-size:.8125rem;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border-subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dbview-item-chart{flex:1;padding:var(--space-3);min-height:0}.dbview-item-missing{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:.8125rem}@media(max-width:1024px){.dbview-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.dbview-grid{grid-template-columns:1fr;padding:var(--space-4)}.dbview-header{flex-wrap:wrap;padding:var(--space-4)}.dbview-header-badges{display:none}}@media(prefers-reduced-motion:reduce){.dbview-back,.dbview-edit-link,.dbview-item{transition:none}}.acm-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.acm-modal{width:90%;max-width:520px;max-height:80vh;display:flex;flex-direction:column;background:var(--bg-primary);border-radius:var(--radius-lg);border:1px solid var(--border-default);box-shadow:0 16px 48px #0003}.acm-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-5) var(--space-3)}.acm-title{font-size:1.0625rem;font-weight:600;color:var(--text-primary);margin:0}.acm-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.acm-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.acm-close:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.acm-search{position:relative;padding:0 var(--space-5) var(--space-3)}.acm-search-icon{position:absolute;left:calc(var(--space-5) + 10px);top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.acm-search-input{width:100%;padding:var(--space-2) var(--space-3) var(--space-2) 36px;font-size:.875rem;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);outline:none;transition:border-color var(--transition-fast)}.acm-search-input:focus-visible{border-color:var(--accent)}.acm-list{flex:1;overflow-y:auto;padding:0 var(--space-3);min-height:200px;max-height:400px}.acm-loading,.acm-empty{display:flex;align-items:center;justify-content:center;padding:var(--space-8);color:var(--text-muted);font-size:.875rem}.acm-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-3);border:none;border-radius:var(--radius-md);background:transparent;color:inherit;cursor:pointer;text-align:left;transition:background-color var(--transition-fast)}.acm-item:hover:not(:disabled){background:var(--bg-secondary)}.acm-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.acm-item--selected{background:var(--accent-subtle)}.acm-item--disabled{opacity:.5;cursor:default}.acm-item-check{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--radius-sm);border:1.5px solid var(--border-default);color:var(--accent)}.acm-item--selected .acm-item-check{background:var(--accent);border-color:var(--accent);color:#fff}.acm-item-info{flex:1;min-width:0;display:flex;flex-direction:column}.acm-item-title{font-size:.875rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acm-item-type{font-size:.75rem;color:var(--text-muted);text-transform:capitalize}.acm-item-badge{font-size:.6875rem;color:var(--text-muted);background:var(--bg-tertiary);padding:2px 6px;border-radius:var(--radius-sm)}.acm-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-subtle)}@media(prefers-reduced-motion:reduce){.acm-close,.acm-search-input,.acm-item{transition:none}}.dbedit-page{display:flex;flex-direction:column;min-height:100%}.dbedit-loading,.dbedit-error{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:var(--space-16);gap:var(--space-4);color:var(--text-muted)}.dbedit-error a{color:var(--accent)}.dbedit-header{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-subtle)}.dbedit-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);color:var(--text-muted);transition:background-color var(--transition-fast),color var(--transition-fast)}.dbedit-back:hover{background:var(--bg-tertiary);color:var(--text-primary)}.dbedit-back:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.dbedit-header-title{flex:1;font-size:1.0625rem;font-weight:700;color:var(--text-primary);margin:0}.dbedit-header-actions{display:flex;align-items:center;gap:var(--space-2)}.dbedit-view-btn{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);font-size:.8125rem;font-weight:500;color:var(--text-secondary);background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-subtle);text-decoration:none;transition:border-color var(--transition-fast),color var(--transition-fast)}.dbedit-view-btn:hover{border-color:var(--border-default);color:var(--text-primary)}.dbedit-view-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.dbedit-body{flex:1;padding:var(--space-6);max-width:720px}.dbedit-settings{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-8)}.dbedit-field{display:flex;flex-direction:column;gap:var(--space-1)}.dbedit-label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.dbedit-input{padding:var(--space-2) var(--space-3);font-size:.875rem;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);outline:none;transition:border-color var(--transition-fast)}.dbedit-input:focus-visible{border-color:var(--accent)}.dbedit-toggles{display:flex;gap:var(--space-6)}.dbedit-toggle{display:flex;align-items:center;gap:var(--space-2);font-size:.8125rem;color:var(--text-secondary);cursor:pointer}.dbedit-toggle input{accent-color:var(--accent)}.dbedit-items-section{display:flex;flex-direction:column}.dbedit-items-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.dbedit-items-header h2{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0}.dbedit-items-empty{display:flex;flex-direction:column;align-items:center;padding:var(--space-10);gap:var(--space-4);color:var(--text-muted);font-size:.875rem;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px dashed var(--border-subtle)}.dbedit-items-list{display:flex;flex-direction:column;gap:var(--space-2)}.dbedit-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.dbedit-item-grip{color:var(--text-muted);opacity:.4;cursor:grab}.dbedit-item-info{flex:1;min-width:0;display:flex;flex-direction:column}.dbedit-item-title{font-size:.875rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dbedit-item-type{font-size:.75rem;color:var(--text-muted);text-transform:capitalize}.dbedit-item-size{display:flex;gap:var(--space-2)}.dbedit-size-label{display:flex;align-items:center;gap:var(--space-1);font-size:.75rem;color:var(--text-muted)}.dbedit-size-select{padding:2px 4px;font-size:.75rem;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer}.dbedit-size-select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.dbedit-item-actions{display:flex;gap:var(--space-1)}.dbedit-item-move{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;font-size:.875rem;transition:background-color var(--transition-fast),color var(--transition-fast)}.dbedit-item-move:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.dbedit-item-move:disabled{opacity:.3;cursor:default}.dbedit-item-move:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.dbedit-item-delete{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.dbedit-item-delete:hover{background:var(--danger-bg);color:var(--danger)}.dbedit-item-delete:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media(max-width:640px){.dbedit-header,.dbedit-body{padding:var(--space-4)}.dbedit-item-size{display:none}}@media(prefers-reduced-motion:reduce){.dbedit-back,.dbedit-view-btn,.dbedit-input,.dbedit-item-move,.dbedit-item-delete{transition:none}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:400px;padding:2rem}.error-boundary-content{text-align:center;max-width:400px}.error-icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;background:var(--error-subtle);color:var(--error);margin-bottom:1.5rem}.error-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.error-message{font-size:.95rem;color:var(--text-secondary);margin:0 0 1.5rem;line-height:1.5}.error-actions{display:flex;gap:.75rem;justify-content:center}.app{min-height:100vh;display:flex;flex-direction:column}.app-body{flex:1;display:flex;min-height:0}.main{flex:1;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;min-width:0}.app-route-shell{flex:1;display:flex;flex-direction:column;min-height:100%}.input-view{flex:1;display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-4) clamp(var(--space-4),8vw,120px);max-width:1400px;width:100%;margin:0 auto}.chart-view{flex:1;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-1) var(--space-2);max-width:1400px;width:100%;margin:0 auto;min-height:0}.feed-view{flex:1;display:flex;flex-direction:column;min-height:0}.chart-toolbar{display:grid;grid-template-columns:1fr auto 1fr;justify-content:center;align-items:center;gap:var(--space-3);padding-bottom:var(--space-2)}.chart-toolbar-left,.chart-toolbar-right{display:flex;align-items:center;gap:var(--space-2)}.section-label{font-family:var(--font-body);font-size:.65rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.chart-toolbar-left{justify-self:start}.chart-toolbar-center{justify-self:center;display:flex;align-items:center}.chart-toolbar-right{justify-self:end}.chart-view-toggle{display:inline-flex;align-items:center;gap:var(--space-1);padding:3px;background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-md)}.chart-view-toggle-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:none;background:transparent;color:var(--text-muted);font-family:var(--font-body);font-size:.75rem;font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:color .15s,background-color .15s,box-shadow .15s}.chart-view-toggle-btn:hover:not(.is-active){color:var(--text-secondary);background:var(--bg-hover)}.chart-view-toggle-btn.is-active{background:var(--accent);color:#fff;box-shadow:0 1px 3px #0003}.chart-view-toggle-btn svg{flex-shrink:0}.chart-workspace{display:grid;grid-template-columns:6fr 5fr;gap:var(--space-2);align-items:start}.chart-data-editor{display:flex;flex-direction:column;gap:var(--space-3);height:clamp(400px,75vh,700px);min-height:0}.chart-data-editor .editable-spreadsheet{flex:1;min-height:0}.chart-data-editor .spreadsheet-container{max-height:none;height:100%}.data-editor-top-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);flex-shrink:0;max-height:200px}.source-image-panel{display:flex;flex-direction:column;background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;min-height:0}.source-image-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border-bottom:var(--border-subtle);color:var(--text-muted)}.source-image-label{font-family:var(--font-mono);font-size:.65rem;font-weight:500;letter-spacing:.08em}.source-image-preview{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:var(--space-2);overflow:hidden}.source-image-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-sm)}.prompt-source-panel{display:flex;flex-direction:column;gap:var(--space-2);background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3);flex-shrink:0}.prompt-source-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.prompt-source-label{font-family:var(--font-mono);font-size:.65rem;font-weight:500;letter-spacing:.08em;color:var(--text-muted)}.prompt-source-text{margin:0;font-size:.82rem;line-height:1.45;color:var(--text-secondary);white-space:pre-wrap}.prompt-source-status{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;border:1px solid transparent;font-size:.65rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}.prompt-source-status.verified{color:var(--success);background:color-mix(in srgb,var(--success) 12%,transparent);border-color:color-mix(in srgb,var(--success) 35%,transparent)}.prompt-source-status.unverified{color:var(--warning);background:color-mix(in srgb,var(--warning) 12%,transparent);border-color:color-mix(in srgb,var(--warning) 35%,transparent)}.prompt-source-note{margin:0;font-size:.74rem;line-height:1.45;color:var(--text-muted)}.chart-sidebar{display:flex;flex-direction:column;min-width:0;min-height:0;max-height:clamp(420px,75vh,760px)}.chart-column{display:flex;flex-direction:column;gap:var(--space-3);min-height:0;height:clamp(420px,75vh,760px);flex:1}.chart-column .chart-preview{flex:1;min-height:0}.chart-column.is-exporting{width:fit-content;max-width:800px}.chart-column.is-exporting .chart-ai-summary{display:none}.chart-ai-summary{background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4)}.chart-ai-label{display:flex;align-items:center;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.chart-ai-label:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.chart-ai-label:after{content:"▾";margin-left:auto;color:var(--text-muted);font-size:1rem;font-weight:700;line-height:1}.chart-ai-summary:not([open]) .chart-ai-label:after{content:"▸"}.chart-ai-label::-webkit-details-marker{display:none}.chart-ai-text{font-size:.85rem;color:var(--text-secondary);line-height:1.5;margin:var(--space-2) 0 0 0}@media(max-width:1024px){.chart-workspace{grid-template-columns:1fr;grid-template-rows:auto auto;height:auto;min-height:auto}.chart-column{height:clamp(320px,60vh,600px)}.chart-sidebar{max-height:none}.data-editor-top-row{grid-template-columns:1fr;max-height:none}}@media(max-width:640px){.input-view{gap:var(--space-4)}.chart-toolbar{grid-template-columns:1fr;gap:var(--space-2)}.chart-toolbar-left,.chart-toolbar-center,.chart-toolbar-right{justify-self:center}.chart-view{padding:var(--space-2)}.chart-data-editor{height:auto}.data-editor-top-row{grid-template-columns:1fr;max-height:none}}@media(prefers-reduced-motion:reduce){.chart-view-toggle-btn{transition:none}}.footer{padding:var(--space-4) var(--space-6);border-top:var(--border-subtle)}.footer-content{display:flex;align-items:center;justify-content:space-between;font-size:.8rem;color:var(--text-muted)}.footer-left{display:flex;align-items:center;gap:var(--space-3)}.footer-brand{font-family:var(--font-display);font-style:italic;color:var(--text-secondary)}.footer-divider{opacity:.3}.footer-tagline{letter-spacing:.02em}.footer-links{display:flex;align-items:center;gap:var(--space-3)}.footer-link{font-size:.8rem;color:var(--text-muted);text-decoration:none;transition:color var(--transition-fast)}.footer-link:hover{color:var(--text-primary)}@media(max-width:768px){.footer{padding:var(--space-3) var(--space-4)}.footer-content{flex-direction:column;gap:var(--space-2)}}@media(prefers-reduced-motion:reduce){.footer-link{transition:none}}
