:root{--bg: #f8fafc;--card: #ffffff;--card-alt: #f1f5f9;--text: #0f172a;--muted: #64748b;--accent: #6366f1;--accent-hover: #4f46e5;--correct: #16a34a;--wrong: #dc2626;--chip-bg: rgba(15, 23, 42, .06);--shadow: 0 20px 45px rgba(15, 23, 42, .12);--radius: 14px}@media (prefers-color-scheme: dark){:root{--bg: #0f172a;--card: #1e293b;--card-alt: #273449;--text: #f1f5f9;--muted: #94a3b8;--accent: #6366f1;--accent-hover: #818cf8;--correct: #22c55e;--wrong: #ef4444;--chip-bg: rgba(255, 255, 255, .08);--shadow: 0 20px 45px rgba(0, 0, 0, .35)}}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg)}html{overscroll-behavior-y:none}body{min-height:100vh;min-height:100dvh;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:radial-gradient(circle at top,var(--card),var(--bg) 60%);color:var(--text);display:flex;align-items:center;justify-content:center;padding:1rem;overscroll-behavior-y:none;transition:background .2s ease,color .2s ease}@media (max-width: 640px){body{padding:0;align-items:stretch;justify-content:flex-start}}.quiz-wrap{width:100%;max-width:640px}.card{background:var(--card);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);display:flex;flex-direction:column}.card[hidden]{display:none}#question-area{flex:1 1 auto}.quiz-header-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.quiz-header h1,#result-card h1{margin:0;font-size:1.4rem}.lang-toggle{display:flex;flex:0 0 auto;background:var(--card-alt);border-radius:999px;padding:.2rem;gap:.2rem}.lang-btn{appearance:none;-webkit-appearance:none;border:none;background:transparent;color:var(--muted);font:inherit;font-size:.8rem;font-weight:700;padding:.35rem .7rem;border-radius:999px;cursor:pointer;transition:background .15s ease,color .15s ease}.lang-btn.active{background:var(--accent);color:#fff}.lang-btn:focus-visible{outline:2px solid var(--accent-hover);outline-offset:2px}.all-toggle-row{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;margin-bottom:.9rem}.all-toggle-label{font-size:.8rem;color:var(--muted)}.switch{appearance:none;-webkit-appearance:none;position:relative;flex:0 0 auto;width:2.6rem;height:1.5rem;background:var(--card-alt);border:none;border-radius:999px;cursor:pointer;transition:background .15s ease}.switch-thumb{position:absolute;top:.15rem;left:.15rem;width:1.2rem;height:1.2rem;background:var(--muted);border-radius:50%;transition:transform .15s ease,background .15s ease}.switch.active{background:var(--accent)}.switch.active .switch-thumb{transform:translate(1.1rem);background:#fff}.switch:focus-visible{outline:2px solid var(--accent-hover);outline-offset:2px}.progress-track{background:var(--card-alt);border-radius:999px;height:8px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-hover));width:0%;transition:width .3s ease}.progress-label{margin:.5rem 0 1.5rem;font-size:.85rem;color:var(--muted)}.question-text{font-size:1.15rem;font-weight:600;margin:0 0 1.25rem;line-height:1.4}.options{display:flex;flex-direction:column;gap:.65rem}.option{appearance:none;-webkit-appearance:none;display:flex;align-items:flex-start;gap:.75rem;width:100%;text-align:left;background:var(--card-alt);border:2px solid transparent;color:var(--text);padding:.75rem 1rem;border-radius:10px;font:inherit;font-size:.98rem;line-height:1.4;cursor:pointer;transition:border-color .15s ease,background .15s ease}.option:hover{border-color:var(--accent-hover)}.option:focus-visible{outline:2px solid var(--accent-hover);outline-offset:2px}.option.selected{border-color:var(--accent);background:#6366f126}.option:disabled{cursor:default}.option.correct{border-color:var(--correct);background:#16a34a26}.option.wrong{border-color:var(--wrong);background:#dc262626}.option-mark{flex:0 0 auto;margin-left:auto;font-weight:800;padding-top:.15rem}.option.correct .option-mark{color:var(--correct)}.option.wrong .option-mark{color:var(--wrong)}.option-letter{flex:0 0 auto;width:1.75rem;height:1.75rem;display:grid;place-items:center;border-radius:50%;background:var(--chip-bg);font-size:.8rem;font-weight:700;margin-top:.05rem}.option-text{flex:1 1 auto;min-width:0;overflow-wrap:break-word;word-break:break-word;padding-top:.15rem}.term{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;font-weight:600;background:var(--chip-bg);color:var(--accent-hover);padding:.05em .4em;border-radius:5px}.quiz-footer{display:flex;justify-content:space-between;gap:.75rem;margin-top:1.75rem}.btn{flex:1;padding:.75rem 1rem;border-radius:10px;border:none;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s ease,opacity .15s ease}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-ghost{background:var(--card-alt);color:var(--text)}.btn-ghost:disabled{opacity:.4;cursor:not-allowed}.score-percent{font-size:3rem;font-weight:800;margin:0}.score-percent.passed{background:linear-gradient(90deg,var(--correct),#4ade80);-webkit-background-clip:text;background-clip:text;color:transparent}.score-percent.failed{background:linear-gradient(90deg,var(--wrong),#f87171);-webkit-background-clip:text;background-clip:text;color:transparent}.score-status{font-weight:700;margin:.35rem 0 0}.score-status.passed{color:var(--correct)}.score-status.failed{color:var(--wrong)}.score-detail{color:var(--muted);margin:.25rem 0 1.5rem}.review-heading{font-weight:600;color:var(--wrong);margin:0 0 .75rem}.review-list{list-style:none;margin:0 0 1.5rem;padding:0;display:flex;flex-direction:column;gap:.75rem;flex:0 1 auto;max-height:340px;overflow-y:auto}.review-item{background:var(--card-alt);border-left:4px solid var(--wrong);border-radius:8px;padding:.75rem 1rem}.review-item.correct{border-left-color:var(--correct)}.review-question{margin:0 0 .35rem;font-weight:600;font-size:.92rem}.review-answer{margin:0;font-size:.85rem;color:var(--muted)}.correct-text{color:var(--correct)}@media (max-width: 640px){.card{min-height:100vh;min-height:100dvh;border-radius:0;padding:calc(env(safe-area-inset-top,0px) + 1.25rem) calc(env(safe-area-inset-right,0px) + 1.1rem) calc(env(safe-area-inset-bottom,0px) + 1.1rem) calc(env(safe-area-inset-left,0px) + 1.1rem)}.review-list{flex:1 1 auto;max-height:none}.score-percent{font-size:2.4rem}.quiz-footer{flex-direction:column-reverse;margin-top:1rem}}
