/* The cover opens into a full-size, navigable grimoire. */
[hidden]{display:none!important}
.dialog-actions{margin-top:24px}
.prologue .product-links .product-button{display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;justify-items:center;align-content:center}
.prologue .product-button>i,.prologue .product-button>span{display:block;grid-column:1;max-width:100%}
.prologue .product-button>i{grid-row:1}.prologue .product-button>span:not(.product-name-cn){grid-row:2}.prologue .product-button>.product-name-cn{grid-row:3}
.prologue .product-links{gap:24px;flex-wrap:wrap}
.prologue .product-links .product-button{position:relative;width:210px;min-height:105px;padding:14px 22px 17px;border:1px solid #7d91a96e;background:linear-gradient(115deg,#fffefb,#f4f3eb);box-shadow:inset 0 0 0 4px #fcfbf7,inset 0 0 0 5px #8296ac3b,0 5px 13px #52667a10;gap:5px;transition:transform .3s,box-shadow .3s,border-color .3s}
.product-button:before,.product-button:after{content:'';position:absolute;width:12px;height:12px;border:1px solid #a5213266;pointer-events:none}
.product-button:before{left:9px;top:9px;border-right:0;border-bottom:0}.product-button:after{right:9px;bottom:9px;border-left:0;border-top:0}
.product-button>i{font:12px Georgia,serif;font-style:normal;color:var(--red);line-height:1;margin-bottom:3px}.product-button>span{font-size:26px}.product-button>.product-name-cn{font-size:14px;letter-spacing:.16em}
.prologue .product-links .product-button:hover{background:linear-gradient(115deg,#fffefb,#f4f3eb);color:var(--red);border-color:#a5213288;box-shadow:inset 0 0 0 4px #fcfbf7,inset 0 0 0 5px #a5213238,0 9px 24px #52667a20;transform:translateY(-3px)}
.app.is-reading .page-area{display:none!important}.app.is-reading .world{opacity:.09;transition:opacity .5s}.app.is-reading #magic{opacity:.2}.app.book-opening .summon-wolf,.app.book-opening .summon-ribbons{opacity:0!important;transition:opacity .4s}.app.book-opening .book-half{animation:none!important;transform:none!important}.app.book-opening .world{z-index:8}.app.book-opening .book-spread{opacity:1!important}.app.book-opening .prologue{opacity:0;transition:opacity .3s}
.reader{position:relative;z-index:7;display:grid;grid-template-columns:185px minmax(0,1fr);height:100%;width:calc(100% - 9%);max-width:1220px;margin:0 auto 10px;min-height:0;border:1px solid #8194ab88;background:linear-gradient(90deg,#f2f0e8 0,#fcfbf7 185px,#fffefb 52%,#f8f7f0);box-shadow:inset 0 0 0 5px #fcfbf7,inset 0 0 0 6px #889bb342,0 18px 50px #3c536622;perspective:1800px}
.reader:after{content:'';position:absolute;inset:10px;border:1px solid #8496aa2b;pointer-events:none}.chapter-sidebar{position:relative;display:flex;flex-direction:column;padding:35px 15px 25px 22px;border-right:3px double #8194ab55;min-width:0;background:linear-gradient(90deg,transparent 90%,#52667a0d)}
.sidebar-heading{display:flex;align-items:center;flex-direction:column;margin:0 0 30px}.sidebar-heading>span{color:var(--red);font-size:17px}.sidebar-heading strong{font:600 30px 'Cormorant Garamond',serif;color:#516780}.sidebar-heading small{font-size:12px;letter-spacing:.2em;color:#8190a0}
.chapter-nav{display:flex;flex-direction:column;gap:10px;width:100%}.chapter-nav button{position:relative;display:flex;align-items:center;gap:12px;border:1px solid transparent;border-bottom-color:#8296ac33;background:transparent;text-align:left;min-height:71px;padding:12px 8px;color:#60788f}
.chapter-nav button>small{font:13px Georgia,serif;color:#a5213280}.chapter-nav button>span{font:600 22px/1.1 'Cormorant Garamond',serif}.chapter-nav em{display:block;font:500 13px/1.6 'Noto Serif SC',serif;font-style:normal;letter-spacing:.08em;margin-top:5px}.chapter-nav button[aria-current=page]{border-color:#a5213244;color:var(--red);background:#fffefb;box-shadow:3px 3px 0 #8296ac14}.chapter-nav button[aria-current=page]:after{content:'◆';position:absolute;right:-6px;top:calc(50% - 6px);font-size:9px;color:var(--red)}
.return-cover{display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #8296ac66;background:#fcfbf780;color:#586f86;font-size:14px;min-height:44px;margin-top:32px;padding:8px}.return-cover span{font:24px/1 Georgia,serif}.return-cover:hover,.chapter-nav button:hover{color:var(--red)}.sidebar-note{font:9px Georgia,serif;letter-spacing:.12em;color:#93a0ad;margin-top:auto;padding-top:22px;text-align:center}
.chapter-scroll{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8b9eae55 transparent;padding:30px clamp(22px,3.5vw,55px) 20px}.book-chapter{min-height:100%;display:flex;flex-direction:column;outline:none;animation:none}.chapter-label{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #8296ac40;color:#8292a4;font:11px/1.5 Georgia,serif;letter-spacing:.16em;margin:0 0 20px;padding-bottom:12px}.chapter-label span{font:12px 'Noto Serif SC',serif;letter-spacing:.12em;color:var(--red)}
.product-spread{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,.8fr);gap:30px;align-items:center;flex:1}.product-copy{min-width:0}.product-logo{display:block;width:min(270px,100%);height:125px;object-fit:contain;margin:0 0 15px -15px}.chapter-kicker{font:10px Georgia,serif;letter-spacing:.19em;color:#758da6;margin:0 0 12px}.book-chapter h2{font:600 clamp(44px,4.6vw,70px)/1.05 'Cormorant Garamond',serif;letter-spacing:-.025em;color:#2f3e4e;margin:0}.chapter-rule{display:flex;gap:12px;align-items:center;width:130px;font-size:10px;color:var(--red);margin:23px 0}.chapter-rule:before,.chapter-rule:after{content:'';flex:1;height:1px;background:#8296ac40}.chapter-description{font-size:16px;line-height:1.95;color:#607488;margin:0 0 26px}.chapter-actions{display:flex;gap:12px;flex-wrap:wrap}.chapter-action{min-height:44px;padding:10px 18px;border:1px solid #7e93aa88;background:transparent;color:#526c85;font:14px/1.6 'Noto Serif SC',serif;cursor:pointer}.chapter-action:hover{border-color:var(--red);color:var(--red)}.chapter-action.primary-action{background:#38526b;border-color:#38526b;color:#fff}.chapter-action.primary-action:hover{background:var(--red);border-color:var(--red)}.chapter-note{font-size:12px;color:#92a0ae;margin-top:24px}.product-shot{margin:0;justify-self:center;text-align:center;width:100%;max-width:270px}.product-shot img{display:block;width:100%;height:auto;max-height:51svh;object-fit:contain;filter:drop-shadow(3px 9px 12px #3a52652b)}.product-shot figcaption{font-size:12px;color:#8b9cac;margin:13px 0}.folio{display:flex;justify-content:space-between;border-top:1px solid #8296ac33;padding-top:12px;margin-top:22px;color:#94a0ae;font:italic 13px 'Cormorant Garamond',serif}.folio>span{font-style:normal;color:var(--red)}
.about-spread{flex:1;display:grid;grid-template-columns:minmax(140px,.8fr) minmax(0,1fr);gap:40px;align-items:center;padding:30px 0}.portrait{position:relative;width:100%;max-width:270px;aspect-ratio:1;justify-self:center;border-radius:50%;border:3px double #8499af;padding:8px;box-shadow:0 0 0 7px #fcfbf7,0 0 0 8px #8499af33}.portrait img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}.portrait>span{position:absolute;bottom:-16px;left:calc(50% - 13px);background:#fcfbf7;color:var(--red);padding:0 6px;font-size:23px}.about-copy>p:not(.chapter-kicker):not(.keeper-name):not(.about-signature){font-size:16px;line-height:2;color:#64768a}.keeper-name{font:500 34px 'Cormorant Garamond',serif;color:#a52132;margin:14px 0}.keeper-name span{font-size:22px;color:#8799ab}.about-signature{font:italic 23px 'Cormorant Garamond',serif;color:#8598ad;margin-top:28px}
.turning-leaf{position:absolute;inset:7px 7px 7px 185px;z-index:9;background:linear-gradient(100deg,#eeece1,#fffef9 20%,#f6f4eb);box-shadow:-10px 0 26px #3c536633;border:1px solid #9badba55;transform-origin:left center;backface-visibility:hidden;pointer-events:none;opacity:0;display:grid;place-items:center}.turning-leaf:before{content:'';position:absolute;inset:18px;border:1px solid #8296ac44}.turning-leaf>span{font-size:40px;color:#a5213255}
dialog{width:min(620px,calc(100vw - 32px));max-height:calc(100svh - 36px);overflow:auto;padding:26px;border:1px solid #879baf;background:#fcfbf7;color:#2f3e4e;box-shadow:inset 0 0 0 5px #fcfbf7,inset 0 0 0 6px #879baf33,0 20px 70px #2633424d}dialog::backdrop{background:#26334288;backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid #879baf44;padding-bottom:15px}.dialog-heading h2{font:600 30px 'Cormorant Garamond','Noto Serif SC',serif;margin:0;letter-spacing:0}.dialog-close{width:44px;height:44px;flex:0 0 44px;border:1px solid #879baf66;background:transparent;color:#657d95;font:26px Georgia,serif}.dialog-close:hover{color:var(--red)}dialog>p{font-size:14px;color:#6d8195}.download-link{font-size:16px;overflow-wrap:anywhere;color:#426988;text-decoration:underline}.download-code{font:600 22px Georgia,serif;color:var(--red);letter-spacing:.1em}.payment-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}.payment-grid figure{margin:0;background:#fff;border:1px solid #879baf33;padding:8px;text-align:center}.payment-grid img{width:100%;height:310px;object-fit:contain;display:block}.payment-grid figcaption{font-size:14px;color:#657d95;padding:8px 0 0}
@media(max-width:1000px) and (min-width:761px){.reader{grid-template-columns:155px minmax(0,1fr);width:92%}.chapter-sidebar{padding:25px 12px}.chapter-nav button{gap:7px}.chapter-nav button>span{font-size:20px}.turning-leaf{left:155px}.product-spread{gap:18px;grid-template-columns:minmax(0,1fr) minmax(140px,.65fr)}.chapter-scroll{padding:25px}.about-spread{gap:28px}}
@media(max-width:760px){.prologue .product-links{gap:14px;flex-wrap:nowrap}.prologue .product-links .product-button{width:160px;max-width:47%;min-height:99px;padding:12px 10px}.product-button>span{font-size:23px}.product-button>.product-name-cn{font-size:13px}.reader{grid-template-columns:92px minmax(0,1fr);width:calc(100% - 28px);margin-bottom:5px}.chapter-sidebar{padding:20px 8px 18px}.sidebar-heading{margin-bottom:19px}.sidebar-heading strong{font-size:20px}.sidebar-heading small{font-size:10px;letter-spacing:.08em}.chapter-nav{gap:10px}.chapter-nav button{flex-direction:column;gap:6px;min-height:80px;padding:10px 3px;text-align:center}.chapter-nav button>span{font-size:16px}.chapter-nav button>small{font-size:10px}.chapter-nav em{font-size:11px;letter-spacing:0}.chapter-nav button[aria-current=page]:after{right:-5px}.return-cover{font-size:12px;line-height:1.5;gap:3px;padding:8px 2px;flex-wrap:wrap;margin-top:22px}.sidebar-note{display:none}.chapter-scroll{padding:22px 18px 18px}.chapter-label{font-size:9px;letter-spacing:.04em;gap:5px;flex-wrap:wrap}.chapter-label span{font-size:11px}.product-spread{grid-template-columns:minmax(0,1fr);gap:26px}.product-logo{width:100%;height:95px;margin:0 0 10px}.chapter-kicker{font-size:9px;letter-spacing:.08em}.book-chapter h2{font-size:38px;overflow-wrap:anywhere}.chapter-description{font-size:15px;line-height:1.9}.chapter-actions{gap:9px}.chapter-action{padding:9px 13px;font-size:14px}.chapter-note{font-size:12px}.product-shot{max-width:250px}.product-shot img{max-height:none}.turning-leaf{left:92px}.about-spread{grid-template-columns:minmax(0,1fr);gap:35px;padding:12px 0}.portrait{width:85%;max-width:180px}.about-copy>p:not(.chapter-kicker):not(.keeper-name):not(.about-signature){font-size:15px}.about-signature{font-size:22px}dialog{padding:20px}.payment-grid{grid-template-columns:1fr}.payment-grid figure{width:100%;max-width:300px;margin:auto}.payment-grid img{height:auto;max-height:65svh}}
@media(max-width:360px){.reader{grid-template-columns:78px minmax(0,1fr);width:calc(100% - 20px)}.chapter-sidebar{padding-inline:5px}.chapter-nav button>span{font-size:14px}.chapter-scroll{padding-inline:13px}.turning-leaf{left:78px}.book-chapter h2{font-size:31px}.prologue .product-links{gap:10px}.prologue .product-links .product-button{min-height:93px}.product-button>span{font-size:21px}}
@media(prefers-reduced-motion:reduce){.app.book-opening .prologue{transition:none}.product-button{transition:none!important}}
.turning-leaf{backface-visibility:visible;transform-style:preserve-3d;background:linear-gradient(100deg,#e2decf,#fffef9 18%,#f6f4eb 85%,#dfdacb);box-shadow:12px 4px 32px #3c536640}
.turning-leaf:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#46546822,transparent 22%,transparent 78%,#46546815);pointer-events:none}
@media(max-width:760px){.chapter-nav button>span{font-size:14px;max-width:100%;overflow-wrap:anywhere}.chapter-nav em{font-size:11px}.app.is-reading .margin-note,.app.is-reading .scene-caption{display:none}}
