:root{--bg:#ffffff;--fg:#4f4c47;--muted:#8f8b84;--rule:#e6e3dd;--accent:#9a7b4c;--ink:#2b2926;--ph:#efede8}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font-family:"EB Garamond",Georgia,serif;font-size:1.15rem;line-height:1.62;padding:0 max(18px,env(safe-area-inset-right)) 5rem max(18px,env(safe-area-inset-left))}
a{color:inherit}
.book{max-width:36rem;margin:0 auto}
.label{font-family:system-ui,-apple-system,sans-serif;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.s{font-family:system-ui,-apple-system,sans-serif;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.q{font-style:italic;color:var(--muted);margin:.3rem 0 .6rem}
.top{max-width:36rem;margin:0 auto;padding:1.2rem 0;font-family:system-ui,-apple-system,sans-serif;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.top a{text-decoration:none;color:var(--muted)}
.cover{padding-top:2.5rem}
.coverpanel{background:var(--ink);color:#ece6db;aspect-ratio:2/3;max-width:24rem;margin:0 auto;padding:2rem 1.8rem;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 18px 40px -20px rgba(0,0,0,.45)}
.coverpanel .label.inv{color:#b9ad97}
.coverpanel h1{text-wrap:balance;font-weight:500;font-size:2.35rem;line-height:1.05;margin:0}
.coverpanel .sub{font-style:italic;color:#c9bfae;margin:.6rem 0 0;font-size:1.05rem}
.coverpanel .author{margin:0;font-size:1.45rem;letter-spacing:.14em;text-transform:uppercase;color:#d4b57f}
.arcart{width:100%;height:auto;color:#d4b57f}
.caption{font-family:system-ui,-apple-system,sans-serif;font-size:.72rem;color:var(--muted);text-align:center;margin:.8rem 0 0}
.back{margin:3rem auto 0;max-width:30rem;border-top:1px solid var(--rule);padding-top:1.5rem}
.back p{margin:.5rem 0 0}
.contents{padding-top:3rem}
.contents h2{font-weight:500;font-size:1.7rem;margin:0}
.act{margin-top:2.4rem}
ol{list-style:none;margin:0;padding:0}
.contents li{display:grid;grid-template-columns:2rem 1fr;gap:.6rem;padding:.8rem 0;border-top:1px solid var(--rule)}
.n{color:var(--accent);font-size:1.2rem}
.t{font-size:1.3rem;font-weight:500;text-decoration:none}
a.t:hover{color:var(--accent)}
.d{margin:.15rem 0 0;font-size:1.02rem}
.foot{margin-top:4rem;font-family:system-ui,-apple-system,sans-serif;font-size:.75rem;color:var(--muted)}
.actopen{padding:3rem 0 2rem;border-bottom:1px solid var(--rule);margin-bottom:2rem}
.actopen h2{font-weight:500;font-size:2.4rem;margin:.3rem 0 0}
.chead{padding:1.5rem 0 1rem}
.chead h1{font-weight:500;font-size:clamp(2.2rem,7vw,3rem);line-height:1.08;margin:.3rem 0 0}
.part{margin-top:1.8rem}
.ph{color:var(--muted)}
.ph.line{height:.7rem;background:var(--ph);border-radius:2px;margin:.9rem 0}
.ph.line.short{width:60%}
.ph.img{background:var(--ph);color:var(--muted);font-family:system-ui,-apple-system,sans-serif;font-size:.8rem;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;text-align:center;padding:1rem;margin-top:1.2rem;border-radius:2px}
.fig{margin:2.5rem 0 0}
figcaption{font-size:.98rem;margin-top:.6rem}
.notes{margin-top:2.5rem;border-top:1px solid var(--rule);padding-top:1rem;font-size:.98rem}
.notes ol,.nsec ol{list-style:decimal;padding-left:1.4rem}
.notes li,.nsec li{margin:.3rem 0}
.nsec{margin-top:1.8rem}
.nsec h3{font-weight:500;font-size:1.25rem;margin:0}
.promptlink{margin-top:1.5rem;font-family:system-ui,-apple-system,sans-serif;font-size:.8rem}
.mat{font-family:system-ui,-apple-system,sans-serif;font-size:.72rem;color:var(--muted);margin-top:.5rem}
.pn{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:3rem;padding-top:1rem;border-top:1px solid var(--rule);font-family:system-ui,-apple-system,sans-serif;font-size:.8rem}
.pn a{text-decoration:none;color:var(--muted)}
.pn a:hover{color:var(--accent)}
.flist li{padding:.8rem 0;border-top:1px solid var(--rule)}
.flist a{text-decoration:none;font-size:1.15rem}
.abstract{margin-top:1.2rem;padding:1.1rem 0 1.2rem;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.abstract p{margin:.4rem 0 0}
.ctitle{font-weight:500;font-size:clamp(2.2rem,7vw,3rem);margin:1.5rem 0 0}
.back p+p{color:var(--muted);font-style:italic}
