*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#f0f7ff;color:#1e293b;min-height:100vh}header{padding:12px 20px}.back-link{color:#64748b;text-decoration:none;font-size:.95rem}.back-link:hover{color:#1e293b}#app{max-width:600px;margin:0 auto;padding:16px 20px 40px}h1{font-size:1.6rem;text-align:center;margin-bottom:20px;color:#1d4ed8}.reference-sheet{background:#fffbeb;border:2px solid #fbbf24;border-radius:12px;padding:14px 18px;margin-bottom:24px}.ref-title{font-weight:700;font-size:1rem;margin-bottom:8px;color:#92400e}.ref-rows{display:flex;gap:12px;flex-wrap:wrap}.ref-row{background:#fef3c7;border-radius:8px;padding:4px 10px;font-size:.95rem;font-weight:600;color:#78350f}#progress{text-align:center;font-size:.9rem;color:#64748b;margin-bottom:12px}#question-container{font-size:1.6rem;font-weight:700;text-align:center;margin-bottom:24px;padding:20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;color:#1e293b}#choices-container{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.choice-btn{padding:18px 12px;font-size:1.3rem;font-weight:700;border:2px solid #cbd5e1;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s,transform .1s;color:#1e293b}.choice-btn:hover:not(:disabled){border-color:#3b82f6;background:#eff6ff;transform:translateY(-2px)}.choice-btn:disabled{cursor:default}.choice-btn.selected-correct{border-color:#16a34a;background:#dcfce7;color:#14532d}.choice-btn.selected-wrong{border-color:#dc2626;background:#fee2e2;color:#7f1d1d}.choice-btn.reveal-correct{border-color:#16a34a;background:#dcfce7;color:#14532d}#explanation{font-size:1rem;font-weight:600;min-height:1.5rem;margin-bottom:16px;padding:12px 16px;border-radius:10px;line-height:1.5}#explanation.correct{background:#f0fdf4;color:#15803d}#explanation.wrong{background:#fff1f2;color:#be123c}#next-btn{display:block;width:100%;padding:14px;font-size:1rem;font-weight:700;background:#1d4ed8;color:#fff;border:none;border-radius:10px;cursor:pointer;transition:background .15s}#next-btn:hover{background:#1e40af}#score-screen{text-align:center;padding:32px 20px}#score-screen h2{font-size:1.8rem;margin-bottom:16px;color:#1d4ed8}#final-score{font-size:1.2rem;font-weight:600;margin-bottom:28px;color:#1e293b}#restart-btn{padding:14px 32px;font-size:1rem;font-weight:700;background:#1d4ed8;color:#fff;border:none;border-radius:10px;cursor:pointer;transition:background .15s}#restart-btn:hover{background:#1e40af}
