*{box-sizing:border-box}:root{--bg:#0C0F13;--bg2:#141A21;--fg:#E9E6DE;--dim:#929CA8;--line:#293541;--gold:#D9A441;--paper:#FBF7EE;--shadow:0 26px 70px rgba(0,0,0,.48)}html.day{--bg:#E8E4DB;--bg2:#F2EFE7;--fg:#22262B;--dim:#606875;--line:#CFC9BD;--paper:#FBF8F0}html,body{height:100%;overflow:hidden}body{margin:0;background:radial-gradient(1200px 700px at 50% -10%,var(--bg2),var(--bg));color:var(--fg);font:14px/1.7 'Noto Serif CJK SC','Songti SC',Georgia,serif}button,input{font:inherit}button{color:var(--fg);background:transparent;border:1px solid var(--line);border-radius:7px;padding:7px 10px;cursor:pointer;min-height:40px}button:hover,button:focus-visible{border-color:var(--gold);color:var(--gold)}button:disabled{opacity:.35;cursor:default}a{color:var(--gold);text-decoration:none}.top{position:fixed;inset:0 0 auto;z-index:30;display:flex;align-items:center;gap:12px;padding:9px 16px;background:var(--bg);border-bottom:1px solid var(--line)}.back{font-size:30px;line-height:38px;min-width:20px}.title{min-width:0;flex:1}.title b{display:block;font-size:14px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.title small{color:var(--dim);font:11px/1.6 sans-serif;letter-spacing:.04em}.actions{display:flex;gap:5px}.actions button{font-size:12px}.stage{position:fixed;top:66px;bottom:63px;left:0;right:0;overflow:auto;display:flex;padding:15px 22px;align-items:safe center;justify-content:safe center}.book{position:relative;display:flex;gap:0;align-items:stretch;filter:drop-shadow(var(--shadow));margin:auto}.leaf{position:relative;background:var(--paper);overflow:hidden;flex:none}.leaf:first-child{border-radius:3px 0 0 3px}.leaf:last-child{border-radius:0 3px 3px 0}.book.single .leaf{border-radius:4px}.svg{position:absolute;inset:0;pointer-events:none}.svg>svg{display:block;width:100%;height:100%}.tl{position:absolute;left:0;top:0;transform-origin:0 0;z-index:2;overflow:hidden;line-height:1}.tl span{position:absolute;color:transparent;white-space:pre;user-select:text;cursor:text;transform-origin:0 0;font-family:'Noto Serif CJK SC',serif}.tl span::selection{background:rgba(217,164,65,.38);color:transparent}.gutter{position:absolute;inset:0 auto 0 50%;width:16px;transform:translateX(-50%);pointer-events:none;background:linear-gradient(90deg,transparent,rgba(0,0,0,.13),transparent);z-index:4}.bot{position:fixed;inset:auto 0 0;z-index:30;display:flex;gap:10px;align-items:center;padding:9px 16px calc(9px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--bg)}.bot button{min-width:40px;font-size:23px;line-height:20px}.rail{flex:1;min-width:35px;accent-color:var(--gold);cursor:pointer}.pg{white-space:nowrap;color:var(--dim);font:12px/1.6 sans-serif}.pg input{width:48px;background:transparent;color:var(--fg);border:1px solid var(--line);border-radius:5px;padding:5px;text-align:center}.pdf{font-size:12px}.drawer{position:fixed;top:66px;bottom:63px;left:0;width:min(360px,91vw);z-index:40;background:var(--bg2);border-right:1px solid var(--line);box-shadow:12px 0 40px #0005;overflow:auto;padding:14px 16px}.drawer[hidden]{display:none}.drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;color:var(--gold)}.toc a{display:flex;align-items:baseline;gap:6px;padding:7px 3px;color:var(--fg);line-height:1.7;font-size:13px;border-radius:5px}.toc a:hover{background:#d9a4411a}.toc a.l1{font-weight:bold;color:var(--gold);margin-top:12px}.toc a.l2{padding-left:10px}.toc a.l3{padding-left:22px;font-size:12px;color:var(--dim)}.toc a.l4{padding-left:33px;font-size:11px;color:var(--dim)}.toc .n{margin-left:auto;white-space:nowrap;font:11px sans-serif;color:var(--dim)}#searchPanel label{color:var(--dim)}#query{width:100%;margin:6px 0 12px;border:1px solid var(--line);border-radius:6px;padding:10px;background:var(--bg);color:var(--fg)}.hit{display:block;margin:8px 0;padding:10px;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:7px;font-size:12px;line-height:1.8}.hit b{color:var(--gold)}.msg{position:fixed;inset:0;z-index:60;display:grid;place-items:center;text-align:center;background:var(--bg);padding:22px}.msg[hidden]{display:none}.spinner{margin:auto;width:32px;height:32px;border:2px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:spin 1s linear infinite}.fallback{font-size:12px}.hint{position:fixed;bottom:76px;left:50%;transform:translateX(-50%);z-index:80;background:#1b2330;color:#efe8d8;padding:8px 16px;border:1px solid var(--line);border-radius:30px;opacity:0;pointer-events:none;transition:.2s;max-width:90vw;white-space:nowrap}.hint.show{opacity:1}@keyframes spin{to{transform:rotate(360deg)}}.book.turning{animation:pagefade .18s ease}@keyframes pagefade{from{opacity:.45;transform:translateX(5px)}to{opacity:1;transform:none}}@media(max-width:980px){.title b{font-size:12px}.actions button{padding:5px 7px}.top{gap:7px}}@media(max-width:700px){.top{flex-wrap:wrap;padding:6px 10px;gap:4px 8px}.title{flex-basis:calc(100% - 34px)}.title b{font-size:13px}.title small{font-size:10px}.actions{width:100%;gap:4px;justify-content:space-between}.actions button{min-height:32px;padding:4px 6px;font-size:11px}.stage{top:100px;bottom:61px;padding:9px 10px}.drawer{top:100px;bottom:61px}.bot{gap:5px;padding-left:7px;padding-right:7px}.bot button{min-width:32px;padding:5px}.pg{font-size:10px}.pg input{width:39px}.pdf{font-size:11px}.rail{min-width:28px}}@media(prefers-reduced-motion:reduce){.book.turning{animation:none}}
#pi{appearance:textfield;-moz-appearance:textfield;font-variant-numeric:tabular-nums}#pi::-webkit-inner-spin-button,#pi::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}@media(max-width:700px){.pg input{width:43px}}
