/* The Book of Void · miniature unlock, flying parchment, and readable book */
#side-book[hidden],#book-wisdom-reveal[hidden],#book-display[hidden]{display:none!important}
#side-book{position:relative;display:grid;place-items:center;width:clamp(61px,6.2vw,82px);height:clamp(83px,8vw,104px);padding:0;background:transparent;border:0;cursor:pointer;pointer-events:auto;filter:drop-shadow(0 5px 9px #000);animation:voidPortalArrival .7s ease-out both;transition:transform .2s ease,filter .2s ease}
#side-book img{width:100%;height:100%;object-fit:cover;border-radius:4px 6px 6px 3px;box-shadow:inset 3px 0 4px rgba(0,0,0,.8),0 0 0 1px rgba(224,193,126,.42)}
#side-book:hover,#side-book:focus-visible{transform:translateY(-6px) rotate(-3deg);filter:drop-shadow(0 10px 16px #000)}
.book-overlay{position:fixed;inset:0;z-index:800;background:radial-gradient(ellipse at 50% 33%,rgba(32,42,34,.92) 0%,rgba(0,0,0,.985) 73%);overflow:auto;overscroll-behavior:contain;color:#eee1c1}
.book-reveal-inner{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(15px,2.8vh,26px);padding:48px 16px 35px;position:relative;isolation:isolate}
.book-reveal-whisper{z-index:2;color:#e2d3b1;font:400 clamp(13px,1.4vw,18px)/1.55 Georgia,serif;letter-spacing:.09em;margin:0;text-align:center}
.book-wisdom-sheet{position:relative;z-index:2;width:min(410px,calc(100vw - 42px));aspect-ratio:1086/1448;flex-shrink:0;min-height:0;max-height:calc(100vh - 155px);filter:drop-shadow(0 22px 32px #000c);opacity:1;transform:translateY(0) rotate(0deg)}
.book-page-arriving .book-wisdom-sheet{animation:bookSinglePageArrive .94s cubic-bezier(.19,1,.26,1) both}
@keyframes bookSinglePageArrive{0%{opacity:0;transform:translate3d(23vw,-16vh,0) rotate(16deg) scale(.73)}58%{opacity:1}82%{transform:translate3d(-7px,5px,0) rotate(-1.6deg) scale(1.013)}100%{transform:translate3d(0,0,0) rotate(0deg) scale(1);opacity:1}}
.book-paper{width:100%;height:100%;position:relative;display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(97deg,#e6d2ab,#f3e7cc 13%,#f5e9cf 50%,#eedcba 90%,#cdb58c);color:#204339;box-shadow:inset 0 0 35px rgba(109,79,37,.21);border:1px solid rgba(140,112,73,.42);}
.book-paper-ornament{width:100%;flex-shrink:0;background-repeat:no-repeat;background-size:100% auto;pointer-events:none}
.book-quote-page .book-ornament-top{height:32%;background-image:url('../media/void-book-wisdom-top.webp');background-position:top center}
.book-quote-page .book-ornament-bottom{height:23%;background-image:url('../media/void-book-wisdom-bottom.webp');background-position:bottom center}
.book-property-page .book-ornament-top{height:33%;background-image:url('../media/void-book-property-top.webp');background-position:top center}
.book-property-page .book-ornament-bottom{height:24%;background-image:url('../media/void-book-property-bottom.webp');background-position:bottom center}
.book-paper-middle{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3px clamp(21px,5.5vw,39px);background:linear-gradient(90deg,#eee0bf 0%,#f3e6c9 15%,#f4e8d0 50%,#f1e2c4 88%,#e4d0ab 100%)}
.book-page-words{margin:0;max-width:100%;font:400 clamp(16px,2.4vw,25px)/1.38 'Bodoni MT','Didot','Baskerville','Times New Roman',serif;letter-spacing:.027em;color:#214239;overflow-wrap:break-word;hyphens:auto;max-height:80%;overflow:auto;scrollbar-width:thin}
.book-page-words.book-long{font-size:clamp(15px,2vw,21px)}
.book-page-star{margin-top:auto;padding-top:8px;font-size:22px;line-height:1;color:#b68e4a}
.book-page-signature{margin:0;padding:3px 0 0;white-space:nowrap;font:600 9px/1.2 Georgia,serif;letter-spacing:.24em;color:#214139}
.book-property-prefix{font:400 clamp(10px,1.4vw,17px)/1.25 'Bodoni MT','Didot','Baskerville',serif;letter-spacing:.13em;margin:0 0 4px;color:#32433a}
.book-property-name{font:400 clamp(19px,3.1vw,36px)/1.1 'Bodoni MT','Didot','Baskerville',serif;letter-spacing:.08em;color:#173a30;margin:0;max-width:100%;overflow-wrap:anywhere}
.book-property-suffix{font:400 clamp(10px,1.2vw,15px)/1.55 Georgia,serif;margin:9px 0 0;color:#4b4737}
.book-reveal-action{z-index:3;flex-shrink:0;border:1px solid rgba(255,255,255,.82);background:rgba(0,0,0,.72);padding:13px 19px;color:white;cursor:pointer;font:600 11px/1 'Avenir Next',Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;min-height:41px}
.book-reveal-action:hover{background:rgba(255,255,255,.12);border-color:#fff}
#book-display{display:grid;place-items:center;padding:35px 20px 45px}
.book-stage{width:min(450px,calc(100vw - 40px));max-height:100%;display:flex;flex-direction:column;align-items:center;gap:12px}
.book-stage-top{width:100%;display:flex;justify-content:space-between;align-items:center;font:600 10px 'Avenir Next',Arial,sans-serif;letter-spacing:.18em}
.book-stage-top button{background:transparent;color:#f0d9a8;border:0;font:600 11px Arial,sans-serif;cursor:pointer;padding:10px 0}
.book-sheet{width:min(410px,calc(100vw - 55px));aspect-ratio:1086/1448;max-height:calc(100vh - 155px);min-height:0;position:relative;filter:drop-shadow(0 18px 26px rgba(0,0,0,.9))}
.book-sheet .book-paper{height:100%}
.book-sheet-cover{overflow:visible}
.book-cover-art{width:100%;height:100%;object-fit:contain;display:block}
.book-cover-open{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);white-space:nowrap;border:1px solid rgba(240,217,154,.8);background:#041210e6;color:#f4d6a0;cursor:pointer;padding:11px 17px;font:600 10px 'Avenir Next',Arial,sans-serif;letter-spacing:.16em}
.book-cover-open:hover{background:#214136}
.book-page-turning{animation:bookTurn .23s ease-in-out}
@keyframes bookTurn{from{transform:perspective(750px) rotateY(-6deg);opacity:.65}to{transform:none;opacity:1}}
.book-nav{display:flex;width:100%;justify-content:space-between;align-items:center;gap:15px}
.book-nav button{border:1px solid rgba(243,217,154,.5);background:transparent;color:#eddfc1;padding:10px 15px;cursor:pointer;font:600 10px Arial,sans-serif;letter-spacing:.12em}
.book-nav button:disabled{opacity:.25;cursor:default}
.book-nav button:not(:disabled):hover{border-color:#f3d99a;color:white}
#book-position{font:400 10px Georgia,serif;letter-spacing:.2em;color:#c8bb9e}
.void-book-preview-buttons{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-top:12px;border-top:1px solid #444;padding-top:9px}
.void-book-preview-buttons button{background:transparent;color:#bdb49e;border:1px solid #4c4a46;padding:6px;font:10px Arial,sans-serif;cursor:pointer}
.void-book-preview-buttons small{color:#777;font-size:9px;line-height:1.5}
@media(max-width:700px){#side-book{height:78px;width:58px}.book-wisdom-sheet{width:min(365px,calc(100vw - 38px))}.book-reveal-inner{padding-top:23px;padding-bottom:20px;gap:9px}.book-page-words{font-size:clamp(16px,4.7vw,22px)}.book-page-words.book-long{font-size:clamp(13px,4vw,19px)}.book-sheet{width:min(365px,calc(100vw - 55px))}.book-property-name{font-size:clamp(17px,6vw,30px)}}
@media(prefers-reduced-motion:reduce){.book-page-arriving .book-wisdom-sheet,.book-page-turning{animation:none!important}}


/* v3.13.1 — single continuous parchment, no opaque horizontal panels.
   Keep approved illustrations; dissolve their edges into the book paper. */
.book-paper {
  background: radial-gradient(ellipse at 51% 47%,#f3e5c7 0%,#f0dfbc 51%,#ead4ac 84%,#d7bd8e 100%);
}
.book-paper-ornament {
  position:absolute;
  left:0;
  right:0;
  width:100%;
  z-index:1;
  background-repeat:no-repeat;
  background-size:100% auto;
}
.book-quote-page .book-ornament-top,
.book-property-page .book-ornament-top {
  top:0;
  height:37%;
  background-position:top center;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 77%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 77%,transparent 100%);
}
.book-quote-page .book-ornament-bottom {
  bottom:0;
  height:10%;
  background-position:bottom center;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 34%,#000 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,#000 34%,#000 100%);
}
.book-property-page .book-ornament-bottom {
  bottom:0;
  height:17%;
  background-position:bottom center;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 35%,#000 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,#000 35%,#000 100%);
}
.book-paper-middle {
  position:absolute;
  z-index:2;
  inset:36% 0 10%;
  padding:10px clamp(23px,5.5vw,40px);
  background:transparent;
  justify-content:center;
  gap:0;
}
.book-property-page .book-paper-middle { inset:35% 0 15%; }
.book-page-words { flex:0 1 auto; max-height:76%; overflow:auto; line-height:1.48; }
.book-page-star { margin-top:22px; padding-top:0; flex:none; }
.book-page-signature { padding-top:7px; flex:none; }
@media(max-width:700px) {
  .book-paper-middle {padding:8px 22px}
  .book-page-star {margin-top:14px}
}


/* v3.13.2 — final page geometry, restored genuine illustrated side borders. */
.book-paper { isolation:isolate; }
.book-quote-page::before, .book-property-page::before {
  content:""; position:absolute; inset:0; z-index:3; pointer-events:none;
  background-size:100% 100%; background-repeat:no-repeat;
}
.book-quote-page::before { background-image:url('../media/void-book-wisdom-edges.webp'); }
.book-property-page::before { background-image:url('../media/void-book-property-edges.webp'); }
.book-paper-middle {
  z-index:4;
  inset:32% 0 12%;
  padding:8px clamp(34px,12%,62px);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:transparent;
}
.book-property-page .book-paper-middle { inset:32% 0 14%; }
.book-page-words {
  margin:0; flex:0 1 auto; overflow:auto; max-height:60%;
  font-size:clamp(17px,2.45vw,25px); line-height:1.42;
  max-width:100%; hyphens:auto; overflow-wrap:break-word;
}
.book-page-words.book-long {font-size:clamp(15px,2.15vw,21px)}
.book-page-attribution {
  font:400 clamp(10px,1.2vw,12px)/1.5 Georgia,serif;
  letter-spacing:.035em;
  color:#61543e;
  margin:15px auto 0;
  max-width:100%; overflow-wrap:anywhere;
  text-align:center;
}
.book-page-star { margin-top:22px; font-size:18px; }
.book-page-signature { padding-top:8px; }
/* Pointer use does not leave a focus rectangle around AGAIN.
   Keyboard users retain a visible focus marker when navigating by keys. */
#word.clickword:focus, #word.clickword:focus-visible { outline:none; box-shadow:none; }
body.void-book-keyboard-navigation #word.clickword:focus-visible {
  outline:1px solid #ead6a8; outline-offset:7px;
}
@media(max-width:700px) {
 .book-paper-middle {padding:6px clamp(30px,12%,50px)}
 .book-page-attribution {font-size:10px;margin-top:10px}
 .book-page-star {margin-top:15px}
 .book-page-words {font-size:clamp(16px,4.6vw,22px);max-height:65%}
 .book-page-words.book-long {font-size:clamp(13px,3.8vw,18px)}
}
@media(max-height:660px) {
 .book-page-attribution {margin-top:8px}
 .book-page-star {margin-top:10px}
}


/* v3.13.3 — the page is the whole event; refined illuminated-manuscript balance. */
.book-page-arriving .book-wisdom-sheet {transform-origin:66% 43%;will-change:transform,opacity;}
/* The quotation and its credit occupy the visual heart of the illustration,
   while the star and THE VOID are given their own quiet place lower down. */
.book-quote-page .book-paper-middle { inset:33% 0 10%; padding:0; display:block; }
.book-wisdom-copy {
 position:absolute; top:35%; left:11.8%; right:11.8%;
 transform:translateY(-50%);
 display:flex; flex-direction:column; align-items:center; justify-content:center;
 text-align:center; max-height:70%; min-width:0;
}
.book-wisdom-copy .book-page-words {
 margin:0;max-width:100%;max-height:min(28vh,185px);overflow:auto;
 font:400 clamp(19px,2.55vw,27px)/1.42 'Bodoni MT','Didot','Baskerville','Times New Roman',serif;
 letter-spacing:.018em;color:#1c4538;hyphens:auto;overflow-wrap:break-word;
 scrollbar-width:thin;text-wrap:balance;
}
.book-wisdom-copy .book-page-words.book-long {font-size:clamp(16px,2.17vw,22px);line-height:1.38;}
.book-wisdom-copy .book-page-attribution {
 margin:13px auto 0;max-width:100%;font:400 clamp(10px,1.16vw,12px)/1.5 Georgia,serif;
 color:#695640;letter-spacing:.025em;text-align:center;overflow-wrap:anywhere;
}
.book-wisdom-seal {
 position:absolute;top:79%;left:0;right:0;transform:translateY(-50%);
 display:flex;flex-direction:column;align-items:center;justify-content:center;
 gap:8px;text-align:center;
}
.book-wisdom-seal .book-page-star {margin:0;padding:0;font-size:20px;color:#b38b47;line-height:1;}
.book-wisdom-seal .book-page-signature {
 margin:0;padding:0;font:600 10px/1.2 Georgia,serif;letter-spacing:.26em;color:#194238;
}
@media(max-width:700px) {
 .book-wisdom-copy {left:12.5%;right:12.5%;top:34%;max-height:71%}
 .book-wisdom-copy .book-page-words {font-size:clamp(17px,4.9vw,23px);line-height:1.39;max-height:29vh}
 .book-wisdom-copy .book-page-words.book-long {font-size:clamp(14px,4vw,19px)}
 .book-wisdom-copy .book-page-attribution {font-size:10px;margin-top:10px}
 .book-wisdom-seal {top:81%;gap:6px}
 .book-wisdom-seal .book-page-star {font-size:18px}
}
@media(max-height:550px){
 .book-wisdom-copy {top:34%}
 .book-wisdom-seal {top:83%}
 .book-wisdom-copy .book-page-attribution {margin-top:7px}
}
