.doc{--doc-primary: #b91c3a;--doc-ink: #111827;--doc-text: #374151;--doc-muted: #6b7280;--doc-line: #e5e7eb;--doc-card: #fff;--doc-serif: "Noto Serif SC", Georgia, "Songti SC", "STSong", serif;color:var(--doc-text);line-height:1.85}.doc a{color:inherit;text-decoration:none}.book-page{padding-top:96px;padding-bottom:48px}.doc h1{font-family:var(--doc-serif);font-size:28px;line-height:1.4;color:var(--doc-ink);margin:14px 0 6px;font-weight:700}.doc .sub{color:var(--doc-muted);font-size:14px;margin:0 0 26px}@media(max-width:560px){.book-page{padding-top:84px}.doc h1{font-size:23px}.doc .article{font-size:16px}}.doc .toc{list-style:none;margin:0;padding:0;border-top:1px solid var(--doc-line)}.doc .toc li{border-bottom:1px solid var(--doc-line)}.doc .toc a{display:flex;gap:12px;align-items:baseline;padding:13px 4px}.doc .toc a:hover{color:var(--doc-primary)}.doc .toc em{font-style:normal;font-family:Georgia,serif;font-size:13px;color:var(--doc-muted);min-width:24px}.doc .article{font-size:17px}.doc .article p{margin:0 0 1.15em;text-align:justify}.doc .article h1,.doc .article h2,.doc .article h3{font-family:var(--doc-serif);color:var(--doc-ink);line-height:1.5;margin:1.8em 0 .7em}.doc .article h2{font-size:21px}.doc .article h3{font-size:18px}.doc .article strong{color:var(--doc-ink)}.doc .article em{font-style:normal;color:var(--doc-primary)}.doc .article blockquote{margin:1.2em 0;padding:2px 0 2px 16px;border-left:3px solid var(--doc-line);color:var(--doc-muted)}.doc .article ul,.doc .article ol{padding-left:1.4em}.doc .article li{margin:.35em 0}.doc .article hr{border:0;border-top:1px solid var(--doc-line);margin:2em 0}.doc .article table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:15px}.doc .article th,.doc .article td{border:1px solid var(--doc-line);padding:8px 10px;text-align:left}.doc .article th{background:#f6f7f8}.doc .article img{max-width:100%;height:auto}.doc .article code{background:#f3f4f6;padding:1px 5px;border-radius:4px;font-size:.92em}.doc .article pre{background:#f6f7f8;padding:12px 14px;border-radius:8px;overflow-x:auto}.doc .pager{display:flex;gap:12px;margin-top:44px;padding-top:20px;border-top:1px solid var(--doc-line)}.doc .pager a,.doc .pager span{flex:1;padding:12px 14px;border:1px solid var(--doc-line);border-radius:10px;background:var(--doc-card);font-size:13px}.doc .pager span{opacity:.4}.doc .pager a:hover{border-color:var(--doc-primary);color:var(--doc-primary)}.doc .pager .nxt{text-align:right}.doc .pager b{display:block;font-size:11px;color:var(--doc-muted);font-weight:400;margin-bottom:2px}.doc .reader{display:grid;grid-template-columns:216px minmax(0,1fr);gap:36px;align-items:start}.doc .reader-side{position:sticky;top:84px;max-height:calc(100vh - 110px);overflow-y:auto;padding-right:6px}.doc .book-toc b{display:block;padding-bottom:9px;margin-bottom:8px;border-bottom:1px solid var(--doc-line);font-family:var(--doc-serif);font-size:15px;color:var(--doc-ink)}.doc .book-toc ol{list-style:none;margin:0;padding:0}.doc .book-toc li{margin:0}.doc .book-toc a{display:flex;gap:9px;align-items:baseline;padding:6px 9px;border-radius:7px;font-size:13px;line-height:1.55;color:var(--doc-muted)}.doc .book-toc a:hover{background:#b91c3a0d;color:var(--doc-primary)}.doc .book-toc em{font-style:normal;font-family:Georgia,serif;font-size:11px;min-width:20px;text-align:right;opacity:.65}.doc .book-toc li.is-on a{background:#b91c3a12;color:var(--doc-primary);font-weight:700}.doc .reader-main>h1:first-child{margin-top:0}@media(max-width:860px){.doc .reader{grid-template-columns:1fr;gap:20px}.doc .reader-side{position:static;max-height:210px;border:1px solid var(--doc-line);border-radius:10px;padding:12px 10px}}.doc .book-toc-all{display:block;margin-top:8px;padding:7px 9px;border-top:1px solid var(--doc-line);font-size:12px;color:var(--doc-primary)}.doc .book-toc-all:hover{text-decoration:underline}.shelf{padding:96px 0 40px}.shelf-head{text-align:center;margin-bottom:22px}.shelf h1{font-family:var(--font-display);font-size:34px;color:var(--ink);margin:0 0 8px}.shelf-desc{color:var(--text-secondary);font-size:14px;margin:0}.shelf-desc b{color:var(--primary);font-weight:600}.wushu{display:flex;justify-content:center;gap:4px;padding:14px 0 12px;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);margin-bottom:14px}.wushu button{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:68px;padding:4px 10px 8px;background:none;border:0;cursor:pointer}.wushu button:after{content:"";position:absolute;left:50%;bottom:0;width:0;height:2px;border-radius:2px;background:var(--primary);transform:translate(-50%);transition:width .24s var(--ease)}.wushu button.is-on:after{width:26px}.wushu em{font-family:var(--font-display);font-style:normal;font-size:25px;font-weight:700;line-height:1.15;color:var(--text-muted);transition:color .18s var(--ease)}.wushu button:hover em{color:var(--text-secondary)}.wushu button.is-on em{color:var(--primary)}.wushu span{font-size:11px;letter-spacing:1.5px;color:var(--text-tertiary)}.wushu button.is-on span{color:var(--gold-strong)}.wushu-desc{text-align:center;font-size:13px;color:var(--text-secondary);margin:0 0 18px;letter-spacing:.3px}.shelf-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}.sub-tabs{display:flex;flex-wrap:wrap;gap:7px}.sub-tabs button{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;font-size:13px;color:var(--text-secondary);background:transparent;border:1px solid var(--border);border-radius:999px;cursor:pointer;transition:color .15s var(--ease),border-color .15s var(--ease),background .15s var(--ease)}.sub-tabs button:hover{border-color:var(--primary);color:var(--primary)}.sub-tabs button.is-on{color:#fff;background:var(--primary);border-color:var(--primary)}.sub-tabs i{font-style:normal;font-size:11px;opacity:.6}.shelf-search{display:inline-flex;align-items:center;gap:7px;flex-shrink:0;padding:6px 13px;background:var(--bg-white);border:1px solid var(--border);border-radius:999px;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.shelf-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.shelf-search svg{width:14px;height:14px;flex-shrink:0;fill:none;stroke:var(--text-muted);stroke-width:2;stroke-linecap:round}.shelf-search input{width:128px;border:0;outline:none;background:none;font-size:13px;color:var(--text-primary)}.shelf-search input::placeholder{color:var(--text-tertiary)}.shelf-count{font-size:13px;color:var(--text-muted)}.shelf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:24px 20px}.shelf-card{display:flex;flex-direction:column;align-items:center;gap:7px;text-decoration:none;text-align:center}.shelf-card>*{max-width:128px}.book-cover{position:relative;display:block;width:100%;max-width:112px;aspect-ratio:240 / 348;background:url(/assets/book-cover.png) center / 100% 100% no-repeat;border-radius:3px;box-shadow:0 1px 3px #11182724,0 6px 16px #1118271a;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.book-cover-title{position:absolute;left:73.3%;top:49.9%;width:20%;height:62%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;color:#402e1e;overflow:hidden}.book-cover-title i{font-style:normal;line-height:1;display:block}.shelf-card:hover .book-cover{transform:translateY(-4px);box-shadow:0 2px 5px #11182729,0 14px 28px #11182729}.shelf-card strong{font-family:var(--font-display);font-weight:700;line-height:1.35;color:var(--ink);white-space:nowrap;transition:color .15s var(--ease)}.shelf-card:hover strong{color:var(--primary)}.shelf-card small{font-size:11px;color:var(--text-muted)}.shelf-empty{text-align:center;color:var(--text-muted);font-size:14px;padding:30px 0}@media(max-width:560px){.shelf{padding-top:84px}.wushu{gap:0}.wushu button{min-width:0;flex:1;padding:4px 2px 8px}.wushu em{font-size:21px}.wushu span{font-size:10px;letter-spacing:0}.shelf-bar{flex-direction:column;align-items:stretch;gap:12px}.sub-tabs,.shelf-search{justify-content:center}.shelf-search input{width:100%}.shelf h1{font-size:27px}.shelf-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:20px 14px}.shelf-card strong{font-size:12px}}
