/* V0.11.1 — enchanted volumes and bookbinding; isolated from the audio engine */
.menu-backdrop{background:rgba(0,8,4,.72)!important}
.menu-window{width:min(1370px,96vw);background:linear-gradient(145deg,#102b1beF,#06170ff7 57%,#0b2418f5);box-shadow:0 24px 75px #000c,0 0 42px #1d9b4930}
.menu-window.library-view{max-height:90dvh}
.menu-window.patch-view{width:min(1050px,95vw)}
.menu-top{margin-bottom:15px}
.library-introduction{margin:4px 0 20px}
.library-lead{font:italic clamp(17px,2.1vw,24px) Georgia,serif;color:#d7f5df;margin:0 0 6px}
.library-introduction .menu-description{margin:0;color:#a9cdb5;font-size:14px}
.collection-tabs{margin-bottom:22px}
.shelf-heading{margin-bottom:17px}.shelf-heading p{margin-top:6px;font-size:14px}
.volumes{grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(9px,1.35vw,20px)}
.volumes .volume{opacity:1!important;cursor:default}
.volumes .volume-cover{filter:none!important;aspect-ratio:2/3.05;border-left:7px ridge #427655;box-shadow:7px 12px 18px #0008,inset 0 0 24px #69b78220;transition:transform .3s ease,box-shadow .3s ease;transform:perspective(480px) rotateY(-7deg);background:linear-gradient(140deg,#244b35,#0b241a 49%,#08150e 100%)}
.volumes .volume-cover:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,var(--volume-halo,#57a47733),transparent 64%);pointer-events:none}
.volumes .volume-cover small,.volumes .volume-cover em{z-index:1}
.volumes .volume-cover small{font-size:clamp(8px,.8vw,10px)}
.volumes .volume-cover em{font-size:clamp(10px,.9vw,12px)}
.volume-emblem{display:grid;place-items:center;position:relative;width:90%;height:58%;color:var(--volume-ink,#b2edc5);filter:drop-shadow(0 0 7px var(--volume-glow,#62da8a66))}
.volume-glyph{width:min(100%,106px);height:100%;max-height:112px;overflow:visible}
.volume-1{--volume-ink:#f3a1a6;--volume-glow:#e0475477;--volume-halo:#9b1d2633}
.volume-2{--volume-ink:#a4d8b5;--volume-glow:#2abf7870;--volume-halo:#0c663833}
.volume-3{--volume-ink:#c9d9e5;--volume-glow:#90c7e666;--volume-halo:#7ca5bb24}
.volume-4{--volume-ink:#9cc9ff;--volume-glow:#168aff99;--volume-halo:#1246a344}
.volume-5{--volume-ink:#ffd59b;--volume-glow:#e88e3b88;--volume-halo:#a8541733}
.volume-6{--volume-ink:#b9a9dc;--volume-glow:#8d71c577;--volume-halo:#654d8a2c}
.volume-7{--volume-ink:#e3e6de;--volume-glow:#e6e8d577;--volume-halo:#e6e8d51c}
.volume.sealed .volume-cover{opacity:.84}
.volume.developing .volume-cover{border-color:#8dd8a4}
.volume:hover .volume-cover{transform:perspective(480px) rotateY(0) translateY(-7px);box-shadow:0 0 25px var(--volume-glow,#62da8a66),9px 16px 21px #0009}
.volume:hover .volume-emblem{filter:drop-shadow(0 0 13px var(--volume-glow,#62da8a66))}
.volume-4 .goblet-flame{stroke:#5daaff;stroke-width:3;transform-origin:50px 43px;animation:gobletFlicker 2.4s ease-in-out infinite alternate}
@keyframes gobletFlicker{0%{transform:scaleY(.94) skewX(-2deg);opacity:.65}50%{transform:scaleY(1.04) skewX(2deg);opacity:1}100%{transform:scaleY(.89) skewX(-1deg);opacity:.82}}
.volume-state{font-size:11px}.volume.sealed .volume-state{color:#9eb9a6}
.binding-illustration{margin:18px auto 20px;width:min(560px,100%);text-align:center}
.binding-illustration svg{width:100%;height:auto;max-height:190px;overflow:visible;filter:drop-shadow(0 0 8px #3ab66b40)}
.binding-magic{transform-origin:211px 88px;animation:bindingPulse 4s ease-in-out infinite}
.binding-pages{animation:bindingHover 5s ease-in-out infinite}
.binding-complete{animation:bindingHover 5s ease-in-out infinite reverse}
.binding-caption{display:block;color:#83caa1;font:600 10px Arial,sans-serif;letter-spacing:.24em}
.binding-caption span{padding:0 16px;color:#b4f9c8}
.patch-view .patch-intro{margin:0 auto 17px;max-width:680px;text-align:center}
.patch-view .menu-patch-copy{max-width:690px}
@keyframes bindingPulse{50%{transform:scale(1.1);opacity:.65}}
@keyframes bindingHover{50%{transform:translateY(-3px)}}
@media(max-width:1100px){.volumes{grid-template-columns:repeat(4,minmax(0,1fr));max-width:790px;margin:auto}.menu-window.library-view{max-height:88dvh}}
@media(max-width:600px){.volumes{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.menu-window{padding:22px 17px}.binding-caption{font-size:8px;letter-spacing:.1em}.binding-caption span{padding:0 5px}}
@media(prefers-reduced-motion:reduce){.goblet-flame,.binding-magic,.binding-pages,.binding-complete{animation:none!important}}
