*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0d0d1a;--surface:#1a1a2e;--surface-2:#22223b;--border:#2d2d50;--accent:#7c3aed;--accent-hover:#6d28d9;--accent-light:#7c3aed26;--text:#f0f0f5;--text-muted:#94a3b8;--correct:#22c55e;--correct-bg:#22c55e26;--incorrect:#ef4444;--incorrect-bg:#ef444426;--radius:12px;--radius-sm:8px;--shadow:0 4px 24px #0006}html,body{height:100%}body{background-color:var(--bg);color:var(--text);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}button{cursor:pointer;font-family:inherit;font-size:inherit;border:none;outline:none}button:disabled{cursor:not-allowed;opacity:.45}#root{justify-content:center;align-items:flex-start;min-height:100vh;display:flex}.loading-screen{min-height:100vh;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex}.spinner{border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-banner{background:var(--incorrect-bg);border:1px solid var(--incorrect);color:var(--incorrect);border-radius:var(--radius-sm);padding:12px 16px;font-size:.9rem}.select-screen{justify-content:center;width:100%;padding:48px 16px;display:flex}.select-inner{flex-direction:column;gap:36px;width:100%;max-width:640px;display:flex}.game-logo{text-align:center;filter:drop-shadow(0 0 16px #fbbf2466);font-size:4rem;line-height:1;animation:3s ease-in-out infinite sway}@keyframes sway{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}.game-title{text-align:center;background:linear-gradient(135deg,#a78bfa,#7c3aed);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:800}.game-subtitle{text-align:center;color:var(--text-muted);margin-top:-28px}.select-section{flex-direction:column;gap:14px;display:flex}.section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.8rem;font-weight:600}.category-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.category-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);color:var(--text);flex-direction:column;align-items:center;gap:10px;padding:24px 16px;transition:border-color .15s,background .15s,transform .1s;display:flex}.category-card:hover:not(:disabled){border-color:var(--accent);background:var(--surface-2);transform:translateY(-2px)}.category-card.selected{border-color:var(--accent);background:var(--accent-light)}.category-icon{font-size:2rem;line-height:1}.category-name{font-size:.95rem;font-weight:600}.difficulty-row{gap:10px;display:flex}.difficulty-btn{border-radius:var(--radius-sm);background:var(--surface);border:2px solid var(--border);color:var(--text-muted);flex:1;padding:12px;font-size:.9rem;font-weight:600;transition:all .15s}.difficulty-btn:hover{color:var(--text);border-color:var(--accent)}.difficulty-btn.selected.difficulty-easy{border-color:var(--correct);color:var(--correct);background:#22c55e26}.difficulty-btn.selected.difficulty-medium{color:#eab308;background:#eab30826;border-color:#eab308}.difficulty-btn.selected.difficulty-hard{background:var(--incorrect-bg);border-color:var(--incorrect);color:var(--incorrect)}.start-btn{background:var(--accent);color:#fff;border-radius:var(--radius);letter-spacing:.02em;padding:16px;font-size:1.05rem;font-weight:700;transition:background .15s,transform .1s}.start-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.start-btn:disabled{background:var(--surface-2);color:var(--text-muted)}.game-screen{justify-content:center;width:100%;padding:40px 16px 60px;display:flex}.game-inner{flex-direction:column;gap:20px;width:100%;max-width:640px;display:flex}.game-header{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:.9rem;display:flex}.question-counter{font-weight:600}.counter-sep{color:var(--border);margin:0 2px}.live-score{color:var(--accent);font-weight:700}.progress-track{background:var(--surface-2);border-radius:99px;height:5px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#7c3aed,#a78bfa);border-radius:99px;height:100%;transition:width .4s}.question-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:24px;padding:32px;display:flex}.question-text{color:var(--text);font-size:1.2rem;font-weight:600;line-height:1.5}.options-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.option-btn{background:var(--surface-2);border:2px solid var(--border);border-radius:var(--radius-sm);color:var(--text);text-align:left;padding:14px 16px;font-size:.95rem;line-height:1.4;transition:border-color .15s,background .15s,transform .1s}.option-btn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-light);transform:translateY(-1px)}.option-btn.correct{border-color:var(--correct);background:var(--correct-bg);color:var(--correct);font-weight:600}.option-btn.incorrect{border-color:var(--incorrect);background:var(--incorrect-bg);color:var(--incorrect)}.option-btn.dimmed{opacity:.35}.feedback-bar{border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;font-weight:600;display:flex}.feedback-correct{background:var(--correct-bg);border:1px solid var(--correct);color:var(--correct)}.feedback-incorrect{background:var(--incorrect-bg);border:1px solid var(--incorrect);color:var(--incorrect)}.feedback-text{font-size:.95rem}.next-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);white-space:nowrap;flex-shrink:0;padding:8px 20px;font-size:.9rem;font-weight:700;transition:background .15s}.next-btn:hover{background:var(--accent-hover)}.summary-screen{justify-content:center;width:100%;padding:40px 16px 60px;display:flex}.summary-inner{flex-direction:column;gap:28px;width:100%;max-width:640px;display:flex}.result-header{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:10px;padding:36px 32px;display:flex}.result-emoji{font-size:3rem;line-height:1}.result-title{color:var(--text);font-size:1.6rem;font-weight:800}.score-display{align-items:baseline;gap:12px;margin-top:4px;display:flex}.score-fraction{background:linear-gradient(135deg,#a78bfa,#7c3aed);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:800}.score-pct{color:var(--text-muted);font-size:1.4rem;font-weight:600}.result-meta{color:var(--text-muted);margin-top:4px;font-size:.85rem}.answers-list{flex-direction:column;gap:8px;display:flex}.answer-row{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);align-items:flex-start;gap:14px;padding:16px;display:flex}.row-correct{border-left:3px solid var(--correct)}.row-incorrect{border-left:3px solid var(--incorrect)}.answer-number{background:var(--surface-2);width:24px;height:24px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:.75rem;font-weight:700;display:flex}.answer-body{flex-direction:column;gap:8px;min-width:0;display:flex}.answer-question{color:var(--text);font-size:.9rem;line-height:1.4}.answer-detail{flex-wrap:wrap;gap:6px;display:flex}.tag{border-radius:99px;padding:3px 10px;font-size:.8rem;font-weight:600;display:inline-block}.tag-correct{background:var(--correct-bg);color:var(--correct);border:1px solid var(--correct)}.tag-incorrect{background:var(--incorrect-bg);color:var(--incorrect);border:1px solid var(--incorrect);text-decoration:line-through}.restart-btn{background:var(--accent);color:#fff;border-radius:var(--radius);padding:16px;font-size:1.05rem;font-weight:700;transition:background .15s,transform .1s}.restart-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}
