@font-face{font-family:Uncial;src:url('fonts/uncial.ttf') format('truetype');font-display:swap}
@font-face{font-family:Fell;src:url('fonts/fell.ttf') format('truetype');font-display:swap}
*{box-sizing:border-box}
:root{color-scheme:dark;--folio-ink:#14331b;--folio-line:#39723e77}
html{background:#07120b}
body.library-page{margin:0;min-width:280px;min-height:100svh;overflow:hidden;background:#07120b;color:#f8f5e7;font:20px/1.3 Fell,Georgia,serif}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;cursor:pointer}
a{color:inherit}
[hidden]{display:none!important}
button:focus-visible,a:focus-visible,[tabindex="0"]:focus-visible{outline:2px solid #143f23;outline-offset:3px}
.boros-header button:focus-visible,.boros-header a:focus-visible{outline-color:#fff2b1}
.skip{position:fixed;top:-100px;left:20px;z-index:100;background:#e2f5cf;color:#14331b;padding:12px 18px}.skip:focus{top:12px}
body.library-page>.boros-header{position:fixed;z-index:30}
.library-title{position:fixed;z-index:10;top:clamp(88px,11svh,118px);left:50%;transform:translateX(-50%);width:max-content;max-width:90vw;margin:0;text-align:center;font:400 clamp(25px,2.7vw,43px)/1.15 Uncial,Georgia,serif;color:#fff;text-shadow:0 2px 2px #000,0 4px 6px #000b;pointer-events:none}
.library-panorama{position:relative;width:100%;height:100svh;overflow:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#56815a #0c180f;outline:none}
.library-scene{position:relative;width:max(100%,1100px,calc(100svh * 1672 / 941));aspect-ratio:1672/941;isolation:isolate}
.library-wallpaper{position:absolute;inset:0;display:block;width:100%;height:100%;user-select:none;pointer-events:none}
.library-flat-pages{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;fill:#d3f7d7;stroke:#102f18;stroke-width:2;stroke-linejoin:round}
/* Both rectangles fit inside the narrowest part of the illustrated page faces. */
.folio-left,.folio-right{position:absolute;top:25.5%;height:39.5%;display:flex;flex-direction:column;min-width:0;min-height:0;color:var(--folio-ink);outline:none}
.folio-left{left:28%;width:20.4%}
.folio-right{left:51.7%;width:21.6%;align-items:stretch}
.folio-intro{display:flex;align-items:center;gap:10px;flex:none}
.folio-intro>img{display:block;width:clamp(39px,3.4vw,60px);height:45px;object-fit:contain;opacity:.5;filter:drop-shadow(0 0 5px #45d85f);animation:library-ghost-hover 7s ease-in-out infinite}
.folio-kicker{margin:0 0 4px;font-size:clamp(11px,.85vw,14px);line-height:1.2;letter-spacing:1px;text-transform:uppercase;color:#35603a;flex:none}
.folio-intro h1,.folio-right>h2{margin:0;font:400 clamp(22px,1.75vw,30px)/1.2 Uncial,Georgia,serif}
.contents-note{margin:10px 0 9px;font-size:clamp(16px,1.1vw,20px);flex:none}
.folio-menu{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#4e8c52 #78b97e33;border-top:1px solid var(--folio-line);border-bottom:1px solid var(--folio-line);padding:4px 6px 4px 0;outline-offset:2px}
.folio-menu-item{display:flex;align-items:center;gap:10px;width:100%;min-height:58px;padding:9px 8px;border:0;border-bottom:1px solid #3f77442b;border-radius:3px;background:transparent;color:#183b20;text-align:left;font-size:clamp(17px,1.18vw,22px);line-height:1.15}
.folio-menu-item:last-child{border-bottom:0}
.folio-menu-item:hover{background:#23623512}
.folio-menu-item[aria-current="page"]{background:#276c3429;box-shadow:inset 3px 0 #286a34}
.folio-menu-item small{display:block;margin-top:4px;color:#38633e;font-size:clamp(13px,.88vw,16px);line-height:1.2}
.menu-numeral{flex:none;width:24px;text-align:center;font:17px/1.2 Uncial,Georgia,serif;color:#3d7544}
.menu-arrow{margin-left:auto;font:24px/1 Georgia,serif}
.contents-footnote{margin:8px 0 0;color:#3c6640;font-size:clamp(13px,.9vw,16px);flex:none}
.folio-right>.folio-kicker{text-align:center}
.folio-right>h2{text-align:center;font-size:clamp(21px,1.6vw,28px)}
.folio-picture{position:relative;flex:1;min-height:0;margin:10px 0 6px;perspective:1000px}
.artwork-view{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in;transform-origin:left center}
.artwork-view img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.artwork-view.is-turning{animation:folio-page-turn .46s ease-out}
.folio-cover{height:100%;width:auto;max-width:75%;aspect-ratio:.78;margin:auto;padding:9px;border:2px solid #183f29;border-radius:2px 6px 6px 2px;background:#214d31;box-shadow:4px 3px 0 #91aa65;transform:rotate(-3deg)}
.folio-cover img{display:block;width:100%;height:100%;object-fit:contain}
.folio-pagination{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;flex:none}
.folio-pagination button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;border:1px solid #39734466;border-radius:3px;background:#d0f8be44;color:#1e4a29;font:26px/1 Georgia,serif}
.folio-pagination button:hover:enabled{background:#1d6a2f22}
.folio-pagination button:disabled{opacity:.3;cursor:default}
#library-status{margin:0;text-align:center;color:#38623e;font-size:clamp(14px,.95vw,17px);font-variant-numeric:tabular-nums}
.folio-tools{display:flex;align-items:center;justify-content:space-between;gap:5px;flex:none;flex-wrap:wrap}
.folio-tools button,.folio-tools a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:4px 2px;border:0;background:transparent;color:#193e22;text-decoration:none;font:clamp(15px,1vw,18px)/1.2 Fell,Georgia,serif}
.folio-tools button:hover,.folio-tools a:hover{text-decoration:underline;text-underline-offset:4px}
#library-open-book{width:100%}
.library-mobile-nav{display:none;position:fixed;bottom:12px;left:50%;transform:translateX(-50%);z-index:20;align-items:center;gap:8px;width:max-content;max-width:calc(100% - 16px);padding:4px 8px;border:1px solid #83bd7c66;border-radius:6px;background:#09180ff2;box-shadow:0 2px 12px #0007;color:#e1f6d8}
.library-mobile-nav button{min-height:44px;padding:4px 9px;border:0;background:transparent;color:inherit;font-size:17px;white-space:nowrap}
.library-mobile-nav span{font-size:12px;color:#a7bea4}
.library-mobile-nav button:focus-visible{outline-color:#ecf6d7}
html[data-library-pan="true"] .library-mobile-nav{display:flex}
.library-full-view{width:min(1600px,96vw);max-width:96vw;height:94svh;max-height:94svh;margin:auto;padding:14px;border:1px solid #6eaf84;border-radius:5px;background:#06100c;color:#fff;box-shadow:0 15px 80px #000a}
.library-full-view::backdrop{background:#000e}
.library-full-view[open]{display:flex;flex-direction:column;gap:12px}
.full-view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex:none}
.full-view-toolbar h2{margin:0;font:400 clamp(20px,3vw,30px)/1.2 Uncial,Georgia,serif}
.full-view-toolbar button{min-height:44px;padding:8px 14px;border:1px solid #8fbb8b;border-radius:3px;background:#183523;color:#f4f4df;font-size:18px;flex:none}
.library-full-view button:focus-visible{outline-color:#fff2b1}
.library-full-view>img{display:block;flex:1;min-height:0;width:100%;object-fit:contain;background:#fff}
.library-noscript{position:fixed;z-index:40;bottom:0;width:100%;padding:14px;background:#102016;color:#fff;font-size:18px;text-align:center}
@keyframes folio-page-turn{0%{transform:rotateY(-65deg);opacity:.35;filter:brightness(.7)}100%{transform:rotateY(0);opacity:1;filter:brightness(1)}}
@keyframes library-ghost-hover{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@media(max-width:650px){.library-title{font-size:25px;top:94px}.library-mobile-nav{bottom:10px}.library-mobile-nav span{display:none}.library-full-view{padding:10px}}
@media(max-height:650px){.library-title{top:80px;font-size:25px}}
@media(prefers-reduced-motion:reduce){.artwork-view.is-turning,.folio-intro>img{animation:none}}
.still .artwork-view.is-turning,.still .folio-intro>img{animation:none}
@media print{body.library-page{overflow:visible;background:#fff}.boros-header,.skip,.library-title,.library-wallpaper,.folio-left,.folio-right>.folio-kicker,.folio-right>h2,.folio-pagination,.folio-tools,.library-mobile-nav,.library-full-view,audio{display:none!important}.library-panorama,.library-scene,.folio-right,.folio-picture,.artwork-view{position:static;display:block;width:100%;height:auto;overflow:visible;aspect-ratio:auto;margin:0;padding:0}.artwork-view img{width:100%;height:180mm;object-fit:contain;mix-blend-mode:normal}.library-page::after{display:none!important}}

@font-face{font-family:LibraryFun;src:url('fonts/lilita-one.ttf') format('truetype');font-display:swap}
.folio-intro h1{font-size:clamp(25px,2.05vw,35px);color:#fff;text-shadow:0 2px 2px #14331bdd,0 3px 5px #14331b99}
.folio-menu-item{position:relative;isolation:isolate;overflow:hidden;min-height:82px;margin:8px 0;padding:14px 12px;gap:12px;border:1px solid #37804b66!important;border-radius:12px 4px 12px 4px;font:400 clamp(25px,1.9vw,34px)/1.1 LibraryFun,Uncial,Georgia,serif;color:#143d26;transition:background .2s,box-shadow .2s}
.folio-menu-item[aria-current="page"]{background:#f1ffe66e;box-shadow:inset 0 -4px #4fbf6b66,0 0 12px #fff9}
.folio-menu-item:hover,.folio-menu-item:focus-visible{background:#f4ffe9ba;box-shadow:inset 0 -4px #27a85099,0 0 16px #fff9}
.folio-menu-item::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(105deg,transparent 20%,#fff9 45%,transparent 70%);transform:translateX(-140%);animation:library-menu-sheen 7s ease-in-out infinite}
.menu-numeral{width:30px;font-size:34px;color:#317949;text-shadow:0 0 5px #fff}
.library-magic{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible}
.folio-left,.folio-right{z-index:3}
.library-star{animation:library-star-twinkle var(--twinkle) ease-in-out var(--delay) infinite;transform-box:fill-box;transform-origin:center;filter:drop-shadow(0 0 3px #effff8)}
.book-glow-lines{animation:library-book-aura 6.8s ease-in-out infinite;opacity:.4}
.side-glow{animation:library-side-aura 5.7s ease-in-out -2s infinite}.side-glow.second{animation-duration:7.3s;animation-delay:-4s}
.library-mist{position:absolute;inset:65% 0 0;overflow:hidden;pointer-events:none;z-index:2}
.library-mist i{position:absolute;bottom:-45%;left:12%;width:50%;height:85%;border-radius:50%;background:radial-gradient(ellipse,#84ffd62b,transparent 67%);filter:blur(22px);opacity:0;animation:library-mist-rise 16s linear infinite}
.library-mist i:nth-child(2){left:45%;animation-delay:-5s;animation-duration:19s}.library-mist i:nth-child(3){left:0;animation-delay:-11s;animation-duration:21s}.library-mist i:nth-child(4){left:32%;animation-delay:-14s;animation-duration:24s}
@keyframes library-star-twinkle{0%,100%{opacity:.2;transform:scale(.8)}37%{opacity:.5}55%{opacity:1;transform:scale(1.15)}73%{opacity:.35}}
@keyframes library-book-aura{0%,100%{opacity:.22}50%{opacity:.65}}
@keyframes library-side-aura{0%,100%{stroke-opacity:.3}50%{stroke-opacity:1}}
@keyframes library-mist-rise{0%{opacity:0;transform:translate(-8%,20%) scale(.8)}30%{opacity:.65}70%{opacity:.4}100%{opacity:0;transform:translate(17%,-110%) scale(1.4)}}
@keyframes library-menu-sheen{0%,65%{transform:translateX(-140%)}95%,100%{transform:translateX(140%)}}
@media(prefers-reduced-motion:reduce){.library-star,.book-glow-lines,.side-glow,.folio-menu-item::before{animation:none}.library-mist{display:none}.library-star{opacity:.7}}
.still .library-star,.still .book-glow-lines,.still .side-glow,.still .folio-menu-item::before{animation:none}.still .library-mist{display:none}
@media print{.library-magic,.library-mist{display:none!important}}

.folio-right>h2{color:#fff;text-shadow:0 2px 2px #14331bdd,0 3px 5px #14331b99}

.folio-intro h1{font-size:clamp(30px,2.65vw,45px);font-weight:700;line-height:1.08;color:#174d31;text-shadow:0 1px 0 #d7ffd4}
.folio-right>h2{color:#174d31;text-shadow:0 1px 0 #d7ffd4}
.folio-menu-item{color:#fff;-webkit-text-stroke:.65px #102f1d;paint-order:stroke fill;text-shadow:0 2px 2px #102f1dcc,0 3px 5px #102f1d77}
.folio-menu-item .menu-numeral{color:#fff;text-shadow:0 2px 2px #102f1dcc}

/* Playful reading controls, within the original page layout. */
.folio-right>h2{font-family:LibraryFun,Uncial,Georgia,serif;font-size:clamp(24px,1.9vw,33px);letter-spacing:.3px}
.folio-pagination button{border:1px solid #285e38;border-radius:12px 5px 12px 5px;background:#e5ffd9;box-shadow:0 3px 0 #347347;color:#194f2b;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s}
.folio-pagination button:hover:enabled{background:#f1ffe8;transform:translateY(-2px);box-shadow:0 5px 0 #347347}
.folio-pagination button:active:enabled{transform:translateY(2px);box-shadow:0 1px 0 #347347}
.folio-tools{gap:8px;margin-top:5px}
.folio-tools button,.folio-tools a{padding:5px 8px;border:1px solid #39834c88;border-radius:9px 3px 9px 3px;background:#e4ffd066;font-family:LibraryFun,Fell,Georgia,serif;font-size:clamp(15px,1.05vw,19px);box-shadow:0 2px 0 #3a784a55}
.folio-tools button:hover,.folio-tools a:hover{background:#edffe0;text-decoration:none}
#library-status{font-family:LibraryFun,Fell,Georgia,serif;color:#245c32}
@media(prefers-reduced-motion:reduce){.folio-pagination button{transition:none}}

.cosmic-aura{z-index:2;opacity:.65;animation:cosmic-aura-breathe 7s ease-in-out infinite;mix-blend-mode:screen}.cosmic-comets{z-index:2;overflow:hidden}.cosmic-comet{opacity:0;transform:translate(var(--cx),var(--cy)) rotate(28deg);animation:cosmic-comet-flight var(--period) linear var(--offset) infinite;filter:drop-shadow(0 0 3px #caffef)}@keyframes cosmic-aura-breathe{50%{opacity:1}}@keyframes cosmic-comet-flight{0%,88%,100%{opacity:0;transform:translate(var(--cx),var(--cy)) rotate(28deg)}89%{opacity:1}94%{opacity:0;transform:translate(calc(var(--cx) + 420px),calc(var(--cy) + 220px)) rotate(28deg)}}@media(prefers-reduced-motion:reduce){.cosmic-aura{animation:none}.cosmic-comets{display:none}}.still .cosmic-aura{animation:none}.still .cosmic-comets{display:none}@media print{.cosmic-aura,.cosmic-comets{display:none!important}}

.library-magic .book-glow-lines,.library-magic .side-glow{display:none}

/* Align the supplied book to the former artwork's page bounds. */
.library-open-book{position:absolute;left:15.1%;top:14.4%;width:69.8%;height:69.8%;object-fit:contain;opacity:.5;z-index:2;pointer-events:none;filter:drop-shadow(0 0 10px #00ed8a) drop-shadow(0 0 24px #00ca7066)}
@media print{.library-open-book{display:none!important}}

.library-side-grimoire{position:absolute;left:0;top:24%;width:19%;height:auto;opacity:.5;z-index:2;pointer-events:none;filter:drop-shadow(0 0 9px #00ef88) drop-shadow(0 0 23px #00df7777)}@media print{.library-side-grimoire{display:none!important}}

.library-right-grimoire{position:absolute;right:0;top:23%;width:19%;height:auto;opacity:.5;z-index:2;pointer-events:none;filter:drop-shadow(0 0 9px #00ef88) drop-shadow(0 0 23px #00df7777);animation:library-right-hover 9.7s ease-in-out -4s infinite}
.library-side-grimoire{animation:library-left-hover 8.3s ease-in-out -1.4s infinite}
.library-open-book{animation:library-spread-hover 11s ease-in-out -6s infinite}
.library-reading-spread{position:absolute;inset:0;z-index:3;pointer-events:none;animation:library-spread-hover 11s ease-in-out -6s infinite}
.library-reading-spread :is(.folio-left,.folio-right){pointer-events:auto}
@keyframes library-spread-hover{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes library-left-hover{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-14px) rotate(1deg)}}
@keyframes library-right-hover{0%,100%{transform:translateY(-7px) rotate(1deg)}50%{transform:translateY(8px) rotate(-2deg)}}
body.library-page,body.library-page :is(h1,h2,h3,p,button,a,span,small){font-family:Uncial,Georgia,serif!important}
.library-page :is(.folio-left,.folio-right) :is(h1,h2,p,button,a,span,small),.library-page #library-status{color:#00e893!important;-webkit-text-stroke:0;text-shadow:0 1px 2px #092a1c,0 0 6px #00fa8b88,0 0 13px #00df7055}
.library-page .folio-menu-item{font-size:clamp(20px,1.5vw,27px)}
@media(prefers-reduced-motion:reduce){.library-right-grimoire,.library-side-grimoire,.library-open-book,.library-reading-spread{animation:none}}.still :is(.library-right-grimoire,.library-side-grimoire,.library-open-book,.library-reading-spread){animation:none}
@media print{.library-right-grimoire{display:none!important}.library-reading-spread{position:static;transform:none;animation:none}}

.library-page .folio-menu-item[data-library-page="waterwheel"] span{color:#fff!important;text-shadow:0 1px 2px #123521,0 0 6px #baffd766!important}

.rare-ice-comet{opacity:0;offset-path:path("M140 95Q650 140 1320 370");offset-rotate:auto;filter:drop-shadow(0 0 5px #bcefff);animation:rare-ice-pass 97s linear -72s infinite}.rare-comet-dust{opacity:0;filter:blur(1.5px);mask-image:linear-gradient(90deg,#000, #000);animation:rare-ice-dust 97s linear -72s infinite}
@keyframes rare-ice-pass{0%,75%{opacity:0;offset-distance:0%}76%{opacity:1;offset-distance:0%}86%{opacity:1;offset-distance:100%}87%,100%{opacity:0;offset-distance:100%}}
@keyframes rare-ice-dust{0%,76%{opacity:0;clip-path:inset(0 100% 0 0)}78%{opacity:.5;clip-path:inset(0 80% 0 0)}86%{opacity:.65;clip-path:inset(0 0 0 0)}90%{opacity:.45;clip-path:inset(0 0 0 0)}96%,100%{opacity:0;clip-path:inset(0 0 0 0)}}
@media(prefers-reduced-motion:reduce){.rare-ice-comet,.rare-comet-dust{display:none}}.still .rare-ice-comet,.still .rare-comet-dust{display:none}

.cosmic-comet{stroke-width:3;stroke-linecap:round;animation-name:visible-shooting-star}
@keyframes visible-shooting-star{0%{opacity:0;transform:translate(var(--cx),var(--cy)) rotate(28deg)}2%{opacity:1}10%{opacity:0;transform:translate(calc(var(--cx) + 500px),calc(var(--cy) + 260px)) rotate(28deg)}11%,100%{opacity:0;transform:translate(calc(var(--cx) + 500px),calc(var(--cy) + 260px)) rotate(28deg)}}

.library-page .chapter-mystery{align-items:center;justify-content:center}.library-page .chapter-mystery .chapter-question{color:#fff!important;font:700 clamp(110px,13vw,215px)/1 Uncial,Georgia,serif!important;text-shadow:0 0 12px #fff6,0 0 28px #00ed8866!important}.chapter-mystery .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}

/* Three chapter links fit the paper; no interior scrolling is needed. */
.library-page .folio-intro{display:block;width:100%;margin:0 0 7px}.library-page .folio-intro h1{font-size:clamp(16px,1.3vw,23px);white-space:nowrap;line-height:1.3;letter-spacing:-.03em}.library-page .contents-note{margin:2px 0 7px;font-size:clamp(13px,1vw,18px)}
.library-page .folio-menu{display:grid;grid-template-rows:repeat(3,minmax(44px,1fr));gap:6px;overflow:visible;padding:4px 0;flex:1;min-height:0;scrollbar-width:none}
.library-page .folio-menu-item{min-height:44px;height:100%;margin:0;padding:7px 10px;font-size:clamp(17px,1.35vw,24px);line-height:1.2}.library-page .folio-menu::-webkit-scrollbar{display:none}
.library-page .chapter-mystery .chapter-question{font-family:"Times New Roman",Times,serif!important;color:#898989!important;font-size:clamp(115px,14vw,220px)!important;font-weight:700!important;text-shadow:0 2px 3px #0002!important}
.library-floating-scroll{position:absolute;left:2%;top:69%;width:20%;height:auto;z-index:4;filter:drop-shadow(0 0 9px #aa72ff99) drop-shadow(0 0 17px #ffdf6377) drop-shadow(0 0 23px #00ed8877);animation:library-scroll-hover 9s ease-in-out -2s infinite}
@keyframes library-scroll-hover{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-12px) rotate(1deg)}}
@media(prefers-reduced-motion:reduce){.library-floating-scroll{animation:none}}.still .library-floating-scroll{animation:none}@media print{.library-floating-scroll{display:none!important}}

.library-letter-trigger{position:absolute;left:.7%;bottom:2%;width:11%;min-width:62px;min-height:44px;z-index:5;margin:0;padding:0;border:0;background:transparent;cursor:pointer;animation:library-scroll-hover 9s ease-in-out -2s infinite}.library-letter-trigger .library-floating-scroll{position:static;display:block;width:100%;height:auto;animation:none;pointer-events:none}.library-letter-trigger:focus-visible{outline:2px solid #e9cd7a;outline-offset:5px;border-radius:15px}
.library-thanks{width:min(820px,calc(100vw - 28px));max-width:none;max-height:calc(100svh - 28px);padding:0;overflow:visible;border:solid transparent;border-width:60px 38px;border-image:url('assets/tale/pond-lore-scroll-v1.webp') 180 125 170 fill / 60px 38px / 0 stretch;background:none;color:#51361c;color-scheme:light}.library-thanks::backdrop{background:#020c08cd;backdrop-filter:blur(5px)}.letter-paper{max-height:calc(100svh - 150px);overflow:auto;overscroll-behavior:contain;padding:12px 18px 26px;scrollbar-width:none}.letter-paper::-webkit-scrollbar{display:none}.letter-paper h2{text-align:center;color:#493018;font-size:clamp(24px,3vw,34px);margin:0 0 27px}.letter-paper p{font-size:18px;line-height:1.65;margin:0 0 22px;color:#51361c;text-shadow:none}.letter-signature{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-top:28px}.letter-signature p{margin:0;font-size:16px}.letter-wax-seal{width:105px;height:105px;flex:none;transform:rotate(-9deg)}.letter-close{position:absolute;top:-45px;right:-16px;width:44px;height:44px;border:1px solid #8b6734;border-radius:50%;background:#edd6a4;color:#51361c;font:30px/1 Georgia,serif}.library-thanks :is(button,h2):focus-visible{outline:2px solid #6b4824;outline-offset:4px}@media(max-width:600px){.library-thanks{border-width:48px 18px;border-image-width:48px 18px}.letter-paper{max-height:calc(100svh - 126px);padding:10px 10px 20px}.letter-paper p{font-size:16px;line-height:1.6}.letter-wax-seal{width:78px;height:78px}.letter-close{top:-43px;right:-7px}}@media(prefers-reduced-motion:reduce){.library-letter-trigger{animation:none}}.still .library-letter-trigger{animation:none}@media print{.library-letter-trigger,.library-thanks{display:none!important}}

/* Compact chapter contents and prominent mystery page. */
.library-page .folio-intro h1{font-size:clamp(21px,1.65vw,30px);letter-spacing:-.045em}
.library-page .folio-menu{flex:0 0 auto;grid-template-rows:repeat(3,44px);gap:8px;border:0;padding:0}
.library-page .folio-menu-item{width:88%;min-height:44px;height:44px;padding:4px 9px}
.library-page .folio-left .folio-menu-item,.library-page .folio-left .folio-menu-item span{color:#fff!important;text-shadow:0 1px 3px #102f1d!important}
.library-page .chapter-mystery .chapter-question{color:#000!important;font-size:clamp(190px,23vw,360px)!important;line-height:.85!important;text-shadow:none!important}

.letter-riddle{margin-top:30px;padding:20px 0;border-block:0;text-align:center}.letter-riddle h3{font-size:20px}.letter-riddle .riddle-code{font-family:Georgia,serif!important;font-size:26px;letter-spacing:.1em}.letter-riddle summary{cursor:pointer;min-height:44px;padding:10px;color:#68431f}.letter-riddle details p{font-size:16px}

.library-side-grimoire[role="button"],.library-right-grimoire[role="button"]{pointer-events:auto;cursor:pointer;touch-action:manipulation}.library-side-grimoire:focus-visible,.library-right-grimoire:focus-visible{outline:2px solid #80ffc0;outline-offset:4px;border-radius:12px}

.letter-ending{margin-top:32px;text-align:center}.letter-ending p{margin:0;text-align:center;font-size:17px}.letter-ending span{font-family:system-ui,sans-serif!important}

.letter-seal-row{display:flex;justify-content:flex-end;margin-top:22px;padding-right:8px}.letter-seal-row .letter-wax-seal{display:block;object-fit:contain;width:105px;height:105px;transform:rotate(-9deg)}@media(max-width:600px){.letter-seal-row .letter-wax-seal{width:78px;height:78px}}

.letter-kings-gift{margin:28px auto 34px;text-align:center}.letter-kings-gift img{display:block;width:72px;height:108px;object-fit:contain;margin:0 auto 14px;image-rendering:pixelated;animation:kings-gift-blink 4.5s ease-in-out infinite}.letter-kings-gift figcaption{font-family:Uncial,Georgia,serif;color:#51361c;font-size:17px;line-height:1.5}@keyframes kings-gift-blink{0%,35%,100%{opacity:1}65%,75%{opacity:.1}}@media(prefers-reduced-motion:reduce){.letter-kings-gift img{animation:none}}.still .letter-kings-gift img{animation:none}

.letter-paper>p{margin-bottom:44px}.letter-kings-gift img{width:112px;height:112px}.letter-kings-gift{margin-top:40px;margin-bottom:44px}@media(max-width:600px){.letter-paper>p{margin-bottom:38px}}

.letter-riddle{cursor:default}.letter-riddle>*{opacity:0;transition:opacity .5s ease}.letter-riddle:hover>*,.letter-riddle:focus-visible>*,.letter-riddle.is-revealed>*{opacity:1}.letter-riddle:focus-visible{outline:1px dotted #886530;outline-offset:4px}@media(prefers-reduced-motion:reduce){.letter-riddle>*{transition:none}}

.letter-riddle{width:max-content;max-width:100%;margin:30px auto 0;padding:0}.letter-riddle h3{margin:0 0 8px}.letter-riddle .riddle-code{margin:0}

/* Ghostly parchment: translucent artwork over a full green aura. */
.library-letter-trigger{isolation:isolate}.library-letter-trigger::before{content:"";position:absolute;inset:25% 12%;z-index:-1;pointer-events:none;border-radius:45%;background:#00ed88;opacity:.42;filter:blur(15px);transform:rotate(-28deg)}.library-letter-trigger .library-floating-scroll{opacity:.5;filter:drop-shadow(0 0 8px #00ff99) drop-shadow(0 0 20px #00ed88aa) drop-shadow(0 0 32px #00d97777)}
.library-thanks{isolation:isolate;border-image:none;box-shadow:none;background:transparent}.library-thanks::before{content:"";position:absolute;inset:-60px -38px;z-index:-1;pointer-events:none;border:solid transparent;border-width:60px 38px;border-image:url('assets/tale/pond-lore-scroll-v1.webp') 180 125 170 fill / 60px 38px / 0 stretch;opacity:.5;filter:drop-shadow(0 0 10px #00ff99) drop-shadow(0 0 27px #00ed88cc)}.library-thanks::after{content:"";position:absolute;inset:-38px -20px;z-index:-2;pointer-events:none;background:#00ed88;opacity:.26;border-radius:22px;filter:blur(28px);box-shadow:0 0 34px 14px #00ed8899}.library-thanks .letter-paper{position:relative;background:transparent}.library-thanks .letter-close{z-index:2}@media(max-width:600px){.library-thanks::before{inset:-48px -18px;border-width:48px 18px;border-image-width:48px 18px}.library-thanks::after{inset:-28px -8px;filter:blur(20px)}}

/* Larger thank-you letter type. */
.library-thanks .letter-paper h2{font-size:clamp(29px,3.5vw,40px);line-height:1.25}.library-thanks .letter-paper>p{font-size:20px;line-height:1.7}.library-thanks .letter-paper>p>strong{font-size:23px;line-height:1.4}.library-thanks .letter-kings-gift figcaption{font-size:19px}.library-thanks .letter-ending p{font-size:19px}.library-thanks .letter-riddle h3{font-size:23px}@media(max-width:600px){.library-thanks .letter-paper>p{font-size:18px;line-height:1.65}.library-thanks .letter-paper>p>strong{font-size:21px}.library-thanks .letter-kings-gift figcaption,.library-thanks .letter-ending p{font-size:18px}}

/* White ink on the ghostly thank-you parchment. */
.library-thanks .letter-paper,.library-thanks .letter-paper :is(h2,h3,p,strong,em,figcaption){color:#fff;text-shadow:0 1px 3px #082a1f,0 0 6px #082a1fbb}

.library-thanks .letter-paper h2{margin-bottom:95px}@media(max-width:600px){.library-thanks .letter-paper h2{margin-bottom:87px}}

/* Keep every library layer on the same art-sized canvas on phones. */
.library-panorama{height:100dvh;scroll-padding-bottom:calc(76px + env(safe-area-inset-bottom));touch-action:pan-x pan-y pinch-zoom}.library-scene{width:max(100%,1100px,calc(100dvh * 1672 / 941));container-type:inline-size}.library-mobile-nav{bottom:calc(10px + env(safe-area-inset-bottom))}.library-thanks{width:min(820px,calc(100% - 28px - env(safe-area-inset-left) - env(safe-area-inset-right)));max-height:calc(100dvh - 28px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.library-thanks .letter-paper{max-height:calc(100dvh - 150px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-wrap:break-word}.letter-riddle .riddle-code{white-space:nowrap}@media(max-width:600px){.library-thanks .letter-paper{max-height:calc(100dvh - 126px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.letter-riddle h3{font-size:20px!important}.letter-riddle .riddle-code{font-size:23px}}@media(max-height:450px){.library-title{display:none}.library-mobile-nav{left:auto;right:8px;transform:none}.library-thanks .letter-paper h2{margin-bottom:48px}}

@font-face{font-family:BorosPixelLetter;src:url('fonts/boros-pixel-letter.ttf') format('truetype');font-display:swap}.library-thanks .letter-kings-gift figcaption{font-family:BorosPixelLetter,monospace;font-size:clamp(12px,2vw,17px);line-height:1.8;letter-spacing:.3px}

.letter-riddle.is-cooling>*{opacity:0!important;transition:none!important}
