@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Outfit:wght@400;500;600;700&display=swap";:root{--primary-50: #f5f0ff;--primary-100: #ede5ff;--primary-500: #7c3aed;--primary-600: #6d28d9;--primary-700: #5b21b6;--accent-400: #fb923c;--accent-500: #f97316;--accent-600: #ea580c;--success-500: #22c55e;--danger-500: #ef4444;--danger-600: #dc2626;--warning-500: #f59e0b;--warning-600: #d97706;--info-500: #3b82f6;--info-600: #2563eb;--bg-primary: #0f0f1a;--bg-secondary: #1a1a2e;--bg-card: #16213e;--bg-glass: rgba(255, 255, 255, .05);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--border-subtle: rgba(255, 255, 255, .08);--border-glow: rgba(124, 58, 237, .3);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px var(--border-glow);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-dropdown: 100;--z-sticky: 200;--z-modal-backdrop: 900;--z-modal: 1000;--z-toast: 1100;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.5rem}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:Outfit,sans-serif;font-weight:700;color:var(--text-primary)}a{text-decoration:none;color:inherit;transition:all var(--transition-base)}button{cursor:pointer;border:none;background:none;font-family:inherit}select{position:static}.glass{background:#ffffff0f;border:1px solid var(--border-subtle)}.glass-card{background:#ffffff0f;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:transform var(--transition-base),border-color var(--transition-base)}.glass-card:hover{border-color:var(--border-glow);transform:translateY(-2px)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:600;transition:all var(--transition-base);font-family:Outfit,sans-serif}.btn-primary{background-color:var(--primary-500);color:#fff}.btn-primary:hover{background-color:var(--primary-600);box-shadow:var(--shadow-glow)}.btn-outline{border:1px solid var(--border-subtle);background:var(--bg-glass);color:var(--text-primary)}.btn-outline:hover{border-color:var(--primary-500);background:#7c3aed1a}.btn-danger{background-color:var(--danger-500);color:#fff}.btn-danger:hover{background-color:var(--danger-600)}.btn-sm{padding:.5rem 1rem;font-size:var(--text-sm)}.btn-block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.form-stack{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-size:var(--text-sm);color:var(--text-secondary);padding-left:.5rem}.form-group input,.form-group select,.form-group textarea{background:#ffffff0d;border:1px solid var(--border-subtle);padding:.75rem 1rem;border-radius:var(--radius-md);color:#fff;outline:none;transition:all var(--transition-base);font-family:inherit;font-size:var(--text-base)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-500);background:#7c3aed0d;box-shadow:0 0 0 2px var(--border-glow)}.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem;cursor:pointer;color-scheme:dark}.form-group select option{background:#1a1a2e;color:#f8fafc}.form-group textarea{resize:vertical;min-height:80px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-card);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary-500)}:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.page-center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);background:radial-gradient(circle at top right,var(--bg-secondary) 0%,var(--bg-primary) 100%)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);flex-wrap:wrap;gap:var(--spacing-md)}.gradient-text{background:linear-gradient(135deg,var(--primary-500),var(--accent-400));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modal{position:fixed;inset:0;background:#000000bf;display:none;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-lg)}.modal.show{display:flex}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--spacing-xl);width:min(100%,520px);max-width:520px;max-height:90vh;overflow-y:auto;animation:fadeIn .2s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.modal-header h2{font-size:var(--text-xl)}.modal-close{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;padding:var(--spacing-xs);line-height:1}.modal-close:hover{color:var(--text-primary)}.loader{width:32px;height:32px;border:3px solid var(--border-subtle);border-top-color:var(--primary-500);border-radius:50%;animation:spin .8s linear infinite}.loading-state,.empty-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl) var(--spacing-lg);text-align:center;gap:var(--spacing-md);color:var(--text-secondary);min-height:200px}.empty-state .empty-icon,.error-state .error-icon{font-size:3rem;opacity:.5}.feedback-msg{padding:.75rem 1rem;border-radius:var(--radius-md);font-size:var(--text-sm);text-align:center;animation:fadeIn .3s ease}.feedback-msg.success{background:#22c55e1a;border:1px solid var(--success-500);color:var(--success-500)}.feedback-msg.error{background:#ef44441a;border:1px solid var(--danger-500);color:var(--danger-500)}.error-msg{background:#ef44441a;border:1px solid var(--danger-500);color:var(--danger-500);padding:.75rem;border-radius:var(--radius-md);font-size:var(--text-sm);text-align:center;animation:fadeIn .3s ease}.icon-btn-edit,.icon-btn-delete{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-glass);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base)}.icon-btn-edit:hover{background:var(--primary-500);color:#fff;border-color:var(--primary-500)}.icon-btn-delete:hover{background:var(--danger-500);color:#fff;border-color:var(--danger-500)}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;text-transform:capitalize}.badge-success{background:#22c55e26;color:var(--success-500)}.badge-warning{background:#f59e0b26;color:var(--warning-500)}.badge-danger{background:#ef444426;color:var(--danger-500)}.badge-info{background:#3b82f626;color:var(--info-500)}.diff-tag,.diff-indicator{font-size:var(--text-xs);font-weight:600;text-transform:capitalize}.diff-tag.beginner,.diff-indicator.beginner{color:var(--success-500)}.diff-tag.intermediate,.diff-indicator.intermediate{color:var(--accent-400)}.diff-tag.advanced,.diff-indicator.advanced{color:var(--danger-500)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.app-container{min-height:100vh;display:flex;flex-direction:column}
