@font-face{font-family:Canela Deck;src:url(/fonts/CanelaDeck-Light.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Canela Deck;src:url(/fonts/CanelaDeck-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Canela Deck;src:url(/fonts/CanelaDeck-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Canela Text;src:url(/fonts/CanelaText-Light.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Canela Text;src:url(/fonts/CanelaText-LightItalic.woff2) format("woff2");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Canela Text;src:url(/fonts/CanelaText-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Lato;src:url(/fonts/Lato-Light.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Lato;src:url(/fonts/Lato-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Lato;src:url(/fonts/Lato-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--page: #f6f0e6;--raised: #fffaf3;--ink: #1f2430;--muted: #687080;--line: #d8cdbd;--accent: #c95f3e;--accent-bright: #b04a2a;--blue: #304b82;--mint: #c3ddcc;--purple: #dcd1ec;--focus: #e39b34;color-scheme:light;--font-serif: "Canela Deck", "Canela Text", "Noto Serif SC", Georgia, "Times New Roman", serif;--font-body: "Canela Text", "Noto Serif SC", Georgia, "Times New Roman", serif;--font-sans: "Lato", ui-sans-serif, system-ui, -apple-system, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--font-size-2xs: clamp(.72rem, .7rem + .1vw, .78rem);--font-size-xs: clamp(.8rem, .77rem + .15vw, .9rem);--font-size-sm: clamp(.9rem, .85rem + .25vw, 1.05rem);--font-size-base: clamp(1.06rem, 1rem + .3vw, 1.25rem);--font-size-md: clamp(1.25rem, 1.15rem + .5vw, 1.6rem);--font-size-lg: clamp(1.5rem, 1.33rem + .85vw, 2.1rem);--font-size-xl: clamp(1.9rem, 1.6rem + 1.5vw, 2.8rem);--font-size-2xl: clamp(2.4rem, 1.9rem + 2.5vw, 3.7rem);--font-size-3xl: clamp(3rem, 2.2rem + 4vw, 5rem);--leading-tighter: 1.05;--leading-tight: 1.15;--leading-base: 1.6;--leading-loose: 1.75;--space-3xs: clamp(.25rem, .23rem + .1vw, .31rem);--space-2xs: clamp(.5rem, .45rem + .25vw, .63rem);--space-xs: clamp(.75rem, .68rem + .35vw, .94rem);--space-sm: clamp(1rem, .9rem + .5vw, 1.25rem);--space-md: clamp(1.5rem, 1.35rem + .75vw, 1.88rem);--space-lg: clamp(2rem, 1.8rem + 1vw, 2.5rem);--space-xl: clamp(3rem, 2.7rem + 1.5vw, 3.75rem);--space-2xl: clamp(4rem, 3.6rem + 2vw, 5rem);--space-3xl: clamp(6rem, 5.4rem + 3vw, 7.5rem);--measure: 68ch;--radius: 10px;--radius-sm: 6px;--radius-lg: 18px;--shadow-sm: 0 1px 2px rgba(31, 36, 48, .05), 0 2px 8px rgba(31, 36, 48, .05);--shadow-md: 0 2px 6px rgba(31, 36, 48, .06), 0 10px 28px rgba(31, 36, 48, .09);--shadow-lg: 0 4px 12px rgba(31, 36, 48, .08), 0 20px 48px rgba(31, 36, 48, .13);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-hover: cubic-bezier(.25, .46, .45, .94);--dur-micro: .12s;--dur-quick: .22s;--dur-base: .38s;--dur-page: .56s}html[data-theme=dark]{--page: #1e2026;--raised: #292d36;--ink: #f4efe6;--muted: #b7b4ac;--line: #4a4c54;--accent: #f08b62;--accent-bright: #f6a37f;--blue: #a9c0f4;--mint: #315144;--purple: #4b3e5e;--focus: #f5bf62;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3), 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 2px 6px rgba(0, 0, 0, .35), 0 10px 28px rgba(0, 0, 0, .4);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .4), 0 20px 48px rgba(0, 0, 0, .5);color-scheme:dark}*{box-sizing:border-box}html{font-family:var(--font-sans);font-size:100%;background:var(--page);color:var(--ink);scroll-behavior:smooth}body{margin:0;font-size:var(--font-size-base);line-height:var(--leading-base);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--mint);color:var(--ink)}a{color:inherit;text-decoration-color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px;transition:color var(--dur-micro) var(--ease-hover),text-decoration-color var(--dur-micro) var(--ease-hover)}a:hover{color:var(--accent)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:2px}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:300;line-height:var(--leading-tight);letter-spacing:-.015em}h1{font-size:var(--font-size-3xl);max-width:14ch;margin:.2rem 0 1rem}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-md);font-weight:400}h4{font-size:var(--font-size-base);font-weight:500}p{max-width:var(--measure)}hr{border:none;border-top:1px solid var(--line);margin:var(--space-xl) 0}blockquote{margin:var(--space-md) 0;padding-left:var(--space-sm);border-left:3px solid var(--accent);font-family:var(--font-body);font-style:italic;color:var(--muted)}code{font-family:var(--font-mono);font-size:.88em;background:var(--raised);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.1em .35em}pre code{background:none;border:none;padding:0}main{max-width:1180px;margin:auto;padding:0 var(--space-sm) var(--space-2xl)}.skip-link{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--page);padding:.5rem 1rem;z-index:20}.skip-link:focus{left:8px}.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}.site-header{max-width:1180px;margin:auto;padding:var(--space-sm) var(--space-sm) 0;display:flex;align-items:center;justify-content:space-between;gap:1rem}.wordmark{font-family:var(--font-serif);font-size:var(--font-size-md);font-weight:700;text-decoration:none;letter-spacing:-.01em;display:inline-flex;align-items:center;gap:.5rem}.wordmark-mark{width:1.35em;height:1.35em;display:block;color:#2e2413}html[data-theme=dark] .wordmark-mark{color:#f4efe6}.nav{display:flex;align-items:center;gap:1.1rem}.nav a,.nav button{font:inherit;font-size:var(--font-size-sm)}.nav a{text-decoration:none}.nav a:hover{color:var(--accent)}.nav button,.menu-toggle{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:999px;min-height:40px;min-width:40px;cursor:pointer;transition:border-color var(--dur-micro) var(--ease-hover),box-shadow var(--dur-micro) var(--ease-hover)}.nav button:hover,.menu-toggle:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.garden-menu{position:relative}.garden-popover{position:absolute;right:0;top:calc(100% + .5rem);display:none;min-width:180px;padding:.5rem;background:var(--raised);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:10}.garden-popover[data-open=true]{display:grid;animation:pop-in var(--dur-quick) var(--ease-out)}.garden-popover a{padding:.45rem .6rem;text-decoration:none;border-radius:var(--radius-sm)}.garden-popover a:hover{background:var(--page)}@keyframes pop-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}.menu-toggle,.mobile-nav{display:none}.eyebrow,.meta,.tag{font-family:var(--font-mono);font-size:var(--font-size-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.small-caps{font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.hero{padding:clamp(3rem,10vw,8rem) 0 var(--space-2xl);border-bottom:1px solid var(--line)}.hero h1{font-weight:300}.hero h1 em,.hero h1 i{font-style:italic;color:var(--accent)}.hero p{font-family:var(--font-body);font-size:var(--font-size-md);color:var(--muted);max-width:54ch}.section{padding:var(--space-2xl) 0}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:.7rem;margin-bottom:var(--space-md)}.section-heading h2{margin:0;font-size:var(--font-size-lg)}.section-heading a{font-size:var(--font-size-sm);text-decoration:none;white-space:nowrap}.section-heading a:hover{text-decoration:underline;text-decoration-color:var(--accent)}.writing-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:var(--space-lg)}.featured-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-sm)}.feature{grid-column:span 4;border:1px solid var(--line);border-radius:var(--radius);background:var(--raised);padding:var(--space-sm);min-height:200px;text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow-sm);transition:transform var(--dur-base) var(--ease-spring),box-shadow var(--dur-quick) var(--ease-hover);will-change:transform,box-shadow}@media(hover:hover)and (pointer:fine){.feature:hover{box-shadow:var(--shadow-md);transform:scale3d(1.02,1.02,1.02)}.feature:hover h3{color:var(--accent)}}.feature:focus-visible{box-shadow:var(--shadow-md);transform:scale3d(1.02,1.02,1.02)}.feature:focus-visible h3{color:var(--accent)}.feature:active{transform:scaleZ(1);transition-duration:var(--dur-micro)}.feature:first-child{grid-column:span 8;grid-row:span 2;min-height:430px}.feature:nth-child(2),.feature:nth-child(3){grid-column:span 4}.feature-media{height:150px;border-radius:var(--radius-sm);margin:-.3rem -.3rem 1rem;overflow:hidden;background:var(--mint);display:grid;place-items:center}.feature:first-child .feature-media{height:240px}.feature-media img{width:100%;height:100%;object-fit:cover}.fallback{font-family:var(--font-serif);font-weight:300;font-size:clamp(1.3rem,3vw,2.4rem);padding:1rem;color:var(--blue)}.feature h3{margin:.4rem 0;transition:color var(--dur-quick) var(--ease-hover)}.feature p{color:var(--muted);font-size:var(--font-size-sm)}.list{display:grid}.list-row{padding:var(--space-sm) 0;border-bottom:1px solid var(--line);display:grid;gap:.3rem;text-decoration:none;transition:padding-left var(--dur-quick) var(--ease-hover)}.list-row:hover{padding-left:var(--space-2xs)}.list-row:hover h3{color:var(--accent)}.list-row h3{margin:0;transition:color var(--dur-micro) var(--ease-hover)}.topics{display:flex;flex-wrap:wrap;gap:.6rem}.topic{border:1px solid var(--line);border-radius:999px;padding:.45rem .8rem;background:var(--raised);font-size:var(--font-size-sm);text-decoration:none;transition:border-color var(--dur-micro) var(--ease-hover),box-shadow var(--dur-micro) var(--ease-hover),transform var(--dur-micro) var(--ease-hover)}.topic:hover{border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.card{border:1px solid var(--line);background:var(--raised);border-radius:var(--radius);padding:var(--space-md);box-shadow:var(--shadow-sm)}.card h2{margin-top:.4rem}.home-card{color:inherit;text-decoration:none;transition:transform var(--dur-base) var(--ease-spring),box-shadow var(--dur-quick) var(--ease-hover);will-change:transform,box-shadow}@media(hover:hover)and (pointer:fine){.home-card:hover{box-shadow:var(--shadow-md);transform:scale3d(1.02,1.02,1.02)}.home-card:hover h2{color:var(--accent)}}.home-card:focus-visible{box-shadow:var(--shadow-md);transform:scale3d(1.02,1.02,1.02)}.home-card:focus-visible h2{color:var(--accent)}.home-card:active{transform:scaleZ(1);transition-duration:var(--dur-micro)}.home-card h2{transition:color var(--dur-quick) var(--ease-hover)}.home-card p{color:var(--muted)}.card-link{color:var(--accent-bright);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent);text-underline-offset:3px}.toolbar{display:flex;flex-wrap:wrap;gap:.7rem;align-items:end;padding:var(--space-sm);border:1px solid var(--line);border-radius:var(--radius);background:var(--raised);margin:var(--space-md) 0;box-shadow:var(--shadow-sm)}.toolbar label{display:grid;gap:.25rem;font-size:var(--font-size-xs);font-family:var(--font-sans);color:var(--muted)}.toolbar input,.toolbar select{font:inherit;font-size:var(--font-size-sm);background:var(--page);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.5rem;transition:border-color var(--dur-micro) var(--ease-hover)}.toolbar input:focus,.toolbar select:focus{border-color:var(--accent)}.toolbar button{font:inherit;font-size:var(--font-size-sm);border:1px solid var(--line);background:var(--ink);color:var(--page);border-radius:var(--radius-sm);padding:.52rem .8rem;cursor:pointer;transition:opacity var(--dur-micro) var(--ease-hover)}.toolbar button:hover{opacity:.85}.garden-results[data-filtered=true] .garden-item{display:none}.garden-item[data-match=true]{display:block}.article-shell{max-width:1180px;margin:auto;padding:var(--space-xl) var(--space-sm) var(--space-3xl)}.article-layout{display:grid;grid-template-columns:minmax(0,var(--measure)) 220px;gap:var(--space-2xl);align-items:start}.prose{font-family:var(--font-body);font-weight:300;font-size:var(--font-size-base);line-height:var(--leading-loose)}.prose h2{margin-top:var(--space-xl);font-size:var(--font-size-lg)}.prose h3{margin-top:var(--space-lg);font-family:var(--font-sans);font-weight:700;font-size:var(--font-size-md)}.prose p,.prose li{max-width:var(--measure)}.prose a{color:var(--accent-bright);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent)}.prose a:hover{text-decoration-color:var(--accent)}.prose pre{overflow:auto;background:var(--raised);padding:var(--space-sm);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.prose img{max-width:100%;height:auto;border-radius:var(--radius-sm)}.prose blockquote p{max-width:none}.toc{position:sticky;top:1rem;border-left:2px solid var(--line);padding-left:var(--space-sm);font-size:var(--font-size-sm);font-family:var(--font-sans)}@media(min-width:761px){.toc{max-height:calc(100vh - 2rem);overflow-y:auto;scrollbar-width:none}.toc::-webkit-scrollbar{display:none}}.toc strong{display:block;margin-bottom:.4rem;font-size:var(--font-size-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.toc a{display:block;padding:.25rem 0;color:var(--muted);text-decoration:none}.toc a:hover{color:var(--accent)}.toc a[data-active]{color:var(--accent);font-weight:700}.sources{border-top:1px solid var(--line);margin-top:var(--space-xl);padding-top:var(--space-sm);font-family:var(--font-sans);font-size:var(--font-size-sm)}.footer{max-width:1180px;margin:auto;border-top:1px solid var(--line);padding:var(--space-xl) var(--space-sm) var(--space-2xl);color:var(--muted);font-size:var(--font-size-sm)}.empty{padding:var(--space-lg);border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted)}.cascade{opacity:0;animation:cascade-rise var(--dur-page) var(--ease-out) forwards;animation-delay:calc(var(--cascade, 0) * 90ms)}.cascade-fade{opacity:0;animation:cascade-fade-in var(--dur-page) var(--ease-out) forwards;animation-delay:calc(var(--cascade, 0) * 90ms)}@keyframes cascade-rise{0%{opacity:0;translate:0 14px}to{opacity:1;translate:none}}@keyframes cascade-fade-in{0%{opacity:0}to{opacity:1}}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--dur-quick);animation-timing-function:var(--ease-in-out)}@media(max-width:760px){main{padding-inline:1rem}.site-header{padding-inline:1rem}.nav{display:none}.menu-toggle{display:block}.writing-grid,.split,.article-layout{grid-template-columns:1fr}.featured-grid{display:grid;grid-template-columns:1fr}.feature,.feature:first-child,.feature:nth-child(2),.feature:nth-child(3){grid-column:auto;grid-row:auto;min-height:0}.feature:first-child .feature-media,.feature-media{height:180px}.toc{position:static;order:-1;border:1px solid var(--line);padding:1rem;border-radius:var(--radius)}.mobile-nav{display:none;position:absolute;left:1rem;right:1rem;top:4.5rem;padding:1rem;background:var(--raised);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:9}.mobile-nav[data-open=true]{display:grid;animation:pop-in var(--dur-quick) var(--ease-out)}.mobile-nav a{padding:.6rem;text-decoration:none}.toolbar{align-items:stretch}.toolbar label,.toolbar input,.toolbar select{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.cascade,.cascade-fade{opacity:1;animation:none}@view-transition{navigation:none}}
