:root{--bg: #f7f7f5;--fg: #1d1d1b;--muted: #6b6b66;--accent: #2f6f4f;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--fg);background:var(--bg)}@media (prefers-color-scheme: dark){:root{--bg: #161615;--fg: #ececea;--muted: #9a9a94;--accent: #6fbf94}}body{margin:0}.page{max-width:640px;margin:0 auto;padding:32px 16px}.primary{font-size:1.1rem;padding:14px 24px;border:0;border-radius:10px;background:var(--accent);color:#fff;cursor:pointer}.primary:disabled{opacity:.5;cursor:default}.muted{color:var(--muted)}:root{--line: #d9d9d4;--card: #ffffff;--error: #b3261e}@media (prefers-color-scheme: dark){:root{--line: #33332f;--card: #1f1f1d;--error: #f2a29b}}h1{margin:0 0 16px}h2{font-size:1.1rem;margin:0 0 12px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin:0 0 16px;display:flex;flex-direction:column;gap:12px}label{display:flex;flex-direction:column;gap:4px;font-size:.95rem}label.check{flex-direction:row;align-items:center;gap:8px}input{font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg);min-height:24px}input:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.error{color:var(--error);margin:0}.tabs{display:flex;gap:8px}.tabs button,.profiles button{font:inherit;padding:10px 14px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--fg);cursor:pointer}.tabs button.on,.profiles button.on{border-color:var(--accent);color:var(--accent);font-weight:600}.profiles{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.bar{display:flex;justify-content:space-between;align-items:center;margin:0 0 16px}.link{font:inherit;background:none;border:0;color:var(--accent);cursor:pointer;padding:8px}.inline{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.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 12px;border-radius:8px;border:1px solid var(--line)}.skill.good strong{color:var(--accent)}.skill.practice strong{color:#a86b00}.skill.start strong{color:var(--error)}@media (prefers-color-scheme: dark){.skill.practice strong{color:#e0b05a}}.question{font-size:1.25rem;margin:0;line-height:1.6}.prompt{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.prompt blockquote{margin:0;padding:12px;border-inline-start:3px solid var(--accent);background:var(--bg);border-start-end-radius:8px;border-end-end-radius:8px}.question-form{display:flex;flex-direction:column;gap:14px}.choices{display:flex;flex-wrap:wrap;gap:8px}.choices button{font:inherit;font-size:1.05rem;padding:12px 16px;min-width:48px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--fg);cursor:pointer}.choices button.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);font-weight:600}.pairs{display:flex;flex-direction:column;gap:8px}.pair{flex-direction:row;justify-content:space-between;align-items:center;gap:12px}select{font:inherit;padding:8px 10px;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--fg)}.gap-text select{margin:0 4px}.built{font-size:1.15rem;min-height:1.6em;padding:10px 12px;border:1px dashed var(--line);border-radius:8px;margin:0}.verdict.correct{border-color:var(--accent)}.verdict.incorrect{border-color:#a86b00}.verdict h2{margin:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.choices label.check{font-size:1.05rem;padding:12px 16px;border-radius:10px;border:1px solid var(--line);background:var(--bg);cursor:pointer}.choices label.check:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.choices label.check input{width:20px;height:20px;margin:0;accent-color:var(--accent)}.primary.big{width:100%;font-size:1.2rem;padding:18px 24px}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.done{color:var(--accent);font-weight:600}.lesson-meta{display:flex;justify-content:space-between;align-items:center;margin:0}.tag{font-size:.85rem;padding:2px 10px;border-radius:999px;border:1px solid var(--line)}.tag.new{border-color:var(--accent);color:var(--accent)}progress{width:100%;height:6px;accent-color:var(--accent)}h3{font-size:1rem;margin:0}.nav{display:flex;flex-wrap:wrap;gap:2px}.nav .link.on{font-weight:700;text-decoration:underline;text-underline-offset:4px}.row{display:flex;flex-wrap:wrap;gap:12px}.row>label{flex:1 1 180px}fieldset.langs{border:1px solid var(--line);border-radius:10px;padding:8px 12px 12px;margin:0}fieldset.langs legend{padding:0 6px;font-weight:600}.subject-progress{display:flex;flex-direction:column;gap:8px;padding:12px 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:#d49a2a}.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:#d49a2a}.legend .start .dot{background:var(--error)}.legend .unknown .dot{background:var(--line);border:1px solid var(--muted)}.skill.unknown strong{color:var(--muted);font-weight:400}h4{font-size:.95rem;margin:0 0 6px}.problems{border-inline-start:3px solid var(--error);padding-block:4px;padding-inline:12px 0}.problems ul{margin:0;padding-inline-start:18px}.skills small.review{display:block;font-size:.85rem}.candidates{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.candidate{border:1px solid var(--line);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:6px}.candidate p{margin:0}.checks{list-style:none;padding:0;margin:0;font-size:.9rem}.checks .ok{color:var(--accent)}.checks .warn{color:#d49a2a}.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}}.link-code{font-size:2rem;font-weight:700;letter-spacing:.25em;margin:8px 0;font-family:ui-monospace,monospace}[dir=rtl] body{font-family:Segoe UI,Tahoma,Noto Naskh Arabic,system-ui,sans-serif}.subject-picker{display:flex;flex-direction:column;gap:10px}.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:1px solid var(--line);border-radius:10px;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)}.install{font-weight:600}.kid-home{text-align:center}.kid-play{font-size:2rem;padding:28px 40px;border-radius:24px;min-width:60%}.kid-big{font-size:2.2rem;margin:16px 0}.kid-praise{animation:kid-pop .4s ease-out}@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:none;cursor:pointer;padding:4px 8px}.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:20px;border:2px solid var(--line, #ccc);background:var(--card, #fff);cursor:pointer;overflow-wrap:anywhere;line-height:1.2}.kid-options button:active{transform:scale(.96)}.skill.rel-practice strong{color:#b45309}.skill.rel-ahead strong,.skill.rel-on_track strong{color:#15803d}
