/* The modal is a bound volume: rigid case, inset leaves, and a shaded gutter. */
#book-dialog{width:min(1130px,94vw);max-height:94svh;padding:0 9px 10px;overflow:visible;background:linear-gradient(90deg,#17201d,#090f13 48%,#26312b);border:1px solid #8a744b;box-shadow:0 45px 100px #000d,0 12px 0 -5px #090c0e,0 13px 0 -5px #9e8962;animation:none;border-radius:5px 8px 9px 5px;perspective:none}
#book-dialog:not([open]){display:none}
#book-dialog .dialog-toolbar{height:55px;padding:5px 5px 5px 16px;background:transparent;border:0;color:#d6b876}
#book-dialog .dialog-layout{display:grid;grid-template-columns:1fr 1fr;height:min(660px,calc(94svh - 76px));max-height:none;overflow:hidden;position:relative;border-radius:3px 8px 8px 3px;border:1px solid #b4a385;box-shadow:0 2px 0 #ddceb0,0 4px 0 #99886b,0 6px 0 #e0d0ad,0 8px 0 #796b53;isolation:isolate;background:#e7dabf}
#book-dialog .dialog-layout:after{content:'';position:absolute;top:0;bottom:0;left:calc(50% - 24px);width:48px;background:linear-gradient(90deg,transparent,#39271213 25%,#2d20194d 47%,#fff3 51%,#3524163b 56%,transparent);z-index:2;pointer-events:none}
#book-dialog .dialog-art,#book-dialog .dialog-copy{background-color:#e7dabf;background-image:repeating-linear-gradient(0deg,#8e714803 0px,#8e714803 1px,transparent 1px,transparent 3px),radial-gradient(ellipse at 50% 30%,#fff9e766,transparent 80%);color:#30291f;border:0;min-width:0}
#book-dialog .dialog-art{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 42px 25px;background-image:linear-gradient(90deg,#856d3915,transparent 7%,transparent 87%,#5d422b25),radial-gradient(ellipse at 45% 35%,#fff9e799,transparent 80%);position:relative;overflow:hidden}
#book-dialog .dialog-art:before{width:auto;height:auto;content:'';position:absolute;inset:15px;border:1px solid #8c70433b;pointer-events:none}
#book-dialog .dialog-art:after{display:none}
#book-dialog .dialog-art .eyebrow{color:#74603e;font-size:.65rem;letter-spacing:.16em;padding:0;border:0;margin:0 0 16px}
#book-dialog h2{font-size:clamp(1.6rem,2.5vw,2.4rem);line-height:1.35;color:#3c3020;text-shadow:none;margin:0 0 20px;max-width:400px}
#book-dialog .dialog-art img{position:static;transform:none;width:auto;height:clamp(140px,24svh,215px);max-width:60%;object-fit:contain;box-shadow:0 3px 12px #3827142a;border:1px solid #8d724638}
#book-dialog .dialog-hook{padding:0;border:0;background:none;color:#655033;font:italic clamp(1rem,1.4vw,1.2rem)/1.55 Georgia,serif;max-width:360px;margin:22px 0 14px}
.page-signature{font-family:var(--serif);font-size:.76rem;letter-spacing:.16em;color:#756343;margin-top:8px}
#book-dialog .dialog-copy{padding:38px 38px 34px 42px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#9d8a68 #e7dabf;background-image:linear-gradient(90deg,#5d422b25,transparent 12%,transparent 90%,#856d3915),radial-gradient(ellipse at 50% 30%,#fff9e799,transparent 80%)}
#book-dialog #dialog-description p{font-family:Georgia,serif;font-size:1.03rem;line-height:1.8;color:#41372b;margin-bottom:20px}
#book-dialog #dialog-description p:first-child:first-letter{float:left;font-family:var(--serif);font-size:3.2rem;line-height:.95;margin:6px 8px 0 0;color:#77603b}
#book-dialog .dialog-copy strong{color:#2f251a;font-weight:bold}
#book-dialog .dialog-actions{border-top:1px solid #8c70434d;padding-top:22px;gap:12px}
#book-dialog .dialog-actions .button{font-size:.7rem;padding:12px 14px;min-height:48px}
#book-dialog .dialog-copy:focus-visible{outline:2px solid #8c7043;outline-offset:-6px}
.turning-cover{display:none;position:absolute;left:50%;right:9px;top:55px;bottom:10px;transform-origin:left center;transform-style:preserve-3d;pointer-events:none;z-index:6}
.turning-cover>span{position:absolute;inset:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;border:3px solid #17201d;border-radius:0 5px 5px 0;box-shadow:0 10px 40px #0008}
.turning-cover{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}
.cover-outside{background:var(--opening-cover) center/100% 100%;transform:translateZ(2px)}
.cover-inside{transform:rotateY(180deg) translateZ(2px);background:linear-gradient(90deg,#5d422b25,transparent 15%),#e7dabf;border-color:#53452f}
#book-dialog.is-arriving{background:transparent;border-color:transparent;box-shadow:none}
.is-arriving .dialog-layout,.is-arriving .dialog-toolbar{visibility:hidden}
#book-dialog.is-opening .turning-cover{display:block;animation:none}
#book-dialog.is-opening{background:transparent;border-color:transparent;box-shadow:none}
#book-dialog.is-opening>.dialog-layout{clip-path:inset(0 0 0 50%);animation:none}
#book-dialog.is-opening>.dialog-layout>.dialog-reading>.dialog-art{visibility:hidden}
#book-dialog.is-opening .dialog-toolbar{opacity:0;pointer-events:none}
#book-dialog.is-opening .turning-cover>span{-webkit-backface-visibility:visible;backface-visibility:visible}
#book-dialog.is-opening .cover-inside{visibility:hidden}
.flying-book{position:fixed;margin:0;z-index:10;pointer-events:none;transform-origin:center;box-shadow:8px 2px 0 #d6c9ae,11px 3px 0 #19231d,0 25px 60px #0009;border-radius:1px 3px 3px 1px;object-fit:fill;will-change:transform}
#book-dialog{width:min(900px,calc(125.333svh - 81.333px),94vw)}
.book-in-transit{visibility:hidden}
#book-dialog.is-closing .turning-cover{display:block;animation:none}
#book-dialog.is-closing .turning-cover>span{-webkit-backface-visibility:visible;backface-visibility:visible}
#book-dialog.is-closing .cover-outside{visibility:hidden}
#book-dialog.is-closing .dialog-layout{pointer-events:none}
#book-dialog.is-closing{background:transparent;border-color:transparent;box-shadow:none}
#book-dialog.is-closing>.dialog-layout{clip-path:inset(0 0 0 50%)}
#book-dialog.is-closing>.dialog-layout>.dialog-reading>.dialog-art{visibility:hidden}
#book-dialog.is-closing .dialog-toolbar{opacity:0;pointer-events:none;transition:opacity .12s}
.cover-inside{overflow:hidden}
#book-dialog .cover-inside>.folded-page{width:100%;height:100%;margin:-3px;border:0;box-shadow:none;max-height:none;pointer-events:none}
#book-dialog .cover-inside>.dialog-art{padding:30px 42px 25px}
#book-dialog .cover-inside .page-description p{font:1.02rem/1.8 Georgia,serif;color:#41372b;margin-bottom:20px}
#book-dialog .cover-inside .page-description p:first-child:first-letter{float:left;font-family:var(--serif);font-size:3.2rem;line-height:.95;margin:6px 8px 0 0;color:#77603b}
@media(max-width:720px){#book-dialog.is-closing>.dialog-layout,#book-dialog.is-opening>.dialog-layout{visibility:hidden;clip-path:none}#book-dialog .cover-inside>.dialog-layout{display:block;overflow:hidden;scrollbar-width:thin}#book-dialog .cover-inside .dialog-art{padding:28px 24px}}
#book-dialog.is-returning{background:transparent;border-color:transparent;box-shadow:none}
#book-dialog.is-returning .turning-cover{display:none!important}
.is-returning .dialog-layout,.is-returning .dialog-toolbar,.is-returning .turning-cover{visibility:hidden}
@media(max-width:720px){#book-dialog{width:94vw;padding:0 6px 8px;max-height:94svh}#book-dialog .dialog-layout{display:block;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;height:calc(94svh - 72px)}#book-dialog .dialog-layout:after{display:none}#book-dialog .dialog-art{padding:28px 24px;min-height:0}#book-dialog h2{font-size:1.5rem}#book-dialog .dialog-art img{height:130px}#book-dialog .dialog-hook{font-size:1rem}#book-dialog .dialog-copy{overflow:visible;padding:28px 25px;scrollbar-gutter:auto;border-top:1px solid #8c70433b}#book-dialog #dialog-description p{font-size:1.02rem}.turning-cover{left:6px;right:6px;top:55px;bottom:8px}.page-signature{margin-top:0}}
@media(prefers-reduced-motion:reduce){#book-dialog.is-opening .turning-cover{display:none}.flying-book{display:none}#book-dialog.is-opening .dialog-layout{animation:none}}

/* Purchase actions are part of the page frame, outside the scrolling text. */
#book-dialog .dialog-layout{grid-template-rows:minmax(0,1fr) auto}
#book-dialog .dialog-reading{display:contents}
#book-dialog .dialog-art{grid-column:1;grid-row:1 / -1}
#book-dialog .dialog-copy{grid-column:2;grid-row:1;min-height:0;padding-bottom:18px}
#book-dialog .dialog-actions{grid-column:2;grid-row:2;display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;margin:0;padding:18px 38px 22px 42px;background:#e7dabf;border-top:1px solid #8c70434d;position:relative;z-index:3}
#book-dialog .dialog-actions .button{flex:1;white-space:nowrap;justify-content:center}
@media(max-width:720px){
 #book-dialog .dialog-layout{display:flex;flex-direction:column;overflow:hidden;scrollbar-gutter:auto}
 #book-dialog .dialog-reading{display:block;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#9d8a68 #e7dabf}
 #book-dialog .dialog-copy{overflow:visible;padding:28px 25px;scrollbar-gutter:auto}
 #book-dialog .dialog-actions{flex:none;flex-direction:row;padding:12px 14px 14px;gap:8px}
 #book-dialog .dialog-actions .button{font-size:.61rem;padding:10px 8px;min-height:46px}
 #book-dialog .cover-inside>.dialog-layout{display:flex;overflow:hidden}
}

.book-load-error{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);width:min(440px,90vw);padding:16px 22px;z-index:30;background:#14201d;border:1px solid #b39a65;color:#f4e7cb;box-shadow:0 10px 30px #0009;font-size:.9rem;text-align:center}
.book-load-error[hidden]{display:none}
