:root{--bg-base: #0b0f17;--bg-surface: #131b2e;--bg-surface-hover: #1c2744;--bg-overlay: rgba(11, 15, 23, .85);--border-subtle: rgba(255, 255, 255, .08);--border-accent: rgba(139, 92, 246, .3);--primary-accent: #8b5cf6;--primary-hover: #7c3aed;--primary-light: rgba(139, 92, 246, .15);--secondary-accent: #38bdf8;--secondary-hover: #0284c7;--secondary-light: rgba(56, 189, 248, .12);--text-primary: #f8fafc;--text-muted: #94a3b8;--text-inverse: #0f172a;--success: #10b981;--success-light: rgba(16, 185, 129, .15);--danger: #ef4444;--danger-light: rgba(239, 68, 68, .15);--glass-bg: rgba(19, 27, 46, .7);--glass-border: rgba(255, 255, 255, .1);--glass-blur: blur(16px);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 8px 24px rgba(0, 0, 0, .4);--shadow-glow: 0 0 20px rgba(139, 92, 246, .25);--font-family: "Plus Jakarta Sans", "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", monospace;--font-xs: .75rem;--font-sm: .875rem;--font-md: 1rem;--font-lg: 1.125rem;--font-xl: 1.375rem;--font-2xl: 1.75rem;--font-3xl: 2.25rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--transition-speed: .2s ease;--transition-smooth: all .2s cubic-bezier(.16, 1, .3, 1);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem}[data-theme=light]{--bg-base: #f8fafc;--bg-surface: #ffffff;--bg-surface-hover: #f1f5f9;--bg-overlay: rgba(248, 250, 252, .85);--border-subtle: #e2e8f0;--border-accent: rgba(124, 58, 237, .25);--primary-accent: #7c3aed;--primary-hover: #6d28d9;--primary-light: rgba(124, 58, 237, .1);--secondary-accent: #0284c7;--secondary-hover: #0369a1;--secondary-light: rgba(2, 132, 199, .1);--text-primary: #0f172a;--text-muted: #64748b;--text-inverse: #f8fafc;--success: #059669;--success-light: rgba(5, 150, 105, .1);--danger: #dc2626;--danger-light: rgba(220, 38, 38, .1);--glass-bg: rgba(255, 255, 255, .85);--glass-border: rgba(0, 0, 0, .08);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05);--shadow-md: 0 10px 25px -5px rgba(0, 0, 0, .08);--shadow-glow: 0 0 20px rgba(124, 58, 237, .15)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-family);font-size:16px;background-color:var(--bg-base);color:var(--text-primary);transition:background-color var(--transition-speed),color var(--transition-speed);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;line-height:1.5}a{color:var(--primary-accent);text-decoration:none;transition:color var(--transition-speed)}a:hover{color:var(--primary-hover)}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer;border:none;background:none}img,svg{display:block;max-width:100%}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-4)}.hidden{display:none!important}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.text-xs{font-size:var(--font-xs)}.text-sm{font-size:var(--font-sm)}.text-md{font-size:var(--font-md)}.text-lg{font-size:var(--font-lg)}.text-xl{font-size:var(--font-xl)}.text-2xl{font-size:var(--font-2xl)}.text-3xl{font-size:var(--font-3xl)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-muted{color:var(--text-muted)}.text-accent{color:var(--primary-accent)}.glass-card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:transform var(--transition-speed),border-color var(--transition-speed),box-shadow var(--transition-speed)}.glass-card:hover{border-color:var(--border-accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.65rem 1.25rem;font-weight:600;font-size:var(--font-sm);border-radius:var(--radius-md);transition:var(--transition-smooth);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,var(--primary-accent),var(--primary-hover));color:#fff;box-shadow:0 4px 14px #8b5cf659}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #8b5cf673}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-subtle)}.btn-secondary:hover{background:var(--bg-surface-hover);border-color:var(--border-accent);transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0)}.btn-google{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-subtle);width:100%}.btn-google:hover{background:var(--bg-surface-hover);border-color:var(--border-accent);transform:translateY(-1px)}.btn-icon{padding:.5rem;border-radius:var(--radius-md);color:var(--text-muted);border:1px solid var(--border-subtle);background:var(--bg-surface);transition:var(--transition-smooth)}.btn-icon:hover{color:var(--text-primary);border-color:var(--primary-accent);background:var(--bg-surface-hover);transform:scale(1.05)}.form-group{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4);text-align:left}.form-label{font-size:var(--font-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.input-field{width:100%;padding:.75rem 1rem;background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);outline:none;transition:var(--transition-smooth)}.input-field:focus{border-color:var(--primary-accent);box-shadow:0 0 0 3px var(--primary-light)}.input-field::placeholder{color:var(--text-muted);opacity:.6}.auth-tabs{display:flex;background:var(--bg-base);padding:4px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);margin-bottom:var(--space-6)}.auth-tab{flex:1;padding:.5rem 1rem;font-size:var(--font-sm);font-weight:600;color:var(--text-muted);border-radius:var(--radius-sm);transition:var(--transition-smooth);text-align:center}.auth-tab.active{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.navbar{position:sticky;top:0;z-index:50;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--border-subtle);padding:var(--space-3) 0}.logo-badge{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-lg);font-weight:700;letter-spacing:-.02em}.logo-icon{width:32px;height:32px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--primary-accent),var(--secondary-accent));display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:var(--shadow-glow)}#toast-container{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:100;display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none}.toast{pointer-events:auto;min-width:280px;max-width:400px;padding:.85rem 1.25rem;border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-primary);font-size:var(--font-sm);font-weight:500;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:var(--space-3);animation:toastSlideIn .3s cubic-bezier(.16,1,.3,1) forwards}.toast-success{border-left:4px solid var(--success)}.toast-error{border-left:4px solid var(--danger)}.toast-info{border-left:4px solid var(--primary-accent)}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(16px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.typing-cursor{display:inline-block;font-weight:700;color:var(--primary-accent);animation:blink .8s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.nav-tabs{display:flex;gap:var(--space-2)}.nav-tab{padding:.5rem .85rem;border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:600;color:var(--text-muted);transition:var(--transition-smooth)}.nav-tab:hover,.nav-tab.active{color:var(--text-primary);background:var(--primary-light)}
