body{font-family:Songti SC,SimSun,STSong,Microsoft YaHei,serif}a{color:inherit}body{color:#222;background:#f7f7f7;font-family:-apple-system,PingFang SC,Microsoft YaHei,sans-serif}.home{max-width:1000px;margin:0 auto;padding:0 20px 48px}.topbar{z-index:10;background:#f7f7f7;border-bottom:1px solid #eee;align-items:center;gap:28px;margin-bottom:20px;padding:16px 0;display:flex;position:sticky;top:0}.logo{color:#222;white-space:nowrap;align-items:center;gap:8px;font-size:20px;font-weight:800;text-decoration:none;display:flex}.logo-ic{color:#fff;background:linear-gradient(135deg,#ff4d2e,#ff8f5e);border-radius:9px;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;font-weight:700;display:flex}.search{background:#fff;border:1px solid #e5e5e5;border-radius:20px;flex:1;max-width:420px;transition:all .2s;display:flex;overflow:hidden}.search:focus-within{border-color:#ff4d2e;box-shadow:0 0 0 3px #ff4d2e14}.search input{background:0 0;border:none;outline:none;flex:1;padding:9px 18px;font-size:14px}.nav-right{align-items:center;gap:16px;margin-left:auto;font-size:14px;display:flex}.nav-right a{color:#555;text-decoration:none}.nav-right a:hover{color:#ff4d2e}.nav-right .uname{color:#999;font-size:13px}.nav-right .logout{color:#999;cursor:pointer;background:0 0;border:1px solid #ddd;border-radius:16px;padding:4px 14px;font-family:inherit;font-size:13px}.nav-right .logout:hover{color:#ff4d2e;border-color:#ff4d2e}.nav-right .login-btn{color:#ff4d2e;font-weight:600}.resume{cursor:pointer;background:#fff;border:1px solid #f0e3e0;border-radius:12px;align-items:center;gap:14px;margin-bottom:18px;padding:14px 18px;transition:all .15s;display:flex}.resume:hover{box-shadow:0 4px 14px #0000000f}.resume-cov{color:#fff;background:linear-gradient(160deg,#ff4d2e,#ff8f5e);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:60px;font-size:11px;font-weight:700;display:flex}.resume-info{flex:1;min-width:0}.resume-nm{text-overflow:ellipsis;white-space:nowrap;margin-bottom:3px;font-size:15px;font-weight:600;overflow:hidden}.resume-pro{color:#999;font-size:12px}.resume-btn{color:#ff4d2e;flex-shrink:0;font-size:13px;font-weight:600}.filters{gap:6px;margin-bottom:18px;display:flex}.filters button{color:#666;cursor:pointer;background:#fff;border:1px solid #e5e5e5;border-radius:16px;padding:6px 16px;font-family:inherit;font-size:13px;transition:all .15s}.filters button:hover{color:#ff4d2e;border-color:#ff4d2e}.filters button.on{color:#fff;background:#ff4d2e;border-color:#ff4d2e}.grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.card{cursor:pointer;transition:all .15s}.card:hover{transform:translateY(-3px)}.card-cov{color:#fff;letter-spacing:2px;border-radius:10px;justify-content:center;align-items:center;height:180px;margin-bottom:10px;font-size:16px;font-weight:700;display:flex;box-shadow:0 4px 12px #00000014}.card-nm{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.card-meta{color:#999;margin-top:3px;font-size:12px}.empty{text-align:center;color:#aaa;padding:80px 0;font-size:14px}@media (width<=768px){.home{padding:0 14px 40px}.topbar{gap:10px;margin-bottom:14px;padding:12px 0}.logo{font-size:17px}.logo-ic{border-radius:8px;width:28px;height:28px;font-size:13px}.search{border-radius:18px;max-width:none}.search input{min-width:0;padding:8px 14px;font-size:14px}.nav-right{gap:10px;font-size:13px}.nav-right .uname{display:none}.nav-right .logout{padding:4px 10px;font-size:12px}.resume{gap:12px;padding:12px 14px}.resume-btn{font-size:12px}.filters{-webkit-overflow-scrolling:touch;gap:8px;margin-bottom:14px;overflow-x:auto}.filters button{flex-shrink:0;padding:6px 14px;font-size:12px}.grid{grid-template-columns:repeat(2,1fr);gap:14px 12px}.card-cov{aspect-ratio:3/4;border-radius:8px;height:auto;font-size:15px}.card-nm{font-size:13px}.card-meta{font-size:11px}.empty{padding:60px 0}}@media (width<=360px){.grid{grid-template-columns:repeat(2,1fr);gap:10px}.topbar{gap:8px}.nav-right .logout{display:none}.card-nm{font-size:12px}}.reader{background:#f4efdf;min-height:100vh}.rbar{z-index:10;opacity:1;background:#f4efdff2;border-bottom:1px solid #d9cfae;justify-content:space-between;align-items:center;max-height:60px;padding:12px 28px;transition:max-height .25s,padding .25s,opacity .2s;display:flex;position:sticky;top:0;overflow:hidden}.rbar.hide{opacity:0;border-bottom-color:#0000;max-height:0;padding-top:0;padding-bottom:0}.reader.hidden-bar .toc{top:0}.rbar .bk{color:#8d7f60;cursor:pointer;letter-spacing:2px;background:0 0;border:none;font-family:inherit;font-size:14px;text-decoration:none}.rbar .bk:hover{color:#a0834f}.rbar .nm{color:#3f3523;letter-spacing:2px;font-size:15px}.rbar-right{align-items:center;gap:16px;display:flex}.shelf-btn{cursor:pointer;background:0 0;border:1px solid #cdbf96;border-radius:3px;padding:4px 12px;font-family:inherit}.shelf-btn.on{color:#8a6d3b;border-color:#8a6d3b}.rbody{display:flex}.toc{border-right:1px solid #d9cfae;flex-shrink:0;width:240px;max-height:calc(100vh - 50px);padding:18px 0;position:sticky;top:50px;overflow-y:auto}.toc h3{text-align:center;color:#a0834f;letter-spacing:6px;margin-bottom:14px;font-size:14px;font-weight:400}.toc-search{padding:0 14px 10px}.toc-search input{box-sizing:border-box;color:#4a3f2f;background:#faf6ea;border:1px solid #cdbf96;border-radius:4px;outline:none;width:100%;padding:7px 10px;font-family:inherit;font-size:13px}.toc-search input:focus{border-color:#a0834f}.toc-empty{color:#b3a377;text-align:center;padding:14px 22px;font-size:13px}.toc-group{border-bottom:1px solid #ece5cd}.toc-group-head{cursor:pointer;color:#8a6d3b;letter-spacing:1px;-webkit-user-select:none;user-select:none;background:#f7f2e2;justify-content:space-between;align-items:center;padding:11px 22px;font-size:14px;transition:background .15s;display:flex}.toc-group-head:hover{background:#f0e9d4}.toc-group-head.open{color:#5c4520;background:#efe6cd;font-weight:600}.toc-group-arrow{color:#a0834f;font-size:12px}.toc-group-body{padding:4px 0}.toc-item{color:#6b5c3e;cursor:pointer;padding:9px 22px;font-size:14px}.toc-item:hover{background:#e9dfc4}.toc-item.on{color:#fff;background:#8a6d3b}.sheet{background:#fcf8ec;flex:1;min-width:0;max-width:720px;margin:0 auto;padding:52px 40px 20px;box-shadow:inset 0 0 60px #a0834f1f}.ch-block{scroll-margin-top:56px}.ch-head{text-align:center;margin-bottom:28px}.ch-head .ch-index{color:#b3a377;letter-spacing:3px;margin-bottom:10px;font-size:12px;display:block}.ch-head h1{color:#3f3523;letter-spacing:4px;margin:0;font-size:24px;font-weight:400}.ch-head h1:before,.ch-head h1:after{content:"——";color:#b5a478;margin:0 8px;font-size:16px}.feed-end{text-align:center;color:#b3a377;letter-spacing:6px;padding:48px 0 24px;font-size:14px}.art p{text-indent:2em;color:#4a3f2f;margin-bottom:12px;font-size:18px;line-height:2.1}.pnav{border-top:1px dashed #cdbf96;justify-content:space-between;align-items:center;margin-top:48px;padding-top:20px;display:flex}.pnav span{color:#8d7f60;cursor:pointer;letter-spacing:2px;font-size:14px}.pnav span:hover{color:#a0834f}.pnav span.disabled{color:#d5ccb2;cursor:not-allowed}.pnav span.disabled:hover{color:#d5ccb2}.loading{text-align:center;color:#8d7f60;letter-spacing:3px;padding:80px 0;font-size:15px}.loading.small{padding:20px 0 0;font-size:13px}.toc-btn{display:inline}.toc-close{color:#8d7f60;cursor:pointer;background:0 0;border:none;padding:2px 6px;font-family:inherit;font-size:16px;display:none}.toc-head{display:none}@media (width<=768px){.rbar{padding:10px 12px}.rbar .bk{letter-spacing:1px;font-size:12px}.rbar .nm{text-overflow:ellipsis;white-space:nowrap;max-width:40vw;font-size:13px;overflow:hidden}.rbar-right{gap:8px}.shelf-btn{padding:3px 8px;font-size:12px}.rbody{display:block}.toc{z-index:100;-webkit-overflow-scrolling:touch;background:#f4efdf;border-right:none;width:100%;max-height:none;padding:0 0 24px;animation:.22s ease-out tocSlideIn;position:fixed;inset:0;overflow-y:auto}.toc-head{z-index:2;background:#f4efdf;justify-content:space-between;align-items:center;padding:14px 18px 10px;display:flex;position:sticky;top:0}.toc-head h3{margin-bottom:0}.toc-close{color:#6b5c3e;background:#faf6ea;border:1px solid #cdbf96;border-radius:50%;width:34px;height:34px;font-size:14px;line-height:1;display:block}.toc-search{padding:6px 18px 12px}.toc-group-head{padding:12px 18px}.toc-item{padding:11px 18px}.sheet{max-width:100%;min-height:calc(100vh - 44px);padding:36px 22px 18px}.ch-head h1{letter-spacing:2px;font-size:20px}.art p{font-size:17px;line-height:2}.ch-head{margin-bottom:22px}.pnav{flex-wrap:wrap;justify-content:center;gap:10px}.pnav span{padding:6px 10px;font-size:13px}.loading{padding:60px 0;font-size:14px}}@keyframes tocSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.auth-page{background:#f4efdf;justify-content:center;align-items:center;min-height:100vh;padding:24px;font-family:Songti SC,SimSun,Microsoft YaHei,serif;display:flex;position:relative;overflow:hidden}.auth-page:before{content:"📖";opacity:.06;pointer-events:none;font-size:150px;position:fixed;bottom:60px;left:-20px;transform:rotate(15deg)}.auth-page:after{content:"🖋";opacity:.06;pointer-events:none;font-size:130px;position:fixed;top:40px;right:-30px;transform:rotate(-15deg)}.auth-box{z-index:1;background:#fcf8ec;border:1px solid #d9cfae;border-radius:10px;width:100%;max-width:400px;padding:44px 46px;position:relative;box-shadow:0 12px 40px #785f2d29}.orn{text-align:center;color:#b5a478;letter-spacing:10px;margin-bottom:14px;font-size:13px}.auth-box h1{text-align:center;letter-spacing:12px;color:#3f3523;font-size:32px;font-weight:400}.sub{text-align:center;color:#a3967d;letter-spacing:2px;margin:10px 0 30px;font-size:13px}.tabs{border-bottom:1px solid #d9cfae;margin-bottom:26px;display:flex}.tabs button{cursor:pointer;color:#8d7f60;letter-spacing:6px;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:11px;font-family:inherit;font-size:16px}.tabs button.on{color:#8a6d3b;border-bottom-color:#8a6d3b;font-weight:600}.field{margin-bottom:16px}.field label{color:#6b5c3e;letter-spacing:2px;margin-bottom:7px;font-size:13px;display:block}.field input{color:#4a3f2f;box-sizing:border-box;background:#faf6ea;border:1px solid #cdbf96;border-radius:4px;outline:none;width:100%;padding:11px 14px;font-family:inherit;font-size:14px}.field input:focus{border-color:#a0834f;box-shadow:0 0 0 3px #a0834f1f}.row{color:#8d7f60;justify-content:space-between;align-items:center;margin:4px 0 20px;font-size:13px;display:flex}.row label{cursor:pointer;align-items:center;gap:6px;display:flex}.row a{color:#8a6d3b;text-decoration:none}.row a:hover{color:#5c4520}.agree-row{align-items:flex-start;gap:8px}.agree-row label{flex-shrink:0}.error{color:#b34a3a;text-align:center;white-space:pre-line;margin-bottom:12px;font-size:13px;line-height:1.7}.info{color:#8a6d3b;text-align:center;white-space:pre-line;margin-bottom:12px;font-size:13px;line-height:1.7}.btn{cursor:pointer;color:#faf6ea;letter-spacing:8px;background:#8a6d3b;border:none;border-radius:4px;width:100%;padding:12px;font-family:inherit;font-size:16px;transition:all .2s}.btn:hover{background:#5c4520}.btn:disabled{opacity:.6;cursor:not-allowed}.divider{color:#b3a377;letter-spacing:2px;align-items:center;gap:14px;margin:24px 0 18px;font-size:12px;display:flex}.divider:before,.divider:after{content:"";background:#e3dcc4;flex:1;height:1px}.social{gap:12px;display:flex}.social button{cursor:pointer;color:#6b5c3e;background:#faf6ea;border:1px solid #cdbf96;border-radius:4px;flex:1;padding:10px;font-family:inherit;font-size:14px;transition:all .2s}.social button:hover{color:#5c4520;background:#f0e9d4}.agree{color:#a3967d;text-align:center;margin-top:20px;font-size:13px;line-height:1.8}.agree a{color:#8a6d3b;text-decoration:none}.agree a:hover{color:#5c4520}.back{color:#a3967d;cursor:pointer;letter-spacing:1px;background:0 0;border:none;margin:14px auto 0;font-family:inherit;font-size:13px;display:block}.back:hover{color:#8a6d3b}@media (width<=768px){.auth-page{padding:14px}.auth-box{padding:30px 24px}.auth-box h1{letter-spacing:8px;font-size:26px}.sub{margin:8px 0 24px;font-size:12px}.tabs button{letter-spacing:4px;padding:10px;font-size:15px}.field{margin-bottom:14px}.field label{font-size:12px}.field input{padding:11px 13px;font-size:15px}.row{font-size:12px}.btn{letter-spacing:6px;padding:13px;font-size:15px}.social button{padding:11px;font-size:14px}.agree{font-size:12px}.auth-page:before{font-size:100px;bottom:30px;left:-30px}.auth-page:after{font-size:90px;top:20px;right:-20px}}@media (width<=360px){.auth-box{padding:24px 18px}.orn{letter-spacing:6px}}*{box-sizing:border-box;margin:0;padding:0}.shelf-page{max-width:900px;min-height:100vh;margin:0 auto;padding:24px;font-family:Songti SC,SimSun,Microsoft YaHei,serif}.shelf-head{border-bottom:1px solid #d9cfae;justify-content:space-between;align-items:center;margin-bottom:22px;padding-bottom:18px;display:flex}.shelf-head .bk{color:#8d7f60;cursor:pointer;letter-spacing:2px;white-space:nowrap;background:0 0;border:none;font-family:inherit;font-size:14px}.shelf-head .bk:hover{color:#a0834f}.shelf-head .bk.logout{color:#b3a377;font-size:13px}.shelf-head .bk.logout:hover{color:#b34a3a}.head-mid{text-align:center}.head-mid .orn{color:#b5a478;letter-spacing:8px;margin-bottom:8px;font-size:12px}.head-mid h1{letter-spacing:10px;color:#3f3523;font-size:26px;font-weight:400}.head-mid .sub{color:#a3967d;letter-spacing:2px;margin-top:6px;font-size:13px}.shelf-tabs{justify-content:center;gap:10px;margin-bottom:22px;display:flex}.shelf-tabs button{color:#6b5c3e;cursor:pointer;letter-spacing:2px;background:#faf6ea;border:1px solid #cdbf96;border-radius:4px;padding:9px 28px;font-family:inherit;font-size:15px;transition:all .2s}.shelf-tabs button:hover{background:#f0e9d4}.shelf-tabs button.on{color:#faf6ea;background:#8a6d3b;border-color:#5c4520}.shelf-list{border-top:1px solid #d9cfae}.shelf-row{cursor:pointer;border-bottom:1px solid #e3dcc4;align-items:center;gap:18px;padding:18px 10px;transition:all .15s;display:flex}.shelf-row:hover{background:#faf6ea}.shelf-row .cov{color:#fff;letter-spacing:2px;border:1px solid #cbbb90;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:78px;font-size:12px;display:flex;box-shadow:2px 3px 8px #5a461e2e}.shelf-row .info{flex:1;min-width:0}.shelf-row .t{color:#3f3523;margin-bottom:5px;font-size:17px}.shelf-row .d{color:#8d7f60;text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.6;overflow:hidden}.shelf-row .meta{color:#b3a377;margin-top:5px;font-size:12px}.shelf-row .del,.shelf-row .continue{cursor:pointer;letter-spacing:1px;border-radius:4px;flex-shrink:0;padding:8px 18px;font-family:inherit;font-size:13px;transition:all .2s}.shelf-row .del{color:#8d7f60;background:#faf6ea;border:1px solid #cdbf96}.shelf-row .del:hover{color:#b34a3a;border-color:#b34a3a}.shelf-row .continue{color:#faf6ea;background:#8a6d3b;border:none}.shelf-row .continue:hover{background:#5c4520}.empty{text-align:center;color:#a3967d;letter-spacing:3px;padding:60px 0;font-size:15px}.empty-box{text-align:center;color:#8d7f60;letter-spacing:2px;padding:70px 0;font-size:16px}.empty-box .empty-ico{opacity:.5;margin-bottom:16px;font-size:44px}.empty-box .empty-sub{color:#b3a377;letter-spacing:1px;margin-top:10px;font-size:13px}.empty-box .empty-btn{color:#faf6ea;letter-spacing:4px;cursor:pointer;background:#8a6d3b;border:none;border-radius:4px;margin-top:24px;padding:10px 34px;font-family:inherit;font-size:15px;transition:all .2s}.empty-box .empty-btn:hover{background:#5c4520}@media (width<=768px){.shelf-page{padding:14px}.shelf-head{gap:6px;margin-bottom:16px;padding-bottom:14px}.shelf-head .bk{letter-spacing:1px;font-size:12px}.head-mid h1{letter-spacing:6px;font-size:21px}.head-mid .orn{letter-spacing:5px;font-size:11px}.head-mid .sub{font-size:11px}.shelf-tabs{gap:8px;margin-bottom:16px}.shelf-tabs button{letter-spacing:1px;padding:9px 16px;font-size:13px}.shelf-row{gap:12px;padding:14px 6px}.shelf-row .cov{width:48px;height:66px;font-size:11px}.shelf-row .t{font-size:15px}.shelf-row .d{font-size:12px}.shelf-row .meta{font-size:11px}.shelf-row .del,.shelf-row .continue{padding:7px 12px;font-size:12px}.empty{padding:50px 0;font-size:14px}.empty-box{padding:56px 0}.empty-box .empty-btn{padding:10px 26px;font-size:14px}}@media (width<=360px){.shelf-tabs button{padding:8px 10px;font-size:12px}.shelf-row .del,.shelf-row .continue{padding:6px 9px;font-size:11px}}
