/* Three-column notebook layout shared by the local and encrypted readers. */
[hidden]{display:none!important}
.library,.docs-layout{--ink:#292b30;--muted:#74777f;--paper:#fff;--card:#fff;--line:#e7e5e1;--accent:#a44938;--accent-soft:#f1e4de;--soft:#f1e4de;--navigation:#f1f0eb;--list:#f8f7f4;color:var(--ink);background:var(--paper);height:100vh;height:100dvh;min-height:0;display:grid;grid-template-columns:238px 324px minmax(0,1fr);overflow:hidden;font-family:"Segoe UI","Microsoft YaHei","PingFang SC",system-ui,sans-serif;font-size:14px;line-height:1.55}
.library button,.docs-layout button{border-radius:5px;font-size:12px;padding:6px 9px;line-height:1.5}
.library input,.docs-layout input{font-size:13px;border-radius:6px;padding:8px 10px;border:1px solid var(--line);background:#fff;color:var(--ink);min-width:0}
.library input:focus,.docs-layout input:focus{outline:2px solid var(--soft);border-color:var(--accent)}
.sidebar{position:relative;inset:auto;width:auto;height:100%;min-height:0;display:flex;flex-direction:column;background:var(--navigation);border-right:1px solid var(--line);z-index:30;overflow:hidden;transform:none;box-shadow:none}
.sidebar-head{height:64px;flex:none;padding:11px 16px;border-bottom:1px solid var(--line)}
.sidebar-head strong,.sidebar-brand{display:block;color:var(--ink);font-size:17px;font-weight:750;letter-spacing:.02em;text-decoration:none;line-height:1.35}
.sidebar-head span{display:block;font-size:10px;line-height:1.7;color:var(--muted)}
.sidebar-search{padding:12px 10px 8px;flex:none}.sidebar-search input{background:#faf9f6}
.search-label,.sidebar-search label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.shortcuts{margin:0;padding:0 7px 18px;flex:none}
.nav-button{display:flex;align-items:center;justify-content:space-between;width:100%;margin:2px 0;padding:8px 12px!important;background:transparent;color:#50545e;text-align:left;font-size:14px!important;border:0}
.nav-button:hover,.folder-select:hover{background:#e9e7e1}
.nav-button.active,.folder-select[aria-pressed="true"]{background:#e9d9d1;color:#914431;font-weight:650}
.nav-count,.folder-count{font-size:11px!important;color:var(--muted);font-weight:400;margin-left:auto;flex:none}
.tree-buttons{display:flex;align-items:center;gap:3px;padding:0 10px 6px;flex:none}
.tree-title{font-size:11px;font-weight:650;color:var(--muted);margin-right:auto}
.tree-buttons button{padding:3px 5px!important;font-size:10px!important;background:transparent;color:var(--muted);border:0}
.catalog,.sidebar-nav{flex:1;min-height:0;overflow:auto;padding:0 7px 16px;scrollbar-width:thin}
.catalog .folder-node,.sidebar-nav .folder-node{margin:0}
.catalog summary,.sidebar-nav summary{padding:0 0 0 6px;font-size:11px;color:#85858a;cursor:pointer;user-select:none;font-weight:400;white-space:nowrap}
.folder-select{display:inline-flex;align-items:center;gap:5px;width:calc(100% - 17px);padding:7px 6px!important;background:transparent;color:#50545e;vertical-align:middle;text-align:left;font-size:13px!important;border:0}
.folder-select .folder-label{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;font-weight:450;letter-spacing:0;color:inherit}
.sidebar-nav summary .folder-select span{float:none;font-weight:inherit;color:inherit}
.folder-children{margin-left:13px;padding-left:4px;border-left:1px solid #dfddd7}
.folder-leaf{padding-left:20px}.folder-leaf .folder-select{width:100%}
.settings-host{flex:none;border-top:1px solid var(--line);padding:10px 12px;max-height:40%;overflow:auto;background:var(--navigation)}
.reading-settings{margin:0}.reading-settings summary{font-size:12px;color:var(--muted);cursor:pointer}
.reader-checkbox{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:400;margin:10px 0}
.reader-checkbox input{width:auto;accent-color:var(--accent)}
.reader-muted{color:var(--muted);font-size:12px;line-height:1.65;margin:8px 0}
.note-list-pane{min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--list);border-right:1px solid var(--line);overflow:hidden}
.list-header{height:64px;flex:none;display:flex;align-items:center;gap:8px;padding:0 17px;border-bottom:1px solid var(--line)}
.list-header h1{font-size:14px;font-weight:700;line-height:1.5;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;flex:1}
.list-count{font-size:11px;color:var(--muted);background:#eeece8;padding:1px 6px;border-radius:4px}
.list-search{flex:none;padding:12px 12px 0}.list-search input{background:transparent;border-color:transparent}
#search-status{font-size:11px;color:var(--muted);line-height:1.4;min-height:8px;margin:5px 0}
.note-list{flex:1;min-height:0;overflow:auto;padding:0 10px 18px;scrollbar-width:thin}
.reader-results{list-style:none;padding:0;margin:0}
.note-cards li{margin:3px 0 7px}
.note-cards a{position:relative;display:block;padding:13px 12px 11px;border:1px solid transparent;border-radius:7px;color:var(--ink);text-decoration:none;overflow:hidden}
.note-cards a:hover{background:#efede9}
.note-cards a.active{background:white;border-color:var(--line);box-shadow:0 1px 3px #24242408}
.note-cards strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.6;font-size:14px;font-weight:650;overflow-wrap:anywhere;padding-right:0}
.note-cards a.active strong{color:var(--accent)}
.note-cards p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:13px;line-height:1.65;color:var(--muted);margin:5px 0 7px;overflow-wrap:anywhere}
.note-cards small{display:block;color:#7c7e85;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:40px}
.favorite-badge{position:absolute;bottom:11px;right:11px;font-size:10px;color:var(--accent)}
.list-empty{padding:24px 12px;color:var(--muted);font-size:12px;line-height:1.8;list-style:none}
.page,.docs-page{position:relative;min-width:0;min-height:0;height:100%;margin:0;display:flex;flex-direction:column;overflow:hidden;background:white}
.topbar,.docs-topbar{position:relative;inset:auto;flex:none;height:64px;min-height:64px;display:flex;align-items:center;gap:8px;padding:0 22px;background:#fff;border-bottom:1px solid var(--line);z-index:10}
.page-title,.topbar strong{min-width:0;flex:1;font-size:14px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0;margin:0 auto 0 0}
.topbar form{margin:0;flex:none}.topbar button{white-space:nowrap;color:#666970}
.menu-button,.back-to-list{display:none}
.reader,.docs-page .reader-shell{flex:1;min-height:0;width:100%;margin:0;padding:0;overflow:auto;scrollbar-width:thin}
.reading-grid{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;min-height:100%}
.reading-main{min-width:0;width:100%;max-width:none;margin:0;padding:22px 36px 90px}
.reader-controls{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:0 0 18px;min-height:28px}
.reader-controls button{font-size:11px;padding:4px 8px}.read-only-label{color:#96989d;font-size:10px;margin-left:4px}
.reader-hit-status{font-size:11px;color:var(--muted)}
.doc-meta,.document-meta{font-size:11px;color:#888b92;margin:0 0 20px;overflow-wrap:anywhere}
.content,.markdown-body{padding:0;border:0;border-radius:0;background:white;overflow-wrap:anywhere;font-size:16px;line-height:1.85;max-width:1200px}
.content h1,.markdown-body h1{font-size:27px;letter-spacing:-.02em;line-height:1.45}
.content h2,.markdown-body h2{font-size:21px;line-height:1.5}.content h3,.markdown-body h3{font-size:17px;line-height:1.5}
.content pre,.markdown-body pre{max-width:100%;overflow:auto;border:1px solid var(--line);background:#f6f6f5;color:#34363d;padding:16px 18px;border-radius:6px;font-size:13px;line-height:1.8}
.content code,.markdown-body code{font-family:"Cascadia Code",Consolas,monospace}.content p code,.markdown-body p code{background:#f4f2ef;padding:2px 4px;border-radius:3px}
.content img,.markdown-body img{max-width:100%;height:auto}.content a,.markdown-body a{color:var(--accent)}
.content blockquote,.markdown-body blockquote{margin:18px 0;padding:4px 18px;border-left:3px solid #cfb3a8;background:#f8f5f1;color:#57595e}
.content [id],.markdown-body [id]{scroll-margin-top:20px}
.welcome-panel,.content.welcome{margin:0;border:0;border-radius:0;background:transparent;padding:80px 0}.welcome-panel h1,.content.welcome h1{font-size:24px}.welcome-panel p,.content.welcome p{color:var(--muted)}
.rail-open .reading-grid{grid-template-columns:minmax(0,1fr) 232px}
.reading-rail{position:sticky;top:0;max-height:calc(100dvh - 64px);overflow:auto;border-left:1px solid var(--line);padding:20px 16px;font-size:12px;background:#fcfcfb;align-self:start;scrollbar-width:thin}
.reading-rail summary{font-size:12px;font-weight:650;cursor:pointer;padding:5px 0 9px}
.reading-rail details+details{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}
.outline-link{display:block;color:var(--muted);padding:4px 7px;border-left:2px solid transparent;font-size:11px;text-decoration:none;line-height:1.65;overflow-wrap:anywhere}
.outline-link:hover,.outline-link[aria-current]{color:var(--accent);border-color:var(--accent);background:#f3ece6}
.outline-link.level-2{padding-left:13px}.outline-link.level-3{padding-left:20px}.outline-link.level-4,.outline-link.level-5,.outline-link.level-6{padding-left:27px}
.reading-rail .doc-link{font-size:11px;color:var(--muted);padding:5px 0;overflow-wrap:anywhere;background:transparent}
mark{background:#fff0a3;color:#292b30;border-radius:2px}.current-hit{outline:2px solid #b67d22;background:#ffdf8a}
.unavailable-link{color:var(--muted);text-decoration:underline dotted;cursor:help}button:disabled{opacity:.5;cursor:default}
:is(a,button,summary,input):focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.scrim,.sidebar-scrim{position:fixed;inset:0;width:100%;height:100%;border:0;border-radius:0;background:#18191d55;z-index:25}
@media(max-width:1250px){.library,.docs-layout{grid-template-columns:210px 280px minmax(0,1fr)}.reading-main{padding-left:28px;padding-right:28px}.rail-open .reading-grid{grid-template-columns:minmax(0,1fr)}.rail-open .reading-rail{position:absolute;right:0;top:64px;width:250px;max-height:calc(100dvh - 64px);box-shadow:-8px 0 24px #0000000c;z-index:9}.tree-buttons{padding-left:7px;padding-right:7px;gap:0}}
@media(max-width:1050px){.library,.docs-layout{grid-template-columns:280px minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;transform:translateX(-100%);transition:transform .15s ease}.sidebar.open{transform:translateX(0)}.menu-button{display:inline-block}.page,.docs-page{margin:0}.topbar{padding:0 14px}.reading-main{padding:20px 25px 65px}.sidebar-head{height:64px}.list-header{padding:0 12px}}
@media(max-width:700px){.library,.docs-layout{display:block}.note-list-pane{width:100%;height:100%;border:0}.page,.docs-page{display:none}.reading-document .note-list-pane{display:none}.reading-document .page,.reading-document.docs-layout .docs-page{display:flex}.back-to-list{display:inline-block}.reading-document .topbar .menu-button{display:none}.topbar{height:54px;min-height:54px;padding:0 10px;gap:7px}.topbar button{font-size:11px;padding:5px 7px}.topbar strong,.page-title{font-size:13px}.reading-main{padding:18px 20px 60px}.reader-controls{margin-bottom:12px}.doc-meta,.document-meta{margin-bottom:17px}.content,.markdown-body{font-size:15px}.content h1,.markdown-body h1{font-size:24px}.content pre,.markdown-body pre{font-size:12px;padding:12px}.rail-open .reading-rail{top:54px;width:min(285px,85vw);max-height:calc(100dvh - 54px)}.note-cards a{padding:14px}.note-cards strong{font-size:14px}.note-cards p{font-size:13px}.list-header h1{font-size:16px}.list-search input{background:white;border-color:var(--line)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:1050px){.sidebar{visibility:hidden}.sidebar.open{visibility:visible}}
@media(max-width:700px){.topbar button,.list-header button{min-height:40px}.sidebar button.nav-button,.sidebar button.folder-select{min-height:38px}}
