@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/8773525529.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:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/90a9a1aa81.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/ca98c36e30.woff2) format("woff2");unicode-range:U+0000-00FF,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:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/fonts/8773525529.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:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/fonts/90a9a1aa81.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/fonts/ca98c36e30.woff2) format("woff2");unicode-range:U+0000-00FF,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:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/fonts/8773525529.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:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/fonts/90a9a1aa81.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/fonts/ca98c36e30.woff2) format("woff2");unicode-range:U+0000-00FF,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:400;font-display:swap;src:url(/fonts/250613af4b.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(/fonts/7febd16d7c.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(/fonts/d41ec0a93e.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(/fonts/7f25d9307a.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-20C4,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(/fonts/d196e8ee77.woff2) format("woff2");unicode-range:U+0000-00FF,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(/fonts/e6406f48a7.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(/fonts/5907a9b4db.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(/fonts/0bd1c2538c.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(/fonts/b42080b233.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-20C4,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(/fonts/a7544cc400.woff2) format("woff2");unicode-range:U+0000-00FF,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(/fonts/ea6907c89f.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(/fonts/64963edf6d.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(/fonts/0e01ed2dc3.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(/fonts/bf8910cb40.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-20C4,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(/fonts/9b82705994.woff2) format("woff2");unicode-range:U+0000-00FF,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 Sans;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/9879615e27.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 Sans;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/489225f181.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/72a867df10.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:IBM Plex Sans;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/d002f694f8.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 Sans;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/77f5d98195.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/46a3d9711b.woff2) format("woff2");unicode-range:U+0000-00FF,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 Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/203623c02b.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 Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/73efb435df.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/32a51760bf.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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/c833849236.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 Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/71c30cd3dc.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/a68a20012d.woff2) format("woff2");unicode-range:U+0000-00FF,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 Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/203623c02b.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 Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/73efb435df.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/32a51760bf.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/c833849236.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 Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/71c30cd3dc.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/a68a20012d.woff2) format("woff2");unicode-range:U+0000-00FF,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 Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/203623c02b.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 Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/73efb435df.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/32a51760bf.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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/c833849236.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 Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/71c30cd3dc.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/a68a20012d.woff2) format("woff2");unicode-range:U+0000-00FF,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:Plex Sans Fallback;src:local("Arial");size-adjust:100.9%;ascent-override:102%;descent-override:27%;line-gap-override:0%}@font-face{font-family:Bricolage Fallback;src:local("Arial");size-adjust:103%;ascent-override:94%;descent-override:24%;line-gap-override:0%}:root{--bg:#f3f5f3;--panel:#ffffff;--ink:#131f1a;--muted:#5a6b63;--line:#d3dcd6;--line-strong:#9fb0a7;--accent:#0b6e55;--accent-ink:#ffffff;--signal:#d8f29b;--signal-ink:#2a3a07;--warn:#a33b1e;--chip:#e7eeea;--focus:#2451d8;--r:6px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:40px;--s7:64px;--font-display:"Bricolage Grotesque","Bricolage Fallback",system-ui,sans-serif;--font-text:"IBM Plex Sans","Plex Sans Fallback",system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0c1210;--panel:#121b17;--ink:#dbe7e1;--muted:#8da399;--line:#243029;--line-strong:#3c4f45;--accent:#43d9a3;--accent-ink:#06130d;--signal:#2a3a12;--signal-ink:#cde98b;--warn:#e8805f;--chip:#1a2520;--focus:#8aa6ff;color-scheme:dark}}:root[data-theme=dark]{--bg:#0c1210;--panel:#121b17;--ink:#dbe7e1;--muted:#8da399;--line:#243029;--line-strong:#3c4f45;--accent:#43d9a3;--accent-ink:#06130d;--signal:#2a3a12;--signal-ink:#cde98b;--warn:#e8805f;--chip:#1a2520;--focus:#8aa6ff;color-scheme:dark}*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}body{background:var(--bg);color:var(--ink);font:400 16.5px/1.6 var(--font-text)}.wrap{max-width:1020px;margin:0 auto;padding:0 var(--s4)}@media(min-width:640px){.wrap{padding:0 var(--s5)}}main{display:block}a{color:var(--accent);text-underline-offset:3px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.08;letter-spacing:-.015em;font-weight:700}.mono{font-family:var(--font-mono)}img,svg{max-width:100%}.skip-link{position:absolute;left:-9999px;top:0;background:var(--accent);color:var(--accent-ink);padding:10px 16px;border-radius:0 0 6px;z-index:100;font-weight:600}.skip-link:focus{left:0}.storage-consent{position:fixed;left:16px;bottom:16px;z-index:50;width:min(580px,calc(100vw - 32px));display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--panel);color:var(--ink);box-shadow:0 8px 24px #00000038;font-size:13px;line-height:1.4}.storage-consent[hidden]{display:none}.storage-consent p{flex:1;min-width:0}.storage-consent a{white-space:nowrap}.storage-consent-actions{display:flex;align-items:center;gap:7px;flex:none}.storage-consent-actions button{border:1px solid var(--line-strong);border-radius:var(--r);background:var(--panel);color:var(--ink);padding:7px 10px;font:600 12px var(--font-text);white-space:nowrap;cursor:pointer}.storage-consent-actions button:first-child{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.storage-consent-actions button:hover{filter:brightness(.96)}.text-button{border:0;padding:0;background:none;color:var(--accent);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}@media(max-width:600px){.storage-consent{left:12px;bottom:72px;width:calc(100vw - 24px);align-items:flex-start;flex-direction:column;gap:9px;padding:11px 12px}.storage-consent-actions{align-self:flex-end}}header.site{border-bottom:1px solid var(--line-strong);background:var(--bg)}header.site .bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s3) 0;flex-wrap:wrap}.wordmark{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.wordmark .glyph{width:28px;height:28px;flex:none}.wordmark b{font-family:var(--font-display);font-weight:800;font-size:18px;letter-spacing:-.01em;white-space:nowrap}nav.main{display:flex;gap:var(--s4);font-size:14px;flex-wrap:wrap;align-items:center}nav.main a{color:var(--ink);text-decoration:none;padding:4px 0}nav.main a:hover,nav.main a[aria-current=page]{color:var(--accent);text-decoration:underline}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);padding:6px 11px;border-radius:999px;font:600 12px/1 var(--font-text);letter-spacing:.01em;white-space:nowrap;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.theme-toggle[hidden]{display:none}.theme-toggle:hover{background:var(--chip);border-color:var(--accent);color:var(--accent)}.theme-toggle:active{transform:translateY(1px)}.theme-toggle-icon{display:grid;place-items:center;width:15px;height:15px;color:var(--accent)}.theme-toggle-icon svg{display:block;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.page-head{padding:var(--s6) 0 var(--s5)}.kicker{font:600 12px var(--font-mono);color:var(--accent);margin-bottom:var(--s3)}.kicker:before{content:"// "}.page-head h1{font-size:clamp(30px,5vw,48px);font-weight:800;max-width:22ch}.page-head h1 .sig{background:var(--signal);color:var(--signal-ink);padding:0 .12em;border-radius:4px;-webkit-box-decoration-break:clone;box-decoration-break:clone}.answer{margin-top:var(--s4);font-size:17.5px;max-width:62ch}.home-hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);gap:clamp(24px,4vw,48px);align-items:center}.home-copy{min-width:0}.home-hero-art{margin:0;aspect-ratio:1.35;overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}.home-hero-art picture,.home-hero-art img{display:block;width:100%;height:100%}.home-hero-art img{object-fit:cover;object-position:64% center}@media(max-width:760px){.home-hero{grid-template-columns:1fr;gap:var(--s5)}.home-hero-art{aspect-ratio:16/9;max-height:320px}}.meta-line{font:500 12.5px var(--font-mono);color:var(--muted);margin-top:var(--s3)}.breadcrumbs{font:500 12.5px var(--font-mono);color:var(--muted);padding-top:var(--s4)}.breadcrumbs ol{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px}.breadcrumbs li+li:before{content:"/";margin-right:6px;color:var(--line-strong)}.breadcrumbs a{color:var(--muted)}section{margin-top:var(--s6)}.sec-head{display:flex;align-items:baseline;gap:var(--s3);margin-bottom:var(--s4)}.sec-head .idx{font:600 12px var(--font-mono);color:var(--accent)}.sec-head h2{font-size:clamp(22px,3vw,28px)}.sec-head .rulefill{flex:1;border-top:1px solid var(--line-strong);transform:translateY(-6px)}.prose{max-width:68ch}.prose h2{font-size:clamp(21px,2.6vw,26px);margin-top:var(--s6)}.prose h3{font-size:19px;margin-top:var(--s5)}.prose p,.prose ul,.prose ol{margin-top:var(--s3)}.prose ul,.prose ol{padding-left:22px}.prose .lead{font-weight:500}.prose table{margin-top:var(--s4)}.picks{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--s3)}.pick{display:flex;flex-direction:column;gap:6px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r);padding:var(--s3) var(--s4)}.picks-note{font-size:12px;color:var(--muted);margin-top:-8px;margin-bottom:var(--s3)}.pick-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.pick .need{font-size:13px;color:var(--muted)}.pick-rank{flex:none;font:600 10.5px var(--font-mono);color:var(--accent);white-space:nowrap}.pick a{font:600 15px var(--font-text)}.table-scroll{overflow-x:auto;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--panel);max-height:70vh;overflow-y:auto}table{border-collapse:collapse;width:100%;font-size:14px}.table-scroll table{min-width:760px}caption{text-align:left;font:500 12.5px var(--font-mono);color:var(--muted);padding:var(--s3) var(--s4)}thead th{position:sticky;top:0;background:var(--chip);color:var(--ink);font:600 11px var(--font-mono);letter-spacing:.07em;text-transform:uppercase;text-align:left;padding:10px var(--s4);border-bottom:1px solid var(--line-strong);z-index:1}thead th[aria-sort] button{all:unset;cursor:pointer;font:inherit;display:inline-flex;gap:4px}tbody td,tbody th[scope=row]{padding:12px var(--s4);border-top:1px solid var(--line);font-variant-numeric:tabular-nums;text-align:left;font-weight:400;vertical-align:top}tbody td.num{font-family:var(--font-mono);font-size:13px;white-space:nowrap}td.rank .tag,.rank-tag{display:inline-grid;place-items:center;background:var(--ink);color:var(--bg);font:600 13px var(--font-mono);border-radius:4px;clip-path:polygon(0 0,100% 0,100% 70%,85% 100%,0 100%)}td.rank .tag{width:34px;height:26px}tbody tr:hover td,tbody tr:hover th{background:color-mix(in srgb,var(--signal) 14%,var(--panel))}td .aff,.aff-note{font:500 10.5px var(--font-mono);color:var(--muted)}.entry{background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r);margin-top:var(--s5);overflow:hidden}.entry-head{display:flex;align-items:center;gap:var(--s4);padding:var(--s4) var(--s5);border-bottom:1px solid var(--line)}.rank-tag{flex:none;width:52px;height:40px;font-size:19px;clip-path:polygon(0 0,100% 0,100% 68%,84% 100%,0 100%)}:root[data-theme=dark] .rank-tag{background:var(--accent);color:var(--accent-ink)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .rank-tag{background:var(--accent);color:var(--accent-ink)}}.entry-head h3{font-size:clamp(20px,2.6vw,25px)}.entry-head h3 a{color:var(--ink);text-decoration-color:var(--accent)}.shortlist-for{font-size:14.5px;color:var(--muted);margin-top:2px}.shortlist-for b{color:var(--ink);font-weight:600}.entry-grid{display:grid;grid-template-columns:1.6fr 1fr}.entry-main{padding:var(--s4) var(--s5)}.entry-main .body{max-width:62ch}.entry-side{border-left:1px solid var(--line);padding:var(--s4) var(--s5);display:flex;flex-direction:column;gap:var(--s4);background:color-mix(in srgb,var(--chip) 55%,var(--panel))}.datastrip{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2) var(--s4);font:500 13px var(--font-mono)}.datastrip span b{display:block;font:600 10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.note{font-size:14px;padding:var(--s3);border-radius:5px}.note.pass{background:color-mix(in srgb,var(--warn) 10%,var(--panel));border:1px solid color-mix(in srgb,var(--warn) 35%,var(--line))}.note.ask{background:color-mix(in srgb,var(--accent) 9%,var(--panel));border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line))}.note .tag{display:block;font:600 10.5px var(--font-mono);letter-spacing:.07em;text-transform:uppercase;margin-bottom:4px}.note.pass .tag{color:var(--warn)}.note.ask .tag{color:var(--accent)}.entry-foot{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s3) var(--s5);border-top:1px solid var(--line);flex-wrap:wrap}.sources{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font:400 11.5px var(--font-mono);color:var(--muted);overflow-wrap:anywhere}.sources small{font-size:10px;color:var(--muted);white-space:nowrap}@media(max-width:760px){.entry-grid{grid-template-columns:1fr}.entry-side{border-left:none;border-top:1px solid var(--line)}.entry-head,.entry-main,.entry-side{padding:var(--s4)}.entry-foot{padding:var(--s3) var(--s4)}}.btn{display:inline-block;font:600 14.5px var(--font-text);padding:11px 20px;border-radius:var(--r);text-decoration:none;border:1px solid var(--line-strong);color:var(--ink);background:var(--panel);cursor:pointer}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{filter:brightness(1.08)}.btn:hover{border-color:var(--accent)}.btn-row{display:flex;gap:var(--s3);margin-top:var(--s5);flex-wrap:wrap}.add-btn{font:600 13.5px var(--font-text);border:1px solid var(--accent);background:transparent;color:var(--accent);border-radius:var(--r);padding:8px 16px;cursor:pointer;display:none}.js .add-btn{display:inline-block}.add-btn:before{content:"[+] "}.add-btn:hover,.add-btn[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.add-btn[aria-pressed=true]:before{content:"[✓] "}.faq dt{font-family:var(--font-display);font-weight:700;font-size:18px;margin-top:var(--s5)}.faq dd{margin:var(--s3) 0 0;max-width:68ch}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--s3)}.gcard{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:var(--s4);text-decoration:none;color:var(--ink);position:relative}.gcard:hover{border-color:var(--accent)}.gcard .idx{position:absolute;top:var(--s3);right:var(--s4);font:600 11px var(--font-mono);color:var(--muted)}.gcard svg{width:30px;height:30px;fill:var(--accent)}.gcard b{display:block;font-family:var(--font-display);font-weight:700;font-size:16.5px;margin-top:var(--s3)}.gcard span{font-size:13px;color:var(--muted)}.changelog{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);padding:var(--s4)}.changelog li{display:grid;grid-template-columns:110px 1fr;gap:var(--s3);padding:6px 0;font-size:13.5px;list-style:none}.changelog time{font:500 12px var(--font-mono);color:var(--muted)}.changelog ul{padding:0;margin:0}.stat-panel{border:1px solid var(--line-strong);border-radius:var(--r);background:var(--panel);padding:var(--s4)}.stat-panel h4{font:600 11.5px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:var(--s3)}.statline{display:flex;justify-content:space-between;gap:var(--s3);font:500 13.5px var(--font-mono);padding:7px 0;border-top:1px solid var(--line)}.statline b{color:var(--accent);text-align:right}.tray-pill{position:fixed;right:16px;bottom:16px;background:var(--accent);color:var(--accent-ink);font:600 13.5px var(--font-mono);border:none;border-radius:var(--r);padding:12px 18px;cursor:pointer;box-shadow:0 6px 18px #00000047;z-index:40;display:none}.js .tray-pill.has-items{display:block}.tray-panel{position:fixed;right:16px;bottom:72px;width:min(440px,calc(100vw - 32px));background:var(--panel);border:1px solid var(--accent);border-radius:var(--r);overflow:hidden;z-index:41;box-shadow:0 10px 30px #0000004d}.tray-panel[hidden]{display:none}.tray-head{display:flex;justify-content:space-between;align-items:baseline;background:var(--chip);padding:var(--s3) var(--s4);border-bottom:1px solid var(--line)}.tray-head b{font-family:var(--font-display);font-size:16px}.tray-head small{font:500 11px var(--font-mono);color:var(--muted)}.tray-items{max-height:50vh;overflow-y:auto}.tray-item{padding:var(--s3) var(--s4);border-top:1px solid var(--line)}.tray-item:first-child{border-top:none}.tray-item .row{display:flex;justify-content:space-between;gap:var(--s3);align-items:baseline}.tray-item b{font-size:15px}.tray-item .mini{font:500 11.5px var(--font-mono);color:var(--muted);margin-top:3px}.tray-item .q{font-size:13px;margin-top:5px}.tray-item .q:before{content:"Q: ";font:600 11px var(--font-mono);color:var(--accent)}.tray-item .remove{all:unset;cursor:pointer;font:600 11px var(--font-mono);color:var(--warn)}.tray-actions{display:flex;gap:var(--s3);padding:var(--s3) var(--s4);border-top:1px solid var(--line);flex-wrap:wrap}.tray-actions .btn{font-size:13px;padding:8px 14px}.tray-empty{padding:var(--s4);font-size:13.5px;color:var(--muted)}footer.site{margin-top:var(--s7);border-top:1px solid var(--line-strong);padding:var(--s5) 0 var(--s6);font-size:13.5px;color:var(--muted)}footer.site .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--s5)}footer.site h3{font:600 11px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--s3)}footer.site ul{list-style:none;padding:0;display:grid;gap:6px}footer.site a{color:var(--muted)}footer.site a:hover{color:var(--accent)}.disclosure{max-width:72ch;margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--line)}.ai-ask{margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--line);max-width:72ch}.ai-ask h3{font:600 11px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.ai-ask p{font-size:12.5px;margin-top:6px}.ai-ask nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.ai-ask nav a{display:inline-block;border:1px solid var(--line-strong);border-radius:999px;padding:6px 11px;text-decoration:none;font-size:12.5px}.search-box{margin-top:var(--s4)}@media print{header.site nav.main,.theme-toggle,.tray-pill,.storage-consent,.add-btn,.btn-row,.search-box,footer.site .cols{display:none!important}body{background:#fff;color:#000;font-size:11pt}.entry,.table-scroll,.pick,.gcard,.changelog{border-color:#999;break-inside:avoid}.entry-side{background:#fff}a{color:#000;text-decoration:none}.tray-panel{position:static;width:100%;box-shadow:none;display:block!important}.tray-panel[hidden]{display:none!important}thead th{position:static;background:#eee;color:#000}}
