/*
  Signal — derived from PaperMod v8+
  Copyright (c) 2026 Ignacy Kajdan
  License: MIT https://github.com/adityatelange/hugo-PaperMod/blob/master/LICENSE
  Copyright (c) 2020 nanxiaobei and adityatelange
  Copyright (c) 2021-2026 adityatelange
*/
@font-face{font-family:ibm plex sans variable;font-style:normal;font-display:swap;font-weight:100 700;font-stretch:75% 100%;src:url(/fonts/ibm-plex-sans-latin-ext-standard-normal.d43e5954a3549d82ea11577d0aa403fe00cb334aaefae6b58bc6ba0542c146d2.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 variable;font-style:normal;font-display:swap;font-weight:100 700;font-stretch:75% 100%;src:url(/fonts/ibm-plex-sans-latin-standard-normal.1e875856600a34cb44a406a7deef0e3f9ae70e6f636e0f37fbca2248dec2dca4.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:ibm plex sans variable;font-style:italic;font-display:swap;font-weight:100 700;font-stretch:75% 100%;src:url(/fonts/ibm-plex-sans-latin-ext-standard-italic.5146414598f7e59d4c9026516540e6e815c1969dfabc9bfc17c397de3647cf50.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 variable;font-style:italic;font-display:swap;font-weight:100 700;font-stretch:75% 100%;src:url(/fonts/ibm-plex-sans-latin-standard-italic.bb59ece46ad3259f864f37242ede7c2d60277611142cad7044b18f8768c0ba5b.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+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-display:swap;font-weight:400;src:url(/fonts/ibm-plex-mono-latin-ext-400-normal.6bc0f226a5b7884a8170e3f62c63d7675609d4631bdc5931b5cdab81821f00eb.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 mono;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/ibm-plex-mono-latin-400-normal.08949f728dc52d528e69b1667d15c89a5686a4ee9a296ff90983985f99c380f7.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+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-display:swap;font-weight:500;src:url(/fonts/ibm-plex-mono-latin-ext-500-normal.6bb06407c97584b0867a959e05e8874693bfeb8c317de190811c51598f2d99ea.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 mono;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/ibm-plex-mono-latin-500-normal.01d285447409c8a588692162439a038b8cbd7871309ee20267b0d2d91c6e8e22.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+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-display:swap;font-weight:600;src:url(/fonts/ibm-plex-mono-latin-ext-600-normal.32057cf50dd14bdb21a2c93766c4a2c43e4abe688ea3922df3203cac7751a98b.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 mono;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/ibm-plex-mono-latin-600-normal.0d1f0b8d0722224e32e9f28261bdc86c79115be73444ae5eceb73976a1bcdf83.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+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-display:swap;font-weight:700;src:url(/fonts/ibm-plex-mono-latin-ext-700-normal.5b9b81f54dd69635c7adcaacd4c4545a73fe4809c528e22734b238a83a74135f.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 mono;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/ibm-plex-mono-latin-700-normal.4f84d86cfd060f4ded334358ff8a4c81d4db2ed5addd568359d693f44a87765a.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:ibm plex mono;font-style:italic;font-display:swap;font-weight:400;src:url(/fonts/ibm-plex-mono-latin-ext-400-italic.1b07eee6df7d26b31864581c2365131d384077605e0b63ae67c4a0a64363a6de.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 mono;font-style:italic;font-display:swap;font-weight:400;src:url(/fonts/ibm-plex-mono-latin-400-italic.0840095faae86403735a8c04014b72cb29e7923646b222b360b7e8252932e4e3.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:ibm plex mono;font-style:italic;font-display:swap;font-weight:700;src:url(/fonts/ibm-plex-mono-latin-ext-700-italic.18c8dc28d75ecbda23c88fb11126852b2232916ec2e6d6dc0225def886a0cc98.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 mono;font-style:italic;font-display:swap;font-weight:700;src:url(/fonts/ibm-plex-mono-latin-700-italic.2bb0d4c82652472446ed1a5a89a0553f2db1e4ea17cbda66a45e690899d83e91.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--text-label:0.6875rem;--text-caption:0.75rem;--text-small:0.875rem;--text-body:1rem;--text-subheading:1.25rem;--text-heading:1.5rem;--text-display:2rem;--text-code:0.78em;--line-height-heading:1.2;--line-height-title:1.3;--line-height-compact:1.5;--line-height-body:1.6;--line-height-relaxed:1.7;--font-body:"IBM Plex Sans Variable", sans-serif;--font-code:"IBM Plex Mono", monospace;--font-heading:var(--font-code);--ui-word-spacing:-0.25em;--title-word-spacing:var(--ui-word-spacing);--space-xs:4px;--space-sm:8px;--space-control:10px;--space-inset:12px;--space-content:20px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:40px;--space-rem-xs:0.25rem;--space-rem-sm:0.5rem;--space-rem-inset:0.75rem;--space-rem-content:1.25rem;--space-rem-md:1rem;--space-rem-lg:1.5rem;--space-rem-xl:2rem;--pagination-height:36px;--social-icon-size:26px;--top-link-size:52px;--top-link-offset:48px;--top-link-radius:var(--radius-control);--profile-buttons-width:400px;--profile-link-min-width:6rem;--profile-link-height:var(--touch-target);--footer-line-height:24px;--footer-text:color-mix(in srgb, var(--secondary) 80%, var(--theme));--radius-mark:2px;--radius-code:0.2rem;--border-width:1px;--border-width-strong:2px;--cover-aspect-ratio:16 / 9;--header-menu-padding:var(--space-sm);--header-menu-gap:var(--space-xs);--logo-height:28px;--portrait-width:260px;--portrait-min-width:140px;--portrait-short-width:220px;--portrait-compact-width:180px;--touch-target:44px;--tag-compact-height:32px;--disclosure-chevron-size:0.4rem;--radius-small:5px;--radius-control:var(--radius);--control-hover-bg:var(--entry);--control-active-bg:var(--tertiary);--control-hover-border:color-mix(in srgb, var(--secondary) 25%, var(--border));--control-active-border:color-mix(in srgb, var(--secondary) 45%, var(--border));--focus-ring:var(--secondary);--motion-fast:150ms;--motion-reveal:0.4s;--motion-fade:0.3s;--transparent:transparent;--code-text:rgb(213, 213, 214);--accent:var(--secondary);--accent-hover:var(--primary);--surface-inset:var(--code-bg);--circuit-accent:var(--accent);--circuit-light-stroke:2px;--circuit-light-blur:5px;--post-card-hover-bg:color-mix(in srgb, var(--entry) 97%, var(--primary));--post-card-active-bg:color-mix(in srgb, var(--entry) 95%, var(--primary));--post-card-hover-border:var(--control-hover-border);--post-card-active-border:var(--control-active-border);--table-cell-min-width:7rem;--table-stripe-bg:color-mix(in srgb, var(--entry) 65%, var(--surface-inset));--table-row-hover-bg:color-mix(in srgb, var(--entry) 94%, var(--primary));--media-volume-width:5rem;--media-seek-min-width:6rem;--media-track-height:var(--space-xs);--media-thumb-size:var(--space-md);--selection-bg:color-mix(in srgb, var(--accent) 35%, var(--theme));--mark-bg:color-mix(in srgb, var(--accent) 30%, var(--theme));--gap:var(--space-lg);--content-gap:var(--space-content);--main-width:768px;--header-height:calc(var(--touch-target) + 2 * var(--header-menu-padding) + var(--border-width));--footer-height:calc(var(--footer-line-height) + 2 * var(--space-md));--radius:var(--space-sm);--theme:rgb(255, 255, 255);--entry:rgb(255, 255, 255);--primary:rgb(30, 30, 30);--secondary:rgb(108, 108, 108);--tertiary:rgb(214, 214, 214);--content:rgb(31, 31, 31);--code-block-bg:rgb(28, 29, 33);--code-bg:rgb(245, 245, 245);--border:rgb(238, 238, 238);--list-bg:var(--code-bg);--dark-theme:#191919;--dark-entry:#232323;--dark-primary:#e2e2e2;--dark-content:#e2e2e2;--dark-secondary:#a3a3a3;--dark-tertiary:#353535;--dark-border:#333333;--dark-code-block-bg:#1e1e1e;--dark-code-bg:#2b2b2b;--dark-accent:#8faed1;--dark-accent-hover:#b6cbe4;--dark-surface-inset:#1e1e1e;--dark-list-bg:var(--dark-theme);color-scheme:light}:root[data-theme=dark]{--theme:var(--dark-theme);--entry:var(--dark-entry);--primary:var(--dark-primary);--content:var(--dark-content);--secondary:var(--dark-secondary);--tertiary:var(--dark-tertiary);--border:var(--dark-border);--code-block-bg:var(--dark-code-block-bg);--code-bg:var(--dark-code-bg);--accent:var(--dark-accent);--accent-hover:var(--dark-accent-hover);--surface-inset:var(--dark-surface-inset);color-scheme:dark;--list-bg:var(--dark-list-bg)}@media(prefers-color-scheme:dark){:root[data-theme=auto]{--theme:var(--dark-theme);--entry:var(--dark-entry);--primary:var(--dark-primary);--content:var(--dark-content);--secondary:var(--dark-secondary);--tertiary:var(--dark-tertiary);--border:var(--dark-border);--code-block-bg:var(--dark-code-block-bg);--code-bg:var(--dark-code-bg);--accent:var(--dark-accent);--accent-hover:var(--dark-accent-hover);--surface-inset:var(--dark-surface-inset);color-scheme:dark;--list-bg:var(--dark-list-bg)}}.list{background:var(--list-bg)}*,::after,::before{box-sizing:border-box}html{-webkit-tap-highlight-color:var(--transparent);overflow-y:scroll;-webkit-text-size-adjust:100%;text-size-adjust:100%}a,button,body,h1,h2,h3,h4,h5,h6{color:var(--primary)}body{font-family:var(--font-body);font-size:var(--text-body);line-height:var(--line-height-body);word-break:break-word;background:var(--theme)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section,table{display:block}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);word-spacing:var(--title-word-spacing);line-height:var(--line-height-heading)}:where( .logo>a,.menu a,.breadcrumbs,.footer,.page-eyebrow,.diagnostic-404-code,.post-metadata,.paginav .title,.search-label,.search-prompt,.search-field input,.search-help kbd,.search-result-path,.media-status,.expertise-map-chip,details.toc #TableOfContents ){word-spacing:var(--ui-word-spacing)}h1{font-size:var(--text-display)}h2{font-size:var(--text-heading)}h3{font-size:var(--text-subheading)}h4{font-size:var(--text-body)}h5,h6{font-size:var(--text-small)}h1,h2,h3,h4,h5,h6,p{margin-top:0;margin-bottom:0}ul{padding:0}a{text-decoration:none}code,kbd,samp,pre{font-family:var(--font-code)}body,figure,ul{margin:0}table{width:100%;border-collapse:collapse;border-spacing:0;overflow-x:auto;word-break:keep-all}button,input,textarea{padding:0;font:inherit;background:0 0;border:0}input,textarea{outline:0}button,input[type=button],input[type=submit]{cursor:pointer}input:-webkit-autofill,textarea:-webkit-autofill{box-shadow:0 0 0 50px var(--theme)inset}img{display:block;max-width:100%}:focus-visible{outline:var(--border-width-strong)solid var(--focus-ring);outline-offset:var(--space-xs)}.medium-zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .3s;will-change:opacity}.medium-zoom--opened .medium-zoom-overlay{cursor:pointer;cursor:zoom-out;opacity:1}.medium-zoom-image{cursor:pointer;cursor:zoom-in;transition:transform .3s cubic-bezier(.2,0,.2,1)!important}.medium-zoom-image--hidden{visibility:hidden}.medium-zoom-image--opened{position:relative;cursor:pointer;cursor:zoom-out;will-change:transform}.not-found{display:flex;align-items:center;justify-content:center}.not-found.diagnostic-404{position:static;flex-direction:column;min-height:calc(70svh - var(--header-height));height:auto;gap:var(--space-md);padding:var(--space-xl)0;text-align:center;font-size:var(--text-body);font-weight:400}.diagnostic-404-code{color:var(--secondary);font:var(--text-subheading)var(--font-code);letter-spacing:.15em}.diagnostic-404 h1{font-size:var(--text-display);line-height:var(--line-height-title)}.diagnostic-404 h1 code{color:var(--accent,var(--primary));background:0 0;padding:0}.diagnostic-404 p{max-width:36ch;color:var(--secondary);line-height:var(--line-height-body)}.about-page .about-content{margin-block:0}.about-page .about-content>p:first-child{color:var(--primary)}.archive-posts{width:100%;font-size:var(--text-body)}.archive-year{margin-top:var(--space-2xl)}.archive-year:not(:last-of-type){border-bottom:var(--border-width-strong)solid var(--border)}.archive-month{display:flex;align-items:flex-start;padding:var(--space-control)0}.archive-month-header{margin:var(--space-lg)0;width:200px}.archive-month:not(:last-of-type){border-bottom:var(--border-width)solid var(--border)}.archive-entry{position:relative;padding:var(--space-xs);margin:var(--space-control)0}.archive-entry-title{margin:var(--space-xs)0;font-weight:400}.archive-meta{color:var(--secondary);font-size:var(--text-small)}.breadcrumbs{color:var(--secondary);font:var(--text-small)var(--font-code);line-height:var(--line-height-compact)}.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs)var(--space-sm);margin:0;padding:0;list-style:none}.breadcrumbs li{display:inline-flex;align-items:center;gap:var(--space-sm);min-width:0}.breadcrumbs a{padding-block:var(--space-xs);color:var(--secondary);font-weight:400;overflow-wrap:anywhere}.breadcrumbs a:hover,.breadcrumbs a:focus-visible{color:var(--accent-hover)}.breadcrumb-separator{color:var(--accent);user-select:none}.md-content h3,.md-content h4,.md-content h5,.md-content h6{margin:var(--space-rem-xl)0 var(--space-rem-md)}.md-content h1{margin:calc(var(--space-rem-lg) * 2)auto var(--space-rem-xl)}.md-content h2{margin:calc(var(--space-rem-content) * 2)auto var(--space-rem-lg)}.md-content a:not(.anchor){text-underline-offset:.3rem;text-decoration:underline}.md-content del{text-decoration:line-through}.md-content dl:not(:last-child),.md-content ol:not(:last-child),.md-content p:not(:last-child),.md-content figure:not(:last-child),.md-content ul:not(:last-child){margin-bottom:var(--content-gap)}.md-content ol,.md-content ul{padding-inline-start:var(--space-rem-content)}.md-content li{margin-top:.3rem}.md-content li p{margin-bottom:0}.md-content li:has(>input[type=checkbox],>p>input[type=checkbox]){position:relative;list-style:none}.md-content li input[type=checkbox]{appearance:none;position:absolute;inset-inline-start:calc(-1 * var(--space-rem-content));top:calc((1lh - 1rem)/2);display:grid;place-content:center;width:1rem;height:1rem;margin:0;line-height:inherit;border:var(--border-width)solid var(--secondary);border-radius:3px;background:var(--surface-inset);opacity:1}.md-content li input[type=checkbox]:checked{border-color:transparent;background:0 0}.md-content li input[type=checkbox]:checked::before{content:"";width:.65rem;height:.35rem;margin-top:-.2rem;border-inline-start:var(--border-width-strong)solid var(--accent);border-bottom:var(--border-width-strong)solid var(--accent);transform:rotate(-45deg)}.md-content dl{display:flex;flex-wrap:wrap;margin:0}.md-content dt{width:25%;font-weight:700}.md-content dd{width:75%;margin-inline-start:0;padding-inline-start:var(--space-control)}.md-content dd~dd,.md-content dt~dt{margin-top:var(--space-control)}.md-content .highlight table{border-radius:0}.md-content pre:not(.highlight pre){border-block:var(--border-width)solid var(--border)}.md-content .highlight:not(table){border-block:var(--border-width)solid var(--border);margin-bottom:var(--content-gap);background:var(--code-block-bg)!important;direction:ltr}.md-content .highlight pre{margin:0}.post-content code{padding:.2rem .3rem;font-size:var(--text-code);line-height:var(--line-height-compact);background:var(--surface-inset);border-radius:var(--radius-code)}.post-content :not(pre)>code{background:color-mix(in srgb,var(--surface-inset) 96%,var(--primary));box-shadow:inset 0 0 0 var(--border-width)var(--border)}.md-content pre code{display:grid;margin:auto 0;padding:var(--space-md)var(--space-content);color:var(--code-text);background:var(--code-block-bg)!important;border-radius:0;font-family:var(--font-code);line-height:var(--line-height-relaxed);word-spacing:normal;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--border)var(--code-block-bg);word-break:normal}.md-content blockquote{margin:var(--space-rem-md)0;padding:var(--space-inset)var(--space-md);border-inline-start:var(--border-width-strong)solid color-mix(in srgb,var(--accent) 60%,var(--border));background:var(--surface-inset)}.md-content hr{margin:var(--space-xl)0;height:var(--border-width-strong);background:var(--tertiary);border:0}.md-content iframe{max-width:100%}.md-content img{border-radius:var(--radius);margin:var(--space-rem-md)0}.md-content img.image-small{border-radius:0}.md-content img[src*="#center"]{margin:var(--space-rem-md)auto}.md-content figure.align-center{text-align:center}.md-content figure>figcaption{color:var(--secondary);font-size:var(--text-small);line-height:var(--line-height-body);margin:var(--space-sm)0 var(--space-md)}.md-content figcaption p{margin:0}.md-content .figure-attribution{margin-top:var(--space-xs);font-size:var(--text-caption)}.md-content .anchor{display:inline;margin:0;color:var(--secondary);font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;user-select:none}.md-content :is(h1,h2,h3,h4,h5,h6):hover .anchor,.md-content :is(h1,h2,h3,h4,h5,h6):focus-within .anchor{color:var(--accent);opacity:1;pointer-events:auto}.md-content :is(h1,h2,h3,h4,h5,h6) .anchor:hover{color:var(--accent-hover)}.md-content img.in-text{display:inline;margin:auto}mark{border-radius:var(--radius-mark);padding:0 2px;background:var(--mark-bg);color:var(--primary)}audio{display:block;width:100%;border:var(--border-width)solid var(--border);border-radius:var(--radius);overflow:hidden;height:2.5rem;margin-bottom:var(--content-gap)}audio::-webkit-media-controls-enclosure{border-radius:0}video{border:var(--border-width)solid var(--code-bg);border-radius:var(--radius);max-width:100%}iframe{border-radius:var(--radius)}.md-content .footnotes{margin-top:var(--space-xl);color:var(--secondary);font-size:var(--text-small);line-height:var(--line-height-relaxed)}.md-content .footnotes hr{height:var(--border-width);margin-block:var(--space-lg);background:var(--border)}.md-content .footnotes>ol{padding-inline-start:1.75rem}.md-content .footnotes li::marker{color:var(--accent);font-family:var(--font-code)}.md-content .footnotes p:not(:last-child){margin-bottom:var(--space-sm)}.md-content a.footnote-ref{text-decoration:none}.footnote-backref{display:none}details>summary{cursor:pointer;display:list-item;width:100%;margin-inline-start:0;user-select:none}details{interpolate-size:allow-keywords}details::details-content{height:0;opacity:0;overflow:clip;transition:height var(--motion-fast)ease,opacity var(--motion-fast)ease,content-visibility var(--motion-fast)allow-discrete}details[open]::details-content{height:auto;opacity:1}.md-content details:not(.toc){margin-block:var(--content-gap);border-block:var(--border-width)solid var(--border)}.md-content details:not(.toc)>summary{display:grid;grid-template-columns:minmax(0,1fr)var(--space-rem-content);align-items:center;gap:var(--space-inset);min-height:var(--touch-target);padding:var(--space-rem-md)var(--space-rem-xs);color:var(--secondary);font:var(--text-small)var(--font-code);word-spacing:var(--ui-word-spacing);line-height:var(--line-height-compact);list-style:none;overflow-wrap:anywhere}.md-content details:not(.toc)>summary::marker{content:""}.md-content details:not(.toc)>summary::-webkit-details-marker{display:none}.md-content details:not(.toc)>summary::after{content:"";justify-self:center;width:var(--disclosure-chevron-size);height:var(--disclosure-chevron-size);border-inline-end:var(--border-width-strong)solid var(--accent);border-block-end:var(--border-width-strong)solid var(--accent);transform:rotate(-45deg);transition:transform var(--motion-fast)ease}.md-content details:not(.toc)[open]>summary::after{transform:rotate(45deg)}.md-content details:not(.toc)>summary:hover,.md-content details:not(.toc)>summary:focus-visible{color:var(--accent-hover)}.md-content details:not(.toc)>.inner{margin:0;padding:0 var(--space-rem-xs)var(--space-rem-md)}.md-content details:not(.toc)>.inner>:first-child{margin-top:0}.md-content details:not(.toc)>.inner>:last-child{margin-bottom:0}.md-content details:not(.toc)>:not(summary,.inner){margin:0 var(--space-rem-xs)var(--space-rem-md)}@media(prefers-reduced-motion:reduce){details::details-content,.md-content details:not(.toc)>summary::after{transition:none}}.footer{max-width:calc(var(--main-width) + var(--gap) * 2);margin:auto;padding:var(--space-md)var(--gap);text-align:center;line-height:var(--footer-line-height);font-size:var(--text-caption);font-family:var(--font-code);color:var(--footer-text)}.footer-revision{color:var(--accent)}.epoch-clock{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:clamp(var(--space-xs),1vw,var(--space-inset));max-width:100%;font-size:clamp(var(--text-label),1.5vw,var(--text-caption));line-height:var(--space-md);vertical-align:middle;white-space:nowrap}@media screen and (max-width:600px){.epoch-clock{gap:clamp(var(--space-sm),1.5vw,var(--space-md));font-size:var(--text-caption)}}.epoch-tooltip{position:absolute;inset-inline-start:50%;bottom:calc(100% + var(--space-rem-md));z-index:100;width:min(22rem,calc(100vw - 2 * var(--gap)));padding:var(--space-rem-inset)var(--space-rem-md);transform:translateX(-50%);border:var(--border-width)solid var(--border);border-radius:var(--radius-small);background:var(--theme);color:var(--secondary);font:var(--text-caption)var(--font-code);line-height:var(--line-height-relaxed);word-spacing:var(--ui-word-spacing);white-space:normal;text-align:start;visibility:hidden;opacity:0}.epoch-tooltip::after{content:"";position:absolute;inset-inline:0;top:100%;height:var(--space-rem-md)}.epoch-tooltip-label{display:block;margin-bottom:var(--space-rem-xs);color:var(--accent)}.epoch-clock:not(.tooltip-dismissed):is(:hover,:focus-within) .epoch-tooltip{visibility:visible;opacity:1}.epoch-label,.epoch-value,.epoch-limit,.epoch-comparison{display:inline-flex;align-items:center;flex-shrink:0;height:var(--space-md)}.epoch-value,.epoch-limit{font:inherit}.epoch-value{color:var(--accent);font-variant-numeric:tabular-nums}.epoch-bitfield{display:grid;grid-template-columns:repeat(32,minmax(0,1fr));align-items:center;gap:clamp(1px,.3vw,3px);width:clamp(4rem,16vw,10rem);min-width:0;height:var(--space-md)}.epoch-bitfield:empty{display:none}.epoch-bit{height:var(--space-control);background:color-mix(in srgb,var(--border) 65%,transparent)}.epoch-bit[data-bit="1"]{background:var(--accent)}.epoch-comparison{margin-inline:calc(var(--space-xs)/-2)}.footer a{color:inherit;text-underline-offset:var(--space-rem-xs);text-decoration:underline}.top-link{font-size:var(--text-small);color:var(--secondary);position:fixed;bottom:max(var(--top-link-offset),env(safe-area-inset-bottom,0px));right:max(var(--top-link-offset),env(safe-area-inset-right,0px));z-index:99;display:grid;place-items:center;background:var(--surface-inset);border:var(--border-width)solid var(--border);width:var(--top-link-size);height:var(--top-link-size);padding:var(--space-control);border-radius:var(--top-link-radius);transition:visibility var(--motion-fade),opacity var(--motion-fade)cubic-bezier(.4,0,1,1)}@media screen and (max-width:600px){.top-link{--top-link-offset:32px}}body:has(main .profile) .top-link,.top-link.hidden{display:none}.top-link>span{transform:translate(-1.5px,-1px)}.hidden{visibility:hidden;opacity:0}.top-link:hover,.top-link:focus-visible{background:var(--control-hover-bg);border-color:var(--control-hover-border);color:var(--primary)}.top-link:active{background:var(--control-active-bg);border-color:var(--control-active-border)}.footer a:hover{color:var(--primary)}.header{padding-inline:var(--gap);border-bottom:var(--border-width)solid var(--border);background:color-mix(in srgb,var(--surface-inset) 85%,var(--theme))}.header-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);width:100%;max-width:var(--main-width);margin-inline:auto;padding:var(--header-menu-padding);line-height:var(--line-height-heading)}.logo{display:flex;flex-shrink:0;align-items:center;gap:var(--space-sm);padding-inline:var(--space-sm)var(--space-md);border-inline-end:var(--border-width)solid var(--border)}.logo>a{display:inline-flex;align-items:center;gap:var(--space-control);min-height:var(--touch-target);color:var(--primary);font:600 var(--text-body)var(--font-heading);line-height:1}.logo a img,.logo>a>svg{display:block;flex-shrink:0;width:auto;height:var(--logo-height);object-fit:contain;pointer-events:none}.logo>a>svg,.logo>a>svg path,.logo>a>svg ellipse{fill:var(--accent)}.logo-label{display:block;line-height:1}.logo>a[aria-current=page] .logo-label{color:var(--accent)}.logo-switches,.theme-toggle{display:inline-flex;align-items:center;justify-content:center}.theme-toggle{min-width:var(--touch-target);min-height:var(--touch-target);border:var(--border-width)solid var(--transparent);border-radius:var(--radius-control);color:var(--secondary)}.theme-toggle:hover,.theme-toggle:focus-visible{border-color:var(--control-hover-border);background:var(--control-hover-bg);color:var(--primary)}[data-theme=dark] .moon{display:none}[data-theme=light] .sun{display:none}.menu{display:flex;align-items:center;gap:var(--header-menu-gap);min-width:0;margin:0;padding:0;list-style:none}.menu li{flex-shrink:0}.menu a{display:flex;align-items:center;justify-content:center;min-height:var(--touch-target);padding:var(--space-sm)var(--space-inset);border:var(--border-width)solid var(--transparent);border-radius:var(--radius-control);color:var(--secondary);font:500 var(--text-small)var(--font-heading);white-space:nowrap}.menu a:hover,.menu a:focus-visible{border-color:var(--control-hover-border);background:var(--control-hover-bg);color:var(--primary)}.menu a[aria-current]{border-color:var(--control-hover-border);background:var(--entry);color:var(--accent)}.menu a:active,.theme-toggle:active{border-color:var(--control-active-border);background:var(--control-active-bg)}.menu .mobile-home{display:none}@media screen and (max-width:600px){.header{padding-inline:var(--space-inset)}.header-nav{gap:var(--space-sm);padding-inline:0}.logo{display:contents}.logo>a{display:none}.logo-switches{order:1}.menu{flex:1;overflow-x:auto}.menu .mobile-home{display:list-item}.menu li{flex:1 0 auto}.menu a{padding-inline:var(--space-xs)}}.buttons,.main .profile{display:flex;justify-content:center}.main .profile{align-items:center;min-height:calc(100vh - var(--header-height) - var(--footer-height) - (var(--gap) * 2));text-align:center}.profile h1{font-family:var(--font-body);font-size:var(--text-heading);word-spacing:normal}.profile img+h1{margin-top:var(--space-lg)}.profile-subtitle{margin-top:var(--space-sm);color:var(--secondary);font-size:var(--text-small)}.profile .profile_inner{display:flex;flex-direction:column;align-items:center;width:100%}.profile .social-icons{display:flex;flex-wrap:wrap;justify-content:center;row-gap:var(--space-xs);width:100%;margin-top:var(--space-content)}.profile .social-icons a{align-items:center;justify-content:center;min-width:var(--touch-target);min-height:var(--touch-target);padding:var(--space-sm)}.profile .buttons{margin-top:var(--space-lg)}.buttons{flex-wrap:wrap;max-width:min(100%,var(--profile-buttons-width));gap:var(--space-content)}.button{display:inline-flex;align-items:center;justify-content:center;min-width:var(--profile-link-min-width);min-height:var(--profile-link-height);padding:var(--space-sm)var(--space-md);background:var(--surface-inset);border:var(--border-width)solid var(--border);border-radius:var(--radius-control);color:var(--secondary);font-size:var(--text-small);font-weight:500;line-height:var(--line-height-compact)}.button:hover,.button:focus-visible{background:var(--control-hover-bg);border-color:var(--control-hover-border);color:var(--primary)}.button:active{border-color:var(--control-active-border);background:var(--control-active-bg)}.profile .buttons .button:first-child{background:color-mix(in srgb,var(--surface-inset) 92%,var(--accent));border-color:var(--border);color:var(--accent);font-weight:500}.profile .buttons .button:first-child:hover,.profile .buttons .button:first-child:focus-visible{background:color-mix(in srgb,var(--surface-inset) 86%,var(--accent));border-color:var(--control-hover-border)}.profile .buttons .button:first-child:active{background:color-mix(in srgb,var(--surface-inset) 82%,var(--accent));border-color:var(--control-active-border)}@keyframes profileReveal{from{transform:translateY(var(--space-control))rotate(-3deg);opacity:0}to{transform:translateY(0)rotate(0);opacity:1}}.profile img{width:var(--portrait-width);height:auto;animation:profileReveal var(--motion-reveal)ease-out both;filter:brightness(.85);border:solid var(--tertiary)3px;border-radius:var(--radius)}@media(prefers-reduced-motion:reduce){.profile img{animation:none}}.medium-zoom-overlay{z-index:1000;backdrop-filter:blur(5px)}.medium-zoom-image--opened{z-index:1001;max-width:none;max-height:none;border-radius:var(--radius)}.image-zoom-controls{position:fixed;z-index:1002;inset:0;pointer-events:none}.image-zoom-controls[hidden]{display:none}.image-zoom-close{position:absolute;top:max(var(--space-md),env(safe-area-inset-top,0px));right:max(var(--space-md),env(safe-area-inset-right,0px));display:grid;place-items:center;width:var(--touch-target);height:var(--touch-target);border:var(--border-width)solid var(--dark-border);border-radius:var(--radius-control);background:var(--dark-entry);color:var(--dark-primary);pointer-events:auto}.image-zoom-close:hover,.image-zoom-close:focus-visible{background:var(--dark-tertiary)}.image-zoom-close svg{width:var(--space-lg);height:var(--space-lg)}@media(prefers-reduced-motion:reduce){.medium-zoom-image{transition-duration:1ms!important}.medium-zoom-overlay{transition-duration:1ms}}.main{position:relative;min-height:calc(100vh - var(--header-height) - var(--footer-height));max-width:calc(var(--main-width) + var(--gap) * 2);margin:auto;padding:var(--gap)}.page-header:has(+.post-entry){margin-bottom:var(--space-lg)}.page-header>.breadcrumbs,.post-header>.breadcrumbs{margin-bottom:var(--space-inset)}.page-header h1,.post-title{color:var(--accent);font-family:var(--font-heading);font-size:var(--text-display);line-height:var(--line-height-title)}.pagination{display:flex}.pagination a{color:var(--theme);font-size:var(--text-small);line-height:var(--pagination-height);background:var(--primary);border-radius:calc(var(--pagination-height)/2);padding:0 var(--space-md)}.pagination .next{margin-inline-start:auto}.social-icons a{display:inline-flex;padding:var(--space-control)}.social-icons a svg{height:var(--social-icon-size);width:var(--social-icon-size)}code{direction:ltr}.media-player{margin-block:var(--content-gap);overflow:hidden;border:var(--border-width)solid var(--border);border-radius:var(--radius);background:var(--surface-inset)}.media-player--audio>audio{display:none}.media-player>video{display:block;width:100%;height:auto;max-width:100%;border:0;border-radius:0;background:var(--theme)}.media-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-content);padding:var(--space-md);color:var(--secondary)}.media-player--video .media-controls{border-top:var(--border-width)solid var(--border)}.media-controls button{display:inline-flex;flex:0 0 var(--touch-target);align-items:center;justify-content:center;width:var(--touch-target);min-height:var(--touch-target);border:var(--border-width)solid var(--transparent);border-radius:var(--radius-control);color:var(--secondary)}.media-controls .media-play{border-color:var(--border);background:var(--entry);color:var(--accent)}.media-controls button:hover,.media-controls button:focus-visible{border-color:var(--control-hover-border);background:var(--control-hover-bg);color:var(--primary)}.media-controls button:active{border-color:var(--control-active-border);background:var(--control-active-bg)}.media-icon{display:block;width:var(--space-lg);height:var(--space-lg)}.media-time{flex-shrink:0;color:var(--secondary);font:var(--text-caption)var(--font-code);white-space:nowrap}.media-controls input[type=range]{appearance:none;min-width:0;height:var(--touch-target);margin:0;padding:0;border:0;background:0 0;cursor:pointer}.media-controls input[type=range]:focus-visible{outline:var(--border-width-strong)solid var(--focus-ring);outline-offset:var(--space-xs);border-radius:var(--radius-control)}.media-controls .media-seek{flex:1;min-width:var(--media-seek-min-width)}.media-controls .media-volume{flex:0 0 var(--media-volume-width);width:var(--media-volume-width)}.media-controls input[type=range]::-webkit-slider-runnable-track{height:var(--media-track-height);border-radius:var(--radius-control);background:linear-gradient(to right,var(--accent) var(--media-range-progress,0%),var(--tertiary) var(--media-range-progress,0%))}.media-controls input[type=range]::-moz-range-track{height:var(--media-track-height);border-radius:var(--radius-control);background:var(--tertiary)}.media-controls input[type=range]::-moz-range-progress{height:var(--media-track-height);border-radius:var(--radius-control);background:var(--accent)}.media-controls input[type=range]::-webkit-slider-thumb{appearance:none;width:var(--media-thumb-size);height:var(--media-thumb-size);margin-top:calc((var(--media-track-height) - var(--media-thumb-size))/2);border:0;border-radius:50%;background:var(--accent-hover)}.media-controls input[type=range]::-moz-range-thumb{width:var(--media-thumb-size);height:var(--media-thumb-size);border:0;border-radius:50%;background:var(--accent-hover)}.media-controls input[type=range]:disabled{cursor:default;opacity:.45}.media-status{margin:0;padding:0 var(--space-md)var(--space-inset);color:var(--secondary);font:var(--text-small)var(--font-code)}.media-player:fullscreen{display:flex;flex-direction:column;justify-content:center;width:100%;height:100%;margin:0;border:0;border-radius:0;background:var(--theme)}.media-player:fullscreen>video{flex:1;min-height:0;object-fit:contain}.media-player:fullscreen .media-controls{flex-shrink:0}@media screen and (max-width:600px){.media-controls{display:grid;grid-template-columns:var(--touch-target)minmax(0,1fr)var(--touch-target)var(--touch-target);gap:var(--space-inset);padding:var(--space-inset)}.media-controls .media-play{grid-column:1;grid-row:1}.media-controls .media-seek{grid-column:2/-1;grid-row:1;width:100%;min-width:0}.media-time{grid-column:1/3;grid-row:2}.media-controls .media-mute{grid-column:3;grid-row:2}.media-controls .media-fullscreen,.media-player--audio .media-mute{grid-column:4;grid-row:2}.media-controls .media-volume{display:none}}.portal-page{padding-block:var(--space-xl)}@media screen and (max-width:600px){.portal-page{padding-top:var(--space-sm)}}.page-intro{margin-bottom:var(--space-xl)}.page-eyebrow{color:var(--secondary);font:var(--text-caption)var(--font-code);letter-spacing:.15em}.page-intro h1{margin-block:var(--space-md)var(--space-sm);color:var(--accent);font-family:var(--font-heading);font-size:var(--text-display);line-height:var(--line-height-title)}.page-intro-description{color:var(--secondary)}.post-entry{position:relative;margin-bottom:var(--gap);padding:var(--gap);background:var(--entry);border-radius:var(--radius);border:var(--border-width)solid var(--border)}.post-entry:hover,.post-entry:focus-within{border-color:var(--post-card-hover-border);background:var(--post-card-hover-bg)}.post-entry:active{border-color:var(--post-card-active-border);background:var(--post-card-active-bg)}.post-entry .entry-link:focus-visible{outline-color:var(--focus-ring)}.tag-entry .entry-cover{display:none}.entry-header h2{font-size:var(--text-subheading);line-height:var(--line-height-title)}.entry-content{margin:var(--space-sm)0;color:var(--secondary);font-size:var(--text-small);line-height:var(--line-height-body);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.entry-footer{margin-top:var(--space-md);padding-top:var(--space-inset);border-top:var(--border-width)solid var(--border)}.entry-link{position:absolute;left:0;right:0;top:0;bottom:0;border-radius:var(--radius)}.entry-hint{color:var(--secondary)}.entry-hint-parent{display:flex;justify-content:space-between}.entry-cover{font-size:var(--text-small);margin-bottom:var(--gap);text-align:center;display:flex;flex-direction:column;gap:var(--space-rem-sm)}.entry-cover img{border-radius:var(--radius);width:100%;height:auto;aspect-ratio:var(--cover-aspect-ratio);object-fit:cover;object-position:center}.entry-cover a{text-underline-offset:.3rem;text-decoration:underline}.post-metadata{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs)var(--space-inset);color:var(--secondary);font:var(--text-caption)var(--font-code);line-height:var(--line-height-relaxed)}.post-metadata>*{max-width:100%}.post-metadata>*+*{padding-inline-start:var(--space-inset);border-inline-start:var(--border-width)solid var(--border)}.post-metadata-date{color:var(--accent)}.post-metadata-date,.post-metadata-reading{white-space:nowrap}.post-metadata-author{overflow-wrap:anywhere}.paginav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md);margin-top:var(--space-lg)}.paginav a,.paginav-end{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:var(--space-sm);padding:var(--space-md)var(--space-lg);background:var(--surface-inset);border:var(--border-width)solid var(--border);border-radius:var(--radius-control);line-height:var(--line-height-compact);overflow-wrap:anywhere}.paginav .title{color:var(--accent);font-family:var(--font-code);font-size:var(--text-caption)}.paginav a>span:not(.title){color:var(--primary);font-size:var(--text-body);font-weight:500}.paginav-end{color:var(--secondary);font-size:var(--text-body);border-style:dashed;background:0 0}.paginav .next{grid-column:2}.paginav a:hover,.paginav a:focus-visible{background:var(--control-hover-bg);border-color:var(--control-hover-border)}.paginav a:active{background:var(--control-active-bg);border-color:var(--control-active-border)}@media screen and (max-width:480px){.paginav{grid-template-columns:minmax(0,1fr);gap:var(--space-sm)}.paginav .next{grid-column:1}}.page-header,.post-header{margin:var(--space-lg)auto var(--content-gap);padding-bottom:var(--space-rem-lg)}.post-title{margin-block:0 var(--space-rem-xl)}.post-description{margin-top:var(--space-control)}.post-meta{margin-top:var(--space-rem-lg);color:var(--secondary);font-size:var(--text-small)}.post-meta a{text-underline-offset:.3rem;text-decoration:underline;color:var(--secondary);text-decoration-style:dotted}.post-content{color:var(--content);margin:var(--space-xl)0}.post-footer{margin-top:calc(var(--space-lg) + var(--space-xl))}.post-footer>*{margin-bottom:var(--space-control)}h1>a>svg{display:inline}.post-footer>.post-tags{margin-bottom:var(--content-gap)}.page-header:has(>h1:last-child),.post-header:has(>.post-title:last-child){padding-bottom:0}.post-header>.post-title:last-child{margin-bottom:0}.search-help,.search-status,.search-empty{color:var(--secondary)}.search-label{display:block;margin-bottom:var(--space-inset);color:var(--secondary);font:var(--text-small)var(--font-code)}.search-field{display:flex;align-items:center;gap:var(--space-md);min-height:var(--touch-target);padding:var(--space-sm)var(--space-content);border:var(--border-width)solid var(--border);border-radius:var(--radius);background:var(--surface-inset)}.search-field:focus-within{border-color:var(--accent)}.search-prompt{color:var(--accent);font:var(--text-subheading)var(--font-code)}.search-field input{flex:1;min-width:0;min-height:var(--touch-target);padding:var(--space-sm)0;border:0;color:var(--primary);font:var(--text-body)var(--font-code);background:0 0}.search-field input:focus{outline:none}.search-field input::placeholder{color:var(--secondary);opacity:1}.search-field input::-webkit-search-cancel-button{display:none}.search-clear{min-height:var(--touch-target);border-radius:var(--radius-control);padding-inline:var(--space-sm);color:var(--secondary);font-size:var(--text-small)}.search-clear:hover{background:var(--control-hover-bg);color:var(--primary)}.search-help{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-inset)var(--space-md);margin-top:var(--space-md);font-size:var(--text-small)}.search-shortcut,.search-shortcut-keys{display:inline-flex;align-items:center}.search-shortcut{gap:var(--space-sm);white-space:nowrap}.search-shortcut+.search-shortcut{padding-inline-start:var(--space-inset);border-inline-start:var(--border-width)solid var(--border)}.search-shortcut-keys{gap:var(--space-xs)}.search-help kbd{display:inline-flex;align-items:center;justify-content:center;min-width:var(--space-lg);min-height:var(--space-lg);padding-inline:var(--space-xs);border:var(--border-width)solid var(--border);border-radius:var(--radius-mark);background:var(--surface-inset);color:var(--primary);font:var(--text-caption)var(--font-code);line-height:var(--line-height-compact)}.search-help kbd svg{display:block;flex-shrink:0;width:var(--space-md);height:var(--space-md)}.search-status{min-height:1.5em;margin-top:var(--space-xl);font-size:var(--text-small)}.searchResults{display:flex;flex-direction:column;gap:var(--space-md);margin-block:var(--space-lg)0;list-style:none}.search-result-link{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-lg);border:var(--border-width)solid var(--border);border-radius:var(--radius);background:var(--surface-inset)}.search-result-link:hover,.search-result-link:focus-visible{border-color:var(--control-hover-border);background:var(--entry)}.search-result-link:focus-visible{border-color:var(--accent);outline:var(--border-width-strong)solid var(--accent);outline-offset:calc(-1 * var(--border-width-strong));background:color-mix(in srgb,var(--accent) 6%,var(--entry))}.search-result-content{min-width:0}.search-result-title{font-family:var(--font-heading);display:block;color:var(--primary);font-size:var(--text-subheading);word-spacing:var(--title-word-spacing);font-weight:600;overflow-wrap:anywhere}.search-result-link:hover .search-result-title,.search-result-link:focus-visible .search-result-title{font-family:var(--font-heading);color:var(--accent-hover)}.search-result-summary{display:-webkit-box;margin-top:var(--space-sm);overflow:hidden;color:var(--secondary);font-size:var(--text-small);-webkit-box-orient:vertical;-webkit-line-clamp:2}.search-result-path{display:block;margin-top:var(--space-sm);color:var(--accent);font:var(--text-small)var(--font-code);overflow-wrap:anywhere}.search-result-icon{flex-shrink:0;width:var(--space-lg);height:var(--space-lg);color:var(--accent)}.search-empty{margin-top:var(--space-md);padding:var(--space-lg);border:var(--border-width)dashed var(--border);border-radius:var(--radius);text-align:center}.search-empty code{color:var(--accent);font:var(--text-body)var(--font-code)}.search-empty p+p{margin-top:var(--space-sm);font-size:var(--text-small)}@media screen and (max-width:480px){.search-field{padding-inline:var(--space-md)}.search-result-link{gap:var(--space-md);padding:var(--space-md)}}.content-table{max-width:100%;margin-bottom:var(--content-gap);overflow-x:auto;overscroll-behavior-inline:contain;border-block:var(--border-width)solid var(--border);scrollbar-width:thin;scrollbar-color:var(--border)var(--theme)}.content-table table{display:table;width:100%;margin:0;border-collapse:separate;border-spacing:0;color:var(--secondary);font-family:var(--font-body);font-size:var(--text-body);font-weight:400;word-break:normal}.content-table :is(th,td){min-width:var(--table-cell-min-width);padding:var(--space-inset)var(--space-md);text-align:start;vertical-align:top;line-height:var(--line-height-relaxed);overflow-wrap:anywhere}.content-table th{border-bottom:var(--border-width)solid var(--border);color:var(--accent);font:var(--text-small)var(--font-code);word-spacing:var(--ui-word-spacing)}.content-table tbody tr:not(:last-child) td{border-bottom:var(--border-width)solid var(--border)}.content-table tbody tr:hover td,.content-table tbody tr:focus-within td{background:color-mix(in srgb,var(--accent) 6%,var(--theme))}.content-table td>code:only-child{margin:0}.terms-tags,.post-tags{display:flex;flex-wrap:wrap;gap:var(--space-md)}.terms-tags{margin-top:var(--content-gap)}.terms-tags li,.post-tags li{display:inline-block;max-width:100%}.terms-tags a,.post-tags a{display:flex;align-items:center;min-height:var(--tag-compact-height);padding:var(--space-sm)var(--space-md);background:var(--surface-inset);border:var(--border-width)solid var(--border);border-radius:var(--radius-control);color:var(--secondary);font-size:var(--text-label);font-weight:600;line-height:var(--line-height-compact);letter-spacing:.06em;text-transform:uppercase;overflow-wrap:anywhere}.terms-tags a::before,.post-tags a::before{content:"#";margin-inline-end:var(--space-xs);color:var(--accent);font-weight:400}.terms-tags a:hover,.terms-tags a:focus-visible,.post-tags a:hover,.post-tags a:focus-visible{background:var(--control-hover-bg);border-color:var(--control-hover-border);color:var(--primary)}.terms-tags a:active,.post-tags a:active{border-color:var(--control-active-border);background:var(--control-active-bg)}.tags-index{justify-content:space-between;gap:var(--space-md);margin-top:var(--space-xl);padding-bottom:var(--space-rem-xl)}.tags-index::after{content:"";flex-grow:1}.post-tags{gap:var(--space-md)}details.toc{margin-bottom:var(--content-gap);border-block:var(--border-width)solid var(--border);font-size:var(--text-body);line-height:var(--line-height-body)}details.toc summary{display:grid;grid-template-columns:minmax(0,1fr)var(--space-rem-content);align-items:center;gap:var(--space-rem-inset);padding:var(--space-rem-md)var(--space-rem-xs);padding-inline-start:calc(var(--space-rem-xs) + var(--space-rem-sm));list-style:none;cursor:pointer}details.toc summary::-webkit-details-marker{display:none}details.toc summary::after{content:"";width:var(--disclosure-chevron-size);height:var(--disclosure-chevron-size);justify-self:center;border-inline-end:var(--border-width-strong)solid var(--accent);border-bottom:var(--border-width-strong)solid var(--accent);transform:rotate(-45deg)}details.toc[open] summary::after{transform:rotate(45deg)}details.toc .title{margin:0;color:var(--secondary);font:var(--text-small)var(--font-code);word-spacing:var(--ui-word-spacing)}details.toc .title::before{content:"//";display:inline-block;width:calc(var(--space-rem-content) + var(--space-rem-sm));color:var(--accent)}details.toc summary:hover .title{color:var(--accent-hover)}details.toc .inner{padding-bottom:var(--space-rem-md)}details.toc #TableOfContents{font-family:var(--font-body);font-size:var(--text-body);font-weight:400;line-height:var(--line-height-body);word-spacing:normal;counter-reset:toc-section -1}details.toc :is(ul,ol){margin:0;padding:0;list-style:none}details.toc :is(ul,ol) :is(ul,ol){padding-inline-start:var(--space-rem-xl);font-size:var(--text-small)}details.toc #TableOfContents>:is(ul,ol)>li+li,details.toc #TableOfContents>:is(ul,ol)+:is(ul,ol){margin-top:var(--space-rem-xs)}details.toc #TableOfContents>:is(ul,ol)>li>a{display:flex;align-items:baseline;gap:var(--space-rem-sm);color:var(--primary)}details.toc #TableOfContents>:is(ul,ol)>li>a::before{counter-increment:toc-section;content:counter(toc-section,decimal-leading-zero);flex-shrink:0;min-width:var(--space-rem-content);color:var(--accent);font-family:var(--font-code);font-size:inherit;font-weight:400}details.toc a{display:block;padding:var(--space-rem-xs);padding-inline-start:calc(var(--space-rem-xs) + var(--space-rem-sm));border-radius:var(--radius-small);color:var(--secondary);overflow-wrap:anywhere}details.toc a:hover,details.toc a:focus-visible{color:var(--accent-hover);background:color-mix(in srgb,var(--accent) 6%,var(--theme))}.bg{color:#cad3f5;background-color:#24273a}.chroma{color:#cad3f5;background-color:#24273a}.chroma .err{color:#ed8796}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#474733}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#8087a2}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#8087a2}.chroma .line{display:flex}.chroma .k{color:#c6a0f6}.chroma .kc{color:#f5a97f}.chroma .kd{color:#ed8796}.chroma .kn{color:#8bd5ca}.chroma .kp{color:#c6a0f6}.chroma .kr{color:#c6a0f6}.chroma .kt{color:#ed8796}.chroma .na{color:#8aadf4}.chroma .nb{color:#91d7e3}.chroma .bp{color:#91d7e3}.chroma .nc{color:#eed49f}.chroma .no{color:#eed49f}.chroma .nd{color:#8aadf4;font-weight:700}.chroma .ni{color:#8bd5ca}.chroma .ne{color:#f5a97f}.chroma .nf{color:#8aadf4}.chroma .fm{color:#8aadf4}.chroma .nl{color:#91d7e3}.chroma .nn{color:#f5a97f}.chroma .py{color:#f5a97f}.chroma .nt{color:#c6a0f6}.chroma .nv{color:#f4dbd6}.chroma .vc{color:#f4dbd6}.chroma .vg{color:#f4dbd6}.chroma .vi{color:#f4dbd6}.chroma .vm{color:#f4dbd6}.chroma .s{color:#a6da95}.chroma .sa{color:#ed8796}.chroma .sb{color:#a6da95}.chroma .sc{color:#a6da95}.chroma .dl{color:#8aadf4}.chroma .sd{color:#6e738d}.chroma .s2{color:#a6da95}.chroma .se{color:#8aadf4}.chroma .sh{color:#6e738d}.chroma .si{color:#a6da95}.chroma .sx{color:#a6da95}.chroma .sr{color:#8bd5ca}.chroma .s1{color:#a6da95}.chroma .ss{color:#a6da95}.chroma .m{color:#f5a97f}.chroma .mb{color:#f5a97f}.chroma .mf{color:#f5a97f}.chroma .mh{color:#f5a97f}.chroma .mi{color:#f5a97f}.chroma .il{color:#f5a97f}.chroma .mo{color:#f5a97f}.chroma .o{color:#91d7e3;font-weight:700}.chroma .ow{color:#91d7e3;font-weight:700}.chroma .c{color:#6e738d;font-style:italic}.chroma .ch{color:#6e738d;font-style:italic}.chroma .cm{color:#6e738d;font-style:italic}.chroma .c1{color:#6e738d;font-style:italic}.chroma .cs{color:#6e738d;font-style:italic}.chroma .cp{color:#6e738d;font-style:italic}.chroma .cpf{color:#6e738d;font-weight:700;font-style:italic}.chroma .gd{color:#ed8796;background-color:#363a4f}.chroma .ge{font-style:italic}.chroma .gr{color:#ed8796}.chroma .gh{color:#f5a97f;font-weight:700}.chroma .gi{color:#a6da95;background-color:#363a4f}.chroma .gs{font-weight:700}.chroma .gu{color:#f5a97f;font-weight:700}.chroma .gt{color:#ed8796}.chroma .gl{text-decoration:underline}.chroma{background-color:unset!important}.chroma .hl{display:flex}.highlight .chroma .lnt,.highlight .chroma .ln{color:var(--accent)}.chroma .lnt{padding:0 0 0 var(--space-content)}.highlight pre.chroma code{padding:var(--space-md)0}.highlight pre.chroma .line .cl,.chroma .ln{padding:0 var(--space-content)}.chroma .lntd:last-of-type{width:100%}@media screen and (max-width:768px){:root{--gap:14px}.archive-month{flex-direction:column}.archive-year{margin-top:var(--space-content)}}@media(prefers-reduced-motion:reduce){.top-link{transition:none}}.expertise-map{--pcb-accent:var(--circuit-accent);margin:0 0 var(--space-xl);overflow:hidden;border:var(--border-width)solid var(--border);border-radius:var(--radius);background:var(--surface-inset)}.expertise-map-stage{--expertise-map-spread:1.1;position:relative;margin:clamp(var(--space-sm),2vw,var(--space-lg));aspect-ratio:1.75;min-height:200px;background-image:radial-gradient(color-mix(in srgb,var(--secondary) 8%,transparent) 1px,transparent 1px);background-position:50%;background-size:var(--space-lg)var(--space-lg)}.expertise-map-traces{position:absolute;inset:0;display:block;width:100%;height:100%;transform:scaleX(var(--expertise-map-spread));transform-origin:center}.expertise-map-wires{stroke:var(--secondary);stroke-width:1.5;opacity:.3}.expertise-map-cursor-light{stroke:var(--pcb-accent);stroke-width:var(--circuit-light-stroke);stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 var(--circuit-light-blur) var(--pcb-accent));opacity:0;pointer-events:none;transition:opacity var(--motion-fast)ease}.has-cursor-light .expertise-map-cursor-light{opacity:1}@media(prefers-reduced-motion:reduce){.expertise-map-cursor-light{display:none;transition:none}}.expertise-map-signals{fill:var(--pcb-accent);pointer-events:none}.expertise-map-collision{fill:none;stroke:var(--pcb-accent);stroke-width:var(--border-width-strong);filter:drop-shadow(0 0 var(--circuit-light-blur) var(--pcb-accent))}.expertise-map-chip{position:absolute;left:calc(50% + (var(--x) - 50%) * var(--expertise-map-spread));top:var(--y);transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;width:clamp(4.75rem,24%,8rem);min-width:max-content;min-height:var(--touch-target);padding:var(--space-control)var(--space-xs);border:var(--border-width)solid var(--border);border-radius:var(--radius-control);background:var(--theme);color:var(--primary);font:600 var(--text-body)var(--font-code);cursor:pointer}.expertise-map-chip span{margin-top:var(--space-xs);white-space:nowrap;font-size:var(--text-caption);letter-spacing:.06em;color:var(--secondary)}.expertise-map-chip:hover,.expertise-map-chip:focus-visible,.expertise-map-chip[aria-pressed=true]{border-color:var(--control-hover-border);background:var(--surface-inset);color:var(--primary)}.expertise-map-chip[aria-pressed=true]{border-color:var(--control-active-border);color:var(--pcb-accent)}.expertise-map-chip:active{border-color:var(--control-active-border);background:var(--control-active-bg)}.expertise-map-chip:focus-visible{outline:var(--border-width-strong)solid var(--focus-ring);outline-offset:var(--space-xs)}.expertise-map-caption{padding:clamp(var(--space-md),2vw,var(--space-content))clamp(var(--space-md),2vw,var(--space-lg));border-top:var(--border-width)solid var(--border);background:var(--theme)}.expertise-map-caption strong{color:var(--pcb-accent);font:600 var(--text-body)var(--font-heading);word-spacing:var(--title-word-spacing);line-height:var(--line-height-compact)}.expertise-map-caption p{color:var(--secondary);max-width:65ch;font-size:var(--text-small);line-height:var(--line-height-relaxed);margin:var(--space-sm)0 0}body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.12;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23grain)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");background-repeat:repeat}#logic-traces{position:fixed;width:100%;height:100%;top:0;left:0;pointer-events:none;z-index:-1}body:has(.profile) #logic-traces{mask-image:linear-gradient(to right,#000 25%,transparent 43%,transparent 57%,#000 75%),linear-gradient( to bottom,#000 calc(var(--content-top,40vh) - var(--space-lg)),transparent var(--content-top,40vh),transparent var(--content-bottom,60vh),#000 calc(var(--content-bottom,60vh) + var(--space-lg)) );mask-composite:add}[data-theme=dark] .post-content a,[data-theme=dark] .footer a,[data-theme=dark] #menu .active,[data-theme=dark] .social-icons a:hover,[data-theme=dark] .top-link{color:var(--accent)}[data-theme=dark] .post-content a:hover,[data-theme=dark] .footer a:hover,[data-theme=dark] .logo a:hover{color:var(--accent-hover)}[data-theme=dark] ::selection{background:var(--selection-bg);color:var(--primary)}@media(prefers-color-scheme:dark){[data-theme=auto] .post-content a,[data-theme=auto] .footer a,[data-theme=auto] #menu .active,[data-theme=auto] .social-icons a:hover,[data-theme=auto] .top-link{color:var(--accent)}[data-theme=auto] .post-content a:hover,[data-theme=auto] .footer a:hover,[data-theme=auto] .logo a:hover{color:var(--accent-hover)}[data-theme=auto] ::selection{background:var(--selection-bg);color:var(--primary)}}body:has(.main>.profile){display:flex;flex-direction:column;min-height:100svh}body:has(.main>.profile)>.header,body:has(.main>.profile)>.footer{flex-shrink:0;width:100%}body:has(.main>.profile)>.main{display:flex;flex:1;width:100%;min-height:0;margin:0 auto}body:has(.main>.profile) .main>.profile{width:100%;min-height:0}@media screen and (max-height:700px){.profile img{width:clamp(var(--portrait-min-width),28svh,var(--portrait-short-width));height:auto}.profile img+h1,.profile .social-icons,.profile .buttons{margin-top:var(--space-md)}}@media screen and (max-width:360px) and (max-height:700px){.profile img{width:clamp(var(--portrait-min-width),26svh,var(--portrait-compact-width))}}