:root{color-scheme:light;--bg:#f4f6f5;--panel:#fff;--ink:#162b26;--muted:#58706a;--brand:#0e735c;--brand2:#085845;--border:#dce6e1;--good:#0b7255;--bad:#b43e35;--soft:#eff7f2}*{box-sizing:border-box}body{margin:0;background:linear-gradient(160deg,#eaf4ef 0%,var(--bg) 45%,#f6f1e7 100%);color:var(--ink);font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;min-height:100vh}.shell{width:min(100% - 32px,720px);margin:45px auto}.brand{font-weight:800;letter-spacing:.13em;color:var(--brand);font-size:1.1rem}.brand:first-letter{font-size:1.7em}.subtitle{color:var(--muted);margin:2px 0 22px}.card{background:var(--panel);box-shadow:0 12px 36px #1b4e2f12;border:1px solid var(--border);border-radius:22px;padding:clamp(22px,5vw,38px)}h1{font-size:clamp(1.5rem,4vw,2rem);line-height:1.25;margin:0 0 14px}h2{font-size:1.15rem;margin:25px 0 10px}p{margin:0 0 18px}.hidden{display:none!important}.notice{background:var(--soft);border-radius:10px;padding:11px 14px;margin:18px 0;color:var(--brand2)}.notice.error{color:#9b302e;background:#fff1ef}.settings{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0}.settings label{font-weight:650}select{border:1px solid var(--border);border-radius:8px;padding:10px;font:inherit;max-width:100%;background:#fff}button{font:inherit;font-weight:700;cursor:pointer;border-radius:11px;padding:12px 19px;border:0;transition:transform .1s,background .15s}button:hover:not(:disabled){transform:translateY(-1px)}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #e8a53d;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.5}.primary{background:var(--brand);color:white;min-width:165px}.primary:hover:not(:disabled){background:var(--brand2)}.secondary{background:#eaf3ef;color:var(--brand2);border:1px solid #c5dcd1}.import{border-top:1px solid var(--border);padding-top:18px;margin-top:25px}.import summary{cursor:pointer;font-weight:700;color:var(--brand2)}.import p{margin-top:8px;font-size:.9rem}.file-label{display:block;margin:13px 0;font-weight:650}.file-label input{display:block;margin-top:5px;font:inherit;max-width:100%;font-size:.85rem}.tiny{font-size:.85rem;color:var(--muted)}.topline{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-weight:700;font-size:.92rem}.progress{height:7px;background:#e9efec;border-radius:6px;overflow:hidden;margin:13px 0 27px}.progress>div{height:100%;width:0;background:var(--brand);transition:width .2s}.listen-panel{text-align:center;border-radius:17px;padding:25px 15px 20px;background:var(--soft);margin:21px 0 22px}.note{font-size:2.7rem;color:var(--brand)}.play-label{font-weight:700;color:var(--brand2)}.timer{font-size:clamp(2.4rem,8vw,3.8rem);font-weight:800;font-variant-numeric:tabular-nums;line-height:1.2;margin:8px}.timer span{font-size:.95rem;font-weight:500;color:var(--muted)}#audio-status{margin:8px 0 0}.options{display:grid;gap:11px;margin-bottom:17px}.option{width:100%;display:flex;gap:14px;text-align:left;align-items:center;border:1px solid var(--border);background:#fff;color:var(--ink);min-height:59px}.option:hover:not(:disabled){background:#f6faf7;border-color:var(--brand)}.letter{display:inline-grid;place-items:center;width:30px;height:30px;min-width:30px;background:#eef4f1;color:var(--brand2);border-radius:8px}.option.correct{background:#e8f7ee;border-color:#55a67f}.option.incorrect{background:#fff0ee;border-color:#cf756f}.option:disabled{opacity:1}.feedback{border-radius:10px;padding:14px;margin:15px 0;font-weight:650}.feedback.good{background:#e8f7ee;color:var(--good)}.feedback.bad{background:#fff0ee;color:var(--bad)}#next-btn{width:100%}.trophy{text-align:center;font-size:3rem;color:#c98d22}.results-score{font-weight:800;font-size:2rem;color:var(--brand);margin:0}.results-table-wrapper{overflow:auto}table{border-collapse:collapse;width:100%;margin-bottom:24px}th,td{padding:10px 8px;text-align:left;border-bottom:1px solid var(--border)}th{color:var(--muted);font-size:.88rem}footer{text-align:center;margin-top:23px;font-size:.84rem;color:var(--muted)}@media(max-width:450px){.shell{width:min(100% - 20px,720px);margin:20px auto}.card{border-radius:14px;padding:19px}.topline{font-size:.8rem}}