@charset "UTF-8";@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/source-sans-3-latin-400-normal-DQi5PRDE.woff2) format("woff2")}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/source-sans-3-latin-600-normal-DeckBYAU.woff2) format("woff2")}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/source-sans-3-latin-700-normal-CkzU-mV9.woff2) format("woff2")}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/source-serif-4-latin-400-normal-DJ5YJwmz.woff2) format("woff2")}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/source-serif-4-latin-400-italic-0j97Jm6B.woff2) format("woff2")}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/source-serif-4-latin-700-normal-CGGdTIBe.woff2) format("woff2")}:root{--su-black: #2E2D29;--su-white: #FFFFFF;--su-cool-grey: #53565A;--su-black-90: #43423E;--su-black-80: #585754;--su-black-60: #767674;--su-black-50: #979694;--su-black-20: #D5D5D4;--su-black-10: #EAEAEA;--su-palo-alto: #175E54;--su-palo-alto-dark: #014240;--su-palo-alto-light: #59B3A9;--su-poppy: #E98300;--su-digital-blue: #006CB8;--su-digital-blue-light: #6FC3FF;--su-digital-blue-dark: #00548F;--su-digital-red: #B1040E;--su-plum: #620059;--su-fog: #DAD7CB;--su-fog-light: #F4F4F4;--su-bg: var(--su-white);--su-bg-subtle: var(--su-fog-light);--su-surface: var(--su-white);--su-accent-subtle: #EAF2F0;--su-text: var(--su-black);--su-text-muted: var(--su-cool-grey);--su-text-subtle: var(--su-black-60);--su-text-inverse: var(--su-white);--su-text-on-accent: var(--su-white);--su-border: var(--su-black-20);--su-border-strong: var(--su-black-60);--su-accent: var(--su-palo-alto);--su-accent-hover: var(--su-palo-alto-dark);--su-accent-text: var(--su-palo-alto);--su-link: var(--su-digital-blue);--su-link-hover: var(--su-digital-blue-dark);--su-link-visited: var(--su-plum);--su-danger: var(--su-digital-red);--su-code-bg: var(--su-fog-light);--su-focus: var(--su-digital-blue-dark);--su-focus-width: 3px;--su-focus-offset: 2px;--su-band: var(--su-palo-alto-dark);--su-band-text: var(--su-white);--su-band-text-muted: var(--su-fog);--su-band-accent: var(--su-palo-alto-light);--su-band-link: var(--su-digital-blue-light);--su-band-link-hover: #9FD8FF;--su-warm: var(--su-poppy);--su-font-sans: "Source Sans 3", "Helvetica Neue", Helvetica, Arial, sans-serif;--su-font-serif: "Source Serif 4", Georgia, Times, "Times New Roman", serif;--su-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--su-text-xs: .75rem;--su-text-sm: .875rem;--su-text-base: 1rem;--su-text-lg: 1.125rem;--su-text-xl: 1.25rem;--su-text-2xl: 1.5rem;--su-text-3xl: 1.875rem;--su-text-4xl: 2.25rem;--su-text-5xl: 2.75rem;--su-weight-normal: 400;--su-weight-semibold: 600;--su-weight-bold: 700;--su-leading-tight: 1.2;--su-leading-snug: 1.3;--su-leading-normal: 1.5;--su-leading-relaxed: 1.7;--su-measure: 66ch;--su-measure-wide: 46rem;--su-space-1: .25rem;--su-space-2: .5rem;--su-space-3: .75rem;--su-space-4: 1rem;--su-space-5: 1.5rem;--su-space-6: 2rem;--su-space-7: 3rem;--su-space-8: 4rem;--su-radius-sm: 2px;--su-radius: 4px;--su-radius-lg: 8px;--su-radius-full: 999px;--su-duration: .15s;--su-ease: cubic-bezier(.4, 0, .2, 1);--su-target-min: 24px;--su-target-comfortable: 44px;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--su-bg: #1C1B19;--su-bg-subtle: var(--su-black);--su-surface: var(--su-black);--su-accent-subtle: #1F3330;--su-text: var(--su-fog-light);--su-text-muted: var(--su-fog);--su-text-subtle: var(--su-black-50);--su-text-inverse: var(--su-black);--su-text-on-accent: var(--su-black);--su-border: var(--su-black-80);--su-border-strong: var(--su-black-50);--su-accent: var(--su-palo-alto-light);--su-accent-hover: #7FCFC3;--su-accent-text: var(--su-palo-alto-light);--su-link: var(--su-digital-blue-light);--su-link-hover: #9FD8FF;--su-link-visited: #D9A8D4;--su-danger: #FF8A80;--su-code-bg: #24231F;--su-focus: var(--su-digital-blue-light);color-scheme:dark}}:root[data-theme=dark]{--su-bg: #1C1B19;--su-bg-subtle: var(--su-black);--su-surface: var(--su-black);--su-accent-subtle: #1F3330;--su-text: var(--su-fog-light);--su-text-muted: var(--su-fog);--su-text-subtle: var(--su-black-50);--su-text-inverse: var(--su-black);--su-text-on-accent: var(--su-black);--su-border: var(--su-black-80);--su-border-strong: var(--su-black-50);--su-accent: var(--su-palo-alto-light);--su-accent-hover: #7FCFC3;--su-accent-text: var(--su-palo-alto-light);--su-link: var(--su-digital-blue-light);--su-link-hover: #9FD8FF;--su-link-visited: #D9A8D4;--su-danger: #FF8A80;--su-code-bg: #24231F;--su-focus: var(--su-digital-blue-light);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--su-space-6)}body{margin:0;background:var(--su-bg);color:var(--su-text);font-family:var(--su-font-sans);font-size:var(--su-text-base);line-height:var(--su-leading-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}:focus-visible{outline:var(--su-focus-width) solid var(--su-focus);outline-offset:var(--su-focus-offset);border-radius:var(--su-radius-sm)}a{color:var(--su-link);text-decoration:underline;text-underline-offset:.15em}a:hover{color:var(--su-link-hover)}a:visited{color:var(--su-link-visited)}h1,h2,h3,h4,h5,h6{font-family:var(--su-font-sans);font-weight:var(--su-weight-bold);line-height:var(--su-leading-tight);letter-spacing:-.01em;margin:0 0 var(--su-space-3);text-wrap:balance}h1{font-size:var(--su-text-4xl)}h2{font-size:var(--su-text-3xl)}h3{font-size:var(--su-text-2xl)}h4{font-size:var(--su-text-xl)}h5{font-size:var(--su-text-lg)}h6{font-size:var(--su-text-base)}p{margin:0 0 var(--su-space-4)}img,svg,video,canvas,table{max-width:100%}img{height:auto}button{font-family:inherit;font-size:inherit;min-height:var(--su-target-min);min-width:var(--su-target-min)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(forced-colors:active){:focus-visible{outline:3px solid Highlight}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:absolute;left:-9999px;top:0;z-index:10;padding:var(--su-space-3) var(--su-space-4);background:var(--su-band-accent);color:var(--su-black);font-weight:var(--su-weight-semibold)}.skip-link:focus{left:var(--su-space-3);top:var(--su-space-3);color:var(--su-black)}.wrap{width:100%;max-width:var(--su-measure-wide);margin-inline:auto;padding-inline:var(--su-space-5)}.page{min-height:100vh;display:flex;flex-direction:column}.site-header{background:var(--su-band);border-top:4px solid var(--su-warm);padding-block:var(--su-space-4)}.site-header__inner{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--su-space-4);justify-content:space-between}.site-header__name{display:inline-flex;align-items:center;gap:var(--su-space-2);font-size:var(--su-text-lg);font-weight:var(--su-weight-bold);letter-spacing:-.01em;color:var(--su-band-text);text-decoration:none}.site-header__name:hover,.site-header__name:visited{color:var(--su-band-text)}.site-header__name:hover{text-decoration:underline}.site-nav{display:flex;flex-wrap:wrap;align-items:center;gap:var(--su-space-3) var(--su-space-4)}.site-nav a{color:var(--su-band-text-muted);text-decoration:none;padding-block:var(--su-space-1)}.site-nav a:hover,.site-nav a:visited{color:var(--su-band-text-muted)}.site-nav a:hover{color:var(--su-band-text);text-decoration:underline}.site-nav a[aria-current=page]{color:var(--su-band-text);font-weight:var(--su-weight-semibold);box-shadow:inset 0 -2px 0 0 var(--su-band-accent)}.site-header :focus-visible,.site-footer :focus-visible{outline-color:var(--su-band-link)}.site-main{flex:1}.site-main:focus{outline:none}.page-body{padding-block:var(--su-space-7) var(--su-space-8)}.hero{position:relative;overflow:hidden;background:var(--su-accent-subtle);border-bottom:1px solid var(--su-border);padding-block:var(--su-space-7)}.hero>.wrap{position:relative}.hero__watermark{position:absolute;right:-3rem;top:50%;transform:translateY(-50%);color:var(--su-accent);opacity:.08;pointer-events:none}@media(max-width:52rem){.hero__watermark{display:none}}.site-footer{background:var(--su-band);padding-block:var(--su-space-6);color:var(--su-band-text-muted);font-size:var(--su-text-sm)}.site-footer a{color:var(--su-band-link)}.site-footer a:hover{color:var(--su-band-link-hover)}.site-footer a:visited{color:var(--su-band-link)}.site-footer p{margin-bottom:var(--su-space-2)}.site-footer ul{list-style:none;display:flex;flex-wrap:wrap;gap:var(--su-space-4);margin:0 0 var(--su-space-3);padding:0}.theme-toggle{display:inline-flex;align-items:center;gap:var(--su-space-2);min-height:var(--su-target-comfortable);padding:var(--su-space-1) var(--su-space-3);background:transparent;border:1px solid var(--su-band-accent);border-radius:var(--su-radius);color:var(--su-band-text-muted);cursor:pointer}.theme-toggle:hover{color:var(--su-band-text);border-color:var(--su-band-text)}.intro{max-width:var(--su-measure)}.intro h1{font-size:var(--su-text-5xl);margin-bottom:var(--su-space-4)}.intro__lede{font-family:var(--su-font-serif);font-size:var(--su-text-xl);line-height:1.45;color:var(--su-accent-text)}.intro__note{color:var(--su-text-muted);font-size:var(--su-text-sm);margin-top:var(--su-space-5)}.section-heading{display:flex;align-items:center;gap:var(--su-space-4);font-size:var(--su-text-base);font-weight:var(--su-weight-semibold);color:var(--su-accent-text);margin-bottom:var(--su-space-4)}.section-heading:after{content:"";flex:1;height:1px;background:var(--su-border)}.post-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--su-space-5)}.post-card__link{display:grid;grid-template-columns:15rem 1fr;gap:var(--su-space-5);align-items:start;padding:var(--su-space-4);border:1px solid var(--su-border);border-radius:var(--su-radius-lg);text-decoration:none;color:inherit;background:var(--su-bg);transition:border-color var(--su-duration) var(--su-ease),background-color var(--su-duration) var(--su-ease)}.post-card__link:visited{color:inherit}.post-card__link:hover,.post-card__link:focus-visible{border-color:var(--su-accent);background:var(--su-accent-subtle)}.post-card__media{overflow:hidden;border-radius:var(--su-radius);aspect-ratio:16/9;background:var(--su-bg-subtle)}.post-thumb{display:block;width:100%;height:100%;object-fit:cover}.post-card__body{min-width:0}.post-card__meta{display:flex;flex-wrap:wrap;gap:var(--su-space-2) var(--su-space-4);margin:0 0 var(--su-space-2);font-size:var(--su-text-sm);color:var(--su-text-muted);font-variant-numeric:tabular-nums}.post-card__byline{color:var(--su-accent-text);font-weight:var(--su-weight-semibold)}.post-card__title{font-size:var(--su-text-2xl);margin-bottom:var(--su-space-2);color:var(--su-text);text-decoration:underline;text-decoration-color:var(--su-border-strong);text-underline-offset:.15em}.post-card__link:hover .post-card__title,.post-card__link:focus-visible .post-card__title{text-decoration-color:var(--su-accent-text)}.post-card__summary{max-width:var(--su-measure);color:var(--su-text-muted);margin-bottom:0}.post-card__tags{list-style:none;display:flex;flex-wrap:wrap;gap:var(--su-space-2);margin:var(--su-space-3) 0 0;padding:0}.post-card__tags li{padding:0 var(--su-space-2);border:1px solid var(--su-border);border-radius:var(--su-radius-full);font-size:var(--su-text-xs);color:var(--su-text-muted)}@media(max-width:44rem){.post-card__link{grid-template-columns:1fr}}.draft-flag{display:inline-block;margin-left:var(--su-space-2);padding:0 var(--su-space-2);border:1px solid var(--su-danger);border-radius:var(--su-radius-sm);color:var(--su-danger);font-family:var(--su-font-sans);font-size:var(--su-text-xs);font-weight:var(--su-weight-semibold);text-decoration:none;vertical-align:middle}.post-header{max-width:var(--su-measure);margin-bottom:var(--su-space-6)}.post-header h1{font-size:var(--su-text-5xl);margin-bottom:var(--su-space-4)}.post-header__summary{font-family:var(--su-font-serif);font-size:var(--su-text-xl);line-height:1.45;color:var(--su-text-muted);margin-bottom:var(--su-space-4)}.post-meta{display:flex;flex-wrap:wrap;gap:var(--su-space-2) var(--su-space-5);padding-block:var(--su-space-3);border-top:1px solid var(--su-border);border-bottom:1px solid var(--su-border);font-size:var(--su-text-sm);color:var(--su-text-muted)}.post-meta__item{display:flex;gap:var(--su-space-2)}.post-meta__label{color:var(--su-text-subtle)}.post-meta time{font-variant-numeric:tabular-nums}.post-hero{margin-bottom:var(--su-space-6)}.post-hero img{display:block;max-width:100%;height:auto;margin-inline:auto;border-radius:var(--su-radius)}.tag-list{list-style:none;display:flex;flex-wrap:wrap;gap:var(--su-space-2);margin:var(--su-space-6) 0 0;padding:0}.tag-list li{padding:var(--su-space-1) var(--su-space-3);background:var(--su-accent-subtle);border-radius:var(--su-radius);font-size:var(--su-text-sm);color:var(--su-accent-text)}.post-footer{max-width:var(--su-measure);margin-top:var(--su-space-7);padding-top:var(--su-space-5);border-top:1px solid var(--su-border)}.notice{max-width:var(--su-measure);margin-bottom:var(--su-space-6);padding:var(--su-space-4) var(--su-space-5);background:var(--su-accent-subtle);border-left:4px solid var(--su-accent);border-radius:0 var(--su-radius) var(--su-radius) 0}.notice p:last-child{margin-bottom:0}.notice strong{font-weight:var(--su-weight-semibold)}@media(max-width:34rem){:root{--su-text-5xl: 2rem;--su-text-4xl: 1.75rem}}.prose{max-width:var(--su-measure);font-family:var(--su-font-serif);font-size:var(--su-text-lg);line-height:var(--su-leading-relaxed);color:var(--su-text)}.prose>*+*{margin-top:var(--su-space-4)}.prose h2,.prose h3,.prose h4{font-family:var(--su-font-sans);margin-top:var(--su-space-7);margin-bottom:var(--su-space-3);scroll-margin-top:var(--su-space-5)}.prose h2{font-size:var(--su-text-3xl);color:var(--su-accent-text)}.prose h3{font-size:var(--su-text-2xl)}.prose h4{font-size:var(--su-text-xl)}.heading-anchor{margin-left:var(--su-space-2);color:var(--su-text-subtle);text-decoration:none;font-weight:var(--su-weight-normal)}.heading-anchor:hover,.heading-anchor:focus-visible{color:var(--su-link-hover);text-decoration:underline}.heading-anchor:visited{color:var(--su-text-subtle)}.prose ul,.prose ol{padding-left:var(--su-space-5)}.prose li+li{margin-top:var(--su-space-2)}.prose li>ul,.prose li>ol{margin-top:var(--su-space-2)}.prose strong{font-weight:var(--su-weight-bold)}.prose blockquote{margin-inline:0;padding:var(--su-space-4) var(--su-space-5);background:var(--su-accent-subtle);border-left:3px solid var(--su-accent);color:var(--su-text);font-style:italic}.prose blockquote>:last-child{margin-bottom:0}.prose hr{border:0;border-top:1px solid var(--su-border);margin-block:var(--su-space-7)}.prose-figure{margin:var(--su-space-6) 0}.prose-figure img{display:block;max-width:100%;height:auto;margin-inline:auto;border-radius:var(--su-radius)}.prose-figure video{display:block;width:100%;height:auto;border-radius:var(--su-radius);background:#000}.prose-figure audio{display:block;width:100%}.prose-figure figcaption{margin-top:var(--su-space-2);font-family:var(--su-font-sans);font-size:var(--su-text-sm);line-height:var(--su-leading-snug);color:var(--su-text-muted)}.prose table{border-collapse:collapse;width:100%;font-family:var(--su-font-sans);font-size:var(--su-text-base)}.prose th,.prose td{padding:var(--su-space-2) var(--su-space-3);border-bottom:1px solid var(--su-border);text-align:left;vertical-align:top}.prose th{font-weight:var(--su-weight-semibold)}.prose .table-scroll{overflow-x:auto}.prose :not(pre)>code{font-family:var(--su-font-mono);font-size:.9em;padding:.1em .35em;background:var(--su-code-bg);border:1px solid var(--su-border);border-radius:var(--su-radius-sm);overflow-wrap:break-word}.prose pre{margin:var(--su-space-5) 0;padding:var(--su-space-4);border:1px solid var(--su-border);border-radius:var(--su-radius);overflow-x:auto;font-size:var(--su-text-sm);line-height:var(--su-leading-normal)}.prose pre code{font-family:var(--su-font-mono);display:block}.shiki,.shiki span{color:var(--shiki-light);background-color:var(--shiki-light-bg)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .shiki,:root:not([data-theme=light]) .shiki span{color:var(--shiki-dark);background-color:var(--shiki-dark-bg)}}:root[data-theme=dark] .shiki,:root[data-theme=dark] .shiki span{color:var(--shiki-dark);background-color:var(--shiki-dark-bg)}.code-block{position:relative}.code-block pre{padding-top:calc(var(--su-space-4) + 1.75rem)}.code-block__copy{position:absolute;top:var(--su-space-3);right:var(--su-space-3);min-height:var(--su-target-min);padding:var(--su-space-1) var(--su-space-3);background:var(--su-bg);color:var(--su-text-muted);border:1px solid var(--su-border-strong);border-radius:var(--su-radius);font-family:var(--su-font-sans);font-size:var(--su-text-xs);cursor:pointer}.code-block__copy:hover{color:var(--su-text);border-color:var(--su-text)}@media(max-width:34rem){.prose pre{white-space:pre-wrap;overflow-wrap:anywhere}}
