.spellbook,.herbal{padding-top:2.6rem}.spellbook__lead,.herbal__lead{text-align:center;color:var(--bone-dim);max-width:56ch;margin:-.4rem auto 1.4rem}.herbal__disclaimer{max-width:64ch;margin:0 auto 1.8rem;padding:1rem 1.3rem;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--rose) 45%,transparent);border-left:3px solid var(--rose);background:color-mix(in srgb,var(--rose-deep) 14%,transparent);color:var(--bone-dim);font-size:.92rem}.herbal__disclaimer span{color:var(--rose-pale);font-family:var(--font-ui);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.book{position:relative;display:grid;grid-template-columns:1fr 3px 1fr;border-radius:var(--radius-lg);background:radial-gradient(60% 44% at 50% 0%,rgba(143,214,200,.12),transparent),radial-gradient(58% 46% at 50% 100%,rgba(199,93,138,.13),transparent),linear-gradient(180deg,var(--ink-raised),var(--ink-soft));box-shadow:0 0 0 1px var(--gold),0 0 0 8px var(--ink),0 0 0 9px #c9a04e66,0 0 110px -30px #c9a04e80,0 46px 90px -44px #000;overflow:hidden}.book__corner{position:absolute;color:var(--gold-bright);font-size:.82rem;z-index:3;text-shadow:0 0 10px rgba(232,200,120,.6)}.book__corner--tl{top:16px;left:18px}.book__corner--tr{top:16px;right:18px}.book__corner--bl{bottom:16px;left:18px}.book__corner--br{bottom:16px;right:18px}.book__spine{background:linear-gradient(180deg,transparent,var(--gold-deep) 12%,var(--gold-bright) 50%,var(--gold-deep) 88%,transparent);box-shadow:0 0 22px #c9a04e8c,inset 0 0 2px #000c}.book__page{position:relative;padding:clamp(1.8rem,3.6vw,3.2rem)}.book__page--left{background:linear-gradient(115deg,rgba(122,58,89,.16),transparent 58%);box-shadow:inset -40px 0 60px -46px #000}.book__page--right{background:linear-gradient(245deg,rgba(95,168,154,.15),transparent 58%);box-shadow:inset 40px 0 60px -46px #000}.book__page:after{content:"";position:absolute;inset:14px;border:1px solid rgba(201,160,78,.22);border-radius:var(--radius-sm);pointer-events:none}.book.is-turning .page-inner{animation:pagefade .36s ease}@keyframes pagefade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-inner{position:relative;z-index:1}.page-cover{text-align:center;display:flex;flex-direction:column;justify-content:center;min-height:380px}.page-cover__mark{font-size:1.9rem;color:var(--gold-bright);text-shadow:0 0 16px rgba(232,200,120,.5)}.page-cover__title{margin:.7rem 0 0;font-family:var(--font-display);font-size:clamp(2.6rem,6vw,4rem);line-height:1.04;background:linear-gradient(180deg,var(--gold-bright),var(--gold) 60%,var(--gold-deep));-webkit-background-clip:text;background-clip:text;color:transparent}.page-cover__sub{margin:1.1rem auto 0;max-width:32ch;color:var(--bone-dim);font-style:italic}.page-kicker{margin:1.6rem 0 .6rem;font-family:var(--font-ui);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-bright)}.page-kicker:before{content:"✦ ";color:var(--gold);font-size:.7em}.page-kicker:first-child{margin-top:0}.page-num{margin:0;font-family:var(--font-ui);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.page-title{margin:.4rem 0 0;font-family:var(--font-display);font-size:clamp(1.95rem,4vw,2.8rem);line-height:1.08;background:linear-gradient(180deg,var(--gold-bright),var(--gold) 70%,var(--gold-deep));-webkit-background-clip:text;background-clip:text;color:transparent}.page-purpose,.page-botanical{margin:.55rem 0 0;font-family:var(--font-display);font-style:italic;font-size:1.16rem;color:var(--rose-pale)}.page-meta{display:flex;gap:1.8rem;margin:1.3rem 0 0;padding:.95rem 1rem;border-radius:var(--radius-sm);border:1px solid rgba(201,160,78,.22);background:#0b0a1066}.page-meta dt{font-family:var(--font-ui);font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}.page-meta dd{margin:.25rem 0 0;color:var(--bone);font-size:.98rem}.page-need{margin:0;padding:0;list-style:none}.page-need li{position:relative;padding-left:1.6rem;margin:.5rem 0;color:var(--bone)}.page-need li:before{content:"✦";position:absolute;left:0;top:.15rem;color:var(--teal-bright);font-size:.66rem}.page-working{margin:0;padding:0;list-style:none;counter-reset:step}.page-working li{position:relative;counter-increment:step;padding-left:2.4rem;margin:.8rem 0;color:var(--bone)}.page-working li:before{content:counter(step);position:absolute;left:0;top:.05rem;width:1.6rem;height:1.6rem;display:grid;place-items:center;border-radius:50%;background:linear-gradient(160deg,var(--gold-bright),var(--gold-deep));color:var(--ink);font-family:var(--font-ui);font-size:.72rem;font-weight:600;box-shadow:0 2px 7px -2px #000,inset 0 1px 1px #fff6}.page-close,.page-folklore{margin:0;color:var(--bone-dim)}.page-safety{margin-top:1.5rem;padding:1rem 1.2rem;border:1px solid color-mix(in srgb,var(--rose) 50%,transparent);border-left:3px solid var(--rose);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--rose-deep) 20%,transparent)}.page-safety__label{margin:0 0 .4rem;color:var(--rose-pale);font-family:var(--font-ui);font-size:.66rem;letter-spacing:.13em;text-transform:uppercase}.page-safety p:last-child{margin:0;color:var(--bone);font-size:.93rem}.page-note{margin:1.5rem 0 0;padding:.85rem 1.1rem;border-left:3px solid var(--rose);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:color-mix(in srgb,var(--rose-deep) 18%,transparent);font-size:.9rem;color:var(--bone-dim)}.page-note span{color:var(--rose-pale);font-family:var(--font-ui);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase}.page-contents{display:flex;flex-direction:column;gap:.55rem}.page-contents__group{border:1px solid rgba(201,160,78,.18);border-radius:var(--radius-sm);background:#0b0a1059;overflow:hidden}.page-contents__group[open]{border-color:#c9a04e66;background:#0b0a108c}.page-contents__cat{cursor:pointer;list-style:none;display:flex;align-items:center;gap:.6rem;padding:.78rem 1.05rem;font-family:var(--font-ui);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-bright)}.page-contents__cat::-webkit-details-marker{display:none}.page-contents__cat:before{content:"▸";display:inline-block;color:var(--gold);font-size:.8em;transition:transform .2s ease}.page-contents__group[open] .page-contents__cat:before{transform:rotate(90deg)}.page-contents__count{margin-left:auto;color:var(--bone-dim);letter-spacing:.08em}.page-contents ul{margin:0;padding:.1rem 1.05rem .85rem 2rem;list-style:none;columns:2;column-gap:1.6rem}.page-contents li{margin:0 0 .34rem;break-inside:avoid}.page-contents button{appearance:none;background:none;border:none;padding:0;cursor:pointer;color:var(--bone-dim);font-family:var(--font-body);font-size:.95rem;text-align:left;transition:color .18s ease}.page-contents button:hover{color:var(--gold-bright)}@media(max-width:760px){.page-contents ul{columns:1}}.book__nav{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.6rem}.book__btn{appearance:none;cursor:pointer;padding:.62rem 1.25rem;border:1px solid rgba(201,160,78,.4);border-radius:var(--radius-pill);background:#1d1a28cc;color:var(--bone);font-family:var(--font-ui);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;transition:border-color .2s ease,color .2s ease,background .2s ease}.book__btn:hover:not(:disabled){border-color:var(--gold);color:var(--ink);background:var(--gold)}.book__btn:disabled{opacity:.3;cursor:default}.book__counter{font-family:var(--font-ui);font-size:.72rem;letter-spacing:.12em;color:var(--gold);min-width:5.5rem;text-align:center}@media(max-width:760px){.book{grid-template-columns:1fr}.book__spine{display:none}.book__page--left{box-shadow:inset 0 -40px 60px -50px #000;border-bottom:1px solid rgba(201,160,78,.3)}.book__page--right{box-shadow:none}.page-contents{columns:1}}
