:root{--bg:#f5f7f6;--card:#fff;--text:#17312a;--muted:#718079;--accent:#1f7a5a;--accent2:#e4f1eb;--line:#d8e2dd;--bad:#a83f3f}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}.app{max-width:780px;margin:auto;padding:18px 14px 90px;min-height:100vh}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:12px}h1{font-size:1.3rem;margin:0}.small{font-size:.84rem;color:var(--muted)}.badge{background:var(--accent2);color:var(--accent);font-weight:800;padding:7px 10px;border-radius:999px;font-size:.8rem}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;margin-bottom:14px;box-shadow:0 8px 24px rgba(20,40,30,.06)}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.stat{background:#f8faf9;border:1px solid var(--line);border-radius:14px;padding:12px}.stat b{display:block;font-size:1.15rem}button{border:0;border-radius:14px;padding:13px 14px;font-size:1rem;font-weight:800;cursor:pointer}.primary{background:var(--accent);color:#fff}.secondary{background:#eef3f0;color:var(--text)}.ghost{background:#fff;border:1px solid var(--line);color:var(--text)}.row{display:flex;gap:10px}.row>*{flex:1}input,select{width:100%;border:1px solid #cbd8d2;border-radius:12px;padding:13px;font-size:1rem;background:#fff;color:var(--text)}.questionLabel{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:900}.context{margin-top:12px;padding:12px;border-left:4px solid var(--accent);background:#f7fbf9;border-radius:10px;line-height:1.45}.prompt{font-size:1.55rem;font-weight:900;line-height:1.3;margin:14px 0 12px}.feedback{margin-top:12px;padding:12px;border-radius:12px;display:none}.feedback.good{display:block;background:#e6f5ec;color:#1a684b}.feedback.bad{display:block;background:#fdeaea;color:#8b2f2f}.feedback.warn{display:block;background:#fff4dc;color:#7d5200}.choiceGrid{display:grid;grid-template-columns:1fr;gap:9px;margin-top:12px}.choice{background:#f6f8f7;border:1px solid var(--line);text-align:left}.choice.correct{outline:2px solid #6fb58f}.choice.wrong{outline:2px solid #d78989}.progress{height:10px;background:#e7eeea;border-radius:99px;overflow:hidden;margin-top:10px}.progress>div{height:100%;background:var(--accent)}.hidden{display:none!important}.sectionTitle{font-size:1rem;margin:0 0 10px}.itemrow{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.itemrow:last-child{border-bottom:0}.pill{font-size:.72rem;padding:4px 8px;border-radius:999px;background:#eef4f1;font-weight:800}footer{position:fixed;bottom:0;left:0;right:0;background:rgba(245,247,246,.96);border-top:1px solid var(--line);backdrop-filter:blur(8px)}.nav{max-width:780px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);padding:8px 10px calc(8px + env(safe-area-inset-bottom))}.nav button{background:transparent;color:var(--muted);font-size:.82rem;padding:9px}.nav button.active{color:var(--accent);background:#e9f3ee}.level{font-size:.78rem;color:var(--muted);font-weight:700}@media(min-width:700px){.app{padding-top:28px}.prompt{font-size:1.8rem}.choiceGrid{grid-template-columns:repeat(3,1fr)}}
html { -webkit-text-size-adjust: 100%; }
body { padding-top: env(safe-area-inset-top); }
button, input, select { touch-action: manipulation; }
button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid rgba(31,122,90,.35); outline-offset: 2px; }
@media (max-width: 420px) {
  .app { padding-left: 12px; padding-right: 12px; }
  .row { flex-direction: column; }
  .prompt { font-size: 1.35rem; }
  button { min-height: 48px; }
}
