:root{--paper:#f8f0d2;--ink:#25241f;--muted:#686455;--blue:#596b83;--field:#fffaf0;--field-border:#918a78;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,"Times New Roman",serif;font-size:19px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[contenteditable]:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.6}
.site-shell{width:calc(100% - 104px);max-width:1120px;margin:0 auto}
.site-header{padding:29px 0 15px;border-bottom:1px solid var(--ink)}
.masthead{display:flex;justify-content:space-between;gap:30px;align-items:flex-start}
.masthead>div{min-width:0;flex:1}
.site-name{display:inline-block;font-size:48px;font-weight:400;letter-spacing:1.3px;line-height:1.12}
.site-description{margin:2px 0 11px;font-size:19px}
.motto{margin:13px 0 0;font-size:11px;letter-spacing:1.6px;line-height:1.4;text-transform:uppercase;flex:0 0 200px;width:200px}
.navigation{display:flex;align-items:center;gap:15px;font-size:20px;line-height:1.3}
.navigation>span{font-size:17px;font-weight:400}
.navigation a[aria-current=page]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.featured{padding:48px 0 43px;border-bottom:1px solid var(--ink)}
.section-label{margin:0 0 17px;font-size:12px;font-weight:400;letter-spacing:2.4px;text-transform:uppercase;line-height:1.5}
.featured h2{font-size:36px;line-height:1.25;letter-spacing:-.7px;font-weight:400;margin:0 0 17px}
.featured-excerpt{font-size:20px;line-height:1.5;margin:0 0 22px}
.metadata{display:block;font:13px/1.6 "Courier New",monospace;letter-spacing:.3px;color:var(--muted)}
.recent{padding-top:31px}
.recent .section-label{margin-bottom:23px}
.article-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:68px;row-gap:44px}
.article-summary :is(h2,h3){font-size:28px;font-weight:400;letter-spacing:-.5px;line-height:1.25;margin:0 0 14px}
.article-summary p{margin:0 0 17px;font-size:19px;line-height:1.5}
.all-articles{display:inline-flex;gap:10px;align-items:center;font-size:21px;margin-top:56px}
.all-articles>span:last-child{border-bottom:1px solid var(--ink);line-height:1.15;padding-bottom:3px}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:35px;border-top:1px solid var(--ink);padding:22px 0 45px;margin-top:59px}
.footer-name{font-size:20px;line-height:1.3}
.site-footer p{margin:1px 0 0;font-size:16px}
.footer-nav{font-size:16px;gap:13px}
.footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:13px}
.footer-login{border:1px solid var(--field-border);background:var(--field);padding:5px 10px;font-size:14px;white-space:nowrap}
.admin-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:72px;padding:18px 0;border-bottom:1px solid #25241f30;font-size:14px}
.admin-bar-links{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:20px;margin-left:auto}
.admin-bar form,.article-actions form{margin:0}
.admin-bar a,.article-actions a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.admin-button{border:1px solid var(--field-border);background:var(--field);padding:6px 12px;font-size:14px}
.admin-bar a.admin-button{color:var(--ink);text-decoration:none}
.admin-bar a.admin-button:hover{color:var(--blue);text-decoration:underline}
.admin-text-button{border:0;background:none;padding:0;font:inherit;color:var(--blue);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.admin-text-button:hover{color:var(--ink)}
.article-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:12px;font-size:13px}
.reading-page>.article-actions{margin:0 0 25px}
.featured-indicator{font:11px "Courier New",monospace;color:var(--muted)}
.status-label{display:inline-block;font:500 12px/1.4 ui-monospace,"SFMono-Regular",Consolas,monospace;padding:5px 10px;border:1px solid #aaa69f;background:#e8e5dd;color:var(--ink);white-space:nowrap}
.status-label.published{background:#dfe8d9;border-color:#9cae90;color:#33462d}
.archive-year li.has-admin-actions{grid-template-columns:175px minmax(0,1fr) auto}
.archive-year .article-actions{margin:0}
.archive-year .article-actions a{font-size:13px}
.admin-feedback{font-size:15px;margin:24px 0 0}
.delete-dialog{background:var(--paper);color:var(--ink);border:1px solid var(--ink);padding:28px;width:calc(100% - 40px);max-width:500px}
.delete-dialog::backdrop{background:#25241f66}
.delete-dialog h2{font-size:28px;font-weight:400;margin:0 0 18px}
.delete-dialog p{font-size:17px;line-height:1.6;margin:0 0 24px}
.delete-dialog-actions{display:flex;justify-content:flex-end;align-items:center;gap:22px;font-size:14px}
.rss-link{font:11px "Courier New",monospace;letter-spacing:.5px}
.listing-page,.archive-page{padding-top:48px}
h1{font-size:38px;line-height:1.22;letter-spacing:-.6px;font-weight:400;margin:0 0 19px;overflow-wrap:break-word}
.page-intro{margin:0 0 43px;font-size:20px}
.reading-page{width:100%;margin:0;padding-top:46px}
.back-link{display:inline-block;font-size:16px;color:var(--blue);margin-bottom:28px}
.reading-page h1{font-size:40px;margin-bottom:17px}
.reading-page>.metadata{margin-bottom:31px}
.article-lead{font-size:21px;line-height:1.55;margin:0 0 32px}
.prose{font-size:19px;line-height:1.8;overflow-wrap:anywhere}
.prose p{margin:0 0 24px}
.prose h2{font-weight:400;font-size:29px;line-height:1.3;margin:38px 0 17px}
.prose h3{font-weight:400;font-size:24px;line-height:1.4;margin:30px 0 14px}
.prose a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.prose ul,.prose ol{padding-left:28px;margin:22px 0}
.prose li>p{margin-bottom:8px}
.prose blockquote{border-left:1px solid var(--ink);margin:29px 0;padding:0 0 0 23px;font-style:italic}
.prose img{display:block;max-width:100%;height:auto;margin:27px 0}
.prose hr{border:0;border-top:1px solid var(--ink);margin:35px 0}
.reading-end{display:inline-block;color:var(--blue);font-size:17px;margin-top:29px}
.about-page h1{margin-bottom:33px}
.archive-page{width:100%}
.archive-year{margin-top:37px}
.archive-year h2{font-size:27px;font-weight:400;margin:0 0 16px}
.archive-year ul{list-style:none;margin:0;padding:0}
.archive-year li{display:grid;grid-template-columns:175px 1fr;gap:20px;padding:13px 0;border-bottom:1px solid #25241f25;align-items:baseline}
.archive-year a{font-size:21px}
.empty-text{margin:35px 0;color:var(--muted)}
.login-page{width:100%;margin:55px 0 80px}
.login-page h1{font-size:35px}
.login-page>p:not(.section-label){font-size:18px}
.login-page form{margin:30px 0}
.login-page label{display:block;font-size:16px;margin:20px 0 7px}
.login-page input{background:var(--field);width:100%;border:1px solid var(--field-border);padding:10px 12px;border-radius:0}
.plain-button{background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:8px 19px;font-size:16px;margin-top:23px}
.form-error{color:#843b28;border-left:2px solid #843b28;padding-left:14px}
.preview-note{font:12px "Courier New",monospace;color:var(--muted);border-bottom:1px solid var(--muted);padding-bottom:15px;margin-bottom:26px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:15px;top:-100px;background:var(--paper);border:1px solid var(--ink);padding:8px;z-index:100}
.skip-link:focus{top:12px}
@media(min-width:1300px){.site-header{padding-top:39px}.featured{padding-top:49px;padding-bottom:45px}.article-grid{row-gap:48px}.article-summary :is(h2,h3){font-size:30px}.recent{padding-top:36px}.site-footer{margin-top:65px}}
@media(max-width:800px){.site-shell{width:calc(100% - 64px)}.site-name{font-size:39px}.site-description{font-size:17px}.article-grid{column-gap:36px}.article-summary :is(h2,h3){font-size:25px}.article-summary p{font-size:18px}.site-footer{align-items:flex-start;flex-direction:column;gap:21px}.featured h2{font-size:33px}.motto{font-size:10px;flex-basis:150px;width:150px}.navigation{font-size:19px}}
@media(max-width:580px){body{font-size:18px}.site-shell{width:calc(100% - 40px)}.site-header{padding:25px 0 17px}.site-name{font-size:32px;letter-spacing:.6px}.masthead{display:block}.site-description{font-size:16px;margin-top:7px;margin-bottom:19px;line-height:1.45}.motto{display:none}.navigation{font-size:18px;gap:12px}.featured{padding:32px 0}.section-label{font-size:11px;margin-bottom:15px}.featured h2{font-size:30px}.featured-excerpt{font-size:18px}.recent{padding-top:28px}.article-grid{grid-template-columns:1fr;gap:33px}.article-summary :is(h2,h3){font-size:26px;margin-bottom:11px}.article-summary p{margin-bottom:13px}.all-articles{margin-top:36px;font-size:20px}.site-footer{margin-top:42px;padding:23px 0 32px}.footer-nav{font-size:16px;gap:11px}.reading-page{padding-top:30px}.reading-page h1{font-size:33px}.article-lead{font-size:19px}.prose{font-size:18px;line-height:1.75}.listing-page,.archive-page{padding-top:32px}.page-intro{font-size:18px;margin-bottom:33px}.archive-year li{grid-template-columns:1fr;gap:4px;padding:15px 0}.archive-year a{font-size:20px}.login-page{margin:35px 0 50px}h1{font-size:33px}}
@media print{body{background:white;color:black}.site-shell{width:100%}.site-header,.site-footer,.back-link,.reading-end,.preview-note{display:none}.reading-page{padding-top:0}.prose a{color:black}.prose img{break-inside:avoid}}
@media(max-width:900px){.archive-year li.has-admin-actions{grid-template-columns:150px minmax(0,1fr)}.archive-year .article-actions{grid-column:2}}
@media(max-width:580px){.admin-bar{align-items:flex-start;gap:12px;font-size:12px}.admin-bar-links{gap:12px}.admin-button{font-size:12px;padding:6px 8px}.archive-year li.has-admin-actions{grid-template-columns:1fr;gap:8px}.archive-year .article-actions{grid-column:1;gap:10px}.status-label{padding:4px 8px}.article-actions{gap:10px}}
@media print{.admin-bar,.article-actions,.admin-feedback{display:none}}
