:root{--bg-primary: #0a0e1a;--bg-secondary: #111827;--bg-tertiary: #1a202c;--bg-elevated: #1e293b;--bg-hover: #252f3f;--surface-primary: #141b2d;--surface-secondary: #1a2332;--surface-tertiary: #1f2937;--surface-elevated: #242d3d;--accent-primary: #3b82f6;--accent-secondary: #06b6d4;--accent-tertiary: #8b5cf6;--accent-hover: #2563eb;--eval-excellent: #10b981;--eval-good: #3b82f6;--eval-developing: #f59e0b;--eval-poor: #ef4444;--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-tertiary: #9ca3af;--text-muted: #6b7280;--text-inverse: #111827;--border-primary: #374151;--border-secondary: #4b5563;--border-focus: #3b82f6;--border-success: #10b981;--border-danger: #ef4444;--success: #10b981;--success-dark: #059669;--success-light: #34d399;--warning: #f59e0b;--warning-dark: #d97706;--warning-light: #fbbf24;--error: #ef4444;--error-dark: #dc2626;--error-light: #f87171;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .7);--shadow-glow-blue: 0 0 20px rgba(59, 130, 246, .3);--shadow-glow-green: 0 0 20px rgba(16, 185, 129, .3);--shadow-glow-red: 0 0 20px rgba(239, 68, 68, .3);--gradient-primary: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%);--gradient-success: linear-gradient(135deg, #065f46 0%, #10b981 100%);--gradient-danger: linear-gradient(135deg, #991b1b 0%, #ef4444 100%);--gradient-accent: linear-gradient(135deg, #0e7490 0%, #06b6d4 100%);--gradient-dark: linear-gradient(135deg, #0a0e1a 0%, #1a202c 100%);--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "Fira Code", "Courier New", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.6;color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-slide-up{animation:slideUp .4s ease-out}.animate-scale-in{animation:scaleIn .3s ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.gradient-text{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-3) var(--spacing-6);border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:var(--font-semibold);border:none;cursor:pointer;transition:all var(--transition-base);font-family:var(--font-sans)}.btn-primary{background:var(--gradient-primary);color:var(--text-primary);box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-glow-blue)}.btn-gold{background:linear-gradient(135deg,#3b82f6,#06b6d4);color:var(--text-primary);box-shadow:var(--shadow-md)}.btn-gold:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-glow-blue)}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--spacing-6);box-shadow:var(--shadow-md);transition:all var(--transition-base)}.card:hover{border-color:var(--border-secondary);box-shadow:var(--shadow-lg)}.badge{display:inline-flex;align-items:center;padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em}.badge-primary{background:var(--accent-primary);color:var(--text-primary)}.badge-success{background:var(--success);color:var(--text-primary)}.badge-warning{background:var(--warning);color:var(--text-inverse)}.badge-exclusive{background:var(--gradient-primary);color:var(--text-primary);animation:pulse 2s infinite}.motivation-banner{background:var(--gradient-primary);color:var(--text-primary);padding:var(--spacing-6) var(--spacing-8);border-radius:var(--radius-xl);text-align:center;box-shadow:var(--shadow-lg);margin-bottom:var(--spacing-6)}.motivation-text{font-size:var(--text-lg);font-weight:var(--font-semibold);line-height:1.6}.stat-card{background:var(--surface-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--spacing-6);text-align:center;transition:all var(--transition-base)}.stat-card:hover{transform:translateY(-4px);border-color:var(--border-secondary);box-shadow:var(--shadow-lg)}.stat-value{font-size:var(--text-3xl);font-weight:var(--font-extrabold);color:var(--accent-primary);margin-bottom:var(--spacing-2)}.stat-label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:var(--font-medium)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.spinner{width:48px;height:48px;border:4px solid var(--border-primary);border-top-color:var(--accent-primary);border-radius:var(--radius-full);animation:spin 1s linear infinite}.progress-bar{width:100%;height:8px;background:var(--bg-secondary);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background:var(--gradient-primary);transition:width var(--transition-slow);border-radius:var(--radius-full)}
