:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#f4efff;background:#0e0b17;color-scheme:dark}*{box-sizing:border-box}body{margin:0}header{height:70px;display:flex;align-items:center;gap:32px;padding:0 26px;background:#151021;border-bottom:1px solid #332542;position:sticky;top:0;z-index:3}.logo{font-size:23px;font-weight:850;white-space:nowrap;color:#a979ff}.logo span{color:#fff}nav{display:flex;gap:12px}button,.button{background:#281d39;border:1px solid #493360;color:#eee6ff;border-radius:9px;padding:10px 14px;cursor:pointer;font:inherit}button:hover,.button:hover{background:#44305f}.primary{background:linear-gradient(125deg,#7330bd,#9b43ee);border-color:#a15af5}.primary:hover{filter:brightness(1.15)}button.active{background:#66349c}input,select,textarea{background:#181223;color:#fff;border:1px solid #4b3861;border-radius:9px;padding:11px;width:100%;font:inherit}textarea{min-height:100px}input[type=file]{padding:7px}.layout{display:flex;min-height:calc(100vh - 70px)}aside{width:205px;flex-shrink:0;padding:24px 14px;background:#120e1d;border-right:1px solid #30243d;display:flex;flex-direction:column;gap:9px}aside button{text-align:left;background:transparent;border:0}.sideTitle{font-size:12px;color:#9585ac;padding:10px}.sideFoot{margin-top:auto;color:#7c6c8e;font-size:12px;line-height:1.8;padding:10px}main{padding:30px;max-width:1250px;width:100%;margin:auto}h1{font-size:30px;margin:0 0 10px}h2{font-size:21px;margin:0 0 14px}h3{margin:0 0 10px}p,.muted{color:#ad9fbe;line-height:1.6}.hero{background:radial-gradient(circle at 80% 30%,#55257e 0%,#24152f 44%,#171020 100%);border:1px solid #5b3378;border-radius:20px;padding:34px;margin-bottom:25px}.hero h1{font-size:38px}.hero p{max-width:620px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.card,.panel{background:#1a1427;border:1px solid #38294b;border-radius:15px;padding:19px}.card{cursor:pointer}.card:hover{border-color:#9a54e8}.cover{height:160px;background:linear-gradient(145deg,#3a205a,#120e20 70%);border-radius:11px;display:grid;place-items:center;font-size:60px;margin-bottom:13px;color:#a779ea}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.stack{display:grid;gap:16px}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px}.stat{background:#251935;border-radius:12px;padding:16px}.stat strong{display:block;font-size:24px;color:#c18cff;margin-bottom:6px}.tag{display:inline-block;padding:5px 10px;background:#37244c;border-radius:20px;color:#d4b7ff;font-size:12px}.chapter{display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid #30243e;padding:10px 0}.chapter:last-child{border:0}.reader{background:#191423;border:1px solid #372a4a;border-radius:12px;padding:25px;font-size:19px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.player{position:sticky;bottom:12px;background:#251934;border:1px solid #7043a4;padding:16px;border-radius:16px;box-shadow:0 8px 40px #0008}audio{width:100%;margin-top:10px}label{display:grid;gap:7px;color:#bda9d4;font-size:14px}.form{max-width:440px;display:grid;gap:15px}.notice{background:#292038;padding:13px;border-radius:10px;color:#cdb9e5}.danger{color:#ffb2c4}#toast{position:fixed;right:18px;bottom:20px;background:#5a2b86;padding:13px 20px;border-radius:10px;display:none;z-index:10}.hidden{display:none!important}.small{font-size:13px}.spacer{height:12px}a{color:#c28fff}progress{accent-color:#a05bf0;width:100%}@media(max-width:750px){header{padding:10px;gap:10px;height:auto;flex-wrap:wrap}.logo{font-size:19px}nav{order:3;width:100%;justify-content:space-around}nav button{padding:8px}aside{display:none}main{padding:16px}.hero{padding:22px}.hero h1{font-size:29px}.two{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:12px}.cover{height:115px}.chapter{align-items:flex-start}}
/* RanoVoicee v0.2 visual refresh */
:root{font-family:Inter,'Segoe UI Variable',Segoe UI,sans-serif;background:#0b0912;color:#f5f0ff;--purple:#a16bff;--line:#30263e}html{scroll-behavior:smooth}body{background:radial-gradient(ellipse at 75% -15%,#241335 0%,transparent 47%),#0b0912;min-height:100vh}header{height:76px;background:#100c1aeF;backdrop-filter:blur(20px);border-color:#2b2039;padding:0 36px;gap:40px}.logo{font-size:22px;color:#f4ebff;letter-spacing:-.8px}.logo span{color:#ba8bff}.logo-icon{color:#a16bff!important;font-size:28px;vertical-align:-2px}nav{gap:7px}nav button{background:transparent;border-color:transparent;color:#bcb0cc;padding:12px 17px}nav button:hover{background:#241833;border-color:#342545;color:white}button.active{background:#2e1b47!important;color:#d7baff!important;border-color:#573677!important}#account{margin-left:auto}#account button{font-size:13px;background:#1b1329}aside{width:230px;padding:30px 18px;background:#100c19dd;border-color:#2b2039;gap:8px}aside button{padding:13px 17px;color:#c2b7d1;border-radius:12px;font-size:14px}aside button:hover{background:#241833;color:white}.sideTitle{letter-spacing:2px;font-size:10px;color:#786a91;margin-bottom:8px}.sideFoot{opacity:.7}main{max-width:1490px;padding:44px 55px 90px;align-self:flex-start;min-height:calc(100vh - 76px)}h1,h2,h3{letter-spacing:-.035em}h1{font-size:clamp(30px,3.1vw,46px)}h2{font-size:25px}.accent{color:#b88aff}.eyebrow{font-size:10px;letter-spacing:2.3px;color:#a78aca;font-weight:800;margin-bottom:14px}.pulse-dot{display:inline-block;background:#a16bff;width:6px;height:6px;border-radius:50%;margin-left:8px;box-shadow:0 0 12px #b67bff;animation:pulse 2s infinite}.hero.cinematic{min-height:400px;position:relative;overflow:hidden;padding:56px 58px;background:linear-gradient(105deg,#21142f 0%,#1a1028 54%,#251438 100%);border:1px solid #51336b;border-radius:24px;box-shadow:0 25px 75px #0005;isolation:isolate}.hero-copy{position:relative;z-index:2;max-width:680px}.hero h1{font-size:clamp(40px,4.3vw,64px);line-height:1.09;letter-spacing:-.06em;margin:22px 0}.hero h1 em{font-style:normal;color:#bd91ff}.hero p{font-size:15px;max-width:500px;color:#bfb0d2;line-height:1.85}.hero-button{padding:15px 21px}.hero-meta{display:flex;gap:22px;margin-top:40px;color:#9b87b5;font-size:12px}.hero-art{position:absolute;inset:0 0 0 47%;z-index:1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 60% 50%,#6c2aa94a,transparent 60%)}.orb{position:absolute;border-radius:50%;filter:blur(45px)}.orb-one{width:250px;height:250px;right:0;top:10%;background:#8431b955}.orb-two{width:200px;height:200px;left:10%;bottom:-100px;background:#b02de044}.moon{position:absolute;width:260px;height:260px;border-radius:50%;border:2px solid #c89aff;box-shadow:0 0 30px #a64bff, inset 0 0 45px #8540b3,0 0 100px #8439b855;top:17%;right:13%;background:radial-gradient(circle at 25% 25%,#8754ad,#241331 68%);animation:float 8s ease-in-out infinite}.hero-glyph{position:absolute;top:28%;right:30%;font-size:120px;color:#e7ccff;text-shadow:0 0 40px #ba6fff;animation:float 6s ease-in-out infinite}.section-heading{display:flex;align-items:end;justify-content:space-between;margin:42px 0 20px;gap:15px}.section-heading h2{margin:0}.quiet{background:transparent;border:0;color:#b996ed}.grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:22px}.novel-card{padding:0;overflow:hidden;background:#181222;border:1px solid #31253f;border-radius:18px;transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s,border-color .28s;animation:rise .5s both}.novel-card:hover{transform:translateY(-8px);border-color:#8e5bc7;box-shadow:0 18px 40px #0008,0 0 25px #7037a32b}.cover{position:relative;height:240px;margin:0;border-radius:0;overflow:hidden;background:radial-gradient(circle at 72% 28%,#7b36b0,#29163d 40%,#100d19 90%)}.cover:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 19px,#ffffff05 20px 21px);transform:scale(1.2);transition:transform .5s}.novel-card:hover .cover:before{transform:scale(1.5) rotate(5deg)}.cover-shadow{background:radial-gradient(circle at 65% 20%,#9964e0,#32204d 40%,#0c101c 90%)}.cover-magus{background:radial-gradient(circle at 40% 20%,#c4498b,#49234f 42%,#160e21 90%)}.cover-worm{background:radial-gradient(circle at 50% 30%,#718196,#293041 45%,#11111b 90%)}.cover-symbol{font-size:92px;text-shadow:0 0 50px #d3aaff;opacity:.8;transition:transform .4s}.novel-card:hover .cover-symbol{transform:scale(1.13) rotate(12deg)}.cover-chip{position:absolute;bottom:13px;left:13px;font-size:11px;padding:7px 10px;background:#100d1bce;border:1px solid #9b7cbb77;border-radius:20px}.card-body{padding:19px}.card-body h3{font-size:17px;margin:0 0 9px}.card-body p{font-size:12px;margin:0 0 17px}.card-action{display:flex;justify-content:space-between;color:#bd93f7;font-size:12px;font-weight:700}.feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}.feature{display:flex;align-items:center;gap:16px;background:#17111f;border:1px solid #30223e;border-radius:16px;padding:20px}.feature>span{font-size:26px;color:#a16bff}.feature b{font-size:14px}.feature p{font-size:12px;margin:5px 0 0}.page-intro{margin-bottom:25px}.search-wrap{display:flex;align-items:center;gap:10px;border:1px solid #47345b;background:#1a1327;border-radius:14px;padding:0 18px;max-width:600px}.search-wrap span{font-size:25px;color:#a16bff}.search-wrap input{border:0;background:transparent;outline:none}.count-pill{font-size:13px;background:#302041;border-radius:30px;padding:5px 11px;color:#bda2dd}.panel{background:#191222;border-color:#372a48;border-radius:17px}.tag{background:#49305f88;color:#e0bfff;border:1px solid #74499855}button{transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}button:hover{transform:translateY(-1px)}button:active{transform:scale(.98)}button:focus-visible,input:focus-visible,.card:focus-visible{outline:2px solid #b787ff;outline-offset:3px}@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-13px)}}@keyframes pulse{50%{opacity:.35;box-shadow:0 0 0 #a16bff}}@media(max-width:1050px){main{padding:30px 25px}.hero.cinematic{padding:40px}.hero-art{opacity:.55}.feature-row{grid-template-columns:1fr}}@media(max-width:750px){header{padding:12px 16px;gap:10px}header nav{overflow-x:auto;justify-content:flex-start}header nav button{white-space:nowrap}main{padding:24px 16px 70px}.hero.cinematic{padding:30px 22px;min-height:420px}.hero h1{font-size:39px}.hero-art{inset:0;opacity:.24}.hero-meta{flex-wrap:wrap;gap:9px}.grid{gap:12px}.cover{height:190px}.card-body{padding:12px}.card-body h3{font-size:14px}.feature-row{grid-template-columns:1fr}.section-heading{margin-top:30px}.logo{font-size:20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* v0.3 AnimeOn-inspired layout, original RanoVoicee red theme */
:root{--red:#e33443;--line:#2a2229;--purple:#e33443;background:#09090b;color:#f7f5f7}
body{background:#09090b;color:#f7f5f7}
header{background:#0e0d10f5;border-bottom:1px solid #272027;height:70px;gap:23px;padding:0 32px}
.logo{color:#fff}.logo span,.logo-icon,.accent{color:#f04b5c!important}
nav button{color:#bcb6bc}nav button:hover{background:#201519;border-color:#42252c}
button.active{background:#421b27!important;color:#ffb4bd!important;border-color:#702b3b!important}
button,.button{background:#1d1a20;border-color:#302730;color:#eee9ed}
button:hover,.button:hover{background:#332028}
.primary{background:linear-gradient(120deg,#a81830,#e33443);border-color:#e34b5b;color:white}
input,select,textarea{background:#1b1a1e;border-color:#332b32}
input:focus,select:focus{border-color:#d73a4a;outline:1px solid #d73a4a}
.top-search{margin-left:auto;width:min(28vw,420px);background:#1b1a1e;border:1px solid #29242b;border-radius:12px;padding:12px 15px;color:#817a84;font-size:13px;cursor:pointer}.top-search span{float:right;border:1px solid #403842;border-radius:5px;padding:1px 5px;font-size:10px}
#account{margin-left:0}#account button{background:#1d1a20}
aside{background:#0e0d10;border-right:1px solid #211c22;width:190px}aside button:hover{background:#25181e}.sideTitle{color:#a27a83}
main{max-width:1750px;padding:34px 46px 90px}
.hero.cinematic{background:linear-gradient(105deg,#271016,#160d11 60%,#350e1c);border-color:#55212e;min-height:345px}.hero h1 em{color:#ff6674}.hero-art{background:radial-gradient(ellipse at 60% 50%,#a72a3d4a,transparent 65%)}.moon{border-color:#ff6674;background:radial-gradient(circle at 25% 25%,#a83949,#32101d 68%);box-shadow:0 0 30px #d82b4d,inset 0 0 40px #9e283c}.hero-glyph{color:#ffb8c2;text-shadow:0 0 35px #f04b5c}
.eyebrow,.quiet,.card-action{color:#f16c7c}.tag{background:#4d1c2b77;border-color:#742b3c66;color:#ffbec6}
.panel,.feature{background:#131216;border-color:#2e252c}.stat{background:#25171e}.stat strong{color:#ff7787}.reader{background:#151115;border-color:#432631}.player{background:#21151a;border-color:#a63246}.chapter{border-color:#33262d}#toast{background:#842238}
.grid.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:22px}
.novel-card{background:transparent;border:0;border-radius:12px;box-shadow:none!important;overflow:visible}
.novel-card:hover{border:0;transform:translateY(-5px)}
.cover{height:auto;aspect-ratio:2/3;border-radius:12px;overflow:hidden;background:#1e151c;border:1px solid #342630;box-shadow:0 5px 25px #0006;display:block}
.cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.novel-card:hover .cover img{transform:scale(1.05)}
.cover-fallback{height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:15px;text-align:center;background:radial-gradient(circle at 40% 25%,#8b293d,#301721 45%,#100d12 90%)}
.cover-shadow .cover-fallback{background:radial-gradient(circle at 50% 20%,#9c334a,#2b1926 48%,#0b0c13)}
.cover-magus .cover-fallback{background:radial-gradient(circle at 30% 25%,#b14a36,#43202a 45%,#120c11)}
.cover-worm .cover-fallback{background:radial-gradient(circle at 30% 20%,#64666d,#25252c 45%,#101014)}
.cover-rune{font-size:62px;color:#ffb2bd;text-shadow:0 0 30px #e52d4f}
.cover-book-title{font-weight:900;font-size:clamp(13px,1.3vw,21px);line-height:1.2;color:#fff;text-shadow:0 2px 10px #000}
.cover-fallback small{font-size:9px;letter-spacing:2px;color:#e3b0bb}
.cover-chip{top:9px;left:9px;bottom:auto;background:#0c0b0dd9;border-color:#62323c;color:#ffe2e6;font-size:10px}
.card-body{padding:10px 2px}.card-body h3{font-size:14px;margin:0 0 6px}.card-body p{font-size:11px;color:#98909a;margin:0}
.catalog-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:0 0 27px}.catalog-head h1{font-size:39px;margin:20px 0 0}.breadcrumbs{font-size:12px;color:#938a95}.breadcrumbs b{color:#f1e7ee}
.catalog-layout{display:grid;grid-template-columns:285px minmax(0,1fr);gap:28px;align-items:start}
.filter-panel{background:#101013;border:1px solid #252128;border-radius:17px;padding:20px;display:grid;gap:18px;position:sticky;top:90px}
.filter-title{display:flex;align-items:center;justify-content:space-between;font-size:19px;font-weight:800}.filter-title .quiet{font-size:11px;padding:5px}
.filter-panel label{font-size:11px;letter-spacing:1.5px;color:#a49aa5;font-weight:700}.filter-panel input,.filter-panel select{letter-spacing:0;font-size:13px;margin-top:7px}
.filter-divider{height:1px;background:#29232b}.filter-label{font-size:11px;letter-spacing:1.5px;color:#a49aa5;font-weight:700}.filter-chips{display:flex;flex-wrap:wrap;gap:7px}.filter-chips button{font-size:12px;padding:9px 11px;border-radius:30px}.filter-chips button.active{background:#792338!important;color:#fff!important;border-color:#bd4054!important}.filter-hint{color:#817780;font-size:12px;line-height:1.6}
.results-top{display:flex;align-items:center;justify-content:space-between;margin:0 0 18px;font-size:14px}.results-top span{font-size:12px}
.novel-card:focus-visible{outline:2px solid #e33443}.cover:before{display:none}button:focus-visible,input:focus-visible,.card:focus-visible{outline-color:#e33443}
@media(max-width:1100px){.catalog-layout{grid-template-columns:230px minmax(0,1fr)}.grid.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}.top-search{display:none}}
@media(max-width:750px){header{height:auto}.catalog-layout{grid-template-columns:1fr}.filter-panel{position:static}.catalog-head h1{font-size:30px}.grid.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cover{aspect-ratio:2/3}main{padding:22px 15px 65px}.catalog-head{align-items:start}.catalog-head>.muted{font-size:11px}}
/* v0.4: richer search, profile and user menus */
:root{--accent:#ed4055;--panel:#111014;--stroke:#30252b}body{background:radial-gradient(ellipse at 70% -15%,#3c121a55,transparent 40%),#09090b}header{z-index:30}.top-search{display:flex;align-items:center;gap:12px;margin-left:auto;width:min(32vw,510px);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#a9a0a7;background:#1a181c;padding:11px 16px}.top-search .search-symbol{font-size:24px;color:#f26b7b;line-height:18px}.top-search kbd{margin-left:auto;color:#aaa;background:#272228;border:1px solid #41343b;padding:4px 7px;border-radius:6px;font-size:11px}#account{display:flex;align-items:center;gap:9px}#account .icon-action{position:relative;border-radius:12px;padding:11px 13px;font-size:20px}.notification-dot{position:absolute;width:7px;height:7px;background:#f04459;border-radius:50%;right:8px;top:8px}.user-trigger{display:flex;align-items:center;gap:10px;border-radius:14px!important;padding:5px 10px 5px 5px!important}.user-avatar,.profile-avatar{display:grid;place-items:center;border-radius:50%;font-weight:900;color:#fff;background:linear-gradient(140deg,#9f223b,#f34a60 50%,#33111e);border:2px solid #ef7080}.user-avatar{width:34px;height:34px}.user-avatar.big{width:50px;height:50px}.chevron{color:#b8aab0}.floating-pop{position:fixed;z-index:60;right:25px;top:74px;width:330px;max-width:calc(100vw - 25px);background:#111014;border:1px solid #40303a;border-radius:20px;box-shadow:0 30px 90px #000c;overflow:hidden;animation:pageIn .18s ease both}.account-pop{padding:13px}.pop-user{display:flex;align-items:center;gap:12px;padding:10px}.pop-user small,.pop-quick span{display:block;color:#958a93;font-size:11px;margin-top:4px}.pop-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.pop-quick div{text-align:center;background:#1e1920;border:1px solid #322832;border-radius:12px;padding:11px 4px}.pop-quick b{color:#ff7182}.account-pop>button{width:100%;border:0;background:transparent;text-align:left;padding:13px;border-radius:10px}.account-pop>button:hover,.profile-side-panel button:hover{background:#281a20}.account-pop>button span{float:right;color:#c3a3ad}.pop-divider{border-top:1px solid #33272f;margin:10px 0}.notifications-pop{padding:16px}.pop-heading{display:flex;justify-content:space-between;align-items:center}.notice-item{display:flex;gap:11px;padding:13px 3px;border-bottom:1px solid #2a2329}.notice-icon,.activity-icon{display:grid;place-items:center;width:37px;height:37px;flex-shrink:0;border-radius:11px;color:#ff8897;background:#3b2029}.notice-item b,.activity-line b{display:block;font-size:13px}.notice-item small,.activity-line small{display:block;color:#968d97;font-size:12px;margin-top:6px}.empty-pop{padding:35px 12px;text-align:center;color:#9b9098}.pop-disclaimer{display:block;color:#8f858e;margin-top:12px;font-size:11px;line-height:1.5}.search-overlay[hidden]{display:none}.search-overlay{position:fixed;inset:0;z-index:100;background:#030205c9;backdrop-filter:blur(11px);display:flex;justify-content:center;align-items:flex-start;padding:clamp(55px,9vh,100px) 16px 30px}.modal-open{overflow:hidden}.search-dialog{width:min(780px,100%);background:#101014;border:1px solid #5b2936;border-radius:22px;box-shadow:0 35px 110px #000f,0 0 70px #b52c3a18;overflow:hidden;animation:pageIn .22s both}.search-input-bar{display:flex;align-items:center;gap:13px;padding:16px 20px;background:#18131a;border-bottom:1px solid #382530}.search-input-bar>span{font-size:30px;color:#f15c6f}.search-input-bar input{flex:1;background:transparent;border:0!important;outline:0!important;font-size:18px;padding:10px 0;min-width:0}.search-input-bar button{font-size:11px;padding:7px 9px}.search-types{display:flex;gap:9px;padding:15px 20px;border-bottom:1px solid #282329}.search-types button{font-size:12px;border-radius:11px}.search-types button.selected{background:#822438;border-color:#e34860;color:white}.search-results-heading{display:flex;align-items:center;justify-content:space-between;padding:18px 24px 8px;font-size:12px;letter-spacing:1px;color:#e6b2bc}.search-results-heading small{color:#8b818a;letter-spacing:0}.search-results{max-height:min(53vh,540px);overflow-y:auto;padding:7px 14px 16px;scrollbar-color:#61303d transparent}.search-result{display:flex;width:100%;gap:16px;align-items:center;text-align:left;background:transparent;border:1px solid transparent;padding:11px 12px;border-radius:14px}.search-result:hover,.search-result.keyboard-active{background:#251920;border-color:#55303c;transform:none}.search-thumb{width:61px;height:82px;flex-shrink:0;display:grid;place-items:center;border-radius:10px;background:linear-gradient(140deg,#6e2639,#20141d);font-size:31px;color:#ffa8b6;overflow:hidden}.search-thumb img{width:100%;height:100%;object-fit:cover}.search-result-copy{flex:1;min-width:0}.search-result-copy b{display:block;color:#fff;font-size:15px}.search-result-copy small{display:block;margin:6px 0 8px;color:#a79ca4}.search-badges{display:flex;gap:6px}.search-badges i{font-size:10px;font-style:normal;color:#ffc1c9;background:#48212c;padding:4px 8px;border-radius:20px}.search-arrow{font-size:19px;color:#9f7b87}.search-empty{text-align:center;color:#aa9ca6;padding:60px 15px}.search-footer{display:flex;gap:24px;justify-content:center;border-top:1px solid #30232a;padding:14px;color:#91838d;font-size:11px}.search-footer kbd{padding:4px 7px;background:#282329;border-radius:6px;color:#d6c5cc}.profile-banner{height:190px;border:1px solid #6c293a;border-radius:22px;background:radial-gradient(ellipse at 75% 30%,#bc2e5366,transparent 45%),linear-gradient(115deg,#230e18,#5c1a32 48%,#1c1019);overflow:hidden;position:relative}.profile-banner-pattern{position:absolute;inset:0;background:repeating-linear-gradient(130deg,transparent 0 32px,#ffffff06 33px 34px)}.profile-identity{display:flex;align-items:center;gap:22px;margin:-52px 22px 35px;position:relative;flex-wrap:wrap}.profile-avatar{width:120px;height:120px;font-size:55px;border:5px solid #111014;box-shadow:0 0 0 2px #a92d46}.profile-name{flex:1;min-width:200px;padding-top:44px}.profile-name h1{margin:0;font-size:42px}.profile-name>span{color:#a9a1a7}.profile-name p{font-size:12px;margin:7px 0}.profile-identity>button{margin-top:44px}.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:24px;align-items:start}.profile-main{min-width:0}.profile-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px}.metric{background:#141216;border:1px solid #32272f;border-radius:17px;padding:19px 12px;text-align:center;position:relative}.metric>span{position:absolute;top:11px;right:13px;color:#ba6c7e}.metric strong{display:block;font-size:30px;margin:9px 0 4px}.metric small{font-size:10px;letter-spacing:1px;color:#aba1aa}.profile-panel{background:#111013;border:1px solid #30272d;border-radius:19px;padding:23px;margin-bottom:20px}.profile-panel h2{font-size:20px}.profile-panel h2 small{color:#e45669;font-size:13px}.profile-chart{display:flex;gap:32px;align-items:center}.donut{width:170px;height:170px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:conic-gradient(#e84258 var(--done),#2d222a 0);position:relative}.donut:before{content:'';position:absolute;inset:20px;background:#111013;border-radius:50%}.donut span{position:relative;font-size:38px;font-weight:850}.chart-bars{flex:1;display:grid;gap:12px}.chart-row{display:grid;grid-template-columns:110px 1fr 24px;align-items:center;gap:10px;font-size:12px;color:#c8bcc5}.chart-track{height:6px;background:#2b252a;border-radius:6px;overflow:hidden}.chart-track div{height:100%;border-radius:6px}.chart-row b{text-align:right}.activity-line{display:flex;gap:13px;align-items:center;padding:13px 0;border-bottom:1px solid #292228}.profile-sidebar{width:auto;background:transparent;border:0;padding:0;position:sticky;top:92px}.profile-side-panel{background:#121114;border:1px solid #30272e;border-radius:18px;padding:10px;display:grid;gap:5px}.profile-side-panel button{border:0;text-align:left;background:transparent;padding:13px}.profile-side-panel button.selected,.profile-list-tabs button.selected{background:#612335;color:#fff}.profile-list-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.profile-list-tabs button{font-size:12px;padding:8px 12px}.profile-list-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 0;border-bottom:1px solid #2b252a}.profile-list-row[hidden]{display:none}
@media(max-width:1200px){.top-search{width:270px}.user-name{display:none}.profile-layout{grid-template-columns:minmax(0,1fr) 190px}.profile-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:850px){.top-search{display:flex;width:auto;flex:1;min-width:90px;font-size:0;padding:10px}.top-search .search-symbol{font-size:23px}.top-search kbd{display:none}header{gap:10px}.profile-layout{display:flex;flex-direction:column}.profile-sidebar{order:-1;width:100%;position:static}.profile-side-panel{display:flex;overflow-x:auto}.profile-side-panel button{white-space:nowrap}.profile-chart{gap:16px}.donut{width:120px;height:120px}.donut:before{inset:15px}.profile-banner{height:145px}.profile-avatar{width:92px;height:92px;font-size:40px}.profile-name{padding-top:30px}.profile-name h1{font-size:32px}}@media(max-width:550px){.search-overlay{padding:25px 9px}.search-dialog{border-radius:16px}.search-input-bar{padding:12px}.search-input-bar input{font-size:14px}.search-types{padding:10px;gap:5px}.search-types button{padding:9px 7px;font-size:11px}.search-footer{gap:9px}.search-thumb{width:48px;height:66px}.profile-identity{margin:-40px 8px 25px;gap:12px}.profile-name{min-width:150px}.profile-identity>button{margin:0}.profile-stats{gap:8px}.metric strong{font-size:24px}.metric small{font-size:9px}.profile-chart{flex-direction:column}.chart-bars{width:100%}.profile-panel{padding:16px}.floating-pop{right:8px;top:70px}}@media(prefers-reduced-motion:reduce){.search-dialog,.floating-pop{animation:none}}
@media(max-width:750px){aside.profile-sidebar{display:block}}

/* v0.5: paragraph-level reading progress */
.reading-panel{max-width:1050px;margin:24px auto;padding:clamp(16px,3vw,38px)}.reader-topbar{display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap;margin-bottom:22px}.reader-kicker{color:#f87171;font-size:11px;letter-spacing:.12em;font-weight:750}.reader-topbar h2{margin:8px 0 0}.reader-tools{display:flex;gap:8px;flex-wrap:wrap}.reading-panel .reader{background:#120f12;border:1px solid #3b242b;border-radius:15px;padding:clamp(18px,3vw,40px);line-height:1.85;font-size:18px;white-space:normal}.reader-paragraph{margin:0 0 1em;color:#eee9ea;line-height:1.85;overflow-wrap:break-word}.reader-paragraph:last-child{margin-bottom:0}.reader-bottom{display:flex;justify-content:space-between;gap:14px;margin-top:24px}.reader-bottom button{min-width:170px}.reader-bottom .primary{background:linear-gradient(120deg,#9f2435,#dc354b);border-color:#e35a69}@media(max-width:600px){.reader-bottom{flex-direction:column}.reader-bottom button{width:100%}}

/* v0.6: book detail and chapter manager */
.book-hero{display:flex;gap:34px;align-items:center;padding:34px;border:1px solid #542733;border-radius:24px;background:radial-gradient(ellipse at 85% 15%,#7d263a50,transparent 60%),linear-gradient(115deg,#1b1319,#100e12);margin-bottom:25px;min-height:300px}.book-cover{width:165px;height:235px;flex-shrink:0;border-radius:16px;background:linear-gradient(150deg,#562038,#171017);display:grid;place-items:center;font-size:65px;color:#ed7186;overflow:hidden;box-shadow:0 16px 45px #0008}.book-cover img{width:100%;height:100%;object-fit:cover}.book-info{max-width:800px}.book-kicker{font-size:11px;letter-spacing:.14em;color:#f28ca1;font-weight:750}.book-info h1{font-size:clamp(30px,4vw,54px);margin:12px 0}.book-info p{color:#b9adb4;line-height:1.7}.book-metrics,.book-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.book-metrics span{padding:8px 12px;background:#3b2029;border:1px solid #643343;border-radius:40px;font-size:12px;color:#f3c5ce}.book-actions button{padding:12px 18px}.chapter-browser{padding:25px}.chapter-browser-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.chapter-browser-head h2{margin:5px 0 18px}.chapter-toolbar{display:flex;align-items:center;gap:10px;margin:10px 0 18px;flex-wrap:wrap}.chapter-tabs{display:flex;gap:5px;background:#20181e;padding:5px;border-radius:12px}.chapter-tabs button{border:0;background:transparent}.chapter-tabs button.selected{background:#9b2d46;color:#fff}.chapter-toolbar input{flex:1;min-width:180px}.chapter-toolbar select{min-width:160px}.book-chapter-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 7px;border-bottom:1px solid #35272e;transition:background .2s}.book-chapter-row:hover{background:#281920}.chapter-number{display:flex;gap:14px;align-items:center}.chapter-index{display:grid;place-items:center;width:45px;height:45px;border-radius:12px;background:#39202a;color:#ffb3c0;font-weight:800}.chapter-number strong,.chapter-number small{display:block}.chapter-number small{color:#a89aa4;margin-top:5px;font-size:11px}.chapter-buttons{display:flex;gap:8px}.chapter-buttons button{min-width:95px}.chapter-buttons .listen-btn{border-color:#a83951;color:#ffafbe}.chapter-pagination{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:20px;color:#a99aa4;font-size:12px}.chapter-pagination>div{display:flex;gap:8px}.chapter-pagination button:disabled{opacity:.3;cursor:not-allowed}.book-empty{padding:45px;text-align:center;color:#a89ba4}.upload-progress{font-weight:800;margin:10px 0}.upload-result{font-size:12px;line-height:1.5;padding:6px 8px;border-bottom:1px solid #392a30;overflow-wrap:anywhere}.upload-success{color:#a8e4b4}.upload-error{color:#ff9eae}#uploadRows{max-height:260px;overflow:auto}@media(max-width:650px){.book-hero{padding:18px;align-items:flex-start;gap:15px}.book-cover{width:96px;height:144px}.book-info h1{font-size:25px}.book-chapter-row{align-items:flex-start}.chapter-buttons{flex-direction:column}.chapter-buttons button{min-width:80px}.chapter-browser{padding:15px}.chapter-browser-head{align-items:flex-start}.chapter-browser-head>.muted{display:none}.chapter-pagination{flex-wrap:wrap}}

/* v0.7 — tactile motion and comfortable reading */
:root{scroll-behavior:smooth}
button,input,select,.card,.novel-card,.book-cover{transition:background-color .24s ease,border-color .24s ease,color .24s ease,box-shadow .28s ease,transform .28s cubic-bezier(.2,.8,.2,1)}
button:not(:disabled):active{transform:scale(.965)}
.book-actions .list-action{position:relative;overflow:hidden}
.book-actions .list-action:hover{border-color:#e25570;box-shadow:0 0 0 3px #df36501a,0 9px 28px #a12a3a22;transform:translateY(-2px)}
.book-actions .list-action.list-selected{background:linear-gradient(120deg,#692034,#b72d4c);color:#fff;border-color:#ed6680;box-shadow:0 0 22px #c8305140}
.book-actions .list-action.list-saving{opacity:.65}
.list-pop{animation:listPop .48s cubic-bezier(.18,.85,.2,1.25)}
@keyframes listPop{0%{transform:scale(.92)}45%{transform:scale(1.075)}100%{transform:scale(1)}}
.status-toast{position:fixed;z-index:9999;right:25px;bottom:26px;display:flex;align-items:center;gap:13px;padding:15px 21px;border:1px solid #a53b55;border-radius:16px;background:#21131beF;box-shadow:0 18px 65px #000a,0 0 35px #b72d4c2b;opacity:0;transform:translateY(20px) scale(.96);transition:opacity .32s,transform .32s;pointer-events:none;backdrop-filter:blur(16px)}
.status-toast.visible{opacity:1;transform:translateY(0) scale(1)}.status-toast-icon{display:grid;place-items:center;background:#a22a45;border-radius:50%;width:35px;height:35px;color:white;font-weight:900}.status-toast b,.status-toast small{display:block}.status-toast small{font-size:11px;color:#bda8b0;margin-top:3px}

.reveal-in{opacity:1;transform:none}.reveal-in.is-visible{animation:sectionReveal .65s cubic-bezier(.18,.8,.2,1) both}@keyframes sectionReveal{from{opacity:.3;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.chapter-enter{animation:chapterSlide .32s ease both}@keyframes chapterSlide{from{opacity:.25;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
.book-chapter-row:hover{background:#281921;box-shadow:inset 3px 0 0 #db3c5b;transform:translateX(3px)}
.book-cover:hover,.novel-card:hover .cover{transform:translateY(-4px) scale(1.015);box-shadow:0 22px 55px #000a,0 0 30px #9d29432b}
.chapter-tabs button.selected{box-shadow:0 4px 20px #c12e4944}
.chapter-toolbar input:focus{outline:0;border-color:#e65a76;box-shadow:0 0 0 3px #da365129}
.reading-panel .reader{max-width:900px;margin:auto;line-height:1.95;background:linear-gradient(180deg,#171216,#100e11);box-shadow:0 15px 65px #0004}
.reader-paragraph{line-height:1.95;margin-bottom:1.25em;letter-spacing:.005em}
.reader-paragraph::selection{background:#8c2d4d;color:#fff}
.reader-bottom button:hover{transform:translateY(-2px)}
@media(max-width:650px){.status-toast{left:12px;right:12px;bottom:15px}.book-actions .list-action{padding:10px 12px}.reading-panel .reader{padding:18px;line-height:1.8}.reader-paragraph{line-height:1.8}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* RanoVoicee v0.8: dark cinematic accents and accessible controls */
:root{--rv-red:#e04455;--rv-glow:rgba(224,68,85,.28)}
.book-hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 83% 30%,rgba(128,19,36,.4),transparent 58%),linear-gradient(120deg,#160d12,#0d0b0f)!important}
.book-hero:after{content:"";pointer-events:none;position:absolute;right:-4%;top:-60%;width:48%;height:160%;border-radius:50%;border:2px solid rgba(232,55,70,.22);box-shadow:0 0 80px rgba(183,28,45,.15),inset 0 0 50px rgba(183,28,45,.1)}
.ornate-cover{position:relative;border:2px solid var(--frame)!important;box-shadow:0 0 24px color-mix(in srgb,var(--frame) 25%,transparent)!important}
.ornate-cover:after{content:"❦";position:absolute;inset:5px;pointer-events:none;border:1px solid color-mix(in srgb,var(--frame) 70%,transparent);color:var(--frame);font-size:20px;text-shadow:0 0 8px var(--frame);line-height:1}
.book-actions button,.book-chapter-row,.card,.chapter-tabs button{transition:transform .24s ease,background .24s ease,box-shadow .24s ease,border-color .24s ease}
.book-actions button:hover,.chapter-buttons button:hover{transform:translateY(-2px);box-shadow:0 5px 20px var(--rv-glow)}
.book-chapter-row:hover{background:rgba(224,68,85,.065);transform:translateX(3px)}
.custom-player{display:flex;align-items:center;gap:12px;margin-top:15px;flex-wrap:wrap}
.custom-player button{min-width:48px;min-height:42px}.custom-player .play-main{width:60px;height:60px;border-radius:50%;background:linear-gradient(140deg,#f04456,#831d33);box-shadow:0 0 22px rgba(240,68,86,.4);font-size:22px}
.seek-wrap{flex:1;min-width:190px;display:flex;flex-direction:column;gap:6px}.seek-wrap input{width:100%;accent-color:#e04455}.seek-wrap small{color:#b5a8ae}.volume-slider{width:85px;accent-color:#e04455}
.manage-chapters{max-height:320px;overflow:auto;border:1px solid #3c2731;border-radius:12px}.manage-row{display:flex;gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid #30232c}.manage-row:hover{background:#27151d}.manage-row small{margin-left:auto;opacity:.6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.danger-btn{border-color:#b52a42;color:#ffb4c0}
@media(max-width:650px){.custom-player{gap:6px}.volume-slider{display:none}.book-hero:after{opacity:.35}}
@media(prefers-reduced-motion:reduce){.book-actions button,.book-chapter-row,.card,.chapter-tabs button{transition:none!important;animation:none!important}}

/* v0.8.1 — substantial ornamental frame on all library covers */
.novel-card .cover.ornate-cover,.book-cover.ornate-cover{
  --frame:#e04455;position:relative;isolation:isolate;
  border:3px solid var(--frame)!important;
  box-shadow:inset 0 0 0 3px #12090c,0 0 18px color-mix(in srgb,var(--frame) 28%,transparent)!important;
}
.novel-card .cover.ornate-cover::after,.book-cover.ornate-cover::after{
  content:""!important;position:absolute!important;inset:0!important;
  display:block!important;z-index:5;pointer-events:none;
  background:var(--frame)!important;
  -webkit-mask:url('/frame-ornament.svg') center / 100% 100% no-repeat;
  mask:url('/frame-ornament.svg') center / 100% 100% no-repeat;
  border:0!important;border-radius:0!important;
  filter:drop-shadow(0 0 2px var(--frame));
}
.novel-card .cover.ornate-cover::before{z-index:0}
.novel-card .cover.ornate-cover>img,.book-cover.ornate-cover>img{position:relative;z-index:1}
.novel-card .cover.ornate-cover .cover-chip{z-index:6;bottom:17px;left:17px}
.novel-card:hover .cover.ornate-cover,.book-cover.ornate-cover:hover{box-shadow:inset 0 0 0 3px #12090c,0 0 28px color-mix(in srgb,var(--frame) 55%,transparent)!important}
@media(max-width:650px){.novel-card .cover.ornate-cover,.book-cover.ornate-cover{border-width:2px!important}}

/* v0.9 — clean single-layer frames, cinematic environment and persistent dock */
:root{--rv-crimson:#e83d4b}
body{background:#09080b radial-gradient(ellipse at 85% 5%,#32111b 0%,transparent 46%) fixed}
body:before{content:"";position:fixed;inset:52px 0 0 140px;pointer-events:none;background:url('/eclipse.svg') top right / min(1150px,95%) auto no-repeat;opacity:.16;z-index:-1}
.book-hero{background:linear-gradient(90deg,#0e0a0ef5 0%,#110b11d9 45%,#170b11aa 100%),url('/eclipse.svg') center right/cover no-repeat!important;min-height:315px;box-shadow:inset 0 -65px 80px #0b080eaa}
.book-hero:after{display:none!important}
.hero.cinematic{background:linear-gradient(90deg,#140b11f5 0%,#160c14bb 55%,#1c0b12a0 100%),url('/eclipse.svg') center/cover no-repeat!important}
.hero-art{opacity:.3}
.novel-card .cover.ornate-cover,.book-cover.ornate-cover{border:0!important;overflow:visible!important;border-radius:8px!important;isolation:isolate;box-shadow:0 10px 30px #0009!important}
.novel-card .cover.ornate-cover::before,.book-cover.ornate-cover::before{content:none!important;display:none!important}
.novel-card .cover.ornate-cover::after,.book-cover.ornate-cover::after{content:""!important;position:absolute!important;inset:-3px!important;z-index:5!important;pointer-events:none!important;border:0!important;border-radius:0!important;background:var(--frame,#e04455)!important;-webkit-mask:url('/frame-ornament.svg') center/100% 100% no-repeat!important;mask:url('/frame-ornament.svg') center/100% 100% no-repeat!important;filter:drop-shadow(0 0 3px var(--frame,#e04455));opacity:.98}
.novel-card .cover.ornate-cover>img,.book-cover.ornate-cover>img{width:100%;height:100%;object-fit:cover;border-radius:8px;position:relative;z-index:1}
.novel-card .cover.ornate-cover .cover-chip{z-index:6;left:15px;top:14px;bottom:auto}
body:has(.rv-player:not([hidden])){padding-bottom:116px}
.rv-player[hidden]{display:none!important}
.rv-player{position:fixed;bottom:12px;left:calc(140px + 14px);right:14px;z-index:1000;padding:10px 16px 9px;border:1px solid #9f2939;border-radius:16px;color:#f8eef1;background:linear-gradient(110deg,#1b0b11f8,#0e0a0df9 70%,#1a0b12f8);box-shadow:0 0 25px #bd23302b,0 15px 50px #000c;animation:dockAppear .35s ease both}
.rv-player:before{content:"";position:absolute;inset:2px;pointer-events:none;border:1px solid #7d263255;border-radius:12px}
.rv-player-top{display:flex;align-items:center;gap:15px;min-height:53px}
.rv-cover{height:50px;width:50px;flex-shrink:0;border:1px solid #e84454;border-radius:10px;overflow:hidden;display:grid;place-items:center;color:#ff6576;background:#3d1721;font-size:26px}
.rv-cover img{height:100%;width:100%;object-fit:cover}
.rv-track-meta{display:flex;flex-direction:column;gap:5px;min-width:135px;max-width:280px;flex:1}.rv-track-meta b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rv-track-meta small{color:#a99aa2;font-size:11px}
.rv-controls{display:flex;align-items:center;justify-content:center;gap:8px;flex:2}
.rv-player button{background:transparent;border:0;color:#e9dbe0;padding:8px;cursor:pointer;transition:transform .2s,color .2s,text-shadow .2s}
.rv-player button:hover{color:#ff5b69;transform:translateY(-2px);text-shadow:0 0 12px #e83d4b}
.rv-player button.active{color:#ff5567}
.rv-controls .rv-play{width:46px;height:46px;border-radius:50%;background:#b51c2e;color:white;font-size:20px;border:2px solid #f44d59;box-shadow:0 0 22px #e42d48aa}
.rv-options{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex:2}.rv-options select{width:75px;font-size:12px;padding:6px;border-radius:14px}.rv-options input{width:75px;accent-color:#ef3b50}
.rv-progress{display:flex;align-items:center;gap:12px;margin:4px 0 0 65px}.rv-progress input{flex:1;min-width:60px;height:4px;accent-color:#f04455;cursor:pointer}.rv-progress button{font-size:10px;color:#9c8b95;white-space:nowrap}
.rv-queue{position:absolute;right:12px;bottom:calc(100% + 9px);width:min(370px,calc(100vw - 30px));max-height:min(55vh,520px);overflow:auto;border:1px solid #963046;border-radius:14px;background:#110e12;box-shadow:0 15px 50px #000d;display:none;padding:12px}
.rv-queue.open{display:block;animation:dockAppear .24s ease}.rv-queue-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.rv-queue-item{display:block!important;width:100%;text-align:left!important;padding:11px!important;margin:4px 0;background:#1e171d!important;border-radius:8px!important}.rv-queue-item.active{background:#4b1824!important;color:#ff8796!important}
@keyframes dockAppear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:850px){.rv-player{left:8px;right:8px;bottom:8px;padding:8px}.rv-player-top{flex-wrap:wrap}.rv-track-meta{max-width:none}.rv-controls{order:3;flex:1 1 100%}.rv-options{flex:0}.rv-options button[title="Таймер сна"],.rv-options button[title="Назад 15 секунд"],.rv-options button[title="Вперёд 15 секунд"],.rv-options span,.rv-options input{display:none}.rv-progress{margin-left:0}body:has(.rv-player:not([hidden])){padding-bottom:180px}}
/* Library layout and book page */
:root{--ember:#ef403c;--book-gutter:32px;--bar-height:55px;--dock-space:0px}
body{background:#0c080a;color:#fbf7f8;font-size:14px}
[hidden]{display:none!important}
.ui-icon{width:1.15em;height:1.15em;display:inline-block;flex:none;vertical-align:-.17em}
header{height:var(--bar-height);padding:0 27px 0 30px;gap:24px;background:linear-gradient(90deg,#150c0f,#0f0b0d 30%,#160d10);border-color:#302024}
.logo,.logo:hover{display:inline-flex;align-items:center;gap:10px;border:0;background:none;padding:0;color:#fcf8f9;transform:none}
.logo svg{width:24px;height:29px;color:#ff4d39}.logo span{color:#fa4f38}
nav{gap:8px;margin-left:28px}
header nav button{font-size:14px;font-weight:650;padding:9px 19px;border-radius:24px;color:#eee6e9}
header nav button.active{color:#fff!important;border-color:#af3030!important;background:linear-gradient(145deg,#6e181d,#411316)!important;box-shadow:inset 0 0 14px #ed3d3320,0 0 20px #ed3d3318}
.top-search{height:38px;min-width:38px;width:min(30vw,470px);background:#1d171a;border-color:#3b3034;border-radius:17px;padding:0 12px;color:#b1a6aa}
.top-search-copy{overflow:hidden;text-overflow:ellipsis}.top-search .search-symbol{font-size:15px;line-height:1;color:#f3ecef}
.top-search kbd{white-space:nowrap;background:#30292d}
#account{gap:14px}
#account .icon-action{height:38px;width:38px;display:grid;place-items:center;padding:0;background:#2a161a;border-color:#44272d;border-radius:50%;font-size:16px}
#account .user-trigger{border-color:transparent;background:transparent;padding:0!important}.user-avatar{border-color:#aa4c4b}
.floating-pop{top:calc(var(--bar-height) + 8px)}
.layout{min-height:calc(100vh - var(--bar-height) - var(--dock-space))}
.site-sidebar{width:194px;padding:14px 12px 10px;gap:2px;border-right-color:#2b1d20;background:linear-gradient(180deg,#100b0de8 0%,#100b0df2 45%,transparent 76%,#10080ce8),url('/art/eclipse.webp') 70% 84%/auto 39% no-repeat,#100b0d}
.site-sidebar button{display:flex;align-items:center;gap:14px;padding:10px 8px;color:#f2eaee;border:1px solid transparent}
.site-sidebar button .ui-icon{width:16px;height:16px}.site-sidebar .sideTitle{font-size:13px;letter-spacing:0;color:#ca8b9a;margin:4px 0 2px;font-weight:650;padding:4px 8px}
.site-sidebar .sideFoot{padding:7px 8px;margin-top:auto}
main{margin:0 auto;min-width:0;max-width:1850px;min-height:0;padding:22px var(--book-gutter) 30px}
main:has(.book-hero){padding-top:0;padding-right:18px}
button:disabled{opacity:.42;cursor:not-allowed;transform:none;box-shadow:none}
button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-color:#ff746a}
.book-breadcrumb{position:relative;z-index:2;display:flex;align-items:center;gap:8px;font-size:13px;color:#b1a7ac;min-height:42px}
.book-breadcrumb button{font-size:inherit;color:inherit;padding:4px 0 4px 7px}.book-breadcrumb b{color:#f2ecee;font-weight:550}
.book-hero{isolation:isolate;overflow:visible;border:none;border-radius:0;margin:0;min-height:278px;padding:7px 4px 20px;align-items:flex-start;gap:34px;background:none!important;box-shadow:none}
.book-hero::before{content:"";position:absolute;inset:-42px -18px 0 calc(-1 * var(--book-gutter));z-index:-1;background:linear-gradient(0deg,#0c080a 0%,transparent 42%),linear-gradient(90deg,#10080a 0%,#10080a 36%,#10080aa0 63%,#10080a26),url('/eclipse.svg') right center/70% auto no-repeat}
.book-hero.shadow-hero::before{background:linear-gradient(0deg,#0c080a 0%,transparent 35%),linear-gradient(90deg,#10080a 0%,#10080a 32%,#10080a90 54%,transparent 78%),url('/art/eclipse.webp') right 52%/77% auto no-repeat}
.book-cover{width:178px;height:250px}.book-info{min-width:0;max-width:min(850px,100%)}
.book-info h1{font-size:clamp(31px,3vw,39px);letter-spacing:-.032em;line-height:1.11;margin:1px 0 6px}
.book-subtitle{font-size:18px;color:#c8bfc2;font-weight:550}
.book-genres,.book-facts{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.book-genres{margin-top:14px}.book-genres span{border:1px solid #392e32;border-radius:20px;padding:5px 10px;font-size:12px;background:#21191d;color:#faf3f5}
.book-facts{gap:28px;margin-top:12px;color:#bcb0b5;font-size:13px}.book-facts b{color:#fff;font-weight:550;margin-left:6px}
.book-info .book-description{color:#ded4d8;margin:12px 0 0;line-height:1.45;max-width:735px;white-space:pre-line}
.book-actions{display:flex;align-items:center;gap:10px;margin-top:16px}
.book-actions button,.book-more summary,.cover-edit{min-height:40px;padding:0 14px;font-size:14px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#1e171aeb;border:1px solid #423235;color:#f8f1f3}
.book-actions .primary{background:linear-gradient(130deg,#aa2225,#87171e);border-color:#ea4847;box-shadow:0 0 20px #ef3a363a,inset 0 0 9px #ff595839;font-weight:700;padding-inline:22px}
.book-actions button:hover,.book-more summary:hover,.cover-edit:hover{border-color:#ba504e;background-color:#352124}
.book-more{position:relative}.book-more summary{list-style:none;cursor:pointer;letter-spacing:2px}.book-more summary::-webkit-details-marker{display:none}
.book-more>div{position:absolute;z-index:5;top:calc(100% + 5px);right:0;display:grid;gap:5px;min-width:140px;padding:6px;background:#171013;border:1px solid #523439;border-radius:11px;box-shadow:0 12px 25px #0008}
.cover-edit{position:absolute;right:6px;bottom:20px;min-height:37px;font-size:12px}
.book-tabs{display:flex;align-items:center;overflow-x:auto;border-bottom:1px solid #2b2024}
.book-tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:none;color:#bfb6ba;padding:14px 19px;white-space:nowrap;font-weight:600}
.book-tabs button.selected{border-color:var(--ember);color:white;background:linear-gradient(0deg,#f24c4314,transparent 55%)}
.book-tabs button:hover{transform:none;color:#fff}.book-tabs .ui-icon{margin-right:3px}
.book-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(205px,263px);gap:18px;align-items:start}
.book-columns.gallery-expanded{grid-template-columns:1fr}
.chapter-browser,.book-about{background:linear-gradient(160deg,#110d10,#0c080a 60%,#110c10);border:1px solid #2c2226;border-radius:12px}
.chapter-browser{padding:18px 8px 9px}
.chapter-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:8px 0 14px;font-size:13px}
.chapter-toolbar button,.chapter-toolbar select,.chapter-search{height:35px;border:1px solid #3a3034;border-radius:10px;background:#1b1518;color:#f2e9ed;padding:0 10px}
.chapter-toolbar select{width:auto;min-width:150px;max-width:100%}
.chapter-tabs,.chapter-view{display:flex;align-items:center;background:#1c1619;border:1px solid #3b3034;padding:0;gap:0;border-radius:11px}
.chapter-tabs button,.chapter-view button{border-color:transparent;background:none;border-radius:9px;box-shadow:none;margin:-1px}
.chapter-tabs button{padding:0 clamp(9px,1vw,20px)}
.chapter-tabs button.selected,.chapter-view [aria-pressed=true]{background:linear-gradient(145deg,#8e2124,#5a161a);border-color:#bd3d3d;box-shadow:inset 0 0 12px #ec403133}
.chapter-view button{padding-inline:7px}
.chapter-search{display:flex;gap:7px;align-items:center;flex:1 1 165px;min-width:0}
.chapter-search input{border:0;background:none;box-shadow:none!important;padding:0;min-width:0;width:100%}
.chapter-search:focus-within{border-color:#d64c4a}
.chapter-batch{display:flex;align-items:center;gap:7px;white-space:nowrap}.chapter-batch span{margin-right:3px;color:#d6cbd0}
.book-chapter-row{display:grid;grid-template-columns:minmax(132px,181px) minmax(95px,1fr) auto;gap:8px;align-items:center;min-height:48px;padding:5px 12px 5px 16px;border:1px solid transparent;border-bottom-color:#2e2428;font-size:13px}
.book-chapter-row:hover,.book-chapter-row.is-selected,.book-chapter-row.is-playing{transform:none;box-shadow:none;background:#321416;border:1px solid #6a2a2d;border-radius:9px}
.chapter-number{gap:clamp(10px,1.8vw,28px)}.chapter-number strong{white-space:nowrap}
.chapter-index{position:relative;isolation:isolate;width:auto;min-width:41px;height:35px;padding:0 5px;border-radius:12px;background:radial-gradient(#4c1e21,#240f14);color:#fff;font-size:13px}
.chapter-index::after{content:"";position:absolute;inset:0;background:#b73736;mask:url('/frame-ornament.svg') center/100% 100% no-repeat}
.chapter-formats,.chapter-buttons{display:flex;align-items:center;gap:clamp(7px,1vw,15px)}
.chapter-formats{flex-wrap:wrap;font-size:12px;color:#e0d3d9}
.chapter-buttons button{min-width:0;min-height:33px;padding:5px 10px;white-space:nowrap;font-size:12px;background:#21191c;border-color:#3d3034}
.chapter-buttons button.row-delete{padding-inline:12px}.chapter-buttons input,.manage-row input{width:16px;height:16px;accent-color:#d43e3e;cursor:pointer;margin:0}
.chapter-pagination{padding:12px 10px 4px}.chapter-pagination button{font-size:12px;padding:5px 8px}
.chapter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px}
.chapter-grid .book-chapter-row{display:flex;align-items:flex-start;flex-direction:column;padding:10px;border:1px solid #3a2a30;border-radius:10px}
.chapter-grid .chapter-buttons{flex-wrap:wrap}
.book-gallery{position:relative;isolation:isolate;border:1px solid #732b2c;border-radius:13px;background:linear-gradient(140deg,#1b1013,#110a0c 50%,#180d0f);padding:13px}
.book-gallery::before,.rv-player::after{content:"";position:absolute;inset:1px;pointer-events:none;background:#983030;mask:url('/frame-ornament.svg') center/100% 100% no-repeat}
.gallery-heading{position:relative;display:flex;align-items:center;justify-content:space-between;margin:0 0 10px;gap:8px}
.gallery-heading h2{font-size:17px;margin:0 0 0 7px}.gallery-heading button{font-size:21px;line-height:1;padding:4px 8px}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.gallery-grid button{display:block;min-width:0;aspect-ratio:1.07;padding:0;overflow:hidden;background:#1c1519;border:1px solid #aa4848;border-radius:10px}
.gallery-grid button:hover{border-color:#ef5c54}.gallery-grid img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.gallery-grid button:hover img{transform:scale(1.065)}
.gallery-expanded .gallery-grid{grid-template-columns:repeat(auto-fill,minmax(min(160px,44%),1fr))}
#galleryViewer{max-width:min(90vw,900px);max-height:92vh;overflow:auto;background:#160e11;border:1px solid #a34241;border-radius:13px;padding:9px}
#galleryViewer::backdrop{background:#050204d9}#galleryViewer img{display:block;max-width:100%;max-height:83vh;border-radius:7px}
#galleryViewer button{position:absolute;right:13px;top:13px;font-size:20px;line-height:1}
.activity-line button{margin-left:auto}
.reading-panel{scroll-margin-top:calc(var(--bar-height) + 12px)}
#content:has(#reader){padding-bottom:35vh}
body:has(.rv-player:not([hidden])){--dock-space:101px;padding-bottom:var(--dock-space)}
#toast,.status-toast{bottom:calc(var(--dock-space) + 14px);z-index:1050}
.rv-player{left:10px;right:10px;bottom:8px;height:91px;padding:9px 20px;background:linear-gradient(100deg,#1b0a0e,#11090c 45%,#1a0b0f);border-color:#923333;z-index:42}
.rv-player::after{opacity:.76;z-index:-1}
.rv-player-top{position:relative;min-height:50px;display:grid;grid-template-columns:69px minmax(100px,1fr) auto minmax(100px,1fr);gap:22px;align-items:start}
.rv-cover{width:66px;height:68px;border-radius:14px}.rv-track-meta{padding-top:5px;max-width:none;min-width:0}.rv-track-meta b{font-size:14px}.rv-track-meta small{position:absolute;top:47px;font-size:12px}
.rv-controls{gap:24px}.rv-controls button{height:49px;font-size:20px}
.rv-controls .rv-play{width:51px;height:51px;background:radial-gradient(circle at 50% 40%,#bf292e,#781821);border-color:#f85050;box-shadow:0 0 19px #f4373680}
.rv-player.is-playing .rv-play{animation:playGlow 3s ease-in-out infinite}
@keyframes playGlow{50%{box-shadow:0 0 24px #f43736bb}}
.rv-options{align-self:start;align-items:center;gap:7px;min-height:48px}.rv-options input{width:72px}.rv-options select{width:58px;font-size:11px}.rv-options button{white-space:nowrap}
.rv-options button[title*="секунд"]{padding:3px;font-size:11px}.rv-options button[title="Таймер сна"]{padding-inline:3px}
.rv-player button[aria-pressed=true]{color:#ff6964;text-shadow:0 0 10px #ec3b3b}
.rv-progress{position:absolute;bottom:15px;left:208px;right:72px;margin:0;height:14px}
.rv-progress::before{content:"";position:absolute;inset:2px 0;pointer-events:none;opacity:.5;background:repeating-linear-gradient(90deg,#573e43 0 2px,transparent 2px 5px);clip-path:polygon(0 22%,10% 35%,17% 8%,24% 24%,31% 10%,38% 26%,45% 3%,53% 38%,58% 21%,62% 34%,69% 8%,74% 28%,80% 16%,90% 34%,100% 22%,100% 78%,90% 66%,80% 84%,74% 72%,69% 92%,62% 66%,58% 79%,53% 62%,45% 97%,38% 74%,31% 90%,24% 76%,17% 92%,10% 65%,0 78%)}
.rv-player input[type=range]{appearance:none;position:relative;height:5px;padding:0;margin:0;border:0;border-radius:8px;background:linear-gradient(90deg,#f44741 var(--progress,0%),#38282c var(--progress,0%));cursor:pointer}
.rv-options input[type=range]{--progress:100%}.rv-player input[type=range]::-webkit-slider-thumb{appearance:none;border:2px solid #ff635b;background:#fff0ee;width:11px;height:11px;border-radius:50%;box-shadow:0 0 8px #f64b42}
.rv-player input[type=range]::-moz-range-thumb{border:2px solid #ff635b;background:#fff0ee;width:8px;height:8px;border-radius:50%;box-shadow:0 0 8px #f64b42}
.hero.cinematic{background:linear-gradient(90deg,#13090df5,#140b10a0 55%,#170c1060),url('/art/eclipse.webp') right center/cover no-repeat!important}
@media(max-width:1320px){header nav{margin-left:0}header{gap:15px}.book-info{max-width:calc(100% - 210px)}.cover-edit{position:static;align-self:end;margin-left:auto}.book-hero:has(.cover-edit){flex-wrap:wrap}.rv-controls{gap:12px}}
@media(max-width:1150px){:root{--book-gutter:20px}.site-sidebar{width:153px}.site-sidebar button{gap:9px;font-size:13px}.book-columns{grid-template-columns:minmax(0,1fr) 195px;gap:12px}.book-cover{width:148px;height:208px}.book-info{max-width:calc(100% - 170px)}.book-hero{gap:22px;min-height:235px}.book-chapter-row{grid-template-columns:minmax(108px,131px) minmax(65px,1fr) auto;padding-inline:7px}.chapter-number{gap:9px}.chapter-formats,.chapter-buttons{gap:5px}}
@media(max-width:960px){.site-sidebar{display:none}.top-search{width:auto}.top-search-copy,.top-search kbd{display:none}.rv-options button[title*="секунд"],.rv-options button[title="Таймер сна"]{display:none}.rv-player-top{gap:10px}}
@media(max-width:750px){
 :root{--book-gutter:14px;--bar-height:90px}
 header{height:var(--bar-height);padding:6px 14px;gap:5px 10px;align-content:center}.logo{margin-right:auto}.logo svg{width:19px;height:24px}
 header nav{padding-bottom:1px;gap:4px}header nav button{padding:6px 10px;font-size:12px}
 .top-search{height:32px;margin-left:0}#account{margin-left:0;gap:4px}#account .icon-action{height:31px;width:31px}
 .book-hero,.book-hero:has(.cover-edit){display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;padding:3px 0 12px;min-height:0}
 .book-hero.shadow-hero::before{background-size:auto,auto,cover}
 .book-cover{width:92px;height:132px;grid-row:1/4}.book-info{display:contents}.book-info h1{grid-column:2;grid-row:1;align-self:start;font-size:26px}
 .book-subtitle{grid-column:2;grid-row:2;font-size:14px}
 .book-genres{grid-column:2;grid-row:3;align-self:start;margin-top:0;gap:4px}.book-genres span{font-size:10px;padding:4px 6px}
 .book-facts,.book-info .book-description,.book-actions,.book-hero .cover-edit{grid-column:1/-1;margin:0}
 .book-actions{gap:5px}.book-actions button,.book-more summary,.cover-edit{padding-inline:8px;min-height:36px;font-size:12px}.book-hero .cover-edit{justify-self:start}
 .book-columns{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .book-tabs button{font-size:12px;padding:11px 8px}.chapter-browser{padding:6px}.chapter-toolbar{gap:6px}
 .chapter-tabs button{padding-inline:7px;font-size:12px}.chapter-toolbar select{min-width:0;font-size:12px}
 .chapter-buttons{flex-direction:row}.book-chapter-row{grid-template-columns:1fr auto;gap:4px 6px;padding:5px;min-height:52px}
 .chapter-formats{grid-column:1;grid-row:2;font-size:10px;padding-left:3px}.chapter-buttons{grid-column:2;grid-row:1/3}.chapter-buttons button{padding-inline:5px;font-size:11px}.chapter-buttons button.row-delete{padding-inline:6px}.chapter-index{min-width:31px;height:25px;font-size:11px}.chapter-number strong{font-size:12px}
 .rv-player{height:105px;padding:7px 10px}.rv-player-top{grid-template-columns:38px minmax(70px,1fr) auto;gap:6px}.rv-cover{width:38px;height:38px;border-radius:8px}
 .rv-track-meta{padding-top:0}.rv-track-meta small{top:19px;font-size:10px}.rv-track-meta b{font-size:12px}
 .rv-controls{grid-column:1/-1;grid-row:2;gap:20px}.rv-controls button{height:36px;padding:5px;font-size:16px}.rv-controls .rv-play{width:38px;height:38px;font-size:16px}
 .rv-options{grid-column:3;grid-row:1;min-height:32px;gap:4px}.rv-options>span,.rv-options input{display:none}.rv-options select{width:55px}
 .rv-progress{left:14px;right:14px;bottom:7px}.rv-queue{max-height:45vh}body:has(.rv-player:not([hidden])){--dock-space:115px;padding-bottom:var(--dock-space)}
}
@media(max-width:390px){.user-name{display:none}.chapter-buttons .ui-icon{display:none}.chapter-buttons .row-delete .ui-icon{display:inline-block}}
/* Fixed-size corners keep the ornament legible on both the covers and the wide player. */
.book-gallery::before,.rv-player::after,.chapter-index::after{
 background:none;mask:none;border:23px solid transparent;border-image:url('/art/filigree.svg') 29 stretch;
}
.rv-player::after{inset:0;opacity:.95;z-index:0}
.book-gallery::before{inset:0;z-index:1}
.chapter-index::after{border-width:12px}
.novel-card .cover.ornate-cover::after,.book-cover.ornate-cover::after{
 border:25px solid transparent!important;border-image:url('/art/filigree.svg') 29 stretch!important;mask:none!important;
 background:none!important;filter:drop-shadow(0 0 2px var(--frame,#e04455));
}
.book-hero.shadow-hero::before{background-position:center,center,right 39%;background-size:auto,auto,79% auto}
.book-gallery{margin-top:-2px}
.chapter-browser{min-height:407px}
.chapter-pagination{margin-top:4px}
@media(max-width:750px){.book-hero.shadow-hero::before{background-size:auto,auto,cover}.chapter-browser{min-height:0}}
.comment-form{display:grid;gap:9px}.comment-form button{justify-self:start}
.book-comment{padding:12px 0 4px;border-top:1px solid #35262b}.book-comment small{margin-left:10px;color:#b2a2ab}
.book-comment p{white-space:pre-wrap;overflow-wrap:anywhere;color:#eee2e7;margin:6px 0}
.novel-card .cover.ornate-cover>img,.book-cover.ornate-cover>img{outline:1px solid var(--frame,#d73732);outline-offset:-1px}
@media(max-width:750px){main:has(.book-hero){padding-right:var(--book-gutter)}.book-hero::before{right:calc(-1 * var(--book-gutter))}}
.top-search span{float:none;border:0;border-radius:0;padding:0}
.top-search-copy{font-size:13px}
.rv-controls{grid-column:3;grid-row:1;order:0}
.rv-options{grid-column:4;grid-row:1}
@media(max-width:960px){.top-search{flex:0 0 38px;justify-content:center;min-width:0;padding:0}}
@media(max-width:750px){.rv-controls{grid-column:1/-1;grid-row:2}.rv-options{grid-column:3;grid-row:1}}
.book-cover.ornate-cover>img{position:absolute;inset:0}
.site-sidebar button{line-height:1.25;padding-block:9px}
@media(min-width:751px) and (max-width:1050px){
 header{padding-inline:15px;gap:10px}
 header nav{gap:3px}
 header nav button{padding-inline:9px;font-size:13px}
 #account{margin-left:0;gap:5px}
 #account .icon-action{display:none}
 #account .user-name{display:none}
}
/* Compact home and personal library */
.book-columns{display:block}
.home-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 30px;border:1px solid #4a262b;border-radius:16px;background:linear-gradient(90deg,#1c0e13f5,#1c0e13c9 65%,#1c0e1375),url('/art/eclipse.webp') right center/cover;margin-bottom:26px}
.home-welcome h1{font-size:clamp(25px,2.4vw,36px);margin:0}
.home-welcome p{margin:10px 0 0;max-width:650px;color:#c4b5bd}
.home-welcome>button{flex-shrink:0;display:flex;gap:8px;align-items:center}
.home-welcome .eyebrow{margin-bottom:8px}
.section-heading{align-items:center;margin:25px 0 15px}
.section-heading p{font-size:13px;margin:5px 0 0}
.section-heading h2{font-size:22px}
.home-continue{margin-bottom:25px}
.continue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.continue-card{display:flex;align-items:center;gap:14px;border:1px solid #3a282f;border-radius:13px;background:#151014;padding:14px;min-width:0}
.continue-cover{display:grid;place-items:center;width:55px;height:75px;flex-shrink:0;padding:0;overflow:hidden;background:#29161f}
.continue-cover img{display:block;width:100%;height:100%;object-fit:cover}
.continue-card>div{flex:1;min-width:0}
.continue-card h3{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:5px 0}
.continue-card p{font-size:12px;margin:0;color:#b7a8b0}
.continue-kind{color:#d78c97;font-size:11px}
.continue-card>.primary{display:flex;align-items:center;gap:6px;font-size:12px;padding:9px 11px}
.profile-heading{display:flex;align-items:center;gap:20px;padding:22px;border:1px solid #4b2933;border-radius:16px;background:linear-gradient(110deg,#2c1520,#151014);margin-bottom:18px}
.profile-heading .profile-avatar{width:76px;height:76px;font-size:33px;flex-shrink:0;border-width:3px}
.profile-heading h1{font-size:30px;margin:0}
.profile-heading p{margin:7px 0 0;font-size:12px}
.profile-heading .eyebrow{margin-bottom:5px}
.profile-heading>button{margin-left:auto;display:flex;align-items:center;gap:7px}
.profile-stats{margin-bottom:18px;gap:12px}
.profile-stats .metric{padding:12px;border-radius:12px}
.profile-stats .metric strong{font-size:27px;margin:5px 0}
.profile-stats .metric small{letter-spacing:0;text-transform:none;font-size:12px}
.profile-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(265px,340px);gap:18px;align-items:start}
.profile-overview .profile-panel{padding:18px;min-width:0;margin:0;border-radius:14px}
.profile-overview .section-heading{margin:0 0 14px;gap:10px}
.profile-overview .section-heading h2{font-size:19px}
.profile-overview .quiet{font-size:12px;padding:0;white-space:nowrap}
.profile-list-tabs{gap:6px;margin-bottom:14px}
.profile-list-tabs button{font-size:12px;padding:7px 9px}
.profile-list-tabs button span{margin-left:4px;opacity:.6}
.profile-list-row{gap:10px;flex-wrap:wrap}
.profile-list-row>.quiet{font-size:14px;white-space:normal;text-align:left;color:#f7edf2}
.profile-list-row .tag{font-size:11px}
.recent-item{width:100%;display:flex;align-items:center;gap:10px;padding:12px 0;border:0;border-bottom:1px solid #30232b;border-radius:0;background:none;text-align:left}
.recent-item:last-child{border-bottom:0;padding-bottom:0}
.recent-item>.activity-icon{width:32px;height:32px;border-radius:9px}
.recent-item>span:nth-child(2){flex:1;min-width:0}
.recent-item b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.recent-item small{display:block;color:#ac9aa5;font-size:11px;margin-top:5px}
.rv-options .rv-dismiss{order:10;display:grid;place-items:center;width:28px;height:28px;padding:0;margin-left:5px;font-size:25px;line-height:1;color:#e9a9b0;border:1px solid #69333b;border-radius:8px;background:#34151d}
.rv-options .rv-dismiss:hover{color:#fff;border-color:#f15c62}
@media(max-width:1100px){.profile-overview{grid-template-columns:1fr}.recent-compact{max-width:none}.continue-grid{grid-template-columns:1fr}}
@media(max-width:750px){
 .home-welcome{padding:20px;flex-direction:column;align-items:start;gap:16px}
 .home-welcome>button{font-size:13px}
 .section-heading h2{font-size:19px}.section-heading{gap:10px}
 .section-heading>.quiet{font-size:12px;flex-shrink:0;padding:0}
 .profile-heading{padding:16px;gap:12px;flex-wrap:wrap}
 .profile-heading .profile-avatar{width:54px;height:54px;font-size:26px}
 .profile-heading h1{font-size:24px;overflow-wrap:anywhere}
 .profile-heading>div{min-width:0;flex:1}
 .profile-heading>button{font-size:12px}
 .profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .profile-stats .metric strong{font-size:24px}
 .profile-overview .profile-panel{padding:14px}
 .continue-card{gap:9px;padding:10px}
 .continue-cover{width:42px;height:59px}
 .continue-card h3{font-size:14px}
 .continue-card>.primary{font-size:11px;padding:8px}
 .rv-options{gap:3px}.rv-options .rv-dismiss{width:25px;height:25px;margin-left:2px}
}
.site-sidebar{width:205px}
.site-sidebar button{white-space:normal}
.site-sidebar button .ui-icon{flex-shrink:0}
.admin-sections{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.admin-sections [aria-pressed=true]{background:#67212d;border-color:#a94652}
.admin-content{max-width:840px}
.admin-content .panel{gap:14px}
.admin-content .panel h2{margin-bottom:4px}
.book-hero.magus-hero::before{background:linear-gradient(0deg,#0c080a 0%,transparent 42%),linear-gradient(90deg,#10080a 0%,#10080a 34%,#10080a70 61%,transparent 82%),url('/art/supreme-magus.webp') right 50%/78% auto no-repeat}
@media(max-width:1150px){.site-sidebar{width:170px}}
@media(max-width:750px){.book-hero.magus-hero::before{background-size:auto,auto,cover}}
.site-sidebar{background:#100c10}
.profile-heading{max-width:1100px;padding:24px;background:#191217;border-color:#3a2730}
.profile-heading .profile-avatar{width:62px;height:62px;font-size:26px;border-width:2px}
.profile-label{color:#c6a6b1;font-size:12px;margin-bottom:4px}
.profile-stats,.profile-overview{max-width:1100px}
.profile-stats .metric{text-align:left;padding:14px 16px;background:#151116;border-color:#352630}
.profile-overview{grid-template-columns:minmax(0,1fr) minmax(245px,310px);gap:16px}
.profile-overview .profile-panel{background:#151116;border-color:#352630}
.profile-list-tabs{display:flex;flex-wrap:wrap}
.profile-list-row .profile-book-link{display:flex;align-items:center;gap:12px;text-align:left;padding:0;background:none;border:0}
.profile-book-link img,.profile-book-link>span{width:32px;height:43px;object-fit:cover;border-radius:5px}
.profile-book-link>span{display:grid;place-items:center;background:#2a1921}
.account-pop>button .ui-icon{margin-right:8px}
.search-overlay{background:#090609aa}
.search-dialog{width:min(100%,610px);border-radius:16px;background:#171116;border-color:#49313b}
.search-input-bar{padding:12px 16px;background:#21171e}
.search-input-bar input{font-size:15px}
.search-types{padding:10px 16px}
.search-results-heading{padding:8px 16px}
.search-result{padding:7px 12px}
.search-thumb{width:34px;height:46px;border-radius:5px}
.search-footer{padding:8px 16px}
@media(max-width:1050px){.profile-overview{grid-template-columns:1fr}}
@media(max-width:750px){.profile-heading{padding:14px}.profile-heading .profile-avatar{width:48px;height:48px}.search-dialog{max-width:calc(100vw - 24px)}}
.profile-heading{background:radial-gradient(ellipse at 78% -35%,#fb4d9970,transparent 64%),radial-gradient(ellipse at 8% 105%,#a52b6245,transparent 55%),#1a1119;border-color:#63374f;box-shadow:0 14px 48px #d5337520}
.profile-heading .profile-avatar{box-shadow:0 0 24px #f6469660}
.user-avatar,.profile-avatar{overflow:hidden}
.user-avatar img,.profile-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.profile-heading .profile-avatar-actions{margin-left:auto;display:grid;gap:6px;flex:none}
.profile-avatar-actions button{display:flex;align-items:center;gap:8px}
.profile-avatar-actions small{color:#d6b3c6;font-size:11px}
.comment-author{display:flex;align-items:center;gap:10px}
.comment-author small{display:block;margin:3px 0 0}
.book-comment{padding:14px 0}
.book-comment p{margin:8px 0 0}
@media(max-width:600px){.profile-heading .profile-avatar-actions{margin-left:0;width:100%}.profile-avatar-actions button{justify-self:start}}
.account-level,.comment-level{background:#262044;border:1px solid #594381;color:#e0d4ff;border-radius:7px;font-weight:700;padding:4px 7px}
#account .user-trigger{background:#181522;border:1px solid #413252;border-radius:24px;padding:3px 8px 3px 3px;gap:7px}
#account .user-trigger .account-level{font-size:11px}
.account-pop{background:radial-gradient(ellipse at 0 0,#27344f,transparent 60%),#17131d}
.account-pop .profile-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:10px 8px;gap:5px}
.account-pop .profile-stats .metric{text-align:center;padding:7px 3px}
.account-pop .profile-stats .metric strong{font-size:14px}
.account-pop .profile-stats .metric small{font-size:9px}
.own-level{max-width:1100px;margin-bottom:16px}
.level-card{display:flex;align-items:center;gap:14px;border:1px solid #47405d;border-radius:14px;padding:17px;background:radial-gradient(ellipse at 0 0,#274354,transparent 55%),#181520}
.account-pop .level-card{margin:7px 8px;padding:10px;gap:9px}
.level-badge{min-width:46px;min-height:46px;padding:4px;display:grid;place-items:center;border:1px solid #6496b4;border-radius:10px 10px 16px 16px;background:linear-gradient(140deg,#274968,#342658);color:#d1f8ff;font-weight:800;font-size:20px}
.account-pop .level-badge{min-width:33px;min-height:35px;font-size:14px}
.level-info{flex:1;min-width:0;display:grid;gap:7px}
.level-title,.level-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.level-title span,.level-caption,.xp-rules{font-size:12px;color:#c8bad5}
.level-info progress{appearance:none;width:100%;height:8px;border:0;border-radius:10px;overflow:hidden;background:#0d0a13}
.level-info progress::-webkit-progress-bar{background:#0d0a13}
.level-info progress::-webkit-progress-value{border-radius:10px;background:linear-gradient(90deg,#8050f0,#64e4ee)}
.level-info progress::-moz-progress-bar{border-radius:10px;background:linear-gradient(90deg,#8050f0,#64e4ee)}
.xp-rules{margin:7px 0 0}
.ranking{max-width:900px}
.ranking h1{margin:0 0 16px}
#rankingRows{display:grid;gap:8px;margin-top:16px}
.ranking-row{display:grid;grid-template-columns:38px 36px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;background:#1b1620;border:1px solid #393044;border-radius:12px;color:#f7f1fa;text-decoration:none}
.ranking-row:hover,.ranking-row:focus-visible{background:#251b31;border-color:#705196}
.ranking-place{font-weight:800;color:#c7b3df;text-align:center}
.ranking-person{display:grid;min-width:0;gap:4px;overflow-wrap:anywhere}
.ranking-person small,.ranking-value{color:#c7b3df}
#commentRows{display:grid;gap:10px;margin-top:16px}
.book-comment{padding:14px 16px;border:1px solid #392f43;border-radius:12px;background:#19151e}
.comment-author{flex-wrap:wrap}
.comment-user{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none}
.comment-user:hover b{text-decoration:underline}
.comment-level{font-size:11px}
.comment-form{padding:14px;border:1px solid #392f43;border-radius:12px;background:#151118}
@media(max-width:600px){.level-card{padding:12px}.ranking-row{grid-template-columns:24px 32px minmax(0,1fr) auto;gap:7px;padding:9px}.ranking-value{font-size:12px}}
/* Home leaderboard and account identity */
.home-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,310px);gap:20px;align-items:start}
.home-library{min-width:0}
.home-library .continue-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr))}
.home-ranking{position:sticky;top:72px;display:block;width:auto;min-width:0;padding:16px;background:radial-gradient(ellipse at 100% 0,#312036,transparent 60%),#181319;border:1px solid #463140;border-radius:16px}
.home-ranking h2{display:flex;align-items:center;gap:8px;font-size:18px;margin:0 0 13px;color:#fff3f8}
.home-ranking h2 .ui-icon{color:#ef99b7}
.ranking-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border:1px solid #3c2b3a;border-radius:10px;background:#120e14}
.ranking-tabs button{font-size:12px;padding:7px 5px;background:none;border:1px solid transparent;color:#c1b1c1}
.ranking-tabs button[aria-pressed=true]{background:#392434;color:#fff0f6;border-color:#614054}
.home-ranking #rankingRows{gap:0;margin-top:8px}
.home-ranking .ranking-row{grid-template-columns:20px 32px minmax(0,1fr) auto;gap:8px;padding:9px 3px;border:0;border-bottom:1px solid #332631;border-radius:0;background:transparent}
.home-ranking .ranking-row:last-child{border-bottom:0}
.home-ranking .ranking-row:hover,.home-ranking .ranking-row:focus-visible{background:#2c1f2b;border-radius:7px}
.home-ranking .ranking-row .user-avatar{width:30px;height:30px}
.home-ranking .ranking-row:first-child .ranking-place{color:#f2bc7a}
.home-ranking .ranking-value{font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
#account .user-trigger{border:1px solid transparent;background:transparent;padding:4px 8px 4px 5px;gap:10px;border-radius:11px}
#account .user-trigger:hover,#account .user-trigger:focus-visible{background:#251922;border-color:#513447}
.account-portrait{position:relative;display:block;flex:none}
.account-portrait .user-avatar{box-shadow:0 0 0 1px #2e1d2c;border-color:#bb668c}
#account .account-level{position:absolute;bottom:-4px;right:-6px;min-width:16px;padding:1px 4px;background:#392540;border:1px solid #a676b0;border-radius:5px;color:#fff1ff;text-align:center;line-height:1.2;font-size:10px}
.public-profile{max-width:850px;margin:0 auto;border:1px solid #422d40;border-radius:20px;overflow:hidden;background:radial-gradient(ellipse at 75% -15%,#692748,transparent 56%),#171218;padding:clamp(15px,3vw,32px)}
.public-profile-heading{position:static;display:flex;align-items:center;gap:16px;min-height:0;height:auto;margin-bottom:22px;padding:0;background:none;border:0}
.public-profile-heading h1{margin:0;font-size:clamp(24px,4vw,40px);overflow-wrap:anywhere}
.public-profile-heading p{margin:4px 0 0;color:#ccb7c4;font-size:13px}
.public-profile-heading .profile-avatar{width:66px;height:66px;flex:none;border:2px solid #d88ab5;font-size:24px}
.public-profile .level-card{background:#211822;border-color:#4c344d}
.public-profile .profile-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:14px 0 0}
.public-profile .profile-stats .metric{min-width:0;padding:10px;background:#1b151e}
.public-profile .profile-stats strong{font-size:clamp(15px,3vw,25px)}
@media(max-width:950px){.home-layout{grid-template-columns:1fr}.home-ranking{position:static;max-width:520px}}
.ranking-tabs button{display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.3}
.site-header{gap:clamp(10px,2vw,28px);background:linear-gradient(110deg,#1b1117,#120e12 45%,#1a1118);border-bottom-color:#40252e}
.site-header .top-search{margin-inline:0;flex:1 1 380px;max-width:580px}
.site-header .top-search-copy{font-size:13px}
.site-header .header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.site-header .header-action{display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;padding:8px 11px;border:1px solid #49313e;border-radius:9px;background:#251821;font-size:12px;color:#eed7e0}
.site-header .header-action:hover{background:#402032;border-color:#814253}
.site-header .header-action .ui-icon{color:#f093ad}
.site-header #account{margin-left:0}
@media(min-width:961px){.site-header>nav{display:none}}
@media(max-width:960px){.site-header .top-search{flex:0 0 38px}.site-header .header-actions{margin-left:0}.site-header .header-action{padding:7px}}
@media(max-width:750px){.site-header .header-actions{display:none}.site-header #account{margin-left:auto}.site-header .top-search{margin-left:auto}}
.account-pop .profile-stats{gap:7px;margin:12px 8px}
.account-pop .profile-stats .metric{padding:10px 5px;min-width:0}
.account-pop .profile-stats .metric strong{font-size:19px;margin:0 0 6px}
.account-pop .profile-stats .metric small{display:block;font-size:12px;line-height:1.25;color:#d9c9df}
.level-title>div{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap}
.level-title .level-rank{border:1px solid #654568;border-radius:6px;padding:2px 6px;background:#342238;color:#f0c8e9;font-size:11px}
#notificationButton{position:relative}
#notificationBadge{position:absolute;right:-5px;top:-5px;min-width:16px;padding:1px 4px;border-radius:10px;background:#b52451;color:white;font-size:10px;font-weight:800;line-height:1.4}
.notification-list{display:grid;gap:4px;overflow:auto;max-height:min(58vh,440px)}
.notification-list .notice-item{width:100%;display:flex;text-align:left;align-items:center;gap:10px;padding:8px;border:1px solid transparent;background:none}
.notification-list .notice-item:hover{background:#291c29}
.notification-list .notice-unread{background:#302033;border-color:#50354f}
.notification-list .notice-item span:last-child{min-width:0;overflow-wrap:anywhere}
.notification-list small{line-height:1.35}
.comment-actions{display:flex;gap:6px;margin-top:10px}
.comment-actions button{font-size:12px;padding:5px 8px}
.book-comment.comment-highlight{border-color:#c164ad;box-shadow:0 0 0 2px #a7448838}
.achievements{max-width:1100px;margin:0 0 16px;padding:12px 16px;border:1px solid #422d40;border-radius:12px;background:#19131c}
.achievements summary{cursor:pointer;font-weight:700}
.achievements summary span{margin-left:8px;color:#e8a9cf;font-size:12px}
.achievement-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(205px,100%),1fr));gap:8px;margin-top:12px}
.achievement{display:flex;align-items:center;gap:9px;min-width:0;padding:9px;border:1px solid #3b303d;border-radius:9px;background:#17131a;color:#c9bcca}
.achievement-unlocked{border-color:#75526a;background:linear-gradient(115deg,#352236,#211922);color:#ffedf8}
.achievement-icon{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:8px;background:#302335;color:#c19dbb}
.achievement-unlocked .achievement-icon{background:#533148;color:#ffb5d8}
.achievement strong,.achievement small{display:block}
.achievement small{margin-top:4px;color:#c4adbf;font-size:11px}
.public-profile .achievements{margin:14px 0 0}
.profile-sections{display:flex;gap:8px;max-width:1100px;margin:0 0 14px}
.profile-sections button[aria-pressed=true]{background:#382437;border-color:#75516e;color:#fff0fa}
.achievements h2{font-size:17px;margin:0}
.achievements h2 small{margin-left:8px;color:#e8a9cf;font-size:12px}
.reader-identity{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;min-width:0}
.reader-title{display:inline-block;border:1px solid #77536e;background:#342437;color:#f6c8eb;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:650;line-height:1.5}
.level-editor{margin:10px 0 14px;color:#dbbed2}
.level-editor summary{cursor:pointer;width:fit-content}
.level-editor form{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin-top:9px}
.level-editor label{max-width:155px}
.folder-import-book{padding:12px;border:1px solid #493244;border-radius:10px;background:#1b141b}
.folder-import-book summary{cursor:pointer;margin-bottom:6px}
.folder-import-book small{color:#c6a7bb}
.folder-import-book ul{list-style:none;margin:8px 0 0;padding:0;max-height:260px;overflow:auto}
.folder-import-book li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid #342731;overflow-wrap:anywhere}
.import-replace{display:flex;align-items:center;gap:8px}
.import-replace input{width:auto}
.import-new,.import-done{color:#9bdcb1}.import-replace,.import-error{color:#eab28f}.import-same{color:#b7a8b7}
.release-panel{border-color:#582936;background:#171117}
.release-panel .profile-stats{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}
.release-chart{display:grid;gap:8px;max-height:320px;overflow:auto;margin-bottom:18px}
.release-chart>div{display:grid;grid-template-columns:95px minmax(0,1fr) 34px;gap:10px;align-items:center}
.release-chart progress{width:100%;accent-color:#e3314b}
.release-backup{justify-content:space-between;overflow-wrap:anywhere;padding:8px 0;border-top:1px solid #392631}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:12px}
.theme-preview{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:18px;border-radius:14px;background:#261721}
.theme-preview .profile-avatar{width:55px;height:55px;font-size:22px}
.theme-swatch{height:110px;border-radius:9px;margin-bottom:12px;background:#261721}
[data-theme=shore]{background:linear-gradient(90deg,#1e0c15d9,#43132452),url('/art/eclipse.webp') right 48%/cover}
[data-theme=nightmare]{background:radial-gradient(ellipse at 76% 0,#8d4ecf,transparent 65%),#241336}
[data-theme=throne]{background:radial-gradient(ellipse at 76% 0,#8f5935,transparent 65%),#381623}
[data-theme=moon]{background:radial-gradient(ellipse at 76% 0,#407c9b,transparent 65%),#152234}
[data-theme=nightmare] .profile-avatar{border-color:#c48eff}
[data-theme=throne] .profile-avatar{border-color:#f2c679}
[data-theme=moon] .profile-avatar{border-color:#b2dce6}
[data-theme=shore] .profile-avatar{border-color:#ee5a6a}
.public-profile-heading[data-theme]:not([data-theme=default]){padding:14px;border-radius:12px}

.site-sidebar{position:relative;isolation:isolate}
.site-sidebar .sidebar-indicator{
 position:absolute;z-index:-1;box-sizing:border-box;pointer-events:none;opacity:0;
 border:1px solid #702b3b;border-radius:12px;background:#421b27;
 transition:opacity .16s ease;
}
.site-sidebar .sidebar-indicator.is-visible{
 opacity:1;
 transition:top .24s cubic-bezier(.2,.75,.25,1),height .24s cubic-bezier(.2,.75,.25,1),opacity .16s ease;
}
.site-sidebar button{
 transition:color .18s ease,background-color .18s ease,border-color .18s ease;
}
.site-sidebar button:is(:hover,:active){transform:none}
.site-sidebar button.active{background:transparent!important;border-color:transparent!important}
@media(prefers-reduced-motion:reduce){
 .site-sidebar .sidebar-indicator,.site-sidebar .sidebar-indicator.is-visible,.site-sidebar button{transition:none}
}

.reader-bookmark-tools{justify-content:flex-end;margin-bottom:12px;padding:8px;background:#161014f5;border:1px solid #3b242b;border-radius:12px}
.reader-bookmarks{width:min(560px,calc(100% - 28px));max-height:75vh;padding:18px;background:#171116;border:1px solid #613440;border-radius:16px;color:#f5edf1}
.reader-bookmarks::backdrop{background:#080609b8}
.reader-bookmarks-heading,.reader-bookmark-row{display:flex;align-items:center;gap:10px}
.reader-bookmarks-heading{justify-content:space-between;margin-bottom:12px}
.reader-bookmarks-heading h3{margin:0}
.reader-bookmark-excerpt{flex:1;min-width:0;text-align:left;overflow-wrap:anywhere}
.reader-bookmark-excerpt small{display:block;margin-bottom:4px;color:#e6a5b2}

.rv-track-meta [data-read-chapter]{align-self:flex-start;padding:3px 7px;font-size:11px;line-height:1.2;color:#ffb4bd}
@media(max-width:600px){
 .rv-track-meta:has([data-read-chapter]:not([hidden])) small{top:34px}
 .rv-track-meta [data-read-chapter]{padding:2px 4px;font-size:10px;white-space:nowrap}
}

.reading-panel{max-width:calc(var(--reader-width,960px) + 90px)}
.reading-panel .reader{font-size:var(--reader-font,18px);line-height:var(--reader-spacing,1.85)}
.reading-panel .reader-paragraph{line-height:inherit}
.reading-panel[data-reader-theme="night"] .reader{background:#090b10;border-color:#282d3a}
.reading-panel[data-reader-theme="night"] .reader-paragraph{color:#c7cddd}
#readerSettings [data-reader-settings-status]:empty{display:none}

.update-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:12px 14px;text-align:left}
.update-row strong,.update-row small{display:block;overflow-wrap:anywhere}
.update-row small,.update-row time{font-size:12px;color:#beadb6}
.update-row small{margin-top:4px}
.update-row time{text-align:right}
@media(max-width:480px){.update-row{gap:8px}.update-row time{grid-column:2;text-align:left}}

.bookmark-card{padding:10px;border:1px solid #432831;border-radius:12px}
.bookmark-card .reader-bookmark-excerpt{width:100%}
.bookmark-note{margin:8px 0;white-space:pre-wrap;overflow-wrap:anywhere;color:#e3bbc5}
.bookmark-note-editor{margin-top:8px}
.bookmark-note-editor summary{width:fit-content;cursor:pointer;color:#e6a5b2;font-size:13px}
.bookmark-note-editor form{margin-top:8px}

.rights-materials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.rights-materials fieldset{min-width:0;margin:0;padding:14px;border:1px solid #49313b;border-radius:12px}
.rights-materials legend{padding:0 6px;color:#efb3be;font-weight:650}
.rights-save-status:empty{display:none}
@media(max-width:650px){.rights-materials{grid-template-columns:1fr}}

.chapter-progress{display:inline-flex;flex-wrap:wrap;gap:4px}
.chapter-progress:empty{display:none}
.chapter-progress-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border:1px solid #573843;border-radius:8px;color:#e9bdc9;font-size:.9em;white-space:nowrap}
.chapter-progress-chip .ui-icon{width:12px;height:12px}

.reader-bookmark-tools .reader-tools{justify-content:flex-end}
.reader-text-search{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}
.reader-text-search[hidden]{display:none}
.reader-text-search input{flex:1 1 160px;width:auto;min-width:0}
.reader-text-search [data-find-status]{font-size:12px;color:#d0aeb8}
.reading-panel mark{background:#68402a;color:#fff5e7;border-radius:3px}
.reading-panel mark.find-current{background:#f5b260;color:#22120c;outline:2px solid #f5b260}

.rv-options .rv-report{min-width:24px;padding-inline:5px;color:#ffb4bd}
.chapter-report-card p{white-space:pre-wrap;overflow-wrap:anywhere}

.profile-list-sort{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:8px 0;color:#d5bfc8;font-size:13px}
.profile-list-sort select{width:auto;max-width:100%}

.backup-card{padding:14px;margin-bottom:10px}
.backup-description{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
.backup-card summary{cursor:pointer;color:#efb3be}
.backup-label-form{margin-top:10px}

.admin-workspace{display:grid;grid-template-columns:minmax(185px,230px) minmax(0,1fr);gap:22px;align-items:start}
.admin-workspace .admin-sections{display:grid;gap:12px;margin:0;padding:14px;border:1px solid #452630;border-radius:16px;background:#171016}
.admin-nav-group{display:grid;gap:4px}
.admin-nav-group h2{font-size:12px;color:#d1a1af;letter-spacing:0;margin:4px 8px}
.admin-nav-group button{text-align:left}
.admin-workspace .admin-content{max-width:none;min-width:0}
.admin-shortcuts{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px}
.admin-shortcuts button{text-align:left;min-height:54px}
.suggest-workspace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px}
.suggestion-choice{display:flex;align-items:center;gap:9px}
.suggestion-choice input{width:auto}
.poll-option{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}
.poll-option small{grid-column:1}
.poll-option button{grid-column:2;grid-row:1/3}
@media(max-width:900px){.admin-workspace,.suggest-workspace{grid-template-columns:1fr}.admin-workspace .admin-sections{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:start}}

.suggestion-choice{justify-content:space-between;flex-wrap:wrap}
.suggestion-choice button[aria-pressed="true"]{background:#49212e;border-color:#d16580;color:#ffdce5}

[data-palette="default"]{--site-base:#100c10;--site-panel:#21171d;--site-control:#30232b;--site-line:#54404b;--site-accent:#f692a3;--site-detail:#edc08f;--site-action:#a52d45;--site-glow:#492531;}
[data-palette="shore"]{--site-base:#14131a;--site-panel:#23212b;--site-control:#322d39;--site-line:#514652;--site-accent:#f2a68b;--site-detail:#b7c5e1;--site-action:#8d493d;--site-glow:#50383a;}
[data-palette="moon"]{--site-base:#101522;--site-panel:#192335;--site-control:#263146;--site-line:#414e63;--site-accent:#b4d8f5;--site-detail:#f0c489;--site-action:#355a83;--site-glow:#303754;}
[data-palette="nightmare"]{--site-base:#15121c;--site-panel:#241d2e;--site-control:#342a40;--site-line:#51435f;--site-accent:#d7b6f4;--site-detail:#f2bc8a;--site-action:#694480;--site-glow:#453152;}
[data-palette="throne"]{--site-base:#191417;--site-panel:#292027;--site-control:#3a2e35;--site-line:#59464e;--site-accent:#f1c57f;--site-detail:#efa4ad;--site-action:#8b3f52;--site-glow:#54313d;}
[data-palette="emerald"]{--site-base:#101815;--site-panel:#1c2722;--site-control:#2a3831;--site-line:#46574e;--site-accent:#a8dbc0;--site-detail:#f1c583;--site-action:#315f4d;--site-glow:#344738;}
[data-palette="frost"]{--site-base:#11191f;--site-panel:#1c2832;--site-control:#293745;--site-line:#45576a;--site-accent:#a9dfe4;--site-detail:#c8b7f6;--site-action:#315f72;--site-glow:#293d50;}
[data-palette="eclipse"]{--site-base:#16131c;--site-panel:#262032;--site-control:#392e43;--site-line:#574760;--site-accent:#f2b0c9;--site-detail:#e9c78b;--site-action:#853c66;--site-glow:#543443;}
[data-palette="amethyst"]{--site-base:#141522;--site-panel:#222438;--site-control:#31344a;--site-line:#4b4e68;--site-accent:#c9c5fc;--site-detail:#9ce0cd;--site-action:#535687;--site-glow:#343756;}
[data-palette="dawn"]{--site-base:#1a1714;--site-panel:#2a251f;--site-control:#3b332b;--site-line:#594b3e;--site-accent:#f5cf90;--site-detail:#a6dbcf;--site-action:#77552f;--site-glow:#4a3b31;}
[data-palette="astral"]{--site-base:#111421;--site-panel:#1c253a;--site-control:#2b374e;--site-line:#465675;--site-accent:#b6ccff;--site-detail:#f2a9c2;--site-action:#445c93;--site-glow:#313e61;}
:root[data-palette]:not([data-palette="default"]){
 background:var(--site-base);--accent:var(--site-accent);--panel:var(--site-panel);--stroke:var(--site-line);--line:var(--site-line);
 --site-selection:color-mix(in srgb,var(--site-accent) 16%,var(--site-panel));
}
:root[data-palette]:not([data-palette="default"]) body{background:radial-gradient(ellipse at 78% -16%,var(--site-glow),transparent 48%),var(--site-base)}
:root[data-palette]:not([data-palette="default"]) :where(.site-header,.site-sidebar,.floating-pop,.rv-player,.reader-bookmarks,.search-dialog){background:var(--site-base);border-color:var(--site-line)}
:root[data-palette]:not([data-palette="default"]) :where(.panel,.profile-panel,.profile-heading,.public-profile-heading,.filter-panel,.home-ranking,.card,.continue-card,.admin-sections,.folder-import-book,.search-result,.metric,.book-comment,.reader-bookmark-tools){background:var(--site-panel);border-color:var(--site-line)}
:root[data-palette]:not([data-palette="default"]) :where(button:not(.logo,.card,.quiet),input:not([type="range"]),select,textarea,.tag){background:var(--site-control);border-color:var(--site-line)}
:root[data-palette]:not([data-palette="default"]) :where(.primary,.rv-controls .rv-play){background:var(--site-action);border-color:var(--site-accent);color:#fff;box-shadow:none}
:root[data-palette]:not([data-palette="default"]) :where(.sidebar-indicator,.book-actions .list-selected,.profile-sections [aria-pressed="true"],.admin-sections [aria-pressed="true"],.chapter-tabs .selected){background:var(--site-selection);border-color:var(--site-accent);color:var(--site-accent)}
:root[data-palette]:not([data-palette="default"]) :where(.site-sidebar,.ranking-tabs) button{background:transparent;border-color:transparent}
:root[data-palette]:not([data-palette="default"]) :where(.site-sidebar,.ranking-tabs) button:hover{background:var(--site-selection)}
:root[data-palette]:not([data-palette="default"]) .site-sidebar button.active{color:var(--site-accent)!important}
:root[data-palette]:not([data-palette="default"]) .ranking-tabs{background:var(--site-base);border-color:var(--site-line)}
:root[data-palette]:not([data-palette="default"]) .ranking-tabs button[aria-pressed="true"]{background:var(--site-selection);color:var(--site-accent);border-color:var(--site-line)}
:root[data-palette]:not([data-palette="default"]) :where(.logo svg,.quiet,.site-sidebar .sideTitle,.site-header .header-action .ui-icon,.reader-kicker,.home-ranking h2 .ui-icon){color:var(--site-accent)}
:root[data-palette]:not([data-palette="default"]) :where(.eyebrow,.continue-kind,.home-ranking .ranking-row:first-child .ranking-place){color:var(--site-detail)}
:root[data-palette]:not([data-palette="default"]) .logo span{color:var(--site-detail)!important}
:root[data-palette]:not([data-palette="default"]) .home-welcome{
 position:relative;isolation:isolate;overflow:hidden;
 background:linear-gradient(105deg,var(--site-panel) 25%,var(--site-glow));border-color:var(--site-line);
}
:root[data-palette]:not([data-palette="default"]) .home-welcome::before{
 content:"";position:absolute;inset:0 0 0 34%;z-index:-1;pointer-events:none;
 background:url('/art/eclipse.webp') right center/cover no-repeat;filter:grayscale(1);opacity:.32;
 mask-image:linear-gradient(to right,transparent,#000);
}
:root[data-palette]:not([data-palette="default"]) .reading-panel:not([data-reader-theme="night"]) .reader{background:var(--site-base);border-color:var(--site-line)}
:root[data-palette]:not([data-palette="default"]) :where(button,input,select,textarea):focus-visible{outline-color:var(--site-accent)}
.theme-preview-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.theme-preview-bar:has(button[hidden]){display:none}
.site-theme-card .theme-swatch{display:grid;grid-template-columns:24% 1fr;grid-template-rows:16px 1fr;gap:5px;padding:12px;background:linear-gradient(135deg,var(--site-base),var(--site-glow));border:1px solid var(--site-line)}
.site-theme-card .theme-swatch i{display:block;border:1px solid var(--site-line);border-radius:5px;background:var(--site-panel)}
.site-theme-card .theme-swatch i:first-child{grid-column:1/-1;background:var(--site-control)}
.site-theme-card .theme-swatch i:last-child{box-shadow:inset 0 3px var(--site-accent),inset 0 -3px var(--site-detail)}

:root[data-palette]:not([data-palette="default"]) .ornate-cover{--frame:var(--cover-frame,var(--site-accent))!important}
:root[data-palette]:not([data-palette="default"]) .cover-fallback{background:radial-gradient(ellipse at 48% 20%,var(--site-glow),var(--site-panel) 55%,var(--site-base))}
:root[data-palette]:not([data-palette="default"]) :where(.cover-rune,.cover-fallback small){color:var(--site-detail);text-shadow:none}
:root[data-palette]:not([data-palette="default"]) :where(.user-avatar,.profile-avatar){border-color:var(--site-line);box-shadow:none}
:root[data-palette]:not([data-palette="default"]) :where(.user-avatar,.profile-avatar):not(:has(img)){background:linear-gradient(135deg,var(--site-action),var(--site-panel))}

:root[data-palette]:not([data-palette="default"]) .accent{color:var(--site-detail)!important}
:root[data-palette]:not([data-palette="default"]) .filter-chips button.active{
 background:var(--site-selection)!important;border-color:var(--site-accent)!important;color:var(--site-accent)!important
}
:root[data-palette]:not([data-palette="default"]) :is(.novel-card .cover.ornate-cover,.book-cover.ornate-cover)::after{
 border:0!important;border-image:none!important;background:var(--frame)!important;
 mask:url('/frame-ornament.svg') center/100% 100% no-repeat!important;
 opacity:.85;filter:drop-shadow(0 0 3px var(--site-accent));
}
@supports (-webkit-mask-box-image:url('/art/filigree.svg') 29 stretch){
 :root[data-palette]:not([data-palette="default"]) :is(.novel-card .cover.ornate-cover,.book-cover.ornate-cover)::after{
  mask:none!important;-webkit-mask-box-image:url('/art/filigree.svg') 29 / 24px stretch;
 }
}

/* Chapter and audio controls share the selected site's palette. */
:root[data-palette]:not([data-palette="default"]) :where(.book-tabs,.chapter-toolbar,.book-chapter-row,.chapter-pagination){border-color:var(--site-line)}
:root[data-palette]:not([data-palette="default"]) .book-chapter-row:not(:hover):not(.is-selected):not(.is-playing){border-color:transparent;border-bottom-color:var(--site-line)}
:root[data-palette]:not([data-palette="default"]) .chapter-grid .book-chapter-row:not(:hover):not(.is-selected):not(.is-playing){border-color:var(--site-line)}
:root[data-palette]:not([data-palette="default"]) .book-chapter-row:hover{background:var(--site-control);border-color:var(--site-line)}
:root[data-palette]:not([data-palette="default"]) .book-chapter-row:is(.is-selected,.is-playing){background:var(--site-selection);border-color:var(--site-accent)}
:root[data-palette]:not([data-palette="default"]) .chapter-index{
 background:radial-gradient(var(--site-control),var(--site-base));color:var(--site-detail);
}
:root[data-palette]:not([data-palette="default"]) .chapter-index::after{
 border:0;border-image:none;background:var(--site-accent);opacity:.72;
 mask:url('/frame-ornament.svg') center/100% 100% no-repeat;
}
:root[data-palette]:not([data-palette="default"]) .chapter-progress-chip{
 background:var(--site-base);border-color:var(--site-line);color:var(--site-detail);
}
:root[data-palette]:not([data-palette="default"]) .chapter-buttons input[type="checkbox"]{accent-color:var(--site-action)}
:root[data-palette]:not([data-palette="default"]) :where(.chapter-tabs,.chapter-view){background:var(--site-base);border-color:var(--site-line)}
:root[data-palette]:not([data-palette="default"]) :where(.book-tabs,.chapter-tabs,.chapter-view) button{
 background:transparent;border-color:transparent;box-shadow:none;
}
:root[data-palette]:not([data-palette="default"]) .book-tabs button.selected{
 background:linear-gradient(0deg,var(--site-selection),transparent 75%);border-color:var(--site-accent);color:var(--site-accent);
}
:root[data-palette]:not([data-palette="default"]) :where(.chapter-tabs,.chapter-view) button[aria-pressed="true"]{
 background:var(--site-selection);border-color:var(--site-accent);color:var(--site-accent);
}
:root[data-palette]:not([data-palette="default"]) .rv-cover{
 background:var(--site-control);border-color:var(--site-line);color:var(--site-detail);
}
:root[data-palette]:not([data-palette="default"]) .rv-player::after{
 filter:grayscale(1);opacity:.28;
}
:root[data-palette]:not([data-palette="default"]) .rv-progress::before{
 background:repeating-linear-gradient(90deg,var(--site-line) 0 2px,transparent 2px 5px);
}
:root[data-palette]:not([data-palette="default"]) .rv-player input[type="range"]{
 accent-color:var(--site-accent);
 background:linear-gradient(90deg,var(--site-accent) var(--progress,0%),var(--site-control) var(--progress,0%));
}
:root[data-palette]:not([data-palette="default"]) .rv-player input[type="range"]::-webkit-slider-thumb{
 border-color:var(--site-accent);background:var(--site-detail);box-shadow:0 0 7px var(--site-accent);
}
:root[data-palette]:not([data-palette="default"]) .rv-player input[type="range"]::-moz-range-thumb{
 border-color:var(--site-accent);background:var(--site-detail);box-shadow:0 0 7px var(--site-accent);
}
:root[data-palette]:not([data-palette="default"]) .rv-player button[aria-pressed="true"]{
 background:var(--site-selection);border-color:var(--site-accent);color:var(--site-accent);text-shadow:none;
}
:root[data-palette]:not([data-palette="default"]) .rv-player.is-playing .rv-play{animation-name:themedPlayGlow}
@keyframes themedPlayGlow{50%{box-shadow:0 0 18px color-mix(in srgb,var(--site-accent) 45%,transparent)}}
:root[data-palette]:not([data-palette="default"]) :where(.rv-options .rv-dismiss,.rv-options .rv-report,.rv-track-meta [data-read-chapter]){
 color:var(--site-detail);border-color:var(--site-line);
}
:root[data-palette]:not([data-palette="default"]) .rv-options .rv-dismiss:hover{border-color:var(--site-detail)}
:root[data-palette]:not([data-palette="default"]) .rv-queue{background:var(--site-base);border-color:var(--site-line)}
:root[data-palette]:not([data-palette="default"]) .rv-queue .rv-queue-item{background:var(--site-panel)!important}
:root[data-palette]:not([data-palette="default"]) .rv-queue .rv-queue-item.active{
 background:var(--site-selection)!important;color:var(--site-accent)!important;
}
:root[data-palette]:not([data-palette="default"]) .book-hero:not(.shadow-hero,.magus-hero)::before{
 background:radial-gradient(ellipse at 82% 10%,var(--site-glow),transparent 65%),
  linear-gradient(0deg,transparent,var(--site-panel));
}
:root[data-palette]:not([data-palette="default"]) .book-hero:is(.shadow-hero,.magus-hero)::before{
 background-image:linear-gradient(0deg,var(--site-base),transparent 48%),
  linear-gradient(90deg,var(--site-base) 22%,var(--site-panel) 45%,transparent 80%),var(--book-theme-art);
 background-color:var(--site-glow);
 background-blend-mode:normal,normal,luminosity;
 background-size:auto,auto,cover;
}
:root[data-palette]:not([data-palette="default"]) .shadow-hero{--book-theme-art:url('/art/eclipse.webp')}
:root[data-palette]:not([data-palette="default"]) .magus-hero{--book-theme-art:url('/art/supreme-magus.webp')}
:root[data-palette]:not([data-palette="default"]) .book-hero .book-genres span,
:root[data-palette]:not([data-palette="default"]) .book-hero .book-more summary{
 background:var(--site-control);border-color:var(--site-line);color:var(--site-detail);
}
:root[data-palette]:not([data-palette="default"]) .book-hero :is(.book-actions button,.book-more summary,.cover-edit):hover{
 border-color:var(--site-accent);
}
@media(min-width:751px) and (max-width:1320px){
 .book-hero:has(.cover-edit){display:grid;grid-template-columns:auto minmax(0,1fr);row-gap:10px}
 .book-hero:has(.cover-edit) .book-info{max-width:100%}
 .book-hero:has(.cover-edit) .cover-edit{grid-column:2;justify-self:end}
}
:root[data-palette]:not([data-palette="default"]) .book-cover:not(:has(img)){
 background:radial-gradient(var(--site-glow),var(--site-base));color:var(--site-detail);
}

:root[data-palette]:not([data-palette="default"]) .chapter-search{background:var(--site-control);border-color:var(--site-line)}
:root[data-palette]:not([data-palette="default"]) .chapter-search input{background:transparent;border:0}
:root[data-palette]:not([data-palette="default"]) .chapter-search:focus-within{border-color:var(--site-accent)}

/* Account overlays and recent activity must fit the viewport. */
#account .account-level{
 position:static;min-width:0;padding:0;border:0;background:none;color:#c8aab8;
 font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums;
}
#account .user-trigger{gap:7px}
#account .user-trigger .user-avatar{flex:none}
.floating-pop{max-height:calc(100dvh - var(--bar-height,54px) - 20px);overflow:auto;overscroll-behavior:contain}
.account-pop>button{margin:2px 0}
.level-badge .ui-icon{width:21px;height:21px}
.account-pop .level-badge .ui-icon{width:16px;height:16px}
.profile-heading,.own-level,.profile-overview,.profile-stats,.profile-sections,.achievements{max-width:1280px}
.profile-sections{flex-wrap:wrap}
.recent-compact .recent-item{padding:10px 7px;border-radius:8px}
.recent-compact .recent-item:last-child{padding-bottom:10px}
.recent-compact .recent-item b{white-space:normal;overflow-wrap:anywhere}
.recent-compact .recent-item>span:last-child{flex:none;padding-inline:3px}
:root[data-palette]:not([data-palette="default"]) :is(.level-card,.public-profile .level-card){
 background:linear-gradient(110deg,var(--site-selection),var(--site-panel) 70%);border-color:var(--site-line);
}
:root[data-palette]:not([data-palette="default"]) :is(.level-badge,.reader-title,.notice-icon,.activity-icon){
 background:var(--site-selection);border-color:var(--site-line);color:var(--site-detail);
}
:root[data-palette]:not([data-palette="default"]) :is(#account .account-level,.comment-level){
 color:var(--site-accent);background:none;border:0;
}
:root[data-palette]:not([data-palette="default"]) .level-info progress,
:root[data-palette]:not([data-palette="default"]) .level-info progress::-webkit-progress-bar{background:var(--site-base)}
:root[data-palette]:not([data-palette="default"]) .level-info progress::-webkit-progress-value{background:linear-gradient(90deg,var(--site-accent),var(--site-detail))}
:root[data-palette]:not([data-palette="default"]) .level-info progress::-moz-progress-bar{background:linear-gradient(90deg,var(--site-accent),var(--site-detail))}
:root[data-palette]:not([data-palette="default"]) :is(.comment-form,.achievements,.achievement){
 background:var(--site-base);border-color:var(--site-line);
}
:root[data-palette]:not([data-palette="default"]) .achievement-unlocked{background:var(--site-selection);border-color:var(--site-line)}
:root[data-palette]:not([data-palette="default"]) :is(.achievement-icon,.profile-stats .metric>span,.level-editor){color:var(--site-detail)}
:root[data-palette]:not([data-palette="default"]) .achievement-icon{background:var(--site-control)}
:root[data-palette]:not([data-palette="default"]) :is(.account-pop>button,.notification-list .notice-item,.recent-compact .recent-item,.profile-book-link){
 background:transparent;border-color:transparent;
}
:root[data-palette]:not([data-palette="default"]) :is(.account-pop>button,.notification-list .notice-item,.recent-compact .recent-item,.profile-book-link):hover{
 background:var(--site-selection);color:var(--site-accent);
}
:root[data-palette]:not([data-palette="default"]) .notification-list .notice-unread{background:var(--site-selection);border-color:var(--site-line)}
:root[data-palette]:not([data-palette="default"]) .recent-compact .recent-item:not(:last-child){border-bottom-color:var(--site-line)}
:root[data-palette]:not([data-palette="default"]) :is(#notificationButton,#account .user-trigger:hover){background:var(--site-control);border-color:var(--site-line)}
:root[data-palette]:not([data-palette="default"]) #notificationBadge{background:var(--site-detail);color:var(--site-base)}
:root[data-palette]:not([data-palette="default"]) .profile-list-tabs button.selected{background:var(--site-selection);border-color:var(--site-accent);color:var(--site-accent)}

.admin-workload{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.admin-workload button,.admin-user{
 background:var(--site-panel,#20171d);border:1px solid var(--site-line,#543541);border-radius:12px;padding:14px;
}
.admin-workload button{display:grid;gap:5px;text-align:left}
.admin-workload button:hover,.admin-nav-group button:hover{border-color:var(--site-accent,#f692a3)}
.admin-workload strong{font-size:24px;color:var(--site-detail,#edc08f)}
.admin-workload span,.admin-user small{font-size:13px;color:#ded0db}
.admin-user{display:grid;gap:7px}
.admin-user .level-editor{margin:0}
.admin-nav-group button{padding:9px 10px}
.admin-nav-group button[aria-pressed="false"]{background:transparent!important;border-color:transparent}
.admin-nav-group button[aria-pressed="false"]:hover{background:var(--site-control,#30232b)!important}
@media(min-width:901px){.admin-workspace .admin-sections{position:sticky;top:calc(var(--bar-height,54px) + 12px);max-height:calc(100dvh - var(--bar-height,54px) - 24px);overflow:auto}}

.admin-book-heading{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.admin-book-heading img{width:76px;aspect-ratio:2/3;object-fit:cover;border-radius:8px;border:1px solid var(--site-line,#543541)}
.admin-book-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:12px;align-items:start}
.admin-book-grid h3,.admin-book-grid p{margin:0;overflow-wrap:anywhere}
.admin-book-grid small{overflow-wrap:anywhere}
.admin-book-grid button{justify-self:start}

.auth-card{max-width:450px;margin:clamp(12px,7vh,80px) auto;padding:clamp(20px,5vw,36px)}
.auth-card h1{margin:0;font-size:32px}
.auth-card .row button{flex:1}
.auth-card button[aria-pressed="true"]{border-color:var(--site-accent,#ec768e);color:var(--site-accent,#ec768e)}
.auth-card form label{display:grid;gap:6px}
#authStatus{margin:0;color:var(--site-detail,#f5a4b3)}
#authStatus:empty{display:none}

.quests-panel{max-width:960px;margin-inline:auto;padding:clamp(16px,3vw,28px)}
.quests-panel h1,.quests-panel p{margin:0}
.quests-panel>button{justify-self:start;align-self:start}
.quest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px}
.quest-card{min-width:0;grid-template-rows:auto 8px auto 1fr auto;padding:16px}
.quest-card progress{width:100%;height:8px;appearance:none;border:0;border-radius:8px;overflow:hidden;background:var(--site-line,#402933)}
.quest-card progress::-webkit-progress-bar{background:var(--site-line,#402933)}
.quest-card progress::-webkit-progress-value{background:var(--site-accent,#ed4055)}
.quest-card progress::-moz-progress-bar{background:var(--site-accent,#ed4055)}
.quest-card button{grid-row:5;justify-self:start}
.quest-card button:disabled{background:var(--site-panel,#21171d)!important;color:inherit;opacity:.65}
.ornate-cover:has(>img){--frame:var(--cover-frame,var(--site-accent,#df5260))!important}
:is(.novel-card .cover.ornate-cover,.book-cover.ornate-cover):has(>img)::after{
 border:0!important;border-image:none!important;background:var(--frame)!important;
 mask:url('/frame-ornament.svg') center/100% 100% no-repeat!important;
 filter:drop-shadow(0 0 2px #000) drop-shadow(0 0 3px var(--frame))!important;
}

@supports (-webkit-mask-box-image:url('/art/filigree.svg') 29 stretch){
 :root[data-palette] :is(.novel-card .cover.ornate-cover,.book-cover.ornate-cover):has(>img)::after{
  background:var(--frame)!important;
 }
}

.guest-access{position:fixed;inset:0;margin:0;width:100%;height:100%;max-width:none;max-height:none;border:0;background:transparent;color:inherit;padding:24px}
.guest-access[open]{display:grid;place-items:center}
.guest-access::backdrop{background:#09070aeb;backdrop-filter:blur(8px)}
.guest-access>section{width:min(100%,440px);margin:auto;padding:24px}
.guest-access form button{width:100%}

.reader-tools-toggle{display:none}
@media(max-width:650px){
 .reading-panel{width:100%;min-width:0;padding:0;border:0;background:transparent;box-shadow:none}
 .reading-panel .reader-topbar{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;padding:8px 0}
 .reading-panel .reader-topbar h2{margin:4px 0}
 .reading-panel .reader-kicker{overflow-wrap:anywhere}
 .reading-panel .reader-tools-toggle{display:block;width:100%;text-align:left}
 .reading-panel .reader-bookmark-tools{padding:6px;margin-bottom:10px}
 .reader-tools-toggle[aria-expanded=false]+.reader-tools{display:none}
 .reading-panel #readerChapterTools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:6px}
 .reading-panel .reader-tools-toggle[aria-expanded=false]+#readerChapterTools{display:none}
 .reading-panel .reader{padding:14px 10px;overflow-wrap:anywhere;line-height:var(--reader-spacing,1.75);box-shadow:none}
 .reading-panel .reader-paragraph{margin:0 0 1em}
 .reading-panel .reader-paragraph:last-child{margin-bottom:0}
 .reading-panel .reader-bottom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
 .reading-panel button{min-height:44px}
}
@media(max-width:650px){
 .book-tabs{flex-wrap:wrap}
 .reading-panel .reader-bottom button{min-width:0;white-space:normal;padding-inline:6px}
}

.mobile-nav-toggle,.mobile-nav-backdrop{display:none}
@media(max-width:750px){
 .site-header .mobile-nav-toggle{display:grid;place-items:center;flex:0 0 44px;min-height:44px;padding:0;font-size:20px}
 .mobile-nav-open .mobile-nav-backdrop:not([hidden]){display:block;position:fixed;inset:var(--bar-height,54px) 0 0;z-index:27;background:#0009}
 .mobile-nav-open .layout>.site-sidebar{display:flex!important;position:fixed;inset:var(--bar-height,54px) auto 0 0;width:min(280px,85vw);height:auto;z-index:28;overflow-y:auto;padding:16px}
 .mobile-nav-open .site-sidebar button{min-height:44px}
 .mobile-nav-open .site-sidebar .adminOnly{display:none!important}
}

@media(max-width:750px){
 :root{--bar-height:62px}
 .site-header{display:flex;flex-wrap:nowrap;gap:6px;padding-inline:8px}
 .site-header nav{display:none}
 .site-header .logo{min-width:0;white-space:nowrap;font-size:clamp(15px,4.3vw,20px);padding-inline:0}
 .site-header .logo svg{flex-shrink:0}
 .site-header .top-search{margin-left:auto}
 .site-header #account{margin-left:0;flex-shrink:0}
 .site-header .user-trigger{gap:3px;padding-inline:3px!important}
 .book-info h1,.book-description{overflow-wrap:anywhere}
 .book-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .book-actions>button,.book-actions summary{justify-content:center;min-width:0;min-height:44px;white-space:normal;text-align:center}
 .chapter-toolbar :is(button,select,.chapter-search),.chapter-buttons button{min-height:44px}
 .book-chapter-row{grid-template-columns:minmax(0,1fr) auto}
 .chapter-formats{flex-wrap:wrap}
 .rv-player{left:6px;right:6px;bottom:calc(6px + env(safe-area-inset-bottom));height:auto;padding:8px 8px 4px;background:var(--site-base,#161014)}
 .rv-player::after{display:none}
 .rv-player-top{grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:4px 6px}
 .rv-cover{width:32px;height:36px}
 .rv-track-meta b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .rv-track-meta small,.rv-track-meta:has([data-read-chapter]:not([hidden])) small{position:static}
 .rv-options{gap:0;min-height:44px}
 .rv-options button{min-width:32px;min-height:44px;padding-inline:3px}
 .rv-options select{min-height:36px;width:50px;padding-inline:3px}
 .rv-controls{gap:6px;justify-content:center}
 .rv-controls button,.rv-controls .rv-play{min-width:44px;min-height:44px}
 .rv-progress{position:relative;inset:auto;display:grid;align-items:center;height:22px;margin:0 6px}
 .rv-player input[data-seek]{width:100%}
 body:has(.rv-player:not([hidden])){--dock-space:calc(155px + env(safe-area-inset-bottom))}
}

.beta-notice{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 16px;padding:14px;text-align:center;background:var(--site-panel,#171116);border-top:1px solid var(--site-line,#38262d)}
.beta-notice button{min-height:44px}
.site-report-body{white-space:pre-wrap;overflow-wrap:anywhere}

#bookChapterScroll{max-height:min(48dvh,360px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--site-line,#68404a) transparent}
.chapter-browser:has(#bookChapterScroll){min-height:0}

body:has(#app .reading-panel) .beta-notice{display:none}
