:root{--font-hand:"Kalam", "Bradley Hand", "Segoe Print", cursive;--font-body:"Newsreader", "Iowan Old Style", "Palatino Linotype", serif;--font-ui:"Fraunces", "Avenir Next", "Segoe UI", sans-serif;--bg:#f7f4ee;--bg-soft:#f1ede5;--surface:#fffdf8;--ink:#23201c;--ink-muted:#5f5951;--accent:#56674b;--accent-soft:#d7dfd2;--pop:#d4793a;--line:#d8d0c5;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--shadow-soft:0 10px 35px rgba(68, 58, 45, 0.08);--container:min(1080px, 92vw)}*{box-sizing:border-box}html{font-size:19px;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);line-height:1.65;text-rendering:optimizeLegibility}.page-bg{position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 5% 10%,rgba(86,103,75,.12),transparent 42%),radial-gradient(circle at 88% 25%,rgba(180,168,147,.2),transparent 40%),linear-gradient(180deg,#faf7f1 0%,#f7f4ee 35%,#f4f1ea 100%);z-index:-2}.container{width:var(--container);margin:0 auto}.site-shell{min-height:100vh;display:flex;flex-direction:column}.site-main{flex:1;padding:2rem 0 4rem}h1,h2,h3,h4,h5,h6{margin:0 0 .75rem;line-height:1.2;letter-spacing:-.01em;font-family:var(--font-ui)}h1{font-size:clamp(2rem,4.6vw,3.3rem)}h2{font-size:clamp(1.5rem,3vw,2.1rem)}p{margin:0 0 1rem}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.2em;transition:color 180ms ease,opacity 180ms ease,text-decoration-thickness 180ms ease}a:hover{opacity:.82;text-decoration-thickness:2px}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}img{max-width:100%;height:auto}code,pre{font-family:sfmono-regular,Consolas,liberation mono,Menlo,monospace}code{padding:.15em .4em;font-size:.92em;background:var(--bg-soft);border:1px solid var(--line);border-radius:4px}pre code{padding:0;font-size:inherit;background:0 0;border:none;border-radius:0}pre{overflow-x:auto;padding:1rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:#f4efe6}.muted{color:var(--ink-muted)}.section-label{margin-bottom:.6rem;color:var(--accent);font-family:var(--font-hand);font-size:clamp(1.35rem,2.8vw,2rem);line-height:1}.markdown{font-size:1.05rem}.markdown>*{max-width:none}.markdown ul,.markdown ol{padding-left:1.25rem}.markdown blockquote{max-width:none;margin:1.75rem 0;padding:.35rem 1.1rem;border-left:3px solid var(--accent);background:color-mix(in oklab,var(--accent-soft) 42%,white);border-radius:0 var(--radius-sm)var(--radius-sm)0}.markdown blockquote p:first-child{margin-top:.25rem}.markdown blockquote p:last-child{margin-bottom:.25rem}.reveal{opacity:0;transform:translateY(14px);animation:fade-up 520ms cubic-bezier(.2,.6,.2,1)forwards;animation-delay:calc(var(--stagger,0) * 90ms)}@keyframes fade-up{to{opacity:1;transform:translateY(0)}}.site-header{border-bottom:1px solid color-mix(in srgb,var(--line) 65%,transparent)}.header-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:1.25rem}.brand{display:inline-flex;align-items:center;gap:.7rem;color:inherit;text-decoration:none}.brand-mark{width:34px;height:34px;border-radius:999px;display:grid;place-items:center;font-family:var(--font-ui);font-size:.88rem;background:var(--pop);color:#fff}.brand-text{font-family:var(--font-ui);font-size:1rem;letter-spacing:.02em}.main-nav{display:flex;gap:1rem}.main-nav a{font-family:var(--font-ui);text-decoration:none;color:var(--ink-muted)}.main-nav a:hover,.main-nav a:focus-visible{color:var(--ink)}.site-footer{border-top:1px solid var(--line);margin-top:4.5rem;padding:1.3rem 0 2.2rem}.footer-inner{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--ink-muted);font-size:.95rem}.button{border:1px solid transparent;border-radius:999px;padding:.62rem 1.1rem;font-family:var(--font-ui);text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.button-primary{background:var(--accent);color:#f9f8f5}.button-muted{border-color:var(--line);color:var(--ink);background:color-mix(in srgb,var(--surface) 75%,transparent)}.post-card{background:color-mix(in srgb,var(--surface) 88%,white);border:1px solid var(--line);border-radius:var(--radius-md);padding:clamp(1.05rem,2vw,1.45rem);margin-bottom:.95rem;box-shadow:var(--shadow-soft);display:flex;gap:1rem;align-items:flex-start}.post-card-thumb{flex-shrink:0;width:120px}.post-card-thumb img{width:100%;border-radius:var(--radius-sm);display:block}.post-card-body{flex:1;min-width:0}.post-card-title{margin-bottom:.4rem;font-size:clamp(1.25rem,2.8vw,1.75rem)}.post-card-title a{color:inherit;text-decoration:none}.post-meta{margin:0 0 .6rem;color:var(--ink-muted);font-size:.95rem;font-family:var(--font-ui)}.post-excerpt{margin-bottom:.8rem}.tag-list{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.45rem}.tag-list li{border:1px solid var(--line);border-radius:999px;padding:.12rem .55rem;color:var(--ink-muted);font-family:var(--font-ui);font-size:.82rem;background:#f8f5ee}.pagination{margin-top:1.3rem;display:flex;justify-content:space-between;align-items:center;gap:.8rem;flex-wrap:wrap;color:var(--ink-muted);font-family:var(--font-ui)}.hero{padding-top:clamp(1.8rem,4vw,4rem);padding-bottom:clamp(1.4rem,3.2vw,2.8rem)}.hero-title{font-family:var(--font-hand);font-size:clamp(2.4rem,7vw,5rem);line-height:.98;letter-spacing:0;margin-bottom:.85rem;max-width:none}.hero-copy{max-width:none;color:var(--ink-muted);margin-bottom:1.2rem}.hero-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.recent-posts{padding-top:1rem}.section-heading{margin-bottom:.9rem}.list-cta{margin-top:1rem;font-family:var(--font-ui)}.page-intro{margin-bottom:1.2rem}.intro-content{color:var(--ink-muted)}.post-list{margin-top:.5rem}.post-article{display:grid;grid-template-columns:minmax(0,1fr);gap:1.2rem}.post-header{background:color-mix(in srgb,var(--surface) 86%,white);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:var(--radius-lg);padding:clamp(1rem,2.4vw,1.5rem)}.toc{background:color-mix(in srgb,var(--surface) 88%,white);border-radius:var(--radius-lg);border:1px solid var(--line);padding:clamp(.8rem,2vw,1.2rem)clamp(1rem,2.5vw,1.5rem);box-shadow:var(--shadow-soft)}.toc-title{margin:0 0 .5rem;font-family:var(--font-hand);font-size:1.15rem;color:var(--accent)}.toc ul{margin:0;padding-left:1.1rem;list-style:none}.toc>ul{padding-left:0}.toc li{margin-bottom:.25rem}.toc a{font-family:var(--font-ui);font-size:.88rem;color:var(--ink-muted);text-decoration:none}.toc a:hover{color:var(--accent);opacity:1}.post-article .content{background:color-mix(in srgb,var(--surface) 88%,white);border-radius:var(--radius-lg);border:1px solid var(--line);padding:clamp(1rem,2.5vw,2rem);box-shadow:var(--shadow-soft)}.about-page{padding-top:.8rem}.about-content{margin-bottom:1.3rem}.social-panel{padding:1rem;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 88%,white);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);max-width:none}.social-panel ul{margin:0;padding-left:1.1rem}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}@media(max-width:860px){html{font-size:16px}.site-main{padding-top:1.5rem}}@media(max-width:680px){.header-inner{min-height:64px}.brand-text{display:none}.main-nav{gap:.75rem}.main-nav a{font-size:.95rem}}