:root{--bg:#fbf5ec;--ink:#3b2a1e;--accent:#9c4520;--soft:#f1e3cf}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:20px/1.6 Georgia,"Times New Roman",serif}
.wrap{max-width:680px;margin:0 auto;padding:1rem 1.2rem 4rem}
h1{font-size:2.2rem;margin:.2em 0;color:var(--accent)}
h2{font-size:1.3rem;margin-top:2rem}
a{color:var(--accent)}
label{display:block;margin:1rem 0 .3rem;font-weight:bold}
input[type=range]{width:100%;accent-color:var(--accent)}
button,.btn{font:inherit;font-size:1.05rem;padding:.6rem 1.2rem;margin:.4rem .4rem .4rem 0;border-radius:999px;border:2px solid var(--accent);background:#fff;color:var(--accent);cursor:pointer;display:inline-block;text-decoration:none;min-height:44px;line-height:1.5}
button.primary,.btn.primary{background:var(--accent);color:#fff}
button:disabled{opacity:.45;cursor:not-allowed}
.btn[aria-disabled=true]{opacity:.45;pointer-events:none}
textarea{width:100%;font:inherit;font-size:1rem;padding:.5rem;border:1px solid #b9a58c;border-radius:8px;background:#fff;color:var(--ink)}
.small{font-size:.9rem}
.lead{font-size:1.15rem}
.notice{background:var(--soft);border-left:6px solid var(--accent);padding:.8rem 1.1rem;border-radius:8px}
.dedication{text-align:center;font-style:italic;background:#fffaf0;border:1px solid #e3cfa9;border-radius:12px;padding:1rem 1.2rem;margin:1rem 0}
.dedication p{margin:.3rem 0}
.welcome{background:#eef5fb;border:2px solid #1d4f91;border-radius:12px;padding:.6rem 1.1rem;margin:1rem 0}.welcome h2{margin:.2rem 0;color:#1d4f91}
.tip{background:#eef3f8;border-left:4px solid #a9c1da;padding:.6rem .9rem;border-radius:8px}
.ack{background:#fdf2f2;border:2px solid #b5534a;border-radius:10px;padding:.9rem 1.1rem;margin:1.2rem 0}.ack p{margin:.2rem 0 .6rem}
.ack label{font-weight:600;display:flex;gap:.5rem;align-items:flex-start;cursor:pointer;margin:.4rem 0}.ack input{width:1.3rem;height:1.3rem;margin-top:.25rem;flex:none}
.ackHint{color:#8a3b33;font-size:.95rem}
.startHere{background:var(--soft);border-radius:10px;padding:.6rem 1.1rem;margin:1rem 0}.startHere h2{margin:.2rem 0}
.track{background:#fff;border:1px solid #d9c6ad;border-radius:12px;padding:.6rem 1.1rem 1rem;margin:1.4rem 0}
.track h2{margin:.4rem 0;color:var(--accent)}
.track audio{width:100%;margin:.4rem 0}
.dur{font-size:.9rem;font-weight:normal;color:#5b4636}
.saved{color:#2f5a1a;font-size:.95rem;min-height:1.4em}
.jump{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid #d9c6ad;margin:0 -1.2rem 1rem;padding:.3rem 1.2rem}
.jump ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.15rem .9rem;font-size:.88rem}
.jump a{display:inline-block;padding:.45rem 0;min-height:24px}
.skip{position:absolute;left:.5rem;top:-4rem;z-index:100;background:#fff;color:#1d4f91;padding:.6rem 1rem;border:3px solid #1d4f91;border-radius:8px;font-weight:700}.skip:focus{top:.5rem}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #1d4f91;outline-offset:3px}
[id]{scroll-margin-top:4rem}
footer{margin-top:3rem;font-size:.95rem;border-top:1px solid #d9c6ad;padding-top:1rem}
.entry{background:#fff;border:1px solid #d9c6ad;border-radius:10px;padding:.5rem .9rem;margin:.6rem 0}.entry .meta{font-size:.85rem;color:#5b4636}.entry p{white-space:pre-wrap;margin:.3rem 0}
p,li,a{overflow-wrap:anywhere}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.helpers{background:#eef6ea;border:3px solid #2f5a1a;border-radius:12px;padding:.6rem 1.1rem;margin:1rem 0}.helpers h2{margin:.2rem 0;color:#24470f;font-weight:700;font-size:1.4rem}
.notForSale{background:#fff;border:3px solid #9c4520;border-left-width:10px;border-radius:12px;padding:.6rem 1.1rem;margin:1rem 0}.notForSale h2{margin:.2rem 0;color:#8a3a18;font-weight:700;font-size:1.4rem}.notForSale p{margin:.2rem 0;font-weight:600}
.smallNote{font-size:.95rem;font-style:italic;color:#4a382a;margin:.4rem 0 1rem}
.jump .jumpWide{display:flex}.jump details{display:none}
.jump summary{cursor:pointer;font-weight:700;color:var(--accent);padding:.45rem 0;min-height:44px;display:flex;align-items:center}
.jump details ul{display:block;padding:.2rem 0 .6rem}.jump details a{padding:.45rem 0;min-height:44px;display:flex;align-items:center}
@media (max-width:760px){.jump .jumpWide{display:none}.jump details{display:block;position:relative}
.jump details[open] ul{position:absolute;left:-1.2rem;right:-1.2rem;top:100%;max-height:70vh;overflow-y:auto;background:var(--bg);border-bottom:1px solid #d9c6ad;box-shadow:0 10px 18px rgba(59,42,30,.25);padding:.2rem 1.2rem .8rem}}
