:root{--bg: #f7f5f0;--bg-soft: #efece5;--card: #fffefb;--ink: #24211d;--ink-2: #4a453e;--ink-3: #857e73;--line: #ddd7cc;--accent: #2f4f4f;--accent-2: #3d6b6b;--guide-bg: #eef1f3;--guide-line: #b9c5cc;--mark: #ffe8a3;--radius: 12px;--shadow: 0 1px 3px rgba(36, 33, 29, .08), 0 6px 18px rgba(36, 33, 29, .05);--topbar-h: 54px}:root[data-theme=sepia]{--bg: #f3ead8;--bg-soft: #eadfc8;--card: #fbf4e4;--ink: #3a2f22;--ink-2: #57493a;--ink-3: #8d7c66;--line: #d8c9ac;--accent: #6b4f2a;--accent-2: #8a6a3c;--guide-bg: #efe0c6;--guide-line: #c9b48e}:root[data-theme=dark]{--bg: #16181a;--bg-soft: #1e2124;--card: #1f2226;--ink: #ded9d1;--ink-2: #b6afa4;--ink-3: #7d766c;--line: #34383d;--accent: #8fb3b3;--accent-2: #a7c7c7;--guide-bg: #23282c;--guide-line: #3f474d;--mark: #6b5a1e}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Source Han Sans SC,Noto Sans CJK SC,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior-y:none}#root{min-height:100vh;min-height:100dvh}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}svg{width:100%;height:100%;display:block}mark{background:var(--mark);color:inherit;padding:0 1px;border-radius:2px}.loading,.hint,.err,.fatal{padding:40px 24px;text-align:center;color:var(--ink-3);font-size:15px;line-height:1.7}.err{color:#b4442e}.fatal h2{color:var(--ink);font-size:19px}.icon-btn{width:38px;height:38px;padding:9px;border-radius:10px;color:var(--ink-2);flex:0 0 auto;transition:background .15s}.icon-btn:active{background:var(--bg-soft)}.icon-btn.on{color:#c99a2e}.hero{padding:calc(env(safe-area-inset-top) + 44px) 24px 26px;text-align:center}.hero h1{margin:0;font-size:23px;font-weight:600;letter-spacing:.06em;color:var(--accent)}.hero .sub{margin:10px 0 0;font-size:13px;color:var(--ink-3);letter-spacing:.14em}.book-list{padding:0 16px;display:flex;flex-direction:column;gap:12px}.book-card{display:flex;align-items:center;gap:14px;padding:16px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);text-align:left;transition:transform .12s}.book-card:active{transform:scale(.985)}.book-no{width:42px;height:52px;flex:0 0 auto;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:19px;font-weight:600;border-radius:6px 3px 3px 6px;box-shadow:inset -4px 0 #ffffff29}.book-main{flex:1;min-width:0}.book-title{font-size:16.5px;font-weight:600;color:var(--ink);line-height:1.35}.book-meta{margin-top:5px;font-size:12px;color:var(--ink-3)}.book-flag{margin-top:7px;display:flex;gap:6px;flex-wrap:wrap}.pill{font-size:11px;padding:2px 8px;border-radius:100px;background:var(--bg-soft);color:var(--accent)}.book-arrow{color:var(--ink-3);font-size:22px;flex:0 0 auto}.foot-note{padding:30px 24px calc(env(safe-area-inset-bottom) + 40px);text-align:center;font-size:12px;color:var(--ink-3);letter-spacing:.04em}.fab{position:fixed;right:18px;bottom:calc(env(safe-area-inset-bottom) + 20px);width:54px;height:54px;padding:15px;border-radius:50%;background:var(--accent);color:#fff;box-shadow:0 6px 20px #2f4f4f57;z-index:40}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:2px;padding:calc(env(safe-area-inset-top) + 6px) 8px 6px;min-height:var(--topbar-h);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(1.6) blur(12px);-webkit-backdrop-filter:saturate(1.6) blur(12px);border-bottom:1px solid var(--line)}.crumb{flex:1;min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden;font-size:13px;color:var(--ink-3);padding:0 4px;white-space:nowrap}.crumb-part{overflow:hidden;text-overflow:ellipsis;max-width:40%}.crumb-part+.crumb-part:before{content:"›";margin-right:6px;color:var(--line)}.content{padding:18px 20px calc(env(safe-area-inset-bottom) + 90px);max-width:760px;margin:0 auto}.sec{margin-bottom:34px}.sec-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:26px 0 14px;font-weight:600;color:var(--accent);line-height:1.45}.sec-head.l1{font-size:1.4em;margin-top:34px}.sec-head.l2{font-size:1.2em}.sec-head.l3{font-size:1.06em;color:var(--accent-2)}.sec-num{color:var(--ink-3);font-weight:400;font-size:.78em}.sec-page{margin-left:auto;font-size:.62em;font-weight:400;color:var(--ink-3)}.para{margin:0 0 .85em;text-indent:2em;text-align:justify;word-break:break-word;color:var(--ink)}.para .pg{font-size:.62em;color:var(--ink-3);margin-right:4px;text-indent:0;vertical-align:super;opacity:.7}.para:last-child{margin-bottom:0}.empty-hint{color:var(--ink-3);font-size:14px;text-align:center;padding:18px 0}.guide-bar{position:sticky;top:var(--topbar-h);z-index:25;display:flex;align-items:center;gap:10px;padding:7px 16px;max-width:760px;margin:0 auto;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:saturate(1.4) blur(8px);-webkit-backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}.guide-bar-count{font-size:12px;color:var(--ink-3);flex:1}.guide-bar-actions{display:flex;gap:7px}.mini-btn{padding:5px 12px;font-size:12.5px;color:var(--accent);border:1px solid var(--line);border-radius:100px;background:var(--card);transition:background .14s}.mini-btn:active{background:var(--bg-soft)}.guide{margin:18px 0 0;border-radius:10px;overflow:hidden;border:1px solid var(--guide-line)}.guide-toggle{width:100%;display:flex;align-items:center;gap:8px;padding:11px 14px;background:var(--guide-bg);font-size:13px;color:var(--ink-2);text-align:left}.guide-label{font-weight:600;letter-spacing:.06em}.badge{font-size:11px;padding:1px 7px;border-radius:100px;background:color-mix(in srgb,var(--guide-line) 40%,transparent);color:var(--ink-3)}.chev{margin-left:auto;color:var(--ink-3);font-size:12px}.guide-body{padding:14px 15px 10px;background:var(--card);border-top:1px solid var(--guide-line)}.guide-para{margin:0 0 .8em;font-size:.94em;line-height:1.85;color:var(--ink-2);text-indent:2em;text-align:justify}.guide-para .pg{font-size:.66em;color:var(--ink-3);margin-right:4px;vertical-align:super;opacity:.7}.guide-foot{margin-top:10px;padding-top:8px;border-top:1px dashed var(--line);font-size:11px;color:var(--ink-3);text-align:center}.mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#1412106b;z-index:50;animation:fade .18s ease}@keyframes fade{0%{opacity:0}}.toc-panel{position:fixed;top:0;right:0;bottom:0;width:min(88vw,400px);background:var(--card);z-index:60;display:flex;flex-direction:column;box-shadow:-8px 0 28px #00000029;animation:slide .2s cubic-bezier(.22,.61,.36,1);padding-top:env(safe-area-inset-top)}@keyframes slide{0%{transform:translate(100%)}}.toc-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;font-size:15px;font-weight:600;border-bottom:1px solid var(--line);color:var(--accent)}.toc-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 0 calc(env(safe-area-inset-bottom) + 24px)}.toc-row{display:flex;align-items:flex-start;gap:2px;padding-right:12px}.toc-row.active{background:var(--bg-soft)}.toc-caret{width:24px;height:32px;flex:0 0 auto;color:var(--ink-3);font-size:11px;display:grid;place-items:center}.toc-caret.ghost{pointer-events:none}.toc-label{flex:1;display:flex;align-items:baseline;gap:6px;padding:8px 0;text-align:left;font-size:14px;line-height:1.5;color:var(--ink-2);min-width:0}.toc-row.l1>.toc-label{font-weight:600;font-size:14.5px;color:var(--ink)}.toc-row.l3>.toc-label{font-size:13.5px}.toc-num{font-size:11px;color:var(--ink-3);flex:0 0 auto}.toc-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toc-page{font-size:10.5px;color:var(--ink-3);flex:0 0 auto;opacity:.8}.search-form{flex:1;padding:0 4px}.search-input{width:100%;padding:9px 13px;border:1px solid var(--line);border-radius:100px;background:var(--card);color:var(--ink);font-size:15px;outline:none}.search-input:focus{border-color:var(--accent-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-2) 16%,transparent)}.result-count{padding:14px 20px 6px;font-size:12.5px;color:var(--ink-3)}.results{padding:0 16px calc(env(safe-area-inset-bottom) + 40px);display:flex;flex-direction:column;gap:9px}.result{display:block;width:100%;text-align:left;padding:13px 15px;background:var(--card);border:1px solid var(--line);border-radius:10px}.result:active{background:var(--bg-soft)}.result-head{display:flex;align-items:center;gap:7px;margin-bottom:6px;font-size:11px;color:var(--ink-3)}.kind{padding:1px 6px;border-radius:4px;font-weight:600}.kind.k-h{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.kind.k-t{background:color-mix(in srgb,var(--ink-3) 16%,transparent)}.kind.k-g{background:color-mix(in srgb,var(--guide-line) 46%,transparent);color:var(--ink-2)}.result-book{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:55%}.result-page{margin-left:auto}.result-title{font-size:15px;font-weight:600;color:var(--ink);line-height:1.45}.result-snippet{font-size:13.5px;line-height:1.62;color:var(--ink-2);word-break:break-word}.sheet-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#1412106b;z-index:70;display:flex;align-items:flex-end;animation:fade .18s ease}.sheet{width:100%;max-height:82vh;overflow-y:auto;background:var(--card);border-radius:18px 18px 0 0;padding:18px 20px calc(env(safe-area-inset-bottom) + 22px);animation:up .22s cubic-bezier(.22,.61,.36,1)}@keyframes up{0%{transform:translateY(24px);opacity:.4}}.sheet-head{display:flex;align-items:center;justify-content:space-between;font-size:15px;font-weight:600;color:var(--accent);margin-bottom:14px}.row{display:flex;align-items:center;gap:12px;padding:11px 0;font-size:14px;color:var(--ink-2);border-bottom:1px solid var(--line)}.row>span:first-child{flex:0 0 84px}.row input[type=range]{flex:1;accent-color:var(--accent)}.row b{flex:0 0 34px;text-align:right;font-size:13px;color:var(--ink-3);font-weight:500}.seg{display:flex;gap:6px}.seg button{padding:5px 14px;border:1px solid var(--line);border-radius:100px;font-size:13px;color:var(--ink-3)}.seg button.on{background:var(--accent);border-color:var(--accent);color:#fff}.wide-btn{width:100%;margin-top:16px;padding:13px;border-radius:10px;background:var(--accent);color:#fff;font-size:14.5px;display:flex;align-items:center;justify-content:center;gap:8px}.wide-btn svg{width:17px;height:17px}.wide-btn.ok{background:#3f7a4e}.wide-btn.ghost{background:none;border:1px solid var(--line);color:var(--ink-2)}.saved-tip{margin:10px 0 0;text-align:center;font-size:12.5px;color:#3f7a4e}@media (min-width: 860px){.hero{padding-top:72px}.book-list{max-width:720px;margin:0 auto}.toc-panel{width:420px}.content{padding-top:30px}.fab{right:calc(50vw - 380px)}}
