body{background:var(--canvas);color:var(--ink);font-family:var(--font-sans)}.lp{--lp-max:1180px;--lp-gutter:clamp(16px, 4vw, 40px);overflow-x:clip}.lp>header,.lp main>section,.lp>footer{width:min(var(--lp-max), 100% - 2 * var(--lp-gutter));margin-inline:auto}.lp h1,.lp h2,.lp h3{font-family:var(--font-display);color:var(--ink);margin:0;font-weight:500}.lp p{margin:0}.lp a:not(.lp-btn):not(.cf-brand){color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--muted-soft);text-decoration-color:var(--muted-soft);text-underline-offset:5px;text-decoration-thickness:1px;transition:text-decoration-color .14s}.lp a:not(.lp-btn):not(.cf-brand):hover{-webkit-text-decoration-color:var(--coral);text-decoration-color:var(--coral)}.lp-nav{justify-content:space-between;align-items:center;gap:16px;padding-block:22px;display:flex}.lp-nav nav{align-items:center;gap:24px;font-size:15px;display:flex}.lp .lp-nav a.lp-nav__cta{color:var(--coral);font-weight:500;text-decoration:none}.lp .lp-nav a.lp-nav__cta:hover{color:var(--coral-active)}.lp .lp-nav a.lp-nav__github{border:1px solid var(--hairline);border-radius:8px;align-items:center;gap:8px;min-height:36px;padding:0 12px;font-weight:500;text-decoration:none;transition:border-color .14s;display:inline-flex}.lp .lp-nav a.lp-nav__github:hover{border-color:var(--muted-soft)}.lp-btn{border:1px solid var(--hairline);background:var(--canvas);min-height:48px;color:var(--ink);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;padding:0 22px;font-size:16px;font-weight:500;text-decoration:none;transition:background .14s,border-color .14s,transform .14s;display:inline-flex}.lp-btn:hover{color:var(--ink);border-color:var(--muted-soft);text-decoration:none}.lp-btn:active{transform:translateY(1px)}.lp-btn--primary{background:var(--coral);border-color:var(--coral);color:var(--on-primary)}.lp-btn--primary:hover{background:var(--coral-active);border-color:var(--coral-active);color:var(--on-primary)}.lp-hero{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:end;gap:32px 56px;padding-block:clamp(48px,9vw,120px) clamp(40px,6vw,72px);display:grid}.lp-hero h1{letter-spacing:-.025em;text-wrap:balance;font-size:clamp(46px,7.2vw,96px);line-height:1}.lp-hero__side p:first-child{color:var(--body);max-width:42ch;font-size:18px;line-height:1.6}.lp-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.lp .lp-note{color:var(--muted);margin-top:14px;font-size:14px}.lp-season{padding-block:clamp(32px,5vw,56px) clamp(56px,8vw,104px)}.lp-season__head{border-top:1px solid var(--hairline);grid-template-columns:minmax(0,7fr) minmax(0,4fr);align-items:end;gap:16px 56px;padding-top:28px;display:grid}.lp-season__head h2{letter-spacing:-.01em;font-size:clamp(30px,3.4vw,42px);line-height:1.1}.lp-season__head p{color:var(--muted);max-width:44ch;font-size:15px;line-height:1.6}.lp-track{height:320px;margin-top:40px;position:relative}.lp-track__rule{background:var(--ink);transform-origin:0;height:2px;animation:.9s cubic-bezier(.2,.7,.2,1) both lp-draw;position:absolute;top:160px;left:0;right:0}.lp-track__month{border-left:1px solid var(--hairline);height:26px;color:var(--muted);align-items:flex-end;padding-left:8px;font-size:13px;display:flex;position:absolute;bottom:0}.lp-pin{width:0;animation:.42s ease-out both lp-pin-in;position:absolute;top:160px}.lp-pin__dot{box-sizing:border-box;border-radius:50%;width:14px;height:14px;position:absolute;top:-6px;left:-7px}.lp-pin--deadline .lp-pin__dot{background:var(--coral);box-shadow:0 0 0 4px var(--canvas)}.lp-pin--milestone .lp-pin__dot{background:var(--canvas);border:2px solid var(--workspace-accent);box-shadow:0 0 0 4px var(--canvas)}.lp-pin:before{content:"";background:var(--hairline);width:1px;height:30px;position:absolute;left:0}.lp-pin--up:before{bottom:10px}.lp-pin--down:before{top:10px}.lp-pin__text{width:200px;color:var(--muted);flex-direction:column;gap:2px;padding-left:12px;font-size:14px;line-height:1.35;display:flex;position:absolute;left:-1px}.lp-pin--up .lp-pin__text{bottom:28px}.lp-pin--down .lp-pin__text{top:28px}.lp-pin--end .lp-pin__text{text-align:right;align-items:flex-end;padding:0 12px 0 0;left:auto;right:-1px}.lp-pin--end:before{left:0}.lp-pin__text time{font-variant-numeric:tabular-nums;font-size:13px}.lp-pin__text strong{font-family:var(--font-display);color:var(--ink);font-size:22px;font-weight:500;line-height:1.1}.lp-pin--deadline time{color:var(--coral);font-weight:600}.lp-pin--milestone time{color:var(--workspace-accent);font-weight:600}.lp-legend{color:var(--muted);gap:24px;margin:28px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.lp-legend li{align-items:center;gap:8px;display:flex}.lp-legend__dot{box-sizing:border-box;border-radius:50%;width:10px;height:10px}.lp-legend__dot--deadline{background:var(--coral)}.lp-legend__dot--milestone{border:2px solid var(--workspace-accent)}[data-lp-waiting] .lp-track__rule,[data-lp-waiting] .lp-pin{animation-play-state:paused}@keyframes lp-draw{0%{transform:scaleX(0)}}@keyframes lp-pin-in{0%{opacity:0;transform:translateY(6px)}}.lp-features{border-top:1px solid var(--hairline);grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:24px 56px;padding-block:clamp(56px,8vw,104px);display:grid}.lp-features h2{letter-spacing:-.01em;align-self:start;font-size:clamp(30px,3.4vw,42px);line-height:1.1;position:sticky;top:32px}.lp-features dl{margin:0}.lp-feature{border-bottom:1px solid var(--hairline);grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:8px 32px;padding-block:22px;display:grid}.lp-feature:first-child{padding-top:6px}.lp-feature dt{font-family:var(--font-display);color:var(--ink);font-size:25px;font-weight:500;line-height:1.15}.lp-feature dd{color:var(--body);margin:0;font-size:15px;line-height:1.65}.lp .lp-rank{width:auto;padding-inline:max(var(--lp-gutter), calc((100% - var(--lp-max)) / 2));background:var(--workspace-accent-soft);grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:32px 56px;padding-block:clamp(56px,8vw,104px);display:grid}.lp-rank__copy h2{letter-spacing:-.01em;font-size:clamp(30px,3.4vw,42px);line-height:1.1}.lp-rank__copy p{color:var(--body);max-width:40ch;margin-top:16px;font-size:15px;line-height:1.65}.lp .lp-rank__links{flex-direction:column;gap:10px;margin-top:24px;display:flex}.lp .lp-rank__links a:not(.lp-btn):not(.cf-brand){color:var(--workspace-accent);-webkit-text-decoration-color:color-mix(in srgb, var(--workspace-accent) 35%, transparent);text-decoration-color:color-mix(in srgb, var(--workspace-accent) 35%, transparent);font-weight:500}.lp .lp-rank__links a:not(.lp-btn):not(.cf-brand):hover{-webkit-text-decoration-color:var(--workspace-accent);text-decoration-color:var(--workspace-accent)}.lp-rank__table{margin:0}.lp-rank__table table{border-collapse:collapse;width:100%;font-size:15px}.lp-rank__table thead th{text-align:left;color:var(--muted);border-bottom:1px solid var(--ink);padding:0 0 10px;font-size:13px;font-weight:500}.lp-rank__table td,.lp-rank__table tbody th{border-bottom:1px solid color-mix(in srgb, var(--workspace-accent) 18%, transparent);vertical-align:baseline;padding:14px 0}.lp-rank__table tbody th{text-align:left;color:var(--ink);padding-right:16px;font-weight:500}.lp-rank__table tbody th span{color:var(--muted);margin-top:2px;font-size:13px;font-weight:400;display:block}.lp-rank__n{width:56px;font-family:var(--font-display);color:var(--workspace-accent);font-size:30px;line-height:1}.lp .lp-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:16px}.lp-rank__table figcaption{color:var(--muted);margin-top:14px;font-size:13px;line-height:1.5}.lp-trust{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 56px;padding-block:clamp(56px,8vw,96px);display:grid}.lp-trust h3{font-size:25px;line-height:1.15}.lp-trust p{color:var(--body);margin-top:10px;font-size:15px;line-height:1.65}.lp-close{border-top:1px solid var(--hairline);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px 40px;padding-block:48px clamp(56px,8vw,96px);display:flex}.lp-close h2{letter-spacing:-.015em;max-width:18ch;font-size:clamp(30px,4vw,52px);line-height:1.05}.lp-foot{border-top:1px solid var(--hairline);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding-block:24px 40px;font-size:14px;display:flex}.lp-foot nav{gap:20px;display:flex}.lp a:focus-visible{outline:2px solid var(--workspace-accent);outline-offset:3px;border-radius:4px}@media (max-width:900px){.lp-hero,.lp-season__head,.lp-features,.lp .lp-rank{grid-template-columns:minmax(0,1fr)}.lp-features h2{position:static}.lp-feature{grid-template-columns:minmax(0,1fr)}.lp-track{flex-direction:column;gap:22px;height:auto;margin-top:32px;padding-left:28px;display:flex}.lp-track__rule{transform-origin:top;width:2px;height:auto;animation-name:lp-draw-y;inset:6px auto 6px 6px}.lp-track__month{display:none}.lp-pin,.lp-pin--end{width:auto;position:relative;top:auto;left:auto!important}.lp-pin:before{display:none}.lp-pin__dot{top:3px;left:-29px}.lp-pin__text,.lp-pin--up .lp-pin__text,.lp-pin--down .lp-pin__text,.lp-pin--end .lp-pin__text{text-align:left;align-items:flex-start;width:auto;padding:0;position:static}@keyframes lp-draw-y{0%{transform:scaleY(0)}}}@media (max-width:640px){.lp-nav .lp-nav__rankings{display:none}.lp-nav nav{gap:14px}.lp-nav__your{display:none}.lp .lp-nav a.lp-nav__github{border:0;justify-content:center;min-width:24px;padding:0}.lp-nav__github span{display:none}.lp-trust{grid-template-columns:minmax(0,1fr);gap:28px}.lp-rank__table thead th:nth-child(4),.lp-rank__table td:nth-child(4){display:none}.lp-btn{flex:auto}}@media (prefers-reduced-motion:reduce){.lp-track__rule,.lp-pin{animation:none}.lp-btn{transition:none}}
