:root{--bg:#fff;--bg2:#f6f6f6;--bg3:#ebebeb;--hover:#00000010;--active:#00000018;--ink:#2e3338;--muted:#5c5c5c;--faint:#8a8a8a;--line:#e0e0e0;--accent:#705dcf;--accent-soft:#705dcf22;--accent-ink:#fff;--link:#705dcf;--link-dangling:#8a8a8a;--code:#f2f2f2;--warn:#b4701e;--err:#c0392b;--g-node:#8a8a8a;--g-link:#c4c4c4;--g-dim:#e6e6e6}@media (prefers-color-scheme:dark){:root{--bg:#1e1e1e;--bg2:#262626;--bg3:#363636;--hover:#ffffff10;--active:#ffffff1a;--ink:#dadada;--muted:#a3a3a3;--faint:#7c7c7c;--line:#363636;--accent:#7f6df2;--accent-soft:#7f6df233;--accent-ink:#fff;--link:#a18fff;--link-dangling:#7c7c7c;--code:#2b2b2b;--warn:#e0a24e;--err:#ff6b6b;--g-node:#b3b3b3;--g-link:#4a4a4a;--g-dim:#303030}}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}html,body{height:100%}body{background:var(--bg);color:var(--ink);margin:0;font:15px/1.6 -apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif;overflow:hidden}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;color:inherit}::selection{background:var(--accent-soft)}*{scrollbar-width:thin;scrollbar-color:var(--bg3) transparent}.app{height:100dvh;display:flex}.side{background:var(--bg2);flex-direction:column;width:272px;min-height:0;display:flex;overflow:hidden}.side.left{border-right:1px solid var(--line)}.side.right{border-left:1px solid var(--line);width:288px}.side.closed{display:none}.main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.side{flex:none}.titlebar{border-bottom:1px solid var(--line);background:var(--bg2);flex:none;align-items:center;gap:4px;height:40px;padding:0 8px;display:flex}.titlebar .crumbs{text-align:center;min-width:0;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.titlebar .crumbs b{color:var(--ink);font-weight:500}.icon-btn{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:5px;flex:none;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--hover);color:var(--ink)}.icon-btn.on{color:var(--accent)}.icon-btn svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.scroll{flex:1;min-height:0;overflow:auto}.content{max-width:760px;margin:0 auto;padding:28px 32px 96px}.scrim{display:none}.side-head{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:2px;padding:6px 8px;display:flex}.side-head .spacer{flex:1}.filter{flex:none;padding:8px}.filter input{background:var(--bg);width:100%;color:var(--ink);border:1px solid var(--line);font:inherit;border-radius:5px;outline:none;padding:5px 9px;font-size:13px}.filter input:focus,input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.tree{-webkit-user-select:none;user-select:none;flex:1;padding:0 6px 12px;font-size:13.5px;overflow:auto}.tree ul{margin:0;padding:0;list-style:none}.tree ul ul{border-left:1px solid var(--line);margin-left:11px;padding-left:3px}.node{color:var(--muted);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;line-height:1.6;display:flex;overflow:hidden}.node:hover{background:var(--hover);color:var(--ink);text-decoration:none}.node.active{background:var(--active);color:var(--ink)}.node .chev{width:12px;color:var(--faint);text-align:center;flex:none;font-size:10px;transition:transform .12s}.node .chev.open{transform:rotate(90deg)}.node .nm{text-overflow:ellipsis;overflow:hidden}.node .lock{color:var(--warn);margin-left:auto;font-size:10px}.side-foot{border-top:1px solid var(--line);color:var(--faint);flex:none;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex}.side-foot button{color:var(--faint);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0;font-size:12px}.side-foot button:hover{color:var(--ink)}.panel{border-bottom:1px solid var(--line)}.panel>summary{cursor:pointer;color:var(--muted);letter-spacing:.02em;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:600;list-style:none;display:flex}.panel>summary::-webkit-details-marker{display:none}.panel>summary:before{content:"›";width:10px;color:var(--faint);transition:transform .12s;display:inline-block}.panel[open]>summary:before{transform:rotate(90deg)}.panel>summary .count{color:var(--faint);margin-left:auto;font-weight:400}.panel .body{padding:0 8px 10px;font-size:13px}.panel .empty{color:var(--faint);padding:0 4px;font-size:12.5px}.link-item{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;padding:3px 6px;display:block;overflow:hidden}.link-item:hover{background:var(--hover);color:var(--ink);text-decoration:none}.link-item small{color:var(--faint);text-overflow:ellipsis;font-size:11.5px;display:block;overflow:hidden}.link-item.dangling{color:var(--link-dangling);font-style:italic}.outline a{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;padding:2px 6px;display:block;overflow:hidden}.outline a:hover{background:var(--hover);color:var(--ink);text-decoration:none}.props{grid-template-columns:auto 1fr;gap:3px 10px;padding:0 4px;font-size:12.5px;display:grid}.props dt{color:var(--faint)}.props dd{color:var(--muted);overflow-wrap:anywhere;margin:0}.tag{background:var(--accent-soft);color:var(--link);border-radius:999px;margin:0 4px 4px 0;padding:0 8px;font-size:12px;display:inline-block}.mini-graph{border:1px solid var(--line);background:var(--bg);border-radius:6px;height:220px;margin:0 4px;position:relative;overflow:hidden}.note-title{letter-spacing:-.01em;margin:0 0 6px;font-size:2em;font-weight:700;line-height:1.2}.meta{color:var(--faint);flex-wrap:wrap;gap:12px;margin-bottom:18px;font-size:12.5px;display:flex}.badge{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:0 8px;font-size:11.5px}.badge.local{color:var(--warn);border-color:var(--warn)}.md{overflow-wrap:anywhere;font-size:16px;line-height:1.7}.md h1,.md h2,.md h3,.md h4{margin:1.5em 0 .4em;font-weight:700;line-height:1.25}.md h1{font-size:1.8em}.md h2{font-size:1.45em}.md h3{font-size:1.2em}.md h4{font-size:1.05em}.md>:first-child{margin-top:0}.md p{margin:.6em 0}.md ul,.md ol{padding-left:1.5em}.md li::marker{color:var(--faint)}.md pre{background:var(--code);border-radius:6px;padding:12px 14px;font-size:13.5px;line-height:1.5;overflow-x:auto}.md code{background:var(--code);border-radius:4px;padding:1px 5px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.88em}.md pre code{background:0 0;padding:0}.md table{border-collapse:collapse;display:block;overflow-x:auto}.md th,.md td{border:1px solid var(--line);padding:5px 10px}.md th{background:var(--bg2)}.md blockquote{border-left:3px solid var(--accent);color:var(--muted);margin:1em 0;padding:0 0 0 14px}.md hr{border:0;border-top:1px solid var(--line);margin:1.6em 0}.md a.dangling{color:var(--link-dangling)}.md img{max-width:100%}.md input[type=checkbox]{accent-color:var(--accent);margin-right:6px}input[type=text],input[type=password],input[type=search],textarea{background:var(--bg);width:100%;color:var(--ink);border:1px solid var(--line);font:inherit;border-radius:6px;outline:none;padding:8px 11px}.editor{resize:vertical;background:0 0;border:0;border-radius:0;width:100%;min-height:calc(100dvh - 190px);padding:0;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:14px;line-height:1.65;box-shadow:none!important}button.primary{background:var(--accent);color:var(--accent-ink);cursor:pointer;border:0;border-radius:6px;padding:7px 14px}button.primary:hover{filter:brightness(1.1)}button.ghost{background:var(--bg3);color:var(--ink);cursor:pointer;border:0;border-radius:6px;padding:7px 14px}button.ghost:hover{filter:brightness(1.15)}button:disabled{opacity:.5;cursor:default}.row{align-items:center;gap:8px;display:flex}.err{color:var(--err);margin:8px 0;font-size:13px}.toast{background:var(--bg3);color:var(--ink);border:1px solid var(--line);z-index:50;border-radius:6px;padding:8px 14px;font-size:13px;position:fixed;bottom:16px;right:16px;box-shadow:0 6px 20px #0006}.searchbar{margin-bottom:8px;position:relative}.searchbar input{padding-left:34px;font-size:15px}.searchbar svg{width:16px;height:16px;stroke:var(--faint);fill:none;stroke-width:1.8px;position:absolute;top:50%;left:10px;translate:0 -50%}.stats{color:var(--faint);margin:0 0 18px;font-size:12.5px}.sec{color:var(--faint);letter-spacing:.04em;text-transform:uppercase;margin:26px 0 6px;font-size:12px;font-weight:600}.list{margin:0;padding:0;list-style:none}.list li{border-radius:6px;padding:8px 10px}.list li:hover{background:var(--hover)}.list .t{color:var(--ink);font-weight:500}.list .path,.list .snip{color:var(--faint);font-size:12.5px}.list .snip{color:var(--muted);display:block}.list mark,.snip mark{background:var(--accent-soft);color:var(--ink);border-radius:2px}.login{place-items:center;height:100dvh;padding:16px;display:grid}.login .card{background:var(--bg2);border:1px solid var(--line);border-radius:10px;width:100%;max-width:340px;padding:26px}.login h1{margin:0 0 4px;font-size:1.3rem}.login .meta{margin-bottom:14px}.graph{background:var(--bg);flex:1;min-height:0;position:relative;overflow:hidden}.graph canvas{display:block}.gpanel{background:var(--bg2);border:1px solid var(--line);z-index:5;border-radius:8px;width:232px;max-height:calc(100% - 20px);font-size:13px;position:absolute;top:10px;right:10px;overflow:auto}.gpanel.collapsed .gbody{display:none}.ghead{color:var(--muted);align-items:center;padding:7px 10px;font-size:12.5px;font-weight:600;display:flex}.ghead .icon-btn{width:24px;height:24px;margin-left:auto}.gsec{border-top:1px solid var(--line);padding:8px 10px 10px}.gsec h4{letter-spacing:.04em;text-transform:uppercase;color:var(--faint);margin:0 0 6px;font-size:11.5px;font-weight:600}.gsec label{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;padding:3px 0;display:flex}.gsec input[type=range]{width:100%;accent-color:var(--accent)}.gsec input[type=text]{padding:4px 8px;font-size:13px}.toggle{appearance:none;background:var(--bg3);cursor:pointer;border-radius:999px;flex:none;width:30px;height:17px;transition:background .12s;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:13px;transition:translate .12s;position:absolute;inset:2px auto 2px 2px}.toggle:checked{background:var(--accent)}.toggle:checked:after{translate:13px}.gsec select{background:var(--bg3);max-width:130px;color:var(--ink);border:1px solid var(--line);border-radius:5px;padding:3px 6px;font-size:12.5px}.legend{max-height:190px;color:var(--muted);flex-direction:column;gap:3px;padding-top:6px;font-size:12px;display:flex;overflow:auto}.legend span{white-space:nowrap;text-overflow:ellipsis;align-items:center;min-width:0;display:flex;overflow:hidden}.legend i{border-radius:50%;flex:none;width:9px;height:9px;margin-right:6px}@media (max-width:900px){.side{z-index:30;max-width:86vw;position:fixed;top:0;bottom:0;box-shadow:0 0 30px #0008}.side.left{left:0}.side.right{right:0}.scrim{z-index:20;background:#0007;display:block;position:fixed;inset:0}.content{padding:20px 18px 80px}.note-title{font-size:1.6em}.gpanel{width:200px}}
