:root{
  --bg:#0b0c10;
  --panel:#141922;
  --panel2:#10151d;
  --text:#eef3fb;
  --muted:#aab4c0;
  --line:#293241;
  --accent:#6d8cff;
  --accent2:#ff9f43;
  --ok:#2ecc71;
  --bad:#ffb020;
  --danger:#ff6b6b;
  --radius:20px;
  --shadow:0 18px 50px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
body{
  margin:0;
  min-height:100vh;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  background:radial-gradient(900px 500px at 20% 0%,rgba(109,140,255,.22),transparent 60%),radial-gradient(700px 420px at 90% 0%,rgba(255,159,67,.13),transparent 60%),var(--bg);
}
.topbar{
  position:sticky;top:0;z-index:5;
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:14px 16px;border-bottom:1px solid rgba(41,50,65,.8);
  background:rgba(11,12,16,.88);backdrop-filter:blur(10px);
}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brandIcon{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--accent),var(--accent2));display:grid;place-items:center;font-weight:900;box-shadow:var(--shadow)}
h1{font-size:18px;margin:0 0 3px} p{margin:0;color:var(--muted);line-height:1.4}.brand p{font-size:12px}
.appShell{max-width:1100px;margin:0 auto;padding:14px;display:grid;gap:12px;grid-template-columns:1fr}
.panel{background:rgba(20,25,34,.92);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px}
.setupPanel{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}
.field label{display:block;color:var(--muted);font-size:12px;margin:0 0 6px}
select{width:100%;padding:12px;border-radius:14px;border:1px solid var(--line);background:#10151d;color:var(--text)}
.trainerPanel{display:grid;gap:12px}.progressRow{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px}.progressRow span:first-child{color:var(--text);font-weight:750}
.listenPad{
  min-height:38vh;width:100%;border:1px solid rgba(109,140,255,.45);border-radius:24px;
  background:radial-gradient(360px 200px at 50% 20%,rgba(109,140,255,.25),transparent 70%),linear-gradient(135deg,rgba(109,140,255,.18),rgba(255,159,67,.08)),rgba(16,21,29,.95);
  color:var(--text);display:grid;place-items:center;align-content:center;gap:8px;cursor:pointer;box-shadow:var(--shadow);
}
.listenPad:active{transform:translateY(1px);filter:brightness(1.08)}.listenIcon{font-size:72px;opacity:.7}.listenPad strong{font-size:28px}.listenPad small{font-size:15px;color:var(--muted)}
.questionLine{text-align:center;color:var(--muted);font-weight:700}.answers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.answerBtn{border:1px solid var(--line);border-radius:18px;background:#1c2431;color:var(--text);font-weight:750;line-height:1.25;padding:18px 14px;min-height:68px;cursor:pointer}.answerBtn:hover{filter:brightness(1.08)}.answerBtn.correct{border-color:rgba(46,204,113,.8);background:rgba(46,204,113,.18)}.answerBtn.wrong{border-color:rgba(255,107,107,.8);background:rgba(255,107,107,.14)}
.feedback{min-height:42px;border:1px solid var(--line);border-radius:16px;background:rgba(16,21,29,.72);padding:12px;color:var(--muted)}.feedback.ok{color:var(--ok)}.feedback.bad{color:var(--bad)}.feedback.err{color:var(--danger)}
.navRow{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.btn{border:1px solid var(--line);border-radius:14px;padding:12px 15px;background:#1c2431;color:var(--text);font-weight:800;cursor:pointer}.btn.primary{background:linear-gradient(135deg,var(--accent),#4a69ff);border-color:rgba(109,140,255,.75)}.btn.ghost{background:transparent}.hidden{display:none!important}.infoPanel h2{margin:0 0 8px;font-size:16px}.infoPanel p,.infoPanel li{font-size:13px;color:var(--muted)}
@media(max-width:800px){.topbar{align-items:flex-start;flex-direction:column}.setupPanel{grid-template-columns:1fr 1fr}.answers{grid-template-columns:1fr}.listenPad{min-height:42vh}.listenPad strong{font-size:24px}}
@media(max-width:470px){.setupPanel{grid-template-columns:1fr}.panel{padding:12px}.listenPad{min-height:40vh}.answerBtn{min-height:74px}.topbar .btn{width:100%}}
