:root{--paper: #fbf7ee;--bg: #e3ddcd;--ink: #26211b;--ink2: #554b3e;--line: #d6cab4;--accent: #9a3b28;--accent-soft: #b9744f;--jade: #4d6b5e;--gold: #a8874a;--note: #6f6049;--sidebar-w: 300px;--read-max: 42rem}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0}body{background:var(--bg);color:var(--ink);font-family:Songti SC,"Source Han Serif SC","Noto Serif CJK SC",serif;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit}button{font:inherit}.shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh;max-width:1400px;margin:0 auto;background:var(--paper);box-shadow:0 0 60px #0000001a}aside{border-right:1px solid var(--line);background:#f2ece0;padding:26px 18px 30px;position:sticky;top:0;align-self:start;min-height:100vh;max-height:100vh;overflow-y:auto}.brand{font-size:12px;letter-spacing:.32em;color:var(--note);margin-bottom:4px}.brand-link{display:block;text-decoration:none;margin-bottom:18px}.brand-link:hover .brand{color:var(--accent)}.work-title{font-size:24px;margin:0 0 8px;letter-spacing:.14em;font-weight:600}.work-sub{font-size:12px;color:var(--jade);letter-spacing:.04em;line-height:1.7;margin:0 0 18px}.toc-head{font-size:11px;letter-spacing:.24em;color:var(--note);padding:10px 0 8px;border-top:1px solid var(--line)}.side-head{font-size:11px;letter-spacing:.24em;color:var(--note);padding:10px 0;border-top:1px solid var(--line)}.side-back{display:inline-block;font-size:12px;color:var(--note);text-decoration:none;margin-bottom:14px}.side-back:hover{color:var(--accent)}.side-foot{margin-top:26px;padding-top:14px;border-top:1px solid var(--line);font-size:11px;line-height:1.9;letter-spacing:.08em;color:var(--note)}.library-nav a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;padding:13px 8px;text-decoration:none;border-bottom:1px dotted var(--line);border-radius:3px}.library-nav a:hover{background:#e9e1d1}.lib-no{font-size:12px;color:var(--accent);letter-spacing:.1em;padding-top:4px}.lib-main b{display:block;font-size:16px;font-weight:600;letter-spacing:.06em}.lib-main i{display:block;font-style:normal;font-size:11.5px;color:var(--note);margin-top:3px;line-height:1.55}.lib-count{font-size:11px;color:var(--note);white-space:nowrap;padding-top:5px}.toc{padding-top:0;border-top:none}.part-name{font-size:11px;letter-spacing:.22em;color:var(--accent);margin:16px 0 4px;padding-bottom:5px;border-bottom:1px solid var(--line)}.toc a{display:flex;align-items:baseline;gap:9px;padding:9px 8px;text-decoration:none;border-radius:3px;border-bottom:1px dotted var(--line)}.toc a:hover{background:#e9e1d1}.toc a.active{background:#e4d9c4;box-shadow:inset 3px 0 0 var(--accent)}.toc .no{font-size:11px;color:var(--note);min-width:3.4em}.toc .ti{flex:1;font-size:15px;line-height:1.5}.toc .lock{font-size:10px;opacity:.65}.toc a.locked .ti{color:#a99f8e}.userbox{margin-top:22px;padding-top:14px;border-top:1px solid var(--line);font-size:13px}.purchased{color:var(--jade);letter-spacing:.1em}.buy{width:100%;padding:10px;background:var(--accent);color:var(--paper);border:none;border-radius:4px;cursor:pointer;letter-spacing:.08em}.buy:hover{background:#83301f}.devlogin{margin-top:12px;display:flex;flex-direction:column;gap:6px}.devlogin-label{font-size:10px;color:var(--note);letter-spacing:.1em}.devlogin button{padding:6px 8px;font-size:12px;border:1px dashed var(--line);background:#faf7f0;border-radius:3px;cursor:pointer;color:var(--ink2)}.devlogin button:hover{border-color:var(--accent);color:var(--accent)}.content{padding:0 clamp(20px,5vw,64px) 80px;min-width:0}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:12px;padding:12px 0;background:#fbf7eef0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.topbar .back{font-size:13px;color:var(--ink2);text-decoration:none;border:1px solid var(--line);border-radius:4px;padding:5px 10px}.topbar .where{font-size:13px;color:var(--note);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview{max-width:var(--read-max);margin:0 auto;padding-top:30px}.crumb{font-size:11px;letter-spacing:.3em;color:var(--note);margin-bottom:6px}.overview h2{font-size:clamp(22px,2.4vw,28px);margin:0 0 6px;letter-spacing:.12em}.meta{font-size:13px;color:var(--note);margin-bottom:26px}.part-block{margin-bottom:30px}.part-title{font-size:15px;letter-spacing:.14em;color:var(--accent);margin:0 0 10px;padding-bottom:7px;border-bottom:2px solid #e8d8c8;display:flex;justify-content:space-between;align-items:baseline}.part-title span{font-size:11px;color:var(--note)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.card{display:block;padding:13px 15px;border:1px solid var(--line);border-left:3px solid var(--accent-soft);border-radius:3px;text-decoration:none;background:linear-gradient(180deg,#fdfaf3,#f6f0e2);transition:transform .12s,box-shadow .12s}.card:hover{transform:translateY(-1px);box-shadow:0 4px 14px #785a2821}.card .no{font-size:11px;color:var(--accent);letter-spacing:.1em}.card .ti{display:block;font-size:17px;margin-top:3px;letter-spacing:.04em}.card .st{float:right;font-size:10.5px;border-radius:9px;padding:1px 8px;margin-top:1px}.card.readable .st{color:var(--jade);background:#e6ece6}.card.locked{border-left-color:#c9bda6;background:#f5f0e4}.card.locked .ti{color:#96897a}.card.locked .st{color:#8d7f6b;background:#ece5d6}.article{max-width:var(--read-max);margin:0 auto;padding-top:30px}.part-crumb{font-size:11px;letter-spacing:.22em;color:var(--accent);margin-bottom:8px}.sec-h{display:flex;align-items:baseline;gap:12px;border-left:3px solid var(--accent);padding-left:14px;margin-bottom:22px}.sec-h .no{font-size:12px;color:var(--accent);letter-spacing:.12em;white-space:nowrap;background:#f4e4dc;border-radius:2px;padding:1px 7px}.sec-h h2{font-size:clamp(22px,2.4vw,28px);margin:0;font-weight:600;letter-spacing:.07em}.history{margin:2px 0 30px;padding:18px 22px 12px;background:linear-gradient(180deg,#fffdf8,#f8f1e3);border:1px solid #e8dcc6;border-radius:4px;box-shadow:inset 0 1px #ffffffb3}.history-caption{display:flex;align-items:baseline;gap:10px;margin-bottom:8px;font-size:11px;letter-spacing:.3em;color:var(--accent)}.history-caption em{font-style:normal;font-size:10px;letter-spacing:.12em;color:#a2917a}.history-intro{margin:0 0 14px;font-size:14px;line-height:1.7;color:#6b5a44}.history-list{list-style:none;margin:0;padding:0}.history-list li{position:relative;margin-left:5px;padding:0 0 14px 20px;border-left:1px solid #e2d3b8}.history-list li:before{content:"";position:absolute;left:-4px;top:7px;width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px #f8f1e3}.history-list li:last-child{border-left-color:transparent;padding-bottom:2px}.history-head{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}.history-head b{font-size:15px;font-weight:600;letter-spacing:.03em;color:#2b231a}.history-head span{font-size:11px;letter-spacing:.06em;color:#9a7b56}.history-list p{margin:4px 0 0;font-size:14px;line-height:1.75;color:var(--ink2);text-align:justify}.label{font-size:11px;letter-spacing:.3em;margin:26px 0 10px;display:flex;align-items:center;gap:12px;color:var(--accent)}.label:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}.label.yi{color:var(--jade)}.yuan{padding-left:14px;border-left:2px solid #e6d9c2}.yuan p{margin:0 0 12px;font-size:clamp(18px,1.5vw,20px);line-height:1.82;text-align:justify;color:#1f1a15}.trans p{margin:0 0 12px;font-size:16px;line-height:1.78;color:var(--ink2);text-align:justify}.trans .fn{display:inline-block;border:0;margin:0 1px 0 3px;padding:0 3px;border-radius:2px;background:var(--gold);color:#fbf7ee;font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;line-height:1.35;vertical-align:super;cursor:pointer;-webkit-user-select:none;user-select:none}.trans .fn:hover,.trans .fn.on{background:var(--accent)}.trans .note{margin:-4px 0 16px;padding:12px 15px;background:linear-gradient(180deg,#f6eddb,#f1e6d1);border-left:2px solid var(--gold);border-radius:0 3px 3px 0;font-size:13.5px;line-height:1.75;color:#5e5138}.pager{display:flex;gap:12px;margin-top:46px;padding-top:22px;border-top:1px solid var(--line)}.pager a,.pager .dis{flex:1;text-align:center;padding:12px;border:1px solid var(--line);border-radius:4px;color:var(--ink2);text-decoration:none;font-size:14px;background:#faf7f0}.pager a:hover{border-color:var(--accent);color:var(--accent)}.pager .dis{opacity:.32;pointer-events:none}.consumed{margin-top:20px;padding:8px 12px;font-size:12px;color:var(--accent);background:#f7ece6;border-radius:3px;letter-spacing:.06em}.errorpanel{max-width:var(--read-max);margin:60px auto;padding:28px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:4px;background:#faf7f0}.errorpanel h3{margin:0 0 10px;font-size:19px;color:var(--accent);letter-spacing:.06em}.errorpanel p{margin:0 0 8px;color:var(--ink2)}.errorpanel .countdown{font-size:13px;color:var(--jade);letter-spacing:.05em}.loading{padding:80px 20px;text-align:center;color:var(--note)}.home{padding-top:clamp(20px,4vw,46px)}.hero{position:relative;padding-bottom:8px}.hero-seal{position:absolute;right:4px;top:0;width:58px;height:88px;background:var(--accent);color:#fbf3e4;writing-mode:vertical-rl;display:flex;align-items:center;justify-content:center;font-size:21px;letter-spacing:.18em;border-radius:3px;box-shadow:inset 0 0 0 2px #fbf3e459}.hero-eyebrow{font-size:12px;letter-spacing:.4em;color:var(--accent);margin-bottom:20px}.hero h1{margin:0;font-size:clamp(34px,5vw,58px);line-height:1.24;letter-spacing:.05em;font-weight:600;color:#1d1813;max-width:18em;padding-right:60px}.hero-lead{margin:24px 0 0;font-size:clamp(16px,1.6vw,18.5px);line-height:1.95;color:var(--ink2);max-width:34em}.hero-quote{margin:34px 0 0;padding-left:16px;border-left:2px solid var(--accent-soft);max-width:34em}.hero-quote .q{display:block;font-size:clamp(17px,1.7vw,20px);letter-spacing:.06em;color:#56422f}.hero-quote .n{display:block;margin-top:6px;font-size:11.5px;letter-spacing:.14em;color:var(--note)}.hero-stats{display:flex;flex-wrap:wrap;gap:18px clamp(26px,5vw,60px);margin-top:36px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.hero-stats b{display:block;font-size:clamp(24px,2.6vw,30px);font-weight:600;letter-spacing:.02em;color:var(--accent);line-height:1.15}.hero-stats span{display:block;margin-top:5px;font-size:11px;letter-spacing:.22em;color:var(--note)}.home-sec{margin-top:clamp(48px,7vw,78px)}.sec-label{font-size:11px;letter-spacing:.4em;color:var(--accent);margin-bottom:10px}.sec-title{margin:0 0 24px;font-size:clamp(23px,2.6vw,30px);font-weight:600;letter-spacing:.1em;color:#201a14}.books{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.book-card{position:relative;display:flex;flex-direction:column;padding:26px 28px 22px;border:1px solid var(--line);background:linear-gradient(180deg,#fdfaf3,#f7f1e4);text-decoration:none;border-radius:3px;overflow:hidden;transition:transform .14s,box-shadow .14s,border-color .14s}.book-card:hover{transform:translateY(-2px);border-color:var(--accent-soft);box-shadow:0 8px 24px #6e502324}.book-card.featured{grid-column:1 / -1;padding:34px 36px 26px;background:linear-gradient(135deg,#fdfaf3,#f5ebd7)}.book-card.featured:after{content:"讀";position:absolute;right:22px;top:-34px;font-size:140px;line-height:1;color:#9a3b280e;pointer-events:none}.bc-no{font-size:12px;letter-spacing:.3em;color:var(--accent);margin-bottom:10px}.book-card h3{margin:0;font-size:25px;font-weight:600;letter-spacing:.12em;color:#201a14}.book-card.featured h3{font-size:clamp(30px,3.4vw,38px)}.bc-sub{margin-top:7px;font-size:13.5px;letter-spacing:.05em;color:var(--jade)}.bc-desc{margin:15px 0 0;font-size:14.5px;line-height:1.85;color:var(--ink2);max-width:46em}.book-card.featured .bc-desc{font-size:15.5px;max-width:40em}.bc-blurb{margin:14px 0 0;padding-left:11px;border-left:2px solid var(--gold);font-size:13.5px;line-height:1.8;color:#6b5940}.book-card.featured .bc-blurb{font-size:14.5px}.bc-foot{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:auto;padding-top:20px;font-size:12px;letter-spacing:.06em;color:var(--note)}.bc-arrow{color:var(--accent);letter-spacing:.1em;white-space:nowrap}.about-text{margin:0;max-width:50em;font-size:16px;line-height:2.05;color:var(--ink2);text-align:justify}.about-text:first-letter{float:left;font-size:46px;line-height:1;padding:5px 10px 0 0;color:var(--accent)}.why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,34px)}.why-card{border-top:2px solid var(--accent);padding-top:16px}.why-no{font-size:12px;letter-spacing:.24em;color:var(--accent);margin-bottom:8px}.why-card h3{margin:0 0 10px;font-size:18px;font-weight:600;letter-spacing:.07em;color:#201a14}.why-card p{margin:0;font-size:14px;line-height:1.9;color:var(--ink2);text-align:justify}.closing{margin-top:clamp(60px,8vw,96px);padding:clamp(40px,6vw,64px) 20px 10px;border-top:1px solid var(--line);text-align:center}.closing blockquote{margin:0 auto 16px;max-width:40em;font-size:clamp(19px,2.3vw,27px);line-height:1.85;letter-spacing:.07em;color:#3c3023}.closing-note{font-size:12px;letter-spacing:.18em;color:var(--note)}.closing-cta{display:inline-block;margin-top:30px;padding:10px 26px;border:1px solid var(--accent);border-radius:3px;color:var(--accent);text-decoration:none;font-size:14px;letter-spacing:.12em}.closing-cta:hover{background:var(--accent);color:var(--paper)}.site-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;margin-top:clamp(48px,6vw,70px);padding-top:18px;border-top:1px solid var(--line);font-size:11.5px;letter-spacing:.1em;color:var(--note)}.book-page{padding-top:30px}.book-hero{padding-bottom:32px;border-bottom:1px solid var(--line);margin-bottom:38px}.crumb{font-size:11px;letter-spacing:.26em;color:var(--note);margin-bottom:16px}.crumb a{color:var(--accent);text-decoration:none}.crumb span{margin:0 8px;color:#c0b39c}.book-hero h1{margin:0;font-size:clamp(34px,4.6vw,52px);font-weight:600;letter-spacing:.12em;color:#1d1813}.book-hero .book-sub{margin:10px 0 20px;font-size:15.5px;letter-spacing:.06em;color:var(--jade)}.book-desc{margin:0;max-width:48em;font-size:15.5px;line-height:1.95;color:var(--ink2);text-align:justify}.book-blurb{margin:18px 0 0;padding-left:13px;border-left:2px solid var(--gold);font-size:14.5px;line-height:1.85;color:#6b5940;max-width:44em}.book-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:28px}.btn-primary{display:inline-block;padding:11px 28px;background:var(--accent);color:var(--paper);text-decoration:none;border-radius:3px;font-size:14px;letter-spacing:.12em}.btn-primary:hover{background:#85311f}.book-meta{font-size:12.5px;letter-spacing:.06em;color:var(--note)}.book-end{display:inline-block;margin-top:10px;font-size:12.5px;color:var(--note);text-decoration:none;letter-spacing:.08em}.book-end:hover{color:var(--accent)}@media (max-width: 1000px){.books,.why-grid{grid-template-columns:1fr}.book-card.featured{grid-column:auto}}@media (max-width: 900px){.shell{grid-template-columns:1fr;box-shadow:none}aside{display:none}.content{padding:0 20px 60px}.overview,.article{padding-top:22px}.pager{position:sticky;bottom:0;z-index:5;background:#fbf7eef7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin:34px -20px 0;padding:12px 20px;border-top:1px solid var(--line)}.home,.book-page{padding-top:16px}.hero-seal{display:none}.hero h1{padding-right:0;font-size:clamp(27px,7.8vw,40px);letter-spacing:.02em}.hero h1 .hl,.hero h1 .hl2{display:block}.cards{grid-template-columns:1fr}}@media (max-width: 480px){.history{padding:15px 16px 10px;margin-bottom:24px}.history-intro{font-size:13.5px}.history-head b{font-size:14px}.history-list p{font-size:13.5px}.yuan p{font-size:17px;line-height:1.72}.trans p{font-size:15px;line-height:1.7}.cards{gap:8px}.card{padding:9px 13px;display:flex;align-items:center;gap:10px}.card .no{flex:0 0 auto}.card .ti{flex:1;margin:0;font-size:15.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card .st{float:none;margin:0;flex:0 0 auto}.hero-stats{gap:16px 26px}.hero-stats span{letter-spacing:.14em}.book-card,.book-card.featured{padding:22px 20px 20px}.book-hero h1{font-size:32px}}
