@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--bg-dark:#0f172a;--bg-card:#1e293b;--bg-card-hover:#334155;--text-primary:#f8fafc;--text-secondary:#94a3b8;--accent-primary:#3b82f6;--accent-secondary:#6366f1;--success:#10b981;--error:#ef4444;--border-color:#334155;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:1rem;--radius-xl:1.5rem;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-glow:0 0 15px #3b82f680}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-dark);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:var(--accent-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-secondary)}button{cursor:pointer;font-family:var(--font-family);background:0 0;border:none}#app{max-width:800px;padding:var(--spacing-lg);flex-direction:column;min-height:100vh;margin:0 auto;display:flex}h1,h2,h3,h4{color:var(--text-primary);margin-bottom:var(--spacing-md)}p{color:var(--text-secondary);margin-bottom:var(--spacing-md)}header{text-align:center;margin-bottom:var(--spacing-xl)}.header-title{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));-webkit-text-fill-color:transparent;margin-bottom:var(--spacing-xs);-webkit-background-clip:text;font-size:2.5rem;font-weight:800}.category-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(250px,1fr));display:grid}.category-card{background-color:var(--bg-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:1px solid var(--border-color);flex-direction:column;align-items:flex-start;transition:all .3s;display:flex}.category-card:hover{box-shadow:var(--shadow-glow);border-color:var(--accent-primary);background-color:var(--bg-card-hover);transform:translateY(-4px)}.category-icon{margin-bottom:var(--spacing-md);font-size:2rem}.category-name{color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:1.25rem;font-weight:600}.category-meta{color:var(--text-secondary);font-size:.875rem}.flashcard-container{perspective:1000px;touch-action:pan-y;width:100%;max-width:600px;margin:0 auto;position:relative}.flashcard{background-color:var(--bg-card);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);flex-direction:column;min-height:400px;transition:transform .3s ease-out;display:flex}.question-text{margin-bottom:var(--spacing-xl);font-size:1.125rem;line-height:1.6}.options-list{gap:var(--spacing-md);margin-bottom:var(--spacing-xl);flex-direction:column;display:flex}.option-btn{border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-md);color:var(--text-primary);text-align:left;background-color:#ffffff0d;align-items:center;font-size:1rem;transition:all .2s;display:flex}.option-btn:hover:not(:disabled){border-color:var(--text-secondary);background-color:#ffffff1a}.option-btn.selected-correct{border-color:var(--success);color:var(--success);background-color:#10b98133}.option-btn.selected-wrong{border-color:var(--error);color:var(--error);background-color:#ef444433}.option-btn.show-correct{border-color:var(--success);color:var(--success);background-color:#10b9811a}.option-letter{margin-right:var(--spacing-md);background-color:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-weight:700;display:flex}.explanation-box{padding:var(--spacing-md);border-left:4px solid var(--accent-primary);border-radius:0 var(--radius-md) var(--radius-md) 0;background-color:#3b82f61a;margin-top:auto;animation:.3s fadeIn;display:none}.explanation-box.visible{display:block}.explanation-title{color:var(--accent-primary);margin-bottom:var(--spacing-xs);align-items:center;gap:var(--spacing-xs);font-weight:600;display:flex}.progress-container{width:100%;max-width:600px;margin:0 auto var(--spacing-lg) auto;gap:var(--spacing-xs);flex-direction:column;display:flex}.progress-text{color:var(--text-secondary);justify-content:space-between;font-size:.875rem;font-weight:500;display:flex}.progress-track{background-color:var(--bg-card);border-radius:4px;width:100%;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--accent-primary), var(--accent-secondary));border-radius:4px;height:100%;transition:width .3s}.nav-buttons{max-width:600px;margin:var(--spacing-lg) auto 0;justify-content:space-between;width:100%;display:flex}.btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);align-items:center;gap:var(--spacing-sm);font-weight:600;transition:all .2s;display:flex}.btn-primary{background-color:var(--accent-primary);color:#fff}.btn-primary:hover{background-color:var(--accent-secondary);transform:translateY(-2px)}.btn-secondary{background-color:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--bg-card-hover)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.swipe-left{opacity:0;transform:translate(-100%)rotate(-10deg)}.swipe-right{opacity:0;transform:translate(100%)rotate(10deg)}.results-screen{text-align:center;padding:var(--spacing-xl);background-color:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-color);max-width:600px;margin:0 auto}.score-circle{border:8px solid var(--accent-primary);width:150px;height:150px;margin:0 auto var(--spacing-lg);color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;font-size:3rem;font-weight:700;display:flex}.stat-grid{gap:var(--spacing-md);margin-bottom:var(--spacing-xl);grid-template-columns:repeat(3,1fr);display:grid}.stat-box{padding:var(--spacing-md);border-radius:var(--radius-md);background-color:#ffffff0d}.stat-value{margin-bottom:var(--spacing-xs);font-size:1.5rem;font-weight:700}.stat-box.correct .stat-value{color:var(--success)}.stat-box.wrong .stat-value{color:var(--error)}.stat-box.empty .stat-value{color:var(--text-secondary)}
