:root{--ink: #111;--muted: #555;--rule: #ddd;--link: #0645ad;--max: 40rem;--wide: 48rem}*,*::before,*::after{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Georgia,"Times New Roman",Times,serif;font-size:1rem;line-height:1.35;color:var(--ink);background:#fff}a{color:var(--link)}a:hover{text-decoration:underline}.landing{max-width:var(--max);margin:0;padding:0}.landing-hero{padding:0 0 1.5rem}.brand{margin:0;font-size:2rem;font-weight:normal;line-height:1.2}.tagline{margin:.5rem 0 0;color:var(--muted)}.landing-section{padding:1.5rem 0;border-top:1px solid var(--rule)}.landing-section:first-of-type{border-top:none;padding-top:0}.landing-section h2{margin:0 0 .75rem;font-size:1.25rem;font-weight:normal}.plain-list,.toc-list{margin:0;padding:0;list-style:none}.plain-list li,.toc-list li{padding:.25rem 0}.toc-list{counter-reset:toc;padding-bottom:1.5rem}.toc-list li{counter-increment:toc}.toc-list li::before{content:counter(toc) ". "}@media(min-width: 640px){.toc-list{columns:2;column-gap:2rem}.toc-list li{break-inside:avoid}}.posts-scroll{max-height:20rem;overflow-y:auto;padding:.75rem 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.post+.post{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--rule)}.post h3{margin:0 0 .5rem;font-size:1.1rem;font-weight:normal}.post-body p{margin:0 0 .75rem}.post-body p:last-child{margin-bottom:0}.tale-header{max-width:72rem;margin:0 auto;padding:1rem 1.25rem 0}.home-link{text-decoration:none}.home-link:hover{text-decoration:underline}.tale-layout{max-width:72rem;margin:0 auto;padding:1.25rem 1.25rem 3rem;display:grid;gap:2rem}@media(min-width: 900px){.tale-layout{grid-template-columns:16rem minmax(0, 1fr);align-items:start}}.tale{max-width:var(--max);margin:0;padding:0}.tale-title{margin:0 0 1.25rem;font-size:1.75rem;font-weight:normal;text-align:center}.tale-image{margin:0 0 1.5rem;text-align:center}.tale-image img{max-width:100%;height:auto}.tale-body p{margin:0 0 1rem}.tale-body .tale-indent{margin-left:2rem;padding-left:0;border:none;font-style:normal;color:inherit}.compilation{max-width:var(--max)}.compilation-toc{margin:0 0 2rem}.compilation-toc ol{margin:0;padding-left:1.25rem}.compilation-toc li{padding:.2rem 0}.compilation-tale{margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--rule)}.compilation-tale-title{margin:0 0 1.25rem;font-size:1.5rem;font-weight:normal;text-align:center}.plain-list li.is-current{font-weight:bold}.tale-sidebar{font-size:.9rem}.sidebar-section+.sidebar-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--rule)}.sidebar-section h2{margin:0 0 .5rem;font-size:1.1rem;font-weight:normal}.toc-list-sidebar{columns:1 !important;padding-bottom:2rem}.toc-list-sidebar li.is-current{font-weight:bold}@media(min-width: 900px){.tale-sidebar{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow-y:auto;padding-bottom:2rem}}.site-footer{max-width:var(--wide);margin:0 auto;padding:1.5rem 1.25rem 2rem;border-top:1px solid var(--rule);text-align:center;color:var(--muted);font-size:.95rem}.site-footer-row{display:grid;grid-template-columns:1fr;gap:.25rem}@media(min-width: 640px){.site-footer-row{grid-template-columns:1fr 1fr 1fr;align-items:baseline}.site-footer-row span:nth-child(1){text-align:left}.site-footer-row span:nth-child(2){text-align:center}.site-footer-row span:nth-child(3){text-align:right}}.site-footer-email{display:inline-block;margin-top:.5rem}.author-message-form{display:grid;gap:.75rem;max-width:28rem}.author-message-form label{display:grid;gap:.35rem;color:var(--muted);font-size:.95rem}.author-message-form textarea{padding:.5rem;border:1px solid var(--rule);font:inherit;color:var(--ink);resize:vertical}.author-message-form input[type=submit]{justify-self:start;padding:.5rem .75rem;border:1px solid var(--ink);background:var(--ink);color:#fff;font:inherit;cursor:pointer}.author-message-hint{margin:0;color:var(--muted);font-size:.95rem}.site-auth-nav{max-width:var(--wide);margin:0 auto;padding:.75rem 1.25rem 0;text-align:right;font-size:.9rem;color:var(--muted)}.site-auth-sep{margin:0 .35rem;color:var(--rule)}.text-button{display:inline;padding:0;border:0;background:none;color:var(--link);font:inherit;cursor:pointer;text-decoration:underline}.auth-panel,.admin-panel{max-width:22rem;margin:0 auto;padding:2rem 1.25rem 3rem}.auth-panel .brand{font-size:1.5rem}.auth-panel .brand a{color:inherit;text-decoration:none}.auth-panel h2,.admin-panel h1{margin:1.25rem 0 1rem;font-size:1.25rem;font-weight:normal}.auth-form{display:grid;gap:.85rem}.auth-form label{display:grid;gap:.35rem;color:var(--muted);font-size:.95rem}.auth-form input[type=email],.auth-form input[type=password]{padding:.45rem .5rem;border:1px solid var(--rule);font:inherit;color:var(--ink)}.auth-form input[type=submit]{margin-top:.25rem;padding:.5rem .75rem;border:1px solid var(--ink);background:var(--ink);color:#fff;font:inherit;cursor:pointer}.auth-switch{margin:1.25rem 0 0;color:var(--muted);font-size:.95rem}.auth-errors{padding-left:1.25rem}.flash{margin:0 0 1rem;font-size:.95rem}.flash-alert{color:#8a1f1f}.flash-notice{color:#1f5a2e}.admin-bar{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--rule);font-size:.95rem}.admin-bar a{color:inherit;text-decoration:none}.admin-bar-sep{color:var(--muted)}.admin-bar-spacer{flex:1}.admin-bar-user{color:var(--muted);margin-right:.5rem}.admin-main{max-width:var(--wide);margin:0 auto;padding:1.5rem 1.25rem 3rem}
