.kdate.svelte-1ipy3jx{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:0 16px;border-radius:var(--k-radius-md);background:var(--k-surface);border:1px solid var(--k-line-2);color:var(--k-fg);font:inherit;font-size:1rem;text-align:left;cursor:pointer;transition:border-color var(--k-duration-fast),box-shadow var(--k-duration-fast)}.kdate.svelte-1ipy3jx svg:where(.svelte-1ipy3jx){color:var(--k-muted);flex:none}.kdate.svelte-1ipy3jx:hover:not(:disabled){border-color:color-mix(in srgb,var(--k-fg) 28%,transparent)}.kdate.svelte-1ipy3jx:focus-visible,.kdate.open.svelte-1ipy3jx{outline:none;border-color:var(--k-brand-amber);box-shadow:0 0 0 4px color-mix(in srgb,var(--k-brand-amber) 16%,transparent)}.kdate.invalid.svelte-1ipy3jx{border-color:var(--k-danger)}.kdate.svelte-1ipy3jx:disabled{opacity:.55;cursor:not-allowed}.kdate-val.svelte-1ipy3jx{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.placeholder.svelte-1ipy3jx .kdate-val:where(.svelte-1ipy3jx){color:var(--k-dim)}.kdate-layer.svelte-1ipy3jx{position:fixed;inset:0;z-index:120;pointer-events:none}.kdate-layer.sheet.svelte-1ipy3jx{pointer-events:auto}.kdate-scrim.svelte-1ipy3jx{position:absolute;inset:0;border:0;background:#04050799}.kdate-panel.svelte-1ipy3jx{position:fixed;pointer-events:auto;width:308px;padding:12px;border-radius:12px;border:1px solid var(--k-line-2);background:var(--k-bg-2);box-shadow:0 18px 50px -12px #0000008c;color:var(--k-fg);font:400 .9rem/1 var(--k-font-body);animation:svelte-1ipy3jx-kdate-in var(--k-duration-instant) var(--k-ease-out) both}.sheet.svelte-1ipy3jx .kdate-panel:where(.svelte-1ipy3jx){left:0;right:0;bottom:0;width:auto;border-radius:18px 18px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));animation:svelte-1ipy3jx-kdate-up var(--k-duration-fast) var(--k-ease-out) both}.kdate-head.svelte-1ipy3jx{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.kdate-head.svelte-1ipy3jx strong:where(.svelte-1ipy3jx){font:600 .95rem/1 var(--k-font-body)}.kdate-nav.svelte-1ipy3jx{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--k-line);background:none;color:var(--k-fg-2);cursor:pointer}.kdate-nav.svelte-1ipy3jx:hover{background:var(--k-surface);color:var(--k-fg)}.kdate-grid.svelte-1ipy3jx{display:grid;gap:2px;outline:none}.kdate-row.svelte-1ipy3jx{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.kdate-dow.svelte-1ipy3jx{padding:6px 0;text-align:center;font:500 .66rem/1 var(--k-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--k-dim)}.kdate-day.svelte-1ipy3jx{height:38px;border-radius:8px;border:1px solid transparent;background:none;color:var(--k-fg);font:500 .88rem/1 var(--k-font-body);cursor:pointer}.sheet.svelte-1ipy3jx .kdate-day:where(.svelte-1ipy3jx){height:44px}.kdate-day.svelte-1ipy3jx:hover:not(:disabled){background:var(--k-surface)}.kdate-day.svelte-1ipy3jx:focus-visible{outline:none;border-color:var(--k-brand-amber)}.kdate-day.off.svelte-1ipy3jx{color:var(--k-dim)}.kdate-day.today.svelte-1ipy3jx{border-color:var(--k-line-2)}.kdate-day.sel.svelte-1ipy3jx{background:var(--k-brand-amber);color:var(--k-accent-fg);font-weight:700}.kdate-day.svelte-1ipy3jx:disabled{opacity:.3;cursor:not-allowed;text-decoration:line-through}.kdate-foot.svelte-1ipy3jx{display:flex;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px solid var(--k-line)}.kdate-link.svelte-1ipy3jx{border:0;background:none;color:var(--k-accent);font:600 .84rem/1 var(--k-font-body);padding:6px 4px;cursor:pointer}.kdate-link.svelte-1ipy3jx:disabled{opacity:.4;cursor:not-allowed}@keyframes svelte-1ipy3jx-kdate-in{0%{opacity:0;transform:translateY(-4px)}}@keyframes svelte-1ipy3jx-kdate-up{0%{opacity:0;transform:translateY(24px)}}@media(prefers-reduced-motion:reduce){.kdate-panel.svelte-1ipy3jx,.sheet.svelte-1ipy3jx .kdate-panel:where(.svelte-1ipy3jx){animation:none}}.top-back.svelte-10gmv54{margin-top:20px}.hero.svelte-10gmv54{position:relative;margin:12px 0 40px;padding:clamp(22px,4vw,40px);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--t) 22%,var(--line));background:radial-gradient(600px 300px at 100% 0%,color-mix(in srgb,var(--t) 22%,transparent),transparent 70%),linear-gradient(160deg,var(--t-wash),var(--paper) 70%);box-shadow:var(--lift);overflow:hidden}.hero-grid.svelte-10gmv54{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center}.intro.svelte-10gmv54{display:grid;gap:12px;min-width:0}.tags.svelte-10gmv54{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ico.svelte-10gmv54{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--t-soft);color:var(--t-ink);margin-right:4px}.code.svelte-10gmv54{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;font-weight:500;color:var(--t-ink);background:var(--t-soft);padding:4px 11px;border-radius:999px}h1.svelte-10gmv54{font-size:clamp(2rem,5.5vw,3.4rem);letter-spacing:-.05em;line-height:1.04}.nick.svelte-10gmv54{font-size:clamp(1.05rem,2.2vw,1.25rem);color:var(--ink-soft);max-width:40ch}.meta.svelte-10gmv54{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.aliases.svelte-10gmv54{font-size:.9rem;color:var(--muted)}.aliases.svelte-10gmv54 strong:where(.svelte-10gmv54){color:var(--ink-soft);font-weight:600}.cta.svelte-10gmv54{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:8px}.big.svelte-10gmv54{min-height:52px;padding:0 1.5rem;font-size:1rem}.soft.svelte-10gmv54{color:var(--muted);font-size:.9rem}.progress.svelte-10gmv54{display:grid;gap:14px;justify-items:center;max-width:280px}.rings.svelte-10gmv54{display:flex;gap:22px}.rg.svelte-10gmv54{display:grid;justify-items:center;gap:8px;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.big-n.svelte-10gmv54{font-family:var(--font-display);font-weight:500;font-size:1.6rem;letter-spacing:-.05em;color:var(--ink)}.big-n.svelte-10gmv54 small:where(.svelte-10gmv54){font-size:.5em;color:var(--muted)}.note.svelte-10gmv54{font-size:.8rem;color:var(--muted);text-align:center}.layout.svelte-10gmv54{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start}h2.svelte-10gmv54{font-size:1.4rem;margin-bottom:6px}.hint.svelte-10gmv54{color:var(--ink-soft);margin-bottom:22px}.today.svelte-10gmv54{padding:18px 20px;margin-bottom:28px;border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:linear-gradient(160deg,var(--accent-soft),var(--paper) 60%)}.today.svelte-10gmv54 ul:where(.svelte-10gmv54){list-style:none;margin:10px 0 0;padding:0;display:grid}.today.svelte-10gmv54 a:where(.svelte-10gmv54){display:flex;align-items:center;gap:10px;padding:10px 0;min-height:44px;border-top:1px solid var(--line)}.today.svelte-10gmv54 li:where(.svelte-10gmv54):first-child a:where(.svelte-10gmv54){border-top:0}.today.svelte-10gmv54 a:where(.svelte-10gmv54) span:where(.svelte-10gmv54){flex:1;font-weight:550}.today.svelte-10gmv54 small:where(.svelte-10gmv54){color:var(--muted)}.units.svelte-10gmv54{list-style:none;margin:0;padding:0;display:grid;gap:18px}.unit.svelte-10gmv54{padding:22px 22px 14px;border-radius:var(--radius);background:var(--paper);border:1px solid var(--line);box-shadow:var(--lift)}.utop.svelte-10gmv54{display:flex;gap:14px;align-items:center;margin-bottom:10px}.uwho.svelte-10gmv54{min-width:0}.frac.svelte-10gmv54{font-family:var(--font-mono);font-size:.68rem;color:var(--ink-soft)}.frac.all.svelte-10gmv54{color:var(--t-ink);display:grid}.free.svelte-10gmv54{color:var(--t-ink);background:var(--t-soft);border-color:color-mix(in srgb,var(--t) 45%,transparent);vertical-align:2px;margin-left:4px;font-size:.62rem}.gate.svelte-10gmv54{position:relative;z-index:1}.uhead.svelte-10gmv54{display:flex;align-items:center;gap:8px}.un.svelte-10gmv54{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-right:4px}.unit.svelte-10gmv54 h3:where(.svelte-10gmv54){font-size:1.2rem;margin:4px 0 0}.usum.svelte-10gmv54{font-size:.93rem;margin-bottom:12px}.lessons.svelte-10gmv54{list-style:none;margin:0;padding:0 0 0 4px;display:grid;position:relative}.lessons.svelte-10gmv54:before{content:"";position:absolute;left:15px;top:18px;bottom:18px;width:1px;background:var(--line-strong)}.lesson.svelte-10gmv54{display:flex;align-items:center;gap:14px;padding:10px 12px 10px 4px;min-height:56px;border-radius:14px;position:relative;transition:background .2s}.lesson.svelte-10gmv54:hover{background:var(--paper-2)}.wp.svelte-10gmv54{width:24px;height:24px;display:grid;place-items:center;flex-shrink:0;border-radius:7px;transform:rotate(45deg);border:1px solid var(--line-strong);background:var(--paper);color:var(--muted);z-index:1}.wp.svelte-10gmv54 svg{transform:rotate(-45deg)}.done.svelte-10gmv54 .wp:where(.svelte-10gmv54){background:var(--t);border-color:var(--t);color:var(--paper)}.here.svelte-10gmv54 .wp:where(.svelte-10gmv54){background:var(--accent);border-color:var(--accent);box-shadow:0 0 16px var(--k-accent-glow);animation:svelte-10gmv54-waypoint 2.4s ease-in-out infinite}@keyframes svelte-10gmv54-waypoint{50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 18%,transparent),0 0 22px var(--k-accent-glow)}}.here.svelte-10gmv54{background:var(--accent-soft)}.wp.q.svelte-10gmv54{border-style:dashed}.lt.svelte-10gmv54{flex:1;min-width:0;display:grid;line-height:1.35}.lt.svelte-10gmv54 strong:where(.svelte-10gmv54){font-weight:600}.lt.svelte-10gmv54 small:where(.svelte-10gmv54){color:var(--muted);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.locked.svelte-10gmv54 .lt:where(.svelte-10gmv54) strong:where(.svelte-10gmv54){color:var(--ink-soft)}.lm.svelte-10gmv54{display:grid;justify-items:end;font-size:.8rem;color:var(--muted);white-space:nowrap}.lm.svelte-10gmv54 em:where(.svelte-10gmv54){font-style:normal;font-family:var(--font-mono);color:var(--good)}.more-h.svelte-10gmv54{margin-top:40px;margin-bottom:14px}.extras.svelte-10gmv54{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.extra.svelte-10gmv54{display:grid;gap:6px;padding:18px;transition:border-color .25s,transform .3s var(--ease)}.extra.svelte-10gmv54:hover{border-color:color-mix(in srgb,var(--t) 40%,var(--line));transform:translateY(-2px)}.xi.svelte-10gmv54{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:var(--t-soft);color:var(--t-ink);margin-bottom:4px}.extra.svelte-10gmv54 small:where(.svelte-10gmv54){color:var(--muted);font-size:.85rem}.side.svelte-10gmv54{display:grid;gap:14px;position:sticky;top:84px}.plan.svelte-10gmv54,.about.svelte-10gmv54{padding:22px;display:grid;gap:12px}.plan.svelte-10gmv54 form:where(.svelte-10gmv54){display:grid;gap:14px}.sub.svelte-10gmv54{color:var(--ink-soft);font-size:.92rem}.small.svelte-10gmv54{font-size:.85rem;color:var(--muted)}.days.svelte-10gmv54{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}.days.svelte-10gmv54 legend:where(.svelte-10gmv54){font-weight:600;font-size:.92rem;color:var(--ink-soft);margin-bottom:6px}.days.svelte-10gmv54 label:where(.svelte-10gmv54){position:relative;display:grid;place-items:center;min-width:44px;height:40px;padding:0 8px;border-radius:999px;border:1px solid var(--line-strong);font-size:.85rem;color:var(--ink-soft);cursor:pointer}.days.svelte-10gmv54 label.on:where(.svelte-10gmv54){background:var(--t-soft);border-color:color-mix(in srgb,var(--t) 55%,transparent);color:var(--t-ink);font-weight:650}.days.svelte-10gmv54 input:where(.svelte-10gmv54){position:absolute;opacity:0;inset:0;cursor:pointer}.days.svelte-10gmv54 label:where(.svelte-10gmv54):has(input:where(.svelte-10gmv54):focus-visible){outline:2px solid var(--accent);outline-offset:2px}.about.svelte-10gmv54 .eyebrow:where(.svelte-10gmv54){display:flex;align-items:center;gap:6px}.about.svelte-10gmv54 .prose:where(.svelte-10gmv54){font-size:.95rem}@media(max-width:960px){.layout.svelte-10gmv54{grid-template-columns:1fr}.side.svelte-10gmv54{position:static}.hero-grid.svelte-10gmv54{grid-template-columns:1fr}.progress.svelte-10gmv54{justify-self:start;justify-items:start}.note.svelte-10gmv54{text-align:left}}@media(max-width:560px){.unit.svelte-10gmv54{padding:18px 14px 10px}}
