: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;max-height:100vh;overflow-y:auto}.brand{font-size:12px;letter-spacing:.32em;color:var(--note);margin-bottom:4px}.work-title{font-size:24px;margin:0 0 16px;letter-spacing:.14em;font-weight:600}.toc{border-top:1px solid var(--line);padding-top:10px}.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)}.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}.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 .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}.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)}@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}.cards{grid-template-columns:1fr}}@media (max-width: 480px){.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}}
