.book-stage{--book-ink:#f3ead8;--book-dim:#f3ead89e;--book-line:#f3ead829;--book-glass:#120f0b9e;--book-gold:#d9a95b;z-index:1000;color:var(--book-ink);font-family:var(--font-sans);background:radial-gradient(70% 55% at 50% 55%,#3a2a1a 0%,#18120c 55%,#07060a 100%);position:fixed;inset:0;overflow:hidden}.book-stage:after{content:"";pointer-events:none;background:radial-gradient(circle,#0000 55%,#0000008c 100%);position:absolute;inset:0}.book-host{touch-action:none;cursor:pointer;position:absolute;inset:0}.book-canvas{width:100%;height:100%;display:block}.book-bar,.book-dock,.book-letters,.book-status,.book-hint{z-index:2;position:absolute}.book-bar{background:linear-gradient(#07060acc,#0000);align-items:center;gap:1rem;padding:.9rem 1.25rem;display:flex;top:0;left:0;right:0}.book-exit{border:1px solid var(--book-line);background:var(--book-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-height:2.25rem;color:var(--book-ink);font-size:var(--text-sm);border-radius:999px;align-items:center;gap:.35rem;padding:0 .85rem;text-decoration:none;display:inline-flex}.book-exit:hover{border-color:var(--book-gold);color:var(--book-gold)}.book-brand{white-space:nowrap;flex-direction:column;flex-shrink:0;line-height:1.15;display:flex}.book-brand span{color:var(--book-gold);letter-spacing:.16em;text-transform:uppercase;font-size:.6875rem}.book-brand strong{font-family:var(--font-serif);font-size:1.25rem;font-style:italic;font-weight:500}.book-tools{gap:.6rem;min-width:0;margin-left:auto;display:flex}.book-search{position:relative}.book-tools input,.book-tools select{border:1px solid var(--book-line);background:var(--book-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-height:2.25rem;color:var(--book-ink);font:inherit;font-size:var(--text-sm);border-radius:999px;padding:0 .85rem}.book-tools input{width:13rem}.book-tools input::placeholder{color:var(--book-dim)}.book-tools select option{color:#1a1813}.book-tools input:focus,.book-tools select:focus{border-color:var(--book-gold);outline:none;box-shadow:0 0 0 3px #d9a95b33}.book-suggest{border:1px solid var(--book-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#120f0bf0;border-radius:12px;margin:0;padding:.3rem;list-style:none;position:absolute;top:calc(100% + .4rem);left:0;right:0;box-shadow:0 18px 40px #00000080}.book-suggest button{width:100%;color:var(--book-ink);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;gap:.75rem;padding:.5rem .65rem;display:flex}.book-suggest button:hover,.book-suggest button:focus-visible{background:#d9a95b29}.book-suggest small{color:var(--book-dim);font-family:var(--font-mono)}.book-letters{border:1px solid var(--book-line);background:var(--book-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;flex-direction:column;gap:1px;padding:.35rem .2rem;display:flex;top:50%;right:.9rem;transform:translateY(-50%)}.book-letters button{width:1.6rem;height:1.3rem;color:var(--book-dim);font-family:var(--font-serif);cursor:pointer;background:0 0;border:0;border-radius:999px;font-size:.8125rem}.book-letters button:hover{color:var(--book-ink)}.book-letters button[aria-current=true]{background:var(--book-gold);color:#1a1813;font-weight:600}.book-dock{border:1px solid var(--book-line);background:var(--book-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;align-items:center;gap:.75rem;width:min(44rem,100% - 2rem);padding:.6rem .75rem;display:flex;bottom:1.1rem;left:50%;transform:translate(-50%);box-shadow:0 20px 50px #00000073}.book-turn{border:1px solid var(--book-line);width:2.75rem;height:2.75rem;color:var(--book-ink);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;font-size:1.6rem;line-height:1}.book-turn:hover:not(:disabled){border-color:var(--book-gold);color:var(--book-gold)}.book-turn:disabled{opacity:.3;cursor:default}.book-progress{flex:1;min-width:0}.book-progress input[type=range]{width:100%;accent-color:var(--book-gold)}.book-reading{font-size:var(--text-xs);flex-wrap:wrap;align-items:center;gap:.25rem .9rem;display:flex}.book-pageno{color:var(--book-dim);font-family:var(--font-mono)}.book-read{max-width:100%;color:var(--book-gold);text-overflow:ellipsis;white-space:nowrap;text-decoration:none;overflow:hidden}.book-read:hover{text-decoration:underline}.book-status,.book-hint{text-align:center;max-width:calc(100% - 2rem);margin:0;left:50%;transform:translate(-50%)}.book-status{font-family:var(--font-serif);font-size:var(--text-lg);font-style:italic;top:50%}.book-status a{color:var(--book-gold)}.book-hint{background:var(--book-glass);color:var(--book-dim);font-size:var(--text-xs);pointer-events:none;border-radius:999px;padding:.4rem .9rem;animation:6s forwards book-hint;bottom:7.5rem}@keyframes book-hint{0%,75%{opacity:1}to{opacity:0}}@media (max-width:720px){.book-bar{flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem}.book-brand span{display:none}.book-tools{width:100%}.book-search{flex:1;min-width:0}.book-tools input{width:100%}.book-tools select{max-width:9.5rem}.book-letters{scrollbar-width:none;flex-direction:row;padding:.25rem;top:6.6rem;left:1rem;right:1rem;overflow-x:auto;transform:none}.book-letters::-webkit-scrollbar{display:none}.book-letters button{flex-shrink:0;width:1.75rem;height:1.75rem;font-size:.875rem}.book-dock{gap:.5rem;padding:.5rem;bottom:.75rem}.book-turn{width:2.5rem;height:2.5rem}}@media (prefers-reduced-motion:reduce){.book-hint{animation:none}}.book-open{gap:.5rem;min-width:0;display:flex}.book-open__link{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-width:15rem;min-height:2.25rem;color:var(--book-gold);font-size:var(--text-sm);white-space:nowrap;background:#d9a95b24;border:1px solid #d9a95b8c;border-radius:999px;align-items:center;gap:.4rem;padding:0 .9rem;text-decoration:none;display:inline-flex}.book-open__link strong{min-width:0;color:var(--book-ink);text-overflow:ellipsis;font-weight:500;overflow:hidden}.book-open__link:hover{border-color:var(--book-gold);background:var(--book-gold);color:#1a1813}.book-open__link:hover strong{color:#1a1813}.book-open__label{flex-shrink:0}.book-reading .book-read,.book-hint--touch{display:none}@media (max-width:1180px){.book-open__label{display:none}.book-open__link{max-width:12rem}}@media (max-width:960px),(pointer:coarse){.book-open{display:none}.book-reading .book-read{display:inline}}@media (pointer:coarse){.book-hint--mouse{display:none}.book-hint--touch{display:inline}.book-host{cursor:default}}.book-reading .book-read--tm{display:inline}.book-sides{z-index:2;border:1px solid var(--book-line);background:var(--book-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;padding:3px;display:flex;position:absolute;bottom:6.6rem;left:50%;transform:translate(-50%)}.book-sides button{min-height:2.25rem;color:var(--book-dim);font:inherit;font-size:var(--text-xs);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:.4rem;padding:0 .9rem;font-weight:500;transition:background .2s,color .2s;display:inline-flex}.book-sides button[aria-pressed=true]{background:var(--book-gold);color:#1a1813}.book-host{cursor:default}@media (max-width:720px){.book-hint{bottom:10.2rem}}.book-sides svg{flex-shrink:0;width:16px;height:16px}
