.cursor-spotlight{position:fixed;inset:0;z-index:0;pointer-events:none;--spot-x:50%;--spot-y:35%;background:radial-gradient(440px circle at var(--spot-x) var(--spot-y),color-mix(in srgb,var(--teal) 13%,transparent),color-mix(in srgb,var(--blue) 5%,transparent) 48%,transparent 78%);opacity:0;transition:opacity 220ms ease}
.cursor-spotlight.is-active{opacity:1}
.cursor-spotlight-grid{position:absolute;inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(340px circle at var(--spot-x) var(--spot-y),var(--fg),transparent 85%);-webkit-mask-image:radial-gradient(340px circle at var(--spot-x) var(--spot-y),var(--fg),transparent 85%);opacity:.5}
body>header,body>main,body>footer{position:relative;z-index:1}
.catalog-loading{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:var(--muted);padding-inline:24px}
.book-explainer[hidden]{display:none}
.card-image{display:flex;align-items:center;justify-content:center;text-decoration:none;color:inherit}
.title-button{display:block;text-decoration:none;color:inherit}
#previous:disabled,#next:disabled{opacity:.25;cursor:default}
#share-book:focus-visible,a[data-detail]:focus-visible{outline:2px solid var(--teal);outline-offset:5px}
@media(prefers-reduced-motion:reduce){.cursor-spotlight{display:none;transition:none!important}}
@supports (-webkit-touch-callout:none){input,textarea,select{font-size:16px!important}}
html{overflow-x:clip}
