:root{--bg:#fdfdfc;--fg:#1b1b19;--muted:#5e5e58;--rule:#e2e2dc;--accent:#0b5cad;--code-bg:#f2f2ee;--selection:#d6e6f7;color-scheme:light dark;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--text-xs:.8125rem;--text-s:.9375rem;--text-base:1.0625rem;--text-l:1.25rem;--text-xl:1.5rem;--text-2xl:clamp(1.75rem, 1.35rem + 2vw, 2.5rem);--leading-body:1.65;--leading-tight:1.25;--leading-code:1.5;--weight-bold:600;--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-s:1rem;--space-m:1.25rem;--space-l:1.5rem;--space-xl:2rem;--space-2xl:2.5rem;--space-3xl:3rem;--space-4xl:4rem;--radius-s:4px;--radius-m:6px;--measure:68ch;--gutter:var(--space-s)}@media (prefers-color-scheme:dark){:root{--bg:#131315;--fg:#e9e9e5;--muted:#9b9b94;--rule:#2d2d30;--accent:#85b6ea;--code-bg:#1e1e21;--selection:#21384e}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scrollbar-gutter:stable}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-body);overflow-wrap:break-word;margin:0}::selection{background:var(--selection)}main,.site-header,.site-footer{max-width:var(--measure);padding-inline:var(--gutter);margin-inline:auto}main{padding-block:var(--space-3xl) var(--space-4xl)}.site-header{padding-block:var(--space-xl) 0}.site-footer{padding-block:0 var(--space-xl)}.site-footer:before{content:"";border-top:1px solid var(--rule);margin-bottom:var(--space-xl);display:block}.site-footer p{color:var(--muted);font-size:var(--text-s);margin:0}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{padding:var(--space-2xs) var(--space-s);background:var(--bg);color:var(--fg);border:1px solid var(--rule);border-radius:var(--radius-s);z-index:10;position:absolute;top:0;left:-9999px}.skip-link:focus{left:var(--gutter);top:var(--gutter)}a{color:var(--accent);text-underline-offset:.15em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.site-header nav{gap:var(--space-2xs) var(--space-m);flex-wrap:wrap;display:flex}.site-header nav a[aria-current=page]{color:var(--fg);font-weight:var(--weight-bold);text-decoration:none}h1,h2,h3,h4{line-height:var(--leading-tight);text-wrap:balance}h1{font-size:var(--text-2xl);margin:0 0 var(--space-2xs);letter-spacing:-.015em}h2{font-size:var(--text-xl);margin:var(--space-2xl) 0 var(--space-xs)}h3{font-size:var(--text-l);margin:var(--space-xl) 0 var(--space-2xs)}h4{font-size:var(--text-base);margin:var(--space-l) 0 var(--space-3xs)}[id]{scroll-margin-top:var(--space-s)}p{margin:0 0 var(--space-m)}p,li,blockquote,figcaption{text-wrap:pretty}.subtitle{color:var(--muted);margin-bottom:var(--space-xl)}.section-label{font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:var(--space-xl) 0 var(--space-xs)}.certifications{padding-left:var(--space-m);margin:0 0 var(--space-m);color:var(--muted);font-size:var(--text-s)}.certifications ::marker{font-size:.8em}.links{padding:var(--space-m) 0 0;margin:var(--space-xl) 0 0;border-top:1px solid var(--rule);list-style:none}.links li+li{margin-top:var(--space-2xs)}.link-note{color:var(--muted);font-size:var(--text-s)}.post-meta{color:var(--muted);font-size:var(--text-s);margin:0 0 var(--space-l)}.post-list{margin:var(--space-xl) 0 0;padding:0;list-style:none}.post-list>li{margin:0 0 var(--space-xl)}.post-title{font-size:var(--text-l);margin:0}.post-list .post-meta{margin:var(--space-3xs) 0 var(--space-2xs)}.post-summary{margin:0}.glance{gap:var(--space-3xs) var(--space-m);margin:0 0 var(--space-xl);padding:var(--space-xs) var(--space-s);border:1px solid var(--rule);border-radius:var(--radius-m);font-size:var(--text-s);grid-template-columns:max-content 1fr;display:grid}.glance>div{display:contents}.glance dt{color:var(--muted)}.glance dd{margin:0}.toc{margin:0 0 var(--space-xl);padding-bottom:var(--space-m);border-bottom:1px solid var(--rule)}.toc .section-label{margin-top:0}.toc ol{font-size:var(--text-s);margin:0}.post-back{margin-top:var(--space-3xl);padding-top:var(--space-m);border-top:1px solid var(--rule);font-size:var(--text-s)}strong,b,dt{font-weight:var(--weight-bold)}blockquote{margin:var(--space-l) 0;padding:var(--space-3xs) 0 var(--space-3xs) var(--space-m);border-left:3px solid var(--rule);color:var(--muted)}blockquote>:last-child{margin-bottom:0}ul,ol{margin:0 0 var(--space-m);padding-left:var(--space-l)}li+li{margin-top:var(--space-3xs)}li>ul,li>ol{margin:var(--space-3xs) 0 0}li>p:last-child{margin-bottom:0}li::marker{color:var(--muted)}.contains-task-list{padding-left:0;list-style:none}.task-list-item input{margin:0 var(--space-2xs) 0 0;accent-color:var(--accent)}dl{margin:0 0 var(--space-m)}dd{margin:0 0 var(--space-2xs) var(--space-l)}code,kbd,samp{font-family:var(--font-mono);font-size:.9em}code{background:var(--code-bg);border-radius:var(--radius-s);padding:.15em .35em}kbd{border:1px solid var(--rule);border-radius:var(--radius-s);border-bottom-width:2px;padding:.1em .4em}pre{background:var(--code-bg);padding:var(--space-s);border-radius:var(--radius-m);margin:0 0 var(--space-m);font-size:var(--text-s);line-height:var(--leading-code);tab-size:2;overflow-x:auto}pre code{font-size:inherit;background:0 0;padding:0}mark{background:var(--selection);color:inherit;padding:0 .15em}sup,sub{line-height:0}abbr[title]{text-underline-offset:.15em;cursor:help;text-decoration:underline dotted}hr{margin:var(--space-2xl) 0;border:0;border-top:1px solid var(--rule)}img,video{max-width:100%;height:auto;display:block}figure{margin:var(--space-l) 0}figcaption{color:var(--muted);font-size:var(--text-s);margin-top:var(--space-2xs)}details{margin:0 0 var(--space-m)}summary{cursor:pointer;font-weight:var(--weight-bold)}details[open]>summary{margin-bottom:var(--space-2xs)}table{border-collapse:collapse;width:100%;margin:var(--space-l) 0;font-size:var(--text-s);display:block;overflow-x:auto}th,td{text-align:left;vertical-align:top;padding:var(--space-2xs) var(--space-xs);border-bottom:1px solid var(--rule)}th{font-weight:var(--weight-bold)}time{color:var(--muted);white-space:nowrap}.footnotes{margin-top:var(--space-3xl);padding-top:var(--space-m);border-top:1px solid var(--rule);color:var(--muted);font-size:var(--text-s)}.footnotes :target{background:var(--selection);color:var(--fg)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{:root{color-scheme:light;--bg:Canvas;--fg:CanvasText;--muted:CanvasText;--rule:GrayText;--accent:CanvasText;--code-bg:Canvas}.skip-link,.site-header,.post-back{display:none}main{padding-block:0}article a[href^=http]:after{content:" (" attr(href) ")";font-size:var(--text-s);overflow-wrap:anywhere}pre,blockquote,figure,table{break-inside:avoid}pre{border:1px solid var(--rule);white-space:pre-wrap}h1,h2,h3,h4{break-after:avoid}}
