/* Butterfly palette from the supplied site reference. Theme fonts and chrome are retained. */
.be-surface{--be-background:#e6d9e5;--be-panel:#fbf0f8;--be-accent:#b583aa;--be-text:#57364f;background:var(--be-background);color:var(--be-text);padding-block:1px;font-family:inherit}
.be-shell{box-sizing:border-box;width:min(100%,var(--wp--style--global--wide-size,1180px));margin-inline:auto;padding:20px clamp(16px,3vw,32px);font-size:1rem;line-height:1.65}
.be-shell *{box-sizing:border-box}.be-shell a{color:inherit}.be-back{display:inline-block;margin-block-end:12px;font-size:.85em}
.be-product{display:grid;grid-template-columns:72px minmax(0,1fr);gap:20px;align-items:center;padding:16px 20px;margin-block:0 12px;background:var(--be-panel)}
.be-cover img{display:block;width:auto;height:auto;max-width:72px;max-height:108px;object-fit:contain;margin:auto}
.be-shell .be-kicker{margin:0 0 4px;font-size:.7em;letter-spacing:.12em;text-transform:uppercase;color:var(--be-text)}
.be-shell .be-title{margin:0 0 6px;font-size:clamp(1.1rem,1.8vw,1.5rem);font-weight:700;line-height:1.25;color:#111;overflow-wrap:anywhere}
.be-start{font-size:.9em}.be-book-details{margin-block:0 16px;padding:12px 20px;background:var(--be-panel)}
.be-book-details>summary{cursor:pointer;font-size:.9em;font-weight:600}.be-book-details>summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.be-book-details-content{padding-block:16px 4px;max-width:760px;margin-inline:auto}
.be-description>:first-child{margin-top:0}.be-description>:last-child{margin-bottom:0}.be-description p{margin-block:0 1em}
.be-shell .price{font-size:1.25em;margin-block:24px 16px;color:var(--be-text)}
.be-shell .cart{margin-block:16px 0}.be-shell .quantity{display:inline-block;vertical-align:middle;margin-inline-end:8px}
.be-shell .button,.be-shell button.button{display:inline-block;background:var(--be-accent);color:#fff;border:0;border-radius:4px;padding:12px 22px;text-decoration:none;font-family:inherit;font-size:1em;font-weight:600;line-height:1.5;cursor:pointer}
.be-shell .button:hover,.be-shell button.button:hover{filter:brightness(.92)}.be-shell .button:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.be-shell table,.be-shell select{max-width:100%}.be-summary{min-width:0}
.be-toc{padding:12px 20px;background:var(--be-panel);margin-block-end:16px}
.be-shell .be-toc h2{margin:0 0 8px;font-size:1em;line-height:1.3;color:var(--be-text)}
.be-toc ol{display:flex;flex-wrap:wrap;gap:8px 28px;padding-inline-start:24px;margin:0}
.be-chapter{width:100%;max-width:none;margin:0 0 20px;padding:clamp(12px,2vw,28px);background:#fff;color:#171717;scroll-margin-top:32px}
.be-frame{display:block;width:100%;height:70vh;min-height:360px;border:0;background:#fff;color:#171717}
.be-reading-controls:not([hidden]){display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-block:0 16px;padding:10px 16px;background:var(--be-panel);font-size:.9em}
.be-reading-controls button{font:inherit;line-height:1.4;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid var(--be-text);border-radius:4px;background:transparent;color:var(--be-text);cursor:pointer}
.be-reading-controls button:focus-visible{outline:2px solid var(--be-text);outline-offset:3px}.be-reading-controls button:disabled{opacity:.4;cursor:default}.be-font-value{min-width:4em;text-align:center;font-variant-numeric:tabular-nums}
.be-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.be-notice{font-size:.85em;border-inline-start:3px solid var(--be-accent);padding:8px 16px;margin-block:0 20px}
.be-end{text-align:center;padding-block:12px 24px}
@media(max-width:640px){.be-product{grid-template-columns:48px minmax(0,1fr);gap:12px;padding:12px}.be-cover img{max-width:48px;max-height:72px}.be-shell .be-title{font-size:1.05rem}.be-shell .be-kicker{font-size:.6em}.be-toc ol{gap:4px 24px;font-size:.85em}.be-toc,.be-book-details{padding:10px 12px}.be-chapter{padding:10px}.be-shell .cart .button{max-width:100%}}
/* The book UI is scoped to the plugin; EPUB styles remain in sandboxed documents. */
.be-reader [hidden]{display:none!important}.be-reader{outline:none;scroll-margin-top:20px}
.be-reader-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;background:var(--be-panel);padding:10px 14px;margin-bottom:12px;position:relative;z-index:20;font-size:.85rem}
.be-reader-toolbar .be-reading-controls{padding:0;margin:0;gap:6px;font-size:inherit;background:none}
.be-reader button{font-family:inherit;color:var(--be-text);cursor:pointer;min-height:44px;border:1px solid #b583aa88;background:transparent;padding:8px 12px;border-radius:4px;font-size:inherit}
.be-reader button:hover{background:#b583aa15}.be-reader button:focus-visible,.be-reader summary:focus-visible{outline:2px solid #704363;outline-offset:3px}.be-reader button:disabled{opacity:.35;cursor:default}
.be-chapter-menu>summary{cursor:pointer;min-height:44px;padding:10px}.be-chapter-menu nav{position:absolute;top:100%;left:0;min-width:240px;max-width:100%;max-height:340px;overflow:auto;background:var(--be-panel);border:1px solid #b583aa66;box-shadow:0 8px 24px #34233522;padding:12px;z-index:50}
.be-chapter-menu ol{padding-left:24px;margin:0}.be-chapter-menu li button{border:0;text-align:left;width:100%}
.be-reader-status{font-size:.9rem;text-align:center;margin:8px 0}.be-reader-status:empty{display:none}
.be-book-stage{position:relative;max-width:100%;margin:20px auto;filter:drop-shadow(0 10px 18px #35243d30);isolation:isolate;overflow:hidden;overflow:clip}
.be-book-mount,.be-book{width:100%;height:100%}.be-book{margin:0 auto}
.be-leaf{background-color:#fffaf0;background-image:radial-gradient(#a7947015 .55px,transparent .8px),linear-gradient(90deg,#f5ecdb55,transparent 16%,#fffdf644);background-size:5px 5px,100% 100%;overflow:hidden;border:0;outline:1px solid #d4c9b844}
.be-leaf.--left{box-shadow:inset -14px 0 18px -16px #51443680}.be-leaf.--right{box-shadow:inset 14px 0 18px -16px #51443680}
.be-page-content{position:absolute;inset:var(--be-page-padding) var(--be-page-padding) calc(var(--be-page-padding) + 20px);overflow:hidden}
.be-page-frame{display:block;width:100%;height:100%;border:0;background:transparent;touch-action:pan-y}
.be-leaf-number{position:absolute;bottom:13px;left:0;width:100%;text-align:center;font:12px Georgia,serif;color:#6b5c61}
.be-book-spread::after{content:'';position:absolute;left:calc(50% - 12px);top:0;width:24px;height:100%;background:linear-gradient(90deg,transparent,#4e3b3926 44%,#35232d33 50%,#fff7ed33 58%,transparent);pointer-events:none;z-index:12}
.be-reader .be-book-edge{position:absolute;z-index:15;top:0;bottom:0;width:22px;min-height:0;border:0;border-radius:0;padding:0;background:transparent}.be-book-edge-prev{left:0}.be-book-edge-next{right:0}.be-reader .be-book-edge:hover{background:#b583aa12}
.be-reader-navigation{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;padding:8px 0}.be-page-status{font-size:.85rem;font-variant-numeric:tabular-nums;text-align:center;min-width:150px}.be-progress{display:block;flex-basis:100%;height:5px;max-width:400px;accent-color:var(--be-accent)}
.be-reader-help{text-align:center;font-size:.75rem;opacity:.8}.be-continuous .be-frame{width:100%;min-height:500px}
.be-measure-frame{position:fixed!important;left:-25000px!important;top:0!important;visibility:hidden!important;border:0!important;pointer-events:none!important}
.be-end h2{font-size:1.25rem!important;margin-block:24px 16px}.be-blank{background-color:#fffaf0}
@media(max-width:640px){.be-reader-toolbar{padding:8px;gap:4px}.be-reader-toolbar .be-reading-controls>span{display:none}.be-reader .be-font-value{min-width:3.2em}.be-reader button{padding:7px 9px}.be-reader-navigation{gap:10px}.be-page-status{min-width:100px;font-size:.75rem}.be-book-stage{margin-block:12px}.be-reader-help{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){.be-reader *{scroll-behavior:auto!important;transition:none!important}.be-book-stage{filter:none}}
