/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
/*! Hallmark · hero: Index (/), Banner (/about), Banner (/projects), Banner (/blog), Banner (/blog/welcome-to-my-vim-like-portfolio), Banner (/contact), Banner (/help), Ledge (/exited) · posture: committed · job: hire · the stamp above, kept through the Tailwind build for the render tier */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--text-xs:.8125rem;--text-sm:.875rem;--text-lg:1.25rem;--text-xl:1.5625rem;--text-2xl:1.953rem;--text-3xl:2.441rem;--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--text-md:1rem;--text-display-s:clamp(2.25rem, 4vw + .5rem, 3.75rem);--text-display:clamp(2.75rem, 5vw + 1rem, 5.25rem);--text-section:clamp(2rem, 2.5vw + 1rem, 3.5rem);--text-title:clamp(1.25rem, .75vw + .875rem, 1.625rem);--text-lead:clamp(1.125rem, .35vw + 1rem, 1.375rem);--color-error:oklch(72% .15 27);--color-success:oklch(76% .13 150);--color-paper:oklch(12.5% .012 150);--color-paper-2:oklch(16% .016 150);--color-paper-3:oklch(20.5% .022 150);--color-ink:oklch(94% .03 140);--color-ink-2:oklch(82% .05 142);--color-muted:oklch(64% .06 145);--color-rule:oklch(27% .028 148);--color-rule-2:oklch(38% .045 146);--color-accent:oklch(87% .2 142);--color-accent-ink:oklch(14% .02 150);--color-focus:oklch(87% .2 142);--color-accent-wash:oklch(23% .06 145);--font-display:"Martian Mono", ui-monospace, monospace;--font-body:var(--font-display);--font-outlier:var(--font-display);--radius-card:0;--radius-pill:0;--shadow-card:none;--tracking-display:-.02em}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:before,:after{box-sizing:border-box}html,body{overflow-x:clip}html{scrollbar-color:var(--color-muted) var(--color-paper);scroll-padding-top:var(--space-3xl)}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-md);-webkit-font-smoothing:antialiased;caret-color:var(--color-accent);margin:0;line-height:1.55}::selection{background:#7ef47338}@supports (color:color-mix(in lab, red, red)){::selection{background:color-mix(in oklab, var(--color-accent) 22%, transparent)}}::selection{color:var(--color-ink)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}a{color:inherit;text-underline-offset:.16em;text-decoration-thickness:1px}h1,h2,h3{font-family:var(--font-display);font-weight:var(--display-weight,700);font-synthesis:none;letter-spacing:var(--tracking-display);overflow-wrap:break-word;text-wrap:balance;min-width:0;margin:0;line-height:1.05}h1{max-width:20ch;font-size:var(--text-display)}h2{max-width:30ch;font-size:var(--text-section)}h3{max-width:40ch;font-size:var(--text-title);line-height:1.2}.lead{font-size:var(--text-lead);max-width:52ch;line-height:1.45}p{text-wrap:pretty;margin:0}p:not([class]){max-width:65ch}img,video{max-width:100%;height:auto;display:block}svg{display:block}[hidden]{display:none!important}button,input,select,textarea{font:inherit}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);box-sizing:border-box;margin-inline:auto}.num,.figure,td.num{font-variant-numeric:tabular-nums}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}[data-slot]{background:linear-gradient(160deg, var(--color-paper-2,var(--color-paper)), var(--color-paper-3,var(--color-paper)));position:relative;overflow:hidden}[data-slot]>img{object-fit:cover;z-index:1;width:100%;height:100%;position:absolute;inset:0}[data-slot]:has(>img)>:not(img):not([data-keep]){display:none!important}@media (prefers-reduced-motion:reduce){:not(.keep-motion),:not(.keep-motion):before,:not(.keep-motion):after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}[data-slot]:has(>img){isolation:isolate;background:var(--color-accent);outline:1px solid #e1f1de14}@supports (color:color-mix(in lab, red, red)){[data-slot]:has(>img){outline:1px solid color-mix(in oklab, var(--color-ink) 8%, transparent)}}[data-slot]:has(>img){outline-offset:-1px}[data-slot]>img{z-index:0;filter:grayscale()contrast(1.2);mix-blend-mode:multiply}[data-slot]:has(>img):before{content:"";z-index:1;background:var(--color-paper);mix-blend-mode:lighten;pointer-events:none;position:absolute;inset:0}}@layer components;@layer utilities{.visible{visibility:visible}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.border{border-style:var(--tw-border-style);border-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{color-scheme:dark;--space-3xs:2px;--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:40px;--space-2xl:64px;--space-3xl:96px;--space-4xl:144px;--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--container:1440px;--gutter:64px;--gap-columns:32px;--section-gap-s:120px;--section-gap:144px;--section-gap-l:176px;--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-sticky-nav:300;--z-modal:400;--z-toast:500;--z-tooltip:600;--glyph-0:oklch(30% .06 146);--glyph-1:oklch(38% .08 145);--glyph-2:oklch(47% .11 144);--glyph-3:oklch(57% .14 143);--glyph-4:oklch(67% .17 142);--glyph-5:oklch(77% .19 142);--glyph-6:oklch(86% .2 141);--glyph-7:oklch(94% .12 138);--rule-hair:1px;--display-weight:500;--stretch-display:112.5%;--stretch-body:87.5%}@media (width<=60rem){:root{--gutter:24px;--section-gap-s:80px;--section-gap:96px;--section-gap-l:120px}}@media (width<=40rem){:root{--gutter:16px;--section-gap-s:56px;--section-gap:72px;--section-gap-l:96px;--gap-columns:16px}}@font-face{font-family:Martian Mono;font-style:normal;font-weight:400 700;font-stretch:75% 112.5%;font-display:swap;src:url(/fonts/martian-mono-latin-ext.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Martian Mono;font-style:normal;font-weight:400 700;font-stretch:75% 112.5%;font-display:swap;src:url(/fonts/martian-mono-latin.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{--nav-h:56px;--status-h:36px;--measure:65ch}body{min-height:100dvh;padding-bottom:var(--status-h);font-stretch:var(--stretch-body);flex-direction:column;font-weight:400;line-height:1.65;display:flex}h1,h2,h3{font-stretch:var(--stretch-display);line-height:1.12}h1{max-width:24ch;font-size:var(--text-display-s)}h2{max-width:30ch;font-size:var(--text-section)}h3{max-width:48ch}b,strong{font-weight:500}a{color:var(--color-ink-2);text-underline-offset:.2em;transition:color var(--dur-micro) steps(1);text-decoration-line:underline;text-decoration-style:dotted;text-decoration-thickness:1px}a:hover{color:var(--color-accent)}a:active{color:var(--color-ink)}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.hidden{display:none!important}.muted{color:var(--color-muted)}.skip{top:calc(-1 * var(--space-3xl));left:var(--space-md);z-index:var(--z-toast);padding:var(--space-xs) var(--space-md);background:var(--color-accent);color:var(--color-accent-ink);text-decoration:none;position:absolute}.skip:focus-visible{top:var(--space-md)}.buffer{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}main{flex:1;min-width:0}.gutter{width:var(--space-xl);padding:var(--space-md) var(--space-xs) 0 0;color:var(--color-rule-2);font-size:var(--text-sm);text-align:right;-webkit-user-select:none;user-select:none;line-height:1.65;display:none;position:absolute;inset-block:0;inset-inline-start:0;overflow:hidden}@media (width>=75rem){.gutter{display:block}}.slab{z-index:var(--z-sticky-nav);background:var(--color-paper-2);border-bottom:var(--rule-hair) solid var(--color-rule-2);position:sticky;top:0}.slab__bar{justify-content:space-between;align-items:stretch;gap:var(--space-md);min-height:var(--nav-h);display:flex}.slab__mark{color:var(--color-ink);font-weight:500;font-stretch:var(--stretch-display);white-space:nowrap;align-items:center;text-decoration:none;display:flex}.slab__mark[aria-current=page]{color:var(--color-accent)}.slab nav{display:flex}.slab__links{align-items:stretch;margin:0;padding:0;list-style:none;display:flex}.slab__links li{display:flex}.slab__links a{padding-inline:var(--space-md);color:var(--color-ink-2);font-size:var(--text-sm);white-space:nowrap;transition:background-color var(--dur-micro) steps(1), color var(--dur-micro) steps(1);align-items:center;text-decoration:none;display:flex}.slab__links a:hover{background:var(--color-paper-3);color:var(--color-ink)}.slab__links a:active{background:var(--color-accent-wash)}.slab__links a[aria-current=page]{background:var(--color-accent-wash);color:var(--color-accent)}@media (width<=40rem){.slab__bar{flex-wrap:wrap;gap:0}.slab nav{width:100%;min-width:0}.slab__links{width:100%;margin-inline:calc(-1 * var(--space-sm));overflow-x:auto}.slab__links a{min-height:44px;padding-inline:var(--space-sm)}}.status{z-index:var(--z-sticky);align-items:stretch;gap:var(--space-md);min-height:var(--status-h);background:var(--color-paper-3);border-top:var(--rule-hair) solid var(--color-rule-2);font-size:var(--text-sm);inset-inline:0;display:flex;position:fixed;bottom:0}.status>*{align-items:center;min-width:0;display:flex}.status__mode{min-width:11ch;padding-inline:var(--space-md);background:var(--color-accent);color:var(--color-accent-ink);text-transform:lowercase;flex:none;font-weight:500}.status__command{color:var(--color-ink);white-space:nowrap;flex:1;overflow:hidden}.status__file{color:var(--color-muted);display:none}.status__position{color:var(--color-ink-2);flex:none;margin-inline-start:auto;padding-inline-end:var(--space-md)}@media (width>=40rem){.status__file{display:flex}}#search-results{inset-inline:0;bottom:var(--status-h);z-index:var(--z-dropdown);background:var(--color-paper-2);border-top:var(--rule-hair) solid var(--color-rule-2);max-height:50dvh;position:fixed;overflow-y:auto}#search-results:empty{display:none}.result{gap:var(--space-3xs);padding:var(--space-sm) var(--gutter);border-bottom:var(--rule-hair) solid var(--color-rule);color:var(--color-ink);text-decoration:none;display:grid}.result:hover,.result:focus-visible{background:var(--color-accent-wash)}.result__title{font-weight:500}.result__text{color:var(--color-muted);font-size:var(--text-sm)}.result:hover .result__text,.result:focus-visible .result__text{color:var(--color-ink-2)}.closer{margin-top:var(--space-2xl);padding-block:var(--space-lg);background:var(--color-paper-2);border-top:var(--rule-hair) solid var(--color-rule-2)}.closer>.container{align-items:baseline;gap:var(--space-xs) var(--space-xl);grid-template-columns:auto minmax(0,1fr);display:grid}.closer__line{overflow-wrap:break-word;max-width:none;font-size:clamp(.875rem, 4.4vw, var(--text-lead));font-stretch:var(--stretch-display);font-weight:500;line-height:1.12}.closer__line a{color:var(--color-ink);white-space:nowrap}.closer__line a:hover{color:var(--color-accent)}.closer__row{justify-content:flex-end;align-items:baseline;gap:var(--space-md) var(--space-xl);color:var(--color-muted);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.closer__links{gap:var(--space-xs) var(--space-lg);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.closer__links a{color:var(--color-ink-2)}.closer__links a:hover{color:var(--color-accent)}@media (width<=40rem){.closer>.container{grid-template-columns:minmax(0,1fr)}.closer__row{justify-content:space-between}}.hero{padding-block:var(--space-2xl)}.plain{padding-top:var(--space-2xl)}.hero>.container{gap:var(--space-md);display:grid}.hero--index{min-height:calc(100dvh - var(--nav-h) - var(--status-h));padding-block:var(--space-2xl);isolation:isolate;align-items:center;display:flex;position:relative}.hero--index>.container{gap:var(--space-sm)}.hero__art{z-index:-1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}@media (width<=75rem){.hero__art{display:none}}@media (width>=75rem){.hero--index .synopsis{max-width:52%}}.hero--ledge{min-height:calc(100dvh - var(--nav-h) - var(--status-h));padding-block:var(--space-2xl);align-items:flex-end;display:flex}.hero--ledge>.container{gap:var(--space-lg)}.role{column-gap:var(--space-lg);row-gap:var(--space-2xs);max-width:none;color:var(--color-ink-2);font-size:var(--text-lead);flex-wrap:wrap;line-height:1.4;display:flex}.role>:last-child{color:var(--color-muted)}.lead{color:var(--color-ink-2)}.hero--index .lead{max-width:64ch}.legend{align-items:center;gap:var(--space-xs);margin-top:var(--space-lg);color:var(--color-muted);font-size:var(--text-sm);display:flex}.comment{margin-top:var(--space-md);color:var(--color-muted);font-size:var(--text-sm)}.comment:before{content:"# "}.caret{background:var(--color-accent);vertical-align:text-bottom;width:.6em;height:1.15em;animation:1.1s step-end 5 caret;display:inline-block}@keyframes caret{50%{opacity:0}}.synopsis{border-top:var(--rule-hair) solid var(--color-rule-2);margin:0;padding:0;list-style:none}.synopsis>li{border-bottom:var(--rule-hair) solid var(--color-rule)}.synopsis__row{column-gap:var(--gap-columns);padding:var(--space-xs) var(--space-md);color:var(--color-ink-2);grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:baseline;text-decoration:none;display:grid}.cmd{color:var(--color-accent);font-size:var(--text-title);font-stretch:var(--stretch-display);overflow-wrap:break-word;font-weight:500;line-height:1.3}.cmd .arg{color:var(--color-ink-2)}@media (width<=40rem){.synopsis__row{row-gap:var(--space-3xs);grid-template-columns:minmax(0,1fr)}}.man{padding-block:var(--space-2xl);border-top:var(--rule-hair) solid var(--color-rule)}.man--tall{padding-block:var(--space-3xl)}.man>.container{column-gap:var(--gap-columns);row-gap:var(--space-xl);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid}.man h2{grid-column:1/span 4}.man__body{grid-column:5/-1;min-width:0}@media (width<=60rem){.man h2,.man__body{grid-column:1/-1}}.rows{border-top:var(--rule-hair) solid var(--color-rule-2);border-bottom:var(--rule-hair) solid var(--color-rule-2);margin:0;padding:0;list-style:none}.rows>*{padding-block:var(--space-md);border-bottom:var(--rule-hair) solid var(--color-rule)}.rows>:last-child{border-bottom:0}.rows--sentences>li{padding-block:var(--space-lg);font-size:var(--text-lead);line-height:1.5}.rows--items>li{padding-block:var(--space-md);font-size:var(--text-title);font-stretch:var(--stretch-display);font-weight:500;line-height:1.3}.rows--facts>li{column-gap:var(--gap-columns);row-gap:var(--space-3xs);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;display:grid}.rows--facts>li>:nth-child(3){grid-column:2}.rows--facts>li>:not(:first-child){color:var(--color-muted);font-size:var(--text-sm);text-align:right}.rows--facts>li>:first-child{font-weight:500}.rows--spec{display:block}.rows--spec>div{column-gap:var(--gap-columns);row-gap:var(--space-3xs);grid-template-columns:minmax(8rem,14rem) minmax(0,1fr);display:grid}.rows--spec dt{color:var(--color-ink);font-weight:500}.rows--spec dd{color:var(--color-ink-2);overflow-wrap:break-word;margin:0}@media (width<=40rem){.rows--spec>div,.rows--facts>li{grid-template-columns:minmax(0,1fr)}.rows--facts>li>:nth-child(3){grid-column:2}.rows--facts>li>:not(:first-child){text-align:left}}.job{column-gap:var(--gap-columns);row-gap:var(--space-xs);padding-block:var(--space-lg);border-bottom:var(--rule-hair) solid var(--color-rule);grid-template-columns:13rem minmax(0,1fr);display:grid}.job__when{color:var(--color-muted);font-size:var(--text-sm);line-height:1.9}.job h3{max-width:none;font-size:var(--text-lg)}.job__meta{margin-top:var(--space-2xs);color:var(--color-muted);font-size:var(--text-sm)}.job__meta+.job__meta{margin-top:0}.job>.rows-tail{grid-column:2}.bullets{gap:var(--space-xs);margin:var(--space-md) 0 0;padding:0;list-style:none;display:grid}.bullets li{max-width:var(--measure);padding-inline-start:var(--space-lg);position:relative}.bullets li:before{content:"-";color:var(--color-muted);position:absolute;inset-inline-start:0}@media (width<=40rem){.job{grid-template-columns:minmax(0,1fr)}}.case{padding-block:var(--space-2xl);border-top:var(--rule-hair) solid var(--color-rule)}.case--tall{padding-block:var(--space-3xl)}.case>.container{column-gap:var(--gap-columns);row-gap:var(--space-xl);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid}.case__head{justify-content:space-between;align-items:baseline;gap:var(--space-xs) var(--space-lg);flex-wrap:wrap;grid-column:1/-1;display:flex}.case__head h2{max-width:none}.case__when{color:var(--color-muted);font-size:var(--text-sm)}.case__text{gap:var(--space-lg);grid-column:1/span 5;display:grid}.case__spec{grid-column:6/-1;min-width:0}.case__wide{grid-column:1/span 8;min-width:0}.well{gap:var(--space-lg);padding:var(--space-xl);background:var(--color-paper-2);border:var(--rule-hair) solid var(--color-rule);display:grid}@media (width<=60rem){.case__text,.case__spec,.case__wide{grid-column:1/-1}}.blog-list{border-top:var(--rule-hair) solid var(--color-rule-2);border-bottom:var(--rule-hair) solid var(--color-rule-2);margin:0;padding:0;list-style:none}.blog-item{column-gap:var(--gap-columns);row-gap:var(--space-md);padding:var(--space-xl) var(--space-xl);border-bottom:var(--rule-hair) solid var(--color-rule);cursor:pointer;transition:background-color var(--dur-micro) steps(1);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid;position:relative}.blog-item:last-child{border-bottom:0}.blog-item:hover{background:var(--color-paper-2)}.blog-item.active{background:var(--color-accent-wash)}.blog-item.active:before{content:">";top:var(--space-xl);color:var(--color-accent);font-weight:700;position:absolute;inset-inline-start:var(--space-md)}.blog-item__main{gap:var(--space-md);grid-column:1/span 5;min-width:0;display:grid}.blog-item__title{color:var(--color-ink);font-size:var(--text-title);font-stretch:var(--stretch-display);overflow-wrap:break-word;font-weight:500;line-height:1.25}.blog-item__summary{color:var(--color-ink-2);grid-column:6/span 5}.blog-item__date{color:var(--color-muted);font-size:var(--text-sm);grid-column:11/span 2;justify-self:end}.blog-item.active .blog-item__date,.blog-item.active .tag{color:var(--color-ink-2)}.tags{gap:var(--space-xs) var(--space-md);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tag{color:var(--color-muted);font-size:var(--text-sm)}@media (width<=60rem){.blog-item{padding-inline:var(--space-xl) var(--space-md);grid-template-columns:minmax(0,1fr)}.blog-item__main,.blog-item__summary,.blog-item__date{grid-column:1;justify-self:start}}.post-head{gap:var(--space-md);max-width:var(--measure);display:grid}.post-head h1{max-width:none}.byline{gap:var(--space-3xs) var(--space-lg);color:var(--color-muted);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.doc{max-width:var(--measure)}.doc>*+*{margin-top:var(--space-lg)}.doc h2{max-width:none;margin-top:var(--space-2xl);font-size:clamp(1.5rem,3vw + .5rem,2.5rem)}.doc h2:before{content:"## ";color:var(--color-muted)}.doc h2+*{margin-top:var(--space-md)}.doc ul,.doc ol{gap:var(--space-xs);padding:0;list-style:none;display:grid}.doc ul li{padding-inline-start:var(--space-lg);position:relative}.doc ul li:before{content:"-";color:var(--color-muted);position:absolute;inset-inline-start:0}.doc ol{counter-reset:item}.doc ol li{counter-increment:item;padding-inline-start:var(--space-xl);position:relative}.doc ol li:before{content:counter(item) ".";color:var(--color-muted);position:absolute;inset-inline-start:0}.doc code{padding:0 var(--space-2xs);background:var(--color-paper-3);color:var(--color-ink);font-size:.92em}.doc pre{padding:var(--space-md);background:var(--color-paper-2);border:var(--rule-hair) solid var(--color-rule);overflow-x:auto}.doc pre code{background:0 0;padding:0}.doc a{color:var(--color-ink)}.doc blockquote{border-inline-start:var(--rule-hair) solid var(--color-rule-2);color:var(--color-ink-2);margin-inline:0;padding-inline-start:var(--space-lg)}.doc hr{border:0;border-top:var(--rule-hair) solid var(--color-rule)}.form{gap:var(--space-lg);max-width:100%;display:grid}.form__pair{gap:var(--space-lg) var(--gap-columns);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=40rem){.form__pair{grid-template-columns:minmax(0,1fr)}}.field{gap:var(--space-xs);min-width:0;display:grid}.field label{color:var(--color-ink-2);font-size:var(--text-sm)}.field input,.field textarea{width:100%;min-height:48px;padding:var(--space-sm) var(--space-md);border:var(--rule-hair) solid var(--color-muted);border-radius:var(--radius-card);background:var(--color-paper-2);color:var(--color-ink);outline-offset:-3px;font-size:var(--text-md);transition:background-color var(--dur-micro) steps(1);outline:2px solid #0000}.field textarea{resize:vertical;min-height:12rem}.field input:hover,.field textarea:hover{background:var(--color-paper-3)}.field input:focus-visible,.field textarea:focus-visible{outline-color:var(--color-focus);background:var(--color-paper-3)}.field input:disabled,.field textarea:disabled{opacity:.55;cursor:not-allowed}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--color-ink)}.cf-turnstile :focus,.cf-turnstile :focus-within,.cf-turnstile:focus-within{outline-offset:2px;outline:2px solid var(--color-focus)!important}.challenge{gap:var(--space-sm);padding:var(--space-lg);background:var(--color-paper-2);border:var(--rule-hair) solid var(--color-rule-2);display:grid}.challenge__question{color:var(--color-ink);font-weight:500}.formline{min-height:1lh;font-size:var(--text-sm)}.formline[data-state=info]{color:var(--color-muted)}.formline[data-state=success]{color:var(--color-accent)}.formline[data-state=error]{color:var(--color-ink);font-weight:500}.formline[data-state=error]:before{content:"error: ";color:var(--color-muted);font-weight:400}.formline[data-state=success]:before{content:"ok: ";color:var(--color-muted)}.btn{justify-content:center;align-items:center;gap:var(--space-xs);min-height:48px;padding:0 var(--space-lg);border:var(--rule-hair) solid var(--color-accent);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-accent-ink);font-size:var(--text-md);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-micro) steps(1), border-color var(--dur-micro) steps(1);font-weight:500;line-height:1;display:inline-flex}.btn:hover{background:var(--color-ink);border-color:var(--color-ink)}.btn:active{background:var(--color-ink-2);border-color:var(--color-ink-2);transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}.btn[aria-busy=true]{cursor:progress}@media (prefers-reduced-motion:reduce){.caret{animation:none}.btn:active{transform:none}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}html,body{overflow-x:clip}
