: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}
.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}
.dispo{margin-top:2rem}
.dlead{font-style:italic;color:var(--muted);margin:.3rem 0 0}
.acth{font-weight:500;font-size:1.5rem;margin:2.4rem 0 .2rem;padding-top:1rem;border-top:1px solid var(--rule)}
.dch{margin-top:1.3rem}
.dch h3{font-weight:500;font-size:1.25rem;margin:.15rem 0 .2rem}
.dch ol{list-style:decimal;padding-left:1.3rem;font-size:1.02rem}
.dch li{margin:.25rem 0}
.dch.key{border-left:2px solid var(--accent);padding-left:1rem}
.dnotes{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--rule);font-size:1rem}
.dnotes ul{padding-left:1.2rem}
.olddraft{margin-top:2rem;font-size:1rem}
.olddraft summary{font-family:system-ui,-apple-system,sans-serif;font-size:.8rem;color:var(--muted)}
.coverpanel{overflow:hidden}
.swatches{display:grid;gap:.4rem;margin:1rem 0}
.sw{display:flex;align-items:center;gap:.7rem;font-size:1rem}
.sw span{width:2.2rem;height:1.1rem;border-radius:2px;flex:none}
.tw{overflow-x:auto}
.mt{border-collapse:collapse;font-size:.95rem;width:100%;min-width:30rem}
.mt th,.mt td{text-align:left;vertical-align:top;padding:.45rem .5rem;border-top:1px solid var(--rule)}
.mt th{font-family:system-ui,-apple-system,sans-serif;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500}
.mt td:first-child{color:var(--accent)}
.hero{max-width:60rem;margin:0 auto 1.5rem}
.heroart{display:block;width:100%;height:auto;border-radius:2px}
.hero figcaption{font-family:system-ui,-apple-system,sans-serif;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:.5rem;text-align:center}
.essaytext{margin-top:2rem}
.essaytext p{margin:.9rem 0 0}
.ctitle2{font-weight:500;font-size:1.6rem;margin:.6rem 0 .2rem}
body.part1{--tint:#edf0f2;--pc:#5f6f7a}
body.part2{--tint:#f5efe3;--pc:#9a7b4c}
body.part3{--tint:#eef0ea;--pc:#6b7a5e}
.partband{background:var(--tint);margin:0 calc(-1 * max(18px,env(safe-area-inset-left)));padding:.7rem max(18px,env(safe-area-inset-left));margin-bottom:1.5rem}
.pbin{max-width:60rem;margin:0 auto;display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;align-items:center;justify-content:space-between}
.plabel{font-family:system-ui,-apple-system,sans-serif;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--pc);font-weight:600}
.plabel span{color:var(--muted);font-weight:400;margin-left:.6rem}
.pmap{display:flex;gap:.9rem}
.pgrp{display:flex;gap:.3rem}
.pdot{display:inline-flex;width:1.5rem;height:1.5rem;border-radius:50%;align-items:center;justify-content:center;font-family:system-ui,-apple-system,sans-serif;font-size:.7rem;text-decoration:none;color:var(--muted);border:1px solid var(--rule);background:#fff}
.pdot.on{background:var(--pc);border-color:var(--pc);color:#fff}
.pdot:hover{border-color:var(--pc)}
body.part1 .acth,body.part2 .acth,body.part3 .acth{border-top-color:var(--tint)}
body[class^="part"] .dch.key{border-left-color:var(--pc)}
.actblock{border-radius:3px;padding:.2rem 1.1rem 1.2rem;margin-top:1.4rem}
.actblock .acth{border-top:0;margin-top:.8rem;padding-top:0}
.actblock.a1{background:#edf0f2}
.actblock.a2{background:#f5efe3}
.actblock.a3{background:#eef0ea}
.actblock.a1 .acth{color:#4d5c66}
.actblock.a2 .acth{color:#7d6136}
.actblock.a3 .acth{color:#55634a}
.actblock .dch.key{border-left-color:#9a7b4c;background:#fff;padding:.6rem 1rem;border-radius:2px}
.cmap{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:1rem 0 .4rem}
.cgrp{display:flex;gap:.25rem;padding:.25rem .4rem;border-radius:999px}
.cgrp.a1{background:#edf0f2}.cgrp.a2{background:#f5efe3}.cgrp.a3{background:#eef0ea}
.cdot{width:1.4rem;height:1.4rem;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-family:system-ui,-apple-system,sans-serif;font-size:.68rem;color:var(--muted);background:#fff}
.cdot.key{background:#9a7b4c;color:#fff}
.clab{font-family:system-ui,-apple-system,sans-serif;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);margin:0 calc(-1 * max(18px,env(safe-area-inset-left)));padding:0 max(18px,env(safe-area-inset-left));border-bottom:1px solid var(--rule)}
.topnav{max-width:60rem;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem 1.2rem;padding:.65rem 0;font-family:system-ui,-apple-system,sans-serif;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.topnav a{text-decoration:none;color:var(--muted)}
.topnav a:hover,.topnav a[aria-current]{color:var(--fg)}
.topnav .home{color:var(--fg);font-weight:600}
.nlinks{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem}
.ness{display:flex;gap:.45rem}
.ng{display:flex;gap:.15rem;padding:.12rem .25rem;border-radius:999px}
.ng.p1{background:#edf0f2}.ng.p2{background:#f5efe3}.ng.p3{background:#eef0ea}
.nd{width:1.25rem;height:1.25rem;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;letter-spacing:0;font-size:.66rem;background:#fff}
.nd.on{background:#4f4c47;color:#fff!important}
.tnote{font-family:system-ui,-apple-system,sans-serif;font-size:.78rem;color:var(--muted);margin-top:1.2rem!important}
.models{margin-top:2.5rem}
.vm{margin:1.6rem 0 0;padding:1rem;background:#f7f6f3;border-radius:3px;--muted:#8f8b84;--accent:#9a7b4c;color:#4f4c47}
.vmlabel{font-family:system-ui,-apple-system,sans-serif;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.6rem}
.vmart{overflow-x:auto}
.vmart svg,.vmart img{display:block;width:100%;height:auto;max-width:100%}
.vm figcaption{font-family:system-ui,-apple-system,sans-serif;font-size:.72rem;color:var(--muted);margin-top:.5rem}
.wrow{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr);gap:.2rem 1.2rem;padding:1rem 0;border-top:1px solid var(--rule)}
.wterm{font-weight:600;font-size:1.1rem}
.wdef{font-size:1.02rem}
.wmeta{grid-column:2;display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;font-family:system-ui,-apple-system,sans-serif;font-size:.72rem;color:var(--muted)}
@media (max-width:560px){.wrow{grid-template-columns:1fr}.wmeta{grid-column:1}}
.fd{font-family:system-ui,-apple-system,sans-serif;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:#9a7b4c;padding:.15rem .45rem;border-radius:2px;vertical-align:middle;margin-left:.4rem}
.essaytext p{margin:0}
.essaytext p+p{margin-top:1.25rem}

.topnav a.lang{font-weight:600;letter-spacing:.06em}
