:root{--bg: #f5f4ef;--card: #ffffff;--fg: #1e2421;--muted: #6b736e;--line: #e6e3da;--soft: #eef3ef;--accent: #2e7d5b;--accent-fg: #ffffff;--accent-soft: #e3f1e9;--warm: #f2a33a;--warn: #b7791f;--error: #c0392b;--shadow: 0 1px 2px rgb(30 36 33 / .06), 0 4px 16px rgb(30 36 33 / .06);--radius: 18px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;color:var(--fg);background:var(--bg);-webkit-tap-highlight-color:transparent}@media (prefers-color-scheme: dark){:root{--bg: #111513;--card: #1a1f1c;--fg: #e7ece8;--muted: #9aa39e;--line: #2a312d;--soft: #202723;--accent: #5cc092;--accent-fg: #0d1a13;--accent-soft: #1d3329;--warm: #f0b25a;--warn: #e0b05a;--error: #f08a7e;--shadow: 0 1px 2px rgb(0 0 0 / .4)}}*{box-sizing:border-box}body{margin:0;background:var(--bg)}.page{max-width:680px;margin:0 auto;padding:12px 16px 32px}h1{font-size:1.6rem;margin:0;line-height:1.2}h2{font-size:1.15rem;margin:0;line-height:1.3}h3{font-size:1rem;margin:0}h4{font-size:.95rem;margin:0 0 6px}p{margin:0}.muted{color:var(--muted)}.small{font-size:.88rem}.error{color:var(--error);margin:0}.done{color:var(--accent);font-weight:600}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}button{font:inherit}.primary,.secondary{font-size:1.02rem;font-weight:600;padding:12px 20px;min-height:46px;border-radius:14px;cursor:pointer;transition:transform .06s ease,filter .15s ease}.primary{border:0;background:var(--accent);color:var(--accent-fg)}.secondary{border:1.5px solid var(--line);background:var(--card);color:var(--fg)}.primary:hover:not(:disabled){filter:brightness(1.06)}.primary:active,.secondary:active{transform:scale(.98)}.primary:disabled{opacity:.5;cursor:default}.primary.big{width:100%;font-size:1.15rem;padding:16px 24px}.link{background:none;border:0;color:var(--accent);cursor:pointer;padding:8px 4px;font-weight:500}.back{background:none;border:0;color:var(--muted);cursor:pointer;padding:4px 0;align-self:flex-start}input:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}label{display:flex;flex-direction:column;gap:6px;font-size:.95rem}label.check{flex-direction:row;align-items:center;gap:10px}input,select{font:inherit;padding:11px 12px;border:1.5px solid var(--line);border-radius:12px;background:var(--bg);color:var(--fg);min-height:46px}input[type=checkbox]{min-height:0;width:20px;height:20px;accent-color:var(--accent)}.row{display:flex;flex-wrap:wrap;gap:12px}.row>label{flex:1 1 180px}.inline,.actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.question-form,.switch-form{display:flex;flex-direction:column;gap:14px}.tabs{display:flex;gap:6px;padding:4px;background:var(--soft);border-radius:14px}.tabs button{flex:1;padding:10px;border:0;border-radius:10px;background:none;color:var(--muted);cursor:pointer;font-weight:600}.tabs button.on{background:var(--card);color:var(--fg);box-shadow:var(--shadow)}.bar{display:flex;justify-content:space-between;align-items:center;gap:12px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;margin:0 0 14px;display:flex;flex-direction:column;gap:14px}.note{background:var(--accent-soft);border-radius:12px;padding:10px 14px}.shell.with-tabs{padding-bottom:84px}.topbar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;margin-bottom:8px;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:1.1rem;letter-spacing:-.01em}.brand-mark{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--accent);color:var(--accent-fg);font-size:1rem}.profile-chip{display:flex;align-items:center;gap:8px;max-width:60%;padding:4px 12px 4px 4px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--fg);cursor:pointer;box-shadow:var(--shadow)}.chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.avatar{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:var(--accent-soft);color:var(--accent)}.avatar.child{background:color-mix(in srgb,var(--warm) 22%,transparent);color:var(--warn)}.sheet{animation:drop .15s ease-out}@keyframes drop{0%{opacity:0;transform:translateY(-6px)}}.people{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.people button{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:var(--bg);color:var(--fg);cursor:pointer;text-align:start;font-weight:600}.people button .small{margin-inline-start:auto;font-weight:400}.tabbar{position:fixed;inset-inline:0;bottom:0;z-index:5;display:flex;justify-content:center;gap:4px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--line)}.tabbar button{flex:1;max-width:140px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;border:0;border-radius:12px;background:none;color:var(--muted);cursor:pointer;font-size:.78rem;font-weight:600}.tabbar svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tabbar button.on{color:var(--accent);background:var(--accent-soft)}.hello{display:flex;flex-direction:column;gap:6px;margin:8px 2px 18px}.subject-grid{list-style:none;padding:0;margin:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.subject-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;display:flex;flex-direction:column;gap:14px;border-top:4px solid var(--accent)}.subject-card.st-check{border-top-color:var(--warm)}.subject-card.st-done{border-top-color:var(--line)}.subject-head{display:flex;align-items:center;gap:12px}.subject-icon{width:48px;height:48px;flex:none;border-radius:14px;display:grid;place-items:center;font-size:1.6rem;background:var(--soft)}.subject-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.subject-actions .primary,.subject-actions .secondary{flex:1 1 auto}.empty{align-items:center;text-align:center;padding:28px 18px}.empty-icon{font-size:2.4rem}.lesson-meta{display:flex;justify-content:space-between;align-items:center;margin:0}.tag{font-size:.82rem;padding:3px 10px;border-radius:999px;background:var(--soft)}.tag.new{background:var(--accent-soft);color:var(--accent)}progress{width:100%;height:8px;accent-color:var(--accent);border-radius:999px}.question{font-size:1.25rem;margin:0;line-height:1.55}.prompt{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.prompt blockquote{margin:0;padding:12px 14px;border-inline-start:3px solid var(--accent);background:var(--soft);border-radius:0 12px 12px 0}.choices{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;margin:0}.choices legend{padding:0 0 6px}.choices button,.choices label.check{font-size:1.05rem;padding:12px 16px;min-width:48px;border-radius:14px;border:1.5px solid var(--line);background:var(--bg);color:var(--fg);cursor:pointer}.choices button.on,.choices label.check:has(input:checked){border-color:var(--accent);background:var(--accent-soft);font-weight:600}.pairs{display:flex;flex-direction:column;gap:8px}.pair{flex-direction:row;justify-content:space-between;align-items:center;gap:12px}.gap-text select{margin:0 4px;min-height:0;padding:6px 8px}.built{font-size:1.15rem;min-height:1.6em;padding:10px 12px;border:1.5px dashed var(--line);border-radius:12px;margin:0}.verdict{border-top:4px solid var(--line)}.verdict.correct{border-top-color:var(--accent)}.verdict.incorrect{border-top-color:var(--warm)}.subjects,.skills{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.subjects li,.skills li{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.skills li{padding:10px 14px;border-radius:12px;background:var(--bg)}.skill.good strong{color:var(--accent)}.skill.practice strong{color:var(--warn)}.skill.start strong{color:var(--error)}.skill.unknown strong{color:var(--muted);font-weight:400}.skills small.review{display:block;font-size:.85rem}.subject-progress{display:flex;flex-direction:column;gap:10px;padding:14px 0 0;border-top:1px solid var(--line)}.meter{display:flex;height:12px;border-radius:999px;overflow:hidden;background:var(--line);gap:2px}.seg.good{background:var(--accent)}.seg.practice{background:var(--warm)}.seg.start{background:var(--error)}.seg.unknown{background:var(--line)}.legend{list-style:none;display:flex;flex-wrap:wrap;gap:12px;padding:0;margin:0;font-size:.9rem}.legend .dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-inline-end:4px}.legend .good .dot{background:var(--accent)}.legend .practice .dot{background:var(--warm)}.legend .start .dot{background:var(--error)}.legend .unknown .dot{background:var(--line);border:1px solid var(--muted)}.problems{border-inline-start:3px solid var(--warm);padding-block:4px;padding-inline:12px 0}.problems ul{margin:0;padding-inline-start:18px}.plan{display:flex;flex-direction:column;gap:12px}.levels{display:flex;flex-wrap:wrap;gap:10px}.levels>div{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-radius:14px;background:var(--soft);min-width:120px}.levels strong{font-size:1.2rem}.plan-group h4{margin:0 0 4px}.plan-group ol,.plan-group ul{margin:0;padding-inline-start:22px;display:flex;flex-direction:column;gap:4px}.plan-group.now{border-inline-start:3px solid var(--accent);padding-inline-start:10px}.plan-group.done summary{cursor:pointer;color:var(--muted)}fieldset.langs{border:1px solid var(--line);border-radius:14px;padding:12px 14px 14px;margin:0;display:flex;flex-direction:column;gap:12px}fieldset.langs legend{padding:0 6px;font-weight:700}.subject-picker{display:flex;flex-direction:column;gap:10px}.link-code{font-size:2rem;font-weight:700;letter-spacing:.25em;margin:8px 0;font-family:ui-monospace,monospace}.install{font-weight:600}.candidates{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.candidate{border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:6px}.checks{list-style:none;padding:0;margin:0;font-size:.9rem}.checks .ok{color:var(--accent)}.checks .warn{color:var(--warn)}.checks .bad{color:var(--error)}table.jobs{width:100%;border-collapse:collapse;font-size:.9rem}table.jobs th,table.jobs td{text-align:start;padding:6px 4px;border-bottom:1px solid var(--line)}table.jobs td.failed{color:var(--error)}@media (max-width: 520px){table.jobs th:nth-child(6),table.jobs td:nth-child(6){display:none}}[dir=rtl] body{font-family:Segoe UI,Tahoma,Noto Naskh Arabic,system-ui,sans-serif}.kid-home{text-align:center;align-items:center;padding:32px 18px}.kid-play{font-size:2rem;padding:28px 40px;border-radius:28px;min-width:70%;background:var(--warm);color:#3b2300;box-shadow:0 6px color-mix(in srgb,var(--warm) 60%,#000)}.kid-play:active{transform:translateY(3px);box-shadow:0 3px color-mix(in srgb,var(--warm) 60%,#000)}.kid-big{font-size:2.2rem;margin:16px 0}.kid-praise{animation:kid-pop .4s ease-out;text-align:center}@keyframes kid-pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.kid-text{font-size:1.5rem;line-height:1.3}.kid-say{font-size:1.6rem;border:0;background:var(--soft);border-radius:50%;width:48px;height:48px;cursor:pointer}.kid-show{font-size:2.4rem;letter-spacing:.15em;text-align:center;margin:8px 0;overflow-wrap:anywhere}.kid-top{display:flex;justify-content:space-between;align-items:center}.kid-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-top:12px}.kid-options button{font-size:2.6rem;min-height:120px;padding:12px;border-radius:22px;border:2px solid var(--line);background:var(--card);color:var(--fg);cursor:pointer;overflow-wrap:anywhere;line-height:1.2;box-shadow:var(--shadow)}.kid-options button:active{transform:scale(.96)}.skill.rel-practice strong{color:var(--warn)}.skill.rel-ahead strong,.skill.rel-on_track strong{color:var(--accent)}.profile-card{gap:14px}.profile-card>summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none;font-weight:700}.profile-card>summary::-webkit-details-marker{display:none}.profile-card>summary:after{content:"›";margin-inline-start:auto;font-size:1.4rem;color:var(--muted);transition:transform .15s}.profile-card[open]>summary:after{transform:rotate(90deg)}.profile-card .profile-name{font-size:1.05rem}.profile-card .small{font-weight:400}.toast{position:sticky;top:56px;z-index:4;align-self:center;background:var(--accent);color:var(--accent-fg);padding:8px 14px;border-radius:999px;margin:0 0 12px;width:fit-content}.profile-card:not([open]){gap:0}.kid-mascot{font-size:4.5rem;line-height:1;animation:kid-bob 2.4s ease-in-out infinite}@keyframes kid-bob{50%{transform:translateY(-6px)}}@media (prefers-reduced-motion: reduce){.kid-mascot,.sheet,.kid-praise{animation:none}}.kid-home h1{font-size:2rem}.invite{background:linear-gradient(135deg,var(--accent-soft),var(--card) 70%)}.invite-head{display:flex;align-items:center;gap:12px}.invite-icon{width:48px;height:48px;flex:none;border-radius:14px;display:grid;place-items:center;font-size:1.6rem;background:var(--card)}
