:root{font-family:system-ui,"Microsoft YaHei",sans-serif;color:#17202a;background:#eef3f7}
*{box-sizing:border-box}
body{margin:0;height:100vh;display:flex;flex-direction:column;background:#e9edf2}
header{height:58px;background:#123f68;position:relative;transition:height .15s ease;color:#fff;display:flex;align-items:center;padding:0 22px;gap:18px}
header h1{font-size:20px;margin:0;white-space:nowrap}
.header-toggle{position:absolute;left:50%;top:5px;transform:translateX(-50%);z-index:3;border:1px solid #ffffff99;border-radius:0 0 14px 14px;background:#dcebf5cc;color:#123f68;width:36px;height:24px;cursor:pointer;font-size:16px;line-height:18px;box-shadow:0 1px 5px #0002}
.toolbar{margin-left:auto;display:flex;gap:8px;align-items:center}
.toolbar button{padding:7px 12px;border:0;border-radius:5px;color:#123f68;background:#fff;cursor:pointer}
header.collapsed{height:18px;padding:0;background:#e9edf2}
header.collapsed h1,header.collapsed .toolbar{display:none}
header.collapsed .header-toggle{top:0;background:#ffffffee;height:28px}
.layout{flex:1;display:grid;grid-template-columns:310px 1fr;min-height:0}
.toc{background:#f8fafc;position:relative;border-right:1px solid #d7e0e8;overflow:auto;padding:14px}
.toc h2{font-size:15px;margin:0 0 10px}
.toc input{width:100%;padding:9px;border:1px solid #c8d4df;border-radius:5px;margin-bottom:9px}
.toc-item{display:block;padding:6px 8px;color:#29445b;text-decoration:none;border-radius:4px;font-size:13px;line-height:1.35;cursor:pointer}
.toc-item:hover{background:#dff0fb}
.toc-item.part,.toc-item.chapter{font-weight:700}
.toc-item.part{color:#0b7ea8}
.toc-item.section{padding-left:20px}
.toc-item.subsection,.toc-item.appendix{padding-left:34px;font-size:12px}
.toc-item.chapter,.toc-item.section,.toc-item.subsection,.toc-item.appendix{display:none}
.toc-item.has-children[aria-expanded="true"]{background:#eef7fb}
.toc-item[aria-current="page"]{background:#dff0fb;color:#075f8a}
.layout.toc-collapsed{grid-template-columns:34px 1fr}
.toc.collapsed h2,.toc.collapsed input,.toc.collapsed #tocList{display:none}
.toc-collapse{position:fixed;left:298px;top:50%;transform:translateY(-50%);border:1px solid #ffffff99;border-radius:0 14px 14px 0;background:#dcebf5cc;color:#123f68;font-size:20px;width:25px;height:62px;cursor:pointer;z-index:4;box-shadow:0 1px 5px #0002}
.toc.collapsed .toc-collapse{left:22px}
.reader{background:#e9edf2;overflow:auto;overflow-anchor:none;scrollbar-gutter:stable;min-width:0;position:relative;padding:20px 24px 44px}
.page-slot{position:relative;margin:0 auto 18px;background:#fff;box-shadow:0 2px 14px rgba(39,49,58,.18);overflow:visible}
.page-slot img,.page-slot iframe{position:absolute;display:block;left:0;top:0;transform-origin:top left;max-width:none;background:#fff}
.search{position:absolute;left:16px;right:16px;bottom:16px;background:#fff;border-radius:7px;padding:10px;box-shadow:0 4px 18px #0004;display:none;z-index:5}
.search.open{display:block}
.search-toggle{position:absolute;right:7px;top:5px;border:0;background:#123f68;color:#fff;border-radius:4px;width:24px;height:24px;cursor:pointer}
.search input{width:70%;padding:8px;border:1px solid #c8d4df;border-radius:4px}
.result{font-size:13px;margin-top:6px;max-height:120px;overflow:auto;color:#52616f}
.toolbar select{max-width:280px;padding:6px;border:1px solid #c8d4df;border-radius:5px;background:white;color:#123f68}
.result a{display:block;padding:6px 0;color:#123f68;text-decoration:none}
.page-slot[data-error="true"]{padding:20px;color:#8a2630;font-size:14px}
@media(max-width:760px){header{height:94px;flex-wrap:wrap;gap:5px;padding:7px 10px}header h1{font-size:16px}.toolbar{width:100%;gap:5px}.toolbar select{max-width:42%;flex:1;min-width:80px}.toolbar button{padding:7px}.layout{grid-template-columns:190px 1fr}.toc-collapse{left:178px}.reader{padding:16px 12px 40px}.toc{padding:10px}.layout.toc-collapsed{grid-template-columns:26px 1fr}.toc.collapsed .toc-collapse{left:14px}.search input{width:65%}}
