@import "https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&family=Inter:wght@400;500;600&display=swap";:root{--ink:#1b2e2a;--green:#193b34;--sage:#587068;--cream:#f5f1e8;--paper:#fbfaf6;--line:#e5e0d5;--rust:#a44e37;--muted:#7b837e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);margin:0;font-family:Inter,Noto Serif SC,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:236px 1fr;min-height:100vh;display:grid}.nav{color:#f8f4e9;background:#173a33;flex-direction:column;height:100vh;padding:30px 22px 22px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;padding:0 8px 34px;display:flex}.brand-mark{border:1px solid #a9b9ae;place-items:center;width:38px;height:38px;display:grid;transform:rotate(-3deg)}.brand>span{letter-spacing:3px;font-family:Noto Serif SC;font-size:21px;font-weight:700}.brand small{letter-spacing:2.8px;color:#a9b9ae;margin-top:2px;font:500 8px Inter;display:block}.nav nav{gap:7px;display:grid}.nav button{color:#b8c7c0;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:13px;width:100%;padding:12px 14px;display:flex}.nav nav button span{background:#294c44;border-radius:12px;margin-left:auto;padding:2px 7px;font-size:11px}.nav nav button.active,.nav nav button:hover{color:#fff;background:#284d44}.nav-bottom{margin-top:auto}.nav-bottom>button{margin-bottom:14px}.profile{border-top:1px solid #34564e;align-items:center;gap:10px;padding:20px 5px 0;display:flex}.profile>div{color:#24453d;background:#d3b78b;border-radius:50%;place-items:center;width:35px;height:35px;font-family:Noto Serif SC;font-weight:700;display:grid}.profile span{flex-direction:column;flex:1;display:flex}.profile strong{font-size:13px}.profile small{color:#9aafa7;margin-top:3px;font-size:10px}.nav-bottom .membership-entry{color:#f0c982;background:#f0c98214;border:1px solid #f0c98229}.content{min-width:0}.topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);z-index:10;background:#fbfaf6d1;justify-content:space-between;align-items:center;height:76px;padding:0 5vw;display:flex;position:sticky;top:0}.search{color:#83908b;align-items:center;gap:10px;width:min(420px,55%);display:flex}.search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0}.upload,.hero-copy button,.primary{background:var(--rust);color:#fff;border:0;border-radius:5px;align-items:center;gap:8px;padding:10px 16px;font-size:13px;display:flex}.topbar-actions{align-items:center;gap:9px;display:flex}.language-switch{color:#3d544d!important;background:#fbfaf6!important;border:1px solid #d6d1c5!important;border-radius:4px!important;width:auto!important;padding:8px 10px!important;font-size:10px!important}.auth-panel{position:relative}.auth-panel>.language-switch{position:absolute;top:24px;right:28px}.dashboard{max-width:1480px;margin:auto;padding:36px 5vw 70px}.hero{background-color:#dddfd2;background-image:radial-gradient(circle at 75% 30%,#eef0e6 0,#0000 30%),linear-gradient(110deg,#e3e4d9,#ced5c7);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border-radius:4px;justify-content:space-between;align-items:center;min-height:276px;padding:38px 5%;display:flex;position:relative;overflow:hidden}.hero:after{content:"";background-image:linear-gradient(#173a3309 1px,#0000 1px),linear-gradient(90deg,#173a3309 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0}.hero-copy,.hero-book{z-index:1;position:relative}.hero-copy>p,.section-head>div>p{letter-spacing:2px;color:#68766f;text-transform:uppercase;font-size:10px}.hero h1{margin:10px 0;font:600 clamp(30px,4vw,48px) Noto Serif SC}.hero blockquote{color:#5c6b65;border-left:2px solid #a6513c;margin:0 0 25px;padding-left:14px;font:400 14px Noto Serif SC}.hero-book{align-items:flex-end;gap:24px;margin-right:6%;display:flex}.hero-book>div:last-child{flex-direction:column;padding-bottom:8px;display:flex}.hero-book small{color:#718078;font-size:10px}.hero-book strong{margin:7px 0;font:600 18px Noto Serif SC}.hero-book p{color:#7c8580;margin:0;font-size:11px}.cover{border-radius:2px 5px 5px 2px;flex-direction:column;justify-content:space-between;width:112px;height:154px;padding:13px;transition:transform .25s;display:flex;position:relative;box-shadow:7px 9px 18px #1d28232e}.cover:after{content:"";opacity:.22;border-left:1px solid;position:absolute;top:0;bottom:0;left:7px}.cover-rule{opacity:.6;background:currentColor;height:1px}.cover-mark{text-align:center;font:500 30px Noto Serif SC}.cover-copy{text-align:center;flex-direction:column;gap:4px;display:flex}.cover-copy strong{letter-spacing:2px;font:600 13px Noto Serif SC}.cover-copy small{letter-spacing:1px;opacity:.8;font-size:7px}.cover-large{width:132px;height:184px;transform:rotate(3deg)}.section-head{justify-content:space-between;align-items:flex-end;margin:42px 0 20px;display:flex}.section-head h2{margin:4px 0 0;font:600 24px Noto Serif SC}.section-head p{color:#a44e37;margin:0}.filters{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.filters button{color:#748079;background:0 0;border:0;padding:6px 10px;font-size:12px}.filters button.active{color:var(--green);border-bottom:1px solid var(--green)}.book-grid{grid-template-columns:repeat(3,minmax(230px,1fr));gap:16px;display:grid}.book-card{background:var(--paper);cursor:pointer;border:1px solid #e8e3d8;gap:20px;min-height:194px;padding:20px;transition:all .2s;display:flex;position:relative}.book-card:hover{transform:translateY(-3px);box-shadow:0 13px 30px #2a352f17}.book-card:hover .cover{transform:rotate(-2deg)}.delete-book{color:#9a8177;opacity:0;z-index:2;background:#f3eee4;border:0;border-radius:50%;place-items:center;width:29px;height:29px;transition:all .18s;display:grid;position:absolute;top:9px;right:9px}.book-card:hover .delete-book,.delete-book:focus{opacity:1}.delete-book:hover{color:#fff;background:#a44e37}.book-info{flex:1;min-width:0;padding-top:4px}.book-info>span{color:#a44e37;letter-spacing:1px;font-size:9px}.book-info h3{margin:10px 0 4px;font:600 18px Noto Serif SC}.book-info p{color:#7c8580;margin:0;font:400 11px Noto Serif SC}.progress{align-items:center;gap:8px;margin-top:27px;display:flex}.progress i{background:#e4e2dc;flex:1;height:3px}.progress b{background:#a44e37;height:100%;display:block}.progress small{color:#89908b;font-size:9px}.add-book{color:#718078;background:0 0;border:1px dashed #c9c5bb;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:194px;display:flex}.add-book span{color:#3c514a;font:500 13px Noto Serif SC}.add-book small{letter-spacing:1px;font-size:9px}.notes-section{padding-top:4px}.text-btn{color:#60716a;background:0 0;border:0;align-items:center;font-size:11px;display:flex}.note-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.note-grid article{background:#ece8dd;flex-direction:column;min-height:185px;padding:24px;display:flex}.note-grid article.note-jumpable{cursor:pointer;transition:all .18s}.note-grid article.note-jumpable:hover{transform:translateY(-2px);box-shadow:0 10px 24px #2330291a}.quote{color:#b66954;height:36px;font:50px Georgia}.note-grid article>q{color:#7e665d;-webkit-line-clamp:3;border-left:2px solid #c49775;-webkit-box-orient:vertical;margin:5px 0 8px;padding-left:10px;font:400 11px/1.7 Noto Serif SC;text-decoration:none;display:-webkit-box;overflow:hidden}.note-markdown{-webkit-line-clamp:8;-webkit-box-orient:vertical;margin:8px 0 22px;font:400 13px/1.85 Noto Serif SC;display:-webkit-box;overflow:hidden}.note-markdown>:first-child{margin-top:0}.note-markdown>:last-child{margin-bottom:0}.note-markdown h1,.note-markdown h2,.note-markdown h3{margin:.65em 0 .3em;font-size:14px}.note-markdown ul,.note-markdown ol{padding-left:1.5em}.note-markdown blockquote{border-left:2px solid #b2765e;margin:.6em 0;padding-left:9px}.note-markdown pre{white-space:pre-wrap;background:#ded9cf;padding:7px}.note-markdown a{color:#a44e37}.note-grid footer{border-top:1px solid #d9d3c6;justify-content:space-between;align-items:flex-end;gap:10px;margin-top:auto;padding-top:13px;display:flex}.note-grid footer span{flex-direction:column;display:flex}.note-grid strong{font:600 11px Noto Serif SC}.note-grid small,.note-grid time{color:#8a8d87;margin-top:3px;font-size:9px}.note-grid time{text-align:right;white-space:nowrap}.note-date-tools{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:7px;display:flex}.note-date-tools label{color:#7b837e;flex-direction:column;gap:4px;font-size:8px;display:flex}.note-date-tools input,.note-date-tools select,.note-date-tools button,.note-date-tools>select{color:#53635d;background:#fbfaf6;border:1px solid #d6d0c3;height:30px;padding:0 7px;font-size:9px}.note-date-tools button{cursor:pointer}.scroll-anchor{scroll-margin-top:90px}.history-section{padding-top:4px}.history-list{gap:9px;display:grid}.history-list>button{color:#263832;text-align:left;background:#fbfaf6;border:1px solid #e5dfd3;grid-template-columns:48px minmax(140px,1fr) minmax(180px,35%) auto;align-items:center;gap:15px;width:100%;padding:12px 16px;display:grid}.history-list .cover{width:43px;height:59px;padding:6px}.history-list .cover-mark{font-size:14px}.history-list .cover-copy,.history-list .cover-rule{display:none}.history-list>button>span{flex-direction:column;gap:4px;display:flex}.history-list>button>span strong{font:600 13px Noto Serif SC}.history-list small{color:#858c87;font-size:9px}.history-list>button>div{align-items:center;gap:9px;display:flex}.history-list i{background:#dfddd6;flex:1;height:3px}.history-list i b{background:#a44e37;height:100%;display:block}.history-list>button:hover{border-color:#b8c2bc;box-shadow:0 5px 15px #2330290f}.reader{color:#2b342f;background:#e9e5da;min-height:100vh;transition:all .25s}.reader-dark{color:#d8d4c8;background:#17211f}.reader-head{z-index:10;background:inherit;border-bottom:1px solid #5c5c5026;grid-template-columns:1fr auto 1fr;align-items:center;height:64px;padding:0 28px;display:grid;position:sticky;top:0}.reader-title{text-align:center;flex-direction:column;display:flex}.reader-title strong{font:600 13px Noto Serif SC}.reader-title span{color:#7e8680;margin-top:3px;font-size:9px}.reader-tools{justify-content:flex-end;gap:5px;display:flex}.icon-btn{width:35px;height:35px;color:inherit;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.icon-btn:hover{background:#5050461a}.reading-sheet{color:#26322d;background:#f9f7f0;width:min(720px,100% - 40px);min-height:calc(100vh - 64px);margin:0 auto;padding:70px 72px 100px;box-shadow:0 0 40px #2f2d2614}.reader-dark .reading-sheet{color:#d8d4c8;background:#202b28}.eyebrow{letter-spacing:3px;color:#a5523d;text-align:center!important;font:500 9px Inter!important}.reading-sheet h1{text-align:center;margin:10px 0;font:600 30px Noto Serif SC}.ornament{text-align:center;color:#a5523d;margin:25px 0 40px;font-size:8px}.reading-sheet>p:not(.eyebrow){text-indent:2em;letter-spacing:.6px;margin:0 0 20px;font:400 17px/2.2 Noto Serif SC}.highlighted{background:linear-gradient(#0000 62%,#debe6c6b 62%)}.page-actions{border-top:1px solid #5a5a4624;justify-content:center;gap:10px;margin-top:55px;padding-top:24px;display:flex}.page-actions button{color:#738078;background:0 0;border:0;align-items:center;gap:6px;font-size:11px;display:flex}.reader-foot{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:9;background:#e9e5daf0;grid-template-columns:1fr minmax(220px,420px) 1fr;align-items:center;height:62px;padding:0 30px;display:grid;position:fixed;bottom:0;left:0;right:0}.reader-dark .reader-foot{background:#17211ff0}.reader-foot button{color:inherit;background:0 0;border:0;align-items:center;gap:5px;font-size:11px;display:flex}.reader-foot button:last-child{justify-self:end}.reader-foot>div{align-items:center;gap:10px;display:flex}.reader-foot>div:before{content:"";background:#bfc1b9;flex:1;height:2px}.reader-foot>div span{background:#a44e37;height:2px;position:absolute}.reader-foot small{white-space:nowrap;color:#7e8680;font-size:9px}.chapter-drawer{z-index:20;color:#263832;background:#f7f4ec;width:320px;padding:25px;transition:all .3s;position:fixed;top:0;bottom:0;left:-330px;overflow:auto;box-shadow:10px 0 35px #141e1b26}.drawer-open{left:0}.drawer-head{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.chapter-drawer>.cover{margin:auto}.chapter-drawer>p{text-align:center;color:#7b837e;margin:16px;font-size:10px}.chapter-list{border-top:1px solid #e3ded2;padding-top:14px}.chapter-list button{color:#9a9d96;background:0 0;border:0;gap:14px;width:100%;padding:11px 8px;font-size:9px;display:flex}.chapter-list button span{color:#52625c;font:400 12px Noto Serif SC}.chapter-list button.active{color:#a44e37;background:#e9e5d9}.chapter-list button.active span{color:#223b34;font-weight:600}.modal-backdrop{z-index:30;background:#141f1c8c;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow:auto}.note-modal{color:#263832;background:#faf8f1;width:min(540px,100%);padding:26px;box-shadow:0 25px 70px #00000040}.modal-title{justify-content:space-between;display:flex}.modal-title small{color:#a44e37;letter-spacing:1px;font-size:9px}.modal-title h3{margin:6px 0 18px;font:600 20px Noto Serif SC}.note-modal textarea{resize:none;background:#f3f0e7;border:1px solid #ded8cb;outline:0;width:100%;height:170px;padding:16px;font:400 14px/1.8 Noto Serif SC}.modal-actions{justify-content:space-between;align-items:center;margin-top:15px;display:flex}.modal-actions>div{align-items:center;gap:7px;display:flex}.modal-actions span{color:#838983;font-size:9px}.ai-button{color:#31534a;background:0 0;border:1px solid #8b9c95;border-radius:4px;align-items:center;gap:5px;padding:9px 11px;font-size:10px;display:inline-flex}.ai-button:hover{background:#e9eee8}.ai-button:disabled{opacity:.45;cursor:not-allowed;background:0 0}.toast{z-index:100;color:#fff;background:#173a33;border-radius:4px;padding:10px 18px;font-size:11px;position:fixed;bottom:85px;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #0000002e}.note-quote{color:#675c55;background:#eee9de;border-left:3px solid #b2765e;max-height:130px;margin:0 0 14px;padding:12px 15px;font:400 12px/1.8 Noto Serif SC;overflow:auto}.reader-notes{z-index:19;color:#263832;background:#f8f5ed;width:min(390px,92vw);padding:22px 18px;position:fixed;top:0;bottom:0;right:0;overflow:auto;box-shadow:-12px 0 40px #0f1c1838}.reader-notes-head{border-bottom:1px solid #ded9cd;justify-content:space-between;align-items:center;padding:3px 7px 18px;display:flex}.reader-notes-head>div{flex-direction:column;gap:5px;display:flex}.reader-notes-head small{color:#a44e37;font-size:9px}.reader-notes-head strong{font:600 18px Noto Serif SC}.reader-new-note,.reader-ai-organize{color:#31534a;background:0 0;border:1px dashed #aeb9b3;justify-content:center;align-items:center;gap:6px;width:100%;margin:14px 0;padding:10px;font-size:11px;display:flex}.reader-ai-organize{color:#86583f;background:#f1eadc;border-style:solid;border-color:#c4b08c;margin-top:-7px}.reader-note-list{gap:9px;display:grid}.reader-note-list>button{color:#34443e;text-align:left;background:#eee9de;border:0;flex-direction:column;gap:8px;padding:14px;display:flex}.reader-note-list q{color:#8a6558;-webkit-line-clamp:3;-webkit-box-orient:vertical;font:400 10px/1.65 Noto Serif SC;text-decoration:none;display:-webkit-box;overflow:hidden}.reader-note-list span{font:500 12px/1.65 Noto Serif SC}.reader-note-markdown{width:100%;max-height:150px;font:500 11px/1.65 Noto Serif SC;overflow:hidden}.reader-note-markdown>:first-child{margin-top:0}.reader-note-markdown>:last-child{margin-bottom:0}.reader-note-markdown h1,.reader-note-markdown h2,.reader-note-markdown h3{margin:.5em 0;font-size:12px}.reader-note-markdown ul,.reader-note-markdown ol{padding-left:1.4em}.reader-note-list small{color:#858b86;font-size:9px}.reader-note-list>button:hover{background:#e5dfd2}.reader-note-list>p{color:#858b86;text-align:center;padding:30px 15px;font:400 11px/1.8 Noto Serif SC}.ai-modal{width:min(680px,100%)}.ai-loading{color:#597068;flex-direction:column;justify-content:center;align-items:center;gap:13px;min-height:240px;display:flex}.ai-loading svg{animation:1.2s infinite pulse}.ai-loading span{font:500 12px Noto Serif SC}.ai-result{color:#36443f;background:#f1eee5;border:1px solid #ddd7ca;min-height:180px;max-height:55vh;padding:18px;font:400 13px/1.85 Noto Serif SC;overflow:auto}.ai-result>:first-child{margin-top:0}.ai-result>:last-child{margin-bottom:0}.ai-result h1,.ai-result h2,.ai-result h3{color:#243c35;margin:1.25em 0 .55em;font-family:Noto Serif SC;line-height:1.4}.ai-result h1{font-size:21px}.ai-result h2{border-bottom:1px solid #d8d1c3;padding-bottom:6px;font-size:18px}.ai-result h3{font-size:15px}.ai-result p{margin:.7em 0}.ai-result ul,.ai-result ol{margin:.65em 0;padding-left:1.7em}.ai-result li{margin:.3em 0}.ai-result blockquote{color:#675c55;background:#e9e4d8;border-left:3px solid #b2765e;margin:1em 0;padding:8px 13px}.ai-result code{background:#e1ddd3;border-radius:3px;padding:2px 4px;font:11px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace}.ai-result pre{color:#e8e3d8;background:#24312e;border-radius:5px;padding:13px;overflow:auto}.ai-result pre code{color:inherit;background:0 0;padding:0}.ai-result table{border-collapse:collapse;width:100%;margin:1em 0;font-size:11px}.ai-result th,.ai-result td{text-align:left;border:1px solid #d1cabd;padding:7px 9px}.ai-result th{background:#e6e1d6}.ai-result a{color:#a44e37;text-underline-offset:2px}.invalid-ai-link{color:#777;cursor:help;border-bottom:1px dotted #999}@media (max-width:1050px){.book-grid{grid-template-columns:repeat(2,1fr)}.hero-book{margin-right:0}.note-grid{grid-template-columns:1fr 1fr}.note-grid article:last-child{display:none}}@media (max-width:760px){.app-shell{display:block}.nav{display:none}.topbar{padding:0 20px}.dashboard{padding:20px}.hero{min-height:330px;padding:30px}.hero-book{display:none}.book-grid{grid-template-columns:1fr}.filters{display:none}.note-grid{grid-template-columns:1fr}.note-grid article:last-child{display:flex}.reader-head{grid-template-columns:auto 1fr auto;padding:0 10px}.reader-tools .icon-btn:nth-child(4){display:none}.reading-sheet{width:100%;padding:50px 25px 90px}.reading-sheet>p:not(.eyebrow){font-size:16px}.reader-foot{grid-template-columns:auto 1fr auto;padding:0 12px}.reader-foot>div{margin:0 10px}.reader-foot small{display:none}}.loading-page{color:#193b34;background:#f5f1e8;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100vh;display:flex}.loading-page svg{animation:1.4s ease-in-out infinite pulse}.loading-page span{letter-spacing:1px;font:500 12px Noto Serif SC}@keyframes pulse{50%{opacity:.35;transform:scale(.92)}}.auth-page{background:#f7f3ea;grid-template-columns:minmax(340px,44%) 1fr;min-height:100vh;display:grid}.auth-art{color:#fff;background:#193b34;flex-direction:column;padding:42px 55px;display:flex;position:relative;overflow:hidden}.auth-art:after{content:"阅";color:#ffffff06;font:600 340px Noto Serif SC;position:absolute;bottom:-120px;right:-35px}.auth-brand{padding:0}.auth-quote{z-index:1;max-width:420px;margin:auto 0;position:relative}.auth-quote p{margin:0 0 20px;font:500 clamp(25px,3.5vw,42px)/1.65 Noto Serif SC}.auth-quote span{color:#a9b9ae;font:400 13px Noto Serif SC}.shelf-lines{gap:7px;display:grid}.shelf-lines i{background:#365b52;height:1px}.shelf-lines i:nth-child(2){width:78%}.shelf-lines i:nth-child(3){width:55%}.auth-panel{place-items:center;padding:40px;display:grid}.auth-box{width:min(400px,100%)}.auth-box>.eyebrow{text-align:left!important}.auth-box h1{margin:10px 0;font:600 34px Noto Serif SC}.auth-lead{color:#7c8580;margin-bottom:32px;font:400 13px Noto Serif SC}.auth-box form{gap:17px;display:grid}.auth-box label,.upload-modal label{color:#53635d;gap:7px;font-size:11px;display:grid}.auth-box input,.upload-modal input{color:#1b2e2a;background:#fbfaf6;border:1px solid #dcd6c9;outline:0;width:100%;padding:12px 13px}.auth-box input:focus,.upload-modal input:focus{border-color:#577069}.auth-submit{justify-content:center;width:100%;margin-top:5px;padding:13px}.auth-switch{color:#a44e37;background:0 0;border:0;width:100%;margin-top:22px;font-size:11px}.form-error{color:#a33e32;background:#f5e5df;padding:9px 12px;font-size:11px}.profile .icon-btn{width:30px;height:30px;margin:0;padding:0}.real-reader{height:100vh;overflow:hidden}.real-reader-stage{width:100%;height:calc(100vh - 126px);padding:18px 5vw 0}.real-reader-stage iframe,.epub-viewer{background:#fff;border:0;width:min(1000px,100%);height:100%;margin:auto;display:block;box-shadow:0 0 30px #141e1914}.reader-file-wrap{width:min(1000px,100%);height:100%;margin:auto;position:relative}.reader-file-wrap .epub-viewer{width:100%}.reader-hidden{visibility:hidden}.reader-state{color:#6d7b75;background:#f7f4ec;flex-direction:column;justify-content:center;align-items:center;width:min(1000px,100%);height:100%;margin:auto;display:flex}.reader-state p{margin:13px 0 4px;font:500 13px Noto Serif SC}.reader-state small{color:#979c96;font-size:10px}.reader-error{color:#a44e37}.reader-dark .reader-state{color:#d8d4c8;background:#202b28}.reader-dark .real-reader-stage iframe,.reader-dark .epub-viewer{filter:invert(.88)hue-rotate(180deg)}.txt-reader{white-space:pre-wrap;background:#fbf9f2;width:min(800px,100%);height:100%;margin:auto;padding:55px 70px;font:400 17px/2.1 Noto Serif SC;overflow:auto;box-shadow:0 0 30px #141e1914}.reader-dark .txt-reader{color:#d8d4c8;background:#202b28}.reader-tools a{text-decoration:none}.empty-notes{color:#89918c;border:1px dashed #cbc6ba;flex-direction:column;justify-content:center;align-items:center;min-height:150px;display:flex}.empty-notes p{font:400 12px Noto Serif SC}.upload-modal{gap:15px;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.file-field{background:#f3f0e7;border:1px dashed #b8b8ae;grid-template-columns:auto 1fr;align-items:center;position:relative;gap:14px!important;padding:20px!important;display:flex!important}.file-field span{overflow-wrap:anywhere;flex-direction:column;min-width:0;font:500 12px Noto Serif SC;display:flex}.file-field small{color:#91958e;margin-top:4px;font:400 9px Inter}.file-field input{opacity:0;cursor:pointer;position:absolute;inset:0}.file-field.file-selected{color:#25483f;background:#e9eee8;border-style:solid;border-color:#668077}.selected-file-status{background:#f3f1e9;border-left:2px solid #587068;justify-content:space-between;gap:14px;margin-top:-8px;padding:9px 12px;display:flex}.selected-file-status span{color:#31534a;font:500 10px Noto Serif SC}.selected-file-status small{color:#7b837e;text-align:right;font-size:9px}.upload-progress{grid-template-columns:1fr auto;align-items:center;gap:6px 12px;display:grid}.upload-progress>div{background:#dedbd2;border-radius:6px;grid-column:1/3;height:6px;overflow:hidden}.upload-progress>div i{background:linear-gradient(90deg,#315a50,#a96a50);border-radius:6px;height:100%;transition:width .18s;display:block}.upload-progress span{color:#31534a;font:500 10px Noto Serif SC}.upload-progress small{color:#7b837e;font-size:9px}.upload-submit{justify-content:center;padding:12px}.upload-submit:disabled{cursor:not-allowed;opacity:.55}.epub-page,.epub-toc-toggle{z-index:8;color:#32423c;background:#f7f4ece6;border:0;border-radius:50%;place-items:center;transition:all .18s;display:grid;position:absolute;box-shadow:0 4px 18px #192d2629}.epub-page{width:45px;height:45px;top:50%;transform:translateY(-50%)}.epub-page:hover,.epub-toc-toggle:hover{background:#fff;transform:translateY(-50%)scale(1.06)}.epub-prev{left:14px}.epub-next{right:14px}.epub-toc-toggle{width:39px;height:39px;top:14px;left:14px}.epub-toc-toggle:hover{transform:scale(1.06)}.epub-toc-backdrop{z-index:18;background:#131f1b59;border:0;position:fixed;inset:0}.epub-toc{z-index:19;color:#263832;background:#f8f5ed;width:min(360px,88vw);padding:22px 18px;position:fixed;top:0;bottom:0;left:0;overflow:auto;box-shadow:12px 0 40px #0f1c1838}.epub-toc>div{border-bottom:1px solid #ded9cd;justify-content:space-between;align-items:center;padding:3px 7px 18px;display:flex}.epub-toc>div strong{font:600 18px Noto Serif SC}.epub-toc nav{padding-top:12px}.epub-toc nav button{color:#52625c;text-align:left;background:0 0;border:0;border-radius:4px;width:100%;padding:10px 12px;font:400 12px/1.5 Noto Serif SC}.epub-toc nav button:hover,.epub-toc nav button.active{color:#a44e37;background:#e8e4d8}.epub-toc nav p{color:#8a918c;padding:20px 10px;font-size:11px}.reader-dark .epub-page,.reader-dark .epub-toc-toggle{color:#ddd8cc;background:#202b28eb}.epub-speech{z-index:8;background:#f7f4ecf0;border-radius:7px;align-items:center;gap:5px;padding:5px;display:flex;position:absolute;top:14px;right:14px;box-shadow:0 4px 18px #192d2629}.epub-speech button{color:#32423c;background:0 0;border:0;border-radius:4px;place-items:center;width:30px;height:30px;display:grid}.epub-speech button:hover{background:#e6e1d5}.epub-speech select{color:#43524d;background:#fff;border:1px solid #d8d2c5;border-radius:4px;max-width:150px;height:30px;padding:0 5px;font-size:10px}.epub-speech select:last-child{width:59px}.reader-dark .epub-speech{background:#202b28f0}.reader-dark .epub-speech button{color:#ddd8cc}.reader-dark .epub-speech select{color:#ddd8cc;background:#273531;border-color:#44544f}.settings-modal{gap:16px;display:grid}.settings-modal>label{color:#53635d;gap:6px;font-size:10px;display:grid}.settings-modal select{color:#263832;background:#fbfaf6;border:1px solid #dcd6c9;width:100%;padding:11px}.settings-account{background:#f0ede4;align-items:center;gap:12px;padding:14px;display:flex}.settings-account>div{color:#fff;background:#193b34;border-radius:50%;place-items:center;width:40px;height:40px;font-family:Noto Serif SC;display:grid}.settings-account span{flex-direction:column;gap:3px;display:flex}.settings-account strong{font-size:12px}.settings-account small{color:#7d8580;font-size:9px}.plan-status{background:#faf8f2;border:1px solid #d9d4c8;gap:13px;padding:15px;display:grid}.plan-status header,.plan-status header span,.usage-row span{justify-content:space-between;align-items:center;display:flex}.plan-status header span{gap:8px}.plan-status header small{color:#7d8580;font-size:9px}.plan-status header strong{color:#21483e;font:600 13px Noto Serif SC}.plan-status header em,.usage-row em{color:#929790;font-size:8px;font-style:normal}.usage-row{grid-template-columns:1fr auto;gap:6px 12px;display:grid}.usage-row span{grid-column:1/3}.usage-row span b{color:#455952;font:500 10px Noto Serif SC}.usage-row span small{color:#747e78;font-size:9px}.usage-row>i{background:#e1ddd3;border-radius:5px;height:5px;overflow:hidden}.usage-row>i b{background:#315a50;border-radius:5px;height:100%;display:block}.plan-status footer{color:#858d87;border-top:1px solid #e7e2d7;padding-top:3px;font-size:8px}.plan-status>button{color:#315a50;background:0 0;border:1px solid #315a50;border-radius:4px;padding:8px;font-size:9px}.pricing-backdrop{padding:24px;overflow:auto}.pricing-modal{background:#f8f5ed;width:min(960px,100%);margin:auto;padding:26px;box-shadow:0 24px 80px #12231e47}.pricing-lead{text-align:center;color:#75807a;margin:0;font:400 11px Noto Serif SC}.billing-toggle{background:#e7e2d7;border-radius:6px;width:max-content;margin:18px auto 22px;padding:3px}.billing-toggle button{color:#68746e;background:0 0;border:0;border-radius:4px;padding:8px 13px;font-size:10px}.billing-toggle button.active{color:#25483f;background:#fff;box-shadow:0 2px 8px #19322a14}.billing-toggle span{color:#a44e37}.pricing-grid{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.pricing-grid article{background:#fff;border:1px solid #ddd7ca;flex-direction:column;min-height:390px;padding:22px 20px;display:flex;position:relative}.pricing-grid article.popular{border:1.5px solid #315a50;box-shadow:0 10px 28px #2341371a}.pricing-grid article>em{color:#fff;background:#315a50;border-radius:10px;padding:3px 8px;font-size:8px;font-style:normal;position:absolute;top:15px;right:15px}.pricing-grid header svg{color:#a44e37}.pricing-grid h4{margin:8px 0 5px;font:600 19px Noto Serif SC}.pricing-grid header p{color:#7b837e;min-height:32px;margin:0;font-size:9px;line-height:1.7}.plan-price{align-items:baseline;gap:5px;margin-top:20px;display:flex}.plan-price strong{color:#1d3f37;font:600 32px Inter}.plan-price small{color:#89908b;font-size:9px}.monthly-equivalent{color:#a44e37;margin:4px 0 0;font-size:8px}.pricing-grid ul{gap:11px;margin:0;padding:16px 0;list-style:none;display:grid}.pricing-grid li{color:#52615b;align-items:center;gap:7px;font:400 10px Noto Serif SC;display:flex}.pricing-grid li svg{color:#538071}.pricing-grid article>button{color:#fff;background:#315a50;border:0;border-radius:4px;margin-top:auto;padding:10px;font-size:10px}.pricing-grid article>button:disabled{color:#8b928d;cursor:default;background:#e6e2d8}.pricing-modal>footer{text-align:center;color:#7d8580;margin-top:18px;font-size:9px}.note-detail-modal{flex-direction:column;width:min(760px,100%);height:min(860px,100vh - 40px);max-height:calc(100vh - 40px);display:flex;overflow:hidden}.note-detail-modal>.modal-title,.note-detail-modal>.note-quote,.note-detail-modal>.modal-actions{flex:none}.note-detail-content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;max-height:none;overflow-y:auto}.note-detail-modal .note-quote{max-height:110px}.note-detail-content::-webkit-scrollbar{width:8px}.note-detail-content::-webkit-scrollbar-thumb{background:#b9b2a5;border-radius:6px}.note-detail-content::-webkit-scrollbar-track{background:#e9e4da}@media (max-width:760px){.auth-page{grid-template-columns:1fr}.auth-art{display:none}.auth-panel{padding:30px 22px}.real-reader-stage{height:calc(100vh - 126px);padding:0}.txt-reader{padding:35px 25px}.form-row{grid-template-columns:1fr}.delete-book{opacity:1}.epub-speech select:first-of-type{display:none}.epub-speech{top:8px;right:8px}.epub-toc-toggle{top:8px;left:8px}.epub-page{width:38px;height:38px}.epub-prev{left:7px}.epub-next{right:7px}.note-date-tools{justify-content:flex-start}.history-list>button{grid-template-columns:42px 1fr auto}.history-list>button>div{grid-column:2/4}.note-grid time{white-space:normal}.note-compose-backdrop{place-items:end center;padding:0;overflow:hidden}.note-compose-modal{width:100%;max-height:min(88dvh,720px);padding:18px 16px max(14px,env(safe-area-inset-bottom));border-radius:18px 18px 0 0;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 -12px 45px #00000047}.note-compose-modal:before{content:"";background:#cbc5b9;border-radius:4px;align-self:center;width:42px;height:4px;margin:-7px 0 12px}.note-compose-modal .modal-title{flex:none;align-items:flex-start}.note-compose-modal .modal-title h3{margin:4px 0 12px;font-size:18px}.note-compose-modal .modal-title .icon-btn{width:44px;height:44px;margin:-5px -7px 0 8px}.note-compose-modal .note-quote{flex:0 auto;max-height:20dvh;margin-bottom:10px;padding:10px 12px;font-size:11px;line-height:1.65}.note-compose-modal textarea{resize:none;border-radius:7px;flex:150px;height:auto;min-height:120px;padding:14px;font-size:16px;line-height:1.65}.note-compose-modal .modal-actions{flex-direction:column;flex:none;align-items:stretch;gap:9px;margin-top:10px;display:flex}.note-compose-modal .modal-actions>span{text-align:center;order:2}.note-compose-modal .modal-actions>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.note-compose-modal .modal-actions button{justify-content:center;min-height:44px;padding:10px 8px}.note-compose-modal .modal-actions .primary{grid-area:2/1/auto/-1}.note-compose-modal .modal-actions>div>.primary:only-child{grid-row:1}.reader-foot button{min-height:44px}.reader-foot button:last-child{color:#fff;background:#a44e37;border-radius:6px;padding:0 8px}.pricing-backdrop{padding:10px}.pricing-modal{padding:18px 14px}.pricing-grid{grid-template-columns:1fr}.pricing-grid article{min-height:auto}.pricing-grid article>button{margin-top:12px}.billing-toggle{margin:14px auto 18px}}.selected-file-status.duplicate-file-status{background:#f7ebe5;border-left-color:#a44e37}.selected-file-status.duplicate-file-status span,.selected-file-status.duplicate-file-status small{color:#8b3f2d}
