/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@font-face{font-family:Inter;src:url(/fonts/inter-latin-ext-variable.woff2)format("woff2-variations");font-display:swap;font-style:normal;font-weight:100 900;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:Inter;src:url(/fonts/inter-latin-variable.woff2)format("woff2-variations");font-display:swap;font-style:normal;font-weight:100 900;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:Inter;src:url(/fonts/inter-latin-ext-variable-italic.woff2)format("woff2-variations");font-display:swap;font-style:italic;font-weight:100 900;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:Inter;src:url(/fonts/inter-latin-variable-italic.woff2)format("woff2-variations");font-display:swap;font-style:italic;font-weight:100 900;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:Archivo Narrow;src:url(/fonts/archivo-narrow-latin-ext-variable.woff2)format("woff2-variations");font-display:swap;font-style:normal;font-weight:400 700;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:Archivo Narrow;src:url(/fonts/archivo-narrow-latin-variable.woff2)format("woff2-variations");font-display:swap;font-style:normal;font-weight:400 700;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:Archivo Narrow;src:url(/fonts/archivo-narrow-latin-ext-variable-italic.woff2)format("woff2-variations");font-display:swap;font-style:italic;font-weight:400 700;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:Archivo Narrow;src:url(/fonts/archivo-narrow-latin-variable-italic.woff2)format("woff2-variations");font-display:swap;font-style:italic;font-weight:400 700;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;src:url(/fonts/ibm-plex-mono-400.ttf)format("truetype");font-display:swap;font-style:normal;font-weight:400}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-500.ttf)format("truetype");font-display:swap;font-style:normal;font-weight:500}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-600.ttf)format("truetype");font-display:swap;font-style:normal;font-weight:600}:root{color-scheme:light;--font-sans:"Inter", system-ui, sans-serif;--font-heading:"Archivo Narrow", system-ui, sans-serif;--font-mono:"IBM Plex Mono", "JetBrains Mono", monospace;--breakpoint-sm:40rem;--breakpoint-md:48rem;--breakpoint-lg:64rem;--breakpoint-xl:90rem;--color-bg-deep:oklch(85% .025 79);--color-bg:oklch(96% .025 79);--color-bg-shallow:oklch(100% .025 79);--color-bg-alternate:oklch(90% .025 79);--color-text:oklch(15% .04 79);--color-text-muted:oklch(40% .04 79);--color-highlight:oklch(100% .04 79);--color-border:oklch(60% .04 79);--color-border-muted:oklch(70% .04 79);--color-primary:oklch(40% .1 79);--color-secondary:oklch(40% .1 259);--color-danger:oklch(50% .05 30);--color-warning:oklch(50% .05 100);--color-success:oklch(50% .05 160);--color-info:oklch(50% .05 260);--color-chart-1:oklch(58% .12 28);--color-chart-2:oklch(68% .13 55);--color-chart-3:oklch(62% .11 79);--color-chart-4:oklch(61% .11 108);--color-chart-5:oklch(60% .11 138);--color-chart-6:oklch(60% .1 165);--color-chart-7:oklch(60% .1 195);--color-chart-8:oklch(60% .11 225);--color-chart-9:oklch(58% .11 255);--color-chart-10:oklch(60% .12 285);--color-chart-11:oklch(58% .11 320);--color-chart-12:oklch(60% .1 350);--mesh-deep:oklch(83% .04 81);--mesh-mid:oklch(87% .02 79);--mesh-light:oklch(90% .008 79);--mesh-accent:oklch(40% .07 68);--mesh-accent-alpha:.14;--mesh-accent-alpha-soft:.07;--mesh-scroll:0;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4.5rem;--prose-body-size:1rem;--prose-h1-size:2.1rem;--prose-h2-size:1.8rem;--prose-h3-size:1.35rem;--prose-h4-size:1.12rem;--sidebar-h2-size:var(--prose-h2-size);--sidebar-h3-size:var(--prose-h3-size);--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--shadow-soft:0 1rem 3rem var(--color-text)}@supports (color:color-mix(in lab,red,red)){:root{--shadow-soft:0 1rem 3rem color-mix(in oklch, var(--color-text), transparent 92%)}}:root{--shadow-border:inset 0 0 0 1px var(--border-subtle)}:root[data-theme=dark]{color-scheme:dark;--color-bg-deep:oklch(10% .02 79);--color-bg:oklch(15% .02 79);--color-bg-shallow:oklch(25% .02 79);--color-bg-alternate:oklch(28% .03 79);--color-text:oklch(96% .04 79);--color-text-muted:oklch(76% .04 79);--color-highlight:oklch(50% .04 79);--color-border:oklch(40% .04 79);--color-border-muted:oklch(30% .04 79);--color-primary:oklch(76% .1 79);--color-secondary:oklch(76% .1 259);--color-danger:oklch(70% .05 30);--color-warning:oklch(70% .05 100);--color-success:oklch(70% .05 160);--color-info:oklch(70% .05 260);--color-chart-1:oklch(74% .11 28);--color-chart-2:oklch(82% .11 55);--color-chart-3:oklch(78% .1 79);--color-chart-4:oklch(77% .1 108);--color-chart-5:oklch(76% .1 138);--color-chart-6:oklch(76% .09 165);--color-chart-7:oklch(77% .09 195);--color-chart-8:oklch(77% .1 225);--color-chart-9:oklch(75% .1 255);--color-chart-10:oklch(77% .11 285);--color-chart-11:oklch(75% .1 320);--color-chart-12:oklch(77% .09 350);--mesh-deep:oklch(12% .045 68);--mesh-mid:oklch(14% .02 79);--mesh-light:oklch(20% .005 79);--mesh-accent:oklch(55% .09 68);--mesh-accent-alpha:.28;--mesh-accent-alpha-soft:.12}:root{--surface-page:var(--color-bg);--surface-raised:var(--color-bg-shallow);--surface-sunken:var(--color-bg-deep);--surface-alternate:var(--color-bg-alternate);--text-primary:var(--color-text);--text-secondary:var(--color-text-muted);--text-link:var(--color-primary);--text-heading:var(--color-secondary);--border-default:var(--color-border);--border-subtle:var(--color-border-muted);--focus-ring:0 0 0 3px var(--color-primary)}@supports (color:color-mix(in lab,red,red)){:root{--focus-ring:0 0 0 3px color-mix(in oklch, var(--color-primary), transparent 65%)}}:root{--accent-primary:var(--color-primary);--accent-secondary:var(--color-secondary);--accent-info:var(--color-info);--accent-warning:var(--color-warning);--accent-success:var(--color-success);--accent-danger:var(--color-danger);--card-surface:var(--surface-raised)}@supports (color:color-mix(in lab,red,red)){:root{--card-surface:color-mix(in oklch, var(--surface-raised), var(--surface-page) 18%)}}:root{--card-border:var(--border-subtle)}@supports (color:color-mix(in lab,red,red)){:root{--card-border:color-mix(in oklch, var(--border-subtle), transparent 25%)}}:root{--figure-surface:var(--surface-alternate)}@supports (color:color-mix(in lab,red,red)){:root{--figure-surface:color-mix(in oklch, var(--surface-alternate), var(--surface-raised) 40%)}}:root{--callout-surface:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){:root{--callout-surface:color-mix(in oklch, var(--accent-primary), var(--surface-raised) 90%)}}:root{--callout-border:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){:root{--callout-border:color-mix(in oklch, var(--accent-primary), transparent 45%)}}:root[data-site=portfolio]{color-scheme:light;--theme-hue:205;--theme-chroma:.105;--theme-vibrance:.42;--theme-secondary-hue:calc(var(--theme-hue) + 180);--theme-bg-chroma:calc(var(--theme-chroma) * (.14 + var(--theme-vibrance) * .32));--theme-bg-chroma-soft:calc(var(--theme-chroma) * (.06 + var(--theme-vibrance) * .16));--theme-text-chroma:min(var(--theme-chroma), .04);--theme-border-chroma:min(var(--theme-chroma), .045);--theme-action-chroma:max(var(--theme-chroma), .1);--theme-alert-chroma:max(calc(var(--theme-chroma) * .48), .05);--theme-light-bg-deep-l:calc(.91 - var(--theme-vibrance) * .06);--theme-light-bg-l:calc(.975 - var(--theme-vibrance) * .025);--theme-light-bg-shallow-l:calc(1 - var(--theme-vibrance) * .008);--theme-light-bg-alternate-l:calc(.94 - var(--theme-vibrance) * .055);--theme-dark-bg-deep-l:calc(.09 + var(--theme-vibrance) * .045);--theme-dark-bg-l:calc(.13 + var(--theme-vibrance) * .075);--theme-dark-bg-shallow-l:calc(.22 + var(--theme-vibrance) * .11);--theme-dark-bg-alternate-l:calc(.24 + var(--theme-vibrance) * .12);--color-bg-deep:oklch(var(--theme-light-bg-deep-l) var(--theme-bg-chroma) var(--theme-hue));--color-bg:oklch(var(--theme-light-bg-l) var(--theme-bg-chroma-soft) var(--theme-hue));--color-bg-shallow:oklch(var(--theme-light-bg-shallow-l) var(--theme-bg-chroma-soft) var(--theme-hue));--color-bg-alternate:oklch(var(--theme-light-bg-alternate-l) var(--theme-bg-chroma) var(--theme-secondary-hue));--color-text:oklch(.18 var(--theme-text-chroma) var(--theme-secondary-hue));--color-text-muted:oklch(.42 var(--theme-text-chroma) var(--theme-secondary-hue));--color-highlight:oklch(1 var(--theme-bg-chroma-soft) var(--theme-hue));--color-border:oklch(.58 var(--theme-border-chroma) var(--theme-hue));--color-border-muted:oklch(.78 calc(var(--theme-border-chroma) * .62) var(--theme-hue));--color-primary:oklch(.43 var(--theme-action-chroma) var(--theme-hue));--color-secondary:oklch(.36 var(--theme-action-chroma) var(--theme-secondary-hue));--color-danger:oklch(.5 var(--theme-alert-chroma) 30);--color-warning:oklch(.5 var(--theme-alert-chroma) 100);--color-success:oklch(.5 var(--theme-alert-chroma) 160);--color-info:oklch(.5 var(--theme-alert-chroma) 260);--color-chart-1:oklch(.58 var(--theme-action-chroma) calc(var(--theme-hue) - 80));--color-chart-2:oklch(.68 var(--theme-action-chroma) calc(var(--theme-hue) - 50));--color-chart-3:oklch(.62 var(--theme-action-chroma) calc(var(--theme-hue) - 20));--color-chart-4:oklch(.61 var(--theme-action-chroma) calc(var(--theme-hue) + 10));--color-chart-5:oklch(.6 var(--theme-action-chroma) calc(var(--theme-hue) + 40));--color-chart-6:oklch(.6 calc(var(--theme-action-chroma) * .9) calc(var(--theme-hue) + 70));--color-chart-7:oklch(.6 calc(var(--theme-action-chroma) * .9) calc(var(--theme-hue) + 100));--color-chart-8:oklch(.6 var(--theme-action-chroma) calc(var(--theme-hue) + 130));--color-chart-9:oklch(.58 var(--theme-action-chroma) calc(var(--theme-hue) + 160));--color-chart-10:oklch(.6 var(--theme-action-chroma) calc(var(--theme-hue) + 190));--color-chart-11:oklch(.58 var(--theme-action-chroma) calc(var(--theme-hue) + 220));--color-chart-12:oklch(.6 calc(var(--theme-action-chroma) * .9) calc(var(--theme-hue) + 250));--mesh-deep:oklch(calc(var(--theme-light-bg-deep-l) - .02) var(--theme-bg-chroma) calc(var(--theme-hue) + 20));--mesh-mid:oklch(calc(var(--theme-light-bg-alternate-l) - .01) var(--theme-bg-chroma-soft) var(--theme-secondary-hue));--mesh-light:oklch(calc(var(--theme-light-bg-l) + .01) calc(var(--theme-bg-chroma-soft) * .6) var(--theme-hue));--mesh-accent:oklch(.46 var(--theme-action-chroma) var(--theme-hue));--mesh-accent-alpha:.14;--mesh-accent-alpha-soft:.07}:root[data-site=portfolio][data-theme=dark]{color-scheme:dark;--color-bg-deep:oklch(var(--theme-dark-bg-deep-l) var(--theme-bg-chroma) var(--theme-hue));--color-bg:oklch(var(--theme-dark-bg-l) var(--theme-bg-chroma-soft) var(--theme-hue));--color-bg-shallow:oklch(var(--theme-dark-bg-shallow-l) var(--theme-bg-chroma-soft) var(--theme-hue));--color-bg-alternate:oklch(var(--theme-dark-bg-alternate-l) var(--theme-bg-chroma) var(--theme-secondary-hue));--color-text:oklch(.96 var(--theme-text-chroma) var(--theme-secondary-hue));--color-text-muted:oklch(.76 var(--theme-text-chroma) var(--theme-secondary-hue));--color-highlight:oklch(.5 var(--theme-border-chroma) var(--theme-hue));--color-border:oklch(.4 var(--theme-border-chroma) var(--theme-hue));--color-border-muted:oklch(.3 calc(var(--theme-border-chroma) * .62) var(--theme-hue));--color-primary:oklch(.76 var(--theme-action-chroma) var(--theme-hue));--color-secondary:oklch(.76 var(--theme-action-chroma) var(--theme-secondary-hue));--color-danger:oklch(.7 var(--theme-alert-chroma) 30);--color-warning:oklch(.7 var(--theme-alert-chroma) 100);--color-success:oklch(.7 var(--theme-alert-chroma) 160);--color-info:oklch(.7 var(--theme-alert-chroma) 260);--color-chart-1:oklch(.74 var(--theme-action-chroma) calc(var(--theme-hue) - 80));--color-chart-2:oklch(.82 var(--theme-action-chroma) calc(var(--theme-hue) - 50));--color-chart-3:oklch(.78 calc(var(--theme-action-chroma) * .9) calc(var(--theme-hue) - 20));--color-chart-4:oklch(.77 calc(var(--theme-action-chroma) * .9) calc(var(--theme-hue) + 10));--color-chart-5:oklch(.76 calc(var(--theme-action-chroma) * .9) calc(var(--theme-hue) + 40));--color-chart-6:oklch(.76 calc(var(--theme-action-chroma) * .8) calc(var(--theme-hue) + 70));--color-chart-7:oklch(.77 calc(var(--theme-action-chroma) * .8) calc(var(--theme-hue) + 100));--color-chart-8:oklch(.77 calc(var(--theme-action-chroma) * .9) calc(var(--theme-hue) + 130));--color-chart-9:oklch(.75 calc(var(--theme-action-chroma) * .9) calc(var(--theme-hue) + 160));--color-chart-10:oklch(.77 var(--theme-action-chroma) calc(var(--theme-hue) + 190));--color-chart-11:oklch(.75 calc(var(--theme-action-chroma) * .9) calc(var(--theme-hue) + 220));--color-chart-12:oklch(.77 calc(var(--theme-action-chroma) * .8) calc(var(--theme-hue) + 250));--mesh-deep:oklch(calc(var(--theme-dark-bg-deep-l) + .02) var(--theme-bg-chroma) calc(var(--theme-hue) + 20));--mesh-mid:oklch(calc(var(--theme-dark-bg-l) - .01) var(--theme-bg-chroma-soft) var(--theme-secondary-hue));--mesh-light:oklch(calc(var(--theme-dark-bg-shallow-l) - .05) calc(var(--theme-bg-chroma-soft) * .6) var(--theme-hue));--mesh-accent:oklch(.55 var(--theme-action-chroma) var(--theme-hue));--mesh-accent-alpha:.28;--mesh-accent-alpha-soft:.12}:root[data-site=firstaidbench]{color-scheme:light;--color-bg-deep:oklch(85% .025 79);--color-bg:oklch(96% .025 79);--color-bg-shallow:oklch(100% .025 79);--color-bg-alternate:oklch(90% .025 79);--color-text:oklch(15% .04 79);--color-text-muted:oklch(40% .04 79);--color-highlight:oklch(100% .04 79);--color-border:oklch(60% .04 79);--color-border-muted:oklch(70% .04 79);--color-primary:oklch(40% .1 79);--color-secondary:oklch(40% .1 259);--color-danger:oklch(50% .05 30);--color-warning:oklch(50% .05 100);--color-success:oklch(50% .05 160);--color-info:oklch(50% .05 260);--color-chart-1:oklch(58% .12 28);--color-chart-2:oklch(68% .13 55);--color-chart-3:oklch(62% .11 79);--color-chart-4:oklch(61% .11 108);--color-chart-5:oklch(60% .11 138);--color-chart-6:oklch(60% .1 165);--color-chart-7:oklch(60% .1 195);--color-chart-8:oklch(60% .11 225);--color-chart-9:oklch(58% .11 255);--color-chart-10:oklch(60% .12 285);--color-chart-11:oklch(58% .11 320);--color-chart-12:oklch(60% .1 350);--mesh-deep:oklch(83% .04 81);--mesh-mid:oklch(87% .02 79);--mesh-light:oklch(90% .008 79);--mesh-accent:oklch(40% .07 68);--mesh-blue:oklch(55% .1 246);--mesh-accent-alpha:.14;--mesh-accent-alpha-soft:.07;--fab-hero-heading:oklch(18% .045 79);--fab-hero-copy:oklch(40% .04 79);--fab-mesh-noise-opacity:.12;--fab-mesh-noise-blend:multiply;--fab-nav-panel:oklch(98% .018 79/.82);--fab-nav-panel-solid:oklch(98% .018 79/.96);--fab-pre-surface:oklch(93% .018 79/.84);--fab-code-color:oklch(23% .08 72);--fab-code-surface:oklch(98% .025 79/.78);--fab-strong-color:oklch(32% .08 259);--fab-toc-label:oklch(43% .06 79);--fab-toc-link:oklch(40% .04 79/.78)}:root[data-site=firstaidbench][data-theme=dark]{color-scheme:dark;--color-bg-deep:oklch(10% .02 79);--color-bg:oklch(15% .02 79);--color-bg-shallow:oklch(25% .02 79);--color-bg-alternate:oklch(28% .03 79);--color-text:oklch(96% .04 79);--color-text-muted:oklch(76% .04 79);--color-highlight:oklch(50% .04 79);--color-border:oklch(40% .04 79);--color-border-muted:oklch(30% .04 79);--color-primary:oklch(76% .1 79);--color-secondary:oklch(76% .1 259);--color-danger:oklch(70% .05 30);--color-warning:oklch(70% .05 100);--color-success:oklch(70% .05 160);--color-info:oklch(70% .05 260);--color-chart-1:oklch(74% .11 28);--color-chart-2:oklch(82% .11 55);--color-chart-3:oklch(78% .1 79);--color-chart-4:oklch(77% .1 108);--color-chart-5:oklch(76% .1 138);--color-chart-6:oklch(76% .09 165);--color-chart-7:oklch(77% .09 195);--color-chart-8:oklch(77% .1 225);--color-chart-9:oklch(75% .1 255);--color-chart-10:oklch(77% .11 285);--color-chart-11:oklch(75% .1 320);--color-chart-12:oklch(77% .09 350);--mesh-deep:oklch(12% .045 68);--mesh-mid:oklch(14% .02 79);--mesh-light:oklch(20% .005 79);--mesh-accent:oklch(55% .09 68);--mesh-blue:oklch(52% .14 246);--mesh-accent-alpha:.28;--mesh-accent-alpha-soft:.12;--fab-hero-heading:oklch(94% .025 82);--fab-hero-copy:oklch(80% .075 76);--fab-mesh-noise-opacity:.2;--fab-mesh-noise-blend:overlay;--fab-nav-panel:oklch(9% .025 68/.76);--fab-nav-panel-solid:oklch(9.5% .026 68/.96);--fab-pre-surface:oklch(12% .024 72/.78);--fab-code-color:oklch(90% .085 78);--fab-code-surface:oklch(24% .045 72/.82);--fab-strong-color:oklch(78% .095 259);--fab-toc-label:oklch(72% .04 78);--fab-toc-link:oklch(68% .055 76/.78)}@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;--radius-sm:.25rem;--radius-md:.375rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color: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}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.text-wrap{text-wrap:wrap}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}*,:before,:after{box-sizing:border-box}html{background:var(--surface-page);color:var(--text-primary);font-family:var(--font-sans);font-size:16px;line-height:1.5}body{background:radial-gradient(circle at 16% -12%,var(--mesh-accent),transparent 34rem),radial-gradient(circle at 90% 20%,var(--accent-secondary),transparent 30rem),linear-gradient(160deg,var(--mesh-light),var(--surface-page) 42%,var(--mesh-mid));min-height:100vh;margin:0}@supports (color:color-mix(in lab,red,red)){body{background:radial-gradient(circle at 16% -12%,color-mix(in oklch,var(--mesh-accent),transparent 84%),transparent 34rem),radial-gradient(circle at 90% 20%,color-mix(in oklch,var(--accent-secondary),transparent 90%),transparent 30rem),linear-gradient(160deg,var(--mesh-light),var(--surface-page) 42%,var(--mesh-mid))}}.mesh-backdrop{display:none}a{color:var(--text-link);text-underline-offset:.16em}img,iframe{max-width:100%}img{border-radius:var(--radius-md);height:auto}iframe{border:1px solid var(--border-subtle);border-radius:var(--radius-md)}:focus-visible{box-shadow:var(--focus-ring);outline:0}.site-shell{isolation:isolate;z-index:1;min-height:100vh;position:relative}.skip-link{z-index:10;border-radius:var(--radius-sm);background:var(--surface-raised);padding:var(--space-xs) var(--space-sm);position:fixed;inset-block-start:var(--space-sm);inset-inline-start:var(--space-sm);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:1px solid var(--border-subtle);background:var(--surface-page)}@supports (color:color-mix(in lab,red,red)){.site-header{background:color-mix(in oklch,var(--surface-page),transparent 10%)}}.site-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:30;inset-block-start:0;transition:transform .18s,box-shadow .18s;position:sticky;top:0;transform:translateY(0)}:root[data-header-state=hidden] .site-header{transform:translateY(-100%)}:root[data-scroll-y=scrolled] .site-header{box-shadow:0 .45rem 1.5rem var(--surface-sunken)}@supports (color:color-mix(in lab,red,red)){:root[data-scroll-y=scrolled] .site-header{box-shadow:0 .45rem 1.5rem color-mix(in oklch,var(--surface-sunken),transparent 86%)}}.site-header__inner,.site-footer,.content-frame{width:min(100% - 2rem,72rem);margin-inline:auto}.site-header__inner{justify-content:space-between;align-items:center;gap:var(--space-md);padding-block:var(--space-md);display:flex}.brand{color:var(--text-heading);font-family:var(--font-heading);text-transform:uppercase;font-size:1.35rem;font-weight:700;text-decoration:none}:root[data-site=portfolio] .brand{text-transform:none}.site-nav{justify-content:flex-end;gap:var(--space-sm);flex-wrap:wrap;font-size:.92rem;display:flex}.site-header__actions{align-items:center;gap:var(--space-sm);flex-wrap:wrap;justify-content:flex-end;display:flex}.mobile-menu-toggle,.mobile-nav-scrim,.mobile-nav-drawer{display:none}@media(min-width:74rem){:root[data-site=portfolio] .site-nav{margin-inline-end:14rem}}.site-nav a{border-radius:var(--radius-sm);color:var(--text-secondary);padding:var(--space-2xs) var(--space-xs);text-decoration:none}.site-nav a[aria-current=page],.site-nav a:hover{color:var(--text-primary);background:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.site-nav a[aria-current=page],.site-nav a:hover{background:color-mix(in oklch,var(--accent-primary),transparent 88%)}}.theme-controls{align-items:center;gap:var(--space-2xs);display:inline-flex}@media(min-width:42.01rem){.site-header .theme-controls{position:absolute;inset-block-start:50%;inset-inline-end:var(--space-sm);transform:translateY(-50%)}}.theme-control{appearance:none;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;padding:0;display:inline-flex}.theme-control:hover,.theme-control:focus-visible{background:var(--surface-raised)}@supports (color:color-mix(in lab,red,red)){.theme-control:hover,.theme-control:focus-visible{background:color-mix(in oklch,var(--surface-raised),transparent 18%)}}.theme-control:hover,.theme-control:focus-visible{border-color:var(--border-subtle);color:var(--text-primary);outline:none}.theme-control:focus-visible{box-shadow:var(--focus-ring)}.theme-toggle__icon{display:none}:root[data-theme=light] .theme-toggle__icon--moon,:root[data-theme=dark] .theme-toggle__icon--sun{display:block}.site-footer{border-top:1px solid var(--border-subtle);padding-block:var(--space-2xl);margin-block-start:var(--space-3xl)}.contact-block{color:var(--text-secondary);align-items:start;gap:var(--space-xl);display:grid}.contact-block--page{min-height:44vh;padding-block:var(--space-2xl)}.contact-block__copy{max-width:34rem}.contact-block h2{color:var(--accent-primary);font-family:var(--font-heading);margin:0;font-size:clamp(2rem,5vw,3rem);line-height:1}.contact-block p{margin:var(--space-md) 0 0;font-size:1rem;line-height:1.75}.contact-block__links{gap:var(--space-sm);justify-items:start;display:grid}.contact-link{color:var(--accent-primary);font-family:var(--font-mono);align-items:center;gap:var(--space-xs);letter-spacing:.08em;text-transform:uppercase;min-height:1.75rem;font-size:.78rem;font-weight:600;text-decoration:none;display:inline-flex}.contact-link:hover{color:var(--text-link);text-decoration:underline}.contact-link__icon,.contact-link__lucide{color:currentColor;flex:none;width:1rem;height:1rem}.contact-link__icon{background:currentColor;display:inline-block}.contact-link__icon--github{-webkit-mask:url(/github.svg) 50%/contain no-repeat;mask:url(/github.svg) 50%/contain no-repeat}.contact-link__icon--linkedin{-webkit-mask:url(/linkedin.svg) 50%/contain no-repeat;mask:url(/linkedin.svg) 50%/contain no-repeat}@media(min-width:48rem){.contact-block{grid-template-columns:minmax(0,1fr) minmax(11rem,16rem)}}.content-frame{padding-block:var(--space-2xl)}.hero{gap:var(--space-md);max-width:56rem;padding-block:var(--space-xl) var(--space-2xl);display:grid}.eyebrow{color:var(--accent-primary);font-family:var(--font-mono);letter-spacing:0;text-transform:uppercase;font-size:.78rem;font-weight:600}.hero h1{color:var(--text-heading);font-family:var(--font-heading);max-width:13ch;margin:0;font-size:clamp(3rem,8vw,6rem);font-weight:800;line-height:.92}:root[data-site=portfolio] .hero h1{max-width:16ch;font-size:clamp(2.8rem,6vw,5.25rem)}.hero p{color:var(--text-secondary);max-width:42rem;font-size:clamp(1.1rem,2vw,1.35rem)}.page-grid{gap:var(--space-2xl);display:grid}@media(min-width:64rem){.page-grid--report{grid-template-columns:minmax(0,1fr) 16rem;align-items:start}}.prose{--tw-prose-body:var(--text-primary);--tw-prose-headings:var(--text-heading);--tw-prose-lead:var(--text-secondary);--tw-prose-links:var(--text-link);--tw-prose-bold:var(--text-heading);--tw-prose-counters:var(--text-secondary);--tw-prose-bullets:var(--border-default);--tw-prose-hr:var(--border-subtle);--tw-prose-quotes:var(--text-primary);--tw-prose-quote-borders:var(--callout-border);--tw-prose-captions:var(--text-secondary);--tw-prose-code:var(--text-primary);--tw-prose-pre-code:var(--text-primary);--tw-prose-pre-bg:var(--surface-sunken);--tw-prose-th-borders:var(--border-default);--tw-prose-td-borders:var(--border-subtle);max-width:48rem}.prose--wide{max-width:58rem}.prose :where(h1,h2,h3,h4){color:var(--text-heading);font-family:var(--font-heading);margin-block:1.6em .55em;font-weight:700;line-height:1}.prose h1{color:var(--accent-secondary);font-size:var(--prose-h1-size);margin-block-start:0;font-weight:800}.prose>h1:first-child,.prose>h1:first-child+p{display:none}.prose h2{font-size:var(--prose-h2-size)}.prose h3{font-size:var(--prose-h3-size)}.prose h4{font-size:var(--prose-h4-size)}.prose :where(p,li){color:var(--text-primary);font-size:var(--prose-body-size);line-height:1.75}.prose :where(p,ul,ol,blockquote,pre,table,figure){margin-block:1rem}.prose .video-embed{background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.prose .video-embed iframe{aspect-ratio:16/9;border:0;width:100%;display:block}.prose :where(ul,ol){padding-inline-start:1.3rem}.prose :where(blockquote,.callout){border-inline-start:.25rem solid var(--callout-border);border-radius:var(--radius-md);background:var(--callout-surface);padding:var(--space-md) var(--space-lg);margin-inline:0;font-weight:400}:root[data-site=portfolio] .prose blockquote{quotes:none;font-style:normal}:root[data-site=portfolio] .prose blockquote p:first-of-type:before,:root[data-site=portfolio] .prose blockquote p:last-of-type:after{content:none}.prose code{border-radius:var(--radius-sm);background:var(--surface-sunken)}@supports (color:color-mix(in lab,red,red)){.prose code{background:color-mix(in oklch,var(--surface-sunken),transparent 30%)}}.prose code{font-family:var(--font-mono);padding:.12em .32em;font-size:.88em}.prose code:before,.prose code:after{content:none}.prose pre{background:var(--surface-sunken)}@supports (color:color-mix(in lab,red,red)){.prose pre{background:color-mix(in oklch,var(--surface-sunken),var(--text-primary) 6%)}}.prose pre{border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-mono);padding:var(--space-lg);font-size:.92rem;line-height:1.65;overflow-x:auto}.prose pre code{background:0 0;border-radius:0;padding:0}.prose table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.prose :where(th,td){border-bottom:1px solid var(--border-subtle);padding:var(--space-xs) var(--space-sm);text-align:left;vertical-align:top}.prose th{color:var(--text-heading);font-family:var(--font-mono);text-transform:uppercase;font-size:.8rem}.toc{top:var(--space-lg);border-left:1px solid var(--border-subtle);color:var(--text-secondary);padding-left:var(--space-md);display:none;position:sticky}.toc h2{color:var(--text-heading);font-family:var(--font-heading);font-size:var(--sidebar-h2-size);margin:0 0 var(--space-sm)}.toc a{color:var(--text-secondary);font-size:var(--sidebar-h3-size);margin-block:var(--space-xs);line-height:1.35;text-decoration:none;display:block}.toc a:hover{color:var(--text-link)}.toc a[aria-current]{color:var(--text-link);font-size:var(--sidebar-h2-size);font-weight:700}@media(min-width:64rem){.toc{display:block}}@media(max-width:42rem){.site-header__inner{padding-block:var(--space-sm);flex-direction:row;align-items:center}.site-header__actions{flex:none}.site-nav--desktop,.site-header__theme{display:none}.mobile-menu-toggle{appearance:none;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;padding:0;display:inline-flex}.mobile-menu-toggle:hover,.mobile-menu-toggle:focus-visible{background:var(--surface-raised)}@supports (color:color-mix(in lab,red,red)){.mobile-menu-toggle:hover,.mobile-menu-toggle:focus-visible{background:color-mix(in oklch,var(--surface-raised),transparent 18%)}}.mobile-menu-toggle:hover,.mobile-menu-toggle:focus-visible{border-color:var(--border-subtle);outline:none}.mobile-menu-toggle:focus-visible{box-shadow:var(--focus-ring)}.mobile-nav-scrim{background:var(--surface-sunken)}@supports (color:color-mix(in lab,red,red)){.mobile-nav-scrim{background:color-mix(in oklch,var(--surface-sunken),transparent 52%)}}.mobile-nav-scrim{opacity:0;z-index:35;transition:opacity .18s;display:block;position:fixed;inset:0}.mobile-nav-drawer{background:var(--surface-page)}@supports (color:color-mix(in lab,red,red)){.mobile-nav-drawer{background:color-mix(in oklch,var(--surface-page),transparent 3%)}}.mobile-nav-drawer{border-left:1px solid var(--border-subtle);box-shadow:-1rem 0 2.5rem var(--surface-sunken)}@supports (color:color-mix(in lab,red,red)){.mobile-nav-drawer{box-shadow:-1rem 0 2.5rem color-mix(in oklch,var(--surface-sunken),transparent 78%)}}.mobile-nav-drawer{gap:var(--space-lg);inline-size:min(16rem,72vw);padding:calc(var(--space-xl) + env(safe-area-inset-top)) var(--space-md) calc(var(--space-lg) + env(safe-area-inset-bottom));z-index:40;flex-direction:column;justify-content:space-between;transition:transform .18s;display:flex;position:fixed;inset-block:0;inset-inline-end:0;transform:translate(100%)}.mobile-nav-scrim[hidden],.mobile-nav-drawer[hidden]{display:none}:root[data-mobile-nav=open] .mobile-nav-scrim{opacity:1}:root[data-mobile-nav=open] .mobile-nav-drawer{transform:translate(0)}.site-nav--mobile{align-items:flex-end;gap:var(--space-sm);text-align:end;flex-flow:column;justify-content:flex-start;display:flex}.site-nav--mobile a{font-family:var(--font-heading);overflow-wrap:anywhere;max-width:100%;font-size:1.25rem}.mobile-nav-drawer .theme-controls{align-self:flex-end}}:root[data-site=firstaidbench]{--fab-content-width:92ch;--fab-prose-width:43.75rem;--fab-hero-action-inset:clamp(.75rem, 2vh, 1.5rem);--fab-side-gap:clamp(1.75rem, 3vw, 3.5rem)}:root[data-site=firstaidbench] body{background:var(--mesh-deep);overflow-x:hidden}:root[data-site=firstaidbench] .mesh-backdrop{background:radial-gradient(ellipse 80% 65% at calc(5% + (var(--mesh-scroll) * 12%)) calc(0% - (var(--mesh-scroll) * 8%)),var(--mesh-deep),transparent 70%),radial-gradient(ellipse 70% 55% at calc(80% - (var(--mesh-scroll) * 8%)) calc(25% + (var(--mesh-scroll) * 15%)),var(--mesh-light),transparent 65%),radial-gradient(ellipse 75% 60% at calc(90% - (var(--mesh-scroll) * 10%)) calc(85% - (var(--mesh-scroll) * 18%)),var(--mesh-deep),transparent 70%),radial-gradient(ellipse 55% 45% at calc(72% + (var(--mesh-scroll) * 6%)) calc(8% + (var(--mesh-scroll) * 12%)),var(--mesh-accent),transparent 60%),radial-gradient(ellipse 65% 55% at calc(12% + (var(--mesh-scroll) * 10%)) calc(78% + (var(--mesh-scroll) * 8%)),var(--mesh-light),transparent 65%),radial-gradient(ellipse 50% 40% at calc(45% - (var(--mesh-scroll) * 5%)) calc(92% - (var(--mesh-scroll) * 10%)),var(--mesh-accent),transparent 55%),var(--mesh-mid)}@supports (color:color-mix(in lab,red,red)){:root[data-site=firstaidbench] .mesh-backdrop{background:radial-gradient(ellipse 80% 65% at calc(5% + (var(--mesh-scroll) * 12%)) calc(0% - (var(--mesh-scroll) * 8%)),var(--mesh-deep),transparent 70%),radial-gradient(ellipse 70% 55% at calc(80% - (var(--mesh-scroll) * 8%)) calc(25% + (var(--mesh-scroll) * 15%)),var(--mesh-light),transparent 65%),radial-gradient(ellipse 75% 60% at calc(90% - (var(--mesh-scroll) * 10%)) calc(85% - (var(--mesh-scroll) * 18%)),var(--mesh-deep),transparent 70%),radial-gradient(ellipse 55% 45% at calc(72% + (var(--mesh-scroll) * 6%)) calc(8% + (var(--mesh-scroll) * 12%)),color-mix(in oklch,var(--mesh-accent),transparent calc((1 - var(--mesh-accent-alpha)) * 100%)),transparent 60%),radial-gradient(ellipse 65% 55% at calc(12% + (var(--mesh-scroll) * 10%)) calc(78% + (var(--mesh-scroll) * 8%)),var(--mesh-light),transparent 65%),radial-gradient(ellipse 50% 40% at calc(45% - (var(--mesh-scroll) * 5%)) calc(92% - (var(--mesh-scroll) * 10%)),color-mix(in oklch,var(--mesh-accent),transparent calc((1 - var(--mesh-accent-alpha-soft)) * 100%)),transparent 55%),var(--mesh-mid)}}:root[data-site=firstaidbench] .mesh-backdrop{z-index:0;display:block;position:fixed;inset:0}:root[data-site=firstaidbench] .mesh-backdrop:after{content:"";mix-blend-mode:var(--fab-mesh-noise-blend);opacity:var(--fab-mesh-noise-opacity);background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:3px 3px,5px 5px;position:absolute;inset:0}:root[data-site=firstaidbench] body:has(.page-grid--firstaidbench) .site-header{display:none}:root[data-site=firstaidbench] .content-frame{width:calc(100% - 2rem);padding-block:0 var(--space-3xl)}:root[data-site=firstaidbench] .hero--firstaidbench{min-height:min(40vh,28rem);max-width:min(100%,var(--fab-content-width));text-align:center;align-items:center;margin-inline:auto;padding-block:clamp(4.5rem,8vh,6rem) clamp(3.5rem,7vh,5rem);position:relative}:root[data-site=firstaidbench] .hero--firstaidbench .eyebrow{color:var(--accent-primary);letter-spacing:.08em}:root[data-site=firstaidbench] .hero--firstaidbench h1{text-shadow:0 1.5rem 5rem oklch(0% 0 0/.55);text-transform:none;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(.7rem,1.4vw,1.1rem);max-width:none;font-size:clamp(2.6rem,4.8vw,4.9rem);line-height:.92;display:flex}:root[data-site=firstaidbench] .hero__icon{color:var(--accent-secondary);filter:drop-shadow(0 0 2rem oklch(52% .14 246/.15))drop-shadow(0 1rem 2rem oklch(0% 0 0/.15));border-radius:0;width:clamp(3.25rem,5.4vw,5.5rem);height:clamp(3.25rem,5.4vw,5.5rem)}:root[data-site=firstaidbench] .hero--firstaidbench p:not(.eyebrow){color:var(--fab-hero-copy);max-width:43rem;margin-inline:auto;font-size:clamp(1.08rem,1.45vw,1.35rem)}.hero-actions{align-items:center;gap:var(--space-xs);flex-wrap:wrap;justify-content:flex-end;margin-block-start:0;display:flex;position:absolute;inset-block-end:var(--fab-hero-action-inset);inset-inline-end:0}.hero-actions a,.hero-actions button{appearance:none;border-radius:var(--radius-sm);color:var(--accent-primary);cursor:pointer;font-family:var(--font-mono);align-items:center;gap:var(--space-2xs);letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;padding:.45rem .55rem;font-size:.76rem;font-weight:600;text-decoration:none;transition:background-color .16s,color .16s,box-shadow .16s;display:inline-flex}.hero-actions :is(a,button):hover{background:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.hero-actions :is(a,button):hover{background:color-mix(in oklch,var(--accent-primary) 9%,transparent)}}.hero-actions :is(a,button):hover{color:var(--accent-secondary)}.hero-actions :is(a,button):focus-visible{box-shadow:0 0 0 3px var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.hero-actions :is(a,button):focus-visible{box-shadow:0 0 0 3px color-mix(in oklch,var(--accent-primary) 24%,transparent)}}.hero-actions :is(a,button):focus-visible{outline:0}.page-grid--firstaidbench{align-items:start;gap:var(--fab-side-gap);grid-template-columns:minmax(9rem,1fr) minmax(0,var(--fab-content-width)) minmax(9rem,1fr);justify-content:center}.fab-side-nav,.toc--firstaidbench{position:sticky;top:50vh;translate:0 -50%}.fab-side-nav{justify-self:start;min-width:max-content}.toc--firstaidbench{justify-self:end;max-width:13rem}.fab-side-nav{display:none}.fab-side-nav nav{gap:clamp(1.15rem,2.4vh,1.8rem);margin-block-end:var(--space-md);display:grid}:root[data-site=firstaidbench] :where(.fab-side-nav,.toc--firstaidbench){color:var(--fab-toc-link);font-family:var(--font-heading);line-height:1.35}:root[data-site=firstaidbench] :where(.fab-side-nav a,.toc--firstaidbench a){text-decoration:none}.fab-side-nav nav a{color:var(--accent-primary);font-size:var(--sidebar-h3-size);grid-template-columns:1.45rem minmax(0,max-content);align-items:center;gap:clamp(.7rem,1vw,.95rem);font-weight:600;line-height:1.1;transition:color .18s,font-size .18s,opacity .18s;display:grid}.fab-side-nav nav a:hover,.fab-side-nav nav a[aria-current=page]{color:var(--accent-secondary)}.fab-side-nav nav a[aria-current=page]{font-size:var(--sidebar-h2-size);grid-template-columns:2rem minmax(0,max-content);font-weight:800}.fab-side-nav nav :where(svg,img,.fab-nav__github-icon){color:currentColor;border-radius:0;width:1.2em;height:1.2em}.fab-nav__github-icon{background:currentColor;display:block;-webkit-mask:url(/github.svg) 50%/contain no-repeat;mask:url(/github.svg) 50%/contain no-repeat}:root[data-site=firstaidbench] .prose--firstaidbench{max-width:var(--fab-content-width);--tw-prose-body:var(--text-primary);--tw-prose-headings:var(--accent-secondary);--tw-prose-lead:var(--fab-hero-copy);--tw-prose-links:var(--accent-primary);--tw-prose-bold:var(--fab-strong-color);--tw-prose-counters:var(--fab-toc-link);--tw-prose-bullets:var(--accent-secondary);--tw-prose-hr:var(--accent-secondary)}@supports (color:color-mix(in lab,red,red)){:root[data-site=firstaidbench] .prose--firstaidbench{--tw-prose-hr:color-mix(in oklch, var(--accent-secondary), transparent 72%)}}:root[data-site=firstaidbench] .prose--firstaidbench{--tw-prose-quotes:var(--text-primary);--tw-prose-quote-borders:var(--accent-secondary);--tw-prose-captions:var(--text-secondary);--tw-prose-code:var(--fab-code-color);--tw-prose-pre-code:var(--text-primary);--tw-prose-pre-bg:var(--fab-pre-surface);--tw-prose-th-borders:var(--accent-secondary)}@supports (color:color-mix(in lab,red,red)){:root[data-site=firstaidbench] .prose--firstaidbench{--tw-prose-th-borders:color-mix(in oklch, var(--accent-secondary), transparent 72%)}}:root[data-site=firstaidbench] .prose--firstaidbench{--tw-prose-td-borders:var(--accent-secondary)}@supports (color:color-mix(in lab,red,red)){:root[data-site=firstaidbench] .prose--firstaidbench{--tw-prose-td-borders:color-mix(in oklch, var(--accent-secondary), transparent 72%)}}:root[data-site=firstaidbench] .prose--firstaidbench>:where(p,ul,ol,blockquote,pre,table,figure:not(.chart-placeholder),hr,h2,h3,h4){max-width:min(100%,var(--fab-prose-width));margin-inline:auto}:root[data-site=firstaidbench] .prose--firstaidbench>:where(.card-grid,.fab-accordion,.fab-callout,.fab-chart,.icon-block){max-width:min(100%,var(--fab-content-width));margin-inline:auto}:root[data-site=firstaidbench] .prose--firstaidbench :where(h2,h3,h4){color:var(--accent-secondary);text-transform:none;scroll-margin-top:7rem}:root[data-site=firstaidbench] .prose--firstaidbench h2{margin-block-start:1.45em}:root[data-site=firstaidbench] .prose--firstaidbench a{-webkit-text-decoration-color:var(--accent-primary);text-decoration-color:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){:root[data-site=firstaidbench] .prose--firstaidbench a{-webkit-text-decoration-color:color-mix(in oklch,var(--accent-primary),transparent 58%);text-decoration-color:color-mix(in oklch,var(--accent-primary),transparent 58%)}}:root[data-site=firstaidbench] .prose--firstaidbench code:not(pre code){background:var(--fab-code-surface)}:root[data-site=firstaidbench] .prose--firstaidbench :where(blockquote,.callout){background:var(--surface-raised)}@supports (color:color-mix(in lab,red,red)){:root[data-site=firstaidbench] .prose--firstaidbench :where(blockquote,.callout){background:color-mix(in oklch,var(--surface-raised),transparent 20%)}}:root[data-site=firstaidbench] .prose--firstaidbench :where(blockquote,.callout){border-color:var(--accent-secondary);box-shadow:0 1rem 4rem #0000002e}:root[data-site=firstaidbench] .prose--firstaidbench pre{background:var(--fab-pre-surface);border-color:var(--accent-secondary)}@supports (color:color-mix(in lab,red,red)){:root[data-site=firstaidbench] .prose--firstaidbench pre{border-color:color-mix(in oklch,var(--accent-secondary),transparent 72%)}}:root[data-site=firstaidbench] .prose--firstaidbench table{border-color:var(--accent-secondary);background:0 0}@supports (color:color-mix(in lab,red,red)){:root[data-site=firstaidbench] .prose--firstaidbench table{border-color:color-mix(in oklch,var(--accent-secondary),transparent 72%)}}:root[data-site=firstaidbench] .prose--firstaidbench :where(thead,tbody tr){background:0 0}:root[data-site=firstaidbench] .toc--firstaidbench{text-align:right;border-left:0;padding-left:0;display:none}:root[data-site=firstaidbench] .toc--firstaidbench h2{color:var(--fab-toc-label);font-size:var(--sidebar-h2-size);text-transform:none;margin-block:0 1rem;line-height:1.35}:root[data-site=firstaidbench] .toc--firstaidbench a,.mobile-toc a{color:var(--fab-toc-link);font-size:var(--sidebar-h3-size);margin-block:.72rem;line-height:1.35;transition:color .18s,font-weight .18s,opacity .18s}:root[data-site=firstaidbench] .toc--firstaidbench a[aria-current],.mobile-toc a[aria-current]{color:var(--accent-secondary);font-size:var(--sidebar-h2-size);opacity:1;font-weight:800}.mobile-fab-bar{display:none}[data-reveal-block]{opacity:1}:root[data-site=firstaidbench] [data-reveal-block],:root[data-site=firstaidbench] [data-reveal-container]>:not(script):not(style){filter:blur(10px);opacity:0;transition:filter .76s,opacity .76s,transform .76s;transition-delay:var(--reveal-delay,0s);transform:translateY(1.1rem)}:root[data-site=firstaidbench] .is-ready [data-reveal-block],:root[data-site=firstaidbench] .is-ready [data-reveal-container]>:not(script):not(style),:root[data-site=firstaidbench] .reduce-motion [data-reveal-block],:root[data-site=firstaidbench] .reduce-motion [data-reveal-container]>:not(script):not(style){filter:none;opacity:1;transform:none}:root[data-site=firstaidbench] .site-footer{background:linear-gradient(90deg,transparent,var(--accent-primary),transparent) top / 100% 1px no-repeat,var(--mesh-deep)}@supports (color:color-mix(in lab,red,red)){:root[data-site=firstaidbench] .site-footer{background:linear-gradient(90deg,transparent,color-mix(in oklch,var(--accent-primary),transparent 55%),transparent) top / 100% 1px no-repeat,color-mix(in oklch,var(--mesh-deep),transparent 6%)}}:root[data-site=firstaidbench] .site-footer{color:var(--text-secondary);max-width:none;padding:var(--space-2xl) max(1rem,calc((100vw - 104rem)/2));border:0;width:100%;margin-block-start:0}:root[data-site=firstaidbench] .site-footer .contact-block{max-width:min(100%,var(--fab-content-width));margin-inline:auto}@media(min-width:64rem){:root[data-site=firstaidbench] .fab-side-nav,:root[data-site=firstaidbench] .toc--firstaidbench{display:block}}@media(max-width:63.99rem){:root[data-site=firstaidbench] .content-frame{width:min(100% - 1.5rem,48rem)}:root[data-site=firstaidbench] .hero--firstaidbench{min-height:46vh;padding-block-start:6rem}.page-grid--firstaidbench{display:block}.mobile-fab-bar{background:var(--fab-nav-panel);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-bottom:1px solid var(--border-subtle);align-items:center}@supports (color:color-mix(in lab,red,red)){.mobile-fab-bar{border-bottom:1px solid color-mix(in oklch,var(--border-subtle),transparent 35%)}}.mobile-fab-bar{gap:var(--space-sm);min-height:4.25rem;padding:var(--space-xs) max(var(--space-sm),env(safe-area-inset-right)) var(--space-xs) max(var(--space-sm),env(safe-area-inset-left));z-index:30;justify-content:space-between;display:flex;position:fixed;inset:0 0 auto}.mobile-fab-bar__toc{flex:auto;min-width:0;position:relative}.mobile-fab-bar__toc summary{color:var(--accent-primary);cursor:pointer;font-family:var(--font-heading);align-items:center;gap:var(--space-xs);max-width:100%;padding:var(--space-2xs) 0;grid-template-columns:auto minmax(0,1fr);font-size:clamp(1.05rem,5vw,1.35rem);font-weight:800;list-style:none;display:grid}.mobile-fab-bar__toc summary span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-fab-bar__toc summary::-webkit-details-marker{display:none}.mobile-fab-bar__toc-icon{color:var(--accent-secondary);transition:transform .18s;transform:rotate(0)}.mobile-fab-bar__toc[open] .mobile-fab-bar__toc-icon{transform:rotate(90deg)}.mobile-fab-bar__toc-panel{background:var(--fab-nav-panel-solid);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);min-width:min(26rem,100vw - 2rem);max-height:min(62vh,28rem);padding:var(--space-md);position:absolute;inset-block-start:calc(100% + var(--space-xs));inset-inline-start:0;overflow:auto;box-shadow:0 1.5rem 4rem #00000073}.mobile-fab-bar__toc-panel .mobile-toc{gap:var(--space-xs);display:grid}.mobile-fab-bar__toc-panel .mobile-toc a{color:var(--accent-primary);font-family:var(--font-heading);font-size:var(--sidebar-h3-size);padding-block:var(--space-2xs);font-weight:600;line-height:1.12;text-decoration:none}.mobile-fab-bar__toc-panel .mobile-toc a[aria-current]{color:var(--accent-secondary);font-size:var(--sidebar-h2-size);font-weight:800}.mobile-fab-bar__menu-button{appearance:none;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;padding:0;display:inline-flex}.mobile-fab-bar__menu-button:hover,.mobile-fab-bar__menu-button:focus-visible{background:var(--surface-raised)}@supports (color:color-mix(in lab,red,red)){.mobile-fab-bar__menu-button:hover,.mobile-fab-bar__menu-button:focus-visible{background:color-mix(in oklch,var(--surface-raised),transparent 18%)}}.mobile-fab-bar__menu-button:hover,.mobile-fab-bar__menu-button:focus-visible{border-color:var(--border-subtle);outline:none}.mobile-fab-bar__menu-button:focus-visible{box-shadow:var(--focus-ring)}:root[data-site=firstaidbench] .mobile-nav-scrim{background:var(--surface-sunken)}@supports (color:color-mix(in lab,red,red)){:root[data-site=firstaidbench] .mobile-nav-scrim{background:color-mix(in oklch,var(--surface-sunken),transparent 52%)}}:root[data-site=firstaidbench] .mobile-nav-scrim{opacity:0;z-index:35;transition:opacity .18s;display:block;position:fixed;inset:0}:root[data-site=firstaidbench] .mobile-nav-drawer{background:var(--surface-page)}@supports (color:color-mix(in lab,red,red)){:root[data-site=firstaidbench] .mobile-nav-drawer{background:color-mix(in oklch,var(--surface-page),transparent 3%)}}:root[data-site=firstaidbench] .mobile-nav-drawer{border-left:1px solid var(--border-subtle);box-shadow:-1rem 0 2.5rem var(--surface-sunken)}@supports (color:color-mix(in lab,red,red)){:root[data-site=firstaidbench] .mobile-nav-drawer{box-shadow:-1rem 0 2.5rem color-mix(in oklch,var(--surface-sunken),transparent 78%)}}:root[data-site=firstaidbench] .mobile-nav-drawer{gap:var(--space-lg);inline-size:min(18rem,78vw);padding:calc(var(--space-xl) + env(safe-area-inset-top)) var(--space-md) calc(var(--space-lg) + env(safe-area-inset-bottom));z-index:40;flex-direction:column;justify-content:space-between;transition:transform .18s;display:flex;position:fixed;inset-block:0;inset-inline-end:0;transform:translate(100%)}:root[data-site=firstaidbench] .mobile-nav-scrim[hidden],:root[data-site=firstaidbench] .mobile-nav-drawer[hidden]{display:none}:root[data-site=firstaidbench][data-mobile-nav=open] .mobile-nav-scrim{opacity:1}:root[data-site=firstaidbench][data-mobile-nav=open] .mobile-nav-drawer{transform:translate(0)}:root[data-site=firstaidbench] .site-nav--mobile{align-items:flex-end;gap:var(--space-sm);text-align:end;flex-flow:column;justify-content:flex-start;display:flex}:root[data-site=firstaidbench] .site-nav--mobile a{font-family:var(--font-heading);overflow-wrap:anywhere;max-width:100%;font-size:1.25rem}:root[data-site=firstaidbench] .mobile-nav-drawer .theme-controls{align-self:flex-end}}@media(prefers-reduced-motion:reduce){:root[data-site=firstaidbench] *,:root[data-site=firstaidbench] :before,:root[data-site=firstaidbench] :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
