:root{--bg-primary: #1e1e2e;--bg-secondary: #181825;--bg-surface: #313244;--bg-overlay: #45475a;--text-primary: #cdd6f4;--text-secondary: #bac2de;--text-muted: #6c7086;--accent: #cba6f7;--accent-dim: #9370c0;--link: #89b4fa;--link-hover: #b4d0fb;--border: #45475a;--tag-bg: #313244;--tag-text: #cba6f7;--code-bg: #181825;--content-width: 720px;--header-height: 56px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", "Fira Code", "Cascadia Code", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{color-scheme:dark}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.7;-webkit-font-smoothing:antialiased}a{color:var(--link);text-decoration:none;transition:color .15s}a:hover{color:var(--link-hover);text-decoration:underline}a.wikilink{color:var(--accent);border-bottom:1px dashed var(--accent-dim)}a.wikilink:hover{color:var(--accent);border-bottom-style:solid;text-decoration:none}.header{position:sticky;top:0;z-index:100;height:var(--header-height);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.header-left{display:flex;align-items:center;gap:1.5rem}.header-logo{font-weight:700;font-size:1rem;color:var(--text-primary);text-decoration:none}.header-logo:hover{text-decoration:none}.header-nav{display:flex;gap:1rem}.header-nav a{color:var(--text-secondary);font-size:.9rem}.header-nav a:hover{color:var(--text-primary);text-decoration:none}.header-right{display:flex;align-items:center}.search-trigger{display:flex;align-items:center;gap:.5rem;padding:.35rem .75rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-size:.85rem;cursor:pointer;transition:border-color .15s}.search-trigger:hover{border-color:var(--text-muted)}.search-trigger kbd{font-family:var(--font-sans);font-size:.75rem;padding:.1em .35em;background:var(--bg-overlay);border-radius:3px}article{max-width:var(--content-width);margin:0 auto;padding:2rem 1.5rem}article h1{font-size:2rem;margin-bottom:1rem}article h2{font-size:1.5rem;margin-top:2rem;margin-bottom:.75rem}article h3{font-size:1.25rem;margin-top:1.5rem;margin-bottom:.5rem;color:var(--text-secondary)}article p{margin-bottom:1rem}article ul,article ol{padding-left:1.5rem;margin-bottom:1rem}article li{margin-bottom:.25rem}article blockquote{border-left:3px solid var(--accent);padding-left:1rem;margin:1rem 0;color:var(--text-secondary)}article code{font-family:var(--font-mono);background:var(--code-bg);padding:.15em .4em;border-radius:4px;font-size:.9em}article pre{background:var(--code-bg);padding:1rem;border-radius:8px;overflow-x:auto;margin:1rem 0;border:1px solid var(--border)}article pre code{background:none;padding:0;border-radius:0}article img{max-width:100%;border-radius:8px}.mermaid-diagram{margin:1.5rem 0;padding:1.5rem;background:#0f172a;border:1px solid var(--border);border-radius:8px;overflow-x:auto;text-align:center}.mermaid-diagram svg{max-width:100%;height:auto}.mermaid-diagram .node rect,.mermaid-diagram .node polygon,.mermaid-diagram .node circle,.mermaid-diagram .node ellipse,.mermaid-diagram .node path{filter:drop-shadow(0 1px 2px rgba(0,0,0,.4)) drop-shadow(0 6px 14px rgba(0,0,0,.45));stroke-width:1.2px!important}.mermaid-diagram .node rect{rx:10;ry:10}.mermaid-diagram .edgePath path.path,.mermaid-diagram .flowchart-link{stroke-width:1.5px!important;stroke-linecap:round!important;stroke-linejoin:round!important}.mermaid-diagram .arrowheadPath,.mermaid-diagram marker path{stroke-width:0!important}.mermaid-diagram .edgeLabel rect{fill:#0f172a!important;opacity:.9!important;rx:4!important;ry:4!important}.mermaid-diagram .edgeLabel text,.mermaid-diagram .edgeLabel tspan{fill:#cbd5e1!important;font-size:12px!important}.mermaid-diagram .cluster rect{rx:14!important;ry:14!important;stroke-width:1px!important}.mermaid-diagram .cluster-label .nodeLabel,.mermaid-diagram .cluster text{font-weight:600!important;fill:#f1f5f9!important;color:#f1f5f9!important}.mermaid-diagram .nodeLabel,.mermaid-diagram .edgeLabel,.mermaid-diagram .cluster text,.mermaid-diagram .actor,.mermaid-diagram text.actor>tspan,.mermaid-diagram .messageText,.mermaid-diagram .loopText,.mermaid-diagram .noteText,.mermaid-diagram .labelText,.mermaid-diagram .sectionTitle,.mermaid-diagram .titleText,.mermaid-diagram .taskText,.mermaid-diagram .grid text{font-family:Inter,system-ui,sans-serif!important}.mermaid-diagram .actor{filter:drop-shadow(0 2px 6px rgba(0,0,0,.5));stroke-width:1.2px!important}.mermaid-diagram .actor-line{stroke-width:1px!important;stroke-dasharray:2 4!important}.mermaid-diagram rect.activation0,.mermaid-diagram rect.activation1,.mermaid-diagram rect.activation2{fill:#312e81!important;stroke:#6366f1!important}.mermaid-diagram .messageLine0,.mermaid-diagram .messageLine1,.mermaid-diagram line.messageLine0,.mermaid-diagram line.messageLine1,.mermaid-diagram path.messageLine0,.mermaid-diagram path.messageLine1{stroke:#818cf8!important;stroke-width:1.5px!important}.mermaid-diagram rect.labelBox{fill:#312e81!important;stroke:#6366f1!important;rx:6!important;ry:6!important}.mermaid-diagram .note,.mermaid-diagram g.note rect{filter:drop-shadow(0 2px 6px rgba(234,179,8,.2));rx:10!important;ry:10!important}.mermaid-diagram .noteText,.mermaid-diagram g.note text{font-size:13px!important;font-weight:500!important}.mermaid-diagram .flowchart g.cluster rect{fill:#111827!important;stroke:#334155!important;stroke-dasharray:4 4!important}.mermaid-diagram .branch-label rect,.mermaid-diagram .commit-label rect,.mermaid-diagram .tag-label rect{rx:8!important;ry:8!important;stroke-width:0!important;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.mermaid-diagram .branch-label text{font-weight:600!important;fill:#fff!important}.mermaid-diagram .branch0,.mermaid-diagram .branch1,.mermaid-diagram .branch2,.mermaid-diagram .branch3{stroke-width:4px!important;stroke-linecap:round!important}.mermaid-diagram circle.commit{stroke-width:3px!important;stroke:#fff!important}article hr{border:none;border-top:1px solid var(--border);margin:2rem 0}article table{width:100%;border-collapse:collapse;margin:1rem 0}article th,article td{padding:.5rem .75rem;border:1px solid var(--border);text-align:left}article th{background:var(--bg-surface);font-weight:600}.tag{display:inline-block;padding:.15em .6em;background:var(--tag-bg);color:var(--tag-text);border-radius:12px;font-size:.8rem;margin-right:.3rem}.note-tags{margin-bottom:1.5rem}a.tag{text-decoration:none;transition:background .15s}a.tag:hover{background:var(--bg-overlay);text-decoration:none}.backlinks{max-width:var(--content-width);margin:0 auto;padding:0 1.5rem 2rem}.backlinks h2{font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.75rem}.backlinks ul{list-style:none;padding:0}.backlinks li{padding:.4rem 0}.backlinks a{color:var(--accent)}.note-list{max-width:var(--content-width);margin:0 auto;padding:2rem 1.5rem}.note-list h1{font-size:1.8rem;margin-bottom:1.5rem}.note-card{display:block;padding:1rem;border:1px solid var(--border);border-radius:8px;margin-bottom:.75rem;transition:border-color .15s,background .15s}.note-card:hover{border-color:var(--accent-dim);background:var(--bg-surface);text-decoration:none}.note-card .title{display:block;font-weight:600;color:var(--text-primary);margin-bottom:.3rem}.note-card .meta{font-size:.85rem;color:var(--text-muted)}.graph-page{height:calc(100vh - var(--header-height));overflow:hidden;position:relative}.graph-canvas{display:block;width:100%;height:100%}.graph-toolbar{position:absolute;top:1rem;left:1rem;z-index:10}.graph-toolbar input{width:220px;padding:.45rem .75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.85rem;font-family:var(--font-sans);outline:none;transition:border-color .15s}.graph-toolbar input:focus{border-color:var(--accent-dim)}.graph-toolbar input::placeholder{color:var(--text-muted)}.graph-controls{position:absolute;bottom:1rem;right:1rem;display:flex;gap:.5rem}.graph-controls button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:1rem;transition:background .15s}.graph-controls button:hover{background:var(--bg-overlay)}.graph-tooltip{display:none;position:fixed;z-index:100;max-width:260px;padding:.6rem .8rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0006;pointer-events:none}.graph-tooltip strong{display:block;color:var(--text-primary);font-size:.9rem;margin-bottom:.2rem}.graph-tooltip p{color:var(--text-muted);font-size:.8rem;line-height:1.4;margin:.3rem 0 0}.graph-tooltip-tags{display:flex;gap:.25rem;margin-top:.25rem}.graph-tooltip-tags .tag{font-size:.7rem;padding:.1em .4em}.graph-legend-wrapper{position:absolute;bottom:1rem;left:1rem;display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;z-index:5}.graph-legend-toggle{display:none;align-items:center;gap:.35rem;padding:.4rem .7rem;font-size:.8rem;color:var(--text, #cdd6f4);background:#1e1e2ee6;border:1px solid var(--border, #313244);border-radius:999px;cursor:pointer;backdrop-filter:blur(4px);-webkit-tap-highlight-color:transparent}.graph-legend-toggle:hover,.graph-legend-toggle:focus-visible{background:#313244f2;outline:none}.graph-legend-toggle-icon{font-weight:700;color:var(--text-muted, #6c7086)}.graph-legend{display:flex;flex-direction:column;gap:.25rem;max-width:220px;max-height:min(50vh,360px);overflow-y:auto;padding:.5rem .75rem;background:#1e1e2ed9;border:1px solid var(--border, #313244);border-radius:6px;backdrop-filter:blur(4px);scrollbar-width:thin;scrollbar-color:var(--text-muted) transparent}.graph-legend[hidden]{display:none}@media(max-width:768px){.graph-legend-toggle{display:inline-flex}.graph-legend{max-width:min(80vw,260px);max-height:min(50vh,320px)}}.graph-legend::-webkit-scrollbar{width:6px}.graph-legend::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}.graph-legend-section{display:flex;flex-direction:column;gap:.15rem}.graph-legend-section+.graph-legend-section{margin-top:.6rem;padding-top:.5rem;border-top:1px solid var(--border, #313244)}.graph-legend-item{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--text-muted);text-decoration:none;padding:.15rem .25rem;border-radius:3px;transition:background .15s,color .15s}.graph-legend-item:hover{color:var(--text, #cdd6f4);background:#89b4fa1f}.graph-legend-srs{font-weight:600;color:var(--text, #cdd6f4)}.graph-legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.local-graph{max-width:var(--content-width);margin:0 auto;padding:0 1.5rem 1.5rem}.local-graph-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.local-graph-title{font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.local-graph-depth{display:flex;gap:.25rem}.local-graph-depth button{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:.8rem;transition:all .15s}.local-graph-depth button.active{background:var(--accent-dim);color:var(--text-primary);border-color:var(--accent-dim)}.local-graph-depth button:hover{border-color:var(--accent-dim)}.local-graph-canvas{display:block;width:100%;height:240px;border:1px solid var(--border);border-radius:8px}dialog#search-dialog{position:fixed;top:20vh;left:50%;transform:translate(-50%);width:min(560px,90vw);border:1px solid var(--border);border-radius:12px;background:var(--bg-secondary);color:var(--text-primary);padding:0;box-shadow:0 25px 50px -12px #00000080}dialog#search-dialog::backdrop{background:#00000080;backdrop-filter:blur(4px)}.search-input-wrap{padding:1rem;border-bottom:1px solid var(--border)}.search-input-wrap input{width:100%;background:transparent;border:none;color:var(--text-primary);font-size:1.1rem;font-family:var(--font-sans);outline:none}.search-input-wrap input::placeholder{color:var(--text-muted)}.search-results{list-style:none;padding:.5rem;max-height:50vh;overflow-y:auto}.search-results li{padding:.5rem .75rem;border-radius:6px;cursor:pointer}.search-results li:hover,.search-results li.active{background:var(--bg-surface)}.search-results li .title{display:block;color:var(--text-primary)}.search-results li .excerpt{display:block;color:var(--text-muted);font-size:.85rem;margin-top:.15rem}.search-empty{text-align:center;padding:2rem;color:var(--text-muted)}@media(max-width:640px){article{padding:1.5rem 1rem}.backlinks{padding:0 1rem 1.5rem}.note-list{padding:1.5rem 1rem}.header{padding:0 1rem}.search-trigger span{display:none}}
