@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8c7218c08a268490-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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/51dc3e8ae5c9e65b-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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c6c91ee583345af4-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:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_5667dc{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_5667dc{--font-serif:"Fraunces","Fraunces Fallback"}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/084282eba306c257-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:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/1e377d93cbdd6b44-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/ec1d0aa2d2fbc083-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/f1dd23950e6cd390-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/0c7826ffb3acea36-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:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/b6a6f0b43d027304-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:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/692df4da22e71021-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:Source Sans\ 3 Fallback;src:local("Arial");ascent-override:109.21%;descent-override:42.66%;line-gap-override:0.00%;size-adjust:93.76%}.__className_9ebb4b{font-family:Source Sans\ 3,Source Sans\ 3 Fallback;font-style:normal}.__variable_9ebb4b{--font-sans:"Source Sans 3","Source Sans 3 Fallback"}@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 Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_46fe82{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_46fe82{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--paper:#f4efe4;--ink:#1c1915;--muted:#6e655c;--card:#fffdf8;--line:#e3d8c6;--soft:#efe6d6;color-scheme:light}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:radial-gradient(1200px 480px at 10% -10%,#efe4cf 0,transparent 55%),var(--paper);color:var(--ink);font-family:var(--font-sans),"PingFang SC","Noto Sans CJK SC",sans-serif}a{color:inherit}a,button{font-family:inherit}.page{width:min(1080px,calc(100% - 32px));margin:0 auto;padding:28px 0 64px}.top{align-items:center;justify-content:space-between;gap:16px}.brand,.top{display:flex}.brand{align-items:baseline;gap:10px;text-decoration:none}.brand-mark{font-family:var(--font-serif),Georgia,serif;font-size:1.35rem;letter-spacing:-.03em}.brand-host{color:var(--muted);font-size:.82rem}.lang{display:flex;padding:3px;border:1px solid var(--line);border-radius:999px;background:var(--card)}.lang button{border:0;background:transparent;color:var(--muted);border-radius:999px;padding:6px 12px;font-size:.85rem;cursor:pointer}.lang button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.hero{margin:72px 0 36px;max-width:38rem}.eyebrow{margin:0 0 12px;color:var(--muted);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}h1{margin:0;font-family:var(--font-serif),Georgia,serif;font-size:clamp(2.4rem,6vw,4.2rem);font-weight:520;letter-spacing:-.04em;line-height:.95}.lede{margin:18px 0 0;color:var(--muted);font-size:1.05rem;line-height:1.6}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.card{display:flex;flex-direction:column;min-height:100%;padding:22px 22px 18px;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:0 1px 0 rgba(28,25,21,.04)}.card-head{display:flex;justify-content:space-between;gap:8px}.card-head,.code{align-items:center}.code{display:inline-flex;justify-content:center;min-width:3.1rem;height:1.7rem;padding:0 8px;border-radius:999px;color:#fffdf8;font-size:.75rem;font-weight:700;letter-spacing:.06em}.status{color:var(--muted);font-size:.78rem}h2{margin:18px 0 0;font-family:var(--font-serif),Georgia,serif;font-size:1.55rem;font-weight:540;letter-spacing:-.03em}.en-name{margin:4px 0 0;color:var(--muted);font-size:.92rem}.summary{margin:14px 0 0;line-height:1.55;font-size:.98rem}.points{margin:14px 0 0;padding:0;list-style:none;color:var(--muted);font-size:.9rem;line-height:1.45}.points li{position:relative;padding-left:14px;margin-top:6px}.points li:before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.55}.card-foot{display:flex;flex-direction:column;gap:12px;margin-top:auto;padding-top:22px}.host{margin:0;font-family:var(--font-mono),ui-monospace,monospace;font-size:.78rem;word-break:break-all}.host a{color:var(--ink);text-underline-offset:3px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.actions a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border-radius:999px;text-decoration:none;font-size:.88rem}.actions a.github{width:36px;padding:0;border:1px solid var(--line);color:var(--ink);background:transparent}.actions a.github svg{width:18px;height:18px}.github:hover{background:var(--soft)}.primary{background:var(--ink);color:#fffdf8}.secondary{border:1px solid var(--line);background:transparent}footer{justify-content:space-between;gap:14px 28px;margin-top:56px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:.92rem}.footer-links,footer{display:flex;flex-wrap:wrap;align-items:center}.footer-links{gap:8px 20px}.footer-links a{color:var(--muted);text-decoration:none}.footer-links a:hover{color:var(--ink)}.footer-github{display:inline-flex;margin-left:4px}.footer-github svg{width:18px;height:18px}.copyright{color:var(--muted);font-size:.85rem}@media (max-width:860px){.grid{grid-template-columns:1fr}.hero{margin-top:48px}}