:root{--bg: #0f172a;--bg-2: #131f38;--panel: #1e293b;--border: #334155;--text: #e2e8f0;--muted: #94a3b8;--accent: #38bdf8;--accent-strong: #0ea5e9;--ok: #4ade80;--lock: #64748b;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:none;background:var(--accent-strong);color:#04222f;font-weight:600;padding:.7rem 1.1rem;border-radius:10px}button.ghost{background:transparent;color:var(--text);border:1px solid var(--border);font-weight:500}button:disabled{opacity:.5}input{font:inherit;width:100%;background:#0b1220;color:var(--text);border:1px solid var(--border);border-radius:10px;padding:.7rem .8rem}.app{max-width:640px;margin:0 auto;padding:1rem 1rem 5rem}.topbar{display:flex;justify-content:space-between;align-items:center;padding:.4rem 0 1rem}.topbar .brand{font-weight:700}.offline-flag{font-size:12px;color:#fca5a5}.tabbar{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:var(--panel);border-top:1px solid var(--border);padding:.5rem 0 calc(.5rem + env(safe-area-inset-bottom))}.tabbar a{color:var(--muted);font-size:12px;text-align:center;display:grid;gap:2px}.tabbar a.active{color:var(--accent)}.tabbar .ic{font-size:20px}.card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:1.1rem;margin-bottom:1rem}.level-card{display:flex;justify-content:space-between;align-items:center;gap:1rem}.level-card.locked{opacity:.55}.progressbar{height:8px;background:#0b1220;border-radius:999px;overflow:hidden;margin-top:.5rem}.progressbar>span{display:block;height:100%;background:var(--accent-strong)}.lesson-row{display:flex;align-items:center;gap:.8rem;padding:.85rem 0;border-bottom:1px solid var(--border)}.lesson-row:last-child{border-bottom:none}.lesson-row .n{width:30px;height:30px;border-radius:999px;background:var(--bg-2);display:grid;place-items:center;font-size:13px;flex:none}.lesson-row.done .n{background:var(--ok);color:#04231a}.lesson-row .lock{color:var(--lock)}.muted{color:var(--muted)}.error{color:#fca5a5}.ok{color:var(--ok)}.center{min-height:100vh;display:grid;place-items:center;padding:1rem}.stack{display:grid;gap:.8rem}h1{font-size:1.4rem}h2{font-size:1.15rem}.player audio{width:100%;margin-top:.6rem}.pill{display:inline-block;padding:.15rem .6rem;border-radius:999px;background:var(--bg-2);font-size:12px}
