/* Book preview: a printed book open on a desk, lit like the theme. Paper and ink come from the theme (THEMES[..].book), the
   backdrop is the theme's own night; the pages carry real book furniture: sunk chapter openings, small caps, a drop cap,
   engraved rules, a dinkus between scenes, running heads (author left, chapter right in italics) and old-style folios */
.book{--paper:var(--book-paper,#efe9dc);--paper-2:color-mix(in srgb,var(--paper) 88%,var(--ink));--ink:var(--book-ink,#29251f);--ink-2:color-mix(in srgb,var(--ink) 60%,var(--paper));--ink-acc:color-mix(in srgb,var(--accent) 45%,var(--ink));
  position:fixed;inset:0;z-index:65;display:flex;flex-direction:column;align-items:center;background:radial-gradient(70% 60% at 50% 42%,rgba(var(--glow),.13),transparent 70%),radial-gradient(120% 90% at 50% 40%,transparent 40%,rgba(0,0,0,.55)),var(--bg);animation:fadeIn .3s ease both}
.bk-x{position:absolute;top:14px;right:16px;z-index:2;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:var(--mute)}
.bk-x:hover{color:var(--text);background:var(--hair)}
.bk-night{right:58px}
.bk-night[aria-pressed="true"]{color:var(--text)}
/* night pages: the paper goes dark and the ink pale, for anyone who can't stand a bright page */
.book.night{--paper:color-mix(in srgb,var(--bg) 70%,#2a2c30);--ink:color-mix(in srgb,var(--book-paper,#efe9dc) 82%,#000)}
.book.night .paper{background:radial-gradient(90% 75% at 50% 45%,rgba(255,255,255,.035),transparent 75%),var(--paper)}
.bk-x svg{width:18px;height:18px}
.book-stage{flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;padding:24px 12px 0;box-sizing:border-box}
.spread{position:relative;flex:none;filter:drop-shadow(0 34px 50px rgba(0,0,0,.55)) drop-shadow(0 6px 10px rgba(0,0,0,.3))}
/* paper: a faint grain, light falling on the middle of each page, and the edges of the pages beneath peeking out */
.paper{position:absolute;top:0;background:radial-gradient(90% 75% at 50% 45%,rgba(255,255,255,.3),transparent 75%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .25 0 0 0 0 .27 0 0 0 0 .3 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E"),var(--paper)}
.paper.verso{border-radius:4px 0 0 4px;box-shadow:-1px 1px 0 var(--paper-2),-2px 2px 0 var(--paper),-3px 3px 0 var(--paper-2),-4px 4px 0 var(--paper),-5px 5px 0 var(--paper-2)}
.paper.recto{border-radius:0 4px 4px 0;box-shadow:1px 1px 0 var(--paper-2),2px 2px 0 var(--paper),3px 3px 0 var(--paper-2),4px 4px 0 var(--paper),5px 5px 0 var(--paper-2)}
.single .paper.recto{border-radius:3px}
.paper .rh{position:absolute;left:0;right:0;padding:0 12%;box-sizing:border-box;text-align:center;font-family:var(--f-book);font-size:var(--rh);font-variant:all-small-caps;letter-spacing:.2em;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.paper .rh.it{font-variant:normal;font-style:italic;letter-spacing:.03em;font-size:calc(var(--rh) * 1.12)}
.paper .pn{position:absolute;left:0;right:0;text-align:center;font-family:var(--f-book);font-size:calc(var(--rh) * 1.12);font-variant-numeric:oldstyle-nums;color:var(--ink-2)}
.gutter{position:absolute;top:0;bottom:0;pointer-events:none;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--ink) 8%,transparent) 30%,color-mix(in srgb,var(--ink) 30%,transparent) 49%,color-mix(in srgb,var(--ink) 34%,transparent) 50%,color-mix(in srgb,var(--ink) 30%,transparent) 51%,color-mix(in srgb,var(--ink) 8%,transparent) 70%,transparent)}
.pages{position:absolute;overflow:hidden;column-fill:auto;font-family:var(--f-book);color:var(--ink);line-height:1.32;text-align:justify;hyphens:auto;-webkit-hyphens:auto;font-kerning:normal;font-variant-ligatures:common-ligatures;font-variant-numeric:oldstyle-nums;text-rendering:optimizeLegibility}
.pages p,.pages div{margin:0;text-indent:1.4em;orphans:2;widows:2}
.pages .sc>:first-child{text-indent:0}
.pages h2,.pages h3{text-indent:0}
.pages .sc h2,.pages .sc h3{text-align:center;font-weight:400;font-size:1.1em;font-variant:small-caps;letter-spacing:.08em;margin:1em 0 .5em}
.pages ul,.pages ol{margin:.4em 0;padding-left:1.4em}
.pages li{text-indent:0}
.pages blockquote{margin:.6em 1.6em;font-size:.94em}
.pages blockquote p{text-indent:0}
.pages mark{background:none;color:inherit}
.pages a{color:inherit;text-decoration:none}
/* the engraved rule and the dinkus between scenes */
.bk-rule{display:block;width:7.5em;height:.66em;margin:0 auto;fill:var(--ink-acc)}
.pages hr,.pages .sc + .sc::before{content:"";display:block;border:0;height:.55em;margin:1.05em auto;width:3.2em;background:var(--ink-acc);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 10'%3E%3Cpath d='M6 5l3-3 3 3-3 3zM27 5l3-3 3 3-3 3zM48 5l3-3 3 3-3 3z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 10'%3E%3Cpath d='M6 5l3-3 3 3-3 3zM27 5l3-3 3 3-3 3zM48 5l3-3 3 3-3 3z'/%3E%3C/svg%3E") center/contain no-repeat}
.pages .sc + .sc>p:first-child::first-line{font-variant:small-caps;letter-spacing:.04em}
.pages .bk-open{break-before:column}
.pages .bk-blank{height:1px;break-after:column}
.pages .bk-pad{height:1px;break-before:column}
/* title page */
.pages .bk-title{break-after:column;text-align:center;padding-top:calc(var(--hh) * .26)}
.pages .bk-title h1{margin:0 0 .5em;font-family:"Cormorant Garamond",var(--f-book);font-weight:500;font-size:2.9em;line-height:1.08;letter-spacing:.01em;text-wrap:balance}
.pages .bk-title .bk-rule{width:9em}
.pages .bk-title .bk-by{margin-top:2.2em;text-indent:0;font-variant:all-small-caps;letter-spacing:.26em;font-size:1.05em;color:var(--ink-2)}
/* part page */
.pages .bk-part{break-after:column;text-align:center;padding-top:calc(var(--hh) * .3)}
.pages .bk-pn{text-indent:0;font-variant:all-small-caps;letter-spacing:.34em;font-size:1em;color:var(--ink-2)}
.pages .bk-part h2{margin:.45em 0 .7em;font-family:"Cormorant Garamond",var(--f-book);font-weight:500;font-style:italic;font-size:2.2em;line-height:1.15;text-wrap:balance}
/* a chapter opens a third of the way down, with its number in words, its title, a rule, then a drop cap */
.pages .bk-ch{padding-top:calc(var(--hh) * .2)}
.pages .bk-cn{text-indent:0;text-align:center;font-variant:all-small-caps;letter-spacing:.32em;font-size:.95em;color:var(--ink-2)}
.pages .bk-ch h3{margin:.35em 0 .55em;font-family:"Cormorant Garamond",var(--f-book);font-weight:500;font-style:italic;font-size:1.9em;line-height:1.15;text-align:center;text-wrap:balance}
.pages .bk-orn{text-indent:0;margin:0 0 2.4em}
.pages .bk-ch.plain{padding-top:0}
/* the drop cap sinks three lines, its top level with the first line's capitals: initial-letter where the browser has it (Safari
   still wants the prefix), else a float sized to three lines of this leading with its line box trimmed to the capital */
.pages .sc.first>p:first-child::first-letter{float:left;font-size:3.6em;line-height:.74;margin:.06em .07em 0 0;padding:0;color:var(--ink-acc);font-family:var(--f-book);font-weight:500}
@supports (-webkit-initial-letter:3) or (initial-letter:3){.pages .sc.first>p:first-child::first-letter{float:none;-webkit-initial-letter:3;initial-letter:3;font-size:inherit;line-height:inherit;margin:0 .08em 0 0}}
.pages .sc.first>p:first-child::first-line{font-variant:small-caps;letter-spacing:.05em}
.bk-nav{display:flex;align-items:center;gap:18px;padding:18px 0 22px;font-family:var(--f-ui);font-size:14px;letter-spacing:.02em;color:var(--mute)}
.bk-nav button{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--dim);background:var(--glass-2);border:1px solid var(--faint)}
.bk-nav button:hover{color:var(--text);background:var(--hair)}
.bk-nav button:disabled{opacity:.3;cursor:default}
.bk-nav svg{width:18px;height:18px}
