.footer-strip[data-astro-cid-r4pr4x4w]{display:inline-flex;align-items:center;max-width:100%;opacity:.85;transition:opacity .2s var(--ease-smooth)}.footer-strip[data-astro-cid-r4pr4x4w]:hover,.footer-strip[data-astro-cid-r4pr4x4w]:focus-visible{opacity:1}.footer-strip[data-astro-cid-r4pr4x4w] svg[data-astro-cid-r4pr4x4w]{display:block;max-width:100%;height:auto}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--step--2: clamp(.7813rem, .7747rem + .0326vw, .8rem);--step--1: clamp(.9375rem, .9158rem + .1087vw, 1rem);--step-0: clamp(1.125rem, 1.0815rem + .2174vw, 1.25rem);--step-1: clamp(1.35rem, 1.2761rem + .3696vw, 1.5625rem);--step-2: clamp(1.62rem, 1.5041rem + .5793vw, 1.9531rem);--step-3: clamp(1.944rem, 1.771rem + .8651vw, 2.4414rem);--step-4: clamp(2.3328rem, 2.0827rem + 1.2504vw, 3.0518rem);--step-5: clamp(2.7994rem, 2.4462rem + 1.7658vw, 3.8147rem);--color-bg: hsl(40, 30%, 96%);--color-surface: hsl(40, 27%, 99%);--color-text: hsl(30, 15%, 15%);--color-text-secondary: hsl(30, 10%, 43%);--color-accent: hsl(356, 45%, 33%);--color-border: hsl(38, 16%, 85%);--color-border-hover: hsl(38, 16%, 76%);--font-serif: "Literata", Georgia, serif;--font-mono: "JetBrains Mono", "SF Mono", Consolas, monospace;--font-hand: "Caveat", cursive;--font-type: "Courier Prime", "Courier New", Courier, monospace;--grid-accent: var(--color-accent);--hover-wash: color-mix(in srgb, var(--color-text) 4.5%, transparent);--paper: #fbf8f1;--paper-card: #f4efdd;--grid-axis: hsl(35, 15%, 80%);--grid-ghost: hsl(35, 18%, 90%);--grid-meta: hsl(30, 10%, 50%);--container-max: 680px;--space-3xs: 2px;--space-2xs: 3px;--space-xs: 4px;--space-sm: clamp(8px, .5vw + 4px, 12px);--space-md: clamp(16px, 1vw + 12px, 24px);--space-lg: clamp(32px, 2vw + 24px, 48px);--space-xl: clamp(64px, 4vw + 48px, 80px);--space-2xl: clamp(96px, 6vw + 72px, 120px);--ease-smooth: cubic-bezier(.2, .8, .2, 1);--word-gap: 1.2em;--mark-draw: .2s;--mark-ease: var(--ease-smooth);--shadow-subtle: 0 4px 12px -2px rgba(33, 28, 22, .04), 0 2px 4px -2px rgba(33, 28, 22, .03)}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{font-family:var(--font-serif);font-size:var(--step-0);line-height:1.6;color:var(--color-text);background-color:var(--color-bg)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){:root{--mark-draw: 0ms}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0ms!important;transition-duration:.01ms!important;transition-delay:0ms!important}}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:500;line-height:1.25;color:var(--color-text);letter-spacing:-.015em;text-wrap:balance}strong,b,h5,h6,th{font-weight:500}h1{font-size:var(--step-4)}h2{font-size:var(--step-2)}h3{font-size:var(--step-1)}h4{font-size:var(--step-0)}p{margin-bottom:1.25rem}a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--color-text) 32%,transparent);transition:text-decoration-color .2s var(--ease-smooth)}a:hover{text-decoration-color:var(--color-text)}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--space-md)}.site-wrapper{min-height:100vh;display:flex;flex-direction:column}.site-header{padding:var(--space-md) 0;border-bottom:1px solid var(--color-border);background:var(--color-bg);position:sticky;top:0;z-index:100}.site-header .container{display:flex;justify-content:space-between;align-items:center;gap:12px}.site-logo{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-serif);font-size:var(--step-0);font-weight:500;color:var(--color-text);text-decoration:none;letter-spacing:-.01em;transition:opacity .2s;white-space:nowrap;flex-shrink:0}.site-logo:hover{opacity:.7}.site-nav{display:flex;align-items:center;gap:var(--space-md)}.mode-toggle{--mt-w: 44px;--mt-h: 24px;appearance:none;width:var(--mt-w);height:var(--mt-h);padding:0;margin:0 3px 0 31px;border:0;border-radius:999px;background:none;color:var(--color-text);cursor:pointer;display:inline-flex;position:relative;flex-shrink:0}.mode-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.mode-toggle .mt-track{position:relative;width:44px;height:22px;margin:auto 0;border-radius:999px;background:radial-gradient(12px 9px at 33px 11px,rgb(79 123 153 / .16),transparent 100%),linear-gradient(90deg,color-mix(in srgb,var(--color-text) 5.5%,var(--color-bg)),color-mix(in srgb,var(--color-text) 6%,var(--color-bg)) 48%,color-mix(in srgb,#4a7896 12%,var(--color-bg)));box-shadow:inset 0 1.25px 2.5px #211c1621,inset 0 -.5px .5px #fffdf8a6,inset 0 0 0 1px color-mix(in srgb,var(--color-text) 19%,transparent);display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:2px;transition:box-shadow .2s var(--ease-smooth),background .2s var(--ease-smooth)}.mode-toggle .mt-tab{position:absolute;top:2px;left:2px;width:20px;height:18px;border-radius:999px;background:radial-gradient(115% 105% at 34% 22%,#fff,#fbf7ee 56%,#ebe2d0);box-shadow:inset 0 1px .5px #ffffffeb,inset 0 -1px 1px #211c1614,0 1.5px 3px #211c1633,0 0 0 .75px color-mix(in srgb,var(--color-text) 24%,transparent);transform:translate(20px);transform-origin:50% 55%;transition:transform .38s cubic-bezier(.22,1,.36,1),box-shadow .2s var(--ease-smooth);z-index:0}html[data-mode=simple] .mode-toggle .mt-tab{transform:translate(0)}.mode-toggle .mt-end{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;height:18px;transition:opacity .24s var(--ease-smooth),transform .24s var(--ease-smooth),filter .24s var(--ease-smooth)}.mode-toggle .mt-end svg{display:block;overflow:visible}.mode-toggle .mt-glyph-bar{fill:currentColor;opacity:.82}.mode-toggle .mt-glyph-open{fill:none;stroke:currentColor;stroke-width:1.1;opacity:.78}.mode-toggle .mt-cell{fill:color-mix(in srgb,currentColor 26%,transparent)}.mode-toggle .mt-cell--mid{fill:color-mix(in srgb,currentColor 46%,transparent)}.mode-toggle .mt-cell--ink{fill:color-mix(in srgb,currentColor 72%,transparent)}.mode-toggle .mt-sun{fill:#cb6340}.mode-toggle .mt-hills{fill:#8d5c47;stroke:#3b2d26;stroke-width:.42;stroke-linejoin:round}.mode-toggle .mt-sea{fill:#4a7896}.mode-toggle .mt-wave{fill:none;stroke:#faf5e8;stroke-width:.65;stroke-linecap:round}html[data-mode=simple] .mode-toggle .mt-end--simple{opacity:1}html[data-mode=simple] .mode-toggle .mt-end--worlds{opacity:.58;filter:saturate(.72);transform:scale(.94)}html:not([data-mode=simple]) .mode-toggle .mt-end--simple{opacity:.48;transform:scale(.94)}html:not([data-mode=simple]) .mode-toggle .mt-end--worlds{opacity:1;filter:none;transform:scale(1)}@media(hover:hover){.mode-toggle:hover .mt-track{box-shadow:inset 0 1.25px 2.5px #211c1626,inset 0 0 0 1px color-mix(in srgb,var(--color-text) 30%,transparent)}html[data-mode=simple] .mode-toggle:hover .mt-tab{transform:translate(1.5px)}html:not([data-mode=simple]) .mode-toggle:hover .mt-tab{transform:translate(18.5px)}html[data-mode=simple] .mode-toggle:hover .mt-end--worlds,html:not([data-mode=simple]) .mode-toggle:hover .mt-end--simple{opacity:.86;filter:none;transform:scale(.98)}}html.is-mode-switching .mode-toggle .mt-tab,html.is-mode-switching .mode-toggle .mt-end{transition:none!important}@media(prefers-reduced-motion:reduce){.mode-toggle .mt-track,.mode-toggle .mt-tab,.mode-toggle .mt-end{transition:none!important}}.nav-link{font-size:var(--step--1);color:var(--color-text-secondary);text-decoration:none;font-weight:500;transition:color .2s var(--ease-smooth),background-color .2s var(--ease-smooth),border-color .2s var(--ease-smooth);position:relative;padding:5px 8px;margin:0 -8px;border-radius:var(--swatch-radius, 5px);border:1px solid transparent}html:not([data-mode=simple]) .nav-link[data-world=work]{--swatch-surface: #fdfcf9;--swatch-radius: 1px;--swatch-border: transparent;--swatch-bg: transparent;--swatch-origin: border-box;--swatch-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E %3Cdefs%3E%3Cpattern id='s' width='1.2' height='1.2' patternUnits='userSpaceOnUse' patternTransform='rotate(45)'%3E%3Cpath d='M0 .6h1.2' stroke='%23332f2a' stroke-opacity='.7' stroke-width='.4'/%3E%3C/pattern%3E%3C/defs%3E %3Csvg x='50%25' y='50%25' overflow='visible'%3E %3Cg transform='rotate(-6)'%3E%3Crect x='-28.0' y='-10.5' width='50' height='24' fill='%23e3dac2'/%3E%3C/g%3E %3Cpath d='M-23.6 12.0 h48.6 v-22.6 h1.4 v25.4 h-50 z' fill='url(%23s)'/%3E %3Crect x='-25.0' y='-12.0' width='50' height='24' fill='%23fdfcf9'/%3E %3C/svg%3E%3C/svg%3E"), url(/nav-swatch/desk.webp);--swatch-size: 100% 100%, cover;--swatch-position: 0 0, 50% 50%;--swatch-repeat: no-repeat}html:not([data-mode=simple]) .nav-link[data-world=projects]{--sw-ends: 0 11.5px 0 11.5px;--swatch-surface: #fbf9f3;--swatch-radius: 0px;--swatch-border: transparent;--swatch-bg: transparent;--swatch-origin: border-box;--swatch-border-image: url(/nav-swatch/rung.webp) 0 35 0 35 fill / var(--sw-ends) / 0 stretch;--swatch-image: linear-gradient(to right, rgb(51 47 42 / .3) 0 .6px, transparent .6px calc(100% - .6px) , rgb(51 47 42 / .3) calc(100% - .6px) ), linear-gradient(to top, rgb(51 47 42 / .3) 0 .6px, transparent .6px), repeating-linear-gradient(to right, transparent 0 7px, rgb(59 74 153 / .06) 7px 8px), repeating-linear-gradient(to bottom, transparent 0 7px, rgb(59 74 153 / .06) 7px 8px), linear-gradient(var(--swatch-surface), var(--swatch-surface));--swatch-size: calc(100% - 4px) calc(100% - 4px) , calc(100% - 4px) calc(100% - 4px) , calc(100% - 6px) calc(100% - 5px) , calc(100% - 6px) calc(100% - 5px) , calc(100% - 4px) calc(100% - 4px) ;--swatch-position: 50% 100%, 50% 100%, 50% calc(100% - .6px) , 50% calc(100% - .6px) , 50% 100%;--swatch-repeat: no-repeat}html:not([data-mode=simple]) .nav-link[data-world=writing]{--sw-ends: 0 5.3px 0 7.6px;--swatch-surface: #f6f0e0;--swatch-radius: 0px;--swatch-border: transparent;--swatch-bg: transparent;--swatch-origin: border-box;--swatch-border-image: url(/nav-swatch/roll.webp) 0 16 0 23 fill / var(--sw-ends) / 0 stretch;--swatch-image: none}html:not([data-mode=simple]) .nav-link[data-world=reading]{--sw-bx: 4px;--sw-by: 1.5px;--sw-screw: 3px 3px;--swatch-surface: #f1ead5;--swatch-radius: 1px;--swatch-border: transparent;--swatch-bg: #c8ae7e;--swatch-origin: border-box;--swatch-image: radial-gradient(circle, #6e5326 0 .6px, #eedcaa .85px 1.1px, transparent 1.4px), radial-gradient(circle, #6e5326 0 .6px, #eedcaa .85px 1.1px, transparent 1.4px), linear-gradient(to bottom, #e6d5ab 0 .6px, transparent .6px calc(100% - .6px) , rgb(140 106 51 / .7) calc(100% - .6px) ), linear-gradient(to bottom, #c8ae7e 0 var(--sw-by), transparent var(--sw-by) calc(100% - var(--sw-by)), #c8ae7e calc(100% - var(--sw-by))), linear-gradient(to right, transparent 0 var(--sw-bx), var(--swatch-surface) var(--sw-bx) calc(100% - var(--sw-bx)), transparent calc(100% - var(--sw-bx)));--swatch-size: var(--sw-screw), var(--sw-screw), 100% 100%, 100% 100%, 100% 100%;--swatch-position: .5px 50%, calc(100% - .5px) 50%, 0 0, 0 0, 0 0;--swatch-repeat: no-repeat}.nav-link:hover,.nav-link:focus-visible,.nav-link.active{color:var(--color-text)}@media(hover:hover){html:not([data-mode=simple]) .nav-link:hover{background-color:var(--swatch-bg);border-color:var(--swatch-border);background-image:var(--swatch-image, none);background-size:var(--swatch-size, auto);background-repeat:var(--swatch-repeat, repeat);background-position:var(--swatch-position, 0 0);background-origin:var(--swatch-origin, padding-box);border-image:var(--swatch-border-image, none)}}html:not([data-mode=simple]) .nav-link.active,html:not([data-mode=simple]) .nav-link:focus-visible{background-color:var(--swatch-bg);border-color:var(--swatch-border);background-image:var(--swatch-image, none);background-size:var(--swatch-size, auto);background-repeat:var(--swatch-repeat, repeat);background-position:var(--swatch-position, 0 0);background-origin:var(--swatch-origin, padding-box);border-image:var(--swatch-border-image, none)}html[data-mode=simple] .nav-link:hover,html[data-mode=simple] .nav-link:focus-visible{background-color:var(--hover-wash)}.nav-link.active:after{content:"";position:absolute;bottom:-4px;left:8px;right:8px;height:2px;background:var(--color-accent);border-radius:2px}@media(max-width:640px){.site-header .container{flex-wrap:wrap;row-gap:2px;padding:0 8px;gap:4px}.site-logo{font-size:.72rem;gap:4px;white-space:nowrap}.site-nav{gap:5px;min-height:26px;flex-shrink:0}.nav-link{font-size:.69rem;padding:2px 1.5px;margin:0 -1.5px}.nav-link.active:after{left:1.5px;right:1.5px}html:not([data-mode=simple]) .nav-link[data-world=work]{--swatch-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E %3Cdefs%3E%3Cpattern id='s' width='1.2' height='1.2' patternUnits='userSpaceOnUse' patternTransform='rotate(45)'%3E%3Cpath d='M0 .6h1.2' stroke='%23332f2a' stroke-opacity='.7' stroke-width='.4'/%3E%3C/pattern%3E%3C/defs%3E %3Csvg x='50%25' y='50%25' overflow='visible'%3E %3Cg transform='rotate(-5)'%3E%3Crect x='-19.0' y='-6.75' width='32' height='16.5' fill='%23e3dac2'/%3E%3C/g%3E %3Cpath d='M-14.9 8.25 h30.9 v-15.4 h1.1 v17.6 h-32 z' fill='url(%23s)'/%3E %3Crect x='-16.0' y='-8.25' width='32' height='16.5' fill='%23fdfcf9'/%3E %3C/svg%3E%3C/svg%3E"), url(/nav-swatch/desk.webp)}html:not([data-mode=simple]) .nav-link[data-world=projects]{--sw-ends: 0 6px 0 6px;--swatch-border-image: url(/nav-swatch/rung-phone.webp) 0 29 0 29 fill / var(--sw-ends) / 0 stretch}html:not([data-mode=simple]) .nav-link[data-world=writing]{--sw-ends: 0 1.5px 0 2px}html:not([data-mode=simple]) .nav-link[data-world=reading]{--sw-bx: 1.5px;--sw-by: 1.2px;--sw-screw: 0px 0px}.mode-toggle{margin:-3px 0 -3px 8px}}.site-main{flex:1;padding:var(--space-xl) 0}.page-shell{min-width:0}.page-header{margin-top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-header h1{font-size:var(--step-2);font-family:var(--font-serif);font-weight:400;max-width:540px;line-height:1.4;color:var(--color-text);margin:0 0 var(--space-lg)}.site-main:has(.grid-section){padding-top:var(--space-lg)}@media(max-width:639px){.site-main:has(.grid-section){padding-top:var(--space-md)}.grid-section{padding-top:6px}}html:not([data-mode=simple]) .site-main:has(.writing-world-dock,.reading-world-dock,.projects-world-dock,.home-world){padding-top:0}.world-dock-head{display:contents}html:not([data-mode=simple]) .world-dock-head .grid-section,html[data-worlds] .grid-section{display:none;view-transition-name:none}.grid-section{position:relative;box-sizing:content-box;padding-bottom:var(--space-sm);margin:0 auto var(--space-md)}@media(min-width:640px){.grid-section{padding-bottom:var(--space-sm);height:85px}.life-grid-wrapper{margin-bottom:0}}@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}.site-header{view-transition-name:site-header}.grid-section{view-transition-name:masthead-grid}::view-transition-group(site-header),::view-transition-group(masthead-grid){animation-duration:.3s;animation-timing-function:var(--ease-smooth)}html.is-vt-arrival .life-grid-svg.animate-ready>rect,html.is-vt-arrival .life-grid-svg.animate-ready>g,html.is-vt-arrival .life-grid-frame.animate-ready .life-grid-year,html.is-vt-arrival .life-grid-frame.animate-ready .life-grid-tick,html.is-vt-arrival .life-grid-frame.animate-ready .place-name{opacity:1;transition:none}html.hw-arrive-vt .site-main *:not([data-hw-title]){view-transition-name:none!important}html.hw-arrive::view-transition-group(site-header){z-index:40}html.hw-arrive::view-transition-group(root){animation-duration:.42s}html.hw-arrive::view-transition-old(root){animation:none;mix-blend-mode:normal}html.hw-arrive::view-transition-new(root){animation:hw-new-in .42s cubic-bezier(.22,.61,.36,1) both;mix-blend-mode:normal}@keyframes hw-new-in{0%{opacity:0}}html.hw-arrive::view-transition-group(hw-place-flat){animation:none;z-index:20}html.hw-arrive::view-transition-old(hw-low),html.hw-arrive::view-transition-old(hw-high),html.hw-arrive::view-transition-old(hw-name){animation:none;mix-blend-mode:normal}html.hw-arrive::view-transition-old(hw-place-flat){animation:hw-place-out .42s cubic-bezier(.25,.1,.25,1) both;mix-blend-mode:normal}@keyframes hw-place-out{0%,32%{opacity:1}to{opacity:0}}html.hw-arrive [data-hw-sea]{visibility:hidden}html.hw-arrive:has([data-hw-sea]) [data-hw-rise]:not(:has([data-hw-title])){opacity:0}html.hw-arrive::view-transition-group(hw-title){animation-duration:.8s;animation-timing-function:cubic-bezier(.3,0,.2,1)}html.hw-arrive::view-transition-old(hw-title){animation:hw-title-out .8s linear both}html.hw-arrive::view-transition-new(hw-title){animation:hw-title-in .8s linear both}html.hw-arrive:not(:has([data-hw-sea]))::view-transition-group(hw-title){animation:none}html.hw-arrive:not(:has([data-hw-sea]))::view-transition-old(hw-title){animation:none;mix-blend-mode:normal}@keyframes hw-title-out{0%,7%{opacity:1}17%,to{opacity:0}}@keyframes hw-title-in{0%,2%{opacity:0}12%,to{opacity:1}}.mode-fx-defs{position:fixed;width:0;height:0;pointer-events:none;overflow:hidden}html.is-mode-switching .site-main *,html.is-mode-switching .site-main *:before,html.is-mode-switching .site-main *:after{transition:none!important}html.is-mode-switching .site-main *{view-transition-name:none!important}html.is-mode-switching::view-transition{background-color:var(--color-bg)}html.is-mode-switching::view-transition-group(root){animation:none}html.is-mode-switching::view-transition-group(site-header){animation-name:none;z-index:40}html.is-mode-switching::view-transition-old(site-header){animation:none;opacity:0}html.is-mode-switching::view-transition-new(site-header){animation:none;opacity:1}html.is-mode-switching::view-transition-image-pair(root){isolation:auto;clip-path:inset(var(--flip-top) 0 0 0)}html.is-mode-switching::view-transition-old(root),html.is-mode-switching::view-transition-new(root){animation:none;mix-blend-mode:normal;opacity:1}.mode-pool-rings{position:fixed;display:none;pointer-events:none}html.is-mode-pooling::view-transition-old(root){filter:url(#mode-pool-filter);transform-origin:50% 42%;will-change:filter,transform,opacity}html.is-mode-pooling::view-transition-new(root){filter:url(#mode-pool-filter);transform-origin:50% 42%;will-change:filter,transform,opacity,-webkit-mask-image,mask-image}html.is-mode-pooling.is-switching-to-worlds::view-transition-new(root){-webkit-mask-image:radial-gradient(circle at var(--pool-x, 92%) var(--pool-y, 38px),#000 0px,#000 calc(var(--pool-cur-r, 0px) * .24),rgb(0 0 0 / .88) calc(var(--pool-cur-r, 0px) * .44),rgb(0 0 0 / .52) calc(var(--pool-cur-r, 0px) * .68),rgb(0 0 0 / .18) calc(var(--pool-cur-r, 0px) * .9),transparent calc(var(--pool-cur-r, 0px) * 1.04));mask-image:radial-gradient(circle at var(--pool-x, 92%) var(--pool-y, 38px),#000 0px,#000 calc(var(--pool-cur-r, 0px) * .24),rgb(0 0 0 / .88) calc(var(--pool-cur-r, 0px) * .44),rgb(0 0 0 / .52) calc(var(--pool-cur-r, 0px) * .68),rgb(0 0 0 / .18) calc(var(--pool-cur-r, 0px) * .9),transparent calc(var(--pool-cur-r, 0px) * 1.04))}html.is-mode-pooling.is-switching-to-simple::view-transition-new(root){-webkit-mask-image:none;mask-image:none}html.is-mode-pooling.is-switching-to-worlds .mode-pool-rings{display:block;inset:0;view-transition-name:mode-pool}html.is-mode-pooling::view-transition-image-pair(mode-pool){display:none}html.is-mode-pooling::view-transition-group(mode-pool){animation:none;z-index:28;position:fixed;inset:0;clip-path:inset(var(--flip-top, 0px) 0 0 0);opacity:var(--pool-ring-alpha, 1);background:radial-gradient(circle at var(--pool-x, 92%) var(--pool-y, 38px),transparent 0px,transparent calc(var(--pool-cur-r, 0px) * .365),rgb(47 92 120 / .09) calc(var(--pool-cur-r, 0px) * .392),rgb(255 253 248 / .36) calc(var(--pool-cur-r, 0px) * .402),transparent calc(var(--pool-cur-r, 0px) * .425),transparent calc(var(--pool-cur-r, 0px) * .615),rgb(47 92 120 / .13) calc(var(--pool-cur-r, 0px) * .642),rgb(255 253 248 / .46) calc(var(--pool-cur-r, 0px) * .654),transparent calc(var(--pool-cur-r, 0px) * .68),transparent calc(var(--pool-cur-r, 0px) * .885),rgb(47 92 120 / .17) calc(var(--pool-cur-r, 0px) * .912),rgb(255 253 248 / .56) calc(var(--pool-cur-r, 0px) * .925),rgb(79 123 153 / .06) calc(var(--pool-cur-r, 0px) * .945),transparent calc(var(--pool-cur-r, 0px) * .965))}.section-description{font-size:var(--step-0);color:var(--color-text-secondary);line-height:1.5;margin:0;text-wrap:pretty}.section-heading{font-family:var(--font-serif);font-size:var(--step--1);font-weight:500;letter-spacing:.01em;color:var(--color-text-secondary);margin-bottom:var(--space-sm)}.stack-list{list-style:none}.timeline-row{display:grid;grid-template-columns:var(--row-meta-width, 72px) 1fr;gap:var(--space-md);padding:var(--space-md);margin:0 calc(var(--space-md) * -1);border-radius:8px;border:1px solid transparent;transition:all .25s var(--ease-smooth)}.timeline-row:hover,.timeline-row:focus-within{background:var(--hover-wash);transform:translateY(-2px);box-shadow:var(--shadow-subtle);border-color:color-mix(in srgb,var(--color-border) 40%,transparent)}.timeline-row-meta{font-size:var(--step--2);color:var(--grid-meta);font-family:var(--font-mono);font-variant-numeric:tabular-nums;padding-top:4px;letter-spacing:-.01em}.timeline-row-body{display:flex;flex-direction:column;gap:var(--space-xs);min-width:0}.filter-bar{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:var(--word-gap);row-gap:6px;margin-bottom:var(--space-lg);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:-.025em;word-spacing:-.08em;line-height:18px}.filter-label{color:var(--color-text-secondary);margin-right:calc(.6em - var(--word-gap))}.filter-sep,.filter-sep-pair{color:var(--color-border);margin-inline:calc(.6em - var(--word-gap))}.filter-pill{position:relative;font:inherit;line-height:18px;letter-spacing:inherit;word-spacing:inherit;padding:0;border:0;background:none;color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;text-underline-offset:3px;transition:color .2s var(--ease-smooth)}.filter-pill:hover{color:var(--color-text)}.filter-pill.active{color:var(--color-text);text-decoration:underline}.filter-pill.active[data-filter-linked]{text-decoration-color:var(--grid-span-hot);text-decoration-thickness:2px}:where(.filter-pill):after{content:"";position:absolute;pointer-events:none;clip-path:inset(0 100% 0 0);transition:clip-path var(--mark-draw) var(--mark-ease)}:where(.filter-pill.active):after{clip-path:inset(0)}.site-footer{padding:var(--space-xl) 0;border-top:1px solid var(--color-border)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.footer-inner>.footer-links:only-child{margin-inline:auto}@media(max-width:640px){.footer-inner{flex-direction:column;gap:var(--space-sm)}}.footer-links{display:flex;justify-content:center;gap:var(--space-md)}.footer-links a{font-size:var(--step--1);color:var(--color-text-secondary);text-decoration:none;transition:color .2s var(--ease-smooth)}.footer-links a:hover{color:var(--color-text)}.prose{font-family:var(--font-serif);font-size:var(--step-0);line-height:1.8;max-width:65ch;margin:0 auto}.prose h2{margin-top:var(--space-xl);margin-bottom:var(--space-sm);font-size:var(--step-2)}.prose h3{margin-top:var(--space-lg);margin-bottom:var(--space-xs);font-size:var(--step-1)}.prose p{margin-bottom:var(--space-md);text-wrap:pretty;text-underline-offset:3px;text-decoration-thickness:1px}.prose ul,.prose ol{margin-bottom:var(--space-md);padding-left:1.5rem}.prose li{margin-bottom:.5rem}.prose blockquote{border-left:2px solid color-mix(in srgb,var(--color-text) 35%,transparent);padding:var(--space-xs) var(--space-md);margin:var(--space-md) 0;font-style:italic;color:var(--color-text)}.prose blockquote p:last-child{margin-bottom:0}.prose code{font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:.85em;background:color-mix(in srgb,var(--color-surface) 50%,var(--color-border));padding:.2em .4em;border-radius:4px;color:var(--color-text)}.prose pre{background:var(--color-text);color:var(--color-bg);padding:var(--space-md);border-radius:8px;overflow-x:auto;margin:var(--space-md) 0;box-shadow:inset 0 2px 4px #0000001a}.prose pre code{background:none;padding:0;font-size:var(--step--1);color:inherit}.prose table{width:100%;border-collapse:separate;border-spacing:0;margin:var(--space-md) 0;font-family:var(--font-serif);font-size:var(--step--1);border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.prose th,.prose td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border);text-align:left}.prose tr:last-child td{border-bottom:none}.prose th{background:var(--color-surface);font-weight:500}.prose img{max-width:100%;height:auto;border-radius:8px;margin:var(--space-md) 0;box-shadow:var(--shadow-subtle)}.embed-html{position:relative;margin:var(--space-lg) auto;padding:0;width:min(1100px,calc(100vw - 2rem));margin-left:50%;transform:translate(-50%);background:var(--color-bg)}.embed-iframe{display:block;width:100%;min-height:640px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface)}.embed-controls{position:absolute;top:8px;right:8px;display:flex;gap:6px;opacity:0;transition:opacity .2s var(--ease-smooth)}.embed-html:hover .embed-controls,.embed-html:focus-within .embed-controls{opacity:1}.embed-btn{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:11px;line-height:1;padding:6px 10px;background:#141414c7;color:#fff;border:none;border-radius:4px;cursor:pointer;text-decoration:none;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.embed-btn:hover{background:#141414eb;text-decoration:none}.embed-btn-icon{font-size:13px}.embed-html:fullscreen{width:100vw;height:100vh;max-width:100vw;margin:0;padding:0;transform:none;background:var(--color-bg)}.embed-html:fullscreen .embed-iframe{width:100vw;height:100vh;min-height:100vh;border:none;border-radius:0}.embed-html:fullscreen .embed-controls{opacity:1}.embed-pdf{width:100%;height:800px;display:block;margin:var(--space-md) 0}.embed-video{display:block;width:auto;height:auto;max-width:100%;max-height:80vh;margin:var(--space-md) auto;border-radius:6px}.embed-youtube{--embed-ratio: 16 / 9;display:block;width:min(100%,calc(80vh * var(--embed-ratio)));height:auto;aspect-ratio:var(--embed-ratio);margin:var(--space-md) auto;border:0;border-radius:6px;background:var(--color-surface)}.embed-youtube-short{--embed-ratio: 9 / 16}@media(max-width:640px){.embed-html{width:calc(100vw - 1rem)}.embed-iframe{min-height:460px}.embed-controls{opacity:1}.embed-btn-label{display:none}.embed-pdf{height:600px}}
