:root{--bg:#EDF3FA;--surface:#FFFFFF;--ink:#12304F;--muted:#5A7290;--accent:#1F6BD1;--accent-ink:#FFFFFF;--soft:#DCE9F8;--line:#C9DAEE;--good:#23876A;--good-soft:#DDF2EA;--bad:#B54848;--bad-soft:#F6E3E3;--gold:#C98A12;--gold-soft:#FBF0DC;color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0D1828;--surface:#14233A;--ink:#E4EDF8;--muted:#92A7C2;--accent:#5C9BEA;--accent-ink:#08172B;--soft:#1B3150;--line:#25405F;--good:#5CC7A2;--good-soft:#15362E;--bad:#E58A8A;--bad-soft:#3A1E22;--gold:#E5B567;--gold-soft:#3A2E17;color-scheme:dark}}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Cairo","Segoe UI",Tahoma,sans-serif;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
.wrap{width:100%;max-width:640px;margin:0 auto;padding:24px 18px 40px;flex:1}
.wrap.wide{max-width:980px}
h1{font-weight:900;font-size:clamp(28px,7vw,38px);line-height:1.25;margin:4px 0 6px}
h2{font-weight:900;font-size:22px;margin:24px 0 10px}
p{margin:0 0 12px}
.muted{color:var(--muted)} .small{font-size:14.5px}
.kicker{font-weight:700;font-size:15px;color:var(--accent);margin:0}
.banner{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:18px;margin:0 0 20px;box-shadow:0 10px 30px rgba(16,41,74,.18)}
.card{background:var(--surface);border:1.5px solid var(--line);border-radius:18px;padding:20px}
label{display:block;font-weight:700;margin:14px 0 6px}
input[type=text],input[type=password],input[type=date]{font:inherit;width:100%;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);padding:11px 14px}
input[readonly]{background:var(--soft)}
input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #4FB3E3;outline-offset:2px}
.btn{display:inline-block;font:inherit;font-weight:700;font-size:17px;cursor:pointer;border:0;border-radius:12px;padding:11px 22px;background:var(--accent);color:var(--accent-ink);text-decoration:none;text-align:center}
.btn.block{display:block;width:100%;margin-top:18px}
.btn.ghost{background:transparent;color:var(--accent);border:1.5px solid var(--line)}
.btn.sm{font-size:14.5px;padding:6px 12px;border-radius:10px}
.btn.danger{background:transparent;color:var(--bad);border:1.5px solid var(--bad-soft)}
.btn.wa{background:#1F8F5F;color:#fff}
.msg{border-radius:12px;padding:10px 14px;margin:0 0 14px;font-weight:700}
.msg.err{background:var(--bad-soft);color:var(--bad)}
.msg.ok{background:var(--good-soft);color:var(--good)}
.top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.lessons{display:grid;gap:14px;margin-top:16px}
.lesson{display:flex;align-items:center;gap:16px;background:var(--surface);border:1.5px solid var(--line);border-radius:18px;padding:16px;color:var(--ink);text-decoration:none}
.lesson:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--soft)}
.lesson .ic{flex:none;width:60px;height:60px;border-radius:16px;background:var(--soft);display:grid;place-items:center;font-size:30px}
.lesson b{display:block;font-size:20px}
.lesson span{display:block;color:var(--muted);font-size:15.5px;line-height:1.6}
.lesson .go{margin-inline-start:auto;font-weight:900;color:var(--accent);font-size:22px}
.foot{display:flex;justify-content:space-between;gap:10px;max-width:980px;width:100%;margin:0 auto;padding:14px 18px 22px;color:var(--muted);font-size:13px;font-weight:700}
.foot small{font-weight:500}
table{width:100%;border-collapse:collapse;font-size:15px}
th,td{text-align:start;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
th{color:var(--muted);font-size:13.5px}
.tblwrap{overflow-x:auto;background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:6px 10px}
.badge{display:inline-block;border-radius:999px;padding:1px 10px;font-size:13px;font-weight:700}
.badge.on{background:var(--good-soft);color:var(--good)} .badge.off{background:var(--bad-soft);color:var(--bad)}
.inline{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.inline input[type=date]{width:auto;padding:5px 8px;font-size:14px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
@media (max-width:560px){.grid2{grid-template-columns:1fr}}
.copybox{white-space:pre-wrap;background:var(--soft);border-radius:12px;padding:12px 14px;font-weight:500;margin:10px 0}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
code{direction:ltr;unicode-bidi:embed}
.dlbtn{display:block;width:100%;margin-top:22px;font:inherit;font-weight:700;cursor:pointer;text-align:center;border:1.5px dashed var(--accent);color:var(--accent);background:var(--soft);border-radius:12px;padding:11px}
.dlbtn[hidden]{display:none}
.wasm{display:block;text-align:center;margin-top:12px;color:#1F8F5F;font-weight:700;text-decoration:none}
.sheetbg{position:fixed;inset:0;z-index:60;background:rgba(10,20,35,.45);display:flex;align-items:flex-end;justify-content:center}
.sheetbg[hidden]{display:none}
.sheet{width:100%;max-width:520px;background:var(--surface);border-radius:24px 24px 0 0;padding:20px 20px calc(22px + env(safe-area-inset-bottom,0px));text-align:center}
.sheet img{width:72px;height:72px;border-radius:16px;display:block;margin:0 auto 6px}
.sheet h2{margin:0 0 6px}
.step{display:flex;gap:10px;align-items:center;background:var(--bg);border-radius:12px;padding:10px 12px;margin-top:10px;font-weight:700;font-size:15px;text-align:start}
.step .n{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;flex:none}
.btn.wa.block{margin-top:12px}
.intro{display:flex;flex-direction:column;align-items:center;gap:18px;padding-top:6px}
.vwrap{position:relative;width:100%;max-width:420px;aspect-ratio:9/16;max-height:78vh;border-radius:22px;overflow:hidden;background:#0B0D10;box-shadow:0 18px 40px rgba(16,41,74,.25)}
.vwrap video{width:100%;height:100%;object-fit:cover;display:block}
.vplay{position:absolute;left:50%;top:50%;width:92px;height:92px;margin:-46px 0 0 -46px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#1F5FAF;font-size:36px;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.35);padding-left:6px}
.vplay[hidden]{display:none}
.btn.big{font-size:20px;padding:15px 22px;max-width:420px}
.courses{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin:4px 0 6px}.courses .course{width:min(240px,46%)}
.course{position:relative;display:block;border-radius:20px;overflow:hidden;box-shadow:0 10px 26px rgba(16,41,74,.22)}
.course img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.course .lock{position:absolute;top:10px;left:10px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;font-size:20px}
.chead{display:flex;align-items:center;gap:12px;margin:6px 0 14px}
.chead img{width:64px;height:64px;border-radius:16px}
.chead b{font-size:22px;font-weight:900}
.lesson .num{display:block;font-size:13px;color:var(--accent);font-weight:700}
.lesson.locked{opacity:.6;cursor:not-allowed}
.lesson.locked:hover{border-color:var(--line);box-shadow:none}

.banner.wide{aspect-ratio:3/1;margin:0 0 16px;width:100%;max-width:640px}
.intro .banner.wide{margin:0}
.glowbg{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(60% 45% at 50% 55%,rgba(31,107,209,.22),transparent 70%),radial-gradient(40% 30% at 85% 15%,rgba(25,230,255,.16),transparent 70%),radial-gradient(40% 30% at 10% 90%,rgba(31,107,209,.14),transparent 70%)}
.pick{text-align:center;font-weight:900;font-size:22px;margin:4px 0 14px}
.reg{text-align:center;font-weight:700;color:var(--muted);margin:22px 0 -4px}
.dlbtn{margin-top:18px}
.intro .vwrap{width:auto;height:min(58vh,calc((100vw - 36px) * 16 / 9),746px);max-height:none;aspect-ratio:9/16}

.dlnote{text-align:center;margin:6px 0 0}
#shSam .btn.block{margin-top:10px}

.intro .vwrap{height:min(50vh,calc((100vw - 36px) * 16 / 9),700px)}
.intro{padding-bottom:110px}
.bannerlink{display:block;width:100%}
.enterbar{position:fixed;left:0;right:0;bottom:0;z-index:100;padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px));background:linear-gradient(rgba(237,243,250,0),rgba(237,243,250,.96) 35%)}
.enterbar .btn.big{display:block;max-width:420px;margin:0 auto;position:relative;z-index:101;touch-action:manipulation}

.notes{background:#fff;border:1px solid var(--line);border-radius:18px;margin:0 0 16px;overflow:hidden}
.notes .nhead{width:100%;text-align:start;background:none;border:0;font:inherit;font-weight:800;font-size:17px;padding:14px 16px;cursor:pointer;color:inherit;display:flex;justify-content:space-between}
.notes .nbody{padding:0 16px 14px}
.notes .nbody p{margin:6px 0;line-height:1.7}
.notes .nbody[hidden]{display:none}

.notes .goal{background:#EEF5FF;border-radius:12px;padding:10px 12px;margin:2px 0 10px}

.notespage{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px 20px;line-height:1.85}
.notespage p{margin:8px 0}
.notespage .goal{background:#EEF5FF;border-radius:14px;padding:12px 14px;margin:14px 0}
.notespage .nlist{padding-inline-start:20px;margin:10px 0}
.notespage .nlist li{margin:8px 0}
.notespage .closing{text-align:center;font-size:18px;margin:18px 0 6px;color:var(--accent)}
