@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif&display=swap');
:root{color-scheme:light;--paper:#f3f1e9;--ink:#24372f;--muted:#59675e;--rule:#cfd5cb;--green:#315c43}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 'DM Sans',system-ui,sans-serif}a{color:var(--green);text-underline-offset:4px}a:hover{color:#142d22}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #47677a;outline-offset:5px}.page{max-width:1060px;margin:auto;padding:24px 32px 60px}header{display:flex;gap:20px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule);padding-bottom:18px}.brand{font-weight:700;letter-spacing:2px;text-decoration:none;font-size:14px}nav{display:flex;gap:20px;font-size:14px;flex-wrap:wrap}h1,h2{font-family:'Instrument Serif',Georgia,serif;font-weight:400;line-height:1.12}h1{font-size:clamp(42px,7vw,68px);margin:38px 0 18px;letter-spacing:-1px}h2{font-size:36px;margin:38px 0 20px}h3{font-size:19px;margin:0 0 10px}.lead{font-size:19px;max-width:760px}.muted,.meta{color:var(--muted)}.meta{font-size:14px}.reading-list{padding-left:23px;max-width:80ch}.reading-list li{padding-left:5px;margin:10px 0}.contents{display:flex;flex-wrap:wrap;gap:9px 12px;list-style:none;padding:0;margin:24px 0}.contents a{display:block;border:1px solid var(--rule);border-radius:24px;padding:6px 13px;font-size:14px;text-decoration:none}.contents a:hover{background:#e0e8dd}.indicator{padding:24px 0;border-top:1px solid var(--rule);scroll-margin-top:24px}.indicator .meta{margin:7px 0}details{border-top:1px solid var(--rule);padding:18px 0}summary{cursor:pointer;font-weight:600}details p{max-width:78ch;margin-bottom:0}footer{border-top:1px solid var(--rule);padding-top:22px;margin-top:40px;color:var(--muted);font-size:14px}.back{display:inline-block;padding:10px 18px;border-radius:25px;background:var(--green);color:white;text-decoration:none;margin:18px 0}button{font:inherit;color:var(--ink);padding:10px 18px;border:1px solid var(--rule);background:#e0e8dd;border-radius:24px;cursor:pointer}[hidden]{display:none!important}@media(max-width:520px){.page{padding:20px 18px 40px}header{align-items:start}nav{gap:10px;font-size:13px}.lead{font-size:17px}h2{font-size:30px}}
