@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/73cb51aac9c97f90-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d26bbd13d6b70f89-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/20535187d867b7b9-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5356a6a4f2c8c8d8-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/db96af6b531dc71f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/704b853f32d191d5-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/656feb427634a431-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/991629005c80bdf1-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/46e154b2fcbd6033-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/37786be940ec402b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_b4c22e{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_b4c22e{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--bg:#0a0a0a;--panel:#0d0d0d;--border:#2a2a2a;--border-dim:#1c1c1c;--text:#e4e4e4;--muted:#6b6b6b;--dim:#4a4a4a;--accent:#a78bfa;--accent-bright:#c4b5fd;--pass:#3fb950;--warn:#d29922;--fail:#f85149}*{box-sizing:border-box}html{background:var(--bg)}body,html{margin:0;padding:0;color:var(--text);font-family:var(--font-mono),ui-monospace,SFMono-Regular,"JetBrains Mono","IBM Plex Mono",Menlo,Consolas,monospace;line-height:1.6;font-size:15px}body:before{z-index:-2;background-image:repeating-linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.05) 1px,transparent 0,transparent 4px)}body:after,body:before{content:"";position:fixed;inset:0;pointer-events:none}body:after{z-index:-1;background-image:radial-gradient(ellipse 900px 480px at 50% -8%,rgba(139,92,246,.12),transparent 68%);background-size:100% 100%;background-position:0 0}a{color:var(--accent);text-decoration:none;background-image:linear-gradient(var(--accent),var(--accent));background-repeat:no-repeat;background-position:0 100%;background-size:0 1px}@media (prefers-reduced-motion:no-preference){a{transition:background-size .2s ease}}a:hover{background-size:100% 1px}.wrap{max-width:780px;margin:0 auto;padding:48px 20px 80px}.hero-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.hero-top .gh{color:var(--muted);background:none;display:inline-flex;padding:4px}.hero-top .gh:hover{color:var(--accent)}.hero h1{font-size:1.6rem;font-weight:700;margin:0 0 6px;letter-spacing:-.01em;text-transform:lowercase}.hero p.tag{font-size:.95rem;color:var(--muted);margin:0 0 20px;max-width:56ch}.cmd{display:inline-block;background:var(--bg);border:1px solid var(--border);padding:10px 14px;font-size:.9rem;color:var(--text)}.cmd .p{color:var(--accent)}.cmd .type{overflow:hidden;white-space:nowrap;width:28ch}.cmd .cursor,.cmd .type{display:inline-block;vertical-align:bottom}.cmd .cursor{color:var(--accent);margin-left:1px}@media (prefers-reduced-motion:no-preference){.cmd .type{width:0;animation:cmd-type 1.3s steps(28) .15s forwards}.cmd .cursor{animation:cmd-cursor-blink 1s step-end infinite}}@keyframes cmd-type{0%{width:0}to{width:28ch}}@keyframes cmd-cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}.stat-strip{display:flex;flex-wrap:wrap;gap:4px 18px;margin:18px 0 4px;font-size:.85rem}.bracket{white-space:nowrap}.bk{color:var(--dim)}.bk-key{color:var(--muted)}.bk-val{color:var(--text);font-weight:600}.comment{color:var(--muted);border:1px solid var(--border);padding:14px 18px;margin:28px 0;font-size:.9rem}.comment .hash{color:var(--dim);margin-right:6px}.comment b{color:var(--accent)}.comment b,h2{font-weight:600}h2{font-size:.95rem;color:var(--muted);text-transform:lowercase;letter-spacing:.02em;margin:40px 0 12px;border-bottom:1px solid var(--border);padding-bottom:8px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.88rem}td,th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border-dim)}th{font-weight:500;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}td.rank,th{color:var(--dim)}td.rank{width:28px}td.score,th.score{text-align:right;width:56px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td.tools,th.tools{text-align:right;color:var(--muted);width:48px}td.grade,th.grade{text-align:right;width:30px;font-weight:700}td.grade{text-shadow:0 0 8px currentColor}tbody tr{transition:background .12s ease;border-left:2px solid transparent}tbody tr:hover{background:rgba(255,255,255,.045);border-left-color:var(--row-accent,var(--accent))}tbody tr:hover .seg.on{filter:brightness(1.35)}tbody tr a{transition:padding-left .15s ease}tbody tr:hover a{padding-left:2px}.segbar{display:inline-flex;gap:2px;vertical-align:middle}.seg{width:6px;height:12px;background:transparent;border:1px solid var(--border);display:inline-block;transition:filter .15s ease}.seg.on{border-width:1px}@media (prefers-reduced-motion:no-preference){.segbar{-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0);animation:seg-reveal .5s cubic-bezier(.2,.8,.3,1) forwards}}@keyframes seg-reveal{to{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}}.back{display:inline-block;margin-bottom:24px}.back,.meta{color:var(--muted);font-size:.85rem}.meta{margin:0 0 20px}.scorehead{display:flex;align-items:baseline;gap:14px;margin:4px 0 20px;border:1px solid var(--border);padding:18px 20px}.scorehead .big{font-size:3rem;font-weight:700;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-shadow:0 0 14px currentColor}.scorehead .of100{color:var(--muted);font-size:1rem}.scorehead .g{font-size:1.3rem;font-weight:700;text-shadow:0 0 12px currentColor}@media (prefers-reduced-motion:no-preference){.scorehead .big,.scorehead .of100{animation:score-flicker .5s step-end both}.scorehead .g{animation:score-flicker .5s step-end .06s both}}@keyframes score-flicker{0%{opacity:0}8%{opacity:1}16%{opacity:.15}24%{opacity:1}32%{opacity:.3}42%{opacity:1}to{opacity:1}}.check{border:1px solid var(--border);padding:12px 16px;margin:8px 0}@media (prefers-reduced-motion:no-preference){.check{animation:check-in .35s ease-out both}}@keyframes check-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.check .title{font-weight:600;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.check .summary{font-weight:400;color:var(--muted)}.check .row2{margin-top:6px;display:flex;align-items:center;gap:8px}.check .detail,.check .fix{font-size:.85rem;color:var(--muted);margin-top:4px;padding-left:22px}.check .fix{color:var(--accent)}.status-ico{font-weight:700;width:14px;display:inline-block;text-align:center}.snippet{background:var(--bg);border:1px solid var(--border);padding:12px 14px;font-size:.8rem;overflow-x:auto;white-space:pre}.footer,.snippet{color:var(--muted)}.footer{margin-top:60px;font-size:.85rem;border-top:1px solid var(--border);padding-top:20px}.footer .npx{color:var(--text)}.copy{background:none;border:1px solid var(--border);color:var(--muted);font-family:inherit;font-size:.75rem;padding:2px 8px;margin-left:8px;cursor:pointer}.copy:hover{color:var(--accent)}.copy-copied,.copy:hover{border-color:var(--accent)}.copy-copied{color:var(--accent-bright);background:rgba(167,139,250,.12)}.copy-failed{color:var(--fail);border-color:var(--fail)}.statusbar{max-width:780px;margin:0 auto;padding:14px 20px 32px;display:flex;align-items:center;gap:7px;color:var(--dim);font-size:.72rem;letter-spacing:.02em;flex-wrap:wrap}.statusbar .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block;flex:none}@media (prefers-reduced-motion:no-preference){.statusbar .dot{animation:dot-pulse 2.2s ease-in-out infinite}}@keyframes dot-pulse{0%,to{opacity:1}50%{opacity:.3}}@media (max-width:640px){td.rank,td.tools,th.rank,th.tools{display:none}}@media (max-width:480px){td.grade,td.rank,td.tools,th.grade,th.rank,th.tools{display:none}.segbar{gap:1px}.segbar .seg{width:3px}.scorehead .big{font-size:2.2rem}}