.bar.svelte-1qjgclg{height:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:3px;overflow:hidden}.fill.svelte-1qjgclg{height:100%;background:var(--accent)}.home.svelte-et6md{max-width:860px;margin:0 auto}.hero.svelte-et6md h1:where(.svelte-et6md){margin:0 0 8px;font-size:1.8rem}.hero.svelte-et6md p:where(.svelte-et6md){font-family:var(--font-text);color:var(--muted);margin:0 0 18px;max-width:62ch}.cta.svelte-et6md{display:inline-block;padding:8px 16px;background:var(--accent);color:var(--accent-ink);border-radius:var(--radius);text-decoration:none;font-weight:700}.cta.done.svelte-et6md{background:none;color:var(--accent);padding:0}.practise.svelte-et6md{margin:28px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.practise.svelte-et6md a:where(.svelte-et6md){display:grid;grid-template-columns:auto 1fr;gap:0 10px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:inherit;text-decoration:none}.practise.svelte-et6md a:where(.svelte-et6md):hover{background:var(--surface-2)}.practise.svelte-et6md a.hot:where(.svelte-et6md){border-color:var(--accent)}.practise.svelte-et6md .icon:where(.svelte-et6md){grid-row:span 2;color:var(--accent);font-size:1.2rem}.practise.svelte-et6md .name:where(.svelte-et6md){font-weight:700}.practise.svelte-et6md .sub:where(.svelte-et6md){color:var(--muted);font-size:.8rem;font-family:var(--font-text)}.chapters.svelte-et6md{list-style:none;padding:0;margin:32px 0 0;display:grid;gap:18px}.part.svelte-et6md h2:where(.svelte-et6md){margin:10px 0 -6px;font-size:.8rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.chapter.svelte-et6md{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:14px 16px}.ch-head.svelte-et6md{display:flex;align-items:baseline;gap:10px}.ch-head.svelte-et6md h2:where(.svelte-et6md){margin:0;font-size:1.15rem;flex:1}.num.svelte-et6md{color:var(--accent)}.goal.svelte-et6md{font-family:var(--font-text);margin:4px 0 10px;color:var(--muted);font-size:.9rem}.count.svelte-et6md{color:var(--muted);font-size:.8rem;font-variant-numeric:tabular-nums}.status.svelte-et6md{color:var(--muted)}.status.s-started.svelte-et6md{color:var(--warn)}.status.s-done.svelte-et6md{color:var(--accent)}.lessons.svelte-et6md{list-style:none;padding:0;margin:10px 0 0}.lessons.svelte-et6md a:where(.svelte-et6md){display:flex;gap:10px;align-items:baseline;padding:4px 6px;border-radius:4px;color:inherit;text-decoration:none}.lessons.svelte-et6md a:where(.svelte-et6md):hover{background:var(--surface-2)}.round.svelte-et6md .lid:where(.svelte-et6md){color:var(--accent)}.lid.svelte-et6md{color:var(--muted);min-width:2.2em}.ltitle.svelte-et6md{flex:1}footer.svelte-et6md{margin-top:28px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.hint.svelte-et6md{color:var(--muted);font-size:.85rem}.hint.svelte-et6md{font-family:var(--font-text);max-width:62ch}.buttons.svelte-et6md{display:flex;gap:8px}.notice.svelte-et6md{flex-basis:100%;margin:0;font-size:.85rem;color:var(--accent)}.notice.error.svelte-et6md{color:var(--error)}footer.svelte-et6md button.danger:where(.svelte-et6md):hover{border-color:var(--error)}footer.svelte-et6md button:where(.svelte-et6md){background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:4px 12px;font-size:.85rem}.goal-body.svelte-e9n068 .more:where(.svelte-e9n068){color:var(--muted);font-size:.8rem}.goal-body.svelte-e9n068 .more:where(.svelte-e9n068):not(.ln){padding-left:6px;font-family:var(--font-text);align-self:center}.runner.svelte-e9n068{display:grid;gap:14px}.instruction.svelte-e9n068{margin:0;font-size:1.1rem}.prompt.svelte-e9n068{color:var(--accent);margin-right:.4em}.label.svelte-e9n068{color:var(--muted);text-transform:uppercase;font-size:.75rem;letter-spacing:.08em;margin-right:.6em}.hint.svelte-e9n068{color:var(--muted);font-size:.85rem}.stats.svelte-e9n068{display:flex;flex-wrap:wrap;gap:8px 24px}.value.svelte-e9n068{font-weight:600;font-variant-numeric:tabular-nums}.value.over.svelte-e9n068{color:var(--warn)}.mode-normal.svelte-e9n068{color:var(--accent)}.mode-insert.svelte-e9n068{color:var(--info)}.mode-visual.svelte-e9n068,.mode-replace.svelte-e9n068{color:var(--warn)}.instruction.svelte-e9n068 .then:where(.svelte-e9n068){color:var(--muted);margin-left:.3em;white-space:nowrap}.badge.svelte-e9n068{display:inline-block;padding:0 .45em;border-radius:3px;background:var(--accent);color:var(--accent-ink);font-size:.8em;font-weight:700;letter-spacing:.04em}.goal.svelte-e9n068{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.goal-body.svelte-e9n068{display:grid;grid-template-columns:auto 1fr;font-size:18px;line-height:1.6;padding:0}.goal-body.svelte-e9n068 .ln:where(.svelte-e9n068){padding:0 10px 0 14px;text-align:right;color:var(--muted);border-right:1px solid var(--border);-webkit-user-select:none;user-select:none}.goal-body.svelte-e9n068 .pad:where(.svelte-e9n068){height:10px}.goal-body.svelte-e9n068 .code:where(.svelte-e9n068){padding-left:6px;padding-right:12px;white-space:pre-wrap;overflow-wrap:anywhere}.statusline.svelte-e9n068{display:flex;align-items:center;gap:10px;padding:3px 10px;background:var(--surface-2);border-top:1px solid var(--border);font-size:.8rem}.statusline.alone.svelte-e9n068{border-top:none}.statusline.svelte-e9n068 .badge:where(.svelte-e9n068){background:var(--info)}mark.svelte-e9n068{background:var(--target-bg);color:inherit;outline:1px solid var(--info);border-radius:2px}.typed.svelte-e9n068{min-height:1.8em}.keys.svelte-e9n068{display:inline-flex;flex-wrap:wrap;gap:4px}.note.svelte-e9n068,.result.svelte-e9n068 p:where(.svelte-e9n068){margin:0}.note.info.svelte-e9n068{color:var(--info)}.result.svelte-e9n068{display:grid;gap:6px;padding:10px 12px;border-left:3px solid var(--muted);background:var(--surface-2);border-radius:0 var(--radius) var(--radius) 0}.result.svelte-e9n068 .note-line:where(.svelte-e9n068){color:var(--muted)}.result-perfect.svelte-e9n068{border-color:var(--accent)}.result-ok.svelte-e9n068{border-color:var(--info)}.result-slow.svelte-e9n068,.result-skipped.svelte-e9n068{border-color:var(--warn)}.actions.svelte-e9n068{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;align-items:center}button.svelte-e9n068{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:6px 14px}button.svelte-e9n068:hover{border-color:var(--muted)}button.primary.svelte-e9n068{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}button.primary.svelte-e9n068 kbd:where(.svelte-e9n068){background:transparent;border-color:currentColor;color:inherit}.practice.svelte-1xf8ui2{display:grid;gap:12px}.practice-head.svelte-1xf8ui2{display:flex;align-items:baseline;justify-content:space-between}.count.svelte-1xf8ui2,.extra.svelte-1xf8ui2{color:var(--muted);font-size:.85rem;font-variant-numeric:tabular-nums}.extra.svelte-1xf8ui2{color:var(--warn)}h2.svelte-2lbf18{font-size:1rem;margin:16px 0 8px}.trouble.svelte-2lbf18{list-style:none;padding:0;margin:0 0 6px;display:grid;gap:6px}.trouble.svelte-2lbf18 li:where(.svelte-2lbf18){display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline}.trouble.svelte-2lbf18 a:where(.svelte-2lbf18){color:var(--info)}.misses.svelte-2lbf18{color:var(--warn);min-width:2em;font-variant-numeric:tabular-nums}.keys.svelte-2lbf18{display:inline-flex;flex-wrap:wrap;gap:4px}.hint.svelte-2lbf18{color:var(--muted);font-size:.85rem;margin:0}.page.svelte-19uqrj5{max-width:780px;margin:0 auto}.vp-prose.svelte-19uqrj5 a:where(.svelte-19uqrj5){color:var(--info)}.due.svelte-19uqrj5{list-style:none;padding:0;margin:6px 0 10px;display:grid;gap:2px}.keys.svelte-19uqrj5{display:inline-block;min-width:9ch;color:var(--accent)}.what.svelte-19uqrj5{font-family:var(--font-text)}.page.svelte-t672da{max-width:780px;margin:0 auto}.vp-prose.svelte-t672da a:where(.svelte-t672da){color:var(--info)}fieldset.svelte-t672da{border:none;padding:0;margin:0 0 16px}legend.svelte-t672da{font-weight:700;margin-bottom:6px}label.svelte-t672da{cursor:pointer}.scope.svelte-t672da{display:flex;flex-wrap:wrap;gap:4px 20px;margin-bottom:10px}.chapters.svelte-t672da{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:2px 16px}.chapters.svelte-t672da .off:where(.svelte-t672da){color:var(--muted)}.num.svelte-t672da{color:var(--accent)}.practice.svelte-t672da{display:grid;gap:12px}.practice-head.svelte-t672da{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;justify-content:space-between}.count.svelte-t672da{color:var(--muted);font-size:.85rem;font-variant-numeric:tabular-nums}button.svelte-t672da:disabled{opacity:.5;cursor:not-allowed}input.svelte-t672da{accent-color:var(--accent)}.page.svelte-1lmp6mx{max-width:860px;margin:0 auto}a.svelte-1lmp6mx{color:var(--info)}.vp-actions.svelte-1lmp6mx .primary:where(.svelte-1lmp6mx){color:var(--accent-ink)}h2.svelte-1lmp6mx{font-size:1.1rem;margin:28px 0 10px}.activity.svelte-1lmp6mx{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center}.activity.svelte-1lmp6mx .vp-hint:where(.svelte-1lmp6mx){margin:0}.calendar.svelte-1lmp6mx{display:flex;gap:3px}.week.svelte-1lmp6mx{display:grid;gap:3px}.day.svelte-1lmp6mx{width:11px;height:11px;border-radius:2px;background:var(--surface-2);border:1px solid var(--border)}.day.on.svelte-1lmp6mx{background:var(--accent);border-color:var(--accent)}.day.future.svelte-1lmp6mx{visibility:hidden}.rows.svelte-1lmp6mx{list-style:none;padding:0;margin:0 0 6px;display:grid;gap:4px}.rows.svelte-1lmp6mx li:where(.svelte-1lmp6mx){display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}.keys.svelte-1lmp6mx{color:var(--accent);min-width:9ch;white-space:nowrap}.what.svelte-1lmp6mx{font-family:var(--font-text);flex:1}.num.svelte-1lmp6mx{color:var(--muted);font-size:.85rem;font-variant-numeric:tabular-nums}.legend.svelte-1lmp6mx{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0 0 8px}.sw.svelte-1lmp6mx{display:inline-block;width:.8em;height:.8em;border-radius:2px;margin-right:6px;vertical-align:-.05em}.solid.svelte-1lmp6mx{background:var(--accent)}.familiar.svelte-1lmp6mx{background:color-mix(in srgb,var(--accent) 55%,var(--surface-2))}.learning.svelte-1lmp6mx{background:var(--warn)}.new.svelte-1lmp6mx{background:var(--surface-2);border:1px solid var(--border)}.chapters.svelte-1lmp6mx{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:8px}details.svelte-1lmp6mx{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}summary.svelte-1lmp6mx{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(80px,1fr) auto;gap:6px 16px;align-items:center;padding:8px 12px;cursor:pointer}@media(max-width:600px){summary.svelte-1lmp6mx{grid-template-columns:minmax(0,1fr) auto}summary.svelte-1lmp6mx .bar:where(.svelte-1lmp6mx){grid-column:1 / -1;grid-row:2}}.n.svelte-1lmp6mx{color:var(--accent)}.bar.svelte-1lmp6mx{display:flex;height:10px;border-radius:3px;overflow:hidden;gap:1px}.bar.svelte-1lmp6mx i:where(.svelte-1lmp6mx){display:block}.bar.svelte-1lmp6mx .new:where(.svelte-1lmp6mx){border:none}.meta.svelte-1lmp6mx{color:var(--muted);font-size:.85rem;font-variant-numeric:tabular-nums;white-space:nowrap}table.svelte-1lmp6mx{width:100%;border-collapse:collapse;font-size:.85rem;display:block;overflow-x:auto;padding:0 12px 10px}th.svelte-1lmp6mx{text-align:left;color:var(--muted);font-weight:400;text-transform:uppercase;font-size:.7rem;letter-spacing:.06em;padding:4px 8px 4px 0;border-bottom:1px solid var(--border)}td.svelte-1lmp6mx{padding:4px 8px 4px 0;border-bottom:1px solid var(--border);vertical-align:baseline;white-space:nowrap}td.what.svelte-1lmp6mx{white-space:normal;min-width:16ch}tr.svelte-1lmp6mx:last-child td:where(.svelte-1lmp6mx){border-bottom:none}.r.svelte-1lmp6mx{text-align:right;font-variant-numeric:tabular-nums}.page.svelte-jc82go{max-width:1000px;margin:0 auto}a.svelte-jc82go{color:var(--info)}.bar.svelte-jc82go{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;justify-content:space-between;margin:4px 0 16px}label.svelte-jc82go{cursor:pointer;font-size:.9rem}input.svelte-jc82go{accent-color:var(--accent)}.grid.svelte-jc82go{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:14px}.chapter.svelte-jc82go{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:12px 14px}.chapter.empty.svelte-jc82go{background:none}h2.svelte-jc82go{font-size:1rem;margin:0 0 8px}.n.svelte-jc82go{color:var(--accent)}dl.svelte-jc82go{margin:0;display:grid;gap:5px}dl.svelte-jc82go>div:where(.svelte-jc82go){display:grid;grid-template-columns:minmax(9ch,auto) 1fr;gap:12px;align-items:baseline}dl.svelte-jc82go>div.locked:where(.svelte-jc82go){opacity:.55}dt.svelte-jc82go{white-space:nowrap}dt.svelte-jc82go kbd:where(.svelte-jc82go)+kbd:where(.svelte-jc82go){margin-left:3px}dd.svelte-jc82go{margin:0;font-family:var(--font-text);font-size:.92rem}.lesson.svelte-jc82go{margin-left:6px;font-family:var(--font-mono);font-size:.75rem;color:var(--muted);text-decoration:none}.lesson.svelte-jc82go:hover{color:var(--info)}.more.svelte-jc82go{margin:8px 0 0}.theory.svelte-vp8yrb{font-family:var(--font-text);font-size:1.05rem;line-height:1.7;max-width:68ch}.theory.svelte-vp8yrb td,.theory.svelte-vp8yrb th{font-family:var(--font-mono);font-size:.9rem}.theory.svelte-vp8yrb p{margin:0 0 .9em}.theory.svelte-vp8yrb ul{margin:0 0 .9em;padding-left:1.4em}.theory.svelte-vp8yrb li{margin:.2em 0}.theory.svelte-vp8yrb strong{color:var(--accent);font-weight:700}.theory.svelte-vp8yrb em{color:var(--info);font-style:normal}.theory.svelte-vp8yrb table{border-collapse:collapse;margin:0 0 1em}.theory.svelte-vp8yrb th,.theory.svelte-vp8yrb td{border:1px solid var(--border);padding:4px 14px}.theory.svelte-vp8yrb th{background:var(--surface-2)}.theory.svelte-vp8yrb pre{font-family:var(--font-mono);font-size:.9rem;line-height:1.6;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px 14px;margin:0 0 .9em;overflow-x:auto}.theory.svelte-vp8yrb kbd{color:var(--text)}.chapters.svelte-129hoe0>li.part:where(.svelte-129hoe0){margin:12px 0 4px;font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.toc.svelte-129hoe0{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow-y:auto;font-size:.85rem;padding-right:4px}summary.svelte-129hoe0{display:none;cursor:pointer;font-weight:700;padding:6px 0}.home.svelte-129hoe0{display:block;margin-bottom:14px;color:var(--info);text-decoration:none}ol.svelte-129hoe0{list-style:none;margin:0;padding:0}.chapters.svelte-129hoe0>li:where(.svelte-129hoe0){margin-bottom:14px}.ch.svelte-129hoe0{display:block;font-weight:700;margin-bottom:4px;color:var(--muted)}.active.svelte-129hoe0 .ch:where(.svelte-129hoe0){color:var(--text)}.num.svelte-129hoe0{color:var(--accent)}.lessons.svelte-129hoe0 a:where(.svelte-129hoe0){display:flex;gap:8px;align-items:baseline;padding:3px 8px;border-left:2px solid transparent;color:var(--muted);text-decoration:none;border-radius:0 4px 4px 0}.lessons.svelte-129hoe0 a:where(.svelte-129hoe0):hover{color:var(--text);background:var(--surface-2)}.lessons.svelte-129hoe0 a.current:where(.svelte-129hoe0){color:var(--text);border-left-color:var(--accent);background:var(--surface-2);font-weight:700}.lid.svelte-129hoe0{min-width:2em}.status.s-started.svelte-129hoe0{color:var(--warn)}.status.s-done.svelte-129hoe0{color:var(--accent)}@media(max-width:900px){.toc.svelte-129hoe0{position:static;max-height:none;border:1px solid var(--border);border-radius:var(--radius);padding:4px 12px;margin-bottom:18px}summary.svelte-129hoe0{display:list-item}}.layout.svelte-1x08you{display:grid;grid-template-columns:250px minmax(0,1fr);gap:44px;align-items:start}article.svelte-1x08you{min-width:0;max-width:780px}@media(max-width:900px){.layout.svelte-1x08you{grid-template-columns:minmax(0,1fr);gap:0}}.chapter.svelte-1x08you{color:var(--muted);font-size:.85rem;margin:0 0 6px}h1.svelte-1x08you{margin:0 0 16px;font-size:1.6rem}.lid.svelte-1x08you{color:var(--accent)}.practice.svelte-1x08you{margin-top:24px;padding-top:18px;border-top:1px solid var(--border);display:grid;gap:12px}.practice-head.svelte-1x08you{display:flex;align-items:baseline;justify-content:space-between}.practice-head.svelte-1x08you h2:where(.svelte-1x08you){margin:0;font-size:1.15rem}.count.svelte-1x08you,.rep.svelte-1x08you,.hint.svelte-1x08you{color:var(--muted);font-size:.85rem;font-variant-numeric:tabular-nums}.rep.svelte-1x08you{margin:0}.link.svelte-1x08you{background:none;border:none;padding:0;color:var(--muted);font:inherit;text-decoration:underline;cursor:pointer}.link.svelte-1x08you:hover{color:var(--error)}.complete.svelte-1x08you{padding:18px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--surface)}.complete.svelte-1x08you p:where(.svelte-1x08you){margin:0 0 8px}.big.svelte-1x08you{font-size:1.2rem;font-weight:700;color:var(--accent)}.actions.svelte-1x08you{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.actions.svelte-1x08you button:where(.svelte-1x08you),.actions.svelte-1x08you a:where(.svelte-1x08you){background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:6px 14px;color:inherit;text-decoration:none}.actions.svelte-1x08you .primary:where(.svelte-1x08you) kbd:where(.svelte-1x08you){background:transparent;border-color:currentColor;color:inherit}.actions.svelte-1x08you .primary:where(.svelte-1x08you){background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}.pager.svelte-1x08you{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:32px;font-size:.9rem}.pager.svelte-1x08you a:where(.svelte-1x08you){color:var(--info)}.warn.svelte-jewbsu{color:var(--warn);font-family:var(--font-text);font-size:.9rem}.page.svelte-1n46o8q{max-width:1180px;margin:0 auto;padding:20px 16px 48px}header.svelte-1n46o8q{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;padding-bottom:14px;margin-bottom:20px;border-bottom:1px solid var(--border)}.brand.svelte-1n46o8q{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}.logo.svelte-1n46o8q{font-size:1.5rem;font-weight:700;color:var(--accent);text-decoration:none}.cursor.svelte-1n46o8q{opacity:.6}.tagline.svelte-1n46o8q{color:var(--muted);font-size:.9rem}nav.svelte-1n46o8q{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center}nav.svelte-1n46o8q a:where(.svelte-1n46o8q){color:var(--muted);text-decoration:none;font-size:.9rem}nav.svelte-1n46o8q a:where(.svelte-1n46o8q):hover,nav.svelte-1n46o8q a.here:where(.svelte-1n46o8q){color:var(--text)}nav.svelte-1n46o8q a.here:where(.svelte-1n46o8q){text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px}.keyboard.svelte-1n46o8q{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;margin:-6px 0 18px;padding:10px 14px;border:1px solid var(--warn);border-radius:var(--radius);background:var(--surface);font-family:var(--font-text);font-size:.9rem}.keyboard.svelte-1n46o8q button:where(.svelte-1n46o8q){background:none;border:none;color:var(--muted);font-size:1.1rem;line-height:1}.due.svelte-1n46o8q{margin-left:5px;padding:0 5px;border-radius:8px;background:var(--surface-2);border:1px solid var(--border);color:var(--accent);font-size:.75rem;font-variant-numeric:tabular-nums}.theme.svelte-1n46o8q{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:4px 10px;font-size:.85rem}:root{--bg: #0f1115;--surface: #161a21;--surface-2: #1d222b;--border: #2a303b;--text: #d7dce4;--muted: #8b94a3;--accent: #7ee787;--accent-ink: #0f1115;--info: #79c0ff;--warn: #e3b341;--error: #ff7b72;--cursor-bg: #7ee787;--cursor-ink: #0f1115;--target-bg: rgba(121, 192, 255, .28);--selection: rgba(121, 192, 255, .25);--font-text: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--radius: 6px;color-scheme:dark}:root[data-theme=light]{--bg: #f6f7f9;--surface: #ffffff;--surface-2: #eef0f3;--border: #d5d9e0;--text: #1f2328;--muted: #5d6673;--accent: #1a7f37;--accent-ink: #ffffff;--info: #0969da;--warn: #9a6700;--error: #cf222e;--cursor-bg: #1a7f37;--cursor-ink: #ffffff;--target-bg: rgba(9, 105, 218, .18);--selection: rgba(9, 105, 218, .18);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:17px;line-height:1.55}button{font:inherit;color:inherit;cursor:pointer}kbd{display:inline-block;min-width:1.6em;padding:0 .4em;border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;background:var(--surface-2);font-family:var(--font-mono);font-size:.9em;text-align:center;line-height:1.5}:focus-visible{outline:2px solid var(--info);outline-offset:2px}.cm-editor{background:var(--surface);color:var(--text);font-size:18px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius)}.cm-editor.cm-focused{outline:none;border-color:var(--accent)}.cm-editor .cm-scroller{font-family:var(--font-mono);line-height:1.6}.cm-editor .cm-content{padding:10px 0;caret-color:var(--cursor-bg)}.cm-editor .cm-gutters{background:var(--surface);color:var(--muted);border-right:1px solid var(--border)}.cm-editor .cm-vimCursorLayer{display:none!important}.cm-editor.cm-maze .cm-scroller{line-height:1.2}.cm-editor.cm-maze .cm-content{letter-spacing:.5em}.cm-editor .cm-vp-wallChar{color:transparent}.cm-editor .cm-vp-wall{background:var(--muted)}.cm-editor .cm-vp-cell,.cm-editor .cm-vp-bar{background:var(--cursor-bg)}.cm-editor .cm-vp-cursor{color:var(--cursor-ink)}.cm-editor:not(.cm-focused) .cm-vp-cell{background:none;outline:1px solid var(--cursor-bg);outline-offset:-1px}.cm-editor:not(.cm-focused) .cm-vp-bar{display:none}.cm-editor:not(.cm-focused) .cm-vp-cursor{color:inherit}.cm-editor .cm-selectionBackground,.cm-editor.cm-focused .cm-selectionBackground{background:var(--selection)!important}.cm-editor .cm-panels{background:var(--surface-2);color:var(--text);border-top:1px solid var(--border)}.cm-editor .cm-vim-panel input{color:var(--text);font-family:var(--font-mono)}.cm-editor .cm-vimCursorLayer,.cm-editor .cm-cursorLayer{animation:none!important}.vp-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:44px;align-items:start}.vp-layout>article{min-width:0;max-width:780px}@media(max-width:900px){.vp-layout{grid-template-columns:minmax(0,1fr);gap:0}}.vp-kicker{color:var(--muted);font-size:.85rem;margin:0 0 6px}.vp-title{margin:0 0 16px;font-size:1.6rem}.vp-title .mark{color:var(--accent)}.vp-prose p,p.vp-prose{font-family:var(--font-text);max-width:68ch;margin:0 0 12px}.vp-hint{color:var(--muted);font-size:.85rem}.vp-panel{padding:18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.vp-panel.ok{border-color:var(--accent)}.vp-panel>p{margin:0 0 8px}.vp-big{font-size:1.2rem;font-weight:700;color:var(--accent)}.vp-big.fail{color:var(--warn)}.vp-stats{display:flex;flex-wrap:wrap;gap:8px 28px;margin:14px 0}.vp-stats dt{color:var(--muted);text-transform:uppercase;font-size:.75rem;letter-spacing:.08em}.vp-stats dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}.vp-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.vp-actions button,.vp-actions a{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:6px 14px;color:inherit;text-decoration:none}.vp-actions .primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}.vp-actions .primary kbd{background:transparent;border-color:currentColor;color:inherit}.vp-leave{margin-top:24px;font-size:.85rem}.vp-leave a{color:var(--info)}
