*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #3b82f6;--color-secondary: #2563eb;--color-success: #10b981;--color-accent: #f59e0b;--primary: #3b82f6;--primary-dark: #2563eb;--secondary: #10b981;--accent: #f59e0b;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-tertiary: #94a3b8;--text-muted: #64748b;--border: #334155;--border-strong: #475569;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow: 0 1px 3px 0 rgb(0 0 0 / .4);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .5);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .5);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .5);--gradient-primary: linear-gradient(135deg, #3b82f6 0%, #0891b2 100%);--gradient-success: linear-gradient(135deg, #10b981 0%, #34d399 100%);--gradient-fire: linear-gradient(135deg, #f59e0b 0%, #fb923c 50%, #ef4444 100%);--slate-600: #475569;--slate-700: #334155;--slate-800: #1e293b;--slate-900: #0f172a;--brand-primary: #3b82f6;--brand-primary-hover: #60a5fa;--brand-bg: rgba(59, 130, 246, .15);--highlight: #0891b2;--highlight-bg: rgba(8, 145, 178, .15);--highlight-hover: #22d3ee;--success-bg: rgba(16, 185, 129, .15);--success-hover: #34d399;--warning-bg: rgba(245, 158, 11, .15);--warning-hover: #fbbf24;--error-bg: rgba(239, 68, 68, .15);--error-hover: #f87171;--font-mono: "SF Mono", Monaco, "Cascadia Code", Consolas, monospace}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{line-height:1.2;font-weight:600;color:var(--text-primary)}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}button{font-family:inherit;cursor:pointer;border:none;outline:none;transition:all .2s ease}button:active{transform:scale(.98)}input,textarea,select{font-family:inherit;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;padding:12px 16px;font-size:1rem;color:var(--text-primary);transition:all .2s ease}input::placeholder,textarea::placeholder{color:var(--text-muted)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-bg)}.container{max-width:1200px;margin:0 auto;padding:0 16px}.btn{padding:12px 24px;border-radius:12px;font-weight:600;font-size:1rem;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--brand-primary);color:var(--brand-primary-hover);background:var(--brand-bg)}.btn-success{background:var(--gradient-success);color:#fff;box-shadow:var(--shadow-md)}.btn-warning{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#0f172a;box-shadow:var(--shadow-md)}.btn-warning:hover{background:linear-gradient(135deg,#f59e0b,#d97706)}.btn-lg{padding:16px 32px;font-size:1.125rem}.card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:var(--shadow);transition:all .3s ease}.card:hover{box-shadow:var(--shadow-lg);border-color:var(--border-strong)}.badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;font-size:.875rem;font-weight:600}.badge-easy{background:var(--success-bg);color:var(--success-hover)}.badge-medium{background:var(--warning-bg);color:var(--warning-hover)}.badge-hard{background:var(--error-bg);color:var(--error-hover)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .5s ease}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.slide-up{animation:slideUp .3s ease}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#020617cc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}.modal-content{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-xl);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;font-size:1.5rem;color:var(--text-primary)}.modal-close{background:var(--bg-tertiary);border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.modal-close:hover{background:var(--error-bg);color:var(--error-hover)}.cpd-form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-primary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;font-size:1rem;color:var(--text-primary);transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-bg)}.form-group small{display:block;margin-top:.5rem;color:var(--text-tertiary);font-size:.875rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid var(--border)}.modal-actions button{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:1rem;transition:all .2s ease}.modal-actions button:first-child{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary)}.modal-actions button:first-child:hover{background:var(--slate-600)}.modal-actions button.btn-primary{background:var(--gradient-primary);color:#fff}.modal-actions button.btn-primary:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.modal-actions button:disabled{opacity:.6;cursor:not-allowed;transform:none}
