.book-library,.book-reader{display:none;position:fixed;z-index:1000;inset:50% auto auto 50%;transform:translate(-50%,-50%)}
.book-library.is-open,.book-reader.is-open{display:block;animation:bookIn .25s ease-out}
.book-library{width:min(calc(100% - 24px),520px);max-height:min(82vh,760px);margin:0;padding:0;border:1px solid #9fe6ff55;border-radius:26px;background:#071329f7;color:#f7f9ff;box-shadow:0 0 0 100vmax #020611d4,0 28px 80px #000c;overflow:hidden}
.book-library:before,.book-reader:before{display:none!important;content:none!important}
@keyframes bookIn{from{opacity:0;transform:translateY(14px) scale(.97)}}
.book-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:12px;padding:20px 20px 16px;background:linear-gradient(180deg,#10234afa,#071329f2);border-bottom:1px solid #ffffff17}
.book-head-copy{min-width:0;flex:1}.book-head small{display:block;color:#83def8;font-size:9px;font-weight:900;letter-spacing:.18em}.book-head h2{margin:4px 0 0;font-size:23px;letter-spacing:-.04em}
.book-close,.book-back{width:38px;height:38px;flex:0 0 auto;border:1px solid #ffffff24;border-radius:50%;background:#ffffff0c;color:#fff;font-size:21px;cursor:pointer}.book-back{font-size:18px}
.book-list{display:grid;gap:12px;padding:18px 18px 24px;overflow:auto;max-height:calc(82vh - 76px)}
.book-card{width:100%;display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:13px;padding:14px;text-align:left;border:1px solid #9fe6ff2e;border-radius:18px;background:linear-gradient(135deg,#ffffff10,#7d8cff0c);color:#fff;cursor:pointer}
.book-card:hover,.book-card:focus-visible{border-color:#91e4ff99;background:#ffffff17;outline:none}.book-cover{width:48px;height:62px;display:grid;place-items:center;border-radius:7px 11px 11px 7px;background:linear-gradient(145deg,#78ddff,#6f74de 58%,#e5bd69);color:#071329;font-size:23px;box-shadow:inset 4px 0 #ffffff4d,0 8px 20px #0005}.book-card b{display:block;font-size:15px;line-height:1.35}.book-card small{display:block;margin-top:5px;color:#aebfd3;font-size:11px}.book-card>span:last-child{color:#8be5ff;font-size:22px}.book-empty{padding:34px 18px;text-align:center;color:#b7c7da;line-height:1.75}.book-empty b{display:block;margin-bottom:7px;color:#fff;font-size:17px}
.book-cover img{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}
.book-card.is-locked{opacity:.78}.book-card.is-locked:hover,.book-card.is-locked:focus-visible{border-color:#d7bd7c80;background:#ffffff12}.book-cover{position:relative}.book-lock{position:absolute;right:-5px;bottom:-5px;width:24px;height:24px;display:grid;place-items:center;border:2px solid #071329;border-radius:50%;background:#e6bd65;font-style:normal;font-size:12px}.book-card.is-locked>span:last-child{font-size:13px;filter:grayscale(1)}
.membership-notice{position:fixed;z-index:1200;inset:0;display:grid;place-items:center;padding:22px;background:#020611c7;backdrop-filter:blur(6px)}.membership-notice>div{width:min(100%,380px);padding:30px 24px 22px;border:1px solid #a9e6ff55;border-radius:24px;background:#101c35;color:#fff;text-align:center;box-shadow:0 24px 70px #000c}.membership-notice div>span{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 15px;border-radius:50%;background:#ffffff12;font-size:25px}.membership-notice h3{margin:0 0 15px;font-size:22px}.membership-notice p{margin:0;color:#f5f7fb;font-size:15px;line-height:1.7;word-break:keep-all}.membership-notice small{display:block;margin-top:9px;color:#aebdd0;font-size:12px}.membership-notice button{width:100%;height:48px;margin-top:23px;border:0;border-radius:14px;background:linear-gradient(135deg,#78ddff,#7d8cff);color:#071329;font-weight:900;cursor:pointer}
.book-reader{width:min(calc(100% - 18px),760px);height:min(90vh,900px);margin:0;padding:0;border:1px solid #9fe6ff55;border-radius:24px;background:#fff!important;color:#292929!important;box-shadow:0 0 0 100vmax #020611d4,0 28px 90px #000d;overflow:hidden}
.book-reader .book-head{background:#111d35;color:#fff}.book-reader-body{height:calc(90vh - 76px);max-height:824px;overflow:auto;padding:34px clamp(22px,7vw,68px) 64px;scroll-behavior:smooth;background:#fff!important;color:#292929!important}.book-reader-body h1{margin:0 0 10px;font-family:serif;font-size:clamp(25px,5vw,38px);line-height:1.25;letter-spacing:-.045em;color:#202124!important}.book-meta{margin:0 0 34px;padding-bottom:20px;border-bottom:1px solid #d8d8d8;color:#666!important;font-size:12px}.book-content{font-family:"Noto Serif KR",serif;font-size:16px;line-height:2;color:#303030!important;word-break:keep-all}.book-content p{margin:0 0 1.15em;white-space:pre-wrap;color:#303030!important}.book-content p:empty{min-height:.8em}.book-loading{text-align:center;color:#555!important;padding:40px 0}
.aurora .book-library,.pastel .book-library{background:#fbfafff8;color:#251f35}.aurora .book-head,.pastel .book-head{background:#f2effbf5;color:#251f35}.aurora .book-card,.pastel .book-card{color:#251f35;background:#fff}.aurora .book-close,.aurora .book-back,.pastel .book-close,.pastel .book-back{color:#251f35;border-color:#34275a26}
@media(max-width:480px){.book-library{max-height:88vh}.book-list{max-height:calc(88vh - 76px)}.book-reader{height:94vh}.book-reader-body{height:calc(94vh - 76px);padding-top:27px}}
.membership-notice small{margin-top:13px;color:#e6b84a;font-size:16px;font-weight:800;line-height:1.55;letter-spacing:-.02em;word-break:keep-all;text-shadow:0 1px 10px #e6b84a33}
