:root{color-scheme:light;--ink:#153c33;--muted:#49685d;--rule:#bfcfc0;--light:#f4f5ed;--paper:#fffef7;--action:#13583f}
*{box-sizing:border-box}
body{margin:0;background:var(--light);color:var(--ink);font:1rem/1.55 "Segoe UI",Arial,sans-serif}
[hidden]{display:none!important}
a{color:inherit}button,input,textarea{font:inherit}
button{color:white;background:var(--action);border:1px solid var(--action);border-radius:.5rem;padding:.65rem 1.05rem;font-weight:650;cursor:pointer}
button:disabled{opacity:.65}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b86a12;outline-offset:3px}
header{background:var(--paper);border-bottom:1px solid var(--rule)}
.bar,main{width:min(72rem,calc(100% - 3rem));margin:auto}
.bar{min-height:4.6rem;display:flex;align-items:center;justify-content:space-between}
.brand{display:inline-flex;align-items:center;gap:.85rem;text-decoration:none;font-weight:600}
.brand img{width:6.5rem;height:auto}.brand span{border-left:1px solid var(--rule);padding-left:.85rem}
.skip{position:absolute;top:-5rem}.skip:focus{top:.4rem;left:.5rem;background:white;padding:.5rem;z-index:2}
main{padding:clamp(2rem,6vw,6rem) 0 4rem}.entry,.spread,.readings{display:grid;gap:clamp(1rem,3vw,3rem)}
.entry{grid-template-columns:minmax(0,1.35fr) minmax(18rem,1fr);align-items:center;min-height:55vh}
.spread{grid-template-columns:minmax(0,1.7fr) minmax(16rem,1fr);align-items:start}
.overline{margin:0 0 .7rem;color:var(--muted);font-weight:700;font-size:.8rem;letter-spacing:.065em;text-transform:uppercase}
h1,h2,h3,p{margin:0 0 1rem}
h1,h2{font-family:Georgia,Cambria,serif;font-weight:500;line-height:1.1;letter-spacing:-.025em}
h1{font-size:clamp(2.45rem,5.2vw,4.8rem)}h2{font-size:clamp(1.65rem,3vw,2.55rem)}h3{font-size:1.13rem;line-height:1.3}
.lede{max-width:28rem;font-size:1.18rem;color:var(--muted)}
.signin,.topic,.paper,.notebook{background:var(--paper);border:1px solid var(--rule);padding:clamp(1.25rem,3vw,2.55rem);border-radius:1rem}
.signin{border-top:4px solid var(--action)}.signin>p,.reading p,.back{color:var(--muted)}
label{font-weight:600;display:block;margin-bottom:.4rem}
input:not([type=hidden]),textarea{display:block;width:100%;background:#fff;border:1px solid #7c998b;border-radius:.5rem;padding:.65rem .75rem;color:var(--ink);margin:0 0 1rem}
textarea{resize:vertical}.quiet{background:transparent;color:var(--action);border-color:var(--rule)}
.signin .quiet{margin-left:.4rem}#login-status:not(:empty){margin-top:1rem}#login-status:empty{margin:0}
.intro{margin-bottom:2rem}.intro h1{font-size:clamp(2.25rem,4.4vw,3.6rem)}
.readings{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem}
.reading{border-top:2px solid #a7ba8d;display:flex;flex-direction:column;justify-content:space-between;gap:.75rem;padding:1rem 0;text-decoration:none}
.reading:hover h3,.back:hover{text-decoration:underline}.reading h3{margin-bottom:.35rem}.reading span{font-weight:600}.reading b{padding-left:.4rem}
.back{display:inline-block;margin-bottom:1.4rem}.bodytext,.notes p{white-space:pre-line;overflow-wrap:anywhere}
.bodytext{font-family:Georgia,Cambria,serif;font-size:1.15rem;line-height:1.63}
.paper h2{font-size:1.85rem}.tier{font-weight:700;color:var(--muted)}.pages{border-top:1px solid var(--rule);padding-top:1rem;display:flex;gap:.6rem;justify-content:flex-end}
.notebook h2{font-size:1.6rem}.notebook h3{margin-top:1.7rem}.notes{padding:0;list-style:none}.notes li{border-top:1px solid var(--rule);padding:.9rem 0}.notes small{color:var(--muted)}
.notice{padding:.65rem .9rem;background:#e6eddb;border-left:3px solid var(--action)}
.recall{border-top:1px solid var(--rule)}.recall summary{cursor:pointer;padding:.9rem 0;font-weight:600}
.recall summary:focus-visible{outline:3px solid #b86a12}.recall .bodytext{color:var(--muted)}
@media(max-width:720px){.entry,.spread,.readings{grid-template-columns:1fr}.entry{align-items:start;min-height:auto}.bar,main{width:calc(100% - 2rem)}.pages{flex-wrap:wrap}.notebook{min-width:0}}
