.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:5px;background:none;color:var(--color-text-secondary);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 .ms-sea{position:absolute;inset:0}.mode-toggle .ms-sea:before{content:"";position:absolute;inset:2px 0;border-radius:4px;background:color-mix(in srgb,var(--color-text) 2.5%,var(--color-bg));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-text) 16%,transparent);transition:box-shadow .18s var(--ease-smooth)}.mode-toggle .ms-svg{position:absolute;inset:0;width:44px;height:24px;overflow:visible}.mode-toggle .ms-swell{fill:none;stroke:#5580aaeb;stroke-width:.85;stroke-linecap:round}.mode-toggle .ms-ripple{fill:none;stroke:#5580aa8c;stroke-width:.6;stroke-linecap:round}.mode-toggle .ms-boat{transform:translate(30.5px);transition:transform .95s cubic-bezier(.45,0,.25,1)}html[data-mode=simple] .mode-toggle .ms-boat{transform:translate(13px);transition:transform .9s cubic-bezier(.45,0,.25,1) .18s}.mode-toggle .ms-heel{transform-origin:0px 16px}.mode-toggle .ms-hull{fill:var(--color-surface);stroke:color-mix(in srgb,var(--color-text) 86%,transparent);stroke-width:.75;stroke-linejoin:round}.mode-toggle .ms-hatch{fill:none;stroke:color-mix(in srgb,var(--color-text) 62%,transparent);stroke-width:.5;stroke-linecap:round}.mode-toggle .ms-mast{stroke:color-mix(in srgb,var(--color-text) 88%,transparent);stroke-width:.85;stroke-linecap:round}.mode-toggle .ms-mast--mizzen{stroke-width:.75}.mode-toggle .ms-furl{stroke:color-mix(in srgb,var(--color-text) 58%,transparent);stroke-width:1.35;stroke-linecap:round;opacity:0;transition:opacity .16s linear}html[data-mode=simple] .mode-toggle .ms-furl{opacity:1;transition:opacity .18s linear .12s}.mode-toggle .ms-sail{fill:var(--color-surface);stroke:color-mix(in srgb,var(--color-text) 74%,transparent);stroke-width:.7;stroke-linejoin:round;transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(1);transition:transform .5s cubic-bezier(.3,.75,.3,1) .04s}.mode-toggle .ms-sail--mizzen{transition-delay:.09s}.mode-toggle .ms-sail--jib{transition-delay:.14s}html[data-mode=simple] .mode-toggle .ms-sail{transform:scaleY(0);transition:transform .26s cubic-bezier(.5,0,.8,.4)}@media(hover:hover){.mode-toggle:hover .ms-sea:before{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-text) 30%,transparent)}html[data-mode=simple] .mode-toggle:hover .ms-sail--main{transform:scaleY(.34);transition:transform .5s cubic-bezier(.3,.75,.3,1) .06s}html:not([data-mode=simple]) .mode-toggle:hover .ms-sail--jib{transform:scaleY(.78);transition:transform .45s cubic-bezier(.3,.75,.3,1) .06s}.mode-toggle:hover .ms-heel{animation:ms-rock 1.7s ease-in-out infinite alternate}.mode-toggle:hover .ms-swell,.mode-toggle:hover .ms-ripple{animation:ms-swell 2.2s linear infinite}}html[data-mode=simple] .mode-toggle:focus-visible .ms-sail--main{transform:scaleY(.34)}html.is-mode-switching .mode-toggle :is(.ms-boat,.ms-sail,.ms-furl){transition:none!important}html.is-mode-underway .mode-toggle .ms-heel{animation:ms-rock .95s ease-in-out 1 alternate}html.is-mode-underway .mode-toggle .ms-swell,html.is-mode-underway .mode-toggle .ms-ripple{animation:ms-swell 1.1s linear infinite}@keyframes ms-rock{0%{transform:rotate(-3deg)}to{transform:rotate(2.5deg) translateY(-.35px)}}@keyframes ms-swell{to{transform:translate(-9px)}}@media(prefers-reduced-motion:reduce){.mode-toggle .ms-sea:before,.mode-toggle .ms-boat,.mode-toggle .ms-furl,.mode-toggle .ms-sail{transition:none!important}.mode-toggle .ms-heel,.mode-toggle .ms-swell,.mode-toggle .ms-ripple{animation: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.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-wake-boat,.mode-wake-foam{position:fixed;display:none;pointer-events:none}html.is-mode-waking::view-transition-new(root){clip-path:polygon(100% 0,100% 0,100% 0,100% 0)}.mode-wake-boat{left:0;top:0;width:64px;height:64px}.mode-wake-foam{left:0;top:0;width:var(--wake-len, 0px);height:30px}@media(max-width:639px){.mode-wake-boat{width:44px;height:44px}.mode-wake-foam{height:22px}}html.is-mode-waking .mode-wake-boat{display:block;view-transition-name:mode-wake-boat}html.is-mode-waking .mode-wake-foam{display:block;view-transition-name:mode-wake-foam}html.is-mode-waking::view-transition-group(mode-wake-boat){animation:none;z-index:50;transform-origin:50% 82%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-9 3 18 16'%3E%3Cg transform='scale(-1 1)' stroke-linejoin='round' stroke-linecap='round'%3E%3Cline x1='1' y1='14.6' x2='1' y2='4.3' stroke='%232c2621' stroke-width='.45'/%3E%3Cline x1='-4.3' y1='14.6' x2='-4.3' y2='8.1' stroke='%232c2621' stroke-width='.4'/%3E%3Cpath d='M0.55 4.9 L0.55 13.3 L-3.6 13.3 Z' fill='%23fdfcf9' stroke='%23463c33' stroke-width='.38'/%3E%3Cpath d='M-4.75 8.6 L-4.75 13.3 L-7.1 13.3 Z' fill='%23fdfcf9' stroke='%23463c33' stroke-width='.38'/%3E%3Cpath d='M1.5 5.3 L6.7 13.7 L1.5 13.7 Z' fill='%23fdfcf9' stroke='%23463c33' stroke-width='.38'/%3E%3Cpath d='M-7.4 13.8 Q0 14.9 7.6 13.3 L5.6 16.4 Q0 18 -6 16.6 Z' fill='%23fdfcf9' stroke='%232c2621' stroke-width='.42'/%3E%3Cpath d='M-6 15 Q0 15.9 5.9 14.7' fill='none' stroke='%235a4f45' stroke-width='.3'/%3E%3Cpath d='M-9 16.3 q2 -.5 4 0 t4 0 t4 0 t4 0 t4 0' fill='none' stroke='rgb(85,128,170)' stroke-width='.4'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat}html.is-mode-waking::view-transition-group(mode-wake-foam){animation:none;z-index:2;transform-origin:0 50%;background:url(/mode/tide-sea.webp) 0 -18px / 720px 66px repeat-x,var(--color-bg);mask-image:linear-gradient(to bottom,transparent,#000 34%,#000 66%,transparent),linear-gradient(to right,transparent,#000 90px);mask-composite:intersect}html.is-mode-waking::view-transition-image-pair(mode-wake-boat),html.is-mode-waking::view-transition-image-pair(mode-wake-foam){display:none}.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}}
