.category-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 12px; }
.cat-btn { padding: 20px 12px; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); color: var(--color-text); font-size: 1rem; cursor: pointer; transition: all .3s ease; text-align: center; }
.cat-btn:hover { border-color: var(--color-primary); transform: translateY(-3px); box-shadow: var(--shadow-glow); }
.cat-btn-all { grid-column: 1 / -1; background: linear-gradient(135deg, rgba(99,102,241,.15), rgba(236,72,153,.15)); border-color: var(--color-primary); }

.quiz-header { display: flex; gap: 8px; justify-content: space-between; align-items: center; margin-bottom: 16px; flex-wrap: wrap; }
.badge { padding: 4px 12px; border-radius: var(--radius-full); background: var(--color-surface-alt); font-size: .85rem; font-weight: 600; }
.badge-accent { background: linear-gradient(135deg, var(--color-primary), var(--color-accent)); color: #fff; }
.badge-streak { background: linear-gradient(135deg, #f59e0b, #ef4444); color: #fff; }

.timer-bar { width: 100%; height: 6px; background: var(--color-surface-alt); border-radius: 3px; margin-bottom: 20px; overflow: hidden; }
.timer-fill { height: 100%; background: linear-gradient(90deg, var(--color-primary), var(--color-accent)); border-radius: 3px; transition: width .1s linear; width: 100%; }

.question-text { font-size: 1.25rem; margin-bottom: 20px; line-height: 1.5; min-height: 60px; }

.answers-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
@media (max-width: 500px) { .answers-grid { grid-template-columns: 1fr; } }

.answer-btn { padding: 14px 16px; border: 2px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); color: var(--color-text); font-size: 1rem; cursor: pointer; transition: all .25s ease; text-align: left; }
.answer-btn:hover:not(.disabled) { border-color: var(--color-primary); background: rgba(99,102,241,.1); }
.answer-btn.correct { border-color: #22c55e; background: rgba(34,197,94,.15); color: #22c55e; }
.answer-btn.incorrect { border-color: #ef4444; background: rgba(239,68,68,.15); color: #ef4444; }
.answer-btn.disabled { pointer-events: none; opacity: .7; }

.quiz-feedback { text-align: center; padding: 12px; margin-top: 16px; border-radius: var(--radius-md); font-weight: 600; font-size: 1.1rem; animation: fadeIn .3s ease; }
.quiz-feedback.correct-fb { background: rgba(34,197,94,.1); color: #22c55e; }
.quiz-feedback.incorrect-fb { background: rgba(239,68,68,.1); color: #ef4444; }

.result-icon { font-size: 4rem; text-align: center; margin-bottom: 8px; }
.result-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; text-align: center; margin-top: 16px; }
.stat-box { padding: 16px 8px; background: var(--color-surface-alt); border-radius: var(--radius-md); }
.stat-val { font-size: 1.8rem; font-weight: 700; background: linear-gradient(135deg, var(--color-primary), var(--color-accent)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.stat-label { font-size: .75rem; color: var(--color-text-secondary); margin-top: 4px; }

.score-row { display: flex; justify-content: space-between; padding: 8px 12px; border-bottom: 1px solid var(--color-border); font-size: .9rem; }

.hidden { display: none !important; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
