.lp{font-weight:300;font-size:var(--text-body);color:var(--color-ink-2);line-height:1.6}.lp h1,.lp h2,.lp h3{color:var(--color-ink)}.lp h1{font-size:var(--text-display);max-width:20ch}.lp h2{font-size:var(--text-section);max-width:24ch}.lp h3{font-size:var(--text-title);letter-spacing:-.01em;max-width:40ch;font-weight:400;line-height:1.2}.lp h1,.lp h2,.lp h3{text-wrap:balance}.lp-btn:focus-visible,.lp-seg__btn:focus-visible,.lp-lab__arrow:focus-visible,.lp-lab__pause:focus-visible,.lp-faq__q:focus-visible,.lp-index__row:focus-visible,.lp-footer__link:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.lp-btn:active,.lp-seg__btn:active,.lp-lab__arrow:active,.lp-lab__pause:active{transform:translateY(1px)}.lp-seg__btn:disabled,.lp-lab__arrow:disabled,.lp-lab__pause:disabled,.lp-faq__q:disabled{opacity:.55;cursor:not-allowed}.lp .num{font-variant-numeric:tabular-nums}.lp-actions{gap:var(--space-sm);flex-wrap:wrap;justify-content:center;display:flex}.lp-actions--start{justify-content:flex-start}.lp-btn{min-height:48px;padding-inline:var(--space-lg);font-size:var(--text-md);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.lp-head{gap:var(--space-md);max-width:56rem;display:grid}.lp-head .lead{color:var(--color-ink-2);max-width:56ch}.lp-hero{min-height:calc(100dvh - var(--header-h));padding-block:var(--space-xl) var(--space-2xl);align-items:center;display:grid}.lp-hero__col{text-align:center;justify-items:center;gap:var(--space-lg);display:grid}.lp-hero h1{font-size:var(--text-display);max-width:18ch;line-height:1}.lp-hero__lead{max-width:46ch;color:var(--color-ink-2)}.lp-hero__figs{width:min(100%,34rem);margin:var(--space-lg) 0 0;padding:var(--space-md) var(--space-lg);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.lp-hero__fig{gap:var(--space-2xs);padding-inline:var(--space-md);border-left:1px solid var(--color-rule);display:grid}.lp-hero__fig:first-child{border-left:0}.lp-hero__fig dt{color:var(--color-ink);font-size:2rem;font-weight:400;line-height:1}.lp-hero__fig dd{font-size:var(--text-sm);color:var(--color-muted);margin:0;line-height:1.35}.lp-lab{padding-block:var(--section-gap-s) var(--section-gap)}.lp-lab__head{justify-content:space-between;align-items:flex-end;gap:var(--space-lg);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.lp-lab__head h2{max-width:16ch}.lp-lab__controls{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.lp-seg{padding:var(--space-2xs);border-radius:var(--radius-pill);box-shadow:inset 0 0 0 1px var(--color-rule-2);flex-wrap:wrap;display:flex}.lp-seg__btn{min-height:44px;padding-inline:var(--space-md);border-radius:var(--radius-pill);color:var(--color-muted);font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;font-weight:400}.lp-seg__btn:hover{color:var(--color-ink)}.lp-seg__btn[aria-current=true]{background:var(--color-paper-3);color:var(--color-ink)}.lp-lab__nav{align-items:center;gap:var(--space-xs);display:flex}.lp-lab__arrow,.lp-lab__pause{border-radius:var(--radius-pill);min-width:44px;min-height:44px;color:var(--color-ink-2);box-shadow:inset 0 0 0 1px var(--color-rule-2);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.lp-lab__pause{padding-inline:var(--space-md);font-size:var(--text-sm);white-space:nowrap}.lp-lab__arrow:hover,.lp-lab__pause:hover{background:var(--color-paper-3);color:var(--color-ink)}.lp-lab__stage{padding:var(--space-lg);background:var(--color-paper);margin:0}.lp-lab__grid{gap:var(--gap-columns);grid-template-columns:minmax(0,3fr) minmax(0,5fr) minmax(0,4fr);min-height:320px;display:grid;position:relative}.lp-lab__module{align-content:start;gap:var(--space-sm);padding-right:var(--space-lg);border-right:1px solid var(--color-rule);display:grid}.lp-lab__module-meta{font-size:var(--text-sm);color:var(--color-muted);justify-content:space-between;display:flex}.lp-lab__module-name{font-size:var(--text-title);color:var(--color-ink);line-height:1.2}.lp-lab__lessons{gap:var(--space-2xs);margin:var(--space-xs) 0 0;padding:0;list-style:none;display:grid}.lp-lesson{align-items:center;gap:var(--space-xs);min-height:32px;padding-inline:var(--space-xs);border-radius:var(--radius-card);font-size:var(--text-sm);color:var(--color-ink-2);display:flex}.lp-lesson__mark{width:14px;color:var(--color-muted);flex-shrink:0;justify-content:center;display:inline-flex}.lp-lesson__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lp-lesson[data-state=done] .lp-lesson__mark{color:var(--color-success)}.lp-lesson[data-state=active]{background:var(--color-paper-2);color:var(--color-ink)}.lp-lesson[data-state=active] .lp-lesson__mark:before{content:"";background:var(--color-accent-text);border-radius:50%;width:6px;height:6px}.lp-lesson[data-state=locked]{color:var(--color-muted)}.lp-lab__progress,.lp-modules>li{gap:var(--space-2xs) var(--space-sm);font-size:var(--text-sm);color:var(--color-muted);grid-template-columns:minmax(0,1fr) auto;display:grid}.lp-lab__progress{margin-top:var(--space-md)}.lp-bar{border-radius:var(--radius-pill);background:var(--color-paper-3);grid-column:1/-1;height:4px;overflow:hidden}.lp-bar>span{background:var(--color-accent);transform-origin:0;height:100%;display:block}.lp-lab__code{grid-template-rows:auto auto;align-content:start;min-width:0;display:grid}.lp-lab__file{padding-bottom:var(--space-sm);font-size:var(--text-sm);color:var(--color-ink)}.lp-lab__file>span{color:var(--color-muted);margin-right:var(--space-xs)}.lp-lab__pre{padding:var(--space-md);border-radius:var(--radius-card);white-space:pre;margin:0;overflow-x:auto}.code-focus{color:var(--color-accent-text);background:color-mix(in oklab, var(--color-accent) 14%, transparent);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:2px}.lp-lab__tutor{min-width:0;position:relative}.lp-callout{margin-top:max(0px, calc(var(--focus-y,120px) - var(--space-md)));padding:var(--space-md) var(--space-lg);border-radius:var(--radius-card);background:var(--color-paper-2);position:relative}.lp-callout:before{content:"";top:var(--space-lg);width:calc(var(--gap-columns) + var(--space-md));background:var(--color-accent-text);height:1px;position:absolute;right:100%}.lp-callout:after{content:"";top:calc(var(--space-lg) - 3px);right:calc(100% + var(--gap-columns) + var(--space-md) - 3px);background:var(--color-accent-text);border-radius:50%;width:7px;height:7px;position:absolute}.lp-callout__who{font-size:var(--text-sm);color:var(--color-accent-text)}.lp-callout__text{margin-top:var(--space-2xs);font-size:var(--text-md);color:var(--color-ink);line-height:1.55}.lp-lab__stack{gap:var(--space-2xs) var(--space-md);margin-top:var(--space-lg);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.lp-lab__stack-label{color:var(--color-muted)}.lp-lab__stack-list{color:var(--color-ink-2)}.lp-outcomes{padding-block:var(--section-gap);background:var(--color-paper-2)}.lp-outcomes__title{max-width:26ch}.lp-stats{margin:var(--space-2xl) 0 0;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;list-style:none;display:grid}.lp-stats>li{align-content:start;gap:var(--space-sm);padding-inline:var(--space-xl);border-left:1px solid var(--color-rule-2);display:grid}.lp-stats>li:first-child{border-left:0;padding-left:0}.lp-stats>li:last-child{padding-right:0}.lp-stats__figure{font-size:var(--text-display-s);letter-spacing:var(--tracking-display);color:var(--color-ink);font-weight:200;line-height:1}.lp-stats h3{margin-top:var(--space-md)}.lp-stats p{max-width:36ch;color:var(--color-ink-2)}.lp-how{padding-block:var(--section-gap-l) var(--section-gap)}.lp-how__grid{gap:var(--space-3xl);margin-top:var(--space-2xl);grid-template-columns:minmax(0,6fr) minmax(0,5fr);display:grid}.lp-how__stage{top:calc(var(--header-h) + var(--space-xl));min-height:440px;padding:var(--space-xl);grid-template-rows:auto 1fr auto;align-self:start;display:grid;position:sticky}.lp-how__strip{gap:var(--space-xs);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.lp-how__strip>li{padding-top:var(--space-sm);border-top:2px solid var(--color-rule-2);font-size:var(--text-sm);color:var(--color-muted);transition:color var(--dur-short) var(--hm-ease-out), border-color var(--dur-short) var(--hm-ease-out)}.lp-how__strip>li[data-on=true]{border-top-color:var(--color-accent);color:var(--color-ink)}.lp-how__numeral{letter-spacing:var(--tracking-display);color:var(--color-ink);align-self:center;font-size:clamp(7rem,12vw,12rem);font-weight:200;line-height:1}.lp-how__name{font-size:var(--text-title);color:var(--color-ink-2)}.lp-how__steps{margin:0;padding:0;list-style:none}.lp-how__steps>li{align-content:center;gap:var(--space-sm);min-height:40svh;padding-block:var(--space-2xl);border-top:1px solid var(--color-rule);opacity:.55;transition:opacity var(--dur-short) var(--hm-ease-out);display:grid}.lp-how__steps>li:first-child{border-top:0}.lp-how__steps>li[data-on=true]{opacity:1}.lp-how__steps h3{font-size:var(--text-title)}.lp-how__steps p{max-width:40ch}.lp-rows-sec{padding-block:var(--section-gap)}.lp-rows{margin:var(--space-2xl) 0 0;padding:0;list-style:none}.lp-rows>li{gap:var(--gap-columns);padding-block:var(--space-xl);border-top:1px solid var(--color-rule);grid-template-columns:minmax(0,4fr) minmax(0,4fr) minmax(0,4fr);align-items:start;display:grid}.lp-rows>li:last-child{border-bottom:1px solid var(--color-rule)}.lp-rows h3{font-size:var(--text-title)}.lp-rows p{max-width:40ch}.lp-sample{margin:0}.lp-sample--tutor{padding-left:var(--space-md);border-left:1px solid var(--color-accent-text);color:var(--color-ink)}.lp-sample.code-mock{padding:var(--space-md);border-radius:var(--radius-card);white-space:pre;overflow-x:auto}.lp-pass{color:var(--color-success)}.lp-modules{gap:var(--space-sm);padding:0;list-style:none;display:grid}.lp-index-sec{padding-block:var(--section-gap-s)}.lp-index__head{justify-content:space-between;align-items:flex-end;gap:var(--space-lg);flex-wrap:wrap;display:flex}.lp-index{margin:var(--space-2xl) 0 0;border-top:1px solid var(--color-rule);padding:0;list-style:none}.lp-index>li{border-bottom:1px solid var(--color-rule)}.lp-index__row{gap:var(--gap-columns);padding:var(--space-lg) var(--space-sm);color:inherit;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,4fr) minmax(0,2fr);align-items:baseline;text-decoration:none;display:grid}.lp-index__row:hover{background:var(--color-paper-2)}.lp-index__lang{font-size:var(--text-sm);color:var(--color-muted)}.lp-index__title{font-size:var(--text-title);color:var(--color-ink);line-height:1.2}.lp-index__desc{-webkit-line-clamp:2;font-size:var(--text-sm);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.lp-index__count{text-align:right;font-size:var(--text-sm);color:var(--color-muted)}.lp-who{padding-block:var(--section-gap-s)}.lp-who__list{margin:var(--space-2xl) 0 0;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;list-style:none;display:grid}.lp-who__list>li{padding:var(--space-lg) var(--space-xl) 0;border-left:1px solid var(--color-rule-2);font-size:var(--text-title);color:var(--color-ink);line-height:1.35}.lp-who__list>li:first-child{border-left:0;padding-left:0}.lp-who__list>li:last-child{padding-right:0}.lp-faq{padding-block:var(--section-gap)}.lp-faq__grid{gap:var(--gap-columns);grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:start;display:grid}.lp-faq__grid h2{max-width:12ch}.lp-faq__list{border-top:1px solid var(--color-rule);margin:0;padding:0;list-style:none}.lp-faq__list>li{padding-block:var(--space-sm);border-bottom:1px solid var(--color-rule)}.lp-faq__q{justify-content:space-between;align-items:center;gap:var(--space-lg);width:100%;min-height:52px;padding:var(--space-xs) 0;color:var(--color-ink);font-size:var(--text-lead);text-align:left;cursor:pointer;background:0 0;border:0;font-weight:300;display:flex}.lp-faq__q:hover{color:var(--color-accent-text)}.lp-faq__sign{flex-shrink:0;width:16px;height:16px;position:relative}.lp-faq__sign:before,.lp-faq__sign:after{content:"";width:16px;height:1.5px;transition:transform var(--dur-short) var(--hm-ease-out);background:currentColor;position:absolute;top:7px;left:0}.lp-faq__sign:after{transform:rotate(90deg)}.lp-faq__sign[data-open=true]:after{transform:rotate(0)}.lp-faq__a{max-width:62ch;padding-bottom:var(--space-lg)}.lp-close{padding-block:var(--section-gap-s);background:var(--color-paper-2)}.lp-close__grid{gap:var(--gap-columns);grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:end;display:grid}.lp-close__grid h2{font-size:var(--text-display-s)}.lp-close__body{gap:var(--space-md);display:grid}.lp-close__body .lead{color:var(--color-ink)}.lp-close__body .lp-actions{margin-top:var(--space-sm)}.lp-footer{padding-block:var(--space-3xl) var(--space-xl);border-top:1px solid var(--color-rule)}.lp-footer__mark{width:auto;height:clamp(2.5rem,5vw,4.5rem)}.lp-footer__grid{gap:var(--gap-columns);margin-top:var(--space-2xl);grid-template-columns:minmax(0,6fr) repeat(3,minmax(0,2fr));display:grid}.lp-footer__tagline{max-width:36ch;color:var(--color-ink-2)}.lp-footer__col-title{font-size:var(--text-sm);color:var(--color-muted)}.lp-footer__links{gap:var(--space-xs);margin-top:var(--space-sm);display:grid}.lp-footer__link{color:var(--color-ink-2);white-space:nowrap;text-decoration:none}.lp-footer__link:hover{color:var(--color-ink);text-decoration:underline}.lp-footer__legal{justify-content:space-between;gap:var(--space-sm);margin-top:var(--space-2xl);padding-top:var(--space-lg);border-top:1px solid var(--color-rule);font-size:var(--text-sm);color:var(--color-muted);flex-wrap:wrap;display:flex}@media (max-width:60rem){.lp-lab__grid{grid-template-columns:minmax(0,1fr);min-height:0}.lp-lab__module{padding-right:0;padding-bottom:var(--space-lg);border-right:0;border-bottom:1px solid var(--color-rule)}.lp-callout{margin-top:0}.lp-callout:before,.lp-callout:after{display:none}.lp-stats,.lp-who__list{grid-template-columns:minmax(0,1fr)}.lp-stats>li,.lp-who__list>li{padding:var(--space-xl) 0;border-left:0;border-top:1px solid var(--color-rule-2)}.lp-stats>li:first-child,.lp-who__list>li:first-child{border-top:0;padding-top:0}.lp-how__grid{gap:var(--space-xl);grid-template-columns:minmax(0,1fr)}.lp-how__stage{display:none}.lp-how__steps>li{opacity:1;min-height:0;padding-block:var(--space-xl)}.lp-rows>li{gap:var(--space-md);grid-template-columns:minmax(0,1fr)}.lp-index__row{gap:var(--space-2xs);grid-template-columns:minmax(0,1fr)}.lp-index__count{text-align:left}.lp-faq__grid,.lp-close__grid{gap:var(--space-xl);grid-template-columns:minmax(0,1fr)}.lp-footer__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lp-footer__tagline{grid-column:1/-1}}@media (max-width:40rem){.lp-hero__figs{padding:var(--space-xs) var(--space-md);grid-template-columns:minmax(0,1fr)}.lp-hero__fig{align-items:baseline;gap:var(--space-sm);padding:var(--space-sm) 0;border-left:0;border-top:1px solid var(--color-rule);text-align:left;grid-template-columns:4.5rem minmax(0,1fr)}.lp-hero__fig:first-child{border-top:0}.lp-hero__fig dt{font-size:1.5rem}.lp-lab__stage{padding:var(--space-md)}.lp-footer__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.lp-lab__pause{display:none}.lp-how__steps>li,.lp-how__strip>li,.lp-faq__sign:before,.lp-faq__sign:after{transition:none}}
