.top-nav[data-astro-cid-ugcunkw7]{background:var(--color-surface);border-bottom:1px solid var(--color-border-subtle);padding:var(--space-3) var(--space-4);position:sticky;top:0;z-index:100}.nav-inner[data-astro-cid-ugcunkw7]{max-width:960px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;min-height:42px}.nav-actions[data-astro-cid-ugcunkw7]{display:flex;align-items:center;gap:var(--space-2)}.home-link[data-astro-cid-ugcunkw7]{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;border-radius:999px;color:var(--color-text-muted);transition:color .2s ease,transform .15s ease}.home-link[data-astro-cid-ugcunkw7]:hover,.home-link[data-astro-cid-ugcunkw7]:focus-visible{color:var(--color-accent);transform:translateY(-1px)}.home-link[data-astro-cid-ugcunkw7]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.home-mark[data-astro-cid-ugcunkw7]{display:inline-flex;align-items:center;justify-content:center}.home-icon[data-astro-cid-ugcunkw7]{display:block;width:20px;height:20px}.home-door-dot[data-astro-cid-ugcunkw7]{fill:var(--color-accent);opacity:0;transition:opacity .2s ease}.home-link[data-astro-cid-ugcunkw7]:hover .home-door-dot[data-astro-cid-ugcunkw7],.home-link[data-astro-cid-ugcunkw7]:focus-visible .home-door-dot[data-astro-cid-ugcunkw7]{opacity:1}.home-dot[data-astro-cid-ugcunkw7]{display:none;width:7px;height:7px;border-radius:999px;background:var(--color-accent)}.home-link[data-astro-cid-ugcunkw7].is-home .home-icon[data-astro-cid-ugcunkw7]{display:none}.home-link[data-astro-cid-ugcunkw7].is-home .home-dot[data-astro-cid-ugcunkw7]{display:block}.home-link[data-astro-cid-ugcunkw7].is-home:hover,.home-link[data-astro-cid-ugcunkw7].is-home:focus-visible{transform:none}.home-link[data-astro-cid-ugcunkw7].is-home:hover .home-dot[data-astro-cid-ugcunkw7],.home-link[data-astro-cid-ugcunkw7].is-home:focus-visible .home-dot[data-astro-cid-ugcunkw7]{box-shadow:0 0 0 6px var(--color-accent-soft)}.home-link[data-astro-cid-ugcunkw7]:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 8px);left:0;z-index:200;padding:4px 8px;border-radius:6px;background:var(--color-text);color:var(--color-surface);font-family:var(--font-display);font-size:var(--fs-xs);font-weight:500;line-height:1.2;white-space:nowrap;box-shadow:var(--shadow-card);opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .15s ease,transform .15s ease}.home-link[data-astro-cid-ugcunkw7]:hover:after,.home-link[data-astro-cid-ugcunkw7]:focus-visible:after{opacity:1;transform:translateY(0)}@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-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--radius-md:.375rem;--radius-lg:.5rem;--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{.invisible{visibility:hidden}.visible{visibility:visible}.fixed{position:fixed}.static{position:static}.sticky{position:sticky}.isolate{isolation:isolate}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.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-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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))}}:root{--color-bg:#faf8f4;--color-surface:#fff;--color-surface-alt:#f2ece3;--color-border-subtle:#26201a1a;--color-text:#211d19;--color-text-muted:#6b6256;--color-accent:#b85c38;--color-accent-hover:#9c4a2b;--color-accent-soft:#b85c381a;--color-grid-dot:#26201a0d;--radius-md:10px;--radius-lg:16px;--shadow-soft:0 18px 50px #211d191a;--shadow-card:0 4px 20px #211d190d;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--font-display:"Outfit", sans-serif;--font-body:"Outfit", sans-serif;--fs-display:clamp(2.6rem, 4.5vw, 3.6rem);--fs-heading:clamp(1.3rem, 2vw, 1.6rem);--fs-body:1rem;--fs-small:.85rem;--fs-xs:.75rem;--lh-display:1.08;--lh-heading:1.3;--lh-body:1.7;color-scheme:light}:root[data-theme=dark]{--color-bg:#15120f;--color-surface:#1e1a16;--color-surface-alt:#29231d;--color-border-subtle:#ebe1d21f;--color-text:#f0eae1;--color-text-muted:#a89d8e;--color-accent:#e08a63;--color-accent-hover:#efa079;--color-accent-soft:#e08a6324;--color-grid-dot:#ebe1d20d;--shadow-soft:0 18px 50px #00000080;--shadow-card:0 4px 20px #00000061;color-scheme:dark}:root[data-theme-family=original]{--color-bg:#f5f0eb;--color-surface:#fdfbf8;--color-surface-alt:#ede7df;--color-border-subtle:#78645026;--color-text:#2c2420;--color-text-muted:#7a6e62;--color-accent:#c2694f;--color-accent-hover:#a8553d;--color-accent-soft:#c2694f1a;--radius-md:12px;--radius-lg:20px;--shadow-soft:0 8px 30px #2c242014;--shadow-card:0 2px 12px #2c24200f;--font-body:"Source Serif 4", Georgia, serif;--fs-display:clamp(2.5rem, 4vw, 3.25rem);--fs-heading:clamp(1.25rem, 2vw, 1.5rem);--fs-body:1rem;--lh-display:1.15;--lh-body:1.7;color-scheme:light}:root[data-theme-family=original][data-theme=dark]{--color-bg:#1a1613;--color-surface:#242019;--color-surface-alt:#2f2922;--color-border-subtle:#dcc8b424;--color-text:#ede7df;--color-text-muted:#ada192;--color-accent:#d9836a;--color-accent-hover:#e89c84;--color-accent-soft:#d9836a24;--shadow-soft:0 8px 30px #00000073;--shadow-card:0 2px 12px #00000059;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}html{scrollbar-gutter:stable}body{font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s,color .3s}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.02em;font-weight:600;line-height:var(--lh-heading)}a{color:var(--color-accent);text-decoration:none;transition:color .2s}a:hover{color:var(--color-accent-hover)}main{max-width:960px;padding:var(--space-7) var(--space-4) var(--space-8);margin:0 auto}main.home-main{max-width:100%;padding-left:0;padding-right:0}.main-inner{max-width:960px;padding-inline:var(--space-4);margin:0 auto}.carousel-wrapper{max-width:1520px;padding-inline:var(--space-4);margin:0 auto}.section-shell{margin-bottom:var(--space-7)}.section-shell:last-of-type{margin-bottom:0}.surface{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.surface-section{padding:var(--space-6)}.theme-toggle,.theme-family-toggle{border:1px solid var(--color-border-subtle);background:var(--color-surface);width:40px;height:40px;color:var(--color-text);box-shadow:var(--shadow-card);cursor:pointer;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0;transition:background-color .2s,color .2s,border-color .2s,transform .15s;display:inline-flex;position:relative}.theme-toggle:hover,.theme-family-toggle:hover{border-color:var(--color-accent);color:var(--color-accent);transform:translateY(-1px)}.theme-toggle:focus-visible,.theme-family-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.theme-toggle svg,.theme-family-toggle svg{width:20px;height:20px}.theme-toggle .icon-sun,.theme-toggle .icon-moon{display:none}.theme-toggle .icon-system{display:block}:root[data-theme-mode=light] .theme-toggle .icon-system{display:none}:root[data-theme-mode=light] .theme-toggle .icon-sun{display:block}:root[data-theme-mode=dark] .theme-toggle .icon-system{display:none}:root[data-theme-mode=dark] .theme-toggle .icon-moon{display:block}.theme-toggle:after,.theme-family-toggle:after{content:attr(data-tooltip);z-index:200;background:var(--color-text);color:var(--color-surface);font-family:var(--font-display);font-size:var(--fs-xs);white-space:nowrap;box-shadow:var(--shadow-card);opacity:0;pointer-events:none;border-radius:6px;padding:4px 8px;font-weight:500;line-height:1.2;transition:opacity .15s,transform .15s;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-4px)}.theme-toggle:hover:after,.theme-toggle:focus-visible:after,.theme-family-toggle:hover:after,.theme-family-toggle:focus-visible:after{opacity:1;transform:translateY(0)}.eyebrow{font-family:var(--font-display);font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent);font-weight:500}.page-heading{font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:-.04em;margin-top:var(--space-2);margin-bottom:var(--space-3);color:var(--color-text)}.page-subtitle{font-family:var(--font-body);font-size:var(--fs-body);color:var(--color-text-muted);line-height:var(--lh-body);max-width:40rem}.section-heading{font-size:var(--fs-heading);margin-top:0;margin-bottom:var(--space-3)}.text-muted{color:var(--color-text-muted)}.text-small{font-size:var(--fs-small)}.text-xs{font-size:var(--fs-xs)}.grid-gap-md{gap:var(--space-4);display:grid}.pill{align-items:center;gap:var(--space-2);border:1px solid var(--color-border-subtle);background:var(--color-surface-alt);color:var(--color-text-muted);font-family:var(--font-display);font-size:var(--fs-xs);border-radius:999px;padding:4px 12px;font-weight:500;display:inline-flex}.pill-dot{background:var(--color-accent);border-radius:999px;width:7px;height:7px}.tag-chip{border:1px solid var(--color-border-subtle);background:var(--color-surface-alt);font-family:var(--font-display);font-size:var(--fs-xs);color:var(--color-text-muted);border-radius:999px;padding:2px 10px}.tags-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.craft-links{gap:var(--space-4);flex-wrap:wrap;justify-content:center;display:flex}.craft-link{--tick-color:var(--color-text-muted)}@supports (color:color-mix(in lab,red,red)){.craft-link{--tick-color:color-mix(in srgb, var(--color-text-muted) 55%, transparent)}}.craft-link{align-items:center;gap:var(--space-2);padding:14px var(--space-5);border:1px solid var(--color-border-subtle);border-radius:calc(var(--radius-md) - 4px);background:var(--color-surface);color:var(--color-text);font-family:var(--font-display);font-size:var(--fs-small);letter-spacing:.09em;text-transform:uppercase;box-shadow:var(--shadow-card);font-weight:600;line-height:1.2;transition:transform .2s,border-color .2s,box-shadow .2s,color .2s;display:inline-flex;position:relative}.craft-link:hover,.craft-link:focus-visible{color:var(--color-text);border-color:var(--color-accent);transform:translateY(-2px)}@supports (color:color-mix(in lab,red,red)){.craft-link:hover,.craft-link:focus-visible{border-color:color-mix(in srgb,var(--color-accent) 45%,var(--color-border-subtle))}}.craft-link:hover,.craft-link:focus-visible{box-shadow:var(--shadow-soft)}.craft-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.craft-link:before{content:"";pointer-events:none;background:linear-gradient(var(--color-accent),var(--color-accent)) top left / 10px 1px no-repeat,linear-gradient(var(--color-accent),var(--color-accent)) top left / 1px 10px no-repeat,linear-gradient(var(--color-accent),var(--color-accent)) bottom right / 10px 1px no-repeat,linear-gradient(var(--color-accent),var(--color-accent)) bottom right / 1px 10px no-repeat;opacity:0;transition:opacity .25s,transform .3s;position:absolute;inset:-6px;transform:scale(.94)}.craft-link:hover:before,.craft-link:focus-visible:before{opacity:1;transform:scale(1)}.craft-link:after{content:"";left:var(--space-4);right:var(--space-4);background:repeating-linear-gradient(to right,var(--tick-color) 0 1px,transparent 1px 7px) left bottom / 100% 4px no-repeat,linear-gradient(var(--tick-color),var(--tick-color)) left bottom / 100% 1px no-repeat;transform-origin:0;height:5px;transition:transform .35s cubic-bezier(.22,1,.36,1);position:absolute;bottom:5px;transform:scaleX(0)}.craft-link:hover:after,.craft-link:focus-visible:after{transform:scaleX(1)}.craft-link-index{font-size:var(--fs-xs);letter-spacing:.18em;color:var(--color-accent);align-items:center;display:inline-flex}.craft-link-index:after{content:"";width:14px;height:1px;margin-left:var(--space-2);background:var(--color-accent);display:inline-block}@supports (color:color-mix(in lab,red,red)){.craft-link-index:after{background:color-mix(in srgb,var(--color-accent) 60%,transparent)}}.craft-link-arrow{color:var(--color-accent);transition:transform .2s}.craft-link:hover .craft-link-arrow,.craft-link:focus-visible .craft-link-arrow{transform:translate(3px)}.craft-link-out:hover .craft-link-arrow,.craft-link-out:focus-visible .craft-link-arrow{transform:translate(2px,-2px)}.craft-link:active .craft-link-arrow{transition-duration:.1s;transform:translate(8px)}.craft-link-out:active .craft-link-arrow{transform:translate(5px,-5px)}.project-entry{padding:var(--space-5) 0;border-bottom:1px solid var(--color-border-subtle);box-shadow:none;background:0 0;border-radius:0;margin-bottom:0;scroll-margin-top:72px}.project-entry:last-of-type{border-bottom:none;margin-bottom:0}.project-meta{gap:var(--space-3);margin-bottom:var(--space-3);font-family:var(--font-display);font-size:var(--fs-small);color:var(--color-text-muted);flex-wrap:wrap;font-weight:500;display:flex}.project-title{font-size:var(--fs-heading);margin:0 0 var(--space-2)}.project-title a{color:inherit;text-decoration:none}.project-title a:hover{color:var(--color-accent)}.project-description{margin:0 0 var(--space-3);color:var(--color-text-muted);font-size:var(--fs-small)}.post-end-mark{background:var(--color-accent);width:8px;height:8px;margin:var(--space-6) auto 0;opacity:.8}.carousel-track{gap:var(--space-4);overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:var(--space-1);-webkit-overflow-scrolling:touch;padding:var(--space-2) var(--space-1) var(--space-3);scrollbar-width:none;justify-content:safe center;display:flex;overflow-x:auto}.carousel-track::-webkit-scrollbar{display:none}.carousel-slider{width:100%;max-width:200px;margin:var(--space-3) auto 0;padding-block:var(--space-2);cursor:pointer;touch-action:none}.carousel-slider[hidden]{display:none}.carousel-slider-track{background:var(--color-border-subtle);border-radius:999px;height:3px;position:relative}.carousel-slider-thumb{background:var(--color-text-muted);will-change:transform;inset-block:0;border-radius:999px;width:40px;transition:background .2s;position:absolute;left:0}.carousel-slider:hover .carousel-slider-thumb,.carousel-slider.is-dragging .carousel-slider-thumb{background:var(--color-text)}.carousel-card{width:300px;box-shadow:var(--shadow-card);scroll-snap-align:start;border:none;flex:0 0 300px;transition:transform .25s,box-shadow .25s;overflow:hidden}.carousel-card-media{width:100%;height:190px;margin-bottom:calc(var(--space-5) * -1);pointer-events:none;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#000 0% 55%,#0000 100%);mask-image:linear-gradient(#000 0% 55%,#0000)}.carousel-card-media img{object-fit:cover;object-position:var(--cover-focus,center);width:100%;height:100%;transform:scale(var(--cover-zoom,1));transform-origin:var(--cover-focus,center);display:block}.carousel-card:hover{box-shadow:var(--shadow-soft);transform:translateY(-4px)}.carousel-card-inner{padding:var(--space-4);position:relative}.carousel-card-title{margin:0 0 var(--space-2);font-size:1.05rem}.carousel-card-desc{margin:0 0 var(--space-3);font-size:var(--fs-small);color:var(--color-text-muted)}.carousel-card-date{font-size:var(--fs-xs);color:var(--color-text-muted);font-family:var(--font-display);margin:0}.section-inner{padding:var(--space-6)}.section-header{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-5);display:flex}.project-list{margin:0;padding:0;list-style:none}.project-list-item{margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border-subtle)}.project-list-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.project-list-item a{color:inherit;text-decoration:none;display:block}.project-list-item a:hover h2{color:var(--color-accent)}.project-list-title{margin:0 0 var(--space-1);font-size:1.05rem}.project-list-meta{margin:0 0 var(--space-1);font-family:var(--font-display);font-size:var(--fs-xs);color:var(--color-text-muted)}.project-list-desc{font-size:var(--fs-small);color:var(--color-text-muted);margin:0}.prose h2,.prose h3{margin-top:var(--space-6);margin-bottom:var(--space-3)}.prose p{margin-bottom:var(--space-4)}.prose ul,.prose ol{padding-left:var(--space-5);margin-bottom:var(--space-4)}.prose li{margin-bottom:var(--space-2)}.prose code{background:var(--color-surface-alt);border-radius:4px;padding:2px 6px;font-size:.9em}.prose pre{background:var(--color-text);color:var(--color-bg);padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);overflow-x:auto}.prose pre code{background:0 0;padding:0}:root:not([data-theme-family=original]) body{background-image:radial-gradient(var(--color-grid-dot) 1px,transparent 1.4px);background-size:28px 28px}:root:not([data-theme-family=original]) ::selection{background:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){:root:not([data-theme-family=original]) ::selection{background:color-mix(in srgb,var(--color-accent) 26%,transparent)}}:root:not([data-theme-family=original]) .page-heading{letter-spacing:-.035em;text-wrap:balance;font-weight:700}:root:not([data-theme-family=original]) .project-title,:root:not([data-theme-family=original]) .project-list-title,:root:not([data-theme-family=original]) .section-heading,:root:not([data-theme-family=original]) .carousel-card-title{text-wrap:balance}:root:not([data-theme-family=original]) .eyebrow:before{content:"";width:14px;height:1px;margin-right:var(--space-2);vertical-align:middle;background:var(--color-accent);display:inline-block}:root:not([data-theme-family=original]) .section-header{border-bottom:1px solid var(--color-border-subtle);padding-bottom:var(--space-4)}:root:not([data-theme-family=original]) .js-projects-log .grid-gap-md{counter-reset:post;gap:var(--space-8)}:root:not([data-theme-family=original]) .js-projects-log .project-entry{counter-increment:post;padding-block:var(--space-7)}:root:not([data-theme-family=original]) .js-projects-log .project-title{font-size:clamp(1.6rem,3.2vw,2.2rem);line-height:1.15}:root:not([data-theme-family=original]) .js-projects-log .project-title:before{content:"Build " counter(post,decimal-leading-zero);margin-bottom:var(--space-2);font-family:var(--font-display);font-size:var(--fs-xs);letter-spacing:.22em;text-transform:uppercase;color:var(--color-accent);font-weight:600;display:block}:root:not([data-theme-family=original]) .project-content,:root:not([data-theme-family=original]) .prose{font-size:1.02rem;line-height:1.75}:root:not([data-theme-family=original]) .project-content>p,:root:not([data-theme-family=original]) .prose>p{text-wrap:pretty;max-width:68ch}:root:not([data-theme-family=original]) .entry-leadin{letter-spacing:.07em;text-transform:uppercase;text-underline-offset:.3em;text-decoration-line:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);font-size:.88em;font-weight:600}@supports (color:color-mix(in lab,red,red)){:root:not([data-theme-family=original]) .entry-leadin{-webkit-text-decoration-color:color-mix(in srgb,var(--color-accent) 55%,transparent);text-decoration-color:color-mix(in srgb,var(--color-accent) 55%,transparent)}}:root:not([data-theme-family=original]) .project-content a,:root:not([data-theme-family=original]) .prose a{text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){:root:not([data-theme-family=original]) .project-content a,:root:not([data-theme-family=original]) .prose a{-webkit-text-decoration-color:color-mix(in srgb,var(--color-accent) 45%,transparent);text-decoration-color:color-mix(in srgb,var(--color-accent) 45%,transparent)}}:root:not([data-theme-family=original]) .project-content a:hover,:root:not([data-theme-family=original]) .prose a:hover{text-decoration-color:currentColor}:root:not([data-theme-family=original]) .project-content img,:root:not([data-theme-family=original]) .prose img{border-radius:var(--radius-md);box-shadow:var(--shadow-card);margin-block:var(--space-5)}:root:not([data-theme-family=original]) .project-content blockquote,:root:not([data-theme-family=original]) .prose blockquote{margin:var(--space-5) 0;padding-left:var(--space-4);border-left:2px solid var(--color-accent);color:var(--color-text-muted);font-weight:500}:root:not([data-theme-family=original]) .post-end-mark{--tick-color:var(--color-text-muted)}@supports (color:color-mix(in lab,red,red)){:root:not([data-theme-family=original]) .post-end-mark{--tick-color:color-mix(in srgb, var(--color-text-muted) 60%, transparent)}}:root:not([data-theme-family=original]) .post-end-mark{width:121px;height:11px;margin:var(--space-7) auto 0;opacity:1;background:repeating-linear-gradient(to right,var(--color-accent) 0 1px,transparent 1px 60px) left bottom / 100% 11px no-repeat,repeating-linear-gradient(to right,var(--tick-color) 0 1px,transparent 1px 12px) left bottom / 100% 6px no-repeat,linear-gradient(var(--tick-color),var(--tick-color)) left bottom / 100% 1px no-repeat}:root:not([data-theme-family=original]) .carousel-card{border:1px solid var(--color-border-subtle)}:root:not([data-theme-family=original]) .carousel-card:hover{border-color:var(--color-accent-soft)}:root:not([data-theme-family=original]) .carousel-card-title{font-size:1.1rem}@media(max-width:720px){:root:not([data-theme-family=original]){--fs-body:1.0625rem;--fs-small:.95rem;--fs-xs:.8rem}:root:not([data-theme-family=original]) main:not(.home-main),:root:not([data-theme-family=original]) .main-inner{padding-inline:var(--space-4)}:root:not([data-theme-family=original]) .surface-section{padding-inline:0}:root:not([data-theme-family=original]) .js-projects-log .grid-gap-md{gap:var(--space-7)}:root:not([data-theme-family=original]) .js-projects-log .project-title{font-size:1.7rem}:root:not([data-theme-family=original]) .project-content,:root:not([data-theme-family=original]) .prose{font-size:1.125rem;line-height:1.7}:root:not([data-theme-family=original]) .project-content>p,:root:not([data-theme-family=original]) .prose>p{text-wrap:wrap;max-width:none}}.sr-only{clip:rect(0 0 0 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media(max-width:720px){main{padding-inline:var(--space-3)}main.home-main{padding-left:0;padding-right:0}.main-inner,.carousel-wrapper{padding-inline:var(--space-3)}.surface{border-radius:var(--radius-md)}.surface-section{padding:var(--space-4)}.carousel-track{gap:var(--space-3);scroll-padding-inline:var(--space-4)}.carousel-card{flex-basis:80vw;width:80vw;max-width:300px}.section-inner{padding:var(--space-4)}}@media(prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!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-outline-style{syntax:"*";inherits:false;initial-value:solid}
