.callout.svelte-1yiueyh{display:flex;gap:10px;padding:12px 14px;border-radius:var(--r-1);border-left:3px solid var(--accent);background:var(--accent-soft);font-size:13.5px;color:var(--fg-1);max-width:640px;margin-bottom:14px}[data-variant=warning].svelte-1yiueyh{border-color:var(--warn);background:var(--warn-soft, var(--bg-3))}[data-variant=pitfall].svelte-1yiueyh{border-color:var(--err);background:var(--err-soft, var(--bg-3))}[data-variant=note].svelte-1yiueyh{border-color:var(--fg-3);background:var(--bg-3)}.callout-icon.svelte-1yiueyh{flex-shrink:0;font-size:10px;margin-top:3px;color:inherit}.checkpoint-block.svelte-6ig31v{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-2);max-width:560px}[data-passed=true].svelte-6ig31v{border-color:var(--ok);background:color-mix(in oklab,var(--ok) 8%,var(--bg-2))}.checkpoint-icon.svelte-6ig31v{font-family:var(--font-mono);font-size:16px;color:var(--fg-3);flex-shrink:0;margin-top:2px}[data-passed=true].svelte-6ig31v .checkpoint-icon:where(.svelte-6ig31v){color:var(--ok)}.checkpoint-body.svelte-6ig31v{flex:1}.checkpoint-msg.svelte-6ig31v{margin:0 0 4px;font-size:14px;color:var(--fg-1);line-height:1.4}.checkpoint-stats.svelte-6ig31v{margin:0;font-family:var(--font-mono);font-size:12px;color:var(--ok)}.checkpoint-hint.svelte-6ig31v{margin:6px 0 0;font-size:12px;color:var(--warn)}.checkpoint-btn.svelte-6ig31v{flex-shrink:0;padding:7px 14px;background:var(--ok);color:#1a1207;font-family:var(--font-mono);font-size:12px;font-weight:600;border:0;border-radius:var(--r-1);cursor:pointer;transition:filter var(--t-fast);align-self:center}.checkpoint-btn.svelte-6ig31v:hover{filter:brightness(1.1)}.prose-block.svelte-1871mlq{font-family:var(--font-serif, var(--font-sans));font-size:15px;line-height:1.7;color:var(--fg-1);max-width:640px}.prose-block.svelte-1871mlq h1,.prose-block.svelte-1871mlq h2{font-family:var(--font-mono);font-weight:600;color:var(--fg-0);margin:0 0 12px;letter-spacing:-.01em}.prose-block.svelte-1871mlq h1{font-size:22px}.prose-block.svelte-1871mlq h2{font-size:18px}.prose-block.svelte-1871mlq p{margin:0 0 14px}.prose-block.svelte-1871mlq ol{padding-left:20px;margin:0 0 14px}.prose-block.svelte-1871mlq li{margin-bottom:4px}.prose-block.svelte-1871mlq strong{color:var(--fg-0);font-weight:600}.prose-block.svelte-1871mlq code{font-family:var(--font-mono);font-size:13px;background:var(--bg-3);border:1px solid var(--line);border-radius:3px;padding:1px 5px;color:var(--accent)}.prose-block.svelte-1871mlq pre{background:var(--bg-1);border:1px solid var(--line-2);border-radius:var(--r-1, 6px);padding:12px 14px;overflow-x:auto;margin:0 0 14px}.prose-block.svelte-1871mlq pre code{background:none;border:none;border-radius:0;padding:0;color:var(--fg-1);font-size:13.5px;line-height:1.65;white-space:pre}.type-along-block.svelte-141fjsd{display:flex;flex-direction:column;gap:10px}.type-along-prompt.svelte-141fjsd{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--fg-3);margin:0}.canvas-stage.svelte-141fjsd{display:flex;width:100%;max-width:680px;height:180px;border-radius:var(--r-1);background:var(--bg-1);border:1px solid var(--line);overflow:hidden;transition:opacity var(--t)}.canvas-stage.done.svelte-141fjsd{opacity:.5}.type-along-result.svelte-141fjsd{display:flex;align-items:baseline;gap:16px;padding:10px 14px;background:var(--bg-2);border:1px solid var(--ok);border-radius:var(--r-1);max-width:320px}.result-wpm.svelte-141fjsd{font-family:var(--font-mono);font-size:22px;font-weight:700;color:var(--ok)}.result-wpm.svelte-141fjsd small:where(.svelte-141fjsd){font-size:11px;font-weight:400}.result-acc.svelte-141fjsd{font-family:var(--font-mono);font-size:13px;color:var(--fg-2)}.type-along-explanation.svelte-141fjsd{font-size:13.5px;color:var(--fg-2);margin:0;line-height:1.5;max-width:600px}.code-exercise.svelte-j7sdmv{display:flex;flex-direction:column;gap:22px;max-width:920px}.cl-spec.svelte-j7sdmv{display:flex;flex-direction:column;gap:12px}.eyebrow.svelte-j7sdmv{display:inline-flex;align-items:center;gap:0}.cl-goal.svelte-j7sdmv{font-family:var(--font-serif);font-weight:500;font-size:clamp(22px,2.6vw,32px);letter-spacing:-.02em;line-height:1.12;color:var(--fg-0);margin:4px 0 0;max-width:24ch}.cl-spec-meta.svelte-j7sdmv{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.cl-check.svelte-j7sdmv{font-size:12px;color:var(--fg-3)}.cl-check-v.svelte-j7sdmv{color:var(--fg-1)}.ce-stats.svelte-j7sdmv{display:inline-flex;align-items:center;gap:18px}.ce-stat.svelte-j7sdmv{display:inline-flex;align-items:baseline;gap:5px}.ce-stat.svelte-j7sdmv .metric:where(.svelte-j7sdmv){font-size:18px;color:var(--fg-0);font-variant-numeric:tabular-nums}.metric.warn.svelte-j7sdmv{color:var(--warn)}.ce-stat-l.svelte-j7sdmv{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-4)}.cl-work.svelte-j7sdmv{display:flex;flex-direction:column;gap:14px}.cl-editor.svelte-j7sdmv{background:var(--bg-1);border:1px solid var(--line-2);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-2);transition:border-color var(--t) var(--ease)}.cl-editor.svelte-j7sdmv:not(.is-done){border-color:color-mix(in oklab,var(--accent) 22%,var(--line-2));box-shadow:var(--shadow-2),0 0 0 1px color-mix(in oklab,var(--accent) 12%,transparent)}.cl-term-bar.svelte-j7sdmv{display:flex;align-items:center;gap:12px;padding:11px 14px;background:var(--bg-1);border-bottom:1px solid var(--line)}.demo-dots.svelte-j7sdmv{display:inline-flex;gap:6px}.demo-dot.svelte-j7sdmv{width:10px;height:10px;border-radius:50%;opacity:.7;display:inline-block}.demo-dot.r.svelte-j7sdmv{background:#e36a4d}.demo-dot.y.svelte-j7sdmv{background:#e8a14b}.demo-dot.g.svelte-j7sdmv{background:#8ab864}.cl-term-label.svelte-j7sdmv{font-size:11px;color:var(--fg-2);letter-spacing:.04em}.cl-term-mode.svelte-j7sdmv{font-size:10px;letter-spacing:.16em;color:var(--accent);padding:2px 8px;background:var(--accent-soft);border:1px solid color-mix(in oklab,var(--accent) 25%,transparent);border-radius:4px}.cl-editor.is-done.svelte-j7sdmv .cl-term-mode:where(.svelte-j7sdmv){color:var(--fg-3);background:var(--bg-3);border-color:var(--line)}.cl-term-spacer.svelte-j7sdmv{flex:1}.cl-editor-hint.svelte-j7sdmv{font-size:11px}.cl-run.svelte-j7sdmv{display:inline-flex;align-items:center;gap:8px;height:28px;padding:0 12px;font-family:var(--font-mono);font-size:13px;font-weight:600;color:#1a1207;background:var(--accent);border:1px solid var(--accent);border-radius:7px;cursor:pointer;box-shadow:0 1px #fff3 inset,0 4px 14px color-mix(in oklab,var(--accent) 30%,transparent);animation:svelte-j7sdmv-clRunIn .22s var(--ease)}.cl-run.svelte-j7sdmv:hover{background:var(--accent-2);border-color:var(--accent-2)}.cl-run-tri.svelte-j7sdmv{font-size:12px}.cl-rerun.svelte-j7sdmv{font-size:11px;color:var(--fg-3);height:24px;padding:0 8px;border:1px solid var(--line);border-radius:6px;cursor:pointer;background:transparent}.cl-rerun.svelte-j7sdmv:hover{color:var(--fg-0);border-color:var(--line-2);background:var(--bg-2)}.snippet-render.svelte-j7sdmv{font-family:var(--font-mono);line-height:1.7}.snippet-line.svelte-j7sdmv{display:grid;grid-template-columns:40px 1fr;padding:0 4px}.snippet-lineno.svelte-j7sdmv{color:var(--fg-4);text-align:right;padding-right:14px;-webkit-user-select:none;user-select:none;border-right:1px solid var(--line);margin-right:16px;font-variant-numeric:tabular-nums;white-space:pre}.snippet-code.svelte-j7sdmv{color:var(--fg-4);white-space:pre}.ch.svelte-j7sdmv{display:inline}.ch.ok.svelte-j7sdmv{color:var(--fg-0)}.ch.err.svelte-j7sdmv{color:var(--err);background:color-mix(in oklab,var(--err) 18%,transparent);border-radius:2px}.ch.pending.svelte-j7sdmv{color:var(--fg-4)}.caret-here.svelte-j7sdmv{display:inline-block;width:2px;height:1.05em;background:var(--accent);vertical-align:-.18em;border-radius:1px;animation:svelte-j7sdmv-caret-pulse 1.05s steps(1) infinite;margin:0 -1px;box-shadow:0 0 8px var(--accent-glow)}.cl-code-render.svelte-j7sdmv{padding:14px 8px 14px 0;font-size:15px;line-height:1.65}.cl-code-render.svelte-j7sdmv .snippet-line:where(.svelte-j7sdmv){padding:0 16px}.cl-editor-foot.svelte-j7sdmv{display:flex;align-items:center;gap:14px;padding:11px 16px;border-top:1px solid var(--line);background:var(--bg-1)}.cl-prog-track.svelte-j7sdmv{flex:1;height:4px;background:var(--bg-3);border-radius:999px;overflow:hidden}.cl-prog-fill.svelte-j7sdmv{height:100%;background:var(--accent);border-radius:999px;box-shadow:0 0 6px var(--accent-glow);transition:width 90ms linear}.cl-foot-hint.svelte-j7sdmv{font-size:11px;white-space:nowrap}.cl-output.svelte-j7sdmv{background:#0a0907;border:1px solid var(--line-2);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-2);animation:svelte-j7sdmv-clSlide .24s var(--ease)}.cl-term-host.svelte-j7sdmv{font-size:11px;margin-left:auto}.cl-term-body.svelte-j7sdmv{padding:14px 16px;font-size:14px;line-height:1.75;color:var(--fg-1);min-height:96px}.cl-term-line.svelte-j7sdmv{white-space:pre-wrap;word-break:break-word}.cl-prompt.svelte-j7sdmv{color:var(--accent);margin-right:6px}.cl-stdout.svelte-j7sdmv{color:var(--fg-0)}.cl-stderr.svelte-j7sdmv{color:var(--err)}.cl-running.svelte-j7sdmv{color:var(--fg-3);display:inline-flex;align-items:center;gap:8px}.cl-term-cursor.svelte-j7sdmv{margin-top:2px}.cl-blink.svelte-j7sdmv{color:var(--fg-2);animation:svelte-j7sdmv-caret-pulse 1.05s steps(1) infinite}.spinner.svelte-j7sdmv{display:inline-block;width:10px;height:10px;border:1.5px solid var(--fg-4);border-top-color:var(--accent);border-radius:50%;animation:svelte-j7sdmv-spin .7s linear infinite}.cl-result.svelte-j7sdmv{display:flex;align-items:center;gap:12px;padding:13px 16px;border-radius:11px;border:1px solid var(--line-2);background:var(--bg-1);animation:svelte-j7sdmv-fadeUp .24s var(--ease) 80ms backwards}.cl-result.pass.svelte-j7sdmv{border-color:color-mix(in oklab,var(--ok) 32%,transparent);background:color-mix(in oklab,var(--ok) 7%,var(--bg-1))}.cl-result.fail.svelte-j7sdmv{border-color:color-mix(in oklab,var(--err) 32%,transparent);background:color-mix(in oklab,var(--err) 6%,var(--bg-1))}.cl-result-icon.svelte-j7sdmv{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;flex-shrink:0}.cl-result.pass.svelte-j7sdmv .cl-result-icon:where(.svelte-j7sdmv){background:color-mix(in oklab,var(--ok) 20%,transparent);color:var(--ok)}.cl-result.fail.svelte-j7sdmv .cl-result-icon:where(.svelte-j7sdmv){background:var(--err-soft);color:var(--err)}.cl-result-msg.svelte-j7sdmv{font-size:13px;color:var(--fg-1)}.cl-result-val.svelte-j7sdmv{color:var(--fg-0);font-weight:600}.cl-result-val.ok.svelte-j7sdmv{color:var(--ok)}.cl-result-val.bad.svelte-j7sdmv{color:var(--err)}.cl-result-hint.svelte-j7sdmv{margin-left:auto;font-size:11px}.cl-write-host.svelte-j7sdmv{padding:4px 0}.cl-write-host.svelte-j7sdmv .cm-editor{font-size:15px}.cl-cases.svelte-j7sdmv{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.cl-case.svelte-j7sdmv{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--fg-2)}.cl-case-icon.svelte-j7sdmv{color:var(--err);width:1ch}.cl-case.pass.svelte-j7sdmv .cl-case-icon:where(.svelte-j7sdmv){color:var(--ok)}.cl-case-name.svelte-j7sdmv{color:var(--fg-1)}.cl-case-got.svelte-j7sdmv{margin-left:auto;font-size:11px}.cl-next.svelte-j7sdmv{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}.dim.svelte-j7sdmv{color:var(--fg-3)}@keyframes svelte-j7sdmv-caret-pulse{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes svelte-j7sdmv-fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes svelte-j7sdmv-clSlide{0%{transform:translateY(-10px)}to{transform:translateY(0)}}@keyframes svelte-j7sdmv-clRunIn{0%{opacity:0;transform:translate(6px)}to{opacity:1;transform:none}}@keyframes svelte-j7sdmv-spin{to{transform:rotate(360deg)}}.sql-exercise.svelte-1jvsfbu{display:flex;flex-direction:column;gap:18px;max-width:920px}.sx-spec.svelte-1jvsfbu{display:flex;flex-direction:column;gap:10px}.eyebrow.svelte-1jvsfbu{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3)}.dot.svelte-1jvsfbu{width:5px;height:5px;border-radius:50%;background:var(--accent);display:inline-block}.sx-goal.svelte-1jvsfbu{font-family:var(--font-serif);font-weight:500;font-size:clamp(20px,2.4vw,28px);letter-spacing:-.02em;line-height:1.15;color:var(--fg-0);margin:2px 0 0;max-width:30ch}.sx-spec-meta.svelte-1jvsfbu{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.chip.svelte-1jvsfbu{font-size:11px;color:var(--fg-3);border:1px solid var(--line);border-radius:5px;padding:2px 7px}.sx-schema-toggle.svelte-1jvsfbu{font-family:var(--font-mono);font-size:11px;color:var(--fg-3);background:transparent;border:1px solid var(--line);border-radius:5px;padding:2px 8px;cursor:pointer}.sx-schema-toggle.svelte-1jvsfbu:hover{color:var(--fg-1);border-color:var(--line-2)}.sx-schema.svelte-1jvsfbu{font-size:11.5px;line-height:1.7;color:var(--fg-2);background:var(--bg-1);border:1px solid var(--line);border-radius:9px;padding:10px 12px;margin:2px 0 0;white-space:pre;overflow-x:auto}.sx-stats.svelte-1jvsfbu{display:inline-flex;align-items:center;gap:18px}.sx-stat.svelte-1jvsfbu{display:inline-flex;align-items:baseline;gap:5px}.sx-stat.svelte-1jvsfbu .metric:where(.svelte-1jvsfbu){font-size:17px;color:var(--fg-0);font-variant-numeric:tabular-nums}.metric.warn.svelte-1jvsfbu{color:var(--warn)}.sx-stat-l.svelte-1jvsfbu{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-4)}.sx-editor.svelte-1jvsfbu{background:var(--bg-1);border:1px solid var(--line-2);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-2);transition:border-color var(--t) var(--ease)}.sx-editor.svelte-1jvsfbu:not(.is-done){border-color:color-mix(in oklab,var(--accent) 20%,var(--line-2))}.sx-term-bar.svelte-1jvsfbu{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--bg-1);border-bottom:1px solid var(--line)}.demo-dots.svelte-1jvsfbu{display:inline-flex;gap:6px}.demo-dot.svelte-1jvsfbu{width:10px;height:10px;border-radius:50%;opacity:.7;display:inline-block}.demo-dot.r.svelte-1jvsfbu{background:#e36a4d}.demo-dot.y.svelte-1jvsfbu{background:#e8a14b}.demo-dot.g.svelte-1jvsfbu{background:#8ab864}.sx-term-label.svelte-1jvsfbu{font-size:11px;color:var(--fg-2);letter-spacing:.04em}.sx-term-mode.svelte-1jvsfbu{font-size:10px;letter-spacing:.16em;color:var(--accent);padding:2px 8px;background:var(--accent-soft);border:1px solid color-mix(in oklab,var(--accent) 25%,transparent);border-radius:4px}.sx-editor.is-done.svelte-1jvsfbu .sx-term-mode:where(.svelte-1jvsfbu){color:var(--fg-3);background:var(--bg-3);border-color:var(--line)}.sx-term-spacer.svelte-1jvsfbu{flex:1}.sx-hint.svelte-1jvsfbu{font-size:11px}.sx-term-host.svelte-1jvsfbu{font-size:11px;margin-left:auto}.sx-run.svelte-1jvsfbu{display:inline-flex;align-items:center;gap:8px;height:28px;padding:0 12px;font-family:var(--font-mono);font-size:13px;font-weight:600;color:#1a1207;background:var(--accent);border:1px solid var(--accent);border-radius:7px;cursor:pointer;box-shadow:0 1px #fff3 inset,0 4px 14px color-mix(in oklab,var(--accent) 30%,transparent)}.sx-run.svelte-1jvsfbu:hover:not(:disabled){background:var(--accent-2);border-color:var(--accent-2)}.sx-run.svelte-1jvsfbu:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.sx-run-kbd.svelte-1jvsfbu{font-size:11px;opacity:.8}.sx-code-render.svelte-1jvsfbu{padding:14px 8px 14px 0;font-family:var(--font-mono);font-size:14.5px;line-height:1.7}.sx-line.svelte-1jvsfbu{display:grid;grid-template-columns:40px 1fr;padding:0 16px}.sx-lineno.svelte-1jvsfbu{color:var(--fg-4);text-align:right;padding-right:14px;-webkit-user-select:none;user-select:none;border-right:1px solid var(--line);margin-right:16px;font-variant-numeric:tabular-nums;white-space:pre}.sx-code.svelte-1jvsfbu{color:var(--fg-4);white-space:pre}.ch.ok.svelte-1jvsfbu{color:var(--fg-0)}.ch.err.svelte-1jvsfbu{color:var(--err);background:color-mix(in oklab,var(--err) 18%,transparent);border-radius:2px}.ch.pending.svelte-1jvsfbu{color:var(--fg-4)}.caret-here.svelte-1jvsfbu{display:inline-block;width:2px;height:1.05em;background:var(--accent);vertical-align:-.18em;border-radius:1px;animation:svelte-1jvsfbu-caret-pulse 1.05s steps(1) infinite;margin:0 -1px;box-shadow:0 0 8px var(--accent-glow)}.sx-editor-foot.svelte-1jvsfbu{display:flex;align-items:center;gap:14px;padding:10px 16px;border-top:1px solid var(--line);background:var(--bg-1)}.sx-prog-track.svelte-1jvsfbu{flex:1;height:4px;background:var(--bg-3);border-radius:999px;overflow:hidden}.sx-prog-fill.svelte-1jvsfbu{height:100%;background:var(--accent);border-radius:999px;box-shadow:0 0 6px var(--accent-glow);transition:width 90ms linear}.sx-foot-hint.svelte-1jvsfbu{font-size:11px;white-space:nowrap}.sx-output.svelte-1jvsfbu{background:#0a0907;border:1px solid var(--line-2);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-2);animation:svelte-1jvsfbu-slideIn .22s var(--ease)}.sx-term-body.svelte-1jvsfbu{padding:12px 14px;min-height:64px}.sx-running.svelte-1jvsfbu{color:var(--fg-3);font-size:13px;display:inline-flex;align-items:center;gap:8px}.sx-error.svelte-1jvsfbu{color:var(--err);font-size:13px;white-space:pre-wrap;margin:0;line-height:1.6}.sx-ok.svelte-1jvsfbu{color:var(--ok);font-size:13px}.sx-table-wrap.svelte-1jvsfbu{overflow-x:auto}.sx-table.svelte-1jvsfbu{border-collapse:collapse;font-size:12.5px;width:max-content;min-width:100%}.sx-table.svelte-1jvsfbu th:where(.svelte-1jvsfbu){text-align:left;color:var(--accent);font-weight:600;padding:4px 14px 8px 2px;border-bottom:1px solid var(--line-2);white-space:nowrap}.sx-table.svelte-1jvsfbu td:where(.svelte-1jvsfbu){padding:4px 14px 4px 2px;color:var(--fg-1);white-space:nowrap;border-bottom:1px solid color-mix(in oklab,var(--line) 50%,transparent);font-variant-numeric:tabular-nums}.sx-table.svelte-1jvsfbu tbody:where(.svelte-1jvsfbu) tr:where(.svelte-1jvsfbu):last-child td:where(.svelte-1jvsfbu){border-bottom:none}.null-cell.svelte-1jvsfbu{color:var(--fg-4);font-style:italic}.sx-more.svelte-1jvsfbu{font-size:11px;padding:6px 2px 0}.sx-rowcount.svelte-1jvsfbu{font-size:11px;padding:8px 2px 0}.sx-result.svelte-1jvsfbu{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:11px;border:1px solid var(--line-2);background:var(--bg-1);animation:svelte-1jvsfbu-fadeUp .22s var(--ease) 60ms backwards}.sx-result.pass.svelte-1jvsfbu{border-color:color-mix(in oklab,var(--ok) 32%,transparent);background:color-mix(in oklab,var(--ok) 7%,var(--bg-1))}.sx-result.fail.svelte-1jvsfbu{border-color:color-mix(in oklab,var(--err) 32%,transparent);background:color-mix(in oklab,var(--err) 6%,var(--bg-1))}.sx-result-icon.svelte-1jvsfbu{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;flex-shrink:0}.sx-result.pass.svelte-1jvsfbu .sx-result-icon:where(.svelte-1jvsfbu){background:color-mix(in oklab,var(--ok) 20%,transparent);color:var(--ok)}.sx-result.fail.svelte-1jvsfbu .sx-result-icon:where(.svelte-1jvsfbu){background:var(--err-soft);color:var(--err)}.sx-result-msg.svelte-1jvsfbu{font-size:13px;color:var(--fg-1)}.sx-result-hint.svelte-1jvsfbu{margin-left:auto;font-size:11px}.sx-next.svelte-1jvsfbu{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:2px}.sx-reveal.svelte-1jvsfbu{font-size:12px;color:var(--fg-3);background:transparent;border:1px solid var(--line);border-radius:7px;padding:7px 12px;cursor:pointer}.sx-reveal.svelte-1jvsfbu:hover{color:var(--fg-1);border-color:var(--line-2)}.spinner.svelte-1jvsfbu{display:inline-block;width:10px;height:10px;border:1.5px solid var(--fg-4);border-top-color:var(--accent);border-radius:50%;animation:svelte-1jvsfbu-spin .7s linear infinite}.dim.svelte-1jvsfbu{color:var(--fg-3)}@keyframes svelte-1jvsfbu-caret-pulse{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes svelte-1jvsfbu-fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes svelte-1jvsfbu-slideIn{0%{transform:translateY(-8px);opacity:.6}to{transform:none;opacity:1}}@keyframes svelte-1jvsfbu-spin{to{transform:rotate(360deg)}}.lesson-player.svelte-17g313z{display:flex;flex-direction:column;gap:28px}.block-wrap.svelte-17g313z{transition:opacity var(--t)}[data-done=true].svelte-17g313z{opacity:.45;pointer-events:none}[data-active=false][data-done=false].svelte-17g313z{display:none}.continue-btn.svelte-17g313z{margin-top:8px;padding:7px 16px;background:var(--bg-3);border:1px solid var(--line-2);border-radius:var(--r-1);font-family:var(--font-mono);font-size:12px;color:var(--fg-1);cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast)}.continue-btn.svelte-17g313z:hover{background:var(--bg-4, var(--bg-3));border-color:var(--accent);color:var(--fg-0)}.lc.svelte-wbcv61{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:40px 0 24px}.lc-divider.svelte-wbcv61{color:var(--fg-4);font-size:12px;letter-spacing:.1em}.lc-h.svelte-wbcv61{font-family:var(--font-serif, Georgia, serif);font-weight:500;font-size:clamp(34px,4.4vw,50px);color:var(--accent);margin:0;line-height:1}.lc.muted.svelte-wbcv61 .lc-h:where(.svelte-wbcv61){color:var(--fg-2)}.lc-stat.svelte-wbcv61{display:flex;align-items:baseline;gap:18px;margin-top:6px}.lc-wpm.svelte-wbcv61{font-size:40px;font-weight:600;color:var(--fg-0);font-variant-numeric:tabular-nums;line-height:1}.lc.muted.svelte-wbcv61 .lc-wpm:where(.svelte-wbcv61){color:var(--fg-2)}.lc-wpm-u.svelte-wbcv61{font-size:13px;color:var(--fg-4);margin-left:6px;letter-spacing:.1em;text-transform:uppercase}.lc-acc.svelte-wbcv61{font-size:14px;color:var(--fg-3)}.lc-spark.svelte-wbcv61{opacity:.95}.lc-pb.svelte-wbcv61{font-size:12.5px;color:var(--accent);margin:2px 0 0}.lc-note.svelte-wbcv61{font-size:12.5px;margin:2px 0 0}.dim.svelte-wbcv61{color:var(--fg-3)}.lc-actions.svelte-wbcv61{display:flex;align-items:center;gap:12px;margin-top:14px}.btn-primary.svelte-wbcv61{padding:9px 20px;background:var(--accent);color:#1a1207;font-family:var(--font-mono);font-size:13px;font-weight:600;border-radius:var(--r-1);text-decoration:none;transition:filter var(--t-fast)}.btn-primary.svelte-wbcv61:hover{filter:brightness(1.1);opacity:1}.btn-secondary.svelte-wbcv61{padding:9px 16px;color:var(--fg-2);font-family:var(--font-mono);font-size:13px;border:1px solid var(--line);border-radius:var(--r-1);text-decoration:none;transition:all var(--t-fast)}.btn-secondary.svelte-wbcv61:hover{color:var(--fg-0);border-color:var(--line-2);opacity:1}.tl-fingers.svelte-y2ivpd{display:flex;align-items:flex-end;justify-content:center;gap:clamp(20px,4vw,48px);min-height:calc(var(--fbar-h) + 34px);transition:opacity .22s var(--ease)}.tl-fingers.hide.svelte-y2ivpd{opacity:0}.tl-fingers.show.svelte-y2ivpd{opacity:1}.tl-hand.svelte-y2ivpd{display:flex;flex-direction:column;align-items:center;gap:6px}.tl-fingerbars.svelte-y2ivpd{display:flex;align-items:flex-end;gap:6px;height:var(--fbar-h)}.tl-fbar.svelte-y2ivpd{width:9px;border-radius:5px 5px 2px 2px;background:transparent;border:1.5px solid var(--line-2);transition:all .16s var(--ease)}.tl-fbar.thumb.svelte-y2ivpd{align-self:flex-end;width:11px;border-radius:5px;transform:rotate(8deg);transform-origin:bottom}.tl-hand.left.svelte-y2ivpd .tl-fbar.thumb:where(.svelte-y2ivpd){transform:rotate(14deg)}.tl-hand.right.svelte-y2ivpd .tl-fbar.thumb:where(.svelte-y2ivpd){transform:rotate(-14deg)}.tl-fbar.on.svelte-y2ivpd{background:var(--accent-soft);border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow);transform:translateY(3px)}.tl-hand.left.svelte-y2ivpd .tl-fbar.thumb.on:where(.svelte-y2ivpd){transform:rotate(14deg) translateY(3px)}.tl-hand.right.svelte-y2ivpd .tl-fbar.thumb.on:where(.svelte-y2ivpd){transform:rotate(-14deg) translateY(3px)}.tl-fbar.shift.svelte-y2ivpd{background:color-mix(in oklab,var(--fg-1) 22%,transparent);border-color:var(--fg-2);border-style:dashed;transform:translateY(3px)}.tl-palm.svelte-y2ivpd{width:56px;height:8px;border-radius:0 0 10px 10px;border:1.5px solid var(--line);border-top:0}.tl-finger-caption.svelte-y2ivpd{align-self:center;min-width:96px;text-align:center;font-size:11px;letter-spacing:.08em;color:var(--accent);padding-bottom:8px}.tl-fingers.hide.svelte-y2ivpd .tl-finger-caption:where(.svelte-y2ivpd){color:var(--fg-4)}.tl-checkpoint.svelte-1l9cow7{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:620px;gap:4px}.tl-checkpoint.svelte-1l9cow7 .ascii-divider:where(.svelte-1l9cow7){margin-bottom:8px}.tl-spark.svelte-1l9cow7{display:inline-flex;align-items:center;gap:10px;margin-top:10px;padding:6px 12px;border:1px solid var(--line);border-radius:var(--r-1);background:var(--bg-2)}.tl-spark-l.svelte-1l9cow7{font-size:11px}.tl-cp-h.svelte-1l9cow7{font-family:var(--font-serif);font-weight:500;font-size:clamp(36px,4.6vw,54px);letter-spacing:-.03em;color:var(--fg-0);margin:4px 0 6px}.tl-cp-sub.svelte-1l9cow7{font-family:var(--font-serif);font-size:17px;line-height:1.55;color:var(--fg-2);margin:0 0 20px;max-width:48ch;font-style:italic}.tl-gates.svelte-1l9cow7{display:flex;gap:18px;width:100%;max-width:520px}.tl-gate-meter.svelte-1l9cow7{flex:1;display:flex;flex-direction:column;gap:10px;padding:18px;background:var(--bg-1);border:1px solid var(--line);border-radius:12px}.tl-gate-meter.met.svelte-1l9cow7{border-color:color-mix(in oklab,var(--ok) 30%,transparent);background:color-mix(in oklab,var(--ok) 6%,var(--bg-1))}.tl-gate-vals.svelte-1l9cow7{display:flex;align-items:baseline;justify-content:space-between}.tl-gate-v.svelte-1l9cow7{font-size:30px;color:var(--fg-0);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.tl-gate-u.svelte-1l9cow7{font-size:16px;color:var(--fg-2);margin-left:1px}.tl-gate-t.svelte-1l9cow7{font-size:11px}.tl-gate-track.svelte-1l9cow7{position:relative;height:5px;background:var(--bg-3);border-radius:999px}.tl-gate-fill.svelte-1l9cow7{display:block;height:100%;border-radius:999px;background:var(--accent);box-shadow:0 0 8px var(--accent-glow);transition:width var(--t-slow) var(--ease)}.tl-gate-meter.met.svelte-1l9cow7 .tl-gate-fill:where(.svelte-1l9cow7){background:var(--ok);box-shadow:0 0 8px color-mix(in oklab,var(--ok) 36%,transparent)}.tl-gate-mark.svelte-1l9cow7{position:absolute;top:-3px;width:2px;height:11px;background:var(--fg-2);border-radius:1px;transform:translate(-1px)}.tl-gate-label.svelte-1l9cow7{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--fg-2);letter-spacing:.02em}.tl-gate-meter.met.svelte-1l9cow7 .tl-gate-label:where(.svelte-1l9cow7){color:var(--ok)}.tl-gate-dash.svelte-1l9cow7{color:var(--fg-4);font-size:9px}.tl-weak.svelte-1l9cow7{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;margin:18px 0 4px;font-size:12px}.tl-weak-key.svelte-1l9cow7{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;background:color-mix(in oklab,var(--err) 16%,var(--bg-2));border:1px solid color-mix(in oklab,var(--err) 32%,transparent);border-radius:5px;color:var(--fg-0);font-family:var(--font-mono)}.tl-weak-note.svelte-1l9cow7{margin-left:2px}.tl-cp-actions.svelte-1l9cow7{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:24px}.dim.svelte-1l9cow7{color:var(--fg-3)}.hero-kbd.svelte-1l9cow7{background:#00000029;color:#3a2604;border-color:#0003;margin-left:4px}.typing-lesson.svelte-1mrqkv7{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-page);--key: clamp(34px, 3.4vw, 46px);--keygap: 7px;--fbar-h: 46px}.tl-top.svelte-1mrqkv7{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:30px 1fr auto;gap:18px;align-items:center;padding:12px 22px;background:color-mix(in oklab,var(--bg-page) 86%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.tl-top-mid.svelte-1mrqkv7{display:flex;flex-direction:column;gap:1px;min-width:0}.tl-top-module.svelte-1mrqkv7{font-size:11px;letter-spacing:.06em}.tl-top-title.svelte-1mrqkv7{font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--fg-0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl-top-stats.svelte-1mrqkv7{display:inline-flex;align-items:center;gap:18px}.tl-stat.svelte-1mrqkv7{display:inline-flex;align-items:baseline;gap:5px}.tl-stat.svelte-1mrqkv7 .metric{font-size:18px;color:var(--fg-0);font-variant-numeric:tabular-nums}.tl-stat.svelte-1mrqkv7 .metric.warn{color:var(--warn)}.tl-stat-l.svelte-1mrqkv7{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-4)}.tl-target.svelte-1mrqkv7{font-size:11px;padding-left:16px;border-left:1px solid var(--line)}.tl-keys-toggle.svelte-1mrqkv7{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-4);background:transparent;border:1px solid var(--line);border-radius:5px;padding:3px 8px;cursor:pointer;transition:all var(--t-fast)}.tl-keys-toggle.svelte-1mrqkv7:hover{color:var(--fg-1);border-color:var(--line-2)}.tl-keys-toggle.on.svelte-1mrqkv7{color:var(--accent);border-color:color-mix(in oklab,var(--accent) 40%,transparent)}.session-back.svelte-1mrqkv7{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:7px;color:var(--fg-3);background:transparent;border:1px solid var(--line);transition:all var(--t-fast);flex-shrink:0;text-decoration:none}.session-back.svelte-1mrqkv7:hover{color:var(--fg-0);background:var(--bg-2);border-color:var(--line-2)}.dim.svelte-1mrqkv7{color:var(--fg-3)}.warn.svelte-1mrqkv7{color:var(--warn)}.tl-stage.svelte-1mrqkv7{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(18px,2.6vh,34px);padding:clamp(20px,3vh,40px) 24px}.tl-stepper.svelte-1mrqkv7{display:flex;align-items:center;gap:0}.tl-step.svelte-1mrqkv7{display:inline-flex;align-items:center;gap:9px}.tl-step-dot.svelte-1mrqkv7{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;color:var(--fg-3);background:var(--bg-2);border:1px solid var(--line-2);transition:all var(--t) var(--ease)}.tl-step-label.svelte-1mrqkv7{font-size:12px;color:var(--fg-3);letter-spacing:.02em;transition:color var(--t) var(--ease)}.tl-step.cur.svelte-1mrqkv7 .tl-step-dot:where(.svelte-1mrqkv7){color:#1a1207;background:var(--accent);border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.tl-step.cur.svelte-1mrqkv7 .tl-step-label:where(.svelte-1mrqkv7){color:var(--fg-0)}.tl-step.done.svelte-1mrqkv7 .tl-step-dot:where(.svelte-1mrqkv7){color:var(--ok);background:color-mix(in oklab,var(--ok) 16%,transparent);border-color:color-mix(in oklab,var(--ok) 32%,transparent)}.tl-step.done.svelte-1mrqkv7 .tl-step-label:where(.svelte-1mrqkv7){color:var(--fg-2)}.tl-step-link.svelte-1mrqkv7{width:clamp(20px,4vw,48px);height:1px;background:var(--line-2);margin:0 12px}.tl-drill-head.svelte-1mrqkv7{display:flex;flex-direction:column;align-items:center;gap:6px}.tl-drill-sub.svelte-1mrqkv7{font-size:12px}.tl-tips.svelte-1mrqkv7{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:min(680px,88vw);margin:-6px 0 0;padding:0;list-style:none}.tl-tip.svelte-1mrqkv7{font-size:11px;color:var(--fg-3);background:var(--bg-1);border:1px solid var(--line);border-radius:999px;padding:4px 11px}.tl-tip.svelte-1mrqkv7:before{content:"›";color:var(--accent);margin-right:6px}.tl-rung-track.svelte-1mrqkv7{width:clamp(220px,40vw,460px);height:3px;background:var(--bg-3);border-radius:999px;overflow:hidden}.tl-rung-fill.svelte-1mrqkv7{display:block;height:100%;background:var(--accent);border-radius:999px;box-shadow:0 0 6px var(--accent-glow);transition:width 90ms linear}.tl-stage-cp.svelte-1mrqkv7{justify-content:center}.vimbar.svelte-1mrqkv7{position:sticky;bottom:0;display:flex;align-items:center;gap:12px;height:26px;padding:0 14px;background:var(--bg-1);border-top:1px solid var(--line);font-family:var(--font-mono);font-size:11px;color:var(--fg-3);z-index:40}.vimbar-mode.svelte-1mrqkv7{display:inline-flex;align-items:center;height:18px;padding:0 8px;background:var(--fg-3);color:var(--bg-page);font-weight:600;letter-spacing:.14em;font-size:10px;border-radius:2px}.vimbar-mode.type.svelte-1mrqkv7{background:var(--accent);color:#1a1207}.vimbar-mode.gate.svelte-1mrqkv7{background:var(--warn);color:#1a1207}.vimbar-left.svelte-1mrqkv7,.vimbar-right.svelte-1mrqkv7{display:inline-flex;align-items:center;gap:10px}.vimbar-spacer.svelte-1mrqkv7{flex:1}.vimbar-right.svelte-1mrqkv7 .kbd{background:transparent;border-color:var(--line);color:var(--fg-2)}@media (max-width: 720px){.tl-top-stats.svelte-1mrqkv7 .tl-target:where(.svelte-1mrqkv7){display:none}.tl-step-label.svelte-1mrqkv7{display:none}}.vim-lesson.svelte-zkbh5b{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-page)}.vim-top.svelte-zkbh5b{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:30px 1fr auto;gap:18px;align-items:center;padding:12px 22px;background:color-mix(in oklab,var(--bg-page) 86%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.vim-top-mid.svelte-zkbh5b{display:flex;flex-direction:column;gap:1px;min-width:0}.vim-top-module.svelte-zkbh5b{font-size:11px;letter-spacing:.06em}.vim-top-title.svelte-zkbh5b{font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--fg-0)}.vim-stepper.svelte-zkbh5b{display:inline-flex;gap:6px}.vim-step.svelte-zkbh5b{width:24px;height:24px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;color:var(--fg-3);background:var(--bg-2);border:1px solid var(--line-2);transition:all var(--t-fast) var(--ease)}.vim-step.svelte-zkbh5b:hover{color:var(--fg-1);border-color:var(--line-3)}.vim-step.cur.svelte-zkbh5b{color:#1a1207;background:var(--accent);border-color:var(--accent);box-shadow:0 0 10px var(--accent-glow)}.vim-step.done.svelte-zkbh5b{color:var(--ok);background:color-mix(in oklab,var(--ok) 14%,transparent);border-color:color-mix(in oklab,var(--ok) 30%,transparent)}.session-back.svelte-zkbh5b{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:7px;color:var(--fg-3);background:transparent;border:1px solid var(--line);transition:all var(--t-fast);flex-shrink:0;text-decoration:none}.session-back.svelte-zkbh5b:hover{color:var(--fg-0);background:var(--bg-2);border-color:var(--line-2);opacity:1}.vim-stage.svelte-zkbh5b{flex:1}.vim-col.svelte-zkbh5b{max-width:760px;margin:0 auto;padding:36px clamp(24px,4vw,40px) 120px;display:flex;flex-direction:column;gap:18px}.vim-brief.svelte-zkbh5b{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap}.vim-obj.svelte-zkbh5b{display:flex;flex-direction:column;gap:8px}.vim-level.svelte-zkbh5b{align-self:flex-start;font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:2px 8px;border-radius:4px;color:var(--fg-3);background:var(--bg-2);border:1px solid var(--line-2)}.vim-level.beginner.svelte-zkbh5b{color:var(--ok);border-color:color-mix(in oklab,var(--ok) 28%,transparent)}.vim-level.intermediate.svelte-zkbh5b{color:var(--accent);border-color:color-mix(in oklab,var(--accent) 28%,transparent)}.vim-level.advanced.svelte-zkbh5b{color:var(--err);border-color:color-mix(in oklab,var(--err) 30%,transparent)}.vim-obj-text.svelte-zkbh5b{font-family:var(--font-serif, Georgia, serif);font-size:17px;color:var(--fg-0);line-height:1.4;max-width:44ch}.vim-obj-arrow.svelte-zkbh5b{color:var(--accent);margin-right:4px}.vim-goal.svelte-zkbh5b{display:flex;flex-direction:column;gap:5px;align-items:flex-end}.vim-goal-label.svelte-zkbh5b{font-size:10px;letter-spacing:.16em;text-transform:uppercase}.vim-goal-buf.svelte-zkbh5b{padding:8px 12px;border-radius:8px;background:color-mix(in oklab,var(--ok) 5%,var(--bg-1));border:1px dashed color-mix(in oklab,var(--ok) 28%,var(--line-2));font-size:13px;color:var(--fg-2)}.vim-goal-line.svelte-zkbh5b{white-space:pre}.vim-editor.svelte-zkbh5b{background:var(--bg-1);border:1px solid var(--line-2);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-2);transition:border-color var(--t) var(--ease),box-shadow var(--t) var(--ease)}.vim-editor.normal.svelte-zkbh5b{border-color:color-mix(in oklab,var(--accent) 22%,var(--line-2))}.vim-editor.insert.svelte-zkbh5b{border-color:color-mix(in oklab,var(--ok) 30%,var(--line-2));box-shadow:var(--shadow-2),0 0 0 1px color-mix(in oklab,var(--ok) 16%,transparent)}.vim-editor.solved.svelte-zkbh5b{border-color:color-mix(in oklab,var(--ok) 36%,transparent)}.vim-bar-top.svelte-zkbh5b{display:flex;align-items:center;gap:12px;padding:11px 14px;background:var(--bg-1);border-bottom:1px solid var(--line)}.demo-dots.svelte-zkbh5b{display:inline-flex;gap:6px}.demo-dot.svelte-zkbh5b{width:10px;height:10px;border-radius:50%;opacity:.7}.demo-dot.r.svelte-zkbh5b{background:#e36a4d}.demo-dot.y.svelte-zkbh5b{background:#e8a14b}.demo-dot.g.svelte-zkbh5b{background:#8ab864}.vim-file.svelte-zkbh5b{font-size:11px;color:var(--fg-2);letter-spacing:.04em}.vim-bar-spacer.svelte-zkbh5b{flex:1}.vim-hint-cta.svelte-zkbh5b{font-size:11px;color:var(--fg-3);cursor:pointer;padding:3px 9px;border:1px solid var(--line);border-radius:6px;background:transparent;transition:all var(--t-fast)}.vim-hint-cta.svelte-zkbh5b:hover{color:var(--fg-0);border-color:var(--line-2);background:var(--bg-2)}.vim-solved-tag.svelte-zkbh5b{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--ok)}.vim-code.svelte-zkbh5b{padding:18px 16px;font-size:clamp(16px,1.8vw,20px);line-height:1.7;min-height:96px}.vim-line.svelte-zkbh5b{display:grid;grid-template-columns:30px 1fr;gap:16px}.vim-lineno.svelte-zkbh5b{color:var(--fg-4);text-align:right;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;font-size:.8em;padding-top:.18em}.vim-line.svelte-zkbh5b code:where(.svelte-zkbh5b){color:var(--fg-0);white-space:pre}.vim-linetext.svelte-zkbh5b{white-space:pre}.vim-blk.svelte-zkbh5b{background:var(--accent);color:var(--bg-page);border-radius:2px;box-shadow:0 0 10px var(--accent-glow)}.vim-editor.insert.svelte-zkbh5b .vim-blk:where(.svelte-zkbh5b){background:var(--ok)}.vim-bar-cur.svelte-zkbh5b{display:inline-block;width:2px;height:1.15em;background:var(--ok);vertical-align:-.18em;margin:0 -1px;border-radius:1px;box-shadow:0 0 8px color-mix(in oklab,var(--ok) 40%,transparent);animation:svelte-zkbh5b-caret-pulse 1.05s steps(1) infinite}@keyframes svelte-zkbh5b-caret-pulse{50%{opacity:.25}}.vim-statusbar.svelte-zkbh5b{display:flex;align-items:center;gap:12px;height:28px;padding:0 14px;background:var(--bg-page);border-top:1px solid var(--line);font-size:12px}.vim-mode.svelte-zkbh5b{font-weight:600;letter-spacing:.08em}.vim-mode.normal.svelte-zkbh5b{color:var(--fg-2)}.vim-mode.insert.svelte-zkbh5b{color:var(--ok)}.vim-status-spacer.svelte-zkbh5b{flex:1}.vim-pending.svelte-zkbh5b{color:var(--accent);font-variant-numeric:tabular-nums;min-width:28px;text-align:right}.vim-pos.svelte-zkbh5b{color:var(--fg-4);font-variant-numeric:tabular-nums}.vim-showme.svelte-zkbh5b{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:10px;background:var(--bg-1);border:1px solid var(--line-2)}.vim-showme-keys.svelte-zkbh5b{display:flex;align-items:center;gap:6px}.vim-showme-keys.svelte-zkbh5b .mono:where(.svelte-zkbh5b){font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin-right:4px}.vim-showme-teach.svelte-zkbh5b{font-size:12px;color:var(--fg-3);line-height:1.6;margin:0}.vim-trail-row.svelte-zkbh5b{display:flex;align-items:center;gap:12px}.vim-trail-label.svelte-zkbh5b{font-size:10px;letter-spacing:.16em;text-transform:uppercase;flex-shrink:0}.vim-trail.svelte-zkbh5b{flex:1;display:flex;align-items:center;gap:6px;min-height:38px;padding:6px 10px;overflow-x:auto;background:var(--bg-1);border:1px solid var(--line);border-radius:9px;scrollbar-width:thin}.vim-trail-empty.svelte-zkbh5b{font-size:12px;white-space:nowrap}.vim-keycap.svelte-zkbh5b{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:26px;padding:0 7px;font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--fg-0);background:var(--bg-3);border:1px solid var(--line-2);border-bottom-width:2px;border-radius:5px;flex-shrink:0}.vim-keycap.ghost.svelte-zkbh5b{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in oklab,var(--accent) 28%,transparent)}.vim-keycap.sm.svelte-zkbh5b{min-width:18px;height:20px;font-size:11px;padding:0 5px}.vim-reset.svelte-zkbh5b{font-size:11px;color:var(--fg-3);padding:5px 9px;border:1px solid var(--line);border-radius:6px;background:transparent;flex-shrink:0;cursor:pointer}.vim-reset.svelte-zkbh5b:hover{color:var(--fg-0);border-color:var(--line-2);background:var(--bg-2)}.vim-success.svelte-zkbh5b{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:16px 18px;border-radius:12px;background:color-mix(in oklab,var(--ok) 7%,var(--bg-1));border:1px solid color-mix(in oklab,var(--ok) 30%,transparent);animation:svelte-zkbh5b-fadeUp .22s var(--ease)}.vim-success-l.svelte-zkbh5b{display:flex;align-items:flex-start;gap:12px}.vim-success-icon.svelte-zkbh5b{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:color-mix(in oklab,var(--ok) 20%,transparent);color:var(--ok);flex-shrink:0}.vim-success-h.svelte-zkbh5b{font-size:15px;font-weight:600;color:var(--fg-0);margin:4px 0}.vim-success-sub.svelte-zkbh5b{font-size:12px;line-height:1.7;color:var(--fg-2);margin:0;max-width:52ch}.vim-success-keys.svelte-zkbh5b{display:inline-flex;align-items:center;gap:4px;vertical-align:middle}.vim-success-actions.svelte-zkbh5b{display:inline-flex;gap:10px;flex-shrink:0}.btn.svelte-zkbh5b{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:13px;padding:8px 14px;border-radius:8px;border:1px solid var(--line-2);background:var(--bg-2);color:var(--fg-1);cursor:pointer;transition:all var(--t-fast)}.btn.ghost.svelte-zkbh5b{background:transparent}.btn.sm.svelte-zkbh5b{font-size:12px;padding:6px 11px}.btn.primary.svelte-zkbh5b{background:var(--accent);border-color:var(--accent);color:#1a1207;font-weight:600}.hero-kbd.svelte-zkbh5b{background:#00000029;color:#3a2604;border-color:#0003;margin-left:4px}.kbd.svelte-zkbh5b{display:inline-flex;align-items:center;padding:1px 6px;font-family:var(--font-mono);font-size:11px;border-radius:4px;border:1px solid var(--line-2);background:var(--bg-3);color:var(--fg-2)}.vimbar.svelte-zkbh5b{position:sticky;bottom:0;z-index:30;display:flex;align-items:center;gap:0;height:26px;font-family:var(--font-mono);font-size:12px;background:var(--bg-page);border-top:1px solid var(--line);padding:0 10px}.vimbar-mode.svelte-zkbh5b{padding:0 10px;height:100%;display:inline-flex;align-items:center;font-weight:700;letter-spacing:.06em;font-size:12px;margin-right:10px}.vimbar-mode.normal.svelte-zkbh5b{background:var(--accent);color:#1a1207}.vimbar-mode.type.svelte-zkbh5b,.vimbar-mode.DONE.svelte-zkbh5b{background:var(--ok);color:#0d1a08}.vimbar-left.svelte-zkbh5b{display:inline-flex;align-items:center;gap:8px;color:var(--fg-2)}.vimbar-spacer.svelte-zkbh5b{flex:1}.vimbar-right.svelte-zkbh5b{display:inline-flex;align-items:center;gap:12px;color:var(--fg-3)}.dim.svelte-zkbh5b{color:var(--fg-3)}@keyframes svelte-zkbh5b-fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 680px){.vim-brief.svelte-zkbh5b{flex-direction:column}.vim-goal.svelte-zkbh5b{align-items:flex-start}}.lesson-header.svelte-rislsw{margin-bottom:32px}.lesson-title.svelte-rislsw{font-family:var(--font-mono);font-size:24px;font-weight:600;color:var(--fg-0);margin:0 0 6px;letter-spacing:-.02em}.lesson-summary.svelte-rislsw{color:var(--fg-2);font-size:14px;margin:0}
