:root{--bg:#f6f7f9;--surface:#fff;--surface-2:#f1f2f5;--border:#e4e6ea;--text:#1c1e21;--text-dim:#6b7280;--accent:#4f46e5;--accent-soft:#eef0ff;--danger:#dc2626;--radius:10px;--shadow:0 1px 3px #10182812, 0 8px 24px #1018280d;--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace}@media (prefers-color-scheme:dark){:root{--bg:#101214;--surface:#181a1e;--surface-2:#21242a;--border:#2c3037;--text:#e8eaed;--text-dim:#9aa1ab;--accent:#818cf8;--accent-soft:#26284a;--shadow:0 1px 3px #0006, 0 8px 24px #0000004d}}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,sans-serif;line-height:1.55}#app,.app-root{height:100%}.app-shell{grid-template-columns:290px minmax(0,1fr);height:100vh;display:grid}button{font:inherit;color:inherit;cursor:pointer}input,textarea{font:inherit;color:inherit}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:10px;padding:14px 12px;display:flex;overflow-y:auto}.brand{letter-spacing:-.02em;font-size:17px;font-weight:700}.brand-mark{color:var(--accent);margin-right:2px}.brand-thin{color:var(--text-dim);font-weight:500}.side-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.side-actions{gap:4px;display:flex}.icon-btn{background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:15px;transition:background .15s;display:inline-flex}.icon-btn:hover{background:var(--surface-2)}.icon-btn-active{background:var(--accent-soft);color:var(--accent)}.side-search{position:relative}.search-input{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);outline:none;width:100%;padding:8px 12px;transition:border-color .15s,box-shadow .15s}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.tag-filter{flex-wrap:wrap;gap:6px;display:flex}.tag-filter:not(:empty){margin-bottom:2px}.chip{border:1px solid var(--border);background:var(--surface-2);border-radius:999px;padding:2px 10px;font-size:12px;transition:all .15s}.chip:hover{border-color:var(--accent);color:var(--accent)}.chip-active{background:var(--accent);border-color:var(--accent);color:#fff}.chip-clear{border-style:dashed}.tree{flex-direction:column;flex:1;display:flex}.tree-empty{color:var(--text-dim);padding:12px 8px;font-size:13px}.tree-row{cursor:default;border-radius:8px;align-items:center;gap:4px;padding:5px 8px;display:flex;position:relative}.tree-row:hover{background:var(--surface-2)}.tree-row:hover .row-actions{opacity:1}.tree-row-active{background:var(--accent-soft)}.tree-row-active .tree-title{color:var(--accent);font-weight:600}.tree-row-selected .tree-title{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.chev{width:18px;height:18px;color:var(--text-dim);background:0 0;border:none;flex:none;font-size:11px;transition:transform .15s}.chev-closed{transform:rotate(-90deg)}.chev-none{flex:none;width:18px;display:inline-block}.tree-title{text-align:left;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;flex:1;min-width:0;padding:0;font-size:14px;overflow:hidden}.tree-tags{color:var(--text-dim);flex:none;font-size:11px}.row-actions{opacity:0;flex:none;gap:2px;transition:opacity .15s;display:flex}.mini-btn{background:var(--surface);width:22px;height:22px;box-shadow:0 0 0 1px var(--border);border:none;border-radius:6px;justify-content:center;align-items:center;font-size:11px;display:inline-flex}.mini-btn:hover{color:var(--accent);border-color:var(--accent)}.side-footer{color:var(--text-dim);text-align:center;border-top:1px solid var(--border);padding-top:8px;font-size:11px}.export-badge{border-radius:var(--radius);background:var(--accent);color:#fff;border:none;width:100%;padding:8px;font-weight:600;transition:filter .15s}.export-badge:hover{filter:brightness(1.08)}.pane-wrap{min-width:0;height:100vh;overflow-y:auto}.main-pane{max-width:820px;margin:0 auto;padding:20px 36px 80px}.meta-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.crumbs{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;display:flex}.crumb{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:6px;max-width:180px;padding:2px 4px;font-size:13px;overflow:hidden}.crumb:hover{color:var(--accent);background:var(--surface-2)}.crumb-sep{color:var(--border)}.meta-tools{flex:none;gap:6px;display:flex}.tool-btn{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:5px 11px;font-size:13px;transition:all .15s}.tool-btn:hover{border-color:var(--accent);color:var(--accent)}.tool-btn-active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.tool-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.tool-danger:hover{border-color:var(--danger);color:var(--danger)}.note-head{margin-top:22px}.title-input{letter-spacing:-.03em;background:0 0;border:none;border-radius:6px;outline:none;width:100%;padding:0;font-size:34px;font-weight:800}.title-input:focus{box-shadow:0 2px 0 var(--accent)}.title-input::placeholder{color:var(--border)}.tags-row{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;display:flex}.chip-tag{background:var(--accent-soft);color:var(--accent);border-color:#0000;align-items:center;gap:2px;display:inline-flex}.chip-x{opacity:.6;background:0 0;border:none;padding:0 2px;font-size:12px}.chip-x:hover{opacity:1}.chip-add{color:var(--text-dim);background:0 0;border-style:dashed}.tag-input{border:1px solid var(--accent);background:var(--surface);border-radius:999px;outline:none;width:140px;padding:2px 10px;font-size:12px}.note-updated{color:var(--text-dim);margin:6px 0 18px;font-size:12px}.md-empty-block{color:var(--text-dim);text-align:center;border:1px dashed var(--border);border-radius:var(--radius);cursor:text;padding:26px 10px;font-style:italic}.note-body{font-size:16px}.md-block{cursor:text;border-radius:8px;margin:0 -10px;padding:2px 10px;transition:background .12s,box-shadow .12s}.md-block:hover{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent)}.md-block h1,.md-block h2,.md-block h3,.md-block h4,.md-block h5,.md-block h6{letter-spacing:-.02em;margin:.8em 0 .35em}.md-h1{font-size:1.7em;font-weight:800}.md-h2{font-size:1.4em;font-weight:700}.md-heading{scroll-margin-top:20px}.note-body blockquote,.print-body blockquote{border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 8px 8px 0;margin:.7em 0;padding:10px 16px}.note-body blockquote p,.print-body blockquote p{margin:.2em 0}.note-body blockquote em,.note-body blockquote cite,.print-body blockquote em{color:var(--text)}.md-code pre{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--mono);padding:14px 16px;font-size:13.5px;line-height:1.6;overflow-x:auto}code{font-family:var(--mono);background:var(--surface-2);border-radius:5px;padding:1px 5px;font-size:.88em}pre code{background:0 0;padding:0}.md-table{overflow-x:auto}.md-table table{border-collapse:collapse;min-width:100%;margin:.8em 0}.md-table tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--surface-2) 55%, transparent)}.md-table th{background:var(--surface-2);position:sticky;top:0}.md-table th,.md-table td{border:1px solid var(--border);padding:6px 14px}.md-table th{background:var(--surface-2)}.md-table .left{text-align:left}.md-table .right{text-align:right}.md-table .center{text-align:center}.md-list ul,.md-list ol{margin:.3em 0;padding-left:1.5em}.md-list li{margin:.15em 0}.md-list li.md-task{list-style:none}.md-list li.md-task::marker{content:""}.md-list li.md-task>input[type=checkbox]{accent-color:var(--accent);margin-right:7px;transform:translateY(1px)}.md-list li.md-task>p{margin:0;display:inline}.md-hr hr{border:none;border-top:1px solid var(--border);margin:1.4em 0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.md-ref{background:var(--accent-soft);border-radius:6px;padding:1px 6px;font-weight:500}.md-ref:hover{filter:brightness(.96);text-decoration:none}.md-ref-missing{color:var(--text-dim);border:1px dashed var(--border);background:0 0}img{border-radius:var(--radius);max-width:100%}span.md-math{font-family:var(--mono);background:var(--surface-2);border-radius:5px;padding:1px 6px}.md-math-block{text-align:center;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);margin:.8em -10px;padding:14px}.md-math-block .mfrac,span.md-math .mfrac{vertical-align:middle;text-align:center;flex-direction:column;margin:0 3px;display:inline-flex}.mfrac>span:first-child{border-bottom:1px solid;padding:0 4px}.mfrac>span:last-child{padding:0 4px}.msqrt{white-space:nowrap}.mrad{border-top:1px solid;padding:0 2px}.mtext{font-family:system-ui,sans-serif}span.md-math sup,span.md-math sub,.md-math-block sup,.md-math-block sub{font-size:.72em;line-height:1}.md-mermaid-view{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:.8em -10px;padding:14px;overflow-x:auto}.mermaid-svg{max-width:100%;height:auto;color:var(--text);margin:0 auto;display:block}.mermaid-svg path{color:var(--text-dim)}.md-mermaid{background:var(--surface);border:1px dashed var(--accent);border-radius:var(--radius);font-family:var(--mono);color:var(--text-dim);white-space:pre-wrap;margin:.8em -10px;padding:16px;font-size:12px}.md-mermaid:before{content:"diagram (mermaid)";letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;font-size:10px;display:block}.md-dl dt{margin-top:.6em;font-weight:700}.md-dl dd{color:var(--text-dim);margin:.15em 0 .3em 1.4em}kbd{font-family:var(--mono);border:1px solid var(--border);background:var(--surface-2);border-bottom-width:2px;border-radius:5px;padding:1px 5px;font-size:.85em}mark{background:color-mix(in srgb, var(--accent) 25%, transparent);border-radius:3px;padding:0 2px}.md-footnotes{color:var(--text-dim);margin-top:40px;font-size:13px}.md-footnotes .footnote-sep{border:none;border-top:1px dashed var(--border)}.md-footnotes ol{padding-left:1.4em}.md-footnotes li{margin:.3em 0}.footnote-ref a,.footnote-back{text-decoration:none}.block-editor,.source-editor{border:1px solid var(--accent);background:var(--surface);width:100%;font-family:var(--mono);resize:none;box-shadow:0 0 0 3px var(--accent-soft);border-radius:8px;outline:none;padding:8px 10px;font-size:13.5px;line-height:1.6}.source-editor{min-height:55vh}.md-block-editing{margin:0;padding:0;box-shadow:none!important;background:0 0!important}.edit-toolbar{align-items:center;gap:8px;margin-bottom:4px;display:flex}.img-btn{width:auto;height:22px;padding:0 7px;font-size:12px}.edit-hint,.source-hint{color:var(--text-dim);margin-bottom:4px;font-size:11px}.backlinks{border-top:1px dashed var(--border);margin-top:56px;padding-top:14px}.backlinks-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin:0 0 8px;font-size:12px}.backlink{border:1px solid var(--border);background:var(--surface);border-radius:999px;margin:0 8px 8px 0;padding:3px 12px;font-size:13px;transition:all .15s;display:inline-block}.backlink:hover{border-color:var(--accent);color:var(--accent)}.empty-state{height:70vh;color:var(--text-dim);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.empty-glyph{color:var(--accent);font-size:44px}.btn-primary{border-radius:var(--radius);background:var(--accent);color:#fff;border:none;padding:9px 20px;font-weight:600}.btn-primary:hover{filter:brightness(1.08)}.btn-secondary{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:9px 20px}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.menu{z-index:100;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:210px;box-shadow:var(--shadow);padding:5px;animation:.12s ease-out menu-in;position:fixed}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.menu-item{text-align:left;background:0 0;border:none;border-radius:7px;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:7px 10px;font-size:13.5px;display:flex}.menu-item:hover{background:var(--accent-soft);color:var(--accent)}.menu-danger:hover{background:#fee2e2;color:var(--danger)!important}.menu-hint{color:var(--text-dim);font-size:11px}.menu-sep{background:var(--border);height:1px;margin:5px 4px}.toast-host{z-index:200;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:18px;right:18px}.toast{background:var(--surface);color:var(--text);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:10px;padding:10px 14px;font-size:13.5px;animation:.2s ease-out toast-in;display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.toast-out{opacity:0;transition:all .25s;transform:translateY(8px)}.toast-action{color:var(--accent);background:0 0;border:none;padding:0;font-weight:600}.toast-close{color:var(--text-dim);background:0 0;border:none;padding:0 2px;font-size:15px}body.dropping:after{content:"Drop markdown or .zip files to import";z-index:300;border:2px dashed var(--accent);background:color-mix(in srgb, var(--accent-soft) 85%, transparent);color:var(--accent);pointer-events:none;border-radius:18px;justify-content:center;align-items:center;font-size:20px;font-weight:700;display:flex;position:fixed;inset:12px}.print-mode .app-shell{display:block}.print-mode .sidebar{display:none}.print-bar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:12px 20px;display:flex;position:sticky;top:0}.print-info{color:var(--text-dim);font-size:13px}.print-sheet{max-width:800px;margin:30px auto}.print-note{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:48px 56px}.print-path{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.print-title{letter-spacing:-.03em;margin:6px 0 4px;font-size:32px}.print-tags{color:var(--accent);font-size:13px}.print-date{color:var(--text-dim);margin-bottom:22px;font-size:12px}.page-break{margin-top:28px}@media print{body{color:#000;background:#fff}.sidebar,.meta-bar,.meta-tools,.backlinks,.note-updated,.print-bar,.toast-host,.menu,.side-footer,.tags-row{display:none!important}.app-shell{height:auto;display:block}.pane-wrap{height:auto;overflow:visible}.main-pane{max-width:none;padding:0}.print-sheet{max-width:none;margin:0}.print-note{box-shadow:none;border:none;border-radius:0;padding:0}.page-break{page-break-before:always;margin-top:0}a{color:inherit}.md-ref{background:0 0;padding:0}.md-block:hover{box-shadow:none;background:0 0}.title-input{font-size:28pt}}@media (width<=860px){.app-shell,.app-root.has-toc:not(.toc-hidden) .app-shell,.app-root.sb-hidden.has-toc:not(.toc-hidden) .app-shell{grid-template-columns:minmax(0,1fr)}.sidebar,.toc-panel{z-index:90;width:min(85vw,330px);margin:0;transition:transform .22s;position:fixed;top:0;bottom:0;box-shadow:0 12px 40px #0000004d}.sidebar{left:0;right:auto}.toc-panel{left:auto;right:0}.app-root.sb-hidden .app-shell>.sidebar{transform:translate(-105%);display:flex!important}.app-root.toc-hidden .toc-panel{transform:translate(105%);display:flex!important}.app-root:not(.sb-hidden) .sidebar,.app-root:not(.toc-hidden) .toc-panel{transform:none}.edge-left{display:inline-flex!important;left:8px!important}.edge-right{display:inline-flex!important;right:8px!important}.main-pane{padding:16px 18px 60px}.drawer-backdrop{display:none}.drawer-backdrop.open{z-index:85;background:#00000061;animation:.18s fade-in;display:block;position:fixed;inset:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.md-task-check{cursor:pointer}.app-shell{grid-template-columns:290px minmax(0,1fr);transition:grid-template-columns .18s}.app-root.has-toc:not(.toc-hidden) .app-shell{grid-template-columns:290px minmax(0,1fr) 250px}.app-root.sb-hidden .app-shell{grid-template-columns:minmax(0,1fr)}.app-root.sb-hidden.has-toc:not(.toc-hidden) .app-shell{grid-template-columns:minmax(0,1fr) 250px}.app-root.sb-hidden .app-shell>.sidebar,.app-root.toc-hidden .toc-panel{display:none}.edge-toggle{z-index:60;border:1px solid var(--border);background:var(--surface);width:26px;height:26px;color:var(--text-dim);box-shadow:var(--shadow);border-radius:7px;justify-content:center;align-items:center;font-size:13px;transition:color .15s,border-color .15s;position:fixed;top:12px}.edge-toggle:hover{color:var(--accent);border-color:var(--accent)}.edge-left{display:none;left:8px}.app-root.sb-hidden .edge-left{display:inline-flex}.edge-right{display:inline-flex;right:8px}.app-root.has-toc:not(.toc-hidden) .edge-right{right:262px}.toc-panel{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;padding:12px 10px;display:flex;overflow-y:auto}.toc-header{margin-bottom:8px}.toc-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-size:11px;font-weight:700}.toc-list{flex-direction:column;display:flex}.toc-link{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;border-left:2px solid #0000;border-radius:0 6px 6px 0;padding:4px 8px;font-size:12.5px;text-decoration:none;display:block;overflow:hidden}a.toc-link:hover{color:var(--accent);background:var(--surface-2)}a.toc-link.toc-active{color:var(--accent);border-left-color:var(--accent);background:var(--accent-soft);font-weight:600}.toc-l1{padding-left:8px}.toc-l2{padding-left:18px}.toc-l3{padding-left:28px}.toc-l4{padding-left:38px}.toc-l5{padding-left:48px}.toc-l6{padding-left:58px}.toc-empty{color:var(--text-dim);padding:6px;font-size:12px}@media print{.toc-panel,.edge-toggle{display:none!important}}:root{--tok-com:#6a737d;--tok-str:#0a3069;--tok-kw:#cf222e;--tok-num:#0550ae;--tok-bi:#8250df;--tok-fn:#8250df;--tok-punc:var(--text-dim);--tok-tag:#116329;--tok-attr:#953800;--tok-var:#953800}@media (prefers-color-scheme:dark){:root{--tok-com:#8b949e;--tok-str:#a5d6ff;--tok-kw:#ff7b72;--tok-num:#79c0ff;--tok-bi:#d2a8ff;--tok-fn:#d2a8ff;--tok-tag:#7ee787;--tok-attr:#ffa657;--tok-var:#ffa657}}[data-code-theme=github]{--tok-com:#6a737d;--tok-str:#0a3069;--tok-kw:#cf222e;--tok-num:#0550ae;--tok-bi:#8250df;--tok-fn:#8250df;--tok-punc:#57606a;--tok-tag:#116329;--tok-attr:#953800;--tok-var:#953800}[data-code-theme=monokai]{--tok-com:#88846f;--tok-str:#e6db74;--tok-kw:#f92672;--tok-num:#ae81ff;--tok-bi:#66d9ef;--tok-fn:#a6e22e;--tok-punc:#f8f8f2;--tok-tag:#f92672;--tok-attr:#a6e22e;--tok-var:#fd971f}[data-code-theme=monokai] .md-block pre,[data-code-theme=monokai] pre code{color:#f8f8f2;background:#272822}[data-code-theme=ocean]{--tok-com:#65737e;--tok-str:#97b65c;--tok-kw:#c594c5;--tok-num:#f99157;--tok-bi:#69c;--tok-fn:#82aaff;--tok-punc:#c0c5ce;--tok-tag:#ebcb8b;--tok-attr:#8fa1b3;--tok-var:#d08770}[data-code-theme=ocean] .md-block pre,[data-code-theme=ocean] pre code{color:#c0c5ce;background:#2b303b}.tok-com{font-style:italic}.tok-kw{color:var(--tok-kw)}.tok-str{color:var(--tok-str)}.tok-num{color:var(--tok-num)}.tok-com{color:var(--tok-com)}.tok-bi{color:var(--tok-bi)}.tok-fn{color:var(--tok-fn)}.tok-punc{color:var(--tok-punc)}.tok-tag{color:var(--tok-tag)}.tok-attr{color:var(--tok-attr)}.tok-var{color:var(--tok-var)}.tree-row-backup .tree-title{opacity:.75}.tree-row-backup{background:color-mix(in srgb, var(--surface-2) 60%, transparent)}.backup-chip{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);border:1px solid var(--border);background:var(--surface-2);border-radius:4px;flex:none;margin-right:3px;padding:0 4px;font-size:9px;font-weight:700}.diag-wrap{align-items:flex-start;gap:8px;display:flex}.diag-wrap .md-mermaid-view{flex:1;min-width:0}.diag-bookmarks{flex-direction:column;flex:none;gap:6px;padding-top:34px;display:flex}.diag-bm{background:var(--surface);width:38px;height:27px;color:var(--text-dim);border:1px solid var(--border);letter-spacing:.05em;cursor:pointer;clip-path:polygon(0 0,100% 0,100% 100%,50% 74%,0 100%);font-size:9px;font-weight:700;transition:color .15s,border-color .15s,transform .1s}.diag-bm:hover{color:var(--accent);border-color:var(--accent);transform:translate(-2px)}.diag-bm.bm-active{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}@media print{.diag-bookmarks{display:none!important}}
