:root{--forest-900: var(--primary);--forest-800: var(--primary);--forest-700: var(--primary);--forest-600: var(--primary);--forest-500: var(--content);--moss: var(--shelterwood-sage);--sage: var(--shelterwood-sage);--parchment: var(--code-bg);--paper: var(--theme);--ink: var(--content);--ink-soft: var(--secondary);--ink-faint: var(--secondary);--rule: var(--border);--amber: var(--shelterwood-bark);--measure: 40rem}.main.blog-main{max-width:calc(52rem + var(--gap) * 2)}.blog-main .wrap{max-width:100%;margin:0;padding:0}.article{padding-top:1rem}.article header{margin-bottom:2.5rem}.eyebrow{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--moss);margin:0 0 .9rem}.article h1{font-family:var(--font-display);font-weight:600;font-size:clamp(1.9rem,5vw,2.8rem);line-height:1.12;letter-spacing:-.02em;color:var(--forest-900);margin:0 0 1rem}.byline{display:flex;align-items:center;gap:.6rem;margin:0 0 .9rem}.byline-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:1px solid var(--rule);flex-shrink:0}.byline-name{font-weight:600;font-size:.92rem;color:var(--forest-800);text-decoration:none}.byline-name:hover{color:var(--forest-600);text-decoration:underline;text-decoration-color:var(--sage)}.byline .post-meta{margin:0}.post-meta{font-family:var(--font-mono);font-size:.78rem;color:var(--ink-faint);display:flex;flex-wrap:wrap;gap:.4rem 1rem}.draft-pill{display:inline-block;background:var(--amber);color:var(--paper);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;padding:.12rem .5rem;border-radius:3px}.prose{font-size:1.06rem}.prose>*{max-width:var(--measure)}.prose p{margin:0 0 1.35rem}.prose h2{font-family:var(--font-display);font-weight:600;font-size:1.5rem;letter-spacing:-.01em;color:var(--forest-700);margin:3rem 0 1rem;line-height:1.25}.prose h3{font-family:var(--font-display);font-weight:500;font-size:1.2rem;color:var(--forest-600);margin:2.2rem 0 .8rem}.prose a{color:var(--forest-600);text-decoration:underline;text-decoration-color:var(--sage);text-underline-offset:2px}.prose a:hover{text-decoration-color:var(--forest-600)}.prose strong{color:var(--forest-800);font-weight:600}.prose em{color:var(--ink)}.prose blockquote{margin:1.8rem 0;padding:.4rem 0 .4rem 1.4rem;border-left:3px solid var(--moss);color:var(--ink-soft);font-style:italic}.prose code{font-family:var(--font-mono);font-size:.86em;background:var(--parchment);padding:.1em .35em;border-radius:3px;color:var(--forest-700)}.prose pre{background:var(--forest-900);color:var(--parchment);padding:1rem 1.2rem;border-radius:6px;overflow-x:auto;font-size:.85rem}.prose pre code{background:none;padding:0;color:inherit}.prose hr{border:none;border-top:1px solid var(--rule);margin:2.5rem 0}.prose ul,.prose ol{margin:0 0 1.35rem;padding-left:1.4rem}.prose li{margin-bottom:.4rem}.prose li:last-child{margin-bottom:0}.prose li>ul,.prose li>ol{margin:.4rem 0 0}.sources{margin-top:3.5rem;padding-top:1.5rem;border-top:1px solid var(--rule);font-size:.85rem;color:var(--ink-faint)}.sources h4{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--moss);margin:0 0 .7rem}.sources ul{margin:0;padding-left:1.1rem}.sources li{font-family:var(--font-mono);font-size:.78rem;margin-bottom:.25rem}.tags{margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:.4rem}.tag{font-family:var(--font-mono);font-size:.7rem;color:var(--ink-soft);background:var(--parchment);padding:.15rem .55rem;border-radius:999px;text-decoration:none;border:1px solid transparent;transition:border-color .14s ease,color .14s ease}a.tag:hover{color:var(--forest-700);border-color:var(--rule)}.lede{font-family:var(--font-display);font-weight:400;font-size:clamp(1.3rem,3.5vw,1.7rem);line-height:1.4;color:var(--forest-800);margin:2.5rem 0 .5rem;letter-spacing:-.01em}.lede-sub{color:var(--ink-soft);margin-bottom:3rem;max-width:34rem}.lede-sub a{color:var(--forest-600);text-decoration:underline;text-decoration-color:var(--sage);text-underline-offset:2px}.lede-sub a:hover{text-decoration-color:var(--forest-600)}.post-list{list-style:none;margin:0;padding:0}.post-list li{padding:1.8rem 0;border-bottom:1px solid var(--rule)}.post-list li:first-child{border-top:1px solid var(--rule)}.post-list .post-link{text-decoration:none;display:block}.post-list .p-date{font-family:var(--font-mono);font-size:.74rem;color:var(--ink-faint);display:flex;align-items:center;gap:.6rem;margin-bottom:.4rem}.post-list h2{font-family:var(--font-display);font-weight:600;font-size:1.4rem;line-height:1.2;letter-spacing:-.01em;color:var(--forest-800);margin:0}.post-list .post-link:hover h2{color:var(--forest-600)}.cta{margin-top:4rem;padding:1.6rem 1.8rem;background:var(--forest-800);color:var(--parchment);border-radius:8px;font-size:.95rem;line-height:1.5}.cta a{color:var(--sage)}.about-body{padding-top:1rem}.about-body h1{font-family:var(--font-display);font-weight:600;font-size:clamp(1.8rem,5vw,2.5rem);color:var(--forest-900);letter-spacing:-.02em;margin:0 0 1.5rem}.page-title{font-family:var(--font-display);font-weight:600;font-size:clamp(1.8rem,5vw,2.6rem);line-height:1.12;letter-spacing:-.02em;color:var(--forest-900);margin:.3rem 0 1rem}.browse-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 2.2rem}.browse-label{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);margin-right:.2rem}.chip{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.78rem;color:var(--ink-soft);background:var(--parchment);border:1px solid var(--rule);padding:.28rem .7rem;border-radius:999px;text-decoration:none;transition:background .14s ease,color .14s ease,border-color .14s ease}.chip:hover{background:var(--forest-700);color:var(--parchment);border-color:var(--forest-700)}.chip.chip-concept{background:var(--forest-700);color:var(--parchment);border-color:var(--forest-700);font-family:var(--font-body);font-size:.82rem}.chip.chip-concept:hover{background:var(--forest-600);border-color:var(--forest-600)}.chip-lg{font-size:.9rem;padding:.4rem .9rem}.chip-count{font-size:.72em;opacity:.7;background:#00000014;border-radius:999px;padding:.05em .45em}.chip-concept .chip-count{background:#ffffff2e}.chip-count.static{background:var(--parchment);color:var(--ink-faint);border:1px solid var(--rule)}.tag-index{list-style:none;margin:0 0 2.5rem;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}.concept-index{list-style:none;margin:0 0 2.5rem;padding:0;display:grid;gap:1rem}.concept-card{display:block;text-decoration:none;border:1px solid var(--rule);border-radius:10px;padding:1.4rem 1.5rem;background:var(--paper);transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.concept-card:hover{border-color:var(--moss);box-shadow:0 6px 22px #0f1e1714;transform:translateY(-1px)}.concept-card h2{font-family:var(--font-display);font-weight:600;font-size:1.35rem;color:var(--forest-800);margin:0 0 .4rem;letter-spacing:-.01em}.concept-card p{margin:0 0 .9rem;color:var(--ink-soft);font-size:.95rem}.concept-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.browse-back{margin-top:2.5rem;font-family:var(--font-mono);font-size:.82rem}.browse-back a{color:var(--forest-600);text-decoration:none}.browse-back a:hover{text-decoration:underline}.p-tags{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.35rem}.p-tag{font-family:var(--font-mono);font-size:.68rem;color:var(--ink-faint);background:var(--parchment);padding:.1rem .45rem;border-radius:999px}.kind-pill{display:inline-block;background:var(--forest-600);color:var(--paper);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.05em;text-transform:uppercase;padding:.12rem .5rem;border-radius:3px}.prose figure{margin:2.5rem 0;max-width:100%}.prose figure svg{display:block;width:100%;height:auto;max-width:560px;margin:0 auto;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:10px;padding:.5rem}.prose figure img{display:block;width:100%;height:auto;margin:0 auto;border:1px solid var(--rule);border-radius:10px}.prose figcaption{text-align:center;color:var(--ink-faint);font-size:.9em;margin-top:.6rem}@media(max-width:34rem){.article h1{line-height:1.14}}
