.lp{width:100%;max-width:calc(var(--ui-w) + 2 * var(--ui-gutter));padding:0 var(--ui-gutter) var(--ui-gap-hero);margin:0 auto}.lp-hero{padding-top:var(--ui-gap-hero);grid-template-columns:minmax(0,1fr) minmax(0,520px);align-items:start;gap:64px;display:grid}.lp-hero h1{letter-spacing:-.035em;max-width:11ch;font-size:clamp(36px,5.2vw,52px);font-weight:600;line-height:1.05}.lp-lead{max-width:40ch;color:var(--ui-text-2);margin-top:20px;font-size:16px;line-height:1.6}.lp-actions{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}.lp-facts{border-top:1px solid var(--ui-line);flex-wrap:wrap;gap:8px 32px;margin:40px 0 0;padding-top:20px;display:flex}.lp-facts dt{color:var(--ui-text-3);font-size:12px}.lp-facts dd{margin:2px 0 0;font-size:16px;font-weight:500}.lp-demo{border:1px solid var(--ui-line);border-radius:var(--ui-r-lg);background:var(--ui-panel);min-width:0;scroll-margin-top:80px}.lp-demo-bar{border-bottom:1px solid var(--ui-line);justify-content:space-between;align-items:center;gap:12px;padding:0 12px 0 4px;display:flex}.lp-demo-tabs{scrollbar-width:none;min-width:0;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000)}.lp-demo-tabs::-webkit-scrollbar{display:none}.lp-demo-tabs button{height:40px;color:var(--ui-text-3);font:400 12px/1 var(--ui-mono);white-space:nowrap;transition:color var(--ui-fast) var(--ui-ease);align-items:center;gap:6px;padding:0 10px;display:inline-flex;position:relative}.lp-demo-tabs button:hover{color:var(--tk-ink)}.lp-demo-tabs button[aria-pressed=true]{color:var(--ui-text)}.lp-demo-tabs button:last-child{margin-right:16px}.lp-demo-tabs button[aria-pressed=true]:after{content:"";background:var(--ui-text);height:1px;position:absolute;bottom:-1px;left:10px;right:10px}.lp-demo-tabs button:focus-visible{outline-offset:-2px}.lp-demo-free{color:var(--ui-text-3);flex-shrink:0;font-size:12px}.lp-demo-code{border-bottom:1px solid var(--ui-line);background:var(--ui-subtle);font:400 13px/22px var(--ui-mono);color:var(--ui-text);margin:0;padding:16px 0;overflow-x:auto}.lp-demo-code code{min-width:max-content;display:block}.lp-demo-code span{white-space:pre;padding-right:16px;display:block}.lp-demo-code i{width:40px;color:var(--ui-text-3);text-align:right;-webkit-user-select:none;user-select:none;padding-right:16px;font-style:normal;display:inline-block}.lp-demo-body{padding:var(--ui-pad)}.lp-demo-slides{display:grid}.lp-demo-slide{visibility:hidden;flex-direction:column;grid-area:1/1;min-width:0;display:flex}.lp-demo-slide[data-active]{visibility:visible}.lp-demo-slide .lp-demo-codewrap{flex:1}.lp-demo-kind{color:var(--tk-ink);font:500 11px/1.4 var(--ui-mono);letter-spacing:.02em;text-transform:uppercase;margin-bottom:6px}.lp-demo-choices[data-code] button>span{font:400 13px/1.45 var(--ui-mono)}.lp-demo-blank{vertical-align:-.25em;border:1px dashed var(--tk-ink);background:var(--tk-soft);border-radius:3px;width:7ch;height:1.2em;margin:0 1px;display:inline-block}.lp-demo-body h2{letter-spacing:-.01em;font-size:16px;line-height:24px}.lp-demo-choices{gap:6px;margin-top:14px;display:grid}.lp-demo-choices button{border:1px solid var(--ui-line);border-radius:var(--ui-r);background:var(--ui-panel);min-height:40px;color:var(--ui-text);text-align:left;transition:border-color var(--ui-fast) var(--ui-ease), background-color var(--ui-fast) var(--ui-ease);align-items:center;gap:12px;padding:8px 12px;font-size:14px;display:flex}.lp-demo-choices button:hover:not(:disabled){border-color:var(--ui-line-2);background:var(--ui-subtle)}.lp-demo-choices button:disabled{cursor:default}.lp-demo-choices button>span{flex:1}.lp-demo-choices b{font-size:12px;font-weight:500}.lp-demo-verdict{flex-shrink:0;justify-items:end;display:grid}.lp-demo-choices .lp-demo-verdict span{visibility:hidden;flex:none;grid-area:1/1}.lp-demo-slide[data-active] .lp-demo-verdict span[data-shown]{visibility:visible}.lp-demo-choices [data-result=correct]{border-color:var(--ui-ok);background:var(--ui-ok-soft)}.lp-demo-choices [data-result=correct] b{color:var(--ui-ok)}.lp-demo-choices [data-result=wrong]{border-color:var(--ui-err);background:var(--ui-err-soft)}.lp-demo-choices [data-result=wrong] b{color:var(--ui-err)}.lp-demo-choices [data-result=muted]{color:var(--ui-text-3)}.lp-demo-feedback{color:var(--ui-text-2);margin-top:14px;font-size:13px;line-height:1.55;display:grid}.lp-demo-hint,.lp-demo-result{visibility:hidden;grid-area:1/1}.lp-demo-slide[data-active] .lp-demo-hint[data-shown],.lp-demo-slide[data-active] .lp-demo-result[data-shown]{visibility:visible}.lp-demo-result{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.lp-demo-feedback strong{color:var(--ui-text);font-weight:600}.lp-demo-feedback .lp-ok{color:var(--ui-ok)}.lp-demo-feedback .lp-ko{color:var(--ui-err)}.lp-demo-foot{border-top:1px solid var(--ui-line);color:var(--ui-text-3);justify-content:space-between;gap:12px;padding:10px 20px;font-size:12px;display:flex}.lp-section{padding-top:var(--ui-gap-hero);scroll-margin-top:calc(57px + 32px - var(--ui-gap-hero))}.lp-head{max-width:620px;margin-bottom:28px}.lp-head h2{font-family:var(--ui-display);letter-spacing:-.02em;font-size:24px;line-height:32px}.lp-head p{color:var(--ui-text-2);margin-top:8px;font-size:15px;line-height:1.6}.lp-head-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 32px;max-width:none;display:flex}.lp-split{border:1px solid var(--ui-line);border-radius:var(--ui-r-lg);background:var(--ui-panel);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.lp-cell{padding:var(--ui-pad);flex-direction:column;align-items:flex-start;gap:8px;display:flex}.lp-cell+.lp-cell{border-left:1px solid var(--ui-line)}.lp-cell h3{font-size:16px}.lp-cell>p{color:var(--ui-text-2)}.lp-cell>.ui-link{margin-top:auto;padding-top:12px}.lp-lesson{border:1px solid var(--ui-line);border-radius:var(--ui-r);background:var(--ui-bg);align-self:stretch;gap:10px;margin-top:12px;padding:16px;font-size:13px;display:grid}.lp-lesson-title{align-items:center;gap:8px;display:flex}.lp-lesson-title strong{font-weight:600}.lp-lesson>p{color:var(--ui-text-2)}.lp-lesson code{border:1px solid var(--ui-line);background:var(--ui-panel);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:4px;padding:8px 10px;font-size:12px;display:block}.lp-lesson-flow{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lp-lesson-flow code{padding:2px 6px;display:inline-block}.lp-formats{border-top:1px solid var(--ui-line);align-self:stretch;margin:12px 0 0;padding:0;list-style:none}.lp-formats li{border-bottom:1px solid var(--ui-line);grid-template-columns:44px minmax(0,1fr);column-gap:12px;padding:10px 0;display:grid}.lp-format-mark{color:var(--ui-text-3);font:500 12px/1 var(--ui-mono);grid-row:span 2;align-self:center}.lp-formats strong{font-size:13px;font-weight:500}.lp-formats li>span:last-child{color:var(--ui-text-3);font-size:13px}.lp-mock{border:1px solid var(--ui-line);border-radius:var(--ui-r);background:var(--ui-bg);align-self:stretch;margin-top:12px;font-size:13px}.lp-mock-head{border-bottom:1px solid var(--ui-line);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.lp-mock-head strong{font-weight:600}.lp-mock-day,.lp-mock-timer{background:var(--ui-accent-soft);color:var(--ui-accent-text);font:500 12px/1.4 var(--ui-mono);border-radius:4px;flex-shrink:0;padding:2px 6px}.lp-mock-rows{margin:0;padding:4px 0;list-style:none}.lp-mock-rows li{align-items:center;gap:10px;padding:6px 14px;display:flex}.lp-mock-rows li>span:nth-child(2){min-width:0;color:var(--ui-text-2);flex:1}.lp-mock-rows .ui-num{color:var(--ui-text-3);font-size:12px}.lp-mock-dot{border:1px solid var(--ui-line-2);border-radius:3px;flex-shrink:0;width:10px;height:10px}.lp-mock-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0;padding:14px 14px 0;list-style:none;display:grid}.lp-mock-steps li{border-top:3px solid var(--ui-line);color:var(--ui-text-3);text-overflow:ellipsis;white-space:nowrap;padding-top:8px;font-size:12px;overflow:hidden}.lp-mock-steps li[data-state=done]{border-top-color:var(--ui-text-2);color:var(--ui-text-2)}.lp-mock-steps li[data-state=current]{border-top-color:var(--ui-accent);color:var(--ui-text);font-weight:500}.lp-mock-foot{color:var(--ui-text-3);padding:12px 14px;font-size:12px}.lp-progress{grid-template-columns:minmax(0,1fr) minmax(0,480px);align-items:start;gap:64px;display:grid}.lp-rules{border-top:1px solid var(--ui-line);margin:0}.lp-rules>div{border-bottom:1px solid var(--ui-line);grid-template-columns:120px minmax(0,1fr);gap:16px;padding:12px 0;display:grid}.lp-rules dt{font-weight:500}.lp-rules dd{color:var(--ui-text-2);margin:0}.lp-track{border:1px solid var(--ui-line);border-radius:var(--ui-r-lg);background:var(--ui-panel)}.lp-track-head{padding:var(--ui-row-y) var(--ui-row-x);border-bottom:1px solid var(--ui-line);align-items:center;gap:8px;font-size:13px;display:flex}.lp-track-head strong{font-weight:600}.lp-track-head .ui-tag{margin-left:auto}.lp-track-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:16px 16px 0;display:grid}.lp-track-stats dt{color:var(--ui-text-3);font-size:12px}.lp-track-stats dd{margin:2px 0 0;font-size:20px;font-weight:500}.lp-track-stats small{color:var(--ui-text-3);font-size:13px}.lp-ko{color:var(--ui-err)}.lp-track-bar{margin:16px}.lp-track-row{padding:var(--ui-row-y) var(--ui-row-x);border-top:1px solid var(--ui-line);border-bottom:1px solid var(--ui-line);align-items:center;gap:12px;display:flex}.lp-track-status{border:1px solid var(--ui-err);background:var(--ui-err-soft);width:22px;height:22px;color:var(--ui-err);font:600 13px/1 var(--ui-mono);border-radius:4px;place-items:center;display:grid}.lp-track-row[data-corrected=true] .lp-track-status{border-color:var(--ui-ok);background:var(--ui-ok-soft);color:var(--ui-ok)}.lp-track-topic{flex:1;min-width:0}.lp-track-topic strong,.lp-track-topic small{display:block}.lp-track-topic strong{font-size:13px;font-weight:500}.lp-track-topic small{color:var(--ui-text-3);font-size:12px}.lp-track-note{padding:var(--ui-row-y) var(--ui-row-x);color:var(--ui-text-3);font-size:12px;line-height:1.55}.lp-search{width:260px;max-width:100%;display:block;position:relative}.lp-search .ui-input{padding-right:36px}.lp-search .ui-kbd{position:absolute;top:9px;right:10px}.lp-cat+.lp-cat{margin-top:28px}.lp-cat h3{align-items:baseline;gap:8px;margin-bottom:10px;font-size:13px;display:flex}.lp-cat h3 span{color:var(--ui-text-3);font-size:12px;font-weight:400}.lp-tracks{border:1px solid var(--ui-line);border-radius:var(--ui-r-lg);background:var(--ui-panel);grid-template-columns:repeat(auto-fill,minmax(264px,1fr));margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.lp-tracks li{box-shadow:1px 1px 0 var(--ui-line)}.lp-tracks a{height:44px;transition:background-color var(--ui-fast) var(--ui-ease);align-items:center;gap:10px;padding:0 14px;display:flex}.lp-tracks a:hover{background:var(--ui-subtle)}.lp-tracks a:focus-visible{outline-offset:-2px}.lp-tracks strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.lp-tracks .ui-num{color:var(--ui-text-3);white-space:nowrap;margin-left:auto;font-size:12px}.lp-faq>.lp-head{margin-bottom:24px}.lp-faq-list{border:1px solid var(--ui-line);border-radius:var(--ui-r-lg);background:var(--ui-panel);overflow:hidden}.lp-faq-list details{transition:background-color var(--ui-fast) var(--ui-ease)}.lp-faq-list details+details{border-top:1px solid var(--ui-line)}.lp-faq-list details[open]{background:var(--ui-subtle)}.lp-faq-list summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:15px 18px;font-size:15px;font-weight:600;line-height:1.4;list-style:none;display:flex}.lp-faq-list summary::-webkit-details-marker{display:none}.lp-faq-list summary:after{content:"+";border:1px solid var(--ui-line-2);background:var(--ui-bg);width:26px;height:26px;color:var(--ui-text-3);font:400 15px/1 var(--ui-mono);border-radius:50%;flex:none;place-items:center;display:grid}.lp-faq-list details[open] summary:after{content:"−";border-color:var(--ui-accent-line);background:var(--ui-accent-soft);color:var(--ui-accent-text)}.lp-faq-list summary:hover{background:var(--ui-hover)}.lp-faq-list details p{max-width:68ch;color:var(--ui-text-2);padding:0 62px 20px 18px;font-size:14px;line-height:1.7}@media (max-width:960px){.lp-hero,.lp-progress{grid-template-columns:minmax(0,1fr);gap:40px}}@media (max-width:720px){.lp-split{grid-template-columns:minmax(0,1fr)}.lp-cell+.lp-cell{border-top:1px solid var(--ui-line);border-left:0}.lp-cell{padding:var(--ui-pad)}}@media (max-width:520px){.lp-faq>.lp-head{margin-bottom:16px}.lp-faq-list summary{min-height:54px;padding:14px;font-size:14px}.lp-faq-list summary:after{width:24px;height:24px}.lp-faq-list details p{padding:0 48px 17px 14px;font-size:13px}.lp-demo-free{display:none}.lp-actions>.ui-btn{flex:1}.lp-demo-foot{padding:var(--ui-row-y) var(--ui-row-x)}.lp-track-stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:12px}.lp-track-row{flex-wrap:wrap}.lp-track-row .ui-btn{width:100%}.lp-rules>div{grid-template-columns:minmax(0,1fr);gap:2px}.lp-search{width:100%}}.lp-demo.tk{border-top:3px solid var(--tk-solid)}.lp-demo-tabs button[aria-pressed=true]:after{background:var(--tk-ink);height:2px}.lp-tracks li.tk{box-shadow:1px 1px 0 var(--ui-line), inset 3px 0 0 var(--tk-solid)}.lp-demo-codewrap{border-bottom:1px solid var(--ui-line);background:var(--ui-subtle);position:relative}.lp-demo-codewrap .lp-demo-code{border-bottom:0}.lp-demo-note{top:calc(16px + var(--line,0) * 22px - 3px);margin:0;position:absolute;right:14px}.lp-demo-note-narrow{display:none}.lp-demo-note:not([data-shown]){visibility:hidden}@media (max-width:640px){.lp-demo-note{padding:0 16px 12px 52px;position:static}.lp-demo-note-wide{display:none}.lp-demo-note-narrow{display:inline-flex}.lp-demo-codewrap .lp-demo-code{padding-bottom:6px}}.lp-lesson-code{border:1px solid var(--ui-line);background:var(--ui-panel);font:400 12px/1.6 var(--ui-mono);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:4px;padding:8px 10px;display:block}.lp-lesson-note{margin-top:-6px;padding-left:120px}@media (max-width:520px){.lp-lesson-note{padding-left:96px}}.lp-demo-code .ann-circled{white-space:pre;padding-right:0;display:inline-block}.ui .lp-hero h1{letter-spacing:-.05em;max-width:10ch;font-size:clamp(44px,7.4vw,80px);font-weight:700;line-height:.98}.lp-head h2{letter-spacing:-.035em;font-size:clamp(28px,3.6vw,40px);font-weight:700;line-height:1.1}.lp-head p{margin-top:12px}.lp-spectrum{border-radius:4px;height:8px;margin-bottom:28px;display:flex;overflow:hidden}.lp-spectrum i{background:var(--tk-solid);flex:1}.lp-tech-more{display:none}@media (max-width:640px){.lp-tech-catalog [data-mobile-hidden=true]{display:none}.lp-tech-more{width:100%;margin-top:16px;display:flex}}.lp-stack-panel{border:1px solid var(--ui-line);border-radius:var(--ui-r-lg);background:var(--ui-panel);grid-template-columns:minmax(0,1fr) minmax(0,340px);display:grid}.lp-stack-pick{padding:clamp(20px,3vw,32px)}.lp-stack-pick .lp-head{margin-bottom:20px}.lp-stack-presets{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.lp-stack-preset{border:1px solid var(--ui-line-2);height:30px;color:var(--ui-text-2);transition:color var(--ui-fast) var(--ui-ease), border-color var(--ui-fast) var(--ui-ease), background-color var(--ui-fast) var(--ui-ease);border-radius:999px;padding:0 12px;font-size:13px;font-weight:500}.lp-stack-preset:hover{border-color:var(--ui-text-3);color:var(--ui-text)}.lp-stack-preset[aria-pressed=true]{border-color:var(--ui-accent);background:var(--ui-accent-soft);color:var(--ui-accent-text)}.lp-stack-chips{flex-wrap:wrap;gap:6px;display:flex}.lp-stack-chip{border:1px solid var(--ui-line);border-radius:var(--ui-r);background:var(--ui-bg);height:32px;color:var(--ui-text-2);transition:color var(--ui-fast) var(--ui-ease), border-color var(--ui-fast) var(--ui-ease), background-color var(--ui-fast) var(--ui-ease), box-shadow var(--ui-fast) var(--ui-ease);align-items:center;gap:7px;padding:0 10px;font-size:13px;font-weight:500;display:inline-flex}.lp-stack-chip:hover{border-color:var(--tk-line);color:var(--ui-text)}.lp-stack-chip[aria-pressed=true]{border-color:var(--tk-ink);background:var(--tk-soft);box-shadow:inset 3px 0 0 var(--tk-solid);color:var(--ui-text)}.lp-stack-more{flex-wrap:wrap;gap:8px 20px;margin-top:14px;font-size:13px;display:flex}.lp-stack-summary{border-left:1px solid var(--ui-line);border-radius:0 var(--ui-r-lg) var(--ui-r-lg) 0;background:var(--ui-subtle);flex-direction:column;gap:14px;padding:clamp(20px,3vw,32px);display:flex;position:relative}.lp-stack-mascot{align-self:flex-start}.lp-stack-commit{gap:6px;min-height:84px;display:grid}.lp-stack-log{color:var(--ui-text-3);font:400 12px/1.6 var(--ui-mono);overflow-wrap:anywhere}.lp-stack-sha{color:var(--ui-accent-text)}.lp-stack-totals{color:var(--ui-text);font-variant-numeric:tabular-nums;font-size:15px;font-weight:500;line-height:1.4}.lp-stack-bar{background:var(--ui-line);border-radius:3px;gap:2px;height:6px;display:flex;overflow:hidden}.lp-stack-bar i{background:var(--tk-solid);flex-basis:0;min-width:4px}.lp-stack-actions{gap:8px;margin-top:auto;display:grid}.lp-stack-note{color:var(--ui-text-3);font-size:12px}@media (max-width:860px){.lp-stack-panel{grid-template-columns:minmax(0,1fr)}.lp-stack-summary{border-top:1px solid var(--ui-line);border-radius:0 0 var(--ui-r-lg) var(--ui-r-lg);border-left:0}.lp-stack-actions{margin-top:4px}}
