/* «Әліпби» styles (base taken from «Арабша сөйлес»), letter-section styles at the end. */
@font-face{font-family:Amiri;src:url(fonts/amiri-arabic-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Amiri;src:url(fonts/amiri-arabic-700.woff2) format("woff2");font-weight:700;font-display:swap}
:root{color-scheme:light;--bg:#f4f7f5;--paper:#fff;--ink:#18342e;--muted:#5a7067;--line:#dbe6df;--accent:#09665f;--accent-hover:#064f49;--soft:#e9f3ee;--gold:#bd812c;--warm:#fff5e5;--bad:#b4462f;--radius:18px;
--lv:var(--accent);--ar-size:27px;font-family:Arial,Helvetica,sans-serif;font-size:16px;color:var(--ink);background:var(--bg)}
html.ar-big{--ar-size:34px}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);min-height:100vh}
a{color:var(--accent)}
h1{font-size:23px;margin:0 0 4px;line-height:1.25}
h2{font-size:17px;margin:0 0 10px}
p{line-height:1.5}
.muted{color:var(--muted);font-size:14px;margin:0}
.row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.grow{flex:1;min-width:0}
svg{width:22px;height:22px;flex:none}
.ar{font-family:Amiri,"Traditional Arabic",serif;direction:rtl;unicode-bidi:isolate}
.lv-a1{--lv:#2a9d8f}.lv-a2{--lv:#264653}.lv-b1{--lv:#e08a3c}.lv-b2{--lv:#e76f51}

/* Frame */
.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--paper);border-bottom:1px solid var(--line)}
.top b{flex:1;font-size:17px}
.top .logo{border-radius:9px}
.top .back{width:38px;height:38px;border-radius:11px;background:var(--soft);display:grid;place-items:center;text-decoration:none;font-size:24px;line-height:1}
.aa{border:1px solid var(--line);background:var(--paper);border-radius:10px;height:36px;padding:0 10px;font-weight:bold;color:var(--accent);cursor:pointer}
.page{max-width:640px;margin:0 auto;padding:16px 16px calc(96px + env(safe-area-inset-bottom))}
.page.has-player{padding-bottom:calc(170px + env(safe-area-inset-bottom))}
nav.bottom{position:fixed;left:0;right:0;bottom:0;z-index:6;display:grid;grid-template-columns:repeat(3,1fr);background:var(--paper);border-top:1px solid var(--line);padding:4px 4px calc(6px + env(safe-area-inset-bottom))}
nav.bottom a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 0;font-size:12px;color:var(--muted);text-decoration:none}
nav.bottom a[aria-current]{color:var(--accent);font-weight:bold}
a:focus-visible,button:focus-visible,input:focus-visible,label:focus-within{outline:3px solid var(--gold);outline-offset:2px}

