@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_astro/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_astro/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;font-display:swap;src:url(/_astro/ibm-plex-sans-latin-400-italic.CZTNEAuW.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/jetbrains-mono-latin-400-normal.V6pRDFza.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_astro/jetbrains-mono-latin-500-normal.BWZEU5yA.woff2)format("woff2")}@font-face{font-family:JetBrains Mono Nerd Font;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/jetbrains-mono-nerd-400.DggZ5Uw7.woff2)format("woff2")}@font-face{font-family:JetBrains Mono Nerd Font;font-style:normal;font-weight:600;font-display:swap;src:url(/_astro/jetbrains-mono-nerd-600.NCba7do8.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_astro/ibm-plex-sans-latin-700-normal.Bxkt5Cjx.woff2)format("woff2")}:root{--solarized-base03:#002b36;--solarized-base02:#073642;--solarized-base01:#586e75;--solarized-base00:#657b83;--solarized-base0:#839496;--solarized-base1:#93a1a1;--solarized-base2:#eee8d5;--solarized-base3:#fdf6e3;--solarized-yellow:#b58900;--solarized-orange:#cb4b16;--solarized-red:#dc322f;--solarized-magenta:#d33682;--solarized-violet:#6c71c4;--solarized-blue:#268bd2;--solarized-cyan:#2aa198;--solarized-green:#859900;color-scheme:light;--ink:var(--solarized-base01);--ink-2:var(--solarized-base01);--ink-3:var(--solarized-base01);--rule:var(--solarized-base1);--rail:var(--solarized-base2);--paper:var(--solarized-base3);--accent:var(--solarized-blue);--accent-ink:var(--solarized-base02);--rail-ink:var(--solarized-base02);--card-ink:var(--solarized-base02);--tone-blue:var(--solarized-blue);--tone-violet:var(--solarized-violet);--tone-orange:var(--solarized-orange);--tone-green:var(--solarized-green);--tone-magenta:var(--solarized-magenta);--tone-cyan:var(--solarized-cyan);--tone-yellow:var(--solarized-yellow);--tone-red:var(--solarized-red);--sans:"IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;--mono:"JetBrains Mono Nerd Font", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-11:44px;--space-12:48px;--radius:4px;--radius-lg:12px;--text-small:.875rem;--text-body:1rem;--text-lead:1.09375rem;--text-section:1.375rem;--text-title:1.75rem;--leading:1.55;--measure:68ch;--control-inset:max(16px, env(safe-area-inset-right));--control-gutter:calc(var(--control-inset) + 48px);--accent-band:linear-gradient(to right, var(--solarized-blue) 0% 16.6667%, var(--solarized-cyan) 16.6667% 33.3333%, var(--solarized-green) 33.3333% 50%, var(--solarized-yellow) 50% 66.6667%, var(--solarized-orange) 66.6667% 83.3333%, var(--solarized-magenta) 83.3333% 100%);--tint-blue:var(--rail);--tint-cyan:var(--rail);--tint-green:var(--rail);--tint-yellow:var(--rail);--tint-orange:var(--rail);--tint-red:var(--rail);--tint-magenta:var(--rail);--tint-violet:var(--rail);--panel:var(--solarized-base3);--panel-ink:var(--solarized-base01);--panel-border:var(--solarized-base2);--panel-divider:var(--solarized-base2);--shadow-color:transparent;--elevation:0 1px 2px var(--shadow-color), 0 8px 24px var(--shadow-color)}@supports (color:light-dark(white, black)){:root{color-scheme:light dark;--ink:light-dark(var(--solarized-base01),var(--solarized-base1));--ink-2:light-dark(var(--solarized-base01),var(--solarized-base1));--ink-3:light-dark(var(--solarized-base01),var(--solarized-base1));--rule:light-dark(var(--solarized-base1),var(--solarized-base01));--rail:light-dark(var(--solarized-base2),var(--solarized-base02));--paper:light-dark(var(--solarized-base3),var(--solarized-base03));--accent-ink:light-dark(var(--solarized-base02),var(--solarized-base1));--rail-ink:light-dark(var(--solarized-base02),var(--solarized-base1));--card-ink:light-dark(var(--solarized-base02),var(--solarized-base1));--panel:light-dark(var(--solarized-base3),var(--solarized-base02));--panel-ink:light-dark(var(--solarized-base01),var(--solarized-base1));--panel-border:light-dark(var(--solarized-base2),var(--solarized-base01));--panel-divider:light-dark(var(--solarized-base2),var(--solarized-base03))}:root:where([data-theme=light]){color-scheme:light}:root:where([data-theme=dark]){color-scheme:dark}}@supports (color:oklch(from red l c h)) and (color:light-dark(white, black)){:root{--tint-blue:light-dark(oklch(from var(--solarized-blue) 94% .025 h),oklch(from var(--solarized-blue) 28% .025 h));--tint-cyan:light-dark(oklch(from var(--solarized-cyan) 94% .025 h),oklch(from var(--solarized-cyan) 28% .025 h));--tint-green:light-dark(oklch(from var(--solarized-green) 94% .025 h),oklch(from var(--solarized-green) 28% .025 h));--tint-yellow:light-dark(oklch(from var(--solarized-yellow) 94% .025 h),oklch(from var(--solarized-yellow) 28% .025 h));--tint-orange:light-dark(oklch(from var(--solarized-orange) 94% .025 h),oklch(from var(--solarized-orange) 28% .025 h));--tint-red:light-dark(oklch(from var(--solarized-red) 94% .025 h),oklch(from var(--solarized-red) 28% .025 h));--tint-magenta:light-dark(oklch(from var(--solarized-magenta) 94% .025 h),oklch(from var(--solarized-magenta) 28% .025 h));--tint-violet:light-dark(oklch(from var(--solarized-violet) 94% .025 h),oklch(from var(--solarized-violet) 28% .025 h))}}@supports (color:oklch(from red l c h / 50%)) and (color:light-dark(white, black)){:root{--shadow-color:light-dark(oklch(from var(--solarized-base03) l c h / 7%),transparent)}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-block:80px}body{overflow-wrap:anywhere;font-family:var(--sans);font-size:var(--text-body);line-height:var(--leading);color:var(--ink);background:var(--paper);margin:0}a{color:var(--ink);text-underline-offset:2px;text-decoration-thickness:1px}a:hover{color:var(--accent-ink)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}code,.mono{font-family:var(--mono);font-size:.92em}code,.mono,h1,.section-title,.theme-toggle,.action{font-variant-ligatures:common-ligatures contextual}code{color:var(--rail-ink);background:var(--rail);border-radius:3px;padding:.05em .35em}h1{font-family:var(--mono);font-size:var(--text-title);letter-spacing:-.02em;margin:0 0 var(--space-2);font-weight:600;line-height:1.1}h2,h3,h4{line-height:1.3}p{margin:0 0 var(--space-4)}.lead{font-size:var(--text-lead);max-width:var(--measure)}.muted{color:var(--ink-3)}.skip-link{z-index:20;background:var(--paper);border:2px solid var(--accent);padding:10px 16px;position:fixed;top:8px;left:8px;transform:translateY(-200%)}.skip-link:focus{transform:none}#main{scroll-margin-top:16px}#main:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.theme-toggle{right:var(--control-inset);bottom:max(16px, env(safe-area-inset-bottom));z-index:10;appearance:none;width:44px;height:44px;color:var(--accent);cursor:pointer;font-family:var(--mono);background:0 0;border:0;margin:0;padding:0;line-height:1;position:fixed}.theme-toggle:hover{color:var(--accent-ink)}.nerd-icon{font-family:var(--mono);font-size:14px;line-height:1}.theme-toggle .nerd-icon{font-size:22px;display:inline-block}.section-icon{vertical-align:.02em;width:1.5em;color:var(--section-accent,var(--accent));font-size:17px;display:inline-block}.action{font-family:var(--mono);background:var(--paper);border:1px solid var(--section-accent,var(--accent));border-radius:var(--radius);max-width:100%;min-height:44px;color:var(--ink);align-items:center;gap:8px;padding:8px 14px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.action:hover{background:var(--ink);color:var(--paper)}.text-list{margin:0;padding-left:18px}.text-list>li{margin:0 0 12px;padding-left:4px}.text-list>li::marker{font-family:var(--mono);color:var(--list-accent,var(--section-accent,var(--accent)));font-weight:600}.text-list strong{font-weight:600}.supporting-details{margin-top:8px}.supporting-details>li{margin-bottom:6px}ul.text-list>li::marker{content:"› "}ul.supporting-details>li::marker{content:"· "}.text-list>li:last-child{margin-bottom:0}.content-section{--section-accent:var(--accent);--card-background:var(--rail)}.section-title{font-family:var(--mono);text-transform:lowercase;font-size:var(--text-section);letter-spacing:.02em;color:var(--ink);margin:0 0 var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--section-accent,var(--accent));font-weight:600}.content-section a:where(:not(.action)){color:var(--ink)}.content-section a:where(:not(.action)):hover{color:var(--accent-ink)}.surface{--ink:var(--card-ink);--ink-2:var(--card-ink);--ink-3:var(--card-ink);padding:var(--card-padding,var(--space-4));color:var(--ink);background:var(--card-background,var(--rail));border-radius:var(--radius);font-size:var(--text-body);line-height:var(--leading);border:0}.surface>:last-child{margin-bottom:0}.surface[data-tint]{--card-background:var(--section-tint,var(--rail))}:where(.surface) code{color:var(--ink);background:var(--paper)}.stack{gap:var(--space-6);display:grid}.cluster{align-items:baseline;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.status{font-size:var(--text-small);color:var(--ink);font-weight:600}[data-accent=blue]{--section-accent:var(--tone-blue);--section-tint:var(--tint-blue)}[data-accent=violet]{--section-accent:var(--tone-violet);--section-tint:var(--tint-violet)}[data-accent=orange]{--section-accent:var(--tone-orange);--section-tint:var(--tint-orange)}[data-accent=green]{--section-accent:var(--tone-green);--section-tint:var(--tint-green)}[data-accent=magenta]{--section-accent:var(--tone-magenta);--section-tint:var(--tint-magenta)}[data-accent=cyan]{--section-accent:var(--tone-cyan);--section-tint:var(--tint-cyan)}[data-accent=yellow]{--section-accent:var(--tone-yellow);--section-tint:var(--tint-yellow)}[data-accent=red]{--section-accent:var(--tone-red);--section-tint:var(--tint-red)}@media print{ul.text-list>li::marker{content:normal;color:#000}ul.supporting-details>li::marker{content:"· "}:root{color-scheme:light;--paper:#fff;--rail:#fff;--ink:#000;--ink-2:#333;--ink-3:#444;--accent:#000;--accent-ink:#000;--rail-ink:#000;--card-ink:#000}body{color:#000;background:#fff}.content-section,[data-accent]{--section-accent:#000}.surface{color:#000;background:0 0}.section-title{font-family:var(--sans);text-transform:none;color:#000;border-color:#bbb}.theme-toggle,.skip-link{display:none}a{color:#000}}@media (forced-colors:active){.surface{outline:1px solid canvastext}.section-title{border-color:canvastext}.status{color:canvastext}}.entry-heading{justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-4);flex-wrap:wrap;display:flex}.entry-title{color:var(--ink);margin:0;font-size:1.25rem;font-weight:600;line-height:1.3}.meta{color:var(--ink-3);margin:0;font-size:.84375rem;line-height:1.4}.facts{font-size:var(--text-small);margin:0}.facts dt{margin-top:var(--space-2);font-weight:500}.facts dd{color:var(--ink-2);margin:0}.status:before{content:"";width:.65em;height:.65em;margin-right:var(--space-2);background:var(--section-accent,var(--accent));display:inline-block}.page-column{max-width:calc(var(--measure) + var(--space-8) + var(--control-gutter));padding:var(--space-8) var(--control-gutter) calc(max(16px, env(safe-area-inset-bottom)) + 44px + var(--space-4)) var(--space-8);margin-inline:auto}.page-column main>*+*{margin-top:var(--space-12)}.article-header{margin-bottom:var(--space-6)}.article-header h1{margin-bottom:var(--space-1)}.masthead{justify-content:space-between;align-items:center;gap:0 var(--space-6);margin-bottom:var(--space-8);padding-bottom:var(--space-2);border-bottom:1px solid var(--rule);flex-wrap:wrap;display:flex}.masthead-title{font-family:var(--mono);font-size:var(--text-section);letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.2}.masthead-title a,.site-nav a{min-height:44px;color:var(--ink);align-items:center;text-decoration:none;display:inline-flex}.masthead-title a:hover,.site-nav a:hover{color:var(--accent-ink);text-decoration:underline}.site-nav ul{gap:0 var(--space-4);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.site-nav a{font-family:var(--mono);font-size:var(--text-small)}.site-nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:6px;text-decoration-thickness:2px}.post-list{gap:var(--space-6);margin:0;padding:0;list-style:none;display:grid}.post-list .entry-heading{margin-bottom:var(--space-1)}.post-list p:not(.meta){max-width:var(--measure);color:var(--ink-2);margin:0}.page-footer{margin-top:var(--space-12);padding-top:var(--space-4);border-top:1px solid var(--rule);font-size:var(--text-small);color:var(--ink-3)}.page-footer p{margin:0 0 var(--space-2)}.page-footer>:last-child{margin-bottom:0}@media (width<=700px){.page-column{padding-top:var(--space-6);padding-left:var(--space-4)}}@media print{.page-column{max-width:none;padding:0}.site-nav{display:none}.masthead,.page-footer{border-color:#bbb}}@media (forced-colors:active){.masthead,.page-footer{border-color:canvastext}.site-nav a[aria-current=page]{text-decoration-color:linktext}}.accent-band{background:var(--accent-band);border:0;height:4px;margin:0;display:block}.masthead-title--identity{font-family:var(--sans);font-size:var(--text-title);letter-spacing:-.02em;font-weight:700}.masthead-title--identity a{color:var(--solarized-blue)}.masthead--band{padding-bottom:var(--space-3);border-bottom:0;position:relative}.masthead--band:after{content:"";background:var(--accent-band);height:4px;position:absolute;inset:auto 0 0}.meta-row{gap:0 var(--space-4);flex-wrap:wrap;display:flex}.pager{gap:var(--space-4);padding-top:var(--space-6);border-top:1px solid var(--rule);grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));display:grid}.pager a{gap:var(--space-1);min-height:44px;color:var(--ink);align-content:center;font-weight:600;display:grid}.pager a[rel=next]{text-align:end}.timeline-list{--timeline-axis:5px;--timeline-top:.5rem;margin:0;padding:0;list-style:none}.timeline-list>li{padding-block:0 var(--space-6);padding-inline:calc(var(--timeline-axis) * 2 + var(--space-6)) 0;position:relative}.timeline-list>li:last-child{padding-block-end:0}.timeline-list>li:before{content:"";inset-inline-start:calc(var(--timeline-axis) - 1px);top:var(--timeline-top);background:var(--section-accent,var(--accent));width:2px;position:absolute;bottom:0}.timeline-list>li:after{content:"";inset-inline-start:0;top:var(--timeline-top);width:calc(var(--timeline-axis) * 2);height:calc(var(--timeline-axis) * 2);background:var(--section-accent,var(--accent));border-radius:50%;position:absolute}.timeline-list--marked{--timeline-axis:20px;--timeline-top:0px}.timeline-list--marked>li:before{top:calc(var(--timeline-axis) * 2)}.timeline-list--marked>li:after{display:none}.timeline-marker{inset-inline-start:0;width:calc(var(--timeline-axis) * 2);height:calc(var(--timeline-axis) * 2);border:2px solid var(--section-accent,var(--accent));background:var(--paper);color:var(--accent-ink);font-family:var(--mono);border-radius:50%;place-items:center;font-size:11px;font-weight:600;line-height:1;display:grid;position:absolute;top:0}.timeline-marker svg,.timeline-marker img{width:60%;height:60%;display:block}.card-grid{grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--card-min,11rem)), 1fr));gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.card{--ink:var(--card-ink);--ink-2:var(--card-ink);--ink-3:var(--card-ink);padding:var(--space-4) var(--space-4) var(--space-4) var(--space-6);border-radius:var(--radius);color:var(--ink);background:var(--section-tint,var(--rail));position:relative}.card:before{content:"";border-radius:var(--radius) 0 0 var(--radius);background:var(--section-accent,var(--accent));width:3px;position:absolute;inset:0 auto 0 0}.card>:first-child{margin-top:0}.card>:last-child{margin-bottom:0}.card a{color:var(--ink)}.card a:hover{color:var(--accent-ink)}.chip-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chip{border:1px solid var(--rule);color:var(--ink-2);font-family:var(--mono);border-radius:999px;align-items:center;gap:5px;padding:1px 8px;font-size:12px;line-height:1.6;display:inline-flex}.chip .nerd-icon{color:var(--section-accent,var(--accent));font-size:12px}.read-progress{display:none}@supports (animation-timeline:scroll()){.read-progress{z-index:5;background:var(--accent-band);transform-origin:0;height:3px;animation:linear both read-progress scroll(root);display:block;position:fixed;inset:0 0 auto;transform:scaleX(0)}@keyframes read-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}}@media (prefers-reduced-motion:reduce){.read-progress{display:none}}@media print{.accent-band,.masthead--band:after,.timeline-list>li:before,.timeline-list>li:after,.card:before,.read-progress,.pager{display:none}.card{background:0 0;border:1px solid #93a1a1}.timeline-marker{border-color:#93a1a1}}@media (forced-colors:active){.accent-band,.masthead--band:after,.timeline-list>li:before,.timeline-list>li:after,.card:before,.read-progress{background:canvastext}.timeline-marker,.chip{border-color:canvastext}.card{outline:1px solid canvastext}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.masthead--plain{border-bottom:0}.section-label{margin:0 0 var(--space-3);font-family:var(--sans);font-size:var(--text-small);letter-spacing:0;text-transform:none;color:var(--ink-3);font-weight:600}.numeric{font-variant-numeric:tabular-nums;white-space:nowrap}.panel{--ink:var(--panel-ink);--ink-2:var(--panel-ink);--ink-3:var(--panel-ink);padding:var(--space-4) var(--space-6);color:var(--ink);background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-lg);box-shadow:var(--elevation)}.panel>:last-child{margin-bottom:0}.panel+.panel{margin-top:var(--space-4)}.panel-title{font-size:var(--text-body);color:var(--ink);margin:0;font-weight:600;line-height:1.4;display:block}.panel-description{font-size:var(--text-small);color:var(--ink-3);margin:0;line-height:1.45;display:block}.panel-rows{margin:0;padding:0;list-style:none;overflow:hidden}.panel-rows>li{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-6);padding:var(--space-4) var(--space-6);flex-wrap:wrap;display:flex}.panel-rows>li>:first-child{flex:16rem;min-width:0}.panel-rows>li+li{border-top:1px solid var(--panel-divider)}.panel-rows table{border-collapse:collapse;width:100%;margin:0}.panel-rows th,.panel-rows td{padding:var(--space-4) var(--space-6);text-align:start;vertical-align:middle;font-weight:inherit;border:0}.panel-rows tr+tr>*{border-top:1px solid var(--panel-divider)}.panel-rows td:last-child{text-align:end}.status[data-state=ok]{--status-color:var(--solarized-green);--status-tint:var(--tint-green)}.status[data-state=warn]{--status-color:var(--solarized-yellow);--status-tint:var(--tint-yellow)}.status[data-state=down]{--status-color:var(--solarized-red);--status-tint:var(--tint-red)}.status[data-state=info]{--status-color:var(--solarized-blue);--status-tint:var(--tint-blue)}.status[data-state]:before{vertical-align:.08em;background:var(--status-color);border-radius:50%;width:.55em;height:.55em}.status--pill{align-items:center;gap:var(--space-2);padding:2px var(--space-3);white-space:nowrap;color:var(--card-ink);background:var(--status-tint,var(--rail));border-radius:999px;display:inline-flex}.status--pill:before{margin-right:0}.callout{align-items:flex-start;gap:var(--space-4);--callout-color:var(--solarized-blue);--callout-tint:var(--tint-blue);display:flex}.callout[data-state=ok]{--callout-color:var(--solarized-green);--callout-tint:var(--tint-green)}.callout[data-state=warn]{--callout-color:var(--solarized-yellow);--callout-tint:var(--tint-yellow)}.callout[data-state=down]{--callout-color:var(--solarized-red);--callout-tint:var(--tint-red)}.callout-icon{width:28px;height:28px;font-family:var(--mono);color:var(--callout-color);background:var(--callout-tint);border-radius:50%;flex:none;place-items:center;margin-top:2px;font-weight:600;line-height:1;display:grid}.callout-title{margin:0 0 var(--space-1);font-family:var(--sans);letter-spacing:-.01em;text-transform:none;color:var(--ink);font-size:1.25rem;font-weight:600;line-height:1.3}.callout p{margin:0}.callout--tinted{--ink:var(--card-ink);--ink-2:var(--card-ink);--ink-3:var(--card-ink);color:var(--card-ink);background:var(--callout-tint);border-inline-start:4px solid var(--callout-color)}.callout--tinted .callout-icon{background:var(--panel);box-shadow:inset 0 0 0 2px var(--callout-color)}.panel-rows>li[data-state=ok],.panel-rows tr[data-state=ok]{--row-color:var(--solarized-green);--row-tint:var(--tint-green)}.panel-rows>li[data-state=warn],.panel-rows tr[data-state=warn]{--row-color:var(--solarized-yellow);--row-tint:var(--tint-yellow)}.panel-rows>li[data-state=down],.panel-rows tr[data-state=down]{--row-color:var(--solarized-red);--row-tint:var(--tint-red)}.panel-rows>li[data-state=info],.panel-rows tr[data-state=info]{--row-color:var(--solarized-blue);--row-tint:var(--tint-blue)}.panel-rows>li[data-accent],.panel-rows tr[data-accent]{--row-color:var(--section-accent);--row-tint:var(--section-tint)}.panel-rows>li:is([data-state],[data-accent]),.panel-rows tr:is([data-state],[data-accent]){--ink:var(--card-ink);--ink-2:var(--card-ink);--ink-3:var(--card-ink);color:var(--card-ink)}.panel-rows>li:is([data-state],[data-accent]),.panel-rows tr:is([data-state],[data-accent])>*{background:var(--row-tint)}.panel-rows>li:is([data-state],[data-accent]),.panel-rows tr:is([data-state],[data-accent])>:first-child{box-shadow:inset 6px 0 0 var(--row-color)}.panel-rows>li:is([data-state],[data-accent]):dir(rtl),.panel-rows tr:is([data-state],[data-accent]):dir(rtl)>:first-child{box-shadow:inset -6px 0 0 var(--row-color)}.panel-rows>li:is([data-state],[data-accent])+li:is([data-state],[data-accent]),.panel-rows tr:is([data-state],[data-accent])+tr:is([data-state],[data-accent])>*{border-top-color:var(--panel)}.panel-rows :is(li,tr):is([data-state],[data-accent]) .status--pill{background:var(--panel);box-shadow:inset 0 0 0 2px var(--status-color,var(--row-color))}@media (width<=560px){.table--stack,.table--stack tbody,.table--stack tr,.table--stack th,.table--stack td{display:block}.table--stack thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.table--stack tr{align-items:baseline;gap:var(--space-1) var(--space-4);padding:var(--space-4);flex-wrap:wrap;display:flex}.table--stack tr+tr{border-top:1px solid var(--panel-divider)}.table--stack tr>*{text-align:start;padding:0}.table--stack td{font-size:var(--text-small)}.panel-rows .table--stack tr+tr>*,.panel-rows .table--stack td:last-child{text-align:start;border-top:0}.table--stack th{flex:100%}.panel-rows .table--stack tr:is([data-state],[data-accent]){background:var(--row-tint);box-shadow:inset 6px 0 0 var(--row-color)}.panel-rows .table--stack tr:is([data-state],[data-accent]):dir(rtl){box-shadow:inset -6px 0 0 var(--row-color)}.panel-rows .table--stack tr:is([data-state],[data-accent])>*{box-shadow:none;background:0 0}.panel-rows .table--stack tr:is([data-state],[data-accent])+tr:is([data-state],[data-accent]){border-top-color:var(--panel)}.table--stack td[data-label]:not([data-label=""]):before{content:attr(data-label) " ";color:var(--ink-3)}.panel-rows>li,.panel{padding:var(--space-4)}.panel.panel-rows{padding:0}}@media print{.panel{box-shadow:none;background:0 0;border-color:#93a1a1}.status--pill,.panel-rows :is(li,tr):is([data-state],[data-accent]) .status--pill{box-shadow:none;background:0 0;border:1px solid #93a1a1}.callout--tinted,.panel-rows>li:is([data-state],[data-accent]),.panel-rows tr:is([data-state],[data-accent])>*{box-shadow:none;background:0 0}}@media (forced-colors:active){.panel,.panel-rows>li+li,.panel-rows tr+tr>*,.table--stack tr+tr{border-color:canvastext}.status[data-state]:before,.callout-icon{forced-color-adjust:none;color:canvas;background:canvastext}.status--pill{border:1px solid canvastext}.callout--tinted{border-inline-start-color:canvastext}.panel-rows>li:is([data-state],[data-accent]),.panel-rows tr:is([data-state],[data-accent])>:first-child,.panel-rows .table--stack tr:is([data-state],[data-accent]){border-inline-start:6px solid canvastext}}.prose{max-width:var(--measure)}.prose>:first-child{margin-top:0}.prose h2,.prose h3,.prose h4{color:var(--ink);font-weight:600}.prose h2{margin:var(--space-8) 0 var(--space-3);font-size:var(--text-section)}.prose h3{margin:var(--space-6) 0 var(--space-2);font-size:1.1875rem}.prose h4{margin:var(--space-6) 0 var(--space-2);font-size:var(--text-body)}.prose ul,.prose ol{margin:0 0 var(--space-4);padding-left:1.5em}.prose li{margin-bottom:var(--space-1)}.prose li>ul,.prose li>ol{margin:var(--space-1) 0 0}.prose blockquote{margin:0 0 var(--space-4);padding-left:var(--space-4);border-left:3px solid var(--section-accent,var(--accent));color:var(--ink-2)}.prose blockquote>:last-child,.prose li>:last-child{margin-bottom:0}.prose pre{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius);color:var(--rail-ink);background:var(--rail);font-family:var(--mono);font-size:var(--text-small);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.prose pre code{color:inherit;font-size:inherit;background:0 0;padding:0}.prose table{width:100%;margin:0 0 var(--space-4);border-collapse:collapse;font-size:var(--text-small)}.prose caption{margin-bottom:var(--space-2);text-align:left}.prose th,.prose td{padding:var(--space-2) var(--space-3) var(--space-2) 0;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}.prose th{font-weight:600}.prose img{max-width:100%;height:auto}.prose figure{margin:0 0 var(--space-4)}.prose figcaption{margin-top:var(--space-2);font-size:var(--text-small);color:var(--ink-3)}.prose hr{margin:var(--space-8) 0;border:0;border-top:1px solid var(--rule)}.prose .footnotes{margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--rule);font-size:var(--text-small)}.token:is(.comment,.prolog,.doctype,.cdata){font-style:italic}.token:is(.keyword,.atrule,.important,.tag,.selector,.builtin){font-weight:600}.token.deleted{text-decoration:line-through}.token.inserted{text-decoration:underline}@media print{.prose pre{border:1px solid #bbb}.prose blockquote,.prose th,.prose td,.prose hr,.prose .footnotes{border-color:#bbb}}@media (forced-colors:active){.prose pre{outline:1px solid canvastext}.prose blockquote{border-left-color:canvastext}}.intro .lead{margin:0 0 var(--space-3);color:var(--accent-ink);font-size:1.3125rem;font-weight:500;line-height:1.45}.intro p:not(.lead){max-width:var(--measure);margin:0}.intro-links{margin:var(--space-6) 0 0;padding:0;list-style:none}.intro-links .nerd-icon{color:var(--accent)}.intro-links .action:hover .nerd-icon{color:currentColor}.content-section .section-title{border:0}.post-year+.post-year{margin-top:var(--space-8)}.post-rows .panel-title a{text-decoration-color:var(--section-accent);text-underline-offset:4px;text-decoration-thickness:2px}.post-rows .meta{margin:0}.post-rows .meta span{display:block}.projects .entry-title{font-family:var(--mono);font-size:1rem}.projects p{margin:var(--space-2) 0 0;font-size:var(--text-small)}.post .article-header{padding-bottom:var(--space-4);border-bottom:2px solid var(--section-accent)}.post .article-header h1{letter-spacing:-.02em;font-size:2.25rem;line-height:1.15}@media (width<=700px){.post .article-header h1{font-size:1.75rem}}@media print{.intro-links{display:none}}@media (forced-colors:active){.post .article-header{border-color:canvastext}}
