:root{--size:19px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;--bg:#0d1421;--paper:#111a29;--surface:#1b2738ee;--ink:#f2eef1;--muted:#a8b4c5;--line:#ffffff18;--accent:#d76a83;background:radial-gradient(circle at 82% 8%,#321b35 0,transparent 32%),linear-gradient(135deg,#10172a,#0d1421 58%,#171020);color:var(--ink)}body[data-theme=paper]{--bg:#f1f1ef;--paper:#fff;--surface:#fffffff2;--ink:#222;--muted:#707070;--line:#0000001f;background:var(--bg)}body[data-theme=sepia]{--bg:#eee7dc;--paper:#f8f1e6;--surface:#f8f2e8ee;--ink:#2c2527;--muted:#806f72;--line:#563f4329;--accent:#8d233b;background:var(--bg)}body[data-theme=night]{color-scheme:dark;--bg:#0d1421;--paper:#111a29;--surface:#1b2738ee;--ink:#f2eef1;--muted:#a8b4c5;--line:#ffffff18;--accent:#d76a83}button{font:inherit}.icon{display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;background:transparent;color:var(--ink);font-size:24px;cursor:pointer}.library-head{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,64px);border-bottom:1px solid var(--line);background:var(--surface)}.brand{display:flex;align-items:center;gap:13px}.brand>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--accent);color:#fff;font:600 20px Georgia}.brand small,.reader-name small,.aside-title small{display:block;color:var(--accent);font:700 9px Arial;letter-spacing:.18em}.brand strong{font:600 18px Georgia}.hero{padding:clamp(62px,10vw,115px) clamp(24px,8vw,110px);background:var(--paper);border-bottom:1px solid var(--line)}.hero>p{color:var(--accent);font:700 10px Arial;letter-spacing:.22em}.hero h1{margin:20px 0 0;font:500 clamp(46px,9vw,92px)/.94 Georgia;letter-spacing:-.055em}.hero blockquote{max-width:580px;margin:32px 0 0;color:var(--muted);font:17px/1.65 Georgia}.shelf{max-width:1050px;margin:auto;padding:50px 20px 90px}.shelf-title{display:flex;justify-content:space-between;align-items:end}.shelf-title h2{font:600 28px Georgia}.shelf-title span{color:var(--muted);font:700 10px Arial;text-transform:uppercase}.grid{display:grid;gap:24px}.book-card{display:grid;grid-template-columns:170px 1fr;gap:28px;padding:22px;border:1px solid var(--line);border-radius:22px;background:var(--surface)}.cover-card{min-height:245px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px;border:0;border-radius:10px;background:linear-gradient(145deg,#401d2b,#1f1720) center/cover;color:#f8e9ec;text-align:center;box-shadow:0 16px 35px #1e0f163f;cursor:pointer}.cover-card.has-cover{position:relative;justify-content:flex-end;background-position:center 35%;text-shadow:0 2px 12px #000;box-shadow:inset 0 -100px 80px -50px #080710e8,0 16px 35px #0007}.cover-card.has-cover small{position:absolute;top:15px;padding:5px 7px;border-radius:5px;background:#090b14a8}.cover-card.has-cover i{display:none}.cover-card.has-cover h3{padding:5px 8px;border-radius:6px;background:#090b14b8}.cover-card.has-cover em{color:#f6cad5}.cover-card small{font:700 8px Arial;letter-spacing:.2em}.cover-card i{width:35px;height:35px;margin:22px;border:1px solid #d9a7b4;border-radius:50%;box-shadow:inset -10px 0 #d9a7b4}.cover-card h3{margin:0;font:500 22px/1.05 Georgia}.cover-card em{margin-top:14px;color:#d9a7b4;font:italic 11px Georgia}.book-card>div{align-self:center}.book-card p{max-width:600px;color:var(--muted);font:16px/1.7 Georgia}.read-button{padding:12px 0;border:0;background:transparent;color:var(--accent);font:700 12px Arial;cursor:pointer}.mini-progress{height:3px;background:var(--line)}.mini-progress i,.top-progress i{display:block;height:100%;background:var(--accent)}
.reader{min-height:100vh}.top-progress{position:fixed;z-index:60;inset:0 0 auto;height:3px}.reader-head{position:fixed;z-index:50;top:3px;left:50%;width:min(100%,760px);height:62px;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;padding:0 12px;background:var(--surface);border-bottom:1px solid var(--line);backdrop-filter:blur(16px);transform:translateX(-50%)}.reader-name{min-width:0;border:0;background:transparent;color:var(--ink);text-align:center}.reader-name strong{display:block;overflow:hidden;margin-top:4px;font:600 14px Georgia;text-overflow:ellipsis;white-space:nowrap}.reading{width:min(100%,760px);margin:auto;background:var(--paper);box-shadow:0 0 60px #28192219}.reader-cover{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:90px 28px 60px;text-align:center}.reader-cover>p,.chapter-title small{color:var(--accent);font:700 10px Arial;letter-spacing:.2em}.moon{position:relative;width:68px;height:68px;margin:25px;border:1px solid var(--line);border-radius:50%}.moon:before{position:absolute;content:"";inset:12px;border-radius:50%;background:var(--accent)}.moon:after{position:absolute;content:"";width:37px;height:37px;top:10px;left:26px;border-radius:50%;background:var(--paper)}.reader-cover h1{margin:0;font:500 clamp(42px,11vw,72px)/.96 Georgia;letter-spacing:-.05em}.reader-cover h2{color:var(--accent);font:italic 18px Georgia}.reader-cover blockquote{max-width:500px;color:var(--muted);font:15px/1.65 Georgia}.reader-cover button{padding:14px 24px;border:1px solid var(--accent);border-radius:99px;background:transparent;color:var(--accent);font:700 12px Arial}.chapter{scroll-margin-top:62px;padding:104px clamp(24px,7vw,72px) 40px}.chapter+.chapter{border-top:1px solid var(--line)}.chapter-title{margin-bottom:56px;text-align:center}.chapter-title h2{margin:16px auto 22px;font:500 clamp(32px,8vw,48px)/1.05 Georgia;letter-spacing:-.035em}.chapter-title i{display:block;width:6px;height:6px;margin:auto;background:var(--accent);transform:rotate(45deg)}.prose{font:var(--size)/1.82 Georgia}.prose p{margin:0 0 1.2em;text-wrap:pretty}.prose .end{margin-top:55px;color:var(--accent);font:700 11px Arial;text-align:center;letter-spacing:.2em}
aside{position:fixed;z-index:80;inset:0 auto 0 0;width:min(89vw,380px);display:flex;flex-direction:column;padding:20px 18px;background:var(--paper);box-shadow:20px 0 60px #0003;transform:translateX(-105%);transition:.25s}aside.open{transform:none}.aside-title{display:flex;justify-content:space-between;padding:8px 4px 20px 12px;border-bottom:1px solid var(--line)}.aside-title strong{font:600 17px Georgia}aside nav{flex:1;overflow:auto;padding:14px 0}aside nav button{width:100%;display:grid;grid-template-columns:34px 1fr;padding:12px;border:0;border-radius:10px;background:transparent;color:var(--muted);font:15px Georgia;text-align:left}aside nav button span{color:var(--accent);font:700 9px Arial}aside nav .active{background:var(--line);color:var(--ink)}.tools{display:flex;align-items:center;gap:4px;padding-top:14px;border-top:1px solid var(--line)}.tools b{margin-right:auto;color:var(--muted);font:700 10px Arial}.tools em{width:36px;font:11px Arial}.reset{padding:9px;border:0;border-radius:9px;background:var(--line);color:var(--ink);font:700 10px Arial}.scrim{position:fixed;z-index:70;inset:0;border:0;background:#100b10a6}footer{position:sticky;z-index:40;bottom:0;width:min(100%,760px);height:58px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin:auto;padding:0 15px;background:var(--surface);border-top:1px solid var(--line)}footer button{border:0;background:transparent;color:var(--ink);font:700 11px Arial;text-align:left}footer button:last-child{text-align:right}footer b{color:var(--accent);font:700 10px Arial}.modal{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:22px;background:#100b10ba}.modal>div{width:min(100%,390px);padding:30px;border-radius:22px;background:var(--paper);text-align:center}.modal>div>span{font-size:32px;color:var(--accent)}.modal h2{font:600 25px Georgia}.modal p{color:var(--muted);font:15px Georgia}.modal section{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal button{padding:12px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--ink)}.modal button:last-child{background:var(--accent);color:white}[hidden]{display:none!important}
@media(max-width:600px){.book-card{grid-template-columns:110px 1fr;gap:16px;padding:14px}.cover-card{min-height:175px;padding:10px}.cover-card i{width:26px;height:26px;margin:13px}.cover-card h3{font-size:16px}.cover-card em{font-size:8px}.book-card p{font-size:13px;line-height:1.55}.read-button{font-size:10px}.hero h1{font-size:46px}}

