*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #fafaf8;--text: #1a1a18;--muted: #6b6b67;--border: #e5e5e2;--max-w: 680px;--page-w: 960px;--font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--c-parenting: #8b3a3a;--c-money: #2e6b3e;--c-ai: #2c3e7a}[data-theme=dark]{--bg: #1a1a18;--text: #f0f0ee;--muted: #8a8a86;--border: #2e2e2c;--c-parenting: #c27070;--c-money: #5ea87a;--c-ai: #6e87c8}html{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}img,video{max-width:100%;height:auto;display:block}body{min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:var(--page-w);margin:0 auto;padding:0 1.5rem}main{flex:1;padding:3rem 0 6rem}h1,h2,h3,h4{font-weight:600;line-height:1.25;letter-spacing:-.02em}h1{font-size:2rem}h2{font-size:1.375rem}h3{font-size:1.125rem}p{line-height:1.75}a{color:var(--text);text-decoration-color:var(--border);text-underline-offset:3px;transition:text-decoration-color .15s}a:hover{text-decoration-color:var(--text)}.site-header{border-bottom:1px solid var(--border);padding:1.25rem 0}.site-header .container{display:flex;align-items:center;justify-content:space-between}.site-name{font-size:1rem;font-weight:600;text-decoration:none;letter-spacing:-.01em}.site-nav{display:flex;gap:2rem;list-style:none}.site-nav a{font-size:.9rem;text-decoration:none;color:var(--muted);padding:.375rem 0}.site-nav a:hover{color:var(--text)}.site-header__right{display:flex;align-items:center;gap:1.5rem}.theme-toggle{background:none;border:none;cursor:pointer;color:var(--muted);padding:.375rem 0;display:flex;align-items:center;line-height:1;transition:color .15s}.theme-toggle:hover{color:var(--text)}.icon-sun,[data-theme=dark] .icon-moon{display:none}[data-theme=dark] .icon-sun{display:block}.site-footer{border-top:1px solid var(--border);padding:2rem 0;font-size:.875rem;color:var(--muted)}.footer-inner{display:flex;align-items:center;justify-content:space-between}.footer-social{display:flex;gap:.75rem}.footer-social a{color:var(--muted);display:flex;align-items:center;transition:color .15s}.footer-social a:hover{color:var(--text)}.hero{padding:4rem 0 3rem;border-bottom:1px solid var(--border);margin-bottom:3rem;max-width:var(--max-w)}.hero h1{font-size:1.75rem;margin-bottom:1rem}.hero .tagline{font-size:1.0625rem;color:var(--muted);line-height:1.7}.post-list{display:flex;flex-direction:column}.post-card{padding:1.5rem 0;border-bottom:1px solid var(--border)}.post-card:first-child{border-top:1px solid var(--border)}.post-card__title{display:block;font-size:1.0625rem;font-weight:500;text-decoration:none;margin-bottom:.375rem;line-height:1.4}.post-card__title:hover{text-decoration:underline;text-decoration-color:var(--text);text-underline-offset:3px}.post-card__meta{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin-bottom:.5rem;font-size:.825rem;color:var(--muted)}.post-card__desc{font-size:.9375rem;color:var(--muted);line-height:1.6}.badge{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;padding:.2em .55em;border-radius:2px}.badge--parenting{color:var(--c-parenting);background:color-mix(in srgb,var(--c-parenting) 10%,transparent)}.badge--money{color:var(--c-money);background:color-mix(in srgb,var(--c-money) 10%,transparent)}.badge--ai-and-work{color:var(--c-ai);background:color-mix(in srgb,var(--c-ai) 10%,transparent)}.post-header{max-width:var(--max-w);margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid var(--border)}.post-header h1{font-size:1.875rem;margin:.75rem 0 .5rem;line-height:1.2}.post-date{font-size:.875rem;color:var(--muted)}.prose{font-family:var(--font-serif);font-size:1.0625rem;line-height:1.8;max-width:var(--max-w)}.prose h2{font-family:var(--font-sans);font-size:1.25rem;margin-top:2.5rem;margin-bottom:.75rem}.prose h3{font-family:var(--font-sans);font-size:1.0625rem;margin-top:2rem;margin-bottom:.5rem}.prose p{margin-bottom:1.5rem}.prose a{text-decoration:underline;text-underline-offset:3px}.prose blockquote{border-left:2px solid var(--border);padding-left:1.25rem;color:var(--muted);font-style:italic;margin:2rem 0}.prose ul,.prose ol{padding-left:1.5rem;margin-bottom:1.5rem}.prose li{margin-bottom:.375rem;line-height:1.7}.prose code{font-family:ui-monospace,Cascadia Code,Fira Code,monospace;font-size:.875em;background:var(--border);padding:.1em .35em;border-radius:3px}.prose hr{border:none;border-top:1px solid var(--border);margin:2.5rem 0}.section-heading{font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:0;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.section-block{margin-top:3rem}.section-block+.section-block{margin-top:3.5rem}.filter-bar{display:flex;list-style:none;border-bottom:1px solid var(--border);margin-bottom:0;gap:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.filter-bar::-webkit-scrollbar{display:none}.filter-bar a{display:block;padding:.625rem 0;margin-right:2rem;font-size:.875rem;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.filter-bar a:hover,.filter-bar a.active{color:var(--text);border-bottom-color:var(--text)}.page-title{max-width:var(--max-w);padding:3rem 0 2rem;border-bottom:1px solid var(--border);margin-bottom:0}.page-title h1{font-size:1.625rem;margin-bottom:.375rem}.page-title p{color:var(--muted);font-size:1rem}.topics-nav{display:flex;gap:2.5rem;list-style:none;margin-top:.75rem}.topics-nav a{font-size:.9375rem;text-decoration:none;color:var(--muted);font-weight:500}.topics-nav a:hover{color:var(--text)}.about-header{max-width:var(--max-w);padding:3rem 0 2.5rem;border-bottom:1px solid var(--border);margin-bottom:2.5rem}.about-header h1{font-size:1.875rem;margin-bottom:.5rem}.about-header .subtitle{color:var(--muted);font-size:1.0625rem;line-height:1.65}@media(max-width:640px){html{font-size:16px}.hero{padding:2.5rem 0 2rem}.hero h1{font-size:1.5rem}main{padding:2rem 0 4rem}.post-header h1,.about-header h1{font-size:1.5rem}.page-title h1{font-size:1.375rem}.page-title{padding:2rem 0 1.5rem}.about-header{padding:2rem 0}.site-nav{gap:1.25rem}.topics-nav{gap:1.5rem;flex-wrap:wrap}}
