:root{--paper:#fffdf8;--paper-2:#f6f1e7;--ink:#2b2620;--ink-2:#6b6256;--line:#2b26201f;--accent:#8a5a2b;--danger:#a33a2a;--warn-bg:#fff3d6;--full-bg:#fde3dc;--scroll-shadow:#0000002e;--shadow:0 0 1px #0003, 0 0 4px #00000005, 0 12px 32px #00000014;--serif:"Songti SC", "Noto Serif SC", "Source Han Serif SC", STSong, serif;--sans:-apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--paper:#1d1b18;--paper-2:#26231f;--ink:#e9e2d6;--ink-2:#a49a8b;--line:#e9e2d624;--accent:#d7a46c;--danger:#e0806f;--warn-bg:#3a3120;--full-bg:#43241f;--scroll-shadow:#e9e2d638;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-text-size-adjust:100%}a{color:var(--accent)}button,.ghost,input,textarea{font:inherit;color:inherit}button,a.button{border:1px solid var(--line);background:var(--paper-2);cursor:pointer;border-radius:10px;padding:8px 14px}a.button{color:inherit;text-decoration:none;display:inline-block}button:disabled,a.button.disabled{opacity:.5;cursor:default}button.primary,a.button.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.ghost{color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:6px 8px;text-decoration:none}.ghost:hover{background:var(--paper-2)}.ghost.danger{color:var(--danger)}.ghost.warn{color:var(--accent);font-weight:600}button.small{padding:5px 12px;font-size:14px}button.link{color:var(--accent);background:0 0;border:0;padding:0;text-decoration:underline}.app{min-height:100%}.loading{text-align:center;color:var(--ink-2);padding:40vh 0}.page{max-width:760px;padding:0 16px calc(32px + env(safe-area-inset-bottom));margin:0 auto}.topbar{z-index:5;padding:calc(10px + env(safe-area-inset-top)) 0 10px;background:var(--paper);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;display:flex;position:sticky;top:0}.brand{font-family:var(--serif);margin:0;font-size:20px}.actions{align-items:center;gap:2px;display:flex}.search{margin:14px 0 10px}.search input,.card input,.sheet textarea{border:1px solid var(--line);background:var(--paper-2);border-radius:10px;outline:none;width:100%;padding:10px 12px}.search input:focus,.card input:focus,.sheet textarea:focus{border-color:var(--accent)}.import-row{gap:8px;margin-bottom:8px;display:flex}.banner{border-radius:10px;margin:8px 0;padding:10px 12px;font-size:14px}.banner.warn,.banner.remote{background:var(--warn-bg)}.banner.full{background:var(--full-bg)}.empty{text-align:center;color:var(--ink-2);padding:18vh 16px 0;line-height:1.7}.empty-title{font-family:var(--serif);color:var(--ink);margin-bottom:4px;font-size:22px}.muted{color:var(--ink-2);font-size:14px}.doc-list{margin:0;padding:0;list-style:none}.doc-item{border-bottom:1px solid var(--line);color:inherit;padding:14px 4px;text-decoration:none;display:block}.doc-item:hover .doc-title{color:var(--accent)}.doc-title{font-family:var(--serif);font-size:17px;line-height:1.45;display:block}.doc-meta{color:var(--ink-2);gap:10px;margin-top:4px;font-size:12px;display:flex}.kind{border:1px solid var(--line);font-family:var(--mono);border-radius:4px;padding:0 4px;font-size:11px}.none{padding:24px 4px}.reader-bar .reader-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--serif);color:var(--ink-2);flex:1;font-size:14px;overflow:hidden}.reader-page.is-html{flex-direction:column;max-width:none;height:100dvh;padding:0;display:flex}.reader-page.is-html .topbar{padding-left:16px;padding-right:16px}.reader-page.is-html .banner{margin:8px 16px}.prose{overflow-wrap:anywhere;padding:20px 0 40px;line-height:1.8}.prose h1,.prose h2,.prose h3,.prose h4{font-family:var(--serif);margin:1.6em 0 .6em;line-height:1.35}.prose h1{margin-top:.4em;font-size:1.6em}.prose h2{font-size:1.3em}.prose h3{font-size:1.12em}.prose p,.prose ul,.prose ol,.prose blockquote,.prose table,.prose pre{margin:0 0 1em}.prose blockquote{border-left:3px solid var(--line);color:var(--ink-2);margin-left:0;padding-left:1em}.prose code{font-family:var(--mono);background:var(--paper-2);border-radius:4px;padding:.1em .35em;font-size:.88em}.prose pre{background:var(--paper-2);border-radius:10px;padding:12px 14px;line-height:1.55;overflow-x:auto}.prose pre code{background:0 0;padding:0;font-size:.82em}.prose .table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;background:linear-gradient(to right, var(--paper) 30%, transparent) left / 24px 100% no-repeat local, linear-gradient(to left, var(--paper) 30%, transparent) right / 24px 100% no-repeat local, radial-gradient(farthest-side at 0 50%, var(--scroll-shadow), transparent) left / 10px 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, var(--scroll-shadow), transparent) right / 10px 100% no-repeat scroll;margin:0 0 1em;font-size:.9em;overflow-x:auto}.prose .table-wrap table{margin:0}.prose table{border-collapse:collapse}.prose th,.prose td{border:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:break-word;padding:6px 10px}.prose img{max-width:100%;height:auto}.prose hr{border:0;border-top:1px solid var(--line);margin:2em 0}.card{background:var(--paper);box-shadow:var(--shadow);border-radius:14px;margin:16px 0;padding:16px}.card h2{font-family:var(--serif);margin:0 0 8px;font-size:17px}.card label{color:var(--ink-2);margin:10px 0;font-size:14px;display:block}.card label input{color:var(--ink);margin-top:4px}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.sheet-backdrop{z-index:20;background:#0000004d;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--paper);width:100%;max-width:760px;padding:16px 16px calc(16px + env(safe-area-inset-bottom));box-shadow:var(--shadow);border-radius:16px 16px 0 0}.sheet textarea{resize:vertical;height:45vh;font-family:var(--mono);font-size:14px}.sheet-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.dup-names{word-break:break-all;margin:0 0 8px;padding-left:1.2em;font-size:14px}@media (width>=800px){.sheet-backdrop{align-items:center}.sheet{border-radius:16px}}.drop-hint{border:2px dashed var(--accent);font-family:var(--serif);pointer-events:none;z-index:30;color:#2b2620;background:#fffdf8d9;border-radius:16px;justify-content:center;align-items:center;font-size:22px;display:flex;position:fixed;inset:12px}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));background:var(--ink);color:var(--paper);z-index:40;border-radius:10px;max-width:calc(100% - 32px);padding:10px 16px;font-size:14px;position:fixed;transform:translate(-50%)}@media (width<=400px){.reader-bar .ghost{padding:6px 5px;font-size:14px}}.html-viewer{touch-action:pan-x pan-y;background:#fff;flex:1;position:relative;overflow:hidden}.html-layer{transform-origin:0 0;will-change:transform;position:absolute;inset:0}.html-viewer.canvas .html-layer{bottom:auto;right:auto}.html-layer .html-frame{background:#fff;border:0;width:100%;height:100%;display:block}.html-overlay{touch-action:none;cursor:grab;position:absolute;inset:0}.html-overlay:active{cursor:grabbing}.zoom-badge{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));color:#fff;pointer-events:none;background:#2b2620bf;border-radius:999px;padding:3px 8px;font-size:12px;position:absolute}.link-confirm .link-title{font-family:var(--serif);margin:0 0 10px;font-size:17px}.link-confirm .link-host{word-break:break-all;margin:0 0 4px;font-size:20px;font-weight:600}.link-confirm .link-url{font-family:var(--mono);color:var(--ink-2);word-break:break-all;margin:0 0 10px;font-size:13px}.doc-summary{-webkit-line-clamp:2;color:var(--ink-2);-webkit-box-orient:vertical;margin-top:4px;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.tag{color:var(--accent)}.import-row{flex-wrap:wrap}.sync-alert{align-items:flex-start;gap:8px;display:flex}.sync-alert button{margin-left:auto;padding:0 6px;font-size:18px;line-height:1}.plain-text{white-space:pre-wrap;word-break:break-word;font:inherit;background:0 0;padding:0}:root{--c0:#8a5a2b;--c1:#3f6f8f;--c2:#5e6b2f;--c3:#7a4a73;--c4:#46625a;--c5:#a0523d}.c0{background:var(--c0)}.c1{background:var(--c1)}.c2{background:var(--c2)}.c3{background:var(--c3)}.c4{background:var(--c4)}.c5{background:var(--c5)}.b0{border-color:var(--c0)}.b1{border-color:var(--c1)}.b2{border-color:var(--c2)}.b3{border-color:var(--c3)}.b4{border-color:var(--c4)}.b5{border-color:var(--c5)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.section-label{letter-spacing:.08em;color:var(--ink-2);margin:14px 0 6px;font-size:12px}.continue{flex-direction:column;gap:6px;display:flex}.continue-item{color:inherit;align-items:center;gap:10px;padding:4px 0;text-decoration:none;display:flex}.mini-cover{border-radius:3px;flex:none;width:26px;height:34px}.continue-text{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.continue-title{white-space:nowrap;text-overflow:ellipsis;font-family:var(--serif);font-size:15px;overflow:hidden}.bar,.cover-progress{background:var(--line);border-radius:2px;height:3px;display:block;overflow:hidden}.bar i,.cover-progress i{background:var(--accent);height:100%;display:block}.shelf-toolbar{justify-content:space-between;align-items:center;gap:8px;margin:14px 0 8px;display:flex}.shelf-toolbar select{font:inherit;color:var(--ink-2);background:0 0;border:0;padding:4px 0;font-size:14px}.ghost.on{color:var(--ink);background:var(--paper-2)}.shelf-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 12px;margin:0;padding:0;list-style:none;display:grid}@media (width>=560px){.shelf-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=720px){.shelf-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.tile{color:inherit;flex-direction:column;gap:4px;min-width:0;text-decoration:none;display:flex;position:relative}.tile .cover{aspect-ratio:3/4;color:#fff;border-radius:4px;flex-direction:column;justify-content:flex-end;max-width:100%;padding:8px;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #0000001f}.cover-title{font-family:var(--serif);-webkit-line-clamp:4;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:13px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.cover-kind{font-family:var(--mono);background:#00000040;border-radius:3px;padding:0 4px;font-size:9px;position:absolute;top:6px;right:6px}.cover .cover-progress{background:#ffffff4d;border-radius:0;position:absolute;bottom:0;left:0;right:0}.cover .cover-progress i{background:#fff}.tile .folder-cover{background:var(--paper-2);border:1px solid var(--line);box-shadow:none;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:5px;padding:7px;display:grid}.folder-cover i{border-radius:2px;display:block}.tile .pack-cover{background:var(--paper);border:1px solid var(--line);color:var(--ink-2);justify-content:flex-start;padding:8px 8px 10px}.pack-tab{border-radius:3px 3px 0 0;width:42%;height:8px;display:block}.pack-body{border-top:3px solid;flex:1;padding-top:8px;font-size:12px;line-height:1.5}.tile .inbox-cover{border:1.5px dashed var(--accent);color:var(--accent);box-shadow:none;background:0 0;justify-content:center;align-items:center;font-size:13px}.inbox-cover b{font-family:var(--serif);font-size:26px;font-weight:600}.tile-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;line-height:1.35;overflow:hidden}.tile-sub{color:var(--ink-2);font-size:11px}.tile .check,.doc-item .check,.place-main .check{border:1.5px solid var(--ink-2);background:var(--paper);width:22px;height:22px;color:var(--paper);border-radius:50%;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.tile .check{position:absolute;top:6px;left:6px}.tile.selected .check,.doc-item.selected .check,.place-row.selected .check{background:var(--accent);border-color:var(--accent)}.tile.selected .cover{outline:2px solid var(--accent);outline-offset:2px}.doc-item .check,.place-main .check{float:right;margin-left:8px}.doc-item.archived{opacity:.6}.folder-mark{vertical-align:-1px;border-radius:2px;width:10px;height:12px;margin-right:7px;display:inline-block}.folder-mark.loose{border:1.5px dashed var(--ink-2)}.inbox-row .doc-title{color:var(--accent)}.shelf-foot{text-align:center;margin:24px 0 0}.chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;padding:3px 11px;font-size:13px;line-height:1.5}.chip.go{border-color:var(--accent);color:var(--accent)}.chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.chip.quiet{color:var(--ink-2)}.chip.danger,button.danger{color:var(--danger)}.scope{margin:0 0 6px}.banner.note{background:var(--paper-2);color:var(--ink-2)}.place-row{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;padding:12px 4px;display:flex}.place-main{color:inherit;text-decoration:none;display:block}.place-main .doc-title{font-size:16px}.folder-name{text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:18px;overflow:hidden}.pack-info{margin:14px 0 10px}.start-read{text-align:center;text-overflow:ellipsis;white-space:nowrap;margin:0 0 12px;display:block;overflow:hidden}.pack-actions{margin:0 0 12px}.tree{margin:0;padding:0 0 0 14px;list-style:none}.tree.tree-root{border-top:1px solid var(--line);padding-left:0}.tree-dir,.tree-file{border-bottom:1px solid var(--line);color:inherit;cursor:pointer;justify-content:space-between;gap:10px;padding:10px 2px;text-decoration:none;display:flex}.tree-dir{font-weight:600;list-style:none}.tree-dir::-webkit-details-marker{display:none}.tree-dir:before{content:"▸";color:var(--ink-2);margin-right:6px}details[open]>.tree-dir:before{content:"▾"}.tree-dir .tree-name{flex:1}.tree-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tree-file:hover .tree-name{color:var(--accent)}.tree .muted{flex:none;font-size:12px}.has-select-bar{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.select-bar,.finish-bar{z-index:15;background:var(--paper);border-top:1px solid var(--line);padding:10px max(16px, env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-right));position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #0000000f}.select-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.select-count{color:var(--ink-2);font-size:14px}.select-actions{flex-wrap:wrap;gap:6px;display:flex}.select-actions button{padding:6px 12px}.finish-bar{flex-direction:column;gap:8px;display:flex}.finish-bar p{font-family:var(--serif);margin:0}.picker-title{font-family:var(--serif);margin:0 0 8px;font-size:17px}.picker-list{max-height:45vh;margin:0 0 12px;padding:0;list-style:none;overflow-y:auto}.picker-item{text-align:left;border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;align-items:center;gap:4px;width:100%;padding:12px 4px;display:flex}.picker-item:disabled{opacity:.4}.picker-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.picker-new{gap:8px;display:flex}.picker-new input{border:1px solid var(--line);background:var(--paper-2);border-radius:10px;flex:1;min-width:0;padding:8px 10px}.card select{font:inherit;border:1px solid var(--line);background:var(--paper-2);color:var(--ink);border-radius:8px;margin:0 0 8px;padding:6px 8px}.file-btn{color:var(--accent)}
