main.book{max-width:800px}
.bhead{margin-bottom:.6rem}
.bhead .sub{margin:.15em 0}
.bacts{margin:.7rem 0 0;text-align:center}
.sform{display:flex;gap:.5rem;justify-content:center;margin:1.2rem auto .35rem;flex-wrap:wrap}
.sform input{flex:1 1 260px;max-width:400px;font-family:inherit;font-size:1.02rem;padding:.55rem 1rem;border:1px solid var(--edge);border-radius:999px;background:#fbf5e6;color:var(--ink)}
.sform input:focus{outline:2px solid rgba(63,90,52,.3);outline-offset:1px}
.sform button{font-size:1rem;padding:.5rem 1.3rem}
.hint{color:var(--muted);font-size:.92rem;margin:0 0 1.4rem;font-style:italic}
.hint a{color:var(--accent2);text-decoration:none;border-bottom:1px solid rgba(122,46,29,.3)}

.toc{margin:1.2rem auto;max-width:560px;text-align:left}
.toc h2{font-family:"IM Fell English SC",serif;font-weight:400;text-align:center;color:var(--accent);letter-spacing:.06em;margin:.2em 0 .9em;font-size:1.25rem}
.toc ol{list-style:none;margin:0;padding:0}
.toc li{padding:.1rem 0}
.toc a{display:flex;align-items:baseline;gap:.5rem;color:var(--ink);text-decoration:none;padding:.18rem .2rem;border-radius:2px;transition:background .15s}
.toc a:hover{background:rgba(198,176,131,.18)}
.toc a:hover .tt{color:var(--accent2)}
.toc .tn{font-family:"IM Fell English SC",serif;color:var(--edge);font-size:.85rem;min-width:1.6rem;text-align:right;letter-spacing:.05em}
.toc .tt{font-size:1.04rem}
.toc .dots{flex:1;border-bottom:1px dotted var(--edge);transform:translateY(-.22em);min-width:1rem}
.toc .pn{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.92rem}

.res{list-style:none;padding:0;margin:.4rem auto;max-width:640px;text-align:left}
.res li{border-top:1px solid rgba(198,176,131,.45);padding:.7rem 0}
.res li:last-child{border-bottom:1px solid rgba(198,176,131,.45)}
.res a{color:var(--ink);text-decoration:none;display:block}
.res a:hover .snip{color:var(--accent2)}
.res a:hover .pg{color:var(--accent)}
.res .pg{display:block;font-family:"IM Fell English SC",serif;font-size:.85rem;color:var(--muted);letter-spacing:.06em;margin-bottom:.25rem}
.res .snip{display:block;font-size:.98rem;line-height:1.5;color:var(--ink)}
.res mark{background:rgba(122,46,29,.13);color:var(--accent2);padding:0 .12em;border-radius:2px}
#count{color:var(--muted);font-style:italic;font-size:.98rem;margin:.2rem 0 .6rem}

.vtop{margin:.4rem 0 1rem;text-align:left}
.pagebody{background:#fbf5e6;border:1px solid var(--edge);border-radius:3px;padding:clamp(1.1rem,4.5vw,2.4rem);
 box-shadow:0 1px 0 #fff inset,0 10px 30px -14px rgba(60,40,10,.4);text-align:left;max-width:42rem;margin:0 auto}
.pagebody p{margin:0 0 .7em;line-height:1.62}
.pagebody p+p{text-indent:1.3em;margin-top:-.05em}
.pagebody .storyhead{font-family:"IM Fell English SC",serif;font-size:1.3rem;letter-spacing:.05em;color:var(--accent);margin:0 0 1.1em;text-indent:0;text-align:center}
.pagebody .storyhead::after{content:"❦";display:block;font-size:.7rem;color:var(--edge);margin:.7rem auto 0;letter-spacing:0}
.pagebody .open{font-variant:small-caps;letter-spacing:.1em;font-size:1.05em}
.pagebody .open b{font-weight:400;font-size:1.55em;line-height:1;vertical-align:-.08em;margin-right:.04em}
.pagebody .pgnum{display:block;text-align:center;color:var(--muted);font-size:.85rem;margin:1.6rem 0 0;text-indent:0;font-style:italic}
.vbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:1.4rem auto 0;max-width:42rem}
.vbar button{flex:0 1 auto;font-size:.98rem;padding:.5rem 1.1rem;max-width:44%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#plabel{color:var(--muted);font-family:"IM Fell English SC",serif;font-size:.82rem;letter-spacing:.06em;white-space:nowrap}
mark.hit{background:rgba(122,46,29,.16);color:inherit;padding:0 .08em;border-radius:2px}
@media (max-width:540px){
  .vbar{flex-wrap:wrap}
  .vbar button{max-width:100%;flex:1 1 40%;order:2}
  #plabel{order:1;flex:1 1 100%;text-align:center;margin-bottom:.4rem}
}
@media print{.sitemenu,.vbar,.vtop,.sform,.hint,.bacts{display:none}.pagebody{border:none;box-shadow:none}}