/* Blocks */
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin:0 0 12px}
.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;border:0;border-radius:14px;background:var(--accent);color:#fff;font:bold 16px Arial,sans-serif;padding:12px;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--accent-hover)}
.btn.ghost{background:var(--soft);color:var(--accent)}
.bar{display:block;height:8px;background:var(--line);border-radius:8px;overflow:hidden}
.bar i{display:block;height:100%;width:0;background:var(--lv);border-radius:8px;transition:width .4s}
.bar.thin{height:5px;margin:4px 0 10px}
.head{margin-bottom:12px}
.streak{background:var(--warm);color:var(--gold);font-weight:bold;border-radius:12px;padding:6px 10px;font-size:14px;white-space:nowrap}
.continue{display:flex;align-items:center;gap:12px;background:var(--accent);color:#fff;border-radius:var(--radius);padding:14px 16px;margin-bottom:14px;text-decoration:none}
.continue .num{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.18);display:grid;place-items:center;font-weight:bold;font-size:18px;flex:none}
.continue small{display:block;opacity:.85;font-size:13px}
.continue b{display:block;font-size:17px;margin:2px 0}
.plan{list-style:none;padding:0;margin:0 0 14px}
.plan li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.plan li:last-child{border:0}
.chk{width:24px;height:24px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;flex:none;color:#fff}
.chk svg{width:15px;height:15px}
.plan li.done .chk{background:var(--accent);border-color:var(--accent)}
.plan li.done{color:var(--muted)}
.ok-note{background:var(--soft);color:var(--accent);border-radius:12px;padding:10px 12px;font-weight:bold;margin:0 0 12px;text-align:center}
.levels-mini{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px}
.levels-mini a{text-align:center;border-radius:10px;background:var(--soft);padding:8px 2px;text-decoration:none;color:var(--ink);font-size:13px}
.levels-mini b{color:var(--lv)}

/* Dialog list */
.levels{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}
.lv{border:2px solid transparent;background:var(--paper);border-radius:14px;padding:10px 6px;text-align:center;text-decoration:none;color:var(--ink)}
.lv b{display:block;font-size:19px;color:var(--lv)}
.lv small{font-size:12px;color:var(--muted)}
.lv .bar{height:5px;margin-top:6px}
.lv[aria-current]{border-color:var(--lv)}
.block{margin-bottom:18px}
.block h2{font-size:13px;margin:0;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.dlg{display:flex;align-items:center;gap:12px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:8px;text-decoration:none;color:var(--ink);scroll-margin-top:80px}
.dlg .n{width:36px;height:36px;border-radius:10px;background:var(--soft);display:grid;place-items:center;font-weight:bold;color:var(--lv);flex:none;font-size:14px}
.dlg .t{flex:1;font-size:15px}
.dlg .t small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.dlg .st{flex:none;color:var(--line);font-size:18px}
.dlg.done .n{background:var(--lv);color:#fff}
.dlg.done .st{color:var(--lv)}
.dlg.cur{border-color:var(--lv);box-shadow:0 0 0 2px var(--soft)}
.dlg.cur .st{color:var(--lv)}

/* Lesson */
.lesson-head{margin-bottom:6px}
.lesson-head .muted{color:var(--lv);font-weight:bold;font-size:13px;text-transform:uppercase}
.title-ar{font-size:26px;color:var(--lv)}
.steps{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;background:#e3ebe6;border-radius:14px;padding:4px;margin:8px 0 16px}
.steps a{display:flex;align-items:center;justify-content:center;min-height:42px;padding:0 2px;font-size:14px;color:var(--muted);text-decoration:none;border-radius:11px;text-align:center}
.steps a.on{background:var(--paper);color:var(--accent);font-weight:bold;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.toggle{display:flex;gap:6px;margin-bottom:12px}
.toggle button{flex:1;border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:9px 4px;font-size:14px;cursor:pointer;color:var(--ink);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.toggle button.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.bubble{border-radius:16px;padding:8px 14px;margin-bottom:10px;max-width:92%}
.bubble.a{background:var(--paper);border:1px solid var(--line);margin-left:auto}
.bubble.b{background:var(--soft);margin-right:auto}
.bubble .sp{display:block;font-size:18px;color:var(--gold);font-weight:700;text-align:right}
.line{font-size:var(--ar-size);line-height:1.95;margin:0;text-align:right}
.tr{font-size:15px;color:var(--muted);border-top:1px dashed var(--line);margin:4px 0 2px;padding-top:4px}
.no-tr .tr{display:none}
.kk-only .ar{display:none}
.kk-only .tr{border-top:0;margin:2px 0;padding-top:0;font-size:17px;color:var(--ink)}
.speak .other{opacity:.55}
.speak .mine{border:2px solid var(--accent)}
.voc{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
.voc:last-child{border:0}
.voc .ar{font-size:calc(var(--ar-size) - 3px);line-height:1.8;min-width:110px;text-align:right}
.voc .kk{flex:1;font-size:15px}
.say{border:0;background:var(--soft);color:var(--accent);border-radius:10px;width:40px;height:40px;display:grid;place-items:center;cursor:pointer;flex:none}
.added{font-size:11px;background:var(--warm);color:var(--gold);border-radius:8px;padding:3px 8px;font-weight:bold}
.grammar{font-size:16px;line-height:1.9}
.grammar .ar{font-size:24px}
fieldset.card{border:1px solid var(--line)}
legend{font-size:16px;line-height:1.5;padding:0 4px;float:left;width:100%;margin-bottom:8px}
legend+*{clear:both}
.opt{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:8px;cursor:pointer;min-height:48px}
.opt input{width:20px;height:20px;accent-color:var(--accent);flex:none}
.opt .ar{font-size:24px;line-height:1.6}
.opt:has(input:checked){border-color:var(--accent);background:var(--soft)}
.chips{display:flex;flex-wrap:wrap;gap:8px;direction:rtl}
.chip{border:1px solid var(--line);background:var(--soft);border-radius:12px;padding:4px 16px;font-size:24px;cursor:pointer;color:var(--ink)}
.chip[disabled]{opacity:.3}
.built{min-height:52px;font-size:26px;border-bottom:2px dashed var(--line);margin:10px 0}
.order-input{width:100%;font-size:22px;border:1px solid var(--line);border-radius:10px;padding:6px 10px}
.js .order-input{display:none}
.link{border:0;background:none;color:var(--accent);text-decoration:underline;padding:6px 0;cursor:pointer;font-size:14px}
.q-result{border-left:4px solid var(--line);padding:2px 12px;margin-bottom:12px}
.q-result p{margin:4px 0}
.q-result .ar{font-size:22px}
.q-result.ok{border-color:var(--accent)}
.q-result.bad{border-color:var(--bad)}
.q-result .mark{font-weight:bold}
.q-result.ok .mark{color:var(--accent)}.q-result.bad .mark{color:var(--bad)}
.step-nav{display:flex;gap:8px;margin-top:14px}
.step-nav>*{flex:1}
.check-note{font-size:12px;color:var(--muted);margin-top:16px}

/* Player */
.player{position:fixed;left:50%;transform:translateX(-50%);width:min(620px,calc(100% - 20px));bottom:calc(66px + env(safe-area-inset-bottom));z-index:6;background:var(--ink);color:#fff;border-radius:16px;padding:9px 12px;display:flex;align-items:center;gap:10px;box-shadow:0 6px 20px rgba(0,0,0,.2)}
.player button{border:0;border-radius:10px;background:rgba(255,255,255,.13);color:#fff;height:40px;min-width:40px;font-size:16px;cursor:pointer;padding:0 8px}
.player .play{background:var(--gold);min-width:48px;height:48px;border-radius:50%;display:grid;place-items:center}
.player .play svg{width:20px;height:20px}
.player [aria-pressed=true]{background:var(--gold)}
.pbar{flex:1;height:6px;background:rgba(255,255,255,.2);border-radius:6px;overflow:hidden;cursor:pointer}
.pbar i{display:block;height:100%;width:0;background:var(--gold)}

/* Results, login */
.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.stats .card{margin:0;text-align:center;font-size:14px;color:var(--muted)}
.stats b{display:block;font-size:26px;color:var(--accent)}
.lvrow{margin-bottom:12px}
.lvrow b{color:var(--lv)}
.test-row{font-size:14px;padding:6px 0;border-bottom:1px solid var(--line)}
.logout{margin-top:16px}
.profile{display:flex;align-items:center;gap:14px}
.profile h1{margin:0}
.avatar{flex:none;width:56px;height:56px;border-radius:50%;background:var(--soft);color:var(--accent);display:grid;place-items:center;font-size:24px;font-weight:700}
.results-title{margin:20px 0 0}
.login{max-width:380px;margin:0 auto;padding:48px 16px;text-align:center}
.login-logo{border-radius:20px;margin-bottom:12px}
.login form{text-align:left;margin-top:20px}
.login label{display:block;font-weight:bold;margin-bottom:6px}
.login input{width:100%;font-size:18px;padding:12px;border:1px solid var(--line);border-radius:12px;margin-bottom:12px}
.error{color:var(--bad);margin:0 0 12px}

/* Install banner (pwa.js) */
.install-banner{position:fixed;left:10px;right:10px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:9;display:flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:10px 12px;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.install-banner img{border-radius:10px}
.install-banner p{flex:1;margin:0;font-size:14px}
.install-action{border:0;background:var(--accent);color:#fff;border-radius:10px;padding:10px 12px;font-weight:bold;cursor:pointer}
.install-close{border:0;background:none;font-size:22px;color:var(--muted);cursor:pointer;width:36px;height:36px}
@media (min-width:900px){.page{padding-top:24px}}
legend .ar,.q-result p .ar{font-size:22px;line-height:1.6}

/* Repetition */
nav.bottom{grid-template-columns:repeat(4,1fr)}
nav.bottom a{position:relative}
.badge{position:absolute;top:2px;left:calc(50% + 6px);min-width:18px;height:18px;border-radius:9px;background:var(--gold);color:#fff;font-size:11px;line-height:18px;padding:0 5px;text-align:center}
.plan-review{display:flex;align-items:center;gap:10px;padding:10px 12px;margin:0 0 6px;border-radius:12px;background:var(--warm);color:var(--ink);text-decoration:none}
.plan-review small{display:block;color:var(--muted);font-size:13px}
.plan-review.done{background:var(--soft)}
.plan-review.done .chk{background:var(--accent);border-color:var(--accent)}
.head+.bar{margin-bottom:14px}
.flash{text-align:center;padding:20px 16px}
.flash .src{font-size:12px;margin-bottom:12px}
.front-ar{font-size:calc(var(--ar-size) + 13px);line-height:1.8;margin:6px 0}
.front-ar.is-line{font-size:calc(var(--ar-size) + 1px)}
.front-kk{font-size:21px;font-weight:bold;margin:8px 0 14px}
.back-kk{font-size:19px;margin:12px 0}
.js .back{display:none}
.js .back.open{display:block}
.reveal{margin-top:14px}
.flash .say{margin:4px auto}
.grades{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px;margin-top:10px}
.grades button{border:0;border-radius:12px;min-height:48px;font-weight:bold;font-size:15px;color:#fff;cursor:pointer}
.g0{background:var(--bad)}.g1{background:var(--gold)}.g2{background:var(--accent)}
.choices{display:grid;gap:8px}
.choices .opt{justify-content:center;font-size:26px;background:var(--paper);color:var(--ink);font-family:Amiri,serif}
.miss-note{background:#fbe9e5;color:var(--bad);border-radius:12px;padding:8px 12px}
.miss-note .ar{font-size:22px}
.center{text-align:center}
.done-card{text-align:center}
[hidden]{display:none!important}

/* Disputed places */
.issues-link{display:block;text-decoration:none;color:var(--ink)}
.issues-link b{display:block;margin-bottom:2px}
.issue h2{font-size:17px;margin:2px 0 10px}
.issue-no{font-size:12px}
.issue.answered{border-color:var(--accent)}
.issue-img img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:10px;margin-bottom:8px}
.issue p .ar{font-size:21px}
.issue-form .opt span{font-size:15px}
.rec{font-style:normal;font-size:11px;font-weight:bold;background:var(--warm);color:var(--gold);border-radius:6px;padding:2px 6px;white-space:nowrap}
.comment-label{display:block;font-size:13px;color:var(--muted);margin:6px 0 4px}
.issue-form textarea{width:100%;font:15px Arial,sans-serif;border:1px solid var(--line);border-radius:10px;padding:8px;margin-bottom:10px}
.issue-form .ok-note{margin:10px 0 0}
.bell{width:38px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--paper);display:grid;place-items:center;text-decoration:none}
.bell svg{width:22px;height:22px}
.bell.on{color:var(--accent);background:var(--soft)}
.bell.off{color:var(--muted)}
.bell{position:relative}
.bell-dot{position:absolute;top:5px;right:6px;width:9px;height:9px;border-radius:50%;background:var(--bad);border:2px solid var(--paper)}
.notices{display:grid;gap:0;padding:0;overflow:hidden}
.notice{display:grid;gap:2px;padding:12px 16px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.notice:last-child{border-bottom:0}
.notice:hover{background:var(--soft)}
.notice-time{font-size:12px;color:var(--muted)}
.notices-empty{margin:0 0 16px}
.lv.locked{opacity:.55}
.lv b svg,.levels-mini svg{width:13px;height:13px;vertical-align:-1px}
.locked-level{text-align:center;padding:28px 18px}
.locked-level>svg{width:38px;height:38px;color:var(--muted)}
.locked-level h2{margin:8px 0 6px}

/* ===== Әліпби ===== */
.mt{margin-top:8px}
.logo-mark{width:34px;height:34px;border-radius:9px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:20px;line-height:1}
.nav-ar{font-size:22px;line-height:22px;height:22px}
.login-mark{width:88px;height:88px;margin:0 auto 12px;border-radius:20px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:46px}
.list{margin-top:14px}
.dlg.locked{opacity:.55}
.dlg .lchars{font-size:22px;color:var(--accent);flex:none}
.dlg.done .n{background:var(--accent);color:#fff}
.dlg.done .st,.dlg.cur .st{color:var(--accent)}
.dlg .st svg{width:18px;height:18px}
.dlg.cur{border-color:var(--accent)}
.intro{margin:0 0 12px}
.rule p{margin:0 0 6px}
.rule .ar{font-size:24px}
.ex-row{display:flex;flex-wrap:wrap;gap:8px;direction:rtl;margin-top:10px}
.ex{min-width:70px;flex:1;max-width:120px;text-align:center;background:var(--soft);border-radius:12px;padding:4px 6px 8px}
.ex .ar{display:block;font-size:calc(var(--ar-size) + 12px);line-height:1.7}
.ex small{color:var(--muted);font-size:16px;font-weight:normal}

/* Letter card and writing pad */
.letter-head{display:flex;align-items:center;gap:14px;margin-bottom:10px}
.letter-head h2{margin:0;font-size:20px}
.letter-big{width:60px;height:60px;border-radius:14px;background:var(--soft);color:var(--accent);display:grid;place-items:center;font-size:40px;line-height:1;flex:none}
.warn{color:var(--bad)}
.pad{position:relative;background:#fffdf6;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.pad-svg{display:block;width:100%;height:auto;max-height:300px}
.pad-line{stroke:#fbe36b;stroke-width:4;stroke-linecap:round}
.pad-guide{fill:none;stroke:#e6ece8;stroke-width:11;stroke-linecap:round;stroke-linejoin:round}
.pad-guide-dot{fill:#e6ece8}
.pad-ink{fill:none;stroke:var(--accent);stroke-width:11;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.pad-dot{fill:var(--accent)}
.pad-tip{fill:var(--gold)}
.pad-guide-text,.pad-ink-text{font-family:Amiri,serif;font-size:96px}
.pad-guide-text{fill:#e6ece8}
.pad-ink-text{fill:var(--accent)}
.pad-form{position:absolute;left:10px;top:8px;font-size:13px;font-weight:bold;color:var(--gold)}
.pad-play{position:absolute;right:8px;bottom:8px;border:0;border-radius:10px;width:40px;height:40px;background:var(--soft);color:var(--accent);display:grid;place-items:center;cursor:pointer}
.how{font-size:15px;margin:10px 0 4px}
.forms{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px;direction:rtl}
.form-btn{border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:4px 2px 6px;cursor:pointer;color:var(--ink);min-width:0;direction:ltr}
.form-btn .ar{display:block;font-size:calc(var(--ar-size) + 6px);line-height:1.6}
.form-btn small{display:block;font-size:11px;color:var(--muted);line-height:1.2}
.form-btn.on{border-color:var(--accent);background:var(--soft)}
.form-btn.on small{color:var(--accent);font-weight:bold}
.sub{font-size:14px;color:var(--muted);margin:14px 0 6px}
.in-words{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;direction:rtl}
.in-word{text-align:center;border-radius:12px;background:var(--soft);padding:4px 2px 6px;direction:ltr}
.in-word small{display:block;font-size:11px;color:var(--muted)}
.hlw{display:block;font-size:calc(var(--ar-size) + 6px);line-height:1.7}
.hl{color:#e2246a}
@media (max-width:380px){.form-btn small,.in-word small{font-size:10px}}

/* Reading */
.intro-read{margin:0 0 10px}
.syl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));grid-auto-flow:dense;gap:8px;direction:rtl}
.syl-2{grid-column:span 2}
.syl-full{grid-column:1/-1}
.syl.ayah .ar{white-space:normal;line-height:2.1;padding:4px 6px}
.syl{border:1px solid var(--line);background:var(--paper);border-radius:14px;padding:2px 4px 6px;cursor:pointer;color:var(--ink);min-height:84px}
.syl{min-width:0;overflow:hidden}
.syl .ar{display:block;font-size:calc(var(--ar-size) + 13px);line-height:1.7;white-space:nowrap}
.syl small{display:block;font-size:17px;font-weight:normal;color:var(--accent);visibility:hidden}
.syl.open{background:var(--soft);border-color:var(--accent)}
.syl.open small{visibility:visible}
html:not(.js) .syl small{visibility:visible}

/* Test */
.q-show{font-size:calc(var(--ar-size) + 22px);line-height:1.6;text-align:center;background:var(--soft);border-radius:12px;margin-bottom:10px}
.q-show-sm{font-size:24px}
.opts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:0 8px}
.opt span{font-size:17px}
.result h2{font-size:20px}
.result .ok-note,.result .miss-note{margin:0 0 14px}

/* All letters */
.abc{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:14px 0;direction:rtl}
.abc-cell{background:var(--paper);border:1px solid var(--line);border-radius:12px;text-align:center;text-decoration:none;color:var(--ink);padding:2px 2px 6px}
.abc-cell .ar{display:block;font-size:34px;line-height:1.6}
.abc-cell small{font-size:11px;color:var(--muted)}
.abc-cell.learned{background:var(--soft)}
.abc-cell.learned .ar{color:var(--accent)}
.abc-cell.on{border-color:var(--gold);box-shadow:0 0 0 2px var(--warm)}
#card{scroll-margin-top:70px}
.res-show{font-size:calc(var(--ar-size) + 14px);margin:4px 0 6px}
.ans-line{margin:4px 0}
.ans-ar{font-size:24px}
.ans-line.right{color:var(--accent)}
.q-result.ok .mark{color:var(--accent)}
.q-result.bad .mark{color:var(--bad)}
.login .pin{font-size:28px;letter-spacing:.5em;text-align:center}
.offline{max-width:420px;margin:0 auto;padding:64px 16px;text-align:center}
.offline h1{font-size:24px;margin:0 0 12px}
.offline p{color:var(--muted);line-height:1.5}
.admin-title{display:flex;align-items:baseline;gap:8px;margin:4px 0 12px}
.admin-title small{font-size:16px;font-weight:normal}
.admin-ok{color:var(--accent);font-weight:bold;margin:0 0 10px}
.admin-list{padding:4px 16px}
.admin-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.admin-row:last-child{border-bottom:0}
.admin-row .avatar,.admin-flash .avatar{width:44px;height:44px;font-size:20px}
.admin-row .grow{display:flex;flex-direction:column;gap:3px;min-width:0}
.admin-row .grow small{overflow-wrap:anywhere}
.admin-row .pbar{flex:none;margin-top:4px;background:var(--soft);cursor:default}
.admin-count{text-align:right;font-size:14px;white-space:nowrap}
.admin-count b{font-size:20px}
.admin-count small{display:block;color:var(--muted);font-size:12px}
.admin-form{margin-bottom:12px}
.admin-form label{display:block;font-weight:bold;margin-bottom:6px}
.admin-form input{width:100%;font-size:18px;padding:12px;border:1px solid var(--line);border-radius:12px;margin-bottom:12px;background:var(--paper);color:var(--ink)}
.admin-form p{margin:0 0 12px}
.admin-pin{font-size:28px;letter-spacing:4px;color:var(--accent)}
.admin-flash{margin-top:12px}
.admin-flash p{margin:0 0 6px}
.admin-lessons{padding:4px 16px}
.admin-lesson{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.admin-lesson:last-child{border-bottom:0}
.admin-lesson .grow{display:flex;flex-direction:column;gap:2px;min-width:0}
.admin-n{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:bold;background:var(--soft);color:var(--muted)}
.admin-lesson.ok .admin-n{background:var(--accent);color:#fff}
.admin-lesson.go .admin-n{background:var(--warm);color:var(--gold)}
.admin-lesson.no b{color:var(--muted);font-weight:normal}
.admin-test{text-align:right;font-size:14px;white-space:nowrap}
.admin-test small{display:block;color:var(--muted);font-size:12px}
.btn.danger{background:#fbeae6;color:var(--bad)}
nav.bottom{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:1fr}
.install{margin-top:12px}
.install[hidden],.install [hidden]{display:none!important}
.install-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.install-head img{flex:none;border-radius:12px}
.install-head p{margin:2px 0 0;font-size:14px}
.install-steps{margin:0;padding-left:22px;line-height:1.5}
.install-steps li{margin-bottom:8px}
.install-ic{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--soft);color:var(--accent);vertical-align:middle;margin-left:4px}
.install-ic svg{width:18px;height:18px}
.jn{font-weight:900;font-size:1.12em}
.ans-kk{font-size:17px}
/* Қайталау: one question, answers are big buttons */
.rev h2{margin:4px 0 10px}
.rev .src{margin:0;font-size:13px}
.rev-opts{display:grid;gap:8px;margin-top:6px}
.rev-opts .opt{width:100%;justify-content:center;background:var(--paper);color:var(--ink);font:inherit;font-size:18px;text-align:center}
.rev-opts .opt:active{background:var(--soft);border-color:var(--accent)}
.rev .ok-note .ar,.rev .miss-note .ar{font-size:24px}
/* Ескертулер (Профиль) */
.push h2{margin:0 0 4px}
.push .btn{margin-top:10px}
.push-status{font-weight:bold;color:var(--accent);margin:10px 0 0}
.push-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.push-slots{margin-top:14px}
.push-slots p{margin:0}
.slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:6px}
.slots input{width:100%;min-width:0;box-sizing:border-box;font:16px Arial,sans-serif;padding:8px 4px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}
.push .small{font-size:12px;margin:12px 0 0}
