:root{--bg: #faf6f0;--bg-elevated: #fffdf9;--text: #2b2622;--muted: #6e6559;--accent: #c05621;--accent-soft: #f5e6da;--border: #e6ddcc;--radius: 12px;--measure: 68ch;--font-head: "Avenir Next", "Segoe UI", "Trebuchet MS", system-ui, sans-serif;--font-body: Georgia, "Iowan Old Style", "Palatino Linotype", "Book Antiqua", serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html{font-size:18px;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.site-header{max-width:var(--measure);margin:0 auto;padding:1.6rem 1.25rem .9rem;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-bottom:1px solid var(--border)}.site-brand{display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap}.site-title{font-family:var(--font-head);font-size:1.3rem;font-weight:700;color:var(--text);letter-spacing:.01em}.site-title:hover{color:var(--accent);text-decoration:none}.site-tagline{color:var(--muted);font-size:.82rem}.site-nav{display:flex;align-items:center;gap:1rem;font-family:var(--font-head);font-size:.92rem}.site-nav a{color:var(--text)}.site-nav a:hover{color:var(--accent);text-decoration:none}.search-btn{font-family:var(--font-head);font-size:.85rem;color:var(--accent);background:var(--accent-soft);border:1px solid var(--border);border-radius:999px;padding:.25rem .85rem;cursor:pointer}.search-btn:hover{background:var(--accent);color:#fff}main{max-width:var(--measure);margin:0 auto;padding:2rem 1.25rem 3rem}h1,h2,h3,h4{font-family:var(--font-head);line-height:1.25;color:var(--text)}h1{font-size:1.95rem;margin:0 0 .5rem}h2{font-size:1.35rem;margin:1.75rem 0 .5rem}h3{font-size:1.1rem;margin:1.4rem 0 .4rem}.page-head .lede{color:var(--muted);font-size:1.05rem;margin-top:0}.intro{background:var(--bg-elevated);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius);padding:1.25rem 1.4rem;margin-bottom:1.75rem}.intro p{margin:.4rem 0}.intro p:first-child{margin-top:0}.post-list{list-style:none;padding:0;margin:1.5rem 0 0}.post-list li{padding:1.15rem 0;border-top:1px solid var(--border)}.post-list .post-meta{display:flex;align-items:center;gap:.6rem;margin-bottom:.3rem}.post-list time{color:var(--muted);font-size:.8rem}.post-list .post-title-link{font-family:var(--font-head);font-size:1.15rem;font-weight:600;color:var(--text)}.post-list .post-title-link:hover{color:var(--accent)}.post-list .post-excerpt{margin:.35rem 0 0;color:var(--muted);font-size:.95rem}.category-badge{display:inline-block;font-family:var(--font-head);font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:.14rem .65rem}a.category-badge:hover{background:var(--accent);color:#fff;text-decoration:none}.cat-head .lede{color:var(--muted)}.post-header time{color:var(--muted);font-size:.85rem}.post-header h1{margin:.3rem 0 .5rem}.post-byline{color:var(--muted);font-size:.9rem;margin:0 0 .75rem}.post-description{color:var(--muted);font-size:1.05rem;margin:.75rem 0 0}.post-tags{list-style:none;display:flex;gap:.5rem;flex-wrap:wrap;padding:0;margin:.9rem 0 0}.post-tags li{font-family:var(--font-head);font-size:.78rem;color:var(--muted);background:var(--bg-elevated);border:1px solid var(--border);padding:.15rem .6rem;border-radius:999px}.hero-image{margin:1.25rem 0 0;border-radius:var(--radius);overflow:hidden}.hero-image img{display:block;width:100%;height:auto}.post-body{margin-top:1.5rem}.post-body p{margin:.85rem 0}.post-body ul,.post-body ol{padding-left:1.4rem}.post-body blockquote{margin:1rem 0;padding:.1rem 1.1rem;border-left:3px solid var(--accent);color:var(--muted);font-style:italic}.post-body code{font-family:var(--font-mono);background:var(--bg-elevated);border:1px solid var(--border);padding:.12rem .35rem;border-radius:5px;font-size:.88em}.post-body pre{background:var(--bg-elevated);border:1px solid var(--border);padding:1rem;border-radius:8px;overflow-x:auto}.post-body pre code{background:none;border:none;padding:0}.post-body img{max-width:100%;border-radius:var(--radius)}.post-nav{display:flex;justify-content:space-between;gap:1.5rem;margin-top:2.5rem;border-top:1px solid var(--border);padding-top:1.1rem;font-size:.95rem}.post-nav .nav-label{display:block;color:var(--muted);font-size:.75rem;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.15rem}.post-nav a{color:var(--text)}.post-nav a:hover{color:var(--accent)}.post-nav-next{text-align:right}.archive-group{margin:1.5rem 0 0}.archive-group h2{margin:0 0 .4rem;font-size:1.2rem}.archive-month{margin:.9rem 0 0}.archive-month h3{margin:0 0 .3rem;font-size:.95rem;color:var(--muted);font-family:var(--font-head);text-transform:uppercase;letter-spacing:.05em}.archive-month ul{list-style:none;padding:0;margin:0}.archive-month li{display:flex;gap:1rem;align-items:baseline;padding:.28rem 0;border-bottom:1px dotted var(--border)}.archive-month time{color:var(--muted);font-size:.82rem;font-variant-numeric:tabular-nums;min-width:5.5em}.archive-month a{color:var(--text)}.archive-month a:hover{color:var(--accent)}.empty{color:var(--muted);font-style:italic}.back-link{margin-top:2.5rem;border-top:1px solid var(--border);padding-top:1rem}.search-overlay{position:fixed;inset:0;background:#2b262273;display:flex;justify-content:center;align-items:flex-start;padding:12vh 1.25rem 0;z-index:50}.search-overlay .pagefind-ui{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 12px 40px #2b26222e;padding:1.1rem;width:min(44rem,100%)}.site-footer{max-width:var(--measure);margin:0 auto;padding:1.25rem 1.25rem 3rem;color:var(--muted);font-size:.85rem;border-top:1px solid var(--border)}.site-footer a{color:var(--muted)}.site-footer a:hover{color:var(--accent)}.post-body h2{scroll-margin-top:1.5rem;border-left:3px solid var(--accent);padding-left:.65rem}.post-body h3{scroll-margin-top:1.5rem}.post-body>p:first-of-type:first-letter{font-family:var(--font-head);font-weight:700;font-size:3.1em;line-height:.82;float:left;padding-right:.12em;padding-top:.06em;color:var(--accent)}.callout{margin:1.6rem 0;padding:1rem 1.15rem 1rem 1.3rem;border-radius:var(--radius);border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--bg-elevated)}.callout p{margin:.35rem 0}.callout p:first-of-type{margin-top:0}.callout p:last-child{margin-bottom:0}.callout-label{display:inline-block;font-family:var(--font-head);font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:.14rem .6rem;margin-right:.5rem;vertical-align:.08em}.callout--note{border-left-color:#8a9a8a}.callout--note .callout-label{color:#556255;background:#e8eee8}.callout--tip{border-left-color:#b5894a}.callout--tip .callout-label{color:#8a6430;background:#f4e9d6}.callout--warn{border-left-color:#c9a13b}.callout--warn .callout-label{color:#8a6d1f;background:#f7efd8}.callout--important{border-left-color:#c05621}.callout--important .callout-label{color:#a34a1c;background:#f5e6da}.summary-box{margin:2.2rem 0;padding:1.25rem 1.5rem 1.1rem;border-radius:var(--radius);background:var(--accent-soft);border:1px solid var(--border);box-shadow:inset 3px 0 0 var(--accent)}.summary-box h2{border-left:none;padding-left:0;margin:0 0 .6rem;font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.summary-box ul{margin:0;padding-left:1.25rem}.summary-box li{margin:.35rem 0}.table-wrap{margin:1.75rem 0;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated)}table{width:100%;border-collapse:collapse;font-size:.93rem}th{font-family:var(--font-head);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;text-align:left;background:var(--accent-soft);color:var(--text);padding:.6rem .85rem;white-space:nowrap}td{padding:.55rem .85rem;border-top:1px solid var(--border);vertical-align:top}tbody tr:hover{background:var(--bg-elevated)}tbody tr:last-child td{border-bottom:none}.post-body ul.contains-task-list{list-style:none;padding-left:.15rem}.post-body ul.contains-task-list li{margin:.45rem 0}.post-body ul.contains-task-list input[type=checkbox]{accent-color:var(--accent);width:1.05em;height:1.05em;margin-right:.55rem;transform:translateY(.12em)}.post-body li:has(input[type=checkbox]:checked){color:var(--muted);text-decoration:line-through;text-decoration-color:var(--border)}.post-body dl{margin:1.4rem 0;padding:1rem 1.3rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius)}.post-body dt{font-family:var(--font-head);font-weight:700;margin-top:.8rem}.post-body dt:first-of-type{margin-top:0}.post-body dd{margin:.2rem 0 0;color:var(--muted);font-size:.95rem}.post-body blockquote{position:relative;margin:1.9rem 0;padding:.9rem 1.2rem .9rem 2.6rem;background:var(--bg-elevated);border:1px solid var(--border);border-left:none;border-radius:var(--radius);font-style:italic;color:var(--text)}.post-body blockquote:before{content:"“";position:absolute;left:.8rem;top:.15rem;font-family:var(--font-head);font-size:2.6rem;line-height:1;color:var(--accent);opacity:.75}.post-body blockquote p{margin:.3rem 0}.post-body figure{margin:1.9rem 0;text-align:center}.post-body figure img{border-radius:var(--radius);box-shadow:0 4px 18px #2b262224}.post-body figcaption{margin-top:.55rem;font-size:.82rem;color:var(--muted)}.post-body details{margin:1.1rem 0;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);padding:.15rem 1.1rem}.post-body summary{cursor:pointer;font-family:var(--font-head);font-weight:600;padding:.7rem 0;color:var(--text)}.post-body summary::marker{color:var(--accent)}.post-body summary:hover{color:var(--accent)}.post-body details[open] summary{border-bottom:1px solid var(--border);margin-bottom:.6rem}.post-body details p{font-size:.95rem}mark{background:#f4e9d6;color:inherit;padding:0 .22em;border-radius:3px}.post-body hr{border:none;border-top:2px dotted var(--border);margin:2.6rem auto;width:45%}.post-body audio{width:100%;margin:1.2rem 0;border-radius:999px}.post-body>p:has(em:only-child){margin-top:2.6rem;padding-top:1.1rem;border-top:1px solid var(--border);font-size:.85rem;color:var(--muted)}
