:root{color-scheme:light;--paper:#f7f5f0;--ink:#202824;--muted:#727a73;--green:#325c4b;--line:#e4e1d9;--accent:#d7e4c7;--white:#fff}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
.site-header{height:82px;padding:0 max(calc((100vw - 1160px)/2),6vw);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.wordmark{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;letter-spacing:-.03em}
.mark{display:grid;place-items:center;width:37px;height:37px;border-radius:12px;background:var(--green);color:#fff;font-family:Georgia,serif;font-size:23px}
.header-link,.site-footer a{font-size:13px;color:var(--muted);text-decoration:none}
.header-link:hover,.site-footer a:hover{color:var(--green)}
.site-nav{display:flex;align-items:center;gap:16px}
.author-area-link,.signup-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border-radius:6px;font-size:11px;font-weight:750;letter-spacing:.06em;text-decoration:none}
.author-area-link{background:var(--green);color:#fff}
.author-area-link:hover{background:#254638;color:#fff}
.signup-link{border:1px solid var(--green);color:var(--green)}
.signup-link:hover{background:#edf2e9}
.signup-prompt{margin:3px 0 0;color:var(--muted);font-size:12px;line-height:1.6}
.signup-prompt a{color:var(--green);font-weight:700}
main{max-width:1160px;margin:0 auto;padding:0 32px}
.intro{padding:107px 0 94px;text-align:center}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:.19em;color:var(--green)}
.intro h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(48px,7vw,80px);line-height:1.05;letter-spacing:-.045em;margin:25px 0 22px;font-weight:500}
.intro h1 em{color:var(--green);font-weight:500}
.intro-copy{max-width:490px;margin:auto;color:var(--muted);font-size:16px;line-height:1.8}
.feed{border-top:1px solid var(--line);padding:37px 0 95px}
.feed-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:26px}
.feed-heading h2,.newsletter-note h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:30px;letter-spacing:-.03em;margin:0}
.feed-heading span{font-size:12px;color:var(--muted)}
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.post-card{min-height:255px;padding:25px;background:#fff;border:1px solid #eeece6;border-radius:13px;display:flex;flex-direction:column;text-align:left;transition:transform .18s ease,box-shadow .18s ease}
.post-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #1f32250d}
.post-labels{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:17px}
.post-label{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 9px;background:#edf2e9;border-radius:30px;color:var(--green)}
.post-card h3{margin:0;font:500 25px/1.2 Georgia,"Times New Roman",serif;letter-spacing:-.025em}
.post-card .excerpt{margin:13px 0 23px;color:var(--muted);font-size:13px;line-height:1.7}
.post-card .card-meta{margin-top:auto;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px}
.read-link{font-size:12px;font-weight:600;color:var(--green)}
button.read-link{padding:0;border:0;background:transparent;font-family:inherit;cursor:pointer}
button.read-link:hover{text-decoration:underline}
.post-card-button{padding:0;border:0;background:transparent;text-align:left;cursor:pointer;color:inherit;font:inherit}
.loading,.empty-state{color:var(--muted);font-size:14px;padding:15px 0}
.empty-state{text-align:center;padding:60px 0}
.button{border:0;border-radius:6px;padding:13px 19px;font:600 13px system-ui,sans-serif;cursor:pointer}
.button-light{display:block;background:var(--green);color:white;margin:30px auto 0}
.button-light:hover{background:#254638}
.newsletter-note{border-radius:15px;background:var(--accent);display:flex;align-items:flex-start;gap:32px;padding:41px 49px;margin-bottom:81px}
.note-spark{font-size:41px;color:var(--green);line-height:1}
.newsletter-note .eyebrow{margin:0 0 12px}
.newsletter-note h2{font-size:31px}
.newsletter-note p:last-child{color:#586958;margin:10px 0 0;font-size:14px;line-height:1.6}
.site-footer{min-height:85px;border-top:1px solid var(--line);padding:20px max(calc((100vw - 1160px)/2),6vw);display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--muted);font-size:11px}
.article-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(760px,100%);height:100%;max-height:none;border:0;padding:75px clamp(24px,8vw,92px);box-shadow:-10px 0 60px #1f322522;background:var(--paper);overflow:auto}
.article-dialog::backdrop{background:#17251c8a}
.close-button{position:fixed;top:20px;right:25px;border:1px solid var(--line);background:#fff;border-radius:50%;width:40px;height:40px;font-size:25px;cursor:pointer}
.article-content .article-labels{margin:25px 0 15px}
.article-content h1{font:500 clamp(39px,6vw,58px)/1.1 Georgia,"Times New Roman",serif;letter-spacing:-.04em;margin:0 0 15px}
.article-byline{font-size:12px;color:var(--muted);border-bottom:1px solid var(--line);padding:0 0 27px}
.article-actions{display:flex;align-items:center;gap:12px;margin-top:20px}
.share-button{background:var(--green);color:#fff}
.share-button:hover{background:#254638}
.share-status{font-size:12px;color:var(--green)}
.article-body{font:17px/1.85 Georgia,"Times New Roman",serif;margin:30px 0 58px;overflow-wrap:anywhere}
.article-body h2,.article-body h3{line-height:1.2;margin-top:1.7em}
.article-body img{display:block;max-width:100%;height:auto;border-radius:8px;margin:28px auto}
.article-body a{color:var(--green)}
.article-body blockquote{border-left:3px solid var(--green);padding-left:20px;color:var(--green);margin:25px 0}
.comments{border-top:1px solid var(--line);padding-top:26px}
.comments h2{font:500 26px Georgia,"Times New Roman",serif}
.comment{padding:14px 0;border-bottom:1px solid var(--line)}
.comment strong{font-size:13px}
.comment time{font-size:10px;color:var(--muted);margin-left:9px}
.comment p{white-space:pre-wrap;line-height:1.6;font-size:13px}
.comment-form{display:grid;gap:12px;margin-top:27px}
.comment-form label{display:grid;gap:6px;font-size:12px;color:var(--muted)}
.comment-form input,.comment-form textarea{border:1px solid var(--line);border-radius:6px;background:#fff;padding:11px;font:14px system-ui,sans-serif}
.comment-form textarea{min-height:100px;resize:vertical}
.comment-form button{justify-self:start;background:var(--green);color:#fff}
.honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.form-message{font-size:12px;color:var(--green);min-height:1.3em}
.blog-profile{display:flex;justify-content:center;align-items:center;gap:27px;min-height:280px;padding:55px 0;text-align:left}
.blog-profile img{width:112px;height:112px;object-fit:cover;border-radius:50%;border:4px solid #fff;box-shadow:0 3px 20px #1f32251a}
.blog-profile h1{font:500 clamp(42px,6vw,68px)/1.05 Georgia,serif;letter-spacing:-.04em;margin:8px 0}
.blog-profile #profile-description{max-width:590px;color:var(--muted);line-height:1.7}
.directory-card{min-height:220px}
.directory-card h3{margin:12px 0}
.directory-avatar{width:60px;height:60px;border-radius:50%;object-fit:cover}
body[data-template="journal"]{--paper:#f3eddf;--ink:#30291f;--muted:#766c5d;--green:#79512e;--line:#e4d9c5;--accent:#ead9b4}
body[data-template="journal"] .post-card{border-radius:2px;box-shadow:3px 4px 0 #d8cbb5}
body[data-template="journal"] .mark{border-radius:2px;background:#79512e}
body[data-template="journal"] .post-label{background:#ead9b4;color:#674420}
body[data-template="minimal"]{--paper:#f7fafc;--ink:#202b34;--muted:#697987;--green:#285a78;--line:#dce7ed;--accent:#dcecf4}
body[data-template="minimal"] .post-card{border-radius:4px;box-shadow:none}
body[data-template="minimal"] .mark{border-radius:50%;background:#285a78}
body[data-template="minimal"] .post-label{background:#dcecf4;color:#285a78}
@media(max-width:760px){.site-header{height:auto;min-height:70px;padding:12px 20px;gap:12px;flex-wrap:wrap}.site-nav{gap:8px;flex-wrap:wrap}.author-area-link,.signup-link{min-height:40px;padding:0 10px;font-size:10px}.header-link{font-size:12px}main{padding:0 20px}.intro{padding:80px 0 72px}.intro h1{font-size:53px}.intro-copy{font-size:14px}.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer{padding:22px 20px;flex-wrap:wrap}.newsletter-note{padding:30px 24px;gap:20px;margin-bottom:60px}.article-dialog{padding:75px 25px}}
@media(max-width:500px){.site-header{align-items:flex-start}.wordmark{font-size:15px}.site-nav{width:100%;justify-content:space-between;gap:8px}.author-area-link,.signup-link{flex:1;min-height:42px;padding:0 8px;font-size:10px}.header-link{font-size:12px}.intro h1{font-size:43px}.post-grid{grid-template-columns:1fr}.post-card{min-height:220px}.feed-heading h2{font-size:26px}.site-footer span:nth-child(2){display:none}.newsletter-note h2{font-size:27px}.blog-profile{flex-direction:column;text-align:center;gap:12px;padding:45px 0}.blog-profile img{width:92px;height:92px}.article-dialog{height:100dvh;padding:calc(68px + env(safe-area-inset-top)) 20px calc(28px + env(safe-area-inset-bottom))}.article-content h1{font-size:clamp(34px,10vw,46px)}.article-body{font-size:18px;line-height:1.8;margin:25px 0 44px}.article-actions{align-items:flex-start;flex-direction:column;gap:8px}.share-button{min-height:44px}.close-button{top:calc(12px + env(safe-area-inset-top));right:14px}}
