@font-face{font-family:space grotesk;font-style:normal;font-weight:400 700;font-display:optional;src:url(/fonts/space-grotesk-latin-wght-normal.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/space-grotesk:vf@latest/latin-wght-normal.woff2)format("woff2");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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:space grotesk;font-style:normal;font-weight:400 700;font-display:optional;src:url(/fonts/space-grotesk-latin-ext-wght-normal.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/space-grotesk:vf@latest/latin-ext-wght-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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 sans;font-style:normal;font-weight:400 700;font-display:optional;src:url(/fonts/ibm-plex-sans-latin-wght-normal.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans:vf@latest/latin-wght-normal.woff2)format("woff2");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+2074,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 700;font-display:optional;src:url(/fonts/ibm-plex-sans-latin-ext-wght-normal.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans:vf@latest/latin-ext-wght-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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 sans;font-style:italic;font-weight:400 700;font-display:optional;src:url(/fonts/ibm-plex-sans-latin-wght-italic.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans:vf@latest/latin-wght-italic.woff2)format("woff2");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+2074,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 700;font-display:optional;src:url(/fonts/ibm-plex-sans-latin-ext-wght-italic.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans:vf@latest/latin-ext-wght-italic.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:quicksand;font-style:normal;font-weight:300 700;font-display:optional;src:url(/fonts/quicksand-latin-wght-normal.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/quicksand:vf@latest/latin-wght-normal.woff2)format("woff2");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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:quicksand;font-style:normal;font-weight:300 700;font-display:optional;src:url(/fonts/quicksand-latin-ext-wght-normal.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/quicksand:vf@latest/latin-ext-wght-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:dosis;font-style:normal;font-weight:200 800;font-display:optional;src:url(/fonts/dosis-latin-wght-normal.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/dosis:vf@latest/latin-wght-normal.woff2)format("woff2");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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:dosis;font-style:normal;font-weight:200 800;font-display:optional;src:url(/fonts/dosis-latin-ext-wght-normal.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/dosis:vf@latest/latin-ext-wght-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:anta;font-style:normal;font-weight:400;font-display:optional;src:url(/fonts/anta-latin-400-normal.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/anta@latest/latin-400-normal.woff2)format("woff2");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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:anta;font-style:normal;font-weight:400;font-display:optional;src:url(/fonts/anta-latin-ext-400-normal.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/anta@latest/latin-ext-400-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:poppins;font-style:normal;font-weight:400;font-display:optional;src:url(/fonts/poppins-latin-400-normal.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-400-normal.woff2)format("woff2");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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:poppins;font-style:normal;font-weight:500;font-display:optional;src:url(/fonts/poppins-latin-500-normal.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-500-normal.woff2)format("woff2");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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:poppins;font-style:normal;font-weight:600;font-display:optional;src:url(/fonts/poppins-latin-600-normal.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-600-normal.woff2)format("woff2");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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:poppins;font-style:normal;font-weight:700;font-display:optional;src:url(/fonts/poppins-latin-700-normal.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-700-normal.woff2)format("woff2");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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:poppins;font-style:italic;font-weight:400;font-display:optional;src:url(/fonts/poppins-latin-400-italic.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-400-italic.woff2)format("woff2");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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:poppins;font-style:normal;font-weight:400;font-display:optional;src:url(/fonts/poppins-latin-ext-400-normal.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-ext-400-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:poppins;font-style:normal;font-weight:500;font-display:optional;src:url(/fonts/poppins-latin-ext-500-normal.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-ext-500-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:poppins;font-style:normal;font-weight:600;font-display:optional;src:url(/fonts/poppins-latin-ext-600-normal.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-ext-600-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:poppins;font-style:normal;font-weight:700;font-display:optional;src:url(/fonts/poppins-latin-ext-700-normal.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-ext-700-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:poppins;font-style:italic;font-weight:400;font-display:optional;src:url(/fonts/poppins-latin-ext-400-italic.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-ext-400-italic.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:ubuntu;font-style:normal;font-weight:400;font-display:optional;src:url(/fonts/ubuntu-latin-400-normal.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/ubuntu@latest/latin-400-normal.woff2)format("woff2");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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:ubuntu;font-style:normal;font-weight:500;font-display:optional;src:url(/fonts/ubuntu-latin-500-normal.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/ubuntu@latest/latin-500-normal.woff2)format("woff2");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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:ubuntu;font-style:normal;font-weight:700;font-display:optional;src:url(/fonts/ubuntu-latin-700-normal.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/ubuntu@latest/latin-700-normal.woff2)format("woff2");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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:ubuntu;font-style:italic;font-weight:400;font-display:optional;src:url(/fonts/ubuntu-latin-400-italic.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/ubuntu@latest/latin-400-italic.woff2)format("woff2");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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:ubuntu;font-style:normal;font-weight:400;font-display:optional;src:url(/fonts/ubuntu-latin-ext-400-normal.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/ubuntu@latest/latin-ext-400-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:ubuntu;font-style:normal;font-weight:500;font-display:optional;src:url(/fonts/ubuntu-latin-ext-500-normal.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/ubuntu@latest/latin-ext-500-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:ubuntu;font-style:normal;font-weight:700;font-display:optional;src:url(/fonts/ubuntu-latin-ext-700-normal.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/ubuntu@latest/latin-ext-700-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:ubuntu;font-style:italic;font-weight:400;font-display:optional;src:url(/fonts/ubuntu-latin-ext-400-italic.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/ubuntu@latest/latin-ext-400-italic.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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}:root[data-theme=light],:root{--studio:#ececeb;--bg:#f7f7f5;--fg:#17181a;--muted:#6a6d73;--accent:#ffc61e;--link:#1f8a52;--border:#e4e3de;--heat-0:#e7e6e0;--card:#ffffff;--shadow:0 14px 34px -20px rgba(0, 0, 0, 0.22);--avatar-fg:#05130b;--logo-shield:#17181a;--logo-mark:#ffc61e;--code-comment:#7a7f87;--code-keyword:#a626a4;--code-string:#1f8a52;--code-number:#b0561a;--code-fn:#2b48ff}:root[data-theme=dark]{--studio:#15171b;--bg:#1a1c21;--fg:#e7e8ea;--muted:#878b92;--accent:#ffc61e;--link:#4ade80;--border:#2a2f38;--heat-0:#272c34;--card:#202329;--shadow:0 14px 34px -20px rgba(0, 0, 0, 0.6);--avatar-fg:#05130b;--logo-shield:#ffc61e;--logo-mark:#17181a;--code-comment:#6b7280;--code-keyword:#c678dd;--code-string:#98c379;--code-number:#d19a66;--code-fn:#61afef}*{box-sizing:border-box}html{font-size:var(--base-size,16px)}body{margin:0;background:var(--studio);color:var(--fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;transition:background .25s ease,color .25s ease}a{color:inherit}img{max-width:100%}h1,h2,h3{font-family:var(--font-head)}.shell{padding:3.25rem 3.5rem 5rem;min-height:100vh}.layout{max-width:1180px;margin:0 auto}.layout.has-sidebar{max-width:1520px;display:grid;grid-template-columns:minmax(0,1fr)300px;gap:2rem;align-items:start}.frame{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--bg);color:var(--fg);box-shadow:0 1px 2px rgba(0,0,0,4%),0 18px 44px -20px rgba(0,0,0,.22)}.sidebar{position:sticky;top:2rem;display:flex;flex-direction:column;gap:1.25rem}.side-card{border:1px solid var(--border);border-radius:12px;background:var(--bg);box-shadow:0 1px 2px rgba(0,0,0,4%),0 18px 44px -20px rgba(0,0,0,.18);padding:1.15rem 1.25rem}.side-heading{font:600 .6875rem ibm plex mono,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.85rem}.side-list,.side-cats{list-style:none;margin:0;padding:0}.side-list li{padding:.55rem 0;border-top:1px solid var(--border)}.side-list li:first-child{border-top:none;padding-top:0}.side-numbered li{display:flex;gap:.6rem;align-items:baseline}.side-num{flex-shrink:0;font:600 .6875rem ibm plex mono,monospace;color:var(--accent);width:1.25rem}.side-item{min-width:0}.side-list a{display:block;font:500 .84375rem/1.35 var(--font-head);color:var(--fg);text-decoration:none}.side-list a:hover{opacity:.7}.side-meta{display:block;font:.6875rem ibm plex mono,monospace;color:var(--muted);margin-top:.25rem}.side-cats li{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem 0}.side-cats a{color:var(--fg);text-decoration:none;font:500 .75rem var(--font-head);letter-spacing:.03em}.side-cats a:hover{color:var(--link)}.side-cat-hash{color:var(--accent)}.side-connect-text{font:.8125rem/1.6 var(--font-body);color:var(--muted)}.side-connect-text a{color:var(--link);text-decoration:none}.side-connect-text a:hover{text-decoration:underline}.side-connect-text p{margin:0}.side-connect-text p+p{margin-top:.6rem}.side-count{font:.6875rem ibm plex mono,monospace;color:var(--muted);border:1px solid var(--border);border-radius:20px;padding:1px 8px}.side-tags{display:flex;flex-wrap:wrap;gap:.5rem}.side-tag{font:500 .75rem var(--font-head);color:var(--fg);text-decoration:none;border:1px solid var(--border);border-radius:20px;padding:3px 10px;transition:border-color .15s ease,color .15s ease}.side-tag:hover{border-color:var(--accent);color:var(--link)}.side-tag-hash{color:var(--accent)}.side-socials{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:.85rem}.side-socials a{display:inline-flex;align-items:center;gap:.4rem;font:.8125rem var(--font-head);color:var(--link);text-decoration:none}.side-socials a:hover{text-decoration:underline}.social-icon{width:.95rem;height:.95rem;flex-shrink:0}.heat-cell{display:block;aspect-ratio:1;border-radius:2px;background:var(--heat-0)}.heat-l0{background:var(--heat-0)}.heat-l1{background:color-mix(in srgb,var(--accent) 28%,transparent)}.heat-l2{background:color-mix(in srgb,var(--accent) 52%,transparent)}.heat-l3{background:color-mix(in srgb,var(--accent) 76%,transparent)}.heat-l4{background:var(--accent)}.heat-grid{display:grid;grid-template-rows:repeat(7,1fr);grid-auto-flow:column;grid-auto-columns:1fr;gap:3px;width:100%;text-decoration:none}.heat-legend{display:flex;align-items:center;gap:3px;margin-top:.7rem}.heat-legend .heat-cell{width:10px}.heat-legend-label{font:.6875rem ibm plex mono,monospace;color:var(--muted)}.heat-legend-spacer{flex:1}@media(max-width:980px){.shell{padding:2rem 1.25rem 3rem}.layout.has-sidebar{max-width:1180px;grid-template-columns:1fr}.sidebar{position:static}}.site-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.0625rem 1.875rem;background:var(--studio);border-bottom:1px solid var(--accent);flex-wrap:wrap}.wordmark{display:inline-flex;align-items:center;gap:.5rem;font:500 1.1875rem var(--font-brand);color:var(--fg);text-decoration:none;letter-spacing:-.01em;white-space:nowrap}.wordmark .sep{color:var(--accent)}.logo-mark{display:block;height:1.5em;width:auto;flex-shrink:0;overflow:visible}.wordmark .logo-mark{height:1.98rem}.site-search{flex:1;max-width:300px;position:relative;min-width:140px}.site-search input{width:100%;display:flex;align-items:center;gap:.5625rem;padding:.5rem 2.25rem .5rem 2rem;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--fg);font:.8125rem var(--font-body);outline:none}.site-search input::placeholder{color:var(--muted)}.site-search input:focus{border-color:var(--accent)}.site-search .icon{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:var(--muted);font-size:.85rem;pointer-events:none}.site-search kbd{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);font:500 .6875rem var(--font-head);border:1px solid var(--border);padding:1px 6px;border-radius:4px;color:var(--muted);background:0 0;pointer-events:none}.search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);overflow:hidden;z-index:20;display:none}.search-results.open{display:block}.search-results a{display:block;padding:.55rem .8rem;text-decoration:none;color:var(--fg);border-top:1px solid var(--border)}.search-results a:first-child{border-top:none}.search-results a:hover{background:var(--studio)}.search-results a:hover .res-title{color:var(--accent)}.res-title{display:block;font:500 .8125rem var(--font-body);color:var(--fg)}.res-snippet{display:block;margin-top:.15rem;font:.6875rem/1.4 var(--font-body);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-results .empty{padding:.6rem .8rem;font:.8125rem var(--font-body);color:var(--muted)}.site-nav{display:flex;align-items:center;gap:1.25rem;font:500 .90625rem var(--font-topbar);color:var(--muted)}.site-nav a{text-decoration:none;transition:color .15s ease}.site-nav a:hover,.site-nav a.active{color:var(--accent)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;padding:.375rem;border:1px solid var(--border);border-radius:7px;background:0 0;color:var(--fg);cursor:pointer;line-height:0}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.theme-toggle .ti-icon{width:17px;height:17px;display:block}.nav-toggle{display:none;align-items:center;justify-content:center;padding:.375rem;border:1px solid var(--border);border-radius:7px;background:0 0;color:var(--fg);cursor:pointer;line-height:0}.nav-toggle:hover{border-color:var(--accent);color:var(--accent)}.nav-toggle .ti-icon{width:20px;height:20px;display:block}:root[data-theme=dark] .theme-toggle .ti-moon{display:none}:root[data-theme=light] .theme-toggle .ti-sun{display:none}.theme-toggle.pill{border-radius:999px;padding:.6875rem 1.125rem;gap:.5625rem;font:600 .8125rem var(--font-head);background:var(--card)}.eyebrow{font:600 .75rem var(--font-head);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:.875rem}.post-body .eyebrow{margin-top:1.75rem}.eyebrow-yellow{color:var(--accent)}.eyebrow-green{color:#2f9e44}.eyebrow-red{color:#e5484d}.eyebrow-blue{color:#3b82f6}.byline-cats{display:inline-flex;flex-wrap:wrap;gap:.35rem}.cat-chip{font:500 .625rem ibm plex mono,monospace;letter-spacing:.04em;text-transform:uppercase;color:var(--avatar-fg);background:var(--accent);text-decoration:none;border:1px solid var(--accent);border-radius:20px;padding:2px 8px}.cat-chip:hover{opacity:.82}.post-list{padding:1.875rem 2.125rem 1.25rem}.featured-list{background-image:radial-gradient(110% 75% at 6% -8%,color-mix(in srgb,var(--accent) 13%,transparent) 0%,transparent 58%),radial-gradient(75% 55% at 100% 0%,color-mix(in srgb,var(--accent) 6%,transparent) 0%,transparent 55%);border-radius:12px}.wmap-block{padding:1.5rem 2.125rem 1.75rem;border-top:1px solid var(--border)}.wmap-wrap{aspect-ratio:1000/400;width:100%}.wmap{display:block;width:100%;height:100%;overflow:visible}.wmap-land{fill:var(--heat-0)}:root[data-theme=dark] .wmap-land{fill:#2a3039}.wmap-dot{fill:var(--accent);fill-opacity:.85;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--accent) 70%,transparent))}.wmap-legend{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;margin-top:.875rem;font:.75rem ibm plex mono,monospace;color:var(--muted)}.wmap-legend a{color:var(--accent);text-decoration:none}.wmap-legend a:hover{text-decoration:underline}.side-geo{list-style:none;margin:0;padding:0}.side-geo li{display:grid;grid-template-columns:minmax(0,1fr)auto;align-items:center;gap:.25rem .5rem;padding:.3rem 0}.side-geo-name{font:.8125rem var(--font-head);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-geo-count{font:.6875rem ibm plex mono,monospace;color:var(--muted);font-variant-numeric:tabular-nums}.side-geo-bar{grid-column:1/-1;height:3px;border-radius:2px;background:var(--accent);width:var(--w,0%);min-width:3px;opacity:.75}.side-geo-foot{margin-top:.625rem;font:.6875rem ibm plex mono,monospace}.side-geo-foot a{color:var(--muted);text-decoration:none}.side-geo-foot a:hover{color:var(--accent)}.stats-table{width:100%;border-collapse:collapse;margin:.25rem 0 0;font-size:.9375rem;line-height:1.5;border:1px solid var(--border)}.stats-table thead th{font:600 .6875rem ibm plex mono,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--card);border-bottom:1px solid var(--border)}.stats-table th{text-align:left}.stats-table th,.stats-table td{padding:.5rem .75rem}.stats-table tbody tr+tr td{border-top:1px solid var(--border)}.stats-table td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.stats-rank{color:var(--muted);width:2.5rem}.wmap-block-bare{border-top:0;padding-top:0;padding-left:0;padding-right:0}.stats-code{font:.6875rem ibm plex mono,monospace;color:var(--muted);margin-left:.4rem}.stats-note{font:.8125rem/1.6 var(--font-body);color:var(--muted);margin-top:1.25rem}.site-footer{padding:1.25rem 2.125rem;border-top:1px solid var(--border);display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.75rem;font:.875rem var(--font-head);color:var(--muted);text-align:center}.footer-brand{display:inline-flex;align-items:center;gap:.5rem}.footer-brand .logo-mark{height:1.15rem;opacity:.85}.site-footer a{text-decoration:none}.site-footer a:hover{color:var(--accent)}.post-article{padding:1.875rem 2.125rem 2.5rem;max-width:95%}.post-hero{margin:0 0 1.5rem}.post-hero img{display:block;width:100%;height:auto;max-height:60vh;aspect-ratio:16/9;object-fit:cover;border-radius:10px;border:1px solid var(--border);background:var(--surface-2,var(--bg))}.post-hero figcaption{margin-top:.5rem;font:.8rem/1.45 var(--font-body);color:var(--muted);text-align:left}.post-title{font:1.8rem/1.2 var(--font-head);letter-spacing:-.025em;margin:0 0 1.125rem;text-align:left}.byline{display:flex;align-items:center;gap:.5rem;font:.8125rem var(--font-head);font-size:calc(.8125rem + .5px);color:var(--muted);flex-wrap:wrap}.avatar{width:22px;height:22px;border-radius:50%;background:var(--accent);color:var(--avatar-fg);display:inline-flex;align-items:center;justify-content:center;font:600 .625rem var(--font-head);flex-shrink:0}.avatar.avatar-special{background:#3b82f6;color:#fff}.toc-box{margin:1.875rem 0;padding:1.125rem 1.375rem;border:1px solid var(--border);border-radius:10px;background:var(--card)}.toc-box .toc-heading{font:600 .6875rem var(--font-head);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.75rem}.toc-box ul,.toc-box ol{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5625rem;counter-reset:toc-counter}.toc-box li{counter-increment:toc-counter}.toc-box li ul,.toc-box li ol{margin-top:.5625rem;padding-left:1.25rem}.toc-box a{font:1rem var(--font-body);color:var(--fg);text-decoration:none;opacity:.82}.toc-box a:hover{opacity:1;color:var(--accent)}.toc-box li>a{display:flex;align-items:baseline}.toc-box li>a::before{content:"0" counter(toc-counter);flex:none;color:var(--accent);font:500 1rem var(--font-head);font-size:calc(1rem - .25px);margin-right:.625rem}.post-body{font:1.03125rem/1.6 var(--font-body);color:var(--fg)}.post-body.page-body{font-size:.9375rem}.post-body.no-toc{margin-top:1.75rem}.post-body p{margin:0 0 1rem;text-align:justify;hyphens:auto}.post-body h2,.post-body h3,.post-body h4{scroll-margin-top:2rem}.heading-anchor{margin-left:.4rem;color:var(--muted);font-weight:400;text-decoration:none;opacity:0;transition:opacity .15s ease,color .15s ease}.post-body h2:hover .heading-anchor,.post-body h3:hover .heading-anchor,.post-body h4:hover .heading-anchor,.heading-anchor:focus{opacity:1}.heading-anchor:hover,.heading-anchor:focus{color:var(--accent)}:target{scroll-margin-top:2rem}.post-body h2{font:1.375rem/1.25 var(--font-head);letter-spacing:-.02em;margin:1.625rem 0 .625rem;opacity:1}.post-body h3{font:600 1.125rem/1.25 var(--font-head);letter-spacing:-.01em;margin:1.375rem 0 .5rem}.post-body blockquote{font:italic 1.0625rem/1.7 var(--font-body);color:var(--fg);border-left:3px solid var(--accent);background:rgba(255,198,30,7%);border-radius:0 8px 8px 0;margin:1.625rem 0;padding:.75rem 1.25rem}.post-body blockquote p{margin:0;opacity:1;color:var(--fg)}.post-body blockquote.bq-green{border-left-color:#2f9e44;background:rgba(47,158,68,.1)}.post-body blockquote.bq-red{border-left-color:#e5484d;background:rgba(229,72,77,9%)}.post-body blockquote.bq-blue{border-left-color:#3b82f6;background:rgba(59,130,246,.1)}.post-body ul,.post-body ol{margin:0 0 1.375rem;padding-left:1.25rem}.post-body li{margin-bottom:.5rem}.post-body code{font-family:ibm plex mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em;background:var(--card);border:1px solid var(--border);border-radius:4px;padding:.1em .4em}.post-body pre{font-family:ibm plex mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem;line-height:1.65;background:var(--card);border:1px solid var(--border);border-radius:8px;padding:1rem 1.125rem;overflow-x:auto}.post-body pre code{background:0 0;border:none;padding:0;font-size:inherit}.post-body .highlight{margin:0 0 1.125rem}.post-body .chroma{color:var(--fg)}.post-body .chroma .c,.post-body .chroma .ch,.post-body .chroma .cm,.post-body .chroma .c1,.post-body .chroma .cs,.post-body .chroma .cp,.post-body .chroma .cpf{color:var(--code-comment);font-style:italic}.post-body .chroma .k,.post-body .chroma .kc,.post-body .chroma .kd,.post-body .chroma .kn,.post-body .chroma .kp,.post-body .chroma .kr,.post-body .chroma .kt,.post-body .chroma .ow{color:var(--code-keyword)}.post-body .chroma .s,.post-body .chroma .sa,.post-body .chroma .sb,.post-body .chroma .sc,.post-body .chroma .dl,.post-body .chroma .sd,.post-body .chroma .s2,.post-body .chroma .se,.post-body .chroma .sh,.post-body .chroma .si,.post-body .chroma .sx,.post-body .chroma .sr,.post-body .chroma .s1,.post-body .chroma .ss{color:var(--code-string)}.post-body .chroma .m,.post-body .chroma .mb,.post-body .chroma .mf,.post-body .chroma .mh,.post-body .chroma .mi,.post-body .chroma .il,.post-body .chroma .mo{color:var(--code-number)}.post-body .chroma .nf,.post-body .chroma .fm,.post-body .chroma .nb,.post-body .chroma .bp,.post-body .chroma .nd{color:var(--code-fn)}.codeblock{margin:0 0 1.375rem;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--card)}.codeblock-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.35rem .5rem .35rem 1rem;background:var(--studio);border-bottom:1px solid var(--border)}.codeblock-label{font:500 .6875rem ibm plex mono,monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.codeblock-copy{flex-shrink:0;font:500 .625rem ibm plex mono,monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);background:0 0;border:1px solid var(--border);border-radius:5px;padding:3px 10px;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.codeblock-copy:hover{color:var(--accent);border-color:var(--accent)}.codeblock-copy.copied{color:var(--avatar-fg);background:var(--accent);border-color:var(--accent)}.codeblock-body{overflow-x:auto}.codeblock .chroma{margin:0;background:0 0;color:var(--fg)}.codeblock .chroma pre{margin:0;padding:.9rem 1rem;border:none;border-radius:0;background:0 0;font-size:.8125rem;line-height:1.65}.codeblock .chroma .ln{color:var(--muted);opacity:.5;user-select:none;-webkit-user-select:none;display:inline-block;min-width:2.25em;margin-right:1rem;text-align:right}.post-body img{border-radius:8px}.about-photo{float:right;width:200px;max-width:42%;height:auto;margin:.25rem 0 1rem 1.5rem;border-radius:12px;border:1px solid var(--border)}@media(max-width:720px){.about-photo{float:none;display:block;width:150px;margin:0 0 1.25rem}}.post-figure{margin:1.5rem 0}.post-figure figcaption{margin-top:.5rem;color:var(--muted);font-size:.85rem;text-align:center}.post-body table{width:100%;border-collapse:collapse;margin:0 0 1.5rem;font-size:.9375rem;line-height:1.5;border:1px solid var(--border)}.post-body thead th{font:600 .6875rem ibm plex mono,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--fg);text-align:left;padding:.6rem .9rem;background:var(--studio);border-bottom:1px solid #4ade80}.post-body tbody td{padding:.6rem .9rem;border-bottom:1px solid var(--border);vertical-align:top;text-align:left}.post-body tbody td:first-child{color:var(--fg);font-weight:500}.post-body tbody tr:nth-child(even){background:var(--card)}.post-body tbody tr:hover{background:rgba(74,222,128,.13)}.post-body tbody tr:last-child td{border-bottom:none}.post-body td code{background:var(--bg)}.post-body a{color:var(--link);text-decoration:none}.post-body a:hover{color:var(--link);opacity:.75}.post-body sup a.footnote-ref{color:var(--link);text-decoration:none;scroll-margin-top:2rem}.post-body sup a.footnote-ref:hover{color:var(--link);opacity:.75}.post-body .footnotes{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border);font-size:.9rem;color:var(--muted)}.post-body .footnotes hr{display:none}.post-body .footnotes::before{content:"// references";display:block;font:600 .75rem var(--font-head);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem}.post-body .footnotes ol{margin:0;padding-left:1.5rem}.post-body .footnotes li{margin-bottom:.55rem;padding-left:.25rem;scroll-margin-top:2rem}.post-body .footnotes li::marker{color:var(--accent)}.post-body .footnotes li p{margin:0;text-align:left;hyphens:manual}.post-body .footnotes a{color:var(--link);word-break:break-word}.post-body .footnotes .footnote-backref{margin-left:.35rem;color:var(--accent);word-break:normal;text-decoration:none;font-size:0}.post-body .footnotes .footnote-backref::after{content:"↑";font-size:.9rem;line-height:1}.post-body .footnotes li:target{background:rgba(255,198,30,.1);border-radius:6px}.post-share{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.post-share-top{margin-top:1.5rem;margin-bottom:1.75rem;padding-top:0;border-top:none;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.share-heading{font:600 .6875rem ibm plex mono,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.share-links{display:flex;flex-wrap:wrap;gap:.5rem}.share-links a{font:500 .75rem ibm plex mono,monospace;color:var(--fg);text-decoration:none;border:1px solid var(--border);border-radius:20px;padding:4px 12px}.share-links a:hover{border-color:var(--link);color:var(--link)}.prev-next{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.625rem;border-top:1px solid var(--border);padding-top:1.5rem}.prev-next a{text-decoration:none;color:inherit}.prev-next a:hover{opacity:.72}.prev-next .next{text-align:right}.prev-next .dir-label{font:500 .6875rem var(--font-head);color:var(--accent);margin-bottom:.375rem}.prev-next .dir-title{font:600 .9375rem var(--font-head)}.archive-section{padding:1.875rem 2.125rem 1.25rem}.archive-row{position:relative;display:grid;grid-template-columns:92px minmax(0,1fr);gap:1.125rem;padding:.875rem 0;border-top:1px solid var(--border);color:inherit;align-items:baseline}.archive-row::before{content:"";position:absolute;left:-1.125rem;top:.75rem;bottom:.75rem;width:1px;background:var(--accent);opacity:0;transform:scaleY(.25);transform-origin:center;transition:opacity .2s ease,transform .2s ease;pointer-events:none}.archive-row:hover::before{opacity:1;transform:scaleY(1)}.archive-row .row-date{transition:color .2s ease}.archive-row:hover .row-date{color:var(--accent)}.key-badge{display:inline-flex;align-items:center;vertical-align:middle;font:600 .6rem ibm plex mono,monospace;letter-spacing:.07em;text-transform:uppercase;color:var(--avatar-fg);background:var(--accent);border-radius:20px;padding:2px 8px;margin-right:.5rem;position:relative;z-index:1}.key-badge .key-star{width:1.2em;height:1.2em;margin-right:.34em;fill:currentColor;flex-shrink:0}.author-tag{display:inline-flex;align-items:center;align-self:flex-start;margin-top:.2rem;font:500 .625rem ibm plex mono,monospace;letter-spacing:.04em;text-transform:uppercase;color:#3b82f6;background:rgba(59,130,246,.1);border-radius:20px;padding:2px 8px;position:relative;z-index:1}.archive-row.row-compact{padding:.6rem 0}.row-meta{display:flex;flex-direction:column;gap:.15rem}.archive-row .row-date,.archive-row .row-read,.archive-row .row-views{font:500 .75rem var(--font-head);font-size:calc(.75rem + 1px);color:var(--muted);white-space:nowrap}.archive-main{min-width:0}.archive-empty{color:var(--muted);padding:.5rem 0}.row-link{text-decoration:none;color:inherit}.row-link::after{content:"";position:absolute;inset:0}.archive-title{font:1rem/1.3 var(--font-head);letter-spacing:-.01em;margin:0;text-align:left}.archive-meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;margin-top:.35rem}.row-cats{display:inline-flex;flex-wrap:wrap;gap:.35rem}.row-cats a{position:relative;z-index:1;font:500 .625rem ibm plex mono,monospace;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);text-decoration:none;border:1px solid var(--border);border-radius:20px;padding:2px 8px;white-space:nowrap}.row-cats a:hover{border-color:var(--accent);color:var(--accent)}.post-list .row-cats{display:none}.card-grid{display:flex;flex-direction:column}.post-card{position:relative;display:grid;grid-template-columns:220px minmax(0,1fr);gap:1.125rem;align-items:start;padding:1.125rem 0;border-top:1px solid var(--border);color:inherit}.card-grid .post-card:first-child{border-top:0}.post-card::before{content:"";position:absolute;left:-1.125rem;top:1rem;bottom:1rem;width:1px;background:var(--accent);opacity:0;pointer-events:none}.post-card:hover::before{opacity:1}.card-media{position:relative}.card-media img,.card-media-blank{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center;border-radius:8px}.card-media-blank{display:flex;align-items:center;justify-content:center;background:var(--studio);border:1px solid var(--border)}.card-media-blank span{font:500 .7rem ibm plex mono,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);opacity:.75}.card-body{display:flex;flex-direction:column;min-width:0}.card-title{font:1.08rem/1.32 var(--font-head);letter-spacing:-.01em;margin:0;text-align:left;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-excerpt{font:.9rem/1.55 var(--font-body);color:var(--muted);margin:.45rem 0 0;text-align:left;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-meta{margin-top:.7rem;font:500 calc(.75rem + 1px)var(--font-head);color:var(--muted);display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem}.card-meta .dot{opacity:.6}.term-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin-top:.5rem}.term-card{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border:1px solid var(--border);border-radius:10px;text-decoration:none;color:inherit}.term-card:hover{border-color:var(--accent)}.term-name{font:500 .9375rem var(--font-head)}.term-name.term-cat{text-transform:uppercase;letter-spacing:.03em;font-size:.8125rem}.term-hash{color:var(--accent)}.term-count{font:.6875rem ibm plex mono,monospace;color:var(--muted);border:1px solid var(--border);border-radius:20px;padding:1px 8px}.archive-excerpt{font:.9375rem/1.55 var(--font-body);color:var(--muted);margin:.375rem 0 0;text-align:justify;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pager{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:1.875rem 0 .375rem;flex-wrap:wrap}.pager a,.pager span.gap{text-decoration:none}.pager .num{font:500 .8125rem var(--font-head);color:var(--muted);padding:.4375rem .75rem;border-radius:7px;border:1px solid transparent}.pager .num.active{color:var(--accent);border-color:var(--accent)}.pager .arrow{font:500 .75rem var(--font-head);color:var(--muted);padding:.4375rem .875rem;border-radius:7px;border:1px solid var(--border)}.pager .arrow:hover{border-color:var(--accent);color:var(--accent)}.pager .gap{font:500 .75rem var(--font-head);color:var(--muted);padding:0 .25rem}.two-col{display:flex;gap:1.375rem;flex-wrap:wrap}.two-col>.col{flex:1;min-width:280px}.card{border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--fg);box-shadow:var(--shadow);padding:2.125rem 2rem}.about-name{font:600 1.375rem var(--font-head);margin:0 0 .25rem}.about-tagline{font:.75rem var(--font-head);color:var(--accent);margin-bottom:1rem}.about-bio{font:.9375rem/1.75 var(--font-body);color:var(--fg);margin:0 0 1.25rem}.tag-title{font:600 1.5rem var(--font-head);margin:0}.tag-title .hash{color:var(--accent)}.tag-count{font:.75rem var(--font-head);color:var(--muted);margin:.375rem 0 1.375rem}.tag-post-row{display:block;padding:.875rem 0;border-top:1px solid var(--border);text-decoration:none;color:inherit}.tag-post-row:hover{opacity:.72}.tag-post-title{font:600 1rem var(--font-head);margin:0 0 .25rem}.tag-post-meta{font:.75rem var(--font-head);color:var(--muted)}.tag-cloud{display:flex;flex-wrap:wrap;gap:.4375rem;margin-top:1.375rem;border-top:1px solid var(--border);padding-top:1.375rem}.section-caption{font:500 .75rem var(--font-head);color:var(--muted);letter-spacing:.04em;margin-bottom:.6875rem;display:block}@media(max-width:720px){.shell{padding:1.5rem 1rem 3rem}.site-header{padding:1rem 1.25rem;gap:.875rem}.site-search{order:4;max-width:none;flex-basis:100%}.post-list,.archive-section{padding-left:1.25rem;padding-right:1.25rem}.post-article{padding:2rem 1.25rem}.post-title{font-size:1.375rem;line-height:1.25;margin-bottom:.875rem}.card-title{font-size:1rem}.archive-title{font-size:.9375rem}.post-hero{margin-bottom:1.15rem}.post-hero img{aspect-ratio:3/2;max-height:42vh;border-radius:8px}.archive-row{grid-template-columns:1fr;gap:.5rem}.archive-row .row-meta{flex-direction:row;flex-wrap:wrap;align-items:center;gap:.5rem}.archive-row .author-tag{margin-top:0}.post-card{grid-template-columns:1fr;gap:.75rem}.wmap-block{padding:1.25rem 1.25rem 1.5rem}.wmap-legend{flex-direction:column;gap:.35rem}.post-list .row-meta{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:.35rem}.post-list .row-read::before,.post-list .row-views::before{content:"–";margin-right:.35rem;color:var(--muted)}.key-badge{padding:3px}.key-badge .key-text{display:none}.key-badge .key-star{margin-right:0;width:1.35em;height:1.35em}.two-col{flex-direction:column}.prev-next{grid-template-columns:1fr}.prev-next .next{text-align:left}.post-body p,.archive-excerpt{text-align:left;hyphens:manual}.theme-toggle{order:2;margin-left:auto}.nav-toggle{display:inline-flex;order:3}.site-nav{order:5;flex-basis:100%;display:none;flex-direction:column;align-items:flex-start;gap:.25rem;padding-top:.75rem;margin-top:.25rem;border-top:1px solid var(--border)}.site-header.nav-open .site-nav{display:flex}.site-nav a{padding:.4rem 0}}