@import "https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,500;8..60,600;8..60,700&family=IBM+Plex+Mono:wght@400;500;600&family=DM+Sans:wght@400;500;600;700&display=swap";:root{--bg:#0e1015;--bg-sidebar:#161920;--bg-hover:#1e222b;--bg-active:#1471c9;--bg-card:#1a1d25;--fg:#e1e3e8;--fg-muted:#9299a6;--fg-faint:#545d6e;--accent:#60a5fa;--accent-dim:#60a5fa1a;--accent-bright:#93c5fd;--border:#262a33;--border-bright:#3a3f4b;--code-bg:#12151b;--search-bg:#12151b;--shadow:#00000073;--serif:"Source Serif 4", Georgia, "Times New Roman", serif;--mono:"IBM Plex Mono", "SF Mono", "Fira Code", Consolas, monospace;--sans:"DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--reading-width:780px}[data-theme=light]{--bg:#fff;--bg-sidebar:#f7f8fa;--bg-hover:#eef0f4;--bg-active:#1471c9;--bg-card:#f2f3f6;--fg:#1a1d26;--fg-muted:#4b5263;--fg-faint:#8b92a3;--accent:#2563eb;--accent-dim:#2563eb12;--accent-bright:#3b82f6;--border:#dfe2e8;--border-bright:#c8ccd4;--code-bg:#f4f5f7;--search-bg:#fff;--shadow:#00000012}*,:before,:after{box-sizing:border-box;margin:0;padding:0}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--fg-faint);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--fg-muted)}body{font-family:var(--sans);background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100vh;transition:background .3s,color .3s;display:flex;overflow:hidden}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border);flex-direction:column;width:280px;min-width:280px;height:100vh;transition:background .3s;display:flex}.sidebar-header{border-bottom:1px solid var(--border);flex-shrink:0;padding:18px 14px 14px}.logo h1{font-family:var(--sans);letter-spacing:-.3px;color:var(--fg);font-size:16px;font-weight:700}.stats{font-family:var(--mono);color:var(--fg-faint);letter-spacing:.3px;margin-top:3px;font-size:10.5px}.search-wrap{margin-top:12px;position:relative}.search-box{background:var(--search-bg);border:1px solid var(--border);width:100%;color:var(--fg);font-family:var(--sans);border-radius:6px;outline:none;padding:8px 11px;font-size:13px;transition:border-color .2s,box-shadow .2s}.search-box:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.search-box::placeholder{color:var(--fg-faint)}.search-count{font-family:var(--mono);color:var(--fg-faint);letter-spacing:.3px;min-height:14px;margin-top:4px;font-size:10px;display:block}.section-tabs{display:none}.section-tab{font-family:var(--sans);cursor:pointer;color:var(--fg-muted);white-space:nowrap;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;border-radius:5px;padding:4px 7px;font-size:11px;font-weight:500;transition:all .15s}.section-tab:hover{background:var(--bg-hover);color:var(--fg)}.section-tab.active{background:var(--accent-dim);color:var(--accent);border-color:#0000}.section-tab .tab-icon{margin-right:2px}.section-tab .tab-count{opacity:.5;margin-left:3px;font-size:10px}.quick-access{border-bottom:1px solid var(--border);padding:0 6px}.quick-access:empty{border:none;padding:0;display:none}.quick-section{padding:6px 0}.quick-label{font-family:var(--mono);color:var(--fg-faint);text-transform:uppercase;letter-spacing:1px;padding:0 8px 4px;font-size:9.5px;font-weight:600}.quick-item{color:var(--fg-muted);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:4px;padding:3px 8px;font-size:12px;transition:background .1s,color .1s;overflow:hidden}.quick-item:hover{background:var(--bg-hover);color:var(--fg)}.quick-item .qi-icon{margin-right:4px;font-size:10px}.sidebar-nav{scrollbar-width:thin;scrollbar-color:var(--fg-faint) transparent;flex:1;padding:6px;overflow-y:auto}.cat-group{margin-bottom:1px}.cat-header{font-family:var(--mono);color:var(--fg-faint);text-transform:uppercase;letter-spacing:.8px;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;gap:5px;padding:5px 8px;font-size:10.5px;font-weight:500;transition:background .12s,color .12s;display:flex}.cat-header:hover{background:var(--bg-hover);color:var(--fg-muted)}.cat-header .arrow{opacity:.5;font-size:8px;transition:transform .15s}.cat-header.collapsed .arrow{transform:rotate(-90deg)}.cat-header .count{opacity:.4;margin-left:auto;font-size:9.5px;font-weight:400}.cat-items{overflow:hidden}.cat-items.hidden{display:none}.nav-item{color:var(--fg-muted);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:5px;padding:5px 10px 5px 20px;font-size:13px;line-height:1.5;transition:background .12s,color .12s;overflow:hidden}.nav-item:hover{background:var(--bg-hover);color:var(--fg)}.nav-item.active{background:var(--bg-active);color:#fff;font-weight:500}.main{scroll-behavior:smooth;flex:1;overflow-y:auto}.content{max-width:var(--reading-width);margin:0 auto;padding:36px 44px 100px}.welcome{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;display:flex}.welcome h2{font-family:var(--sans);letter-spacing:-.5px;margin-bottom:10px;font-size:28px;font-weight:700;line-height:1.25}.welcome p{color:var(--fg-muted);max-width:480px;font-size:15px;line-height:1.7}.welcome kbd{font-family:var(--mono);background:var(--bg-hover);border:1px solid var(--border);border-radius:4px;padding:2px 7px;font-size:11.5px}.section-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;width:100%;max-width:640px;margin-top:28px;display:grid}.section-card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:8px;padding:14px;transition:all .18s}.section-card:hover{border-color:var(--accent);background:var(--bg-hover);box-shadow:0 4px 16px var(--shadow);transform:translateY(-2px)}.section-card .card-icon{margin-bottom:6px;font-size:20px}.section-card .card-label{color:var(--fg);font-size:13px;font-weight:600}.section-card .card-count{font-family:var(--mono);color:var(--fg-faint);margin-top:3px;font-size:10.5px}.breadcrumb{font-family:var(--mono);color:var(--fg-faint);letter-spacing:.3px;align-items:center;gap:6px;margin-bottom:20px;font-size:11px;display:flex}.breadcrumb .cat{color:var(--accent);cursor:pointer}.breadcrumb .cat:hover{text-decoration:underline}.md-body{font-family:var(--serif);color:var(--fg);font-size:16px;line-height:1.8}.md-body h1{font-family:var(--serif);border-bottom:2px solid var(--border);letter-spacing:-.3px;margin-bottom:10px;padding-bottom:12px;font-size:30px;font-weight:700;line-height:1.25}.md-body h2{font-family:var(--serif);letter-spacing:-.2px;color:var(--fg);margin-top:36px;margin-bottom:14px;font-size:22px;font-weight:600;line-height:1.3}.md-body h3{font-family:var(--sans);text-transform:uppercase;letter-spacing:.5px;color:var(--fg-muted);margin-top:28px;margin-bottom:10px;font-size:16px;font-weight:700}.md-body h4{font-family:var(--sans);color:var(--fg-muted);margin-top:22px;margin-bottom:6px;font-size:14px;font-weight:700}.md-body p{margin-bottom:14px}.md-body ul,.md-body ol{margin-bottom:14px;padding-left:22px}.md-body li{margin-bottom:5px}.md-body li>ul,.md-body li>ol{margin-top:5px;margin-bottom:0}.md-body a{color:var(--accent);border-bottom:1px solid var(--accent-dim);text-decoration:none;transition:border-color .15s}.md-body a:hover{border-bottom-color:var(--accent)}.md-body blockquote{border-left:3px solid var(--border-bright);color:var(--fg-muted);background:var(--code-bg);border-radius:0 8px 8px 0;margin:0 0 18px;padding:10px 18px;font-style:italic}.md-body code{font-family:var(--mono);background:var(--code-bg);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:2px 6px;font-size:.85em}.md-body pre{border:1px solid var(--border);border-radius:8px;margin-bottom:18px;padding:16px 18px;font-size:13px;line-height:1.6;overflow-x:auto;background:var(--code-bg)!important}.md-body pre code{color:var(--fg);background:0 0;border:none;padding:0;font-size:13px}.md-body table{border-collapse:collapse;width:100%;font-family:var(--sans);margin-bottom:18px;font-size:13.5px}.md-body th,.md-body td{border:1px solid var(--border);text-align:left;padding:9px 13px}.md-body th{background:var(--code-bg);font-family:var(--mono);text-transform:uppercase;letter-spacing:.5px;color:var(--fg-muted);font-size:11px;font-weight:600}.md-body td{color:var(--fg-muted)}.md-body tr:hover td{background:var(--bg-hover)}.md-body strong{color:var(--fg);font-weight:600}.md-body hr{border:none;border-top:1px solid var(--border);margin:28px 0}.md-body img{border-radius:8px;max-width:100%;margin:8px 0}.toc-sidebar{border-left:1px solid var(--border);background:var(--bg);width:200px;min-width:200px;height:100vh;padding:18px 10px;display:none;overflow-y:auto}.toc-sidebar.visible{display:block}.toc-header{font-family:var(--mono);text-transform:uppercase;letter-spacing:1px;color:var(--fg-faint);margin-bottom:12px;font-size:9.5px;font-weight:600}.toc-nav{flex-direction:column;gap:1px;display:flex}.toc-item{font-family:var(--sans);color:var(--fg-faint);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-left:2px solid #0000;border-radius:3px;padding:3px 8px;font-size:11.5px;text-decoration:none;transition:all .12s;overflow:hidden}.toc-item:hover{color:var(--fg);background:var(--bg-hover)}.toc-item.active{color:var(--accent);border-left-color:var(--accent)}.toc-item.depth-3{padding-left:18px;font-size:11px}.page-meta{font-family:var(--mono);color:var(--fg-faint);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;font-size:11px;display:flex}.page-meta .meta-item{align-items:center;gap:3px;display:flex}.page-meta .bookmark-btn{cursor:pointer;border:1px solid var(--border);color:var(--fg-muted);font-size:12px;font-family:var(--sans);background:0 0;border-radius:4px;padding:2px 8px;transition:all .12s}.page-meta .bookmark-btn:hover{background:var(--bg-hover)}.page-meta .bookmark-btn.bookmarked{color:#e5a00d;border-color:#e5a00d}.page-nav{border-top:1px solid var(--border);justify-content:space-between;gap:16px;margin-top:48px;padding-top:24px;display:flex}.page-nav-btn{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:8px;flex:1;max-width:45%;padding:14px 16px;text-decoration:none;transition:all .18s}.page-nav-btn:hover{border-color:var(--accent);background:var(--bg-hover);box-shadow:0 2px 12px var(--shadow);transform:translateY(-1px)}.page-nav-btn .pn-label{font-family:var(--mono);color:var(--fg-faint);text-transform:uppercase;letter-spacing:.8px;margin-bottom:3px;font-size:10px}.page-nav-btn .pn-title{color:var(--fg);font-size:13px;font-weight:500}.page-nav-btn.next{text-align:right}.page-nav-btn.empty{visibility:hidden}.code-wrapper{position:relative}.copy-btn{font-family:var(--mono);background:var(--bg-hover);border:1px solid var(--border);color:var(--fg-faint);cursor:pointer;opacity:0;text-transform:uppercase;letter-spacing:.5px;border-radius:5px;padding:3px 10px;font-size:10px;transition:opacity .15s,background .15s;position:absolute;top:8px;right:8px}.code-wrapper:hover .copy-btn{opacity:1}.copy-btn:hover{background:var(--bg-active);color:#fff}.copy-btn.copied{background:var(--accent);color:#fff;opacity:1}.related-articles{margin-top:36px}.related-articles:empty{display:none}.related-header{font-family:var(--mono);text-transform:uppercase;letter-spacing:1px;color:var(--fg-faint);border-bottom:1px solid var(--border);margin-bottom:10px;padding-bottom:6px;font-size:10px;font-weight:600}.related-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.related-card{background:var(--bg-card);border:1px solid var(--border);color:var(--fg-muted);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:6px;padding:10px 13px;font-size:12.5px;transition:all .15s;overflow:hidden}.related-card:hover{border-color:var(--accent);color:var(--fg);background:var(--bg-hover);transform:translateY(-1px)}mark{background:var(--accent-dim);color:var(--accent-bright);border-radius:3px;padding:1px 3px}.modal-overlay{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal-overlay.visible{display:flex}.modal{background:var(--bg-sidebar);border:1px solid var(--border);width:90%;max-width:420px;box-shadow:0 12px 40px var(--shadow);border-radius:14px;padding:22px}.modal-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.modal-header h3{font-family:var(--sans);font-size:16px;font-weight:600}.modal-close{color:var(--fg-faint);cursor:pointer;background:0 0;border:none;font-size:22px;transition:color .1s}.modal-close:hover{color:var(--fg)}.shortcut-group{margin-bottom:16px}.shortcut-title{font-family:var(--mono);color:var(--fg-faint);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:10px;font-weight:600}.shortcut-row{justify-content:space-between;align-items:center;padding:5px 0;font-size:13px;display:flex}.shortcut-row kbd{font-family:var(--mono);background:var(--bg-hover);border:1px solid var(--border);text-align:center;border-radius:5px;min-width:56px;padding:3px 10px;font-size:11px}.shortcut-row span{color:var(--fg-muted)}.toolbar{z-index:10;gap:4px;display:flex;position:fixed;top:12px;right:16px}.toolbar button{background:var(--bg-sidebar);border:1px solid var(--border);color:var(--fg-faint);cursor:pointer;border-radius:7px;align-items:center;padding:7px 9px;transition:background .12s,color .12s,border-color .12s;display:flex}.toolbar button:hover{background:var(--bg-hover);color:var(--fg);border-color:var(--border-bright)}.create-types{grid-template-columns:1fr 1fr;gap:8px;display:grid}.create-type-btn{background:var(--bg);border:1px solid var(--border);cursor:pointer;text-align:left;color:var(--fg);border-radius:8px;flex-direction:column;align-items:flex-start;padding:14px;transition:all .18s;display:flex}.create-type-btn:hover{border-color:var(--accent);background:var(--bg-hover);box-shadow:0 4px 12px var(--shadow);transform:translateY(-2px)}.ct-icon{margin-bottom:6px;font-size:22px}.ct-label{font-size:14px;font-weight:600}.ct-desc{color:var(--fg-muted);margin-top:2px;font-size:11px}.create-form{flex-direction:column;gap:10px;display:flex}.create-input{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--fg);font-family:var(--sans);border-radius:6px;outline:none;padding:10px 12px;font-size:15px;font-weight:600}.create-input:focus{border-color:var(--accent)}.create-editor{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--fg);font-family:var(--mono);resize:vertical;border-radius:6px;outline:none;min-height:200px;padding:12px;font-size:13px;line-height:1.6}.create-editor:focus{border-color:var(--accent)}.create-actions{justify-content:flex-end;gap:8px;display:flex}.create-btn{font-family:var(--sans);cursor:pointer;border:1px solid var(--border);border-radius:6px;padding:8px 18px;font-size:13px;font-weight:500;transition:all .12s}.create-btn.secondary{background:var(--bg);color:var(--fg-muted)}.create-btn.secondary:hover{background:var(--bg-hover);color:var(--fg)}.create-btn.primary{background:var(--bg-active);color:#fff;border-color:var(--bg-active)}.create-btn.primary:hover{opacity:.9}.edit-textarea{background:var(--bg);border:1px solid var(--border);width:100%;min-height:400px;color:var(--fg);font-family:var(--mono);resize:vertical;border-radius:8px;outline:none;padding:18px;font-size:13px;line-height:1.65}.edit-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.edit-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.mobile-toggle{z-index:30;background:var(--bg-active);color:#fff;cursor:pointer;width:48px;height:48px;box-shadow:0 4px 16px var(--shadow);border:none;border-radius:50%;justify-content:center;align-items:center;display:none;position:fixed;bottom:16px;left:16px}@media (width<=1100px){.toc-sidebar{display:none!important}}@media (width<=768px){.sidebar{z-index:20;height:100vh;box-shadow:4px 0 20px var(--shadow);transition:transform .25s;position:fixed;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.content{padding:20px 16px 60px}.mobile-toggle{display:flex}.toolbar{top:10px;right:10px}.page-nav{flex-direction:column}.page-nav-btn{max-width:100%}.section-grid{grid-template-columns:repeat(2,1fr)}}
