.diagram.svelte-15zjjt4{margin:0 0 var(--sp-4);padding:var(--sp-4) var(--sp-4) var(--sp-2);max-width:100%;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-md)}.diagram-scroll.svelte-15zjjt4{overflow-x:auto;overflow-y:hidden;max-width:100%;position:relative}.diagram-scroll.overflowing.svelte-15zjjt4{mask-image:linear-gradient(to right,black calc(100% - 28px),transparent 100%);-webkit-mask-image:linear-gradient(to right,black calc(100% - 28px),transparent 100%);transition:mask-image var(--dur-2) var(--ease-out)}.diagram-scroll.overflowing.at-end.svelte-15zjjt4{mask-image:none;-webkit-mask-image:none}figcaption.svelte-15zjjt4{margin-top:var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--line);font-family:var(--font-mono);font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--fg-2)}.diagram.svelte-15zjjt4 .d-svg{display:block;max-width:none}.diagram.svelte-15zjjt4 .d-svg text{font-family:var(--font-mono)}.diagram.svelte-15zjjt4 .d-box{fill:var(--bg-3);stroke:var(--line-3);stroke-width:1}.diagram.svelte-15zjjt4 .d-box-head{fill:var(--accent-soft);stroke:none}.diagram.svelte-15zjjt4 .d-box-weak{stroke-width:1}.diagram.svelte-15zjjt4 .d-box-inner{fill:none;stroke:var(--line-3);stroke-width:1}.diagram.svelte-15zjjt4 .d-box-step,.diagram.svelte-15zjjt4 .d-band{fill:var(--bg-3);stroke:var(--line-2)}.diagram.svelte-15zjjt4 .d-chip{fill:var(--accent-soft);stroke:none}.diagram.svelte-15zjjt4 .d-table-frame{fill:none;stroke:var(--line-3)}.diagram.svelte-15zjjt4 .d-plate{fill:var(--bg-2);stroke:none}.diagram.svelte-15zjjt4 text.d-t{fill:var(--fg-1)}.diagram.svelte-15zjjt4 text.d-t-head{fill:var(--fg-0);font-weight:600}.diagram.svelte-15zjjt4 text.d-t-title{fill:var(--fg-0);font-weight:600}.diagram.svelte-15zjjt4 text.d-t-dim{fill:var(--fg-3)}.diagram.svelte-15zjjt4 text.d-t-rel{fill:var(--fg-2)}.diagram.svelte-15zjjt4 .d-underline{stroke:var(--fg-1);stroke-width:1}.diagram.svelte-15zjjt4 .d-underline-dash{stroke-dasharray:3 2}.diagram.svelte-15zjjt4 text.d-t-req{font-weight:600}.diagram.svelte-15zjjt4 text.d-t-card{fill:var(--accent-fg);font-weight:600}.diagram.svelte-15zjjt4 .d-edge{stroke:var(--line-3);stroke-width:1.5;fill:none}.diagram.svelte-15zjjt4 .d-edge-fk{stroke:var(--accent)}.diagram.svelte-15zjjt4 .d-edge-id-outer{stroke-width:6}.diagram.svelte-15zjjt4 .d-edge-id-inner{stroke:var(--bg-2);stroke-width:2.5;fill:none}.diagram.svelte-15zjjt4 .d-mark{stroke:var(--accent);stroke-width:1.6;fill:none}.diagram.svelte-15zjjt4 .d-mark-o{fill:var(--bg-2)}.diagram.svelte-15zjjt4 text.d-t-sub{fill:var(--fg-2)}.diagram.svelte-15zjjt4 .d-axis{stroke:var(--line-2)}.diagram.svelte-15zjjt4 .d-grid-line{stroke:var(--line-2);stroke-width:1}.diagram.svelte-15zjjt4 .d-grid-faint{stroke:var(--line)}.diagram.svelte-15zjjt4 .d-cell-sep{stroke:var(--line-2);stroke-width:1}.diagram.svelte-15zjjt4 .d-arrowhead{fill:var(--line-3);fill:context-stroke}.diagram.svelte-15zjjt4 .d-edge-dash{stroke-dasharray:5 3}.diagram.svelte-15zjjt4 rect.d-v-accent,.diagram.svelte-15zjjt4 circle.d-v-accent{fill:var(--accent-soft);stroke:var(--accent)}.diagram.svelte-15zjjt4 rect.d-v-ok,.diagram.svelte-15zjjt4 circle.d-v-ok{fill:color-mix(in oklab,var(--ok) 16%,transparent);stroke:var(--ok)}.diagram.svelte-15zjjt4 rect.d-v-warn,.diagram.svelte-15zjjt4 circle.d-v-warn{fill:color-mix(in oklab,var(--warn) 16%,transparent);stroke:var(--warn)}.diagram.svelte-15zjjt4 rect.d-v-err,.diagram.svelte-15zjjt4 circle.d-v-err{fill:color-mix(in oklab,var(--err) 18%,transparent);stroke:var(--err)}.diagram.svelte-15zjjt4 rect.d-v-muted,.diagram.svelte-15zjjt4 circle.d-v-muted{fill:var(--bg-1);stroke:var(--line-2)}.diagram.svelte-15zjjt4 .d-edge.d-v-accent,.diagram.svelte-15zjjt4 .d-axis.d-v-accent{stroke:var(--accent)}.diagram.svelte-15zjjt4 .d-edge.d-v-ok,.diagram.svelte-15zjjt4 .d-axis.d-v-ok{stroke:var(--ok)}.diagram.svelte-15zjjt4 .d-edge.d-v-warn,.diagram.svelte-15zjjt4 .d-axis.d-v-warn{stroke:var(--warn)}.diagram.svelte-15zjjt4 .d-edge.d-v-err,.diagram.svelte-15zjjt4 .d-axis.d-v-err{stroke:var(--err)}.diagram.svelte-15zjjt4 .d-edge.d-v-muted,.diagram.svelte-15zjjt4 .d-axis.d-v-muted{stroke:var(--line)}.diagram.svelte-15zjjt4 text.d-v-accent{fill:var(--accent-fg)}.diagram.svelte-15zjjt4 text.d-v-ok{fill:var(--ok)}.diagram.svelte-15zjjt4 text.d-v-warn{fill:var(--warn)}.diagram.svelte-15zjjt4 text.d-v-err{fill:var(--err)}.diagram.svelte-15zjjt4 text.d-v-muted{fill:var(--fg-3)}.cards-enrol.svelte-11nso8b{display:inline-flex;margin:0}.lc.svelte-wbcv61{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-3);padding:var(--sp-7) 0 var(--sp-5);scroll-margin-top:calc(var(--shell-top) + var(--sp-5));border-radius:var(--r-md)}.lc.svelte-wbcv61:focus-visible{outline-offset:var(--sp-2)}.lc-divider.svelte-wbcv61{color:var(--fg-3);font-size:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:var(--tracking-caption)}.lc-h.svelte-wbcv61{font-family:var(--font-serif);font-weight:500;font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:-.015em;color:var(--accent-fg);margin:0}.lc.muted.svelte-wbcv61 .lc-h:where(.svelte-wbcv61){color:var(--fg-1)}.lc-stat.svelte-wbcv61{display:flex;align-items:baseline;flex-wrap:wrap;justify-content:center;gap:var(--sp-4);margin-top:var(--sp-2)}.lc-wpm.svelte-wbcv61{font-size:var(--fs-display);line-height:var(--lh-display);font-weight:600;color:var(--fg-0);font-variant-numeric:tabular-nums}.lc.muted.svelte-wbcv61 .lc-wpm:where(.svelte-wbcv61){color:var(--fg-1)}.lc-wpm-u.svelte-wbcv61{font-size:var(--fs-footnote);line-height:var(--lh-footnote);font-weight:400;color:var(--fg-3);margin-left:var(--sp-2);letter-spacing:var(--tracking-caption);text-transform:uppercase}.lc-acc.svelte-wbcv61{font-size:var(--fs-callout);line-height:var(--lh-callout);color:var(--fg-2);font-variant-numeric:tabular-nums}.lc-spark.svelte-wbcv61{opacity:.95}.lc-pb.svelte-wbcv61{font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--accent-fg);margin:var(--sp-0) 0 0}.lc-note.svelte-wbcv61{font-size:var(--fs-footnote);line-height:var(--lh-footnote);margin:var(--sp-0) 0 0}.dim.svelte-wbcv61{color:var(--fg-3)}.lc-actions.svelte-wbcv61{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-4)}.callout.svelte-1yiueyh{display:flex;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-sm);border-left:3px solid var(--accent);background:var(--accent-soft);font-family:var(--font-serif);font-size:var(--fs-prose);line-height:var(--lh-prose);color:var(--fg-1);max-width:640px;margin-bottom:var(--sp-4)}[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-family:var(--font-mono);font-size:var(--fs-caption);text-transform:uppercase;margin-top:var(--sp-1);color:inherit}.callout-text.svelte-1yiueyh{min-width:0}.callout-text.svelte-1yiueyh p{margin:0}.callout-text.svelte-1yiueyh p+p{margin-top:.5em}.callout-text.svelte-1yiueyh code{font-family:var(--font-mono);font-size:var(--fs-callout);line-height:var(--lh-callout)}.checkpoint-block.svelte-6ig31v{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-md);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:var(--fs-body);line-height:var(--lh-body);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 var(--sp-1);font-size:var(--fs-callout);line-height:var(--lh-callout);color:var(--fg-1)}.checkpoint-msg.svelte-6ig31v p{margin:0}.checkpoint-msg.svelte-6ig31v p+p{margin-top:.5em}.checkpoint-stats.svelte-6ig31v{margin:0;font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--ok)}.checkpoint-hint.svelte-6ig31v{margin:var(--sp-1) 0 0;font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--warn)}.checkpoint-btn.svelte-6ig31v{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 var(--sp-4);background:var(--ok);color:var(--ink-on-bright);font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);font-weight:600;border:0;border-radius:var(--r-sm);cursor:pointer;transition:filter var(--dur-2),transform var(--dur-1);align-self:center}.checkpoint-btn.svelte-6ig31v:hover{filter:brightness(1.1)}.checkpoint-btn.svelte-6ig31v:active{transform:translateY(1px)}[data-passed=false].svelte-6ig31v .checkpoint-btn:where(.svelte-6ig31v){background:var(--bg-3);color:var(--fg-1)}.checkpoint-recall.svelte-6ig31v{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-4) var(--sp-4);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-md);max-width:620px}.checkpoint-recall[data-correct=true].svelte-6ig31v{border-color:var(--ok);background:color-mix(in oklab,var(--ok) 8%,var(--bg-2))}.checkpoint-recall[data-correct=false].svelte-6ig31v{border-color:var(--warn);background:color-mix(in oklab,var(--warn) 7%,var(--bg-2))}.recall-label.svelte-6ig31v{margin:0;font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);text-transform:uppercase;letter-spacing:.07em;color:var(--fg-3)}.recall-prompt.svelte-6ig31v{margin:0;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--fg-0)}.recall-prompt.svelte-6ig31v p{margin:0}.recall-prompt.svelte-6ig31v p+p{margin-top:.5em}.recall-prompt.svelte-6ig31v .katex-display{margin:.4em 0}.recall-input.svelte-6ig31v{font-size:var(--fs-input);line-height:var(--lh-input);font-family:var(--font-mono);color:var(--fg-0);background:var(--bg-3);border:1px solid var(--line-2);border-radius:var(--r-sm);min-height:44px;padding:var(--sp-2) var(--sp-3);resize:vertical;width:100%;box-sizing:border-box}.recall-input.svelte-6ig31v::placeholder{color:var(--fg-3)}.recall-input.svelte-6ig31v:hover{border-color:var(--line-3)}.recall-input.svelte-6ig31v:focus-visible{border-color:var(--line-3)}.recall-btn.svelte-6ig31v{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 var(--sp-4);background:var(--accent);color:var(--accent-ink);font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);font-weight:600;border:0;border-radius:var(--r-sm);cursor:pointer;transition:filter var(--dur-2),transform var(--dur-1)}.recall-btn.svelte-6ig31v:hover{filter:brightness(1.1)}.recall-btn.svelte-6ig31v:active{transform:translateY(1px)}.recall-btn.svelte-6ig31v:disabled{background:var(--bg-3);color:var(--fg-3);cursor:not-allowed}.recall-verdict.svelte-6ig31v{font-family:var(--font-mono);font-size:var(--fs-footnote);line-height:var(--lh-footnote);font-weight:600;color:var(--warn)}.recall-verdict[data-correct=true].svelte-6ig31v{color:var(--ok)}.recall-answer.svelte-6ig31v{display:flex;flex-direction:column;gap:var(--sp-1)}.recall-answer-label.svelte-6ig31v{margin:0;font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);text-transform:uppercase;letter-spacing:.07em;color:var(--fg-3)}.recall-diff.svelte-6ig31v{margin:0;font-size:var(--fs-callout);line-height:var(--lh-callout);color:var(--fg-1)}.seg-same.svelte-6ig31v{color:var(--fg-0)}.seg-missing.svelte-6ig31v{color:var(--ok);text-decoration:underline;text-underline-offset:2px}.seg-extra.svelte-6ig31v{color:var(--warn);text-decoration:line-through;opacity:.7}.recall-message.svelte-6ig31v{margin:0;font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--fg-2)}.recall-message.svelte-6ig31v p{margin:0}.recall-message.svelte-6ig31v p+p{margin-top:.5em}.exam.svelte-8nje2x{max-width:680px;border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--bg-2);padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3)}.exam-head.svelte-8nje2x{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.exam-eyebrow.svelte-8nje2x{font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);text-transform:uppercase;letter-spacing:var(--tracking-caption);color:var(--fg-3)}.exam-marks.svelte-8nje2x{flex-shrink:0;font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);font-weight:600;color:var(--accent-fg);background:var(--accent-soft);border:1px solid color-mix(in oklab,var(--accent) 30%,transparent);border-radius:var(--r-sm);padding:var(--sp-0) var(--sp-2);white-space:nowrap}.exam-prompt.svelte-8nje2x{font-family:var(--font-serif);font-size:var(--fs-prose);line-height:var(--lh-prose);color:var(--fg-0)}.exam-prompt.svelte-8nje2x p{margin:0}.exam-prompt.svelte-8nje2x p+p{margin-top:.5em}.exam-prompt.svelte-8nje2x .katex-display{margin:.4em 0}.exam-length.svelte-8nje2x{margin:0;font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--fg-3)}.exam-input.svelte-8nje2x{font-family:var(--font-mono);font-size:var(--fs-input);line-height:var(--lh-input);color:var(--fg-0);background:var(--bg-3);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-4);resize:vertical;width:100%;box-sizing:border-box}.exam-input.svelte-8nje2x::placeholder{color:var(--fg-3)}.exam-input.svelte-8nje2x:hover{border-color:var(--line-3)}.exam-input.svelte-8nje2x:focus-visible{border-color:var(--line-3)}.exam-foot.svelte-8nje2x{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);flex-wrap:wrap}.exam-count.svelte-8nje2x{font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--fg-3)}.exam-btn.svelte-8nje2x{align-self:flex-start;min-height:44px;padding:var(--sp-2) var(--sp-4);font-family:var(--font-mono);font-size:var(--fs-callout);line-height:var(--lh-callout);color:var(--accent-ink);background:var(--accent);border:1px solid var(--accent);border-radius:var(--r-sm);cursor:pointer;transition:background var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out)}.exam-btn.svelte-8nje2x:hover:not(:disabled){background:var(--accent-2);border-color:var(--accent-2)}.exam-btn.svelte-8nje2x:active:not(:disabled){transform:translateY(1px)}.exam-btn.svelte-8nje2x:disabled{color:var(--fg-3);background:var(--bg-3);border-color:var(--line-2);cursor:not-allowed}.exam-panel.svelte-8nje2x{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-1)}.exam-panel.model.svelte-8nje2x{border-left:2px solid var(--accent)}.exam-label.svelte-8nje2x{margin:0;font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);text-transform:uppercase;letter-spacing:var(--tracking-caption);color:var(--fg-3)}.exam-attempt.svelte-8nje2x{margin:0;font-family:var(--font-mono);font-size:var(--fs-callout);line-height:var(--lh-callout);color:var(--fg-2);white-space:pre-wrap}.exam-model.svelte-8nje2x{font-family:var(--font-serif);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--fg-0)}.exam-model.svelte-8nje2x p{margin:0}.exam-model.svelte-8nje2x p+p{margin-top:.5em}.exam-rubric.svelte-8nje2x{display:flex;flex-direction:column;gap:var(--sp-1)}.exam-point.svelte-8nje2x{display:flex;align-items:flex-start;gap:var(--sp-3);min-height:44px;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg-3);cursor:pointer}.exam-point.svelte-8nje2x:hover{background:var(--bg-4)}.exam-point.svelte-8nje2x input:where(.svelte-8nje2x){flex-shrink:0;width:20px;height:20px;margin:var(--sp-1) 0 0;border-radius:var(--r-xs);accent-color:var(--accent)}.exam-point-text.svelte-8nje2x{font-family:var(--font-mono);font-size:var(--fs-callout);line-height:var(--lh-callout);color:var(--fg-1)}.exam-point-text.svelte-8nje2x p{margin:0}.exam-score.svelte-8nje2x{display:flex;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap}.exam-award.svelte-8nje2x{font-family:var(--font-mono);font-size:var(--fs-title-3);line-height:var(--lh-title-3);font-weight:600;color:var(--fg-0);font-variant-numeric:tabular-nums}.exam-verdict.svelte-8nje2x{font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--fg-3)}.exam-explain.svelte-8nje2x{font-family:var(--font-serif);font-size:var(--fs-callout);line-height:var(--lh-callout);color:var(--fg-2)}.exam-explain.svelte-8nje2x p{margin:0}.exam-explain.svelte-8nje2x p+p{margin-top:.5em}@media (max-width: 599px){.exam.svelte-8nje2x{padding:var(--sp-3)}.exam-foot.svelte-8nje2x{flex-direction:column;align-items:stretch}.exam-btn.svelte-8nje2x{align-self:stretch}}.journal.svelte-1n8wmoe{border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--bg-2);padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3)}.journal-eyebrow.svelte-1n8wmoe{font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:.04em;color:var(--fg-3);margin:0}.journal-prompt.svelte-1n8wmoe{font-family:var(--font-serif);font-size:var(--fs-prose);line-height:var(--lh-prose);color:var(--fg-0);margin:0}.journal-prompt.svelte-1n8wmoe p{margin:0}.journal-prompt.svelte-1n8wmoe p+p{margin-top:.5em}.journal-form.svelte-1n8wmoe{display:flex;flex-direction:column;gap:var(--sp-2)}.journal-grid.svelte-1n8wmoe{display:flex;flex-direction:column;gap:var(--sp-2);overflow-x:auto}.journal-head.svelte-1n8wmoe,.journal-row.svelte-1n8wmoe,.journal-totals.svelte-1n8wmoe,.journal-line.svelte-1n8wmoe{display:grid;grid-template-columns:minmax(10em,1fr) 7.5em 7.5em 44px;gap:var(--sp-2);align-items:center;min-width:0}@media (max-width: 599px){.journal-head.svelte-1n8wmoe{display:none}.journal-row.svelte-1n8wmoe,.journal-totals.svelte-1n8wmoe{grid-template-columns:1fr 1fr 44px;grid-template-areas:"account account remove" "dr cr remove"}.journal-row.svelte-1n8wmoe>:where(.svelte-1n8wmoe):nth-child(1),.journal-totals.svelte-1n8wmoe>:where(.svelte-1n8wmoe):nth-child(1){grid-area:account}.journal-row.svelte-1n8wmoe>:where(.svelte-1n8wmoe):nth-child(2),.journal-totals.svelte-1n8wmoe>:where(.svelte-1n8wmoe):nth-child(2){grid-area:dr}.journal-row.svelte-1n8wmoe>:where(.svelte-1n8wmoe):nth-child(3),.journal-totals.svelte-1n8wmoe>:where(.svelte-1n8wmoe):nth-child(3){grid-area:cr}.journal-row.svelte-1n8wmoe>:where(.svelte-1n8wmoe):nth-child(4),.journal-totals.svelte-1n8wmoe>:where(.svelte-1n8wmoe):nth-child(4){grid-area:remove}.journal-line.svelte-1n8wmoe{grid-template-columns:1.4em minmax(0,1fr) 5.5em 5.5em;font-size:var(--fs-footnote);line-height:var(--lh-footnote)}.journal-foot.svelte-1n8wmoe{flex-direction:column;align-items:stretch}.journal-hint.svelte-1n8wmoe{text-align:left;order:-1}.journal-btn.svelte-1n8wmoe{width:100%}}.journal-head.svelte-1n8wmoe{font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:.04em;color:var(--fg-3);padding:0 var(--sp-1)}.num.svelte-1n8wmoe{text-align:right;font-variant-numeric:tabular-nums}.journal-account.svelte-1n8wmoe,.journal-amount.svelte-1n8wmoe{font-family:var(--font-mono);font-size:var(--fs-input);line-height:var(--lh-input);color:var(--fg-0);background:var(--bg-3);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);min-height:44px;width:100%;box-sizing:border-box}.journal-account.svelte-1n8wmoe::placeholder,.journal-amount.svelte-1n8wmoe::placeholder{color:var(--fg-3)}.journal-account.svelte-1n8wmoe:hover,.journal-amount.svelte-1n8wmoe:hover{border-color:var(--line-3)}.journal-account.svelte-1n8wmoe:focus-visible,.journal-amount.svelte-1n8wmoe:focus-visible{border-color:var(--line-3)}.journal-amount.svelte-1n8wmoe{text-align:right}.journal-account.svelte-1n8wmoe:disabled,.journal-amount.svelte-1n8wmoe:disabled{background:var(--bg-2);color:var(--fg-3);cursor:not-allowed}.journal-row.bad.svelte-1n8wmoe .journal-account:where(.svelte-1n8wmoe),.journal-row.bad.svelte-1n8wmoe .journal-amount:where(.svelte-1n8wmoe){border-color:var(--err)}.journal-totals.svelte-1n8wmoe{font-family:var(--font-mono);font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--fg-2);padding:var(--sp-2) var(--sp-1) 0;border-top:1px solid var(--line-2)}.journal-balance.svelte-1n8wmoe{color:var(--fg-3)}.journal-balance.balanced.svelte-1n8wmoe{color:var(--ok)}.journal-foot.svelte-1n8wmoe{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);flex-wrap:wrap}.journal-hint.svelte-1n8wmoe{font-family:var(--font-mono);font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--fg-3);flex:1;text-align:right}.journal-btn.svelte-1n8wmoe{min-height:44px;padding:var(--sp-2) var(--sp-4);font-family:var(--font-mono);font-size:var(--fs-callout);line-height:var(--lh-callout);color:var(--accent-ink);background:var(--accent);border:1px solid var(--accent);border-radius:var(--r-sm);cursor:pointer;transition:background var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out)}.journal-btn.svelte-1n8wmoe:hover:not(:disabled){background:var(--accent-2);border-color:var(--accent-2)}.journal-btn.svelte-1n8wmoe:active:not(:disabled){transform:translateY(1px)}.journal-btn.svelte-1n8wmoe:disabled{color:var(--fg-3);background:var(--bg-3);border-color:var(--line-2);cursor:not-allowed}.journal-btn.ghost.svelte-1n8wmoe{color:var(--fg-2);background:transparent;border-color:var(--line-2)}.journal-btn.ghost.svelte-1n8wmoe:hover:not(:disabled){background:var(--bg-3);border-color:var(--line-3)}.journal-verdict.svelte-1n8wmoe{font-family:var(--font-mono);font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--err);margin:var(--sp-0) 0 0}.journal-verdict.ok.svelte-1n8wmoe{color:var(--ok)}.journal-expected.svelte-1n8wmoe{background:var(--bg-1);border:1px solid var(--line);border-left:2px solid var(--accent);border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-1);overflow-x:auto}.journal-label.svelte-1n8wmoe{margin:0 0 var(--sp-1);font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:.04em;color:var(--fg-3)}.journal-label.extra.svelte-1n8wmoe{margin-top:var(--sp-2)}.journal-line.svelte-1n8wmoe{grid-template-columns:1.4em minmax(10em,1fr) 7.5em 7.5em;font-size:var(--fs-callout);line-height:var(--lh-callout);color:var(--fg-1);padding:var(--sp-1);border-radius:var(--r-sm)}.journal-line.cr.svelte-1n8wmoe .journal-name:where(.svelte-1n8wmoe){padding-left:1.5em}.journal-mark.svelte-1n8wmoe{font-family:var(--font-mono);font-size:var(--fs-callout);line-height:var(--lh-callout);font-weight:700}.journal-line.hit.svelte-1n8wmoe{background:color-mix(in oklab,var(--ok) 12%,var(--bg-page))}.journal-line.hit.svelte-1n8wmoe .journal-mark:where(.svelte-1n8wmoe){color:var(--ok)}.journal-line.miss.svelte-1n8wmoe,.journal-line.extra.svelte-1n8wmoe{background:color-mix(in oklab,var(--err) 12%,var(--bg-page))}.journal-line.miss.svelte-1n8wmoe .journal-mark:where(.svelte-1n8wmoe),.journal-line.extra.svelte-1n8wmoe .journal-mark:where(.svelte-1n8wmoe){color:var(--err)}.journal-explain.svelte-1n8wmoe{font-size:var(--fs-callout);line-height:var(--lh-callout);color:var(--fg-2);margin:0}.journal-explain.svelte-1n8wmoe p{margin:0}.journal-explain.svelte-1n8wmoe p+p{margin-top:.5em}.mcq.svelte-18wv4l6{border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--bg-2);padding:var(--sp-4) var(--sp-4) var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3)}.mcq-eyebrow.svelte-18wv4l6{font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:.04em;color:var(--fg-3);margin:0}.mcq-prompt.svelte-18wv4l6{font-family:var(--font-mono);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--fg-0);margin:0}.mcq-prompt.svelte-18wv4l6 p{margin:0}.mcq-prompt.svelte-18wv4l6 p+p{margin-top:.5em}.mcq-options.svelte-18wv4l6{display:flex;flex-direction:column;gap:var(--sp-2)}.mcq-option.svelte-18wv4l6{display:flex;align-items:baseline;gap:var(--sp-3);width:100%;text-align:left;padding:var(--sp-3) var(--sp-3);min-height:48px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--bg-3);color:var(--fg-1);font-size:var(--fs-callout);line-height:var(--lh-callout);cursor:pointer;transition:border-color var(--dur-2),background var(--dur-2),transform var(--dur-1)}.mcq-option.svelte-18wv4l6:hover:not(:disabled){background:var(--bg-4);border-color:var(--line-3)}.mcq-option.svelte-18wv4l6:active:not(:disabled){transform:translateY(1px)}.mcq-option.svelte-18wv4l6:disabled{cursor:not-allowed}.mcq-letter.svelte-18wv4l6{flex:none;font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);font-weight:600;color:var(--fg-3);min-width:1.2em}.mcq-text.svelte-18wv4l6{flex:1}.mcq-mark.svelte-18wv4l6{flex:none;font-family:var(--font-mono);font-size:var(--fs-callout);line-height:var(--lh-callout);font-weight:700}.mcq-option.right.svelte-18wv4l6{border-color:var(--ok);background:color-mix(in oklab,var(--ok) 12%,var(--bg-3));color:var(--fg-0)}.mcq-option.right.svelte-18wv4l6 .mcq-letter:where(.svelte-18wv4l6),.mcq-option.right.svelte-18wv4l6 .mcq-mark:where(.svelte-18wv4l6){color:var(--ok)}.mcq-option.wrong.svelte-18wv4l6{border-color:var(--err);background:color-mix(in oklab,var(--err) 12%,var(--bg-3));color:var(--fg-0)}.mcq-option.wrong.svelte-18wv4l6 .mcq-letter:where(.svelte-18wv4l6),.mcq-option.wrong.svelte-18wv4l6 .mcq-mark:where(.svelte-18wv4l6){color:var(--err)}.mcq-verdict.svelte-18wv4l6{font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--err);margin:2px 0 0}.mcq-verdict.ok.svelte-18wv4l6{color:var(--ok)}.mcq-why.svelte-18wv4l6,.mcq-explain.svelte-18wv4l6{font-size:var(--fs-callout);line-height:var(--lh-callout);color:var(--fg-2);margin:0}.mcq-why.svelte-18wv4l6{border-left:2px solid var(--line-2);padding-left:var(--sp-3)}.mcq-why.wrong-why.svelte-18wv4l6{border-left-color:var(--err)}.mcq-why.svelte-18wv4l6 p,.mcq-explain.svelte-18wv4l6 p{margin:0}.mcq-why.svelte-18wv4l6 p+p,.mcq-explain.svelte-18wv4l6 p+p{margin-top:.5em}.num.svelte-1fzteoa{border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--bg-2);padding:var(--sp-4) var(--sp-4) var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3)}.num-eyebrow.svelte-1fzteoa{font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:.04em;color:var(--fg-3);margin:0}.num-prompt.svelte-1fzteoa{font-family:var(--font-mono);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--fg-0);margin:0}.num-prompt.svelte-1fzteoa p{margin:0}.num-prompt.svelte-1fzteoa p+p{margin-top:.5em}.num-prompt.svelte-1fzteoa .katex-display{margin:.4em 0}.num-cells.svelte-1fzteoa{display:flex;flex-direction:column;gap:var(--sp-2)}.num-cell.svelte-1fzteoa{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:var(--sp-1) var(--sp-3);align-items:center;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--bg-3);transition:border-color var(--dur-2),background var(--dur-2)}@media (max-width: 599px){.num-cell.svelte-1fzteoa{grid-template-columns:minmax(0,1fr)}}.num-label.svelte-1fzteoa{font-size:var(--fs-callout);line-height:var(--lh-callout);color:var(--fg-1)}.num-field.svelte-1fzteoa{display:flex;align-items:center;gap:var(--sp-1)}.num-unit.svelte-1fzteoa{flex:none;font-family:var(--font-mono);font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--fg-3)}.num-input.svelte-1fzteoa{font-size:var(--fs-input);line-height:var(--lh-input);font-family:var(--font-mono);color:var(--fg-0);background:var(--bg-3);border:1px solid var(--line-2);border-radius:var(--r-sm);min-height:44px;padding:var(--sp-2) var(--sp-2);width:100%;min-width:0;box-sizing:border-box;text-align:right}.num-input.svelte-1fzteoa::placeholder{color:var(--fg-3)}.num-input.svelte-1fzteoa:hover:not(:disabled){border-color:var(--line-3)}.num-input.svelte-1fzteoa:focus-visible{border-color:var(--line-3)}.num-input.svelte-1fzteoa:disabled{color:var(--fg-1);cursor:not-allowed}.num-input[aria-invalid=true].svelte-1fzteoa{border-color:var(--err)}.num-mark.svelte-1fzteoa{flex:none;font-family:var(--font-mono);font-size:var(--fs-callout);line-height:var(--lh-callout);font-weight:700}.num-hint.svelte-1fzteoa,.num-expected.svelte-1fzteoa{grid-column:1 / -1;margin:0;font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--fg-3)}.num-hint.svelte-1fzteoa{color:var(--err)}.num-cell.right.svelte-1fzteoa{border-color:var(--ok);background:color-mix(in oklab,var(--ok) 12%,var(--bg-3))}.num-cell.right.svelte-1fzteoa .num-mark:where(.svelte-1fzteoa),.num-cell.right.svelte-1fzteoa .num-expected:where(.svelte-1fzteoa){color:var(--ok)}.num-cell.wrong.svelte-1fzteoa{border-color:var(--err);background:color-mix(in oklab,var(--err) 12%,var(--bg-3))}.num-cell.wrong.svelte-1fzteoa .num-mark:where(.svelte-1fzteoa),.num-cell.wrong.svelte-1fzteoa .num-expected:where(.svelte-1fzteoa){color:var(--err)}.num-btn.svelte-1fzteoa{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 var(--sp-4);font-family:var(--font-mono);font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--accent-fg);background:var(--accent-soft);border:1px solid color-mix(in oklab,var(--accent) 30%,transparent);border-radius:var(--r-sm);cursor:pointer;transition:background var(--dur-2),border-color var(--dur-2),transform var(--dur-1)}.num-btn.svelte-1fzteoa:hover:not(:disabled){background:color-mix(in oklab,var(--accent) 20%,transparent)}.num-btn.svelte-1fzteoa:active:not(:disabled){transform:translateY(1px)}.num-btn.svelte-1fzteoa:disabled{color:var(--fg-3);background:var(--bg-3);border-color:var(--line-2);cursor:not-allowed}.num-verdict.svelte-1fzteoa{font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--err);margin:2px 0 0}.num-verdict.ok.svelte-1fzteoa{color:var(--ok)}.num-explain.svelte-1fzteoa{font-size:var(--fs-callout);line-height:var(--lh-callout);color:var(--fg-2);margin:0}.num-explain.svelte-1fzteoa p{margin:0}.num-explain.svelte-1fzteoa p+p{margin-top:.5em}.prose-block.svelte-1871mlq{font-family:var(--font-serif);font-size:var(--fs-prose);line-height:var(--lh-prose);color:var(--fg-1);max-width:var(--reading);margin-inline:auto}.prose-block.svelte-1871mlq h1,.prose-block.svelte-1871mlq h2,.prose-block.svelte-1871mlq h3,.prose-block.svelte-1871mlq h4{font-family:var(--font-mono);font-weight:600;color:var(--fg-0);margin:0 0 var(--sp-3);letter-spacing:var(--tracking-title)}.prose-block.svelte-1871mlq h1,.prose-block.svelte-1871mlq h2{font-size:var(--fs-title-2);line-height:var(--lh-title-2)}.prose-block.svelte-1871mlq h3{font-size:var(--fs-title-3);line-height:var(--lh-title-3)}.prose-block.svelte-1871mlq h4{font-size:var(--fs-headline);line-height:var(--lh-headline)}.prose-block.svelte-1871mlq p{margin:0 0 var(--sp-4)}.prose-block.svelte-1871mlq ol{padding-left:var(--sp-5);margin:0 0 var(--sp-4)}.prose-block.svelte-1871mlq li{margin-bottom:var(--sp-1)}.prose-block.svelte-1871mlq strong{color:var(--fg-0);font-weight:600}.prose-block.svelte-1871mlq code{font-family:var(--font-mono);font-size:var(--fs-callout);line-height:var(--lh-callout);background:var(--bg-3);border:1px solid var(--line);border-radius:var(--r-xs);padding:1px var(--sp-1);color:var(--accent-fg)}.prose-block.svelte-1871mlq pre{background:var(--bg-1);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-4);overflow-x:auto;margin:0 0 var(--sp-4)}.prose-block.svelte-1871mlq pre code{background:none;border:none;padding:0;color:var(--fg-1);font-size:var(--fs-callout);line-height:var(--lh-callout);white-space:pre}.prose-block.svelte-1871mlq em{color:var(--fg-0);font-style:italic}.prose-block.svelte-1871mlq .katex-display{margin:var(--sp-4) 0;padding:2px 0;overflow-x:auto;overflow-y:hidden}.prose-block.svelte-1871mlq .math-fallback{font-family:var(--font-mono);color:var(--fg-0)}.prose-block.svelte-1871mlq .table-wrap{overflow-x:auto;margin:0 0 var(--sp-4);border:1px solid var(--line-2);border-radius:var(--r-sm)}.prose-block.svelte-1871mlq table{border-collapse:collapse;width:100%;font-size:var(--fs-callout);line-height:var(--lh-callout);font-family:var(--font-mono)}.prose-block.svelte-1871mlq th,.prose-block.svelte-1871mlq td{padding:var(--sp-2) var(--sp-3);text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.prose-block.svelte-1871mlq thead th{color:var(--fg-0);font-weight:600;background:var(--bg-1);border-bottom:1px solid var(--line-2);white-space:nowrap}.prose-block.svelte-1871mlq tbody tr:last-child td{border-bottom:0}.prose-block.svelte-1871mlq tbody tr:hover{background:var(--bg-2)}.prose-block.svelte-1871mlq td code{white-space:nowrap}.sg.svelte-g7vr7d{border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--bg-2);padding:var(--sp-4) var(--sp-4) var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3)}.sg-reason.svelte-g7vr7d{font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:.04em;color:var(--fg-3);margin:0}.sg-prompt.svelte-g7vr7d{font-family:var(--font-mono);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--fg-0);margin:0}.sg-prompt.svelte-g7vr7d p{margin:0}.sg-prompt.svelte-g7vr7d p+p{margin-top:.5em}.sg-prompt.svelte-g7vr7d .katex-display{margin:.4em 0}.sg-cue.svelte-g7vr7d{font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--fg-3);margin:0}.sg-reveal.svelte-g7vr7d{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--accent-fg);background:var(--accent-soft);border:1px solid color-mix(in oklab,var(--accent) 30%,transparent);border-radius:var(--r-sm);padding:0 var(--sp-3);cursor:pointer;transition:background var(--dur-2),transform var(--dur-1);min-height:44px}.sg-reveal.svelte-g7vr7d:hover{background:color-mix(in oklab,var(--accent) 20%,transparent)}.sg-reveal.svelte-g7vr7d:active{transform:translateY(1px)}.sg-answer.svelte-g7vr7d{background:var(--bg-page);border:1px solid var(--line);border-left:2px solid var(--accent);border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-3);color:var(--fg-0);font-size:var(--fs-body);line-height:var(--lh-body);overflow-x:auto}.sg-answer.mono.svelte-g7vr7d{font-family:var(--font-mono);font-size:var(--fs-footnote);line-height:var(--lh-footnote);white-space:pre}.sg-answer.svelte-g7vr7d p{margin:0}.sg-answer.svelte-g7vr7d p+p{margin-top:.5em}.sg-explain.svelte-g7vr7d{font-size:var(--fs-callout);line-height:var(--lh-callout);color:var(--fg-2);margin:0}.sg-explain.svelte-g7vr7d p{margin:0}.sg-explain.svelte-g7vr7d p+p{margin-top:.5em}.sg-ask.svelte-g7vr7d{font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--fg-3);margin:var(--sp-1) 0 0}.sg-ratings.svelte-g7vr7d{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-2)}.sg-rate.svelte-g7vr7d{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:var(--sp-2) var(--sp-1);min-height:52px;border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--bg-3);cursor:pointer;transition:border-color var(--dur-2),background var(--dur-2),transform var(--dur-1)}.sg-rate.svelte-g7vr7d:hover{background:var(--bg-4)}.sg-rate.svelte-g7vr7d:active{transform:translateY(1px)}.sg-rate-label.svelte-g7vr7d{font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);font-weight:600;color:var(--fg-0)}.sg-rate-hint.svelte-g7vr7d{font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--fg-3)}.sg-rate.again.svelte-g7vr7d:hover{border-color:var(--err)}.sg-rate.hard.svelte-g7vr7d:hover{border-color:var(--warn)}.sg-rate.good.svelte-g7vr7d:hover{border-color:var(--accent)}.sg-rate.easy.svelte-g7vr7d:hover{border-color:var(--ok)}@media (max-width: 599px){.sg-ratings.svelte-g7vr7d{grid-template-columns:repeat(2,minmax(0,1fr))}}.block-source.svelte-pz9m9y{display:flex;gap:var(--sp-2);align-items:baseline;margin:var(--sp-2) 0 0;max-width:640px;font-family:var(--font-mono);font-size:var(--fs-footnote);line-height:var(--lh-footnote)}.bs-label.svelte-pz9m9y{flex:none;letter-spacing:var(--tracking-caption);text-transform:uppercase;font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--fg-3)}cite.svelte-pz9m9y{min-width:0;font-style:normal;color:var(--fg-3);overflow-wrap:anywhere}@media (max-width: 599px){.block-source.svelte-pz9m9y{flex-direction:column;gap:var(--sp-1)}}.type-along-block.svelte-141fjsd{display:flex;flex-direction:column;gap:var(--sp-2)}.type-along-prompt.svelte-141fjsd{font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);text-transform:uppercase;letter-spacing:.07em;color:var(--fg-3);margin:0}.type-along-prompt.svelte-141fjsd p{margin:0}.type-along-prompt.svelte-141fjsd .katex{text-transform:none;letter-spacing:normal}.canvas-stage.svelte-141fjsd{display:flex;width:100%;max-width:680px;height:180px;border-radius:var(--r-sm);background:var(--bg-1);border:1px solid var(--line);overflow:hidden;transition:opacity var(--dur-3)}.canvas-stage.done.svelte-141fjsd{opacity:.5}.canvas-stage.code.svelte-141fjsd{border:0;background:transparent}.type-along-result.svelte-141fjsd{display:flex;align-items:baseline;gap:var(--sp-4);padding:var(--sp-3) var(--sp-3);background:var(--bg-2);border:1px solid var(--ok);border-radius:var(--r-sm);max-width:320px}.result-wpm.svelte-141fjsd{font-family:var(--font-mono);font-size:var(--fs-title-2);line-height:var(--lh-title-2);font-weight:700;color:var(--ok)}.result-wpm.svelte-141fjsd small:where(.svelte-141fjsd){font-size:var(--fs-caption);line-height:var(--lh-caption);font-weight:400}.result-acc.svelte-141fjsd{font-family:var(--font-mono);font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--fg-2)}.type-along-explanation.svelte-141fjsd{font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--fg-2);margin:0;max-width:600px}.type-along-explanation.svelte-141fjsd p{margin:0}.type-along-explanation.svelte-141fjsd p+p{margin-top:.5em}.recall-block.svelte-141fjsd{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-4) var(--sp-4);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-md);max-width:620px}.recall-block[data-correct=true].svelte-141fjsd{border-color:var(--ok);background:color-mix(in oklab,var(--ok) 8%,var(--bg-2))}.recall-block[data-correct=false].svelte-141fjsd{border-color:var(--warn);background:color-mix(in oklab,var(--warn) 7%,var(--bg-2))}.recall-label.svelte-141fjsd{margin:0;font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);text-transform:uppercase;letter-spacing:.07em;color:var(--fg-3)}.recall-prompt.svelte-141fjsd{margin:0;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--fg-0)}.recall-prompt.svelte-141fjsd p{margin:0}.recall-prompt.svelte-141fjsd p+p{margin-top:.5em}.recall-prompt.svelte-141fjsd .katex-display{margin:.4em 0}.recall-input.svelte-141fjsd{font-size:var(--fs-input);line-height:var(--lh-input);font-family:var(--font-mono);color:var(--fg-0);background:var(--bg-3);border:1px solid var(--line-2);border-radius:var(--r-sm);min-height:44px;padding:var(--sp-2) var(--sp-3);resize:vertical;width:100%;box-sizing:border-box}.recall-input.svelte-141fjsd::placeholder{color:var(--fg-3)}.recall-input.svelte-141fjsd:hover{border-color:var(--line-3)}.recall-input.svelte-141fjsd:focus-visible{border-color:var(--line-3)}.recall-btn.svelte-141fjsd{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 var(--sp-4);background:var(--accent);color:var(--accent-ink);font-family:var(--font-mono);font-size:var(--fs-footnote);line-height:var(--lh-footnote);font-weight:600;border:0;border-radius:var(--r-sm);cursor:pointer;transition:filter var(--dur-2),transform var(--dur-1)}.recall-btn.svelte-141fjsd:hover{filter:brightness(1.1)}.recall-btn.svelte-141fjsd:active{transform:translateY(1px)}.recall-btn.svelte-141fjsd:disabled{background:var(--bg-3);color:var(--fg-3);cursor:not-allowed}.recall-verdict.svelte-141fjsd{font-family:var(--font-mono);font-size:var(--fs-footnote);line-height:var(--lh-footnote);font-weight:600;color:var(--warn)}.recall-verdict[data-correct=true].svelte-141fjsd{color:var(--ok)}.recall-answer.svelte-141fjsd{display:flex;flex-direction:column;gap:var(--sp-1)}.recall-answer-label.svelte-141fjsd{margin:0;font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);text-transform:uppercase;letter-spacing:.07em;color:var(--fg-3)}.recall-diff.svelte-141fjsd{margin:0;font-size:var(--fs-callout);line-height:var(--lh-callout);color:var(--fg-1)}.seg-same.svelte-141fjsd{color:var(--fg-0)}.seg-missing.svelte-141fjsd{color:var(--ok);text-decoration:underline;text-underline-offset:2px}.seg-extra.svelte-141fjsd{color:var(--warn);text-decoration:line-through;opacity:.7}.recall-explanation.svelte-141fjsd{font-size:var(--fs-callout);line-height:var(--lh-callout);color:var(--fg-2);margin:0;max-width:600px}.recall-explanation.svelte-141fjsd p{margin:0}.recall-explanation.svelte-141fjsd p+p{margin-top:.5em}.code-exercise.svelte-j7sdmv{display:flex;flex-direction:column;gap:var(--sp-5);max-width:920px}.cl-spec.svelte-j7sdmv{display:flex;flex-direction:column;gap:var(--sp-3)}.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:var(--fs-title-2);line-height:var(--lh-title-2);letter-spacing:var(--tracking-title);color:var(--fg-0);margin:0;max-width:30ch}.cl-spec-meta.svelte-j7sdmv{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.cl-check.svelte-j7sdmv{font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--fg-3)}.cl-check-v.svelte-j7sdmv{color:var(--fg-1)}.ce-stats.svelte-j7sdmv{display:inline-flex;align-items:center;gap:var(--sp-4)}.ce-stat.svelte-j7sdmv{display:inline-flex;align-items:baseline;gap:var(--sp-1)}.ce-stat.svelte-j7sdmv .metric:where(.svelte-j7sdmv){font-size:var(--fs-title-3);line-height:var(--lh-title-3);color:var(--fg-0)}.metric.warn.svelte-j7sdmv{color:var(--warn)}.ce-stat-l.svelte-j7sdmv{font-size:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:var(--tracking-caption);text-transform:uppercase;color:var(--fg-3)}.cl-work.svelte-j7sdmv{display:flex;flex-direction:column;gap:var(--sp-4)}.cl-editor.svelte-j7sdmv{background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-1);transition:border-color var(--dur-3) var(--ease-out),box-shadow var(--dur-3) var(--ease-out)}.cl-editor.svelte-j7sdmv:not(.is-done){border-color:color-mix(in oklab,var(--accent) 22%,var(--line-2))}.cl-editor.svelte-j7sdmv:has(.cl-write-host:where(.svelte-j7sdmv) :focus-visible){outline:2px solid var(--accent-fg);outline-offset:2px}.cl-term-bar.svelte-j7sdmv{display:flex;align-items:center;gap:var(--sp-3);min-height:44px;padding:var(--sp-1) var(--sp-3);background:var(--bg-2);border-bottom:1px solid var(--line)}.demo-dots.svelte-j7sdmv{display:inline-flex;gap:var(--sp-2)}.demo-dot.svelte-j7sdmv{width:10px;height:10px;border-radius:50%;opacity:.7;display:inline-block}.demo-dot.r.svelte-j7sdmv{background:var(--err)}.demo-dot.y.svelte-j7sdmv{background:var(--warn)}.demo-dot.g.svelte-j7sdmv{background:var(--ok)}.cl-term-label.svelte-j7sdmv{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--fg-2);letter-spacing:.04em}.cl-term-mode.svelte-j7sdmv{font-size:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:var(--tracking-caption);color:var(--accent-fg);padding:0 var(--sp-2);background:var(--accent-soft);border:1px solid color-mix(in oklab,var(--accent) 25%,transparent);border-radius:var(--r-xs)}.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:var(--fs-footnote);line-height:var(--lh-footnote)}.cl-bar-btn.svelte-j7sdmv{min-height:44px;animation:svelte-j7sdmv-clRunIn var(--dur-3) var(--ease-out)}.snippet-render.svelte-j7sdmv{font-family:var(--font-mono)}.snippet-line.svelte-j7sdmv{display:grid;grid-template-columns:40px 1fr;padding:0 var(--sp-1)}.snippet-lineno.svelte-j7sdmv{color:var(--fg-4);text-align:right;padding-right:var(--sp-3);-webkit-user-select:none;user-select:none;border-right:1px solid var(--line);margin-right:var(--sp-4);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:var(--err-soft);border-radius:var(--r-xs)}.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;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:var(--sp-3) var(--sp-2) var(--sp-3) 0;font-size:var(--fs-body);line-height:var(--lh-body);background:var(--bg-3)}.cl-code-render.svelte-j7sdmv .snippet-line:where(.svelte-j7sdmv){padding:0 var(--sp-4)}.cl-editor-foot.svelte-j7sdmv{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--line);background:var(--bg-2)}.cl-prog-track.svelte-j7sdmv{flex:1;height:4px;background:var(--bg-3);border-radius:var(--r-pill);overflow:hidden}.cl-prog-fill.svelte-j7sdmv{height:100%;background:var(--accent);border-radius:var(--r-pill);box-shadow:0 0 6px var(--accent-glow);transition:width var(--dur-1) linear}.cl-foot-hint.svelte-j7sdmv{font-size:var(--fs-footnote);line-height:var(--lh-footnote);white-space:nowrap}.cl-output.svelte-j7sdmv{background:var(--bg-well);border:1px solid var(--line-2);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-1);animation:svelte-j7sdmv-clSlide var(--dur-3) var(--ease-out)}.cl-term-host.svelte-j7sdmv{font-size:var(--fs-footnote);line-height:var(--lh-footnote);margin-left:auto}.cl-term-body.svelte-j7sdmv{padding:var(--sp-3) var(--sp-4);font-size:var(--fs-callout);line-height:var(--lh-callout);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-fg);margin-right:var(--sp-1)}.cl-stdout.svelte-j7sdmv{color:var(--fg-0)}.cl-stderr.svelte-j7sdmv{color:var(--err)}.cl-running.svelte-j7sdmv{color:var(--fg-3)}.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}.cl-result.svelte-j7sdmv{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);border:1px solid var(--line-2);background:var(--bg-2);animation:fade-up var(--dur-3) var(--ease-out) var(--dur-1) 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-2))}.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-2))}.cl-result-icon.svelte-j7sdmv{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;flex-shrink:0}.cl-result.pass.svelte-j7sdmv .cl-result-icon:where(.svelte-j7sdmv){background:var(--ok-soft);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:var(--fs-footnote);line-height:var(--lh-footnote);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:var(--fs-footnote);line-height:var(--lh-footnote)}.cl-write-host.svelte-j7sdmv{padding:var(--sp-2)}.cl-write-host.svelte-j7sdmv .cm-editor{font-size:var(--fs-body)}.cl-cases.svelte-j7sdmv{list-style:none;margin:var(--sp-2) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--sp-1)}.cl-case.svelte-j7sdmv{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-footnote);line-height:var(--lh-footnote);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:var(--fs-footnote);line-height:var(--lh-footnote)}.cl-next.svelte-j7sdmv{display:flex;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-1)}.dim.svelte-j7sdmv{color:var(--fg-3)}@keyframes svelte-j7sdmv-caret-pulse{0%,50%{opacity:1}51%,to{opacity: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}}@media (prefers-reduced-motion: reduce){.cl-bar-btn.svelte-j7sdmv,.cl-output.svelte-j7sdmv,.cl-result.svelte-j7sdmv{animation:none}}.sql-exercise.svelte-1jvsfbu{display:flex;flex-direction:column;gap:var(--sp-5);max-width:920px}.sx-spec.svelte-1jvsfbu{display:flex;flex-direction:column;gap:var(--sp-3)}.eyebrow.svelte-1jvsfbu{display:inline-flex;align-items:center;gap:0}.sx-goal.svelte-1jvsfbu{font-family:var(--font-serif);font-weight:500;font-size:var(--fs-title-2);line-height:var(--lh-title-2);letter-spacing:var(--tracking-title);color:var(--fg-0);margin:0;max-width:30ch}.sx-spec-meta.svelte-1jvsfbu{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.sx-schema-toggle.svelte-1jvsfbu{min-height:44px;font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--fg-2)}.sx-schema.svelte-1jvsfbu{font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--fg-2);background:var(--bg-3);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);margin:0;white-space:pre;overflow-x:auto}.sx-stats.svelte-1jvsfbu{display:inline-flex;align-items:center;gap:var(--sp-4)}.sx-stat.svelte-1jvsfbu{display:inline-flex;align-items:baseline;gap:var(--sp-1)}.sx-stat.svelte-1jvsfbu .metric:where(.svelte-1jvsfbu){font-size:var(--fs-title-3);line-height:var(--lh-title-3);color:var(--fg-0)}.metric.warn.svelte-1jvsfbu{color:var(--warn)}.sx-stat-l.svelte-1jvsfbu{font-size:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:var(--tracking-caption);text-transform:uppercase;color:var(--fg-3)}.sx-editor.svelte-1jvsfbu{background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-1);transition:border-color var(--dur-3) var(--ease-out),box-shadow var(--dur-3) var(--ease-out)}.sx-editor.svelte-1jvsfbu:not(.is-done){border-color:color-mix(in oklab,var(--accent) 20%,var(--line-2))}.sx-editor.svelte-1jvsfbu:has(.sx-write-host:where(.svelte-1jvsfbu) :focus-visible){outline:2px solid var(--accent-fg);outline-offset:2px}.sx-term-bar.svelte-1jvsfbu{display:flex;align-items:center;gap:var(--sp-3);min-height:44px;padding:var(--sp-1) var(--sp-3);background:var(--bg-2);border-bottom:1px solid var(--line)}.demo-dots.svelte-1jvsfbu{display:inline-flex;gap:var(--sp-2)}.demo-dot.svelte-1jvsfbu{width:10px;height:10px;border-radius:50%;opacity:.7;display:inline-block}.demo-dot.r.svelte-1jvsfbu{background:var(--err)}.demo-dot.y.svelte-1jvsfbu{background:var(--warn)}.demo-dot.g.svelte-1jvsfbu{background:var(--ok)}.sx-term-label.svelte-1jvsfbu{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--fg-2);letter-spacing:.04em}.sx-term-mode.svelte-1jvsfbu{font-size:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:var(--tracking-caption);color:var(--accent-fg);padding:0 var(--sp-2);background:var(--accent-soft);border:1px solid color-mix(in oklab,var(--accent) 25%,transparent);border-radius:var(--r-xs)}.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:var(--fs-footnote);line-height:var(--lh-footnote)}.sx-term-host.svelte-1jvsfbu{font-size:var(--fs-footnote);line-height:var(--lh-footnote);margin-left:auto}.sx-bar-btn.svelte-1jvsfbu{min-height:44px}.sx-bar-btn.svelte-1jvsfbu .kbd:where(.svelte-1jvsfbu){color:inherit;background:transparent;border-color:color-mix(in oklab,currentColor 30%,transparent)}.sx-write-host.svelte-1jvsfbu{padding:var(--sp-2)}.sx-code-render.svelte-1jvsfbu{padding:var(--sp-3) var(--sp-2) var(--sp-3) 0;font-family:var(--font-mono);font-size:var(--fs-body);line-height:var(--lh-body);background:var(--bg-3)}.sx-line.svelte-1jvsfbu{display:grid;grid-template-columns:40px 1fr;padding:0 var(--sp-4)}.sx-lineno.svelte-1jvsfbu{color:var(--fg-4);text-align:right;padding-right:var(--sp-3);-webkit-user-select:none;user-select:none;border-right:1px solid var(--line);margin-right:var(--sp-4);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:var(--err-soft);border-radius:var(--r-xs)}.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;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:var(--sp-4);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--line);background:var(--bg-2)}.sx-prog-track.svelte-1jvsfbu{flex:1;height:4px;background:var(--bg-3);border-radius:var(--r-pill);overflow:hidden}.sx-prog-fill.svelte-1jvsfbu{height:100%;background:var(--accent);border-radius:var(--r-pill);box-shadow:0 0 6px var(--accent-glow);transition:width var(--dur-1) linear}.sx-foot-hint.svelte-1jvsfbu{font-size:var(--fs-footnote);line-height:var(--lh-footnote);white-space:nowrap}.sx-output.svelte-1jvsfbu{background:var(--bg-well);border:1px solid var(--line-2);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-1);animation:svelte-1jvsfbu-slideIn var(--dur-3) var(--ease-out)}.sx-term-body.svelte-1jvsfbu{padding:var(--sp-3) var(--sp-4);min-height:64px}.sx-running.svelte-1jvsfbu{color:var(--fg-3);font-size:var(--fs-footnote);line-height:var(--lh-footnote)}.sx-error.svelte-1jvsfbu{color:var(--err);font-size:var(--fs-footnote);line-height:var(--lh-footnote);white-space:pre-wrap;margin:0}.sx-ok.svelte-1jvsfbu{color:var(--ok);font-size:var(--fs-footnote);line-height:var(--lh-footnote)}.sx-table-wrap.svelte-1jvsfbu{overflow-x:auto}.sx-table.svelte-1jvsfbu{border-collapse:collapse;font-size:var(--fs-footnote);line-height:var(--lh-footnote);width:max-content;min-width:100%}.sx-table.svelte-1jvsfbu th:where(.svelte-1jvsfbu){text-align:left;color:var(--accent-fg);font-weight:600;padding:var(--sp-1) var(--sp-4) var(--sp-2) 2px;border-bottom:1px solid var(--line-2);white-space:nowrap}.sx-table.svelte-1jvsfbu td:where(.svelte-1jvsfbu){padding:var(--sp-1) var(--sp-4) var(--sp-1) 2px;color:var(--fg-1);white-space:nowrap;border-bottom:1px solid var(--line);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-3);font-style:italic}.sx-more.svelte-1jvsfbu,.sx-rowcount.svelte-1jvsfbu{font-size:var(--fs-footnote);line-height:var(--lh-footnote);padding:var(--sp-2) 2px 0}.sx-result.svelte-1jvsfbu{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);border:1px solid var(--line-2);background:var(--bg-2);animation:fade-up var(--dur-3) var(--ease-out) var(--dur-1) 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-2))}.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-2))}.sx-result-icon.svelte-1jvsfbu{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;flex-shrink:0}.sx-result.pass.svelte-1jvsfbu .sx-result-icon:where(.svelte-1jvsfbu){background:var(--ok-soft);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:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--fg-1)}.sx-result-hint.svelte-1jvsfbu{margin-left:auto;font-size:var(--fs-footnote);line-height:var(--lh-footnote)}.sx-next.svelte-1jvsfbu{display:flex;gap:var(--sp-3);flex-wrap:wrap;align-items:center;margin-top:var(--sp-1)}.dim.svelte-1jvsfbu{color:var(--fg-3)}@keyframes svelte-1jvsfbu-caret-pulse{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes svelte-1jvsfbu-slideIn{0%{transform:translateY(-8px);opacity:.6}to{transform:none;opacity:1}}@media (prefers-reduced-motion: reduce){.sx-output.svelte-1jvsfbu,.sx-result.svelte-1jvsfbu{animation:none}}.lesson-player.svelte-17g313z{display:flex;flex-direction:column;gap:var(--sp-5)}.block-wrap.svelte-17g313z{transition:opacity var(--dur-3) var(--ease-out);scroll-margin-top:calc(var(--shell-top) + 33vh);border-radius:var(--r-md)}.block-wrap.svelte-17g313z:focus-visible{outline-offset:var(--sp-2)}[data-done=true].svelte-17g313z{opacity:.6;pointer-events:none}[data-active=false][data-done=false].svelte-17g313z{display:none}.skip-btn.svelte-17g313z{display:flex;margin:var(--sp-2) 0 0 auto;min-height:44px;font-size:var(--fs-footnote);line-height:var(--lh-footnote);font-weight:400;color:var(--fg-3);text-decoration:underline;text-underline-offset:3px;border-color:transparent}.skip-btn.svelte-17g313z:hover{color:var(--fg-1)}.continue-btn.svelte-17g313z{margin-top:var(--sp-3);min-height:44px;gap:var(--sp-2)}.continue-key.svelte-17g313z{font-family:var(--font-mono);font-size:var(--fs-kbd);line-height:1;padding:var(--sp-0) var(--sp-1);border:1px solid var(--line-2);border-bottom-width:2px;border-radius:var(--r-xs);color:var(--fg-2)}.sources.svelte-1phrssc{display:flex;gap:var(--sp-4);align-items:baseline;margin:var(--sp-6) 0 0;padding-top:var(--sp-3);border-top:1px solid var(--line-2)}.sources-label.svelte-1phrssc{flex:none;font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:var(--tracking-caption);text-transform:uppercase;color:var(--fg-3)}.sources-list.svelte-1phrssc{margin:0;padding:0;list-style:none;min-width:0}.sources-list.svelte-1phrssc li:where(.svelte-1phrssc)+li:where(.svelte-1phrssc){margin-top:var(--sp-2)}cite.svelte-1phrssc{font-family:var(--font-mono);font-style:normal;font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--fg-3);overflow-wrap:anywhere}@media (max-width: 599px){.sources.svelte-1phrssc{flex-direction:column;gap:var(--sp-2)}}.tl-checkpoint.svelte-1l9cow7{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:620px;gap:var(--sp-1)}.tl-checkpoint.svelte-1l9cow7 .ascii-divider:where(.svelte-1l9cow7){margin-bottom:var(--sp-2)}.tl-cp-verdict.svelte-1l9cow7{display:flex;flex-direction:column;align-items:center}.tl-spark.svelte-1l9cow7{display:inline-flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);padding:var(--sp-1) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg-2)}.tl-spark-l.svelte-1l9cow7{font-size:var(--fs-caption);line-height:var(--lh-caption)}.tl-cp-h.svelte-1l9cow7{font-family:var(--font-serif);font-weight:500;font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:-.03em;color:var(--fg-0);margin:var(--sp-1) 0 var(--sp-2)}.tl-cp-sub.svelte-1l9cow7{font-family:var(--font-serif);font-size:var(--fs-prose);line-height:var(--lh-prose);color:var(--fg-2);margin:0 0 var(--sp-5);max-width:48ch;font-style:italic}.tl-gates.svelte-1l9cow7{display:flex;gap:var(--sp-4);width:100%;max-width:520px}.tl-gate-meter.svelte-1l9cow7{flex:1;display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-4);background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-md)}.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:var(--fs-title-1);line-height:var(--lh-title-1);color:var(--fg-0);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.tl-gate-u.svelte-1l9cow7{font-size:var(--fs-body);color:var(--fg-2);margin-left:1px}.tl-gate-t.svelte-1l9cow7{font-size:var(--fs-caption);line-height:var(--lh-caption)}.tl-gate-track.svelte-1l9cow7{position:relative;height:4px;background:var(--bg-3);border-radius:var(--r-pill)}.tl-gate-fill.svelte-1l9cow7{display:block;height:100%;border-radius:var(--r-pill);background:var(--fg-2);transition:width var(--dur-4) var(--ease-out)}.tl-gate-meter.met.svelte-1l9cow7 .tl-gate-fill:where(.svelte-1l9cow7){background:var(--ok)}.tl-gate-mark.svelte-1l9cow7{position:absolute;top:calc(-1 * var(--sp-1));width:2px;height:12px;background:var(--fg-2);border-radius:var(--r-xs);transform:translate(-1px)}.tl-gate-label.svelte-1l9cow7{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-caption);line-height:var(--lh-caption);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-3)}.tl-weak.svelte-1l9cow7{display:inline-flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;justify-content:center;margin:var(--sp-4) 0 var(--sp-1);font-size:var(--fs-caption);line-height:var(--lh-caption)}.tl-weak-key.svelte-1l9cow7{background:var(--err-soft);border-color:color-mix(in oklab,var(--err) 32%,transparent);color:var(--fg-0)}.tl-weak-note.svelte-1l9cow7{margin-left:var(--sp-0)}.tl-cp-actions.svelte-1l9cow7{display:flex;gap:var(--sp-3);flex-wrap:wrap;justify-content:center;margin-top:var(--sp-5)}.dim.svelte-1l9cow7{color:var(--fg-3)}.hero-kbd.svelte-1l9cow7{background:color-mix(in oklab,var(--accent-ink) 16%,transparent);color:var(--accent-ink-dim);border-color:color-mix(in oklab,var(--accent-ink) 20%,transparent);margin-left:var(--sp-1)}.tl-fingers.svelte-y2ivpd{display:flex;align-items:flex-end;justify-content:center;gap:clamp(var(--sp-5),4vw,var(--sp-7));min-height:calc(var(--fbar-h) + var(--sp-6));transition:opacity var(--dur-3) var(--ease-out)}.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:var(--sp-1)}.tl-fingerbars.svelte-y2ivpd{display:flex;align-items:flex-end;gap:var(--sp-1);height:var(--fbar-h)}.tl-fbar.svelte-y2ivpd{width:9px;border-radius:var(--r-xs);background:transparent;border:2px solid var(--line-2);transition:background-color var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out)}.tl-fbar.thumb.svelte-y2ivpd{align-self:flex-end;width:11px;border-radius:var(--r-xs);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);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-bottom-left-radius:var(--r-sm);border-bottom-right-radius:var(--r-sm);border:2px solid var(--line);border-top:0}.tl-finger-caption.svelte-y2ivpd{align-self:center;min-width:96px;text-align:center;font-size:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:var(--tracking-caption);color:var(--accent-fg);padding-bottom:var(--sp-2)}.tl-fingers.hide.svelte-y2ivpd .tl-finger-caption:where(.svelte-y2ivpd){color:var(--fg-3)}.typing-lesson.svelte-1mrqkv7{min-height:calc(100dvh - var(--shell-top));display:flex;flex-direction:column;background:var(--bg-page);--key: clamp(34px, 3.4vw, 46px);--keygap: 7px;--fbar-h: 46px}.tl-top.svelte-1mrqkv7{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-2) var(--gutter);border-bottom:1px solid var(--line)}.tl-top-stats.svelte-1mrqkv7{display:inline-flex;align-items:center;gap:var(--sp-4);min-width:0}.tl-stat.svelte-1mrqkv7{display:inline-flex;align-items:baseline;gap:var(--sp-1)}.tl-stat.svelte-1mrqkv7 .metric{font-size:var(--fs-title-3);line-height:var(--lh-title-3);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:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:var(--tracking-caption);text-transform:uppercase;color:var(--fg-3)}.tl-target.svelte-1mrqkv7{font-size:var(--fs-caption);line-height:var(--lh-caption);padding-left:var(--sp-4);border-left:1px solid var(--line)}.tl-keys-toggle.svelte-1mrqkv7{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:var(--tracking-caption);text-transform:uppercase;color:var(--fg-2);background:transparent;border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;transition:color var(--dur-1) var(--ease-out),background-color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out)}.tl-keys-toggle.svelte-1mrqkv7:hover{color:var(--fg-0);background:var(--bg-3);border-color:var(--line-2)}.tl-keys-toggle.svelte-1mrqkv7:active{transform:translateY(1px)}.tl-keys-toggle.svelte-1mrqkv7:disabled{color:var(--fg-3);cursor:not-allowed;transform:none}.tl-keys-toggle.on.svelte-1mrqkv7{color:var(--accent-fg);background:var(--accent-soft);border-color:var(--accent-glow)}.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(var(--sp-4),2.6vh,var(--sp-6));padding:clamp(var(--sp-5),3vh,var(--sp-7)) var(--gutter)}.tl-stepper.svelte-1mrqkv7{display:flex;align-items:center;gap:0}.tl-step.svelte-1mrqkv7{display:inline-flex;align-items:center;gap:var(--sp-2)}.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:var(--fs-caption);line-height:1;font-variant-numeric:tabular-nums;color:var(--fg-3);background:var(--bg-2);border:1px solid var(--line-2);transition:color var(--dur-2) var(--ease-out),background-color var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out)}.tl-step-label.svelte-1mrqkv7{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--fg-3);letter-spacing:.02em;transition:color var(--dur-2) var(--ease-out)}.tl-step.cur.svelte-1mrqkv7 .tl-step-dot:where(.svelte-1mrqkv7){color:var(--accent-fg);background:var(--accent-soft);border-color: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:var(--ok-soft);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 var(--sp-3)}.tl-drill-head.svelte-1mrqkv7{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1)}.tl-drill-sub.svelte-1mrqkv7{font-size:var(--fs-caption);line-height:var(--lh-caption)}.tl-tips.svelte-1mrqkv7{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-2);max-width:min(var(--reading),88vw);margin:0;padding:0;list-style:none}.tl-tip.svelte-1mrqkv7{font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--fg-3);background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-pill);padding:var(--sp-1) var(--sp-3)}.tl-tip.svelte-1mrqkv7:before{content:"›";color:var(--accent-fg);margin-right:var(--sp-1)}.tl-rung-track.svelte-1mrqkv7{width:clamp(220px,40vw,460px);height:4px;background:var(--bg-3);border-radius:var(--r-pill);overflow:hidden}.tl-rung-fill.svelte-1mrqkv7{display:block;height:100%;background:var(--accent);border-radius:var(--r-pill);transition:width var(--dur-1) linear}.tl-stage-cp.svelte-1mrqkv7{justify-content:center}.vimbar.svelte-1mrqkv7{display:flex;align-items:center;gap:var(--sp-3);min-height:28px;padding:0 var(--gutter);background:var(--bg-1);border-top:1px solid var(--line);font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--fg-3)}.vimbar-mode.svelte-1mrqkv7{display:inline-flex;align-items:center;height:20px;padding:0 var(--sp-2);background:var(--bg-3);color:var(--fg-1);font-weight:600;letter-spacing:var(--tracking-caption);font-size:var(--fs-caption);border-radius:var(--r-xs)}.vimbar-mode.type.svelte-1mrqkv7{background:var(--accent-soft);color:var(--accent-fg)}.vimbar-mode.gate.svelte-1mrqkv7{background:var(--warn);color:var(--ink-on-bright)}.vimbar-left.svelte-1mrqkv7,.vimbar-right.svelte-1mrqkv7{display:inline-flex;align-items:center;gap:var(--sp-2)}.vimbar-spacer.svelte-1mrqkv7{flex:1}.vimbar-right.svelte-1mrqkv7 .kbd{background:transparent;border-color:var(--line);color:var(--fg-2)}@media (max-width: 599px){.tl-top-stats.svelte-1mrqkv7 .tl-target:where(.svelte-1mrqkv7){display:none}.tl-step-label.svelte-1mrqkv7,.vimbar-right.svelte-1mrqkv7{display:none}}.vim-lesson.svelte-zkbh5b{display:flex;flex-direction:column;background:var(--bg-page)}.vim-top.svelte-zkbh5b{display:flex;justify-content:flex-end;align-items:center;width:100%;max-width:760px;margin:0 auto;padding:var(--sp-2) var(--gutter) 0}.vim-stepper.svelte-zkbh5b{display:inline-flex;gap:0}.vim-step.svelte-zkbh5b{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;background:transparent;border:0;cursor:default}.vim-step.svelte-zkbh5b:active .vim-step-dot:where(.svelte-zkbh5b){transform:translateY(1px)}.vim-step.svelte-zkbh5b:disabled{color:var(--fg-3);cursor:not-allowed}.vim-step-dot.svelte-zkbh5b{width:24px;height:24px;border-radius:var(--r-sm);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:var(--fs-kbd);font-variant-numeric:tabular-nums;color:var(--fg-3);background:var(--bg-2);border:1px solid var(--line-2);transition:color var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out),background var(--dur-2) var(--ease-out)}.vim-step.svelte-zkbh5b:hover .vim-step-dot:where(.svelte-zkbh5b){color:var(--fg-1);border-color:var(--line-3)}.vim-step-dot.cur.svelte-zkbh5b{color:var(--accent-fg);background:var(--accent-soft);border-color:var(--accent)}.vim-step-dot.done.svelte-zkbh5b{color:var(--ok);background:var(--ok-soft);border-color:color-mix(in oklab,var(--ok) 30%,transparent)}.vim-stage.svelte-zkbh5b{flex:1}.vim-col.svelte-zkbh5b{max-width:760px;margin:0 auto;padding:var(--sp-5) var(--gutter) var(--sp-8);display:flex;flex-direction:column;gap:var(--sp-4)}.vim-brief.svelte-zkbh5b{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-5);flex-wrap:wrap}.vim-obj.svelte-zkbh5b{display:flex;flex-direction:column;gap:var(--sp-2)}.vim-level.svelte-zkbh5b{align-self:flex-start;font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:var(--tracking-caption);text-transform:uppercase;padding:var(--sp-0) var(--sp-2);border-radius:var(--r-xs);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-fg);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);font-size:var(--fs-title-3);line-height:var(--lh-title-3);color:var(--fg-0);max-width:44ch}.vim-obj-arrow.svelte-zkbh5b{color:var(--accent-fg);margin-right:var(--sp-1)}.vim-goal.svelte-zkbh5b{display:flex;flex-direction:column;gap:var(--sp-1);align-items:flex-end}.vim-goal-label.svelte-zkbh5b,.vim-trail-label.svelte-zkbh5b,.vim-showme-label.svelte-zkbh5b{font-size:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:var(--tracking-caption);text-transform:uppercase}.vim-goal-buf.svelte-zkbh5b{padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);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:var(--fs-footnote);line-height:var(--lh-footnote);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:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-2);transition:border-color var(--dur-3) var(--ease-out),box-shadow var(--dur-3) var(--ease-out)}.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:var(--sp-3);min-height:48px;padding:0 var(--sp-4);background:var(--bg-1);border-bottom:1px solid var(--line)}.demo-dots.svelte-zkbh5b{display:inline-flex;gap:var(--sp-2)}.demo-dot.svelte-zkbh5b{width:10px;height:10px;border-radius:50%;opacity:.7}.demo-dot.r.svelte-zkbh5b{background:var(--err)}.demo-dot.y.svelte-zkbh5b{background:var(--warn)}.demo-dot.g.svelte-zkbh5b{background:var(--ok)}.vim-file.svelte-zkbh5b{font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--fg-2);letter-spacing:.04em}.vim-bar-spacer.svelte-zkbh5b{flex:1}.vim-hint-cta.svelte-zkbh5b{min-height:44px;font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--fg-2);cursor:pointer;padding:0 var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);background:transparent;transition:color var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out),background var(--dur-2) var(--ease-out)}.vim-hint-cta.svelte-zkbh5b:hover{color:var(--fg-0);border-color:var(--line-2);background:var(--bg-2)}.vim-hint-cta.svelte-zkbh5b:active{transform:translateY(1px)}.vim-hint-cta.svelte-zkbh5b:disabled{color:var(--fg-3);cursor:not-allowed}.vim-solved-tag.svelte-zkbh5b{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--ok)}.vim-code.svelte-zkbh5b{padding:var(--sp-4);font-size:var(--fs-prose);line-height:var(--lh-prose);min-height:96px}.vim-line.svelte-zkbh5b{display:grid;grid-template-columns:30px 1fr;gap:var(--sp-4)}.vim-lineno.svelte-zkbh5b{color:var(--fg-3);text-align:right;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;font-size:var(--fs-footnote);padding-top:var(--sp-1)}.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(--accent-ink);box-shadow:0 0 10px var(--accent-glow)}.vim-editor.insert.svelte-zkbh5b .vim-blk:where(.svelte-zkbh5b){background:var(--ok);color:var(--ink-on-bright)}.vim-bar-cur.svelte-zkbh5b{display:inline-block;width:0;height:1.15em;border-left:2px solid var(--ok);vertical-align:-.18em;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:var(--sp-3);height:28px;padding:0 var(--sp-4);background:var(--bg-page);border-top:1px solid var(--line);font-size:var(--fs-caption);line-height:var(--lh-caption)}.vim-mode.svelte-zkbh5b{font-weight:600;letter-spacing:var(--tracking-caption)}.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-fg);font-variant-numeric:tabular-nums;min-width:28px;text-align:right}.vim-pos.svelte-zkbh5b{color:var(--fg-3);font-variant-numeric:tabular-nums}.vim-showme.svelte-zkbh5b{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--bg-1);border:1px solid var(--line-2)}.vim-showme-keys.svelte-zkbh5b{display:flex;align-items:center;gap:var(--sp-2)}.vim-showme-label.svelte-zkbh5b{margin-right:var(--sp-1)}.vim-showme-teach.svelte-zkbh5b{font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--fg-3);margin:0}.vim-trail-row.svelte-zkbh5b{display:flex;align-items:center;gap:var(--sp-3)}.vim-trail-label.svelte-zkbh5b{flex-shrink:0}.vim-trail.svelte-zkbh5b{flex:1;display:flex;align-items:center;gap:var(--sp-2);min-height:44px;padding:var(--sp-1) var(--sp-3);overflow-x:auto;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-sm);scrollbar-width:thin}.vim-trail-empty.svelte-zkbh5b{font-size:var(--fs-footnote);line-height:var(--lh-footnote);white-space:nowrap}.vim-keycap.svelte-zkbh5b{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:28px;padding:0 var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-kbd);font-weight:600;color:var(--fg-0);background:var(--bg-3);border:1px solid var(--line-2);border-bottom-width:2px;border-radius:var(--r-xs);flex-shrink:0}.vim-keycap.ghost.svelte-zkbh5b{color:var(--accent-fg);background:var(--accent-soft);border-color:color-mix(in oklab,var(--accent) 28%,transparent)}.vim-keycap.sm.svelte-zkbh5b{min-width:18px;height:20px;padding:0 var(--sp-1)}.vim-reset.svelte-zkbh5b{min-height:44px;font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--fg-2);padding:0 var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);background:transparent;flex-shrink:0;cursor:pointer;transition:color var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out),background var(--dur-2) var(--ease-out)}.vim-reset.svelte-zkbh5b:hover{color:var(--fg-0);border-color:var(--line-2);background:var(--bg-2)}.vim-reset.svelte-zkbh5b:active{transform:translateY(1px)}.vim-reset.svelte-zkbh5b:disabled{color:var(--fg-3);cursor:not-allowed}.vim-success.svelte-zkbh5b{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;padding:var(--sp-4);border-radius:var(--r-md);background:color-mix(in oklab,var(--ok) 7%,var(--bg-1));border:1px solid color-mix(in oklab,var(--ok) 30%,transparent);animation:fade-up var(--dur-3) var(--ease-out)}.vim-success-l.svelte-zkbh5b{display:flex;align-items:flex-start;gap:var(--sp-3)}.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:var(--fs-headline);line-height:var(--lh-headline);font-weight:600;color:var(--fg-0);margin:var(--sp-1) 0}.vim-success-sub.svelte-zkbh5b{font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--fg-2);margin:0;max-width:52ch}.vim-success-keys.svelte-zkbh5b{display:inline-flex;align-items:center;gap:var(--sp-1);vertical-align:middle}.vim-par.svelte-zkbh5b{font-size:var(--fs-caption);line-height:var(--lh-caption);margin-left:var(--sp-2);padding:0 var(--sp-2);border-radius:var(--r-pill);border:1px solid var(--line-2);vertical-align:middle}.vim-par.under.svelte-zkbh5b{color:var(--ok);border-color:color-mix(in oklab,var(--ok) 34%,transparent);background:var(--ok-soft)}.vim-par.par.svelte-zkbh5b{color:var(--fg-2)}.vim-par.over.svelte-zkbh5b{color:var(--err);border-color:color-mix(in oklab,var(--err) 32%,transparent);background:var(--err-soft)}.vim-gate.svelte-zkbh5b{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;padding:var(--sp-4);border-radius:var(--r-md);background:color-mix(in oklab,var(--accent) 7%,var(--bg-1));border:1px solid color-mix(in oklab,var(--accent) 34%,transparent);animation:fade-up var(--dur-3) var(--ease-out)}.vim-gate-l.svelte-zkbh5b{display:flex;align-items:flex-start;gap:var(--sp-3)}.vim-gate-icon.svelte-zkbh5b{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent-fg);flex-shrink:0}.vim-gate-h.svelte-zkbh5b{font-size:var(--fs-headline);line-height:var(--lh-headline);font-weight:600;color:var(--fg-0);margin:var(--sp-1) 0}.vim-gate-sub.svelte-zkbh5b{font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--fg-2);margin:0;max-width:52ch}.vim-gate-sub.svelte-zkbh5b strong:where(.svelte-zkbh5b){color:var(--accent-fg);font-weight:600}.vim-success-actions.svelte-zkbh5b{display:inline-flex;gap:var(--sp-2);flex-shrink:0}.vim-success-actions.svelte-zkbh5b .btn:where(.svelte-zkbh5b){min-height:44px}.hero-kbd.svelte-zkbh5b{background:color-mix(in oklab,var(--accent-ink) 16%,transparent);color:var(--accent-ink-dim);border-color:color-mix(in oklab,var(--accent-ink) 20%,transparent);margin-left:var(--sp-1)}.vimbar.svelte-zkbh5b{display:flex;align-items:center;gap:0;height:28px;font-family:var(--font-mono);font-size:var(--fs-caption);line-height:var(--lh-caption);background:var(--bg-page);border-top:1px solid var(--line);padding:0 var(--sp-3)}.vimbar-mode.svelte-zkbh5b{padding:0 var(--sp-3);height:100%;display:inline-flex;align-items:center;font-weight:700;letter-spacing:var(--tracking-caption);margin-right:var(--sp-3)}.vimbar-mode.normal.svelte-zkbh5b{background:var(--accent-soft);color:var(--accent-fg)}.vimbar-mode.type.svelte-zkbh5b,.vimbar-mode.DONE.svelte-zkbh5b{background:var(--ok);color:var(--ink-on-bright)}.vimbar-left.svelte-zkbh5b{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--fg-2)}.vimbar-spacer.svelte-zkbh5b{flex:1}.vimbar-right.svelte-zkbh5b{display:inline-flex;align-items:center;gap:var(--sp-3);color:var(--fg-3)}.dim.svelte-zkbh5b{color:var(--fg-3)}@media (max-width: 599px){.vim-brief.svelte-zkbh5b{flex-direction:column}.vim-goal.svelte-zkbh5b{align-items:flex-start}}.lesson-col.svelte-rislsw{max-width:calc(var(--reading) + 2 * var(--gutter));margin:0 auto;padding:var(--sp-6) var(--gutter) var(--sp-8);box-sizing:border-box}.lesson-header.svelte-rislsw{margin-bottom:var(--sp-6)}.lesson-head-row.svelte-rislsw{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap}.lesson-title.svelte-rislsw{font-family:var(--font-serif);font-size:var(--fs-title-1);line-height:var(--lh-title-1);font-weight:500;letter-spacing:var(--tracking-title);color:var(--fg-0);margin:0}.lesson-summary.svelte-rislsw{font-family:var(--font-mono);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--fg-2);margin:var(--sp-2) 0 0}.drill-head.svelte-rislsw{padding-bottom:0}.drill-figure.svelte-rislsw{margin-bottom:var(--sp-5)}.drill-sources.svelte-rislsw{padding-top:0}
