/*! tailwindcss v4.1.18 | 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-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--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;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:"DM Sans",sans-serif;--font-serif:"DM Serif Display",serif;--font-mono:"IBM Plex Mono",monospace;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-widest:.1em;--leading-tight:1.25;--radius-xl:.75rem;--radius-2xl:1rem;--blur-md:12px;--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);--color-paper:var(--site-paper);--color-paper-deep:var(--site-paper-deep);--color-ink:var(--site-ink);--color-muted:var(--site-muted);--color-accent:var(--site-accent);--color-accent-soft:var(--site-accent-soft)}}@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%;-moz-tab-size:4;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]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance: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{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-0{top:calc(var(--spacing)*0)}.-right-4{right:calc(var(--spacing)*-4)}.right-0{right:calc(var(--spacing)*0)}.-bottom-12{bottom:calc(var(--spacing)*-12)}.left-0{left:calc(var(--spacing)*0)}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-7{margin-top:calc(var(--spacing)*7)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-10{margin-top:calc(var(--spacing)*10)}.mt-12{margin-top:calc(var(--spacing)*12)}.mt-14{margin-top:calc(var(--spacing)*14)}.mt-20{margin-top:calc(var(--spacing)*20)}.mr-3{margin-right:calc(var(--spacing)*3)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-7{margin-bottom:calc(var(--spacing)*7)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.h-1{height:calc(var(--spacing)*1)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-9{height:calc(var(--spacing)*9)}.h-11{height:calc(var(--spacing)*11)}.h-44{height:calc(var(--spacing)*44)}.h-px{height:1px}.min-h-52{min-height:calc(var(--spacing)*52)}.min-h-screen{min-height:100vh}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-9{width:calc(var(--spacing)*9)}.w-11{width:calc(var(--spacing)*11)}.w-44{width:calc(var(--spacing)*44)}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.shrink-0{flex-shrink:0}.origin-left{transform-origin:0}.-rotate-2{rotate:-2deg}.rotate-180{rotate:180deg}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-0{gap:calc(var(--spacing)*0)}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-8{gap:calc(var(--spacing)*8)}.gap-10{gap:calc(var(--spacing)*10)}.gap-12{gap:calc(var(--spacing)*12)}.gap-x-8{column-gap:calc(var(--spacing)*8)}.gap-y-3{row-gap:calc(var(--spacing)*3)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-ink\/15>:not(:last-child)){border-color:var(--color-ink)}@supports (color:color-mix(in lab,red,red)){:where(.divide-ink\/15>:not(:last-child)){border-color:color-mix(in oklab,var(--color-ink)15%,transparent)}}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.scroll-smooth{scroll-behavior:smooth}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[26px\]{border-style:var(--tw-border-style);border-width:26px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-accent\/90{border-color:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.border-accent\/90{border-color:color-mix(in oklab,var(--color-accent)90%,transparent)}}.border-ink\/10{border-color:var(--color-ink)}@supports (color:color-mix(in lab,red,red)){.border-ink\/10{border-color:color-mix(in oklab,var(--color-ink)10%,transparent)}}.border-ink\/15{border-color:var(--color-ink)}@supports (color:color-mix(in lab,red,red)){.border-ink\/15{border-color:color-mix(in oklab,var(--color-ink)15%,transparent)}}.border-ink\/20{border-color:var(--color-ink)}@supports (color:color-mix(in lab,red,red)){.border-ink\/20{border-color:color-mix(in oklab,var(--color-ink)20%,transparent)}}.border-ink\/25{border-color:var(--color-ink)}@supports (color:color-mix(in lab,red,red)){.border-ink\/25{border-color:color-mix(in oklab,var(--color-ink)25%,transparent)}}.bg-accent{background-color:var(--color-accent)}.bg-accent-soft{background-color:var(--color-accent-soft)}.bg-ink{background-color:var(--color-ink)}.bg-paper{background-color:var(--color-paper)}.bg-paper-deep\/55{background-color:var(--color-paper-deep)}@supports (color:color-mix(in lab,red,red)){.bg-paper-deep\/55{background-color:color-mix(in oklab,var(--color-paper-deep)55%,transparent)}}.bg-paper\/90{background-color:var(--color-paper)}@supports (color:color-mix(in lab,red,red)){.bg-paper\/90{background-color:color-mix(in oklab,var(--color-paper)90%,transparent)}}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-7{padding-block:calc(var(--spacing)*7)}.py-14{padding-block:calc(var(--spacing)*14)}.py-16{padding-block:calc(var(--spacing)*16)}.pt-5{padding-top:calc(var(--spacing)*5)}.pt-6{padding-top:calc(var(--spacing)*6)}.pt-14{padding-top:calc(var(--spacing)*14)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-20{padding-bottom:calc(var(--spacing)*20)}.font-mono{font-family:var(--font-mono)}.font-serif{font-family:var(--font-serif)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[clamp\(3\.4rem\,8vw\,7\.5rem\)\]{font-size:clamp(3.4rem,8vw,7.5rem)}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-7{--tw-leading:calc(var(--spacing)*7);line-height:calc(var(--spacing)*7)}.leading-\[\.9\]{--tw-leading:.9;line-height:.9}.leading-\[\.88\]{--tw-leading:.88;line-height:.88}.leading-\[\.95\]{--tw-leading:.95;line-height:.95}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-\.04em\]{--tw-tracking:-.04em;letter-spacing:-.04em}.tracking-\[-\.06em\]{--tw-tracking:-.06em;letter-spacing:-.06em}.tracking-\[-\.07em\]{--tw-tracking:-.07em;letter-spacing:-.07em}.tracking-\[-\.065em\]{--tw-tracking:-.065em;letter-spacing:-.065em}.tracking-\[\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[\.15em\]{--tw-tracking:.15em;letter-spacing:.15em}.tracking-\[\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-\[\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-\[\.24em\]{--tw-tracking:.24em;letter-spacing:.24em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.text-accent{color:var(--color-accent)}.text-ink{color:var(--color-ink)}.text-muted{color:var(--color-muted)}.text-paper,.text-paper\/55{color:var(--color-paper)}@supports (color:color-mix(in lab,red,red)){.text-paper\/55{color:color-mix(in oklab,var(--color-paper)55%,transparent)}}.text-paper\/65{color:var(--color-paper)}@supports (color:color-mix(in lab,red,red)){.text-paper\/65{color:color-mix(in oklab,var(--color-paper)65%,transparent)}}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-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))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.group-hover\:rotate-\[-8deg\]:is(:where(.group):hover *){rotate:-8deg}.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:border-accent:hover{border-color:var(--color-accent)}.hover\:border-ink\/50:hover{border-color:var(--color-ink)}@supports (color:color-mix(in lab,red,red)){.hover\:border-ink\/50:hover{border-color:color-mix(in oklab,var(--color-ink)50%,transparent)}}.hover\:bg-ink:hover{background-color:var(--color-ink)}.hover\:text-accent:hover{color:var(--color-accent)}.hover\:text-paper:hover{color:var(--color-paper)}}@media(min-width:40rem){.sm\:block{display:block}.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:gap-8{gap:calc(var(--spacing)*8)}.sm\:gap-x-8{column-gap:calc(var(--spacing)*8)}.sm\:border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media(min-width:48rem){.md\:-right-1{right:calc(var(--spacing)*-1)}.md\:col-span-2{grid-column:span 2/span 2}.md\:mb-14{margin-bottom:calc(var(--spacing)*14)}.md\:h-56{height:calc(var(--spacing)*56)}.md\:min-h-64{min-height:calc(var(--spacing)*64)}.md\:w-56{width:calc(var(--spacing)*56)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-\[\.48fr_1\.52fr\]{grid-template-columns:.48fr 1.52fr}.md\:grid-cols-\[\.62fr_1\.38fr\]{grid-template-columns:.62fr 1.38fr}.md\:grid-cols-\[\.85fr_1\.15fr\]{grid-template-columns:.85fr 1.15fr}.md\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.md\:items-end{align-items:flex-end}.md\:items-start{align-items:flex-start}.md\:gap-10{gap:calc(var(--spacing)*10)}.md\:gap-12{gap:calc(var(--spacing)*12)}.md\:p-7{padding:calc(var(--spacing)*7)}.md\:p-8{padding:calc(var(--spacing)*8)}.md\:p-10{padding:calc(var(--spacing)*10)}.md\:px-10{padding-inline:calc(var(--spacing)*10)}.md\:py-9{padding-block:calc(var(--spacing)*9)}.md\:py-20{padding-block:calc(var(--spacing)*20)}.md\:py-24{padding-block:calc(var(--spacing)*24)}.md\:pt-20{padding-top:calc(var(--spacing)*20)}.md\:pb-28{padding-bottom:calc(var(--spacing)*28)}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.md\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.md\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.md\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.md\:leading-8{--tw-leading:calc(var(--spacing)*8);line-height:calc(var(--spacing)*8)}}@media(min-width:64rem){.lg\:grid-cols-\[1\.08fr_\.92fr\]{grid-template-columns:1.08fr .92fr}.lg\:gap-14{gap:calc(var(--spacing)*14)}}}:root{color-scheme:light;--site-paper:#f2ecdf;--site-paper-deep:#e5dac7;--site-ink:#22211e;--site-muted:#6d675d;--site-line:#cfc3af;--site-accent:#c94f35;--site-accent-soft:#f2d8cb;--site-rule:#22211e0b;--site-card:#fffaf0a3;--site-button:#22211e;--site-button-text:#f2ecdf;--color-paper:var(--site-paper);--color-paper-deep:var(--site-paper-deep);--color-ink:var(--site-ink);--color-muted:var(--site-muted);--color-line:var(--site-line);--color-accent:var(--site-accent);--color-accent-soft:var(--site-accent-soft);background:var(--site-paper);color:var(--site-ink);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;font-family:DM Sans,sans-serif}:root[data-theme=dark]{color-scheme:dark;--site-paper:#191b1b;--site-paper-deep:#252827;--site-ink:#f1ebdf;--site-muted:#b2ac9f;--site-line:#454742;--site-accent:#f17e63;--site-accent-soft:#492e28;--site-rule:#f1ebdf0e;--site-card:#fffaf009;--site-button:#f1ebdf;--site-button-text:#191b1b;--color-paper:var(--site-paper);--color-paper-deep:var(--site-paper-deep);--color-ink:var(--site-ink);--color-muted:var(--site-muted);--color-line:var(--site-line);--color-accent:var(--site-accent);--color-accent-soft:var(--site-accent-soft)}body{background-color:var(--site-paper);background-image:linear-gradient(to bottom,var(--site-rule)1px,transparent 1px);background-size:100% 34px;min-width:320px;margin:0;transition:background-color .25s,color .25s}::selection{background:var(--site-accent);color:var(--site-paper)}:focus-visible{outline:2px solid var(--site-accent);outline-offset:4px}section[id]{scroll-margin-top:6rem}.bg-paper{background-color:var(--site-paper);background-image:linear-gradient(to bottom,var(--site-rule)1px,transparent 1px);background-size:100% 34px;background-attachment:fixed;transition:background-color .25s,color .25s}.hero-title{font-family:DM Serif Display,Georgia,serif;font-weight:400}.hero-title em{color:var(--site-accent);font-weight:400}.font-note{font-family:Caveat,cursive}.section-mark{background:var(--site-accent);vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:.65rem;display:inline-block}.section-kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--site-muted);align-items:center;gap:.65rem;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:500;display:flex}.section-kicker:before{background:var(--site-accent);content:"";border-radius:50%;width:7px;height:7px}.section-kicker span{color:var(--site-muted)}.ink-button,.paper-button{border-radius:3px;align-items:center;gap:.65rem;padding:.8rem 1.1rem;font-size:.85rem;font-weight:700;transition:transform .2s,background-color .2s,color .2s;display:inline-flex}.ink-button{background:var(--site-button);color:var(--site-button-text)}.ink-button:hover{background:var(--site-accent);color:#fffaf0;transform:translateY(-2px)rotate(-1deg)}.paper-button{border:1px solid var(--site-ink)}@supports (color:color-mix(in lab,red,red)){.paper-button{border:1px solid color-mix(in srgb,var(--site-ink)35%,transparent)}}.paper-button{color:var(--site-ink)}.paper-button:hover{border-color:var(--site-accent);color:var(--site-accent);transform:translateY(-2px)rotate(1deg)}.topic-tag{border:1px solid var(--site-ink)}@supports (color:color-mix(in lab,red,red)){.topic-tag{border:1px solid color-mix(in srgb,var(--site-ink)24%,transparent)}}.topic-tag{color:var(--site-muted);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:.4rem .7rem;font-family:IBM Plex Mono,monospace;font-size:.63rem}.hand-note{font-family:Caveat,cursive}.hand-note span{display:inline-block;transform:rotate(10deg)}.board-wrap{width:min(100%,490px);margin-inline:auto;position:relative}.board-label{color:var(--site-muted);letter-spacing:.14em;margin-bottom:.65rem;font-size:.62rem}.board-label span{color:var(--site-accent);padding:0 .4rem}.chessboard{aspect-ratio:1;box-shadow:9px 9px 0 var(--site-accent);border:1px solid #22211e;grid-template-rows:repeat(8,minmax(0,1fr));grid-template-columns:repeat(8,minmax(0,1fr));display:grid;position:relative;overflow:hidden;transform:rotate(-1deg)}.board-square{place-items:center;display:grid;position:relative}.board-square.is-dark{background:#35342f}.board-square.is-light{background:#eae1d1}.board-square.is-marked:after{border:1px dashed var(--site-accent);position:absolute;top:24%;right:24%;bottom:24%;left:24%}@supports (color:color-mix(in lab,red,red)){.board-square.is-marked:after{border:1px dashed color-mix(in srgb,var(--site-accent)82%,transparent)}}.board-square.is-marked:after{content:"";border-radius:50%}.board-square.start-square{background:var(--site-accent)}.chess-piece{z-index:2;color:#fff8e9;text-shadow:1px 2px #00000038;font-family:Georgia,serif;font-size:clamp(1.7rem,5vw,3.4rem);line-height:1;position:relative}.black-piece{color:#22211e}.coordinate-tag{color:#22211e66;font-family:IBM Plex Mono,monospace;font-size:.5rem;position:absolute;top:3px;left:4px}.coordinate-file{inset:auto 4px 3px auto}.knight-path{z-index:3;pointer-events:none;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible}.knight-path path{fill:none;stroke:var(--site-accent);stroke-width:9px;stroke-linecap:round;stroke-linejoin:round;opacity:.8}.knight-path circle{fill:var(--site-paper);stroke:var(--site-accent);stroke-width:8px}.board-signature{z-index:4;background:var(--site-paper);color:var(--site-accent);padding:.1rem .35rem;font-size:clamp(1rem,3vw,1.6rem);position:absolute;bottom:8%;right:5%;transform:rotate(-8deg)}.board-coordinates{color:var(--site-muted);text-align:center;grid-template-columns:repeat(8,1fr);margin-top:.4rem;font-size:.55rem;display:grid}.board-caption{color:var(--site-muted);letter-spacing:.14em;margin-top:.55rem;font-size:.58rem}.board-caption span{color:var(--site-accent)}.hobby-grid{align-items:stretch}.hobby-card{border:1px solid var(--site-ink);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.6rem;min-height:162px;display:grid;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.hobby-card{border:1px solid color-mix(in srgb,var(--site-ink)25%,transparent)}}.hobby-card{background:var(--site-card);padding:.9rem 1rem;transition:transform .22s,box-shadow .22s,background-color .25s}.hobby-card:hover{box-shadow:4px 5px 0 var(--site-ink);transform:translateY(-3px)rotate(-.5deg)}@supports (color:color-mix(in lab,red,red)){.hobby-card:hover{box-shadow:4px 5px color-mix(in srgb,var(--site-ink)13%,transparent)}}.hobby-meta{text-align:right;flex-direction:column;gap:.5rem;min-width:90px;display:flex}.hobby-meta span{color:var(--site-muted);letter-spacing:.1em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.53rem}.hobby-meta strong{color:var(--site-ink);letter-spacing:-.03em;font-size:1rem}.hobby-art{min-width:0;height:112px;color:var(--site-ink);place-items:center;display:grid;position:relative}.hobby-art svg{width:100%;max-width:180px;height:100%;overflow:visible}.hobby-drawing .hobby-art svg>path:first-child{stroke:var(--site-ink);stroke-width:3.2px;stroke-linecap:round;stroke-dasharray:1.1 1.2}.hobby-art .pencil-line{stroke:var(--site-accent);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.hobby-art .pencil-dot{stroke:var(--site-accent);stroke-width:6px;stroke-linecap:round}.hobby-art .skate-detail{stroke:var(--site-ink);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.hobby-art .motion-line{stroke:var(--site-accent);stroke-width:2px;stroke-linecap:round}.hobby-skate .hobby-art svg>path:first-child{fill:var(--site-accent);stroke:var(--site-ink);stroke-width:3px;stroke-linejoin:round}.hobby-art circle{fill:var(--site-paper);stroke:var(--site-ink);stroke-width:3px}.hobby-checker{border:1px solid var(--site-ink);grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(4,1fr);width:92px;height:92px;display:grid;transform:rotate(-4deg)}.hobby-checker .square-dark{background:var(--site-ink)}.hobby-checker .square-light{background:var(--site-paper-deep)}.hobby-knight{color:var(--site-accent);text-shadow:1px 1px var(--site-paper);font-size:2.2rem;line-height:1;position:absolute;top:17px;left:35px}.project-card{background:var(--site-card);transition:background-color .25s}.feature-graphic{--color-ink:#22211e;--color-paper:#f2ecdf;color:#f2ecdf;border:1px solid #fffaf026}.feature-graphic:after{content:"";pointer-events:none;background-image:repeating-linear-gradient(135deg,#0000 0,#0000 17px,#ffffff0f 17px,#ffffff0f 18px);position:absolute;top:0;right:0;bottom:0;left:0}.education-card{position:relative}.degree-mark{border:1px solid var(--site-accent);width:52px;height:52px;color:var(--site-accent);flex:none;place-items:center;font-size:1.1rem;display:grid;transform:rotate(5deg)}.credential-row{position:relative}.theme-toggle svg{transition:transform .4s cubic-bezier(.2,.8,.2,1)}.theme-toggle:hover svg{transform:rotate(-18deg)scale(1.08)}.theme-wipe{z-index:1000;pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.theme-wipe:before{z-index:1;background:var(--site-ink);content:"";opacity:0;position:absolute;top:0;right:0;bottom:0;left:0}.theme-wipe.is-running:before{animation:1.84s ease-in-out both soft-veil}.flag-curtain{z-index:2;background-color:#d9cfbd;background-image:conic-gradient(#71685d 25%,#d9cfbd 0,#d9cfbd 50%,#71685d 0,#71685d 75%,#d9cfbd 0);opacity:0;transform-origin:50%;background-size:128px 128px;width:180vw;height:180vh;position:absolute;top:-40vh;left:-180vw;transform:rotate(-4deg);box-shadow:12px 0 #c94f3585}.theme-wipe.is-running .flag-curtain{animation:1.84s cubic-bezier(.45,0,.55,1) both flag-sweep}.skater-rider{z-index:3;filter:drop-shadow(2px 3px #22211e1f);width:265px;height:220px;position:absolute;top:52%;left:-290px}.theme-wipe.is-running .skater-rider{animation:1.84s cubic-bezier(.45,0,.55,1) both skater-cross}.skater-rider svg{width:100%;height:100%;overflow:visible}.rider-outline{fill:#f2ecdf;stroke:#22211e;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.rider-fill{fill:#c94f35;stroke:#22211e;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.rider-detail{fill:none;stroke:#22211e;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.rider-wheel{fill:#f2ecdf;stroke:#22211e;stroke-width:5px}.rider-flag-square-dark{fill:#71685d}.rider-flag-square-light{fill:#d9cfbd;stroke:#71685d;stroke-width:1px}.flag-cloth{transform-origin:8px 26px;animation:.48s ease-in-out infinite alternate flag-flap}@keyframes flag-sweep{0%{opacity:0;left:-180vw;transform:rotate(-4deg)}12%{opacity:.96}42%{left:-76vw;transform:rotate(-2deg)}52%{left:-44vw;transform:rotate(0)}65%{left:0;transform:rotate(1deg)}88%{opacity:.96}to{opacity:0;left:180vw;transform:rotate(3deg)}}@keyframes skater-cross{0%{left:-290px;transform:translateY(-50%)rotate(-4deg)}48%{left:calc(48vw - 132px);transform:translateY(-50%)rotate(0)}to{left:calc(100vw + 20px);transform:translateY(-50%)rotate(-3deg)}}@keyframes flag-flap{0%{transform:skewY(-1deg)}to{transform:skewY(2deg)}}@keyframes soft-veil{0%,to{opacity:0}40%,64%{opacity:.12}}@media(max-width:639px){.board-wrap{width:min(88%,380px)}.hobby-card{min-height:140px}.flag-curtain{background-size:90px 90px}.skater-rider{width:210px;height:175px;top:58%}@keyframes skater-cross{0%{left:-230px;transform:translateY(-50%)rotate(-4deg)}48%{left:calc(48vw - 105px);transform:translateY(-50%)rotate(1deg)}to{left:calc(100vw + 20px);transform:translateY(-50%)rotate(-3deg)}}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@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}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}
