@font-face{font-family:Courier Prime;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/courier-prime-latin-700-normal.D1YCjmaD.woff2)format("woff2"),url(/_astro/courier-prime-latin-700-normal.CVvp4Sof.woff)format("woff")}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Mono Fallback Menlo;font-weight:400;src:local(Menlo Regular),local(Menlo-Regular),local(DejaVu Sans Mono),local(DejaVuSansMono);size-adjust:99.66%;ascent-override:102.35%;descent-override:30.1%;line-gap-override:0%}@font-face{font-family:Mono Fallback Menlo;font-weight:700;src:local(Menlo Bold),local(Menlo-Bold),local(DejaVu Sans Mono Bold),local(DejaVuSansMono-Bold);size-adjust:99.66%;ascent-override:102.35%;descent-override:30.1%;line-gap-override:0%}@font-face{font-family:Mono Fallback Consolas;font-weight:400;src:local(Consolas);size-adjust:109.13%;ascent-override:93.47%;descent-override:27.49%;line-gap-override:0%}@font-face{font-family:Mono Fallback Consolas;font-weight:700;src:local(Consolas Bold),local(Consolas-Bold);size-adjust:109.13%;ascent-override:93.47%;descent-override:27.49%;line-gap-override:0%}@font-face{font-family:Mono Fallback Courier;font-weight:400;src:local(Courier New),local(CourierNewPSMT),local(Liberation Mono),local(LiberationMono);size-adjust:99.98%;ascent-override:102.02%;descent-override:30.01%;line-gap-override:0%}@font-face{font-family:Mono Fallback Courier;font-weight:700;src:local(Courier New Bold),local(CourierNewPS-BoldMT),local(Liberation Mono Bold),local(LiberationMono-Bold);size-adjust:99.98%;ascent-override:102.02%;descent-override:30.01%;line-gap-override:0%}@font-face{font-family:Display Fallback;font-weight:700;src:local(Courier New Bold),local(CourierNewPS-BoldMT),local(Liberation Mono Bold),local(LiberationMono-Bold);size-adjust:99.92%;ascent-override:78.19%;descent-override:34.21%;line-gap-override:0%}:root{--bg:#0b0b0b;--surface:#111;--raised:#1a1a1a;--line:#262626;--edge:#6b6b6b;--text:#ececec;--soft:#c9c9c9;--muted:#999;--dim:gray;--accent:#b8ff3c;--accent-ink:#0b0b0b;--warn:#ffb347;--display:"Courier Prime", "Display Fallback", "Courier New", monospace;--mono:"JetBrains Mono Variable", "Mono Fallback Menlo", "Mono Fallback Consolas", "Mono Fallback Courier", ui-monospace, monospace;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:calc(var(--header-height,72px) + 16px)}body{background:var(--bg);color:var(--text);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}main:focus{outline:none}.skip-link{top:8px;z-index:40;color:var(--accent-ink);background:var(--accent);font-family:var(--mono);padding:8px 14px;font-size:.85rem;font-weight:700;position:absolute;inset-inline-start:8px;transform:translateY(-200%)}.skip-link:focus{transform:none}h1,h2{font-family:var(--display);letter-spacing:-.01em;font-weight:700;line-height:1.05}h1{overflow-wrap:anywhere;margin:.2em 0 .35em;font-size:clamp(2.4rem,7vw,4rem)}main{max-width:700px;margin:0 auto;padding:0 16px}.site-header{z-index:20;background-color:var(--bg);border-bottom:1px solid var(--line);font-family:var(--mono);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding:18px 32px;display:flex;position:sticky;top:0}.brand{color:var(--text);font-family:var(--display);font-size:1.15rem;font-weight:700}.brand:hover{text-decoration:none}.brand .prompt{color:var(--accent);margin-inline-end:2px}.brand .cursor{background:var(--accent);vertical-align:baseline;width:.5em;height:.72em;margin-inline-start:3px;display:inline-block}.header-search{border:1px solid var(--edge);flex:0 420px;min-width:0;display:flex}.header-search:focus-within{border-color:var(--accent)}.header-search input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;flex:1;padding:8px 12px;font-size:.82rem}.header-search input::placeholder{color:var(--dim)}.header-search input:focus{outline:none}.header-search button{color:var(--accent);border:0;border-inline-start:1px solid var(--edge);font:inherit;cursor:pointer;background:0 0;padding:0 12px}.header-search button:focus-visible{outline-offset:-2px}.header-search button:hover{color:var(--accent-ink);background:var(--accent)}.site-header nav{gap:28px;font-size:.85rem;display:flex}.site-header nav a{color:var(--dim)}.site-header nav a:hover{color:var(--text);text-decoration:none}.header-search.is-revealable{visibility:hidden;opacity:0;pointer-events:none;transition:opacity .22s,transform .22s,visibility 0s linear .22s;transform:translateY(-8px)}.site-header[data-search-visible] .header-search.is-revealable{visibility:visible;opacity:1;pointer-events:auto;transition:opacity .22s,transform .22s,visibility;transform:none}@media (prefers-reduced-motion:reduce){.header-search.is-revealable,.site-header[data-search-visible] .header-search.is-revealable{transition:none;transform:none}}.header-end{align-items:center;gap:14px;display:flex}.locales{font-family:var(--mono);align-items:stretch;font-size:.78rem;display:flex}.locales select{appearance:none;color-scheme:dark;border:1px solid var(--line);background-color:var(--bg);background-image:linear-gradient(45deg, transparent 50%, var(--dim) 50%), linear-gradient(135deg, var(--dim) 50%, transparent 50%);color:var(--text);font:inherit;cursor:pointer;background-position:right 13px center,right 8px center;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding:5px 26px 5px 10px}.locales select:hover{border-color:var(--dim)}.locales select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.locales option{background-color:var(--surface);color:var(--text)}.locales-fallback{font-family:var(--mono);gap:0;font-size:.78rem;display:flex}.locales-fallback a{color:var(--dim);border:1px solid #0000;padding:2px 7px}.locales-fallback a+a{border-inline-start-color:var(--line)}.locales-fallback a[aria-current]{color:var(--accent);border-color:var(--line)}.github-link{color:var(--dim);align-items:center;display:inline-flex}.github-link:hover{color:var(--text)}.github-link svg{display:block}.site-footer{border-top:1px solid var(--line);color:var(--dim);font-family:var(--mono);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:96px;padding:28px 32px 40px;font-size:.78rem;display:flex}.site-footer p{margin:0}.site-footer nav{flex-wrap:wrap;gap:8px 24px;display:flex}.site-footer a{color:var(--dim)}.site-footer a:hover{color:var(--text)}.site-footer p a,.lede a{text-underline-offset:3px;text-decoration:underline}.eyebrow,.section-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.3em;margin:0;font-size:.75rem;font-weight:500}.eyebrow{color:var(--accent)}.section-label{color:var(--dim);margin-bottom:20px}.hero{padding:72px 0 8px}.lede{max-width:62ch;color:var(--muted);margin:0;font-size:.95rem}.back{color:var(--dim);font-family:var(--mono);margin-top:40px;font-size:.8rem;display:inline-block}.breadcrumbs{font-family:var(--mono);margin-top:40px;font-size:.8rem}.breadcrumbs ol{flex-wrap:wrap;gap:4px 0;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li{color:var(--dim)}.breadcrumbs li+li:before{content:"/";color:var(--edge);margin:0 8px}.breadcrumbs a{color:var(--dim)}.breadcrumbs a:hover{color:var(--text)}.breadcrumbs [aria-current=page]{color:var(--muted)}.page-section{margin-top:56px}.page-section h2{margin:0 0 16px;font-size:1.6rem}.table-scroll{max-width:100%;overflow-x:auto}.table-scroll.wide{max-width:none}.comparison{border-collapse:collapse;width:100%;font-family:var(--mono);text-align:start;white-space:nowrap;font-size:.8rem}.comparison th,.comparison td{border-bottom:1px solid var(--line);text-align:start;vertical-align:baseline;padding:10px 20px 10px 0}.comparison thead th{color:var(--dim);text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;font-weight:500}.comparison tbody td{color:var(--muted)}.comparison tbody th a{color:var(--text);font-weight:700}.comparison td a{color:var(--muted)}.pair-links{font-family:var(--mono);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px 24px;margin:0;padding:0;font-size:.85rem;list-style:none;display:grid}.about-more{font-family:var(--mono);margin:16px 0 0;font-size:.85rem}.context{color:var(--dim);font-family:var(--mono);margin:28px 0 0;font-size:.8rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.search form{border:1px solid var(--accent);margin-top:44px;display:flex}.search-field{flex:1;min-width:0;display:flex;position:relative}.suggestions{top:calc(100% + 1px);z-index:25;background-color:var(--surface);border:1px solid var(--accent);max-height:320px;position:absolute;inset-inline:0;overflow-y:auto}.suggestion,.suggestion-note{font-family:var(--mono);text-align:start;margin:0;padding:10px 16px;font-size:.85rem;display:block}.suggestion-note{color:var(--dim)}.suggestion{color:var(--text);border-bottom:1px solid var(--line);text-decoration:none}.suggestion:last-child{border-bottom:0}.suggestion.is-active{background-color:var(--bg);color:var(--accent)}.suggestion-detail{color:var(--dim);margin-top:3px;font-size:.75rem;display:block}.search input{min-width:0;color:var(--text);font:inherit;font-family:var(--mono);background:0 0;border:0;flex:1;padding:14px 16px;font-size:.95rem}.search input::placeholder{color:var(--dim)}.search input:focus{background:var(--surface);outline:none}.search form:focus-within{outline:2px solid var(--accent);outline-offset:2px}.search button[type=submit]{color:var(--accent-ink);background:var(--accent);font-family:var(--mono);cursor:pointer;border:0;padding:0 26px;font-size:.9rem;font-weight:700}.search button[type=submit]:focus-visible{outline-color:var(--accent-ink);outline-offset:-4px}.search button[type=submit]:disabled{opacity:.6;cursor:progress}.examples{color:var(--dim);font-family:var(--mono);flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0 0;font-size:.78rem;display:flex}.examples button{color:var(--muted);border:1px solid var(--edge);font:inherit;cursor:pointer;background:0 0;padding:5px 9px}.examples button:hover{color:var(--accent);border-color:var(--accent)}button.link{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.chips{font-family:var(--mono);flex-wrap:wrap;align-items:center;gap:8px;margin:24px 0 4px;font-size:.8rem;display:flex}.chip{color:var(--accent);border:1px solid var(--accent);align-items:center;gap:6px;padding:1px 1px 1px 10px;display:inline-flex}.chip button{width:24px;height:24px;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:1rem;line-height:1}.chip button:focus-visible{outline-offset:-2px}.chip button:hover{color:var(--accent-ink);background:var(--accent)}.chip-unchecked{color:var(--muted);border-style:dashed;border-color:var(--edge)}.chip-unchecked:not(:has(button)){padding-inline-end:10px}.chip-unchecked button{color:var(--muted)}.landing{font-family:var(--mono);margin:12px 0 0;font-size:.85rem}.summary,.count{color:var(--dim);font-family:var(--mono);font-size:.8rem}.summary{margin:16px 0 12px}.empty{color:var(--muted);border:1px solid var(--line);padding:20px}.empty p{margin:0}.empty p+p{margin-top:8px}.divider{border:0;border-top:1px solid var(--line);margin:64px 0 40px}.tools{gap:12px;display:grid}.tools.trending{margin-top:20px}.tool{background:var(--surface);border:1px solid var(--line);padding:20px 22px}.tool-head{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.tool-head .mark-compare{margin-inline-start:auto}.tool-name{color:var(--text);font-family:var(--display);font-size:1.25rem;font-weight:700}.tool-name:hover{color:var(--accent);text-decoration:none}.boost{color:var(--accent);font-family:var(--mono);white-space:nowrap;cursor:default;margin-inline-start:auto;font-size:.8rem;font-weight:700;position:relative}.sparkline{vertical-align:-3px;width:60px;height:16px;display:inline-block;overflow:visible}.boost .sparkline{margin-inline-end:10px}.facts .sparkline,.comparison-stars .sparkline{margin-inline-start:10px}.boost-growth{color:var(--soft);margin-inline-start:8px;font-weight:500}.tool-description{color:var(--soft);margin:8px 0 0;font-size:.95rem}.tool-note{color:var(--muted);margin:4px 0 0;font-size:.9rem}.review-due{color:var(--warn);border:1px solid var(--warn);font-family:var(--mono);margin:16px 0 0;padding:10px 14px;font-size:.85rem}.fit-note{color:var(--muted);font-weight:400}.english-only{color:var(--dim);font-family:var(--mono);margin:32px 0 0;font-size:.8rem}.migration-body{margin-top:40px}.sources{overflow-wrap:anywhere;font-family:var(--mono);margin:8px 0 0;padding-inline-start:18px;font-size:.8rem}.criteria{color:var(--muted);font-family:var(--mono);margin:10px 0 0;font-size:.78rem}.criteria-gap{color:var(--warn)}.near{margin-top:40px}.near .section-label{color:var(--dim);margin-bottom:12px}.capabilities ul{margin:8px 0 0;padding:0;font-size:.85rem;list-style:none}.capabilities li{color:var(--text);padding:4px 0}.capabilities a,.capability-note{color:var(--muted);font-family:var(--mono);font-size:.78rem}.migration-link{font-family:var(--mono);margin:6px 0 0;font-size:.8rem}.facts{font-family:var(--mono);flex-wrap:wrap;gap:10px 28px;margin:16px 0 0;display:flex}.facts dt{color:var(--dim);text-transform:uppercase;letter-spacing:.15em;font-size:.68rem}.facts dd{align-items:center;gap:8px;margin:2px 0 0;font-size:.85rem;display:flex}.fit,.mark,.tag{color:var(--muted);border:1px solid var(--line);font-family:var(--mono);white-space:nowrap;padding:2px 8px;font-size:.72rem;font-weight:500;line-height:1.5;display:inline-block}.fit-drop-in,.mark-good,.tag-accent{color:var(--accent);border-color:var(--accent)}.fit-full{color:var(--text);border-color:var(--dim)}.mark-icon{color:var(--accent);vertical-align:middle;align-items:center;display:inline-flex;position:relative}.mark-icon svg{display:block}.mark-icon.is-muted{color:var(--dim)}.mark-icon:after,.boost:after{content:attr(data-tip);z-index:30;background-color:var(--surface);width:max-content;max-width:200px;color:var(--text);border:1px solid var(--dim);text-align:center;white-space:normal;opacity:0;transition:opacity .12s ease, display .12s allow-discrete;padding:5px 8px;font-size:.7rem;line-height:1.4;display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.mark-icon:hover:after,.mark-icon:focus-visible:after,.boost:hover:after,.boost:focus-visible:after{opacity:1;display:block}@starting-style{.mark-icon:hover:after,.mark-icon:focus-visible:after,.boost:hover:after,.boost:focus-visible:after{opacity:0}}.tool-head .mark-compare:after,.boost:after{left:auto;right:0;transform:none}.mark-archived,.mark-stale{color:var(--muted);border-color:var(--dim);vertical-align:middle}.mark-warn{color:var(--warn);border-color:var(--warn)}.marks,.tags,.badges{flex-wrap:wrap;gap:8px;margin:14px 0 0;display:flex}.badges{margin:0 0 36px}.target-name .mark-archived{margin-inline-start:8px}h1 .mark-icon{vertical-align:middle;margin-inline-start:16px}h1 .mark-icon svg{width:28px;height:28px}h1 .mark-icon:after{top:calc(100% + 8px);bottom:auto}@supports (position-area:top){.mark-icon{position:static}.mark-icon:after,.tool-head .mark-compare:after{position-area:top;margin-bottom:6px;inset:auto;transform:none}.tool-head .mark-compare:after{position-area:top span-left}h1 .mark-icon:after{position-area:bottom;margin:8px 0 0;inset:auto}}h1 .mark-archived{letter-spacing:0;margin-inline-start:16px;font-size:.8rem}.more{text-align:center;margin:24px 0 0}.more button{color:var(--accent);border:1px solid var(--line);font:inherit;font-family:var(--mono);cursor:pointer;background:0 0;padding:8px 20px;font-size:.8rem}.more button:hover:not(:disabled){border-color:var(--accent)}.more button:disabled{color:var(--dim);cursor:default}.refine{min-inline-size:auto;font-family:var(--mono);color:var(--dim);border:0;flex-wrap:wrap;align-items:center;gap:12px 24px;margin:28px 0 0;padding:0;font-size:.8rem;display:flex}.refine-field{align-items:center;gap:8px;min-width:0;display:flex}.refine select{appearance:none;color-scheme:dark;min-width:0;color:var(--text);background-color:var(--bg);border:1px solid var(--line);font:inherit;cursor:pointer;padding:5px 10px}.refine select:hover{border-color:var(--dim)}.refine option{background-color:var(--surface);color:var(--text)}.refine-toggle{cursor:pointer;align-items:center;gap:8px;display:flex}.refine-toggle input{accent-color:var(--accent)}.facets{gap:12px;margin:32px 0 8px;display:grid}.facet{font-family:var(--mono);border:0;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;display:flex}.facet legend{float:left;width:90px;color:var(--dim);text-transform:uppercase;letter-spacing:.15em;font-size:.72rem}.facet button{color:var(--muted);border:1px solid var(--edge);font:inherit;cursor:pointer;background:0 0;padding:4px 10px;font-size:.8rem}.facet button:hover{color:var(--text)}.facet button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.facet-label{width:90px;color:var(--dim);text-transform:uppercase;letter-spacing:.15em;flex:none;font-size:.72rem}.facet-anchor{min-width:0;position:relative}.facet .facet-trigger{align-items:center;gap:8px;max-width:100%;display:inline-flex}.facet .facet-trigger[data-active=true]{color:var(--accent);border-color:var(--accent)}.facet-trigger svg{flex:none;transition:transform .15s}.facet-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.facet-panel{z-index:20;top:calc(100% + 4px);width:min(280px,100vw - 32px);background:var(--surface);border:1px solid var(--line);gap:8px;min-inline-size:auto;margin:0;padding:8px;display:grid;position:absolute;inset-inline-start:0;box-shadow:0 12px 32px #00000080}.facet-search{width:100%;color:var(--text);background:var(--bg);border:1px solid var(--line);font:inherit;padding:6px 8px;font-size:.8rem}.facet-options{max-height:260px;margin:0;padding:0;list-style:none;overflow-y:auto}.facet-option{color:var(--muted);cursor:pointer;align-items:center;gap:8px;padding:5px 4px;font-size:.8rem;display:flex}.facet-option:hover,.facet-option:has(input:checked){color:var(--text)}.facet-option input{accent-color:var(--accent);margin:0}.facet-option .count{margin-inline-start:auto}.facet-none{color:var(--dim);margin:4px;font-size:.8rem}.facet .facet-clear{color:var(--accent);border:0;justify-self:start;padding:0 4px}.targets{background:var(--raised);border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;padding:0;list-style:none;display:grid}.targets li{background:var(--bg)}.targets a{justify-content:space-between;align-items:center;gap:16px;height:100%;padding:22px 20px;display:flex}.targets a:focus-visible{outline-offset:-2px}.targets a:hover{background:var(--surface);text-decoration:none}.target-name{color:var(--text);font-family:var(--display);font-size:1.05rem;font-weight:700;display:block}.target-category{color:var(--dim);font-family:var(--mono);margin-top:2px;font-size:.75rem;display:block}.target-count{color:var(--accent);font-family:var(--mono);white-space:nowrap;font-size:.85rem}.stats{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0 0 40px;display:grid}.stats div{background:var(--bg);padding:18px 16px}.stats dt{color:var(--dim);font-family:var(--mono);text-transform:uppercase;letter-spacing:.15em;font-size:.68rem}.stats dd{overflow-wrap:anywhere;font-family:var(--display);margin:8px 0 0;font-size:1.1rem;font-weight:700}.stats dd a{color:var(--text)}.description{color:var(--soft);margin:0 0 48px;font-size:1.1rem;line-height:1.75}.block{margin-bottom:48px}.replaces{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.replaces li{border-bottom:1px solid var(--line);grid-template-columns:minmax(120px,180px) 1fr auto;align-items:baseline;gap:8px 24px;padding:16px 0;display:grid}.replaces a{font-family:var(--mono);font-weight:700}.replaces .tool-note{margin:0}.affiliation,.archived-note{margin:0 0 40px;padding:12px 16px;font-size:.9rem}.affiliation{color:var(--warn);border:1px solid var(--warn)}.archived-note{color:var(--muted);border:1px solid var(--dim)}.links{font-family:var(--mono);flex-wrap:wrap;align-items:center;gap:12px 24px;font-size:.8rem;display:flex}.links a{color:var(--muted)}.links .repo-link{color:var(--accent);border:1px solid var(--accent);padding:12px 20px;font-size:.85rem;font-weight:700}.links .repo-link:hover{color:var(--accent-ink);background:var(--accent);text-decoration:none}.paths{margin-top:32px}.prose{color:var(--soft)}.prose>h1:first-child{display:none}.prose h2{color:var(--text);margin:56px 0 16px;font-size:clamp(1.6rem,4vw,2.1rem)}.prose h2:first-of-type{margin-top:0}.prose ul{padding-inline-start:1.2em}.prose li{margin-bottom:8px}.prose code{font-family:var(--mono);color:var(--text);font-size:.85em}.prose pre{background:var(--surface);border:1px solid var(--line);margin:20px 0;padding:16px 20px;line-height:1.5;overflow-x:auto}.prose pre code{font-size:.8rem}.history{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.history li{border-bottom:1px solid var(--line);grid-template-columns:minmax(110px,180px) 1fr auto;align-items:center;gap:8px 24px;padding:16px 0;display:grid}.history-tag{overflow-wrap:anywhere;font-family:var(--mono);font-size:.9rem;font-weight:700;display:block}.history-date{color:var(--dim);font-family:var(--mono);margin-top:2px;font-size:.72rem;display:block}.history-name{color:var(--muted);font-size:.92rem}.history-marks{gap:8px;display:flex}.legal-head{padding:56px 0 48px}.legal h2{margin:0 0 16px;font-size:1.5rem}.legal p{max-width:62ch;color:var(--soft);margin:0 0 16px}.legal code{font-family:var(--mono);font-size:.85em}.legal-facts{border-top:1px solid var(--line);margin:0 0 16px}.legal-facts div{border-bottom:1px solid var(--line);grid-template-columns:minmax(110px,160px) 1fr;gap:4px 24px;padding:12px 0;display:grid}.legal-facts dt{color:var(--dim);font-family:var(--mono);text-transform:uppercase;letter-spacing:.15em;font-size:.68rem;line-height:2.2}.legal-facts dd{overflow-wrap:anywhere;color:var(--text);margin:0;font-size:.92rem}.contact-form{gap:20px;max-width:62ch;margin-top:28px;display:grid}.contact-form[hidden],.contact-sent[hidden]{display:none}.contact-field{gap:8px;display:grid}.contact-field>span{color:var(--dim);font-family:var(--mono);text-transform:uppercase;letter-spacing:.15em;font-size:.68rem}.contact-field small{font-size:inherit;text-transform:none;letter-spacing:0}.contact-field input,.contact-field select,.contact-field textarea{width:100%;color:var(--text);background-color:var(--bg);border:1px solid var(--edge);color-scheme:dark;font:inherit;padding:10px 12px;font-size:.92rem}.contact-field select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--dim) 50%), linear-gradient(135deg, var(--dim) 50%, transparent 50%);cursor:pointer;background-position:right 17px center,right 12px center;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-inline-end:32px}.contact-field textarea{resize:vertical}.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{border-color:var(--accent)}.contact-form .contact-error{color:var(--warn);margin:0}.contact-form .contact-error:empty{display:none}.contact-form button[type=submit]{color:var(--accent-ink);background:var(--accent);font-family:var(--mono);cursor:pointer;border:0;justify-self:start;padding:12px 26px;font-size:.9rem;font-weight:700}.contact-form button[type=submit]:disabled{opacity:.6;cursor:progress}.contact-sent{background:var(--surface);border:1px solid var(--line);max-width:62ch;margin-top:28px;padding:20px 24px}.contact-sent h3{color:var(--accent);margin:0 0 12px}.placeholder{color:var(--warn);border:1px dashed var(--warn);font-family:var(--mono);padding:0 4px;font-size:.85em}.wide{width:min(1120px,100vw - 32px);margin-inline-start:50%;transform:translate(-50%)}[dir=rtl] .wide{transform:translate(50%)}.answer{font-family:var(--mono);margin:0;font-size:.9rem}.answer a{color:var(--text);text-underline-offset:3px;text-decoration:underline}.answer a:hover{color:var(--accent)}.tool-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:48px;margin-top:8px;display:grid}.about{gap:20px;display:grid;position:sticky;top:24px}.about .section-label{margin:0}.about-description{color:var(--soft);margin:0;font-size:1rem;line-height:1.6}.about .badges,.about .tags,.about .affiliation,.about .archived-note{margin:0}.about-facts{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;display:grid}.about-facts div{background:var(--bg);padding:12px 14px}.about-facts .full{grid-column:1/-1}.star-chart svg{width:100%;height:56px;margin-top:12px;display:block;overflow:visible}.star-chart-area{fill:var(--accent);fill-opacity:.1}.star-chart-line{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-linejoin:round}.star-chart-day{fill:var(--accent);fill-opacity:0}.star-chart-day:hover{fill-opacity:.15}.star-chart-range{color:var(--dim);font-family:var(--mono);justify-content:space-between;gap:12px;margin:8px 0 0;font-size:.72rem;display:flex}.sponsor{color:var(--dim);margin:56px 0 0;font-size:.9rem}.sponsor-links{margin:12px 0 0}.owner-kind{color:var(--muted);font-family:var(--mono);font-size:.78rem}.owner-bio{max-width:62ch;color:var(--soft);margin:18px 0 24px;line-height:1.6}.about-facts dt{color:var(--dim);font-family:var(--mono);text-transform:uppercase;letter-spacing:.15em;font-size:.66rem}.about-facts dd{overflow-wrap:anywhere;font-family:var(--display);margin:6px 0 0;font-size:1rem;font-weight:700}.about-facts dd a{color:var(--text)}.about-facts .fact-note{color:var(--muted);font-family:var(--mono);margin-top:4px;font-size:.78rem;font-weight:400;display:block}.freshness{font-family:var(--mono);gap:8px;margin:0;font-size:.72rem;display:grid}.freshness a{color:var(--dim)}.freshness a:hover{color:var(--text)}.about-links{font-family:var(--mono);gap:10px;margin:0;font-size:.8rem;display:grid}.about-links a{color:var(--muted)}.about-links .repo-link{overflow-wrap:anywhere;color:var(--accent);border:1px solid var(--accent);padding:10px 14px;font-weight:700}.about-links .repo-link:hover{color:var(--accent-ink);background:var(--accent);text-decoration:none}.changes{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.changes li{overflow-wrap:anywhere;border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:4px 24px;padding:12px 0;display:flex}.changes-additions{flex:32rem}.changes li>span a,.changes-additions a{text-underline-offset:3px;text-decoration:underline}.changes-additions summary{width:fit-content;color:var(--muted);font-family:var(--mono);cursor:pointer;margin-top:4px;font-size:.8rem}.changes-day{font-family:var(--mono)}.changes-source,.feed-link{font-family:var(--mono);font-size:.75rem}.changes-source{color:var(--dim);white-space:nowrap}.feed-link a{color:var(--muted)}.tablist{border-bottom:1px solid var(--line);font-family:var(--mono);flex-wrap:wrap;gap:0;display:flex}.tablist button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:12px 16px;font-size:.85rem;display:inline-flex}.tablist button:hover{color:var(--text)}.tablist button[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}.tab-count{color:var(--dim);border:1px solid var(--line);padding:0 6px;font-size:.72rem}.tabpanel{padding-top:24px}.readme{color:var(--soft);overflow-wrap:anywhere;font-size:.98rem;line-height:1.7}.readme h1,.readme h2,.readme h3,.readme h4{color:var(--text);font-family:var(--display);margin:1.6em 0 .6em;line-height:1.2}.readme h1{font-size:1.9rem}.readme h2{border-bottom:1px solid var(--line);padding-bottom:6px;font-size:1.45rem}.readme h3{font-size:1.15rem}.readme>:first-child{margin-top:0}.readme img{max-width:100%;height:auto}.readme code{color:var(--text);background:var(--raised);font-family:var(--mono);padding:1px 5px;font-size:.85em}.readme pre{background:var(--surface);border:1px solid var(--line);padding:14px 16px;overflow-x:auto}.readme pre code{background:0 0;padding:0}.readme table{border-collapse:collapse;display:block;overflow-x:auto}.readme th,.readme td{border:1px solid var(--line);padding:6px 12px}.readme blockquote{color:var(--muted);border-inline-start:3px solid var(--line);margin:0;padding:0 16px}.readme hr{border:0;border-top:1px solid var(--line)}.security{gap:20px;display:grid}.security .section-label{margin:12px 0 0}.security-line{color:var(--soft);flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0;display:flex}.scorecard-total{align-items:baseline;gap:12px;margin:0;display:flex}.scorecard-total .score{font-size:2.4rem}.score{font-family:var(--display);font-weight:700}.score-good{color:var(--accent)}.score-fair{color:var(--warn)}.score-poor{color:#ff6b6b}.score-none{color:var(--dim)}.checks,.advisories{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.checks li,.advisories li{border-bottom:1px solid var(--line);grid-template-columns:56px 1fr;align-items:baseline;gap:16px;padding:12px 0;display:grid}.advisories li{grid-template-columns:90px 1fr}.checks a,.advisories a{font-family:var(--mono);font-size:.88rem}.check-reason{color:var(--muted);margin-top:2px;font-size:.88rem;display:block}.severity-critical,.severity-high{color:#ff6b6b;border-color:#ff6b6b}.severity-medium,.severity-moderate{color:var(--warn);border-color:var(--warn)}@media (width<=960px){.tool-layout{grid-template-columns:minmax(0,1fr)}.about{order:-1;position:static}}a.fit:hover,a.mark:hover,a.tag:hover{border-color:currentColor;text-decoration:none}.explainer{margin-top:64px}.explainer h2{margin:0 0 20px;font-size:1.8rem}.explainer p,.explainer-list{max-width:62ch;color:var(--soft)}.explainer-list{padding-inline-start:20px}.explainer code{font-family:var(--mono);overflow-wrap:anywhere;font-size:.85em}.explainer [id],.explainer[id]{scroll-margin-top:24px}.glossary{border-top:1px solid var(--line);margin:0}.glossary div{border-bottom:1px solid var(--line);grid-template-columns:minmax(150px,220px) 1fr;align-items:baseline;gap:8px 24px;padding:16px 0;display:grid}.glossary div:target{background:var(--surface)}.glossary dd{color:var(--soft);margin:0;font-size:.95rem}.compare{border-collapse:collapse;text-align:start;width:100%;margin-top:32px}.compare th,.compare td{border-bottom:1px solid var(--line);vertical-align:baseline;padding:16px 24px 16px 0}.compare thead th{color:var(--text);font-family:var(--display);font-size:1.15rem}.compare tbody th{width:180px;color:var(--dim);font-family:var(--mono);text-transform:uppercase;letter-spacing:.15em;font-size:.68rem;font-weight:500}.compare td{color:var(--text);font-family:var(--mono);font-size:.85rem}.compare-value{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.compare-who{display:none}.compare-relation{margin-top:48px}.relations{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.relations li{border-bottom:1px solid var(--line);padding:16px 0}.relation-lead{color:var(--text);margin:0;font-size:.95rem}.relation-side{flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin:10px 0 0;display:flex}.relation-who{color:var(--soft);font-family:var(--mono);font-size:.85rem}.relation-note{color:var(--muted);flex:24ch;font-size:.9rem}.compare-tabs{margin-top:32px}.compare-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;display:grid}.compare-column h3{color:var(--text);font-family:var(--mono);margin:0 0 12px;font-size:.9rem}.compare-column .links,.compare-guides .links{flex-direction:column;align-items:flex-start;gap:10px;margin:0;padding:0;list-style:none}.compare-guides{margin-bottom:32px}.benchmarks{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.benchmarks li{border-bottom:1px solid var(--line);padding:16px 0}.benchmark-title{color:var(--text);margin:0;font-size:.95rem}.benchmark-result{color:var(--soft);font-family:var(--mono);margin:8px 0 0;font-size:.9rem}.benchmark-meta{color:var(--muted);font-family:var(--mono);flex-wrap:wrap;gap:8px 16px;margin:8px 0 0;font-size:.8rem;display:flex}.compare-link{font-family:var(--mono);margin:16px 0 0;font-size:.85rem}@media (width<=640px){.compare-columns{grid-template-columns:minmax(0,1fr)}.compare,.compare tbody,.compare tr,.compare th,.compare td{display:block}.compare thead{display:none}.compare tr{border-bottom:1px solid var(--line);padding:8px 0}.compare th,.compare td{border-bottom:0;width:auto;padding:4px 0}.compare-who{color:var(--dim);font-size:.72rem;display:block}.header-search{flex-basis:100%;order:3}.site-header,.site-footer{padding-inline:16px}.hero{padding-top:48px}.search form{flex-direction:column}.search button[type=submit]{padding:12px}.targets{grid-template-columns:minmax(0,1fr)}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.replaces li,.history li,.legal-facts div,.glossary div{grid-template-columns:1fr}.facet legend,.facet-label{float:none;width:100%;margin-bottom:4px}}.badges .tag{color:var(--accent);border-color:var(--accent)}.hero h1{font-size:clamp(2.2rem,6vw,3.4rem)}.listing{margin-top:32px}.summary+.listing{margin-top:0}.browse-more{margin-top:24px}[data-searching] #trending,[data-searching] .trending-divider{display:none}[data-searching] .search{min-height:100vh}.star-count{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.star-count svg{color:var(--dim);flex:none}
