:root{--nd-bg:var(--theme-bg);--nd-surface:var(--theme-surface);--nd-border:var(--theme-border);--nd-text:var(--theme-text);--nd-text-muted:var(--theme-text-muted);--nd-accent:var(--theme-accent);--nd-accent-light:var(--theme-accent-light);--nd-success:var(--theme-success);--nd-success-light:var(--theme-success-light);--nd-warning:var(--theme-warning);--nd-error:var(--theme-error);--nd-shadow:var(--theme-shadow);--nd-shadow-lg:var(--theme-shadow-lg)}.node-detail-page{background:var(--nd-bg);height:100vh;color:var(--nd-text);overflow:hidden}.node-detail-loading,.node-detail-error{min-height:100vh;color:var(--nd-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.node-detail-loading i,.node-detail-error i{font-size:32px}.node-detail-error button,.node-detail-error .error-action-btn{background:var(--nd-accent);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:16px;padding:8px 16px;font-size:14px;text-decoration:none}.spinning{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.node-detail-header{background:0 0;justify-content:space-between;align-items:center;padding:16px 16px 0;display:flex}.breadcrumb{color:var(--nd-text-muted);align-items:center;gap:8px;font-size:14px;display:flex}.breadcrumb-link{cursor:pointer;transition:color .2s}.breadcrumb-link:hover{color:var(--nd-accent)}.breadcrumb span:last-child{color:var(--nd-text);font-weight:500}.header-right{align-items:center;gap:20px;display:flex}.user-avatar{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:15px;font-weight:600;display:flex}.login-btn{background:var(--nd-accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:6px 14px;font-size:13px;transition:background .2s}.login-btn:hover{background:#4f46e5}.node-detail-content{background:var(--nd-bg);gap:0;height:calc(100vh - 44px);padding:8px 16px 20px;display:flex}.panel{background:var(--nd-surface);border:1px solid var(--nd-border);border-radius:12px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a}:root[data-theme=light] .panel,:root:not([data-theme]) .panel{border-color:#cbd5e1}@media (prefers-color-scheme:dark){:root:not([data-theme]) .panel{border-color:var(--nd-border)}}.resize-handle{cursor:col-resize;z-index:10;flex-shrink:0;width:8px;position:relative}.resize-handle:after{content:"";background:var(--nd-border);border-radius:2px;width:4px;height:40px;transition:all .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.resize-handle:hover:after,.resize-handle.active:after{background:var(--nd-accent);height:60px}.panel-header{border-bottom:1px solid var(--nd-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.panel-title{color:var(--nd-text);align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;display:flex}.panel-title i{color:var(--nd-accent);font-size:16px}.panel-header-right{align-items:center;gap:12px;display:flex}.panel-collapse-btn{background:var(--nd-bg);border:1px solid var(--nd-border);cursor:pointer;width:28px;height:28px;color:var(--nd-text-muted);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.panel-collapse-btn:hover{background:var(--nd-accent-light);color:var(--nd-accent);border-color:var(--nd-accent)}.panel-minimized{background:var(--nd-surface);border:1px solid var(--nd-border);cursor:pointer;border-radius:12px;flex-direction:column;flex-shrink:0;align-items:center;gap:8px;width:36px;padding:12px 0;transition:all .2s;display:flex}.panel-minimized.left{margin-right:8px}.panel-minimized.right{margin-left:8px}.panel-minimized:hover{background:var(--nd-accent-light)}.panel-minimized i{color:var(--nd-text-muted);font-size:16px}.panel-minimized span{writing-mode:vertical-rl;color:var(--nd-text-muted);font-size:13px;font-weight:500}.panel-minimized:hover i,.panel-minimized:hover span{color:var(--nd-accent)}.panel-minimized.left{padding:8px 0;overflow:visible}.minimized-header{cursor:pointer;border-bottom:1px solid var(--nd-border);justify-content:center;margin-bottom:8px;padding:8px 4px;display:flex}.minimized-header:hover i{color:var(--nd-accent)}.minimized-modules{flex-direction:column;flex:1;gap:6px;padding:0 4px;display:flex}.minimized-module-index{background:var(--nd-border);width:28px;height:28px;color:var(--nd-text-muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:12px;font-weight:600;transition:all .2s;display:flex}.minimized-module-index:hover{background:var(--nd-accent-light);color:var(--nd-accent)}.minimized-module-index.selected{background:var(--nd-accent);color:#fff}.minimized-module-index.completed{background:var(--nd-success);color:#fff}.minimized-module-index.completed.selected{box-shadow:0 0 0 2px var(--nd-accent)}.left-panel{flex-shrink:0;overflow-y:auto}.node-info{border-bottom:1px solid var(--nd-border);padding:20px}.node-title{color:var(--nd-text);margin:0 0 12px;font-size:18px;font-weight:600}.node-title:has(+.source-badge){margin-bottom:0}.node-info>.source-badge{margin-top:6px;margin-bottom:12px}.module-header>.source-badge{margin-top:6px}.node-meta{align-items:center;gap:12px;margin-bottom:16px;display:flex}.difficulty-badge{border-radius:4px;padding:4px 8px;font-size:12px;font-weight:500}.difficulty-badge.easy{color:#166534;background:#dcfce7}.difficulty-badge.medium{color:#92400e;background:#fef3c7}.difficulty-badge.hard{color:#991b1b;background:#fee2e2}:root[data-theme=dark] .difficulty-badge.easy,:root:not([data-theme]) .difficulty-badge.easy{color:#6ee7b7;background:#34d39933}:root[data-theme=dark] .difficulty-badge.medium,:root:not([data-theme]) .difficulty-badge.medium{color:#fcd34d;background:#fbbf2433}:root[data-theme=dark] .difficulty-badge.hard,:root:not([data-theme]) .difficulty-badge.hard{color:#fca5a5;background:#f8717133}@media (prefers-color-scheme:light){:root:not([data-theme]) .difficulty-badge.easy{color:#166534;background:#dcfce7}:root:not([data-theme]) .difficulty-badge.medium{color:#92400e;background:#fef3c7}:root:not([data-theme]) .difficulty-badge.hard{color:#991b1b;background:#fee2e2}}.time-estimate{color:var(--nd-text-muted);align-items:center;gap:4px;font-size:13px;display:flex}.node-progress{margin-bottom:16px}.progress-label{justify-content:space-between;margin-bottom:6px;font-size:13px;display:flex}.progress-label span:first-child{color:var(--nd-text-muted)}.progress-label span:last-child{color:var(--nd-accent);font-weight:600}.progress-label span:nth-child(2){color:var(--nd-accent);margin-left:12px;font-weight:600}.progress-modules{margin-left:auto;color:var(--nd-text-muted)!important;font-weight:400!important}.progress-bar{background:var(--nd-border);border-radius:3px;height:6px;overflow:hidden}.progress-fill{background:var(--nd-accent);border-radius:3px;height:100%;transition:width .3s}.progress-detail{color:var(--nd-text-muted);margin-top:6px;font-size:12px}.node-description{color:var(--nd-text-muted);font-size:14px;line-height:1.6}.node-description-section{border-top:1px solid var(--nd-border);margin-top:16px;padding-top:12px}.node-description-header{cursor:pointer;color:var(--nd-text-muted);text-transform:uppercase;letter-spacing:.5px;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:4px 0;font-size:13px;font-weight:600;display:flex}.node-description-header:hover{color:var(--nd-accent)}.node-description-header i{font-size:14px;transition:transform .2s}.node-description-section.collapsed .node-description-header i{transform:rotate(0)}.node-description-section.expanded .node-description{margin-top:12px}.module-list{padding:20px 24px}.module-list-title{color:var(--nd-text-muted);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;font-size:13px;font-weight:600}.module-item{cursor:pointer;border:1px solid #0000;border-radius:8px;outline:none;align-items:center;gap:12px;margin-bottom:8px;padding:12px;transition:all .2s;display:flex}.module-item:hover{background:var(--nd-bg)}.module-item.selected{background:var(--nd-accent-light);border-color:var(--nd-accent)}.module-item.completed .module-index{background:var(--nd-success);color:#fff}.module-index{background:var(--nd-border);width:28px;height:28px;color:var(--nd-text-muted);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.module-index.completed{background:var(--nd-success);color:#fff}.module-info{flex:1;min-width:0}.module-name{color:var(--nd-text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.module-meta{color:var(--nd-text-muted);flex-wrap:nowrap;align-items:center;gap:8px;margin-top:2px;font-size:12px;display:flex;overflow:hidden}.required-badge{background:var(--nd-accent-light);color:var(--nd-accent);border-radius:4px;padding:2px 6px;font-size:11px}.module-status-icon{color:var(--nd-success);font-size:18px}.prerequisite-hint{color:var(--nd-text-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;overflow:hidden}.prerequisite-link{color:var(--nd-accent);background:var(--nd-accent-light);border-radius:6px;align-items:center;gap:4px;margin-bottom:16px;padding:4px 10px;font-size:13px;text-decoration:none;transition:background .2s;display:inline-flex}.prerequisite-link:hover{background:var(--nd-accent);color:#fff}.prerequisite-link i{font-size:14px}.middle-panel{flex:1;min-width:0;overflow-y:auto}.node-overview{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:40px;display:flex}.overview-icon{background:var(--nd-accent-light);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:24px;display:flex}.overview-icon i{color:var(--nd-accent);font-size:36px}.node-overview h2{color:var(--nd-text);margin:0 0 8px;font-size:24px;font-weight:600}.node-overview p{color:var(--nd-text-muted);margin:0 0 32px;font-size:15px}.overview-stats{gap:48px;display:flex}.stat-item{flex-direction:column;align-items:center;display:flex}.stat-value{color:var(--nd-accent);font-size:32px;font-weight:700}.stat-label{color:var(--nd-text-muted);margin-top:4px;font-size:14px}.module-content{flex-direction:column;min-width:0;height:100%;padding:28px;display:flex}.module-header{margin-bottom:20px}.module-header h2{color:var(--nd-text);flex-wrap:wrap;align-items:center;gap:12px;margin:0;font-size:20px;font-weight:600;display:flex}.source-badge{background:var(--nd-surface);border:1px solid var(--nd-border);color:var(--nd-text-muted);border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:400;display:inline-flex}.module-description-wrapper{margin-bottom:24px}.module-description-header{cursor:pointer;color:var(--nd-text-muted);text-transform:uppercase;letter-spacing:.5px;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:4px 0;font-size:13px;font-weight:600;display:flex}.module-description-header:hover{color:var(--nd-accent)}.module-description-title{color:inherit;text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.module-description-title i{font-size:14px}.module-description-toggle{color:var(--nd-text-muted);font-size:16px;transition:transform .2s}.module-description-toggle.collapsed{transform:rotate(-90deg)}.module-description-content{transition:max-height .3s,opacity .2s;overflow:hidden}.module-description-content.expanded{opacity:1;max-height:none;margin-top:12px}.module-description-content.collapsed{opacity:0;max-height:0}.module-description{color:var(--nd-text);font-size:14px;line-height:1.6}.module-description ul,.module-description ol{margin-bottom:1em;padding-left:2em}.module-description ul{list-style:outside}.module-description ol{list-style:decimal}.questions-loading,.no-questions,.questions-error{color:var(--nd-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px;display:flex}.questions-loading i,.no-questions i,.questions-error i{font-size:32px}.questions-error,.questions-error i{color:var(--nd-error,#ef4444)}.questions-section{background:var(--nd-surface);box-shadow:var(--nd-shadow);border:1px solid var(--nd-border);border-radius:12px;flex:1;gap:24px;min-width:0;padding:20px;display:flex;container:questions/inline-size}.question-list{border-right:1px solid var(--nd-border);flex:0 200px;min-width:120px;min-height:0;padding-right:20px;overflow-y:auto}.question-list-header{color:var(--nd-text-muted);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:13px;font-weight:600;display:flex}.wrong-only-checkbox{cursor:pointer;align-items:center;gap:4px;font-size:12px;font-weight:400;display:flex}.wrong-only-checkbox input{cursor:pointer;accent-color:var(--nd-error);background:var(--nd-surface);border:1px solid var(--nd-border);border-radius:4px}.question-item{cursor:pointer;border-radius:6px;align-items:center;gap:10px;margin-bottom:6px;padding:10px;transition:all .2s;display:flex}.question-item:hover{background:var(--nd-bg)}.question-item.active{background:var(--nd-accent-light)}.question-number{background:var(--nd-border);width:24px;height:24px;color:var(--nd-text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.question-number.correct{background:var(--nd-success);color:#fff}.question-number.wrong{background:var(--nd-error);color:#fff}.question-number.answered,.question-number.active{background:var(--nd-accent);color:#fff}.question-number.active.correct{background:var(--nd-success);box-shadow:0 0 0 2px white,0 0 0 4px var(--nd-success)}.question-number.active.wrong{background:var(--nd-error);box-shadow:0 0 0 2px white,0 0 0 4px var(--nd-error)}.question-preview{color:var(--nd-text-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;overflow:hidden}.question-preview .markdown-content{display:inline}.question-preview .markdown-content p{margin:0;display:inline}.question-preview .markdown-content code{background:var(--nd-surface);border-radius:3px;padding:1px 4px;font-size:12px}.question-detail{flex-direction:column;flex:1;min-width:0;display:flex}.question-detail-content{flex:1}.question-placeholder{height:300px;color:var(--nd-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.question-placeholder i{font-size:32px}.question-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.question-type{background:var(--nd-accent-light);color:var(--nd-accent);border-radius:4px;padding:4px 10px;font-size:12px;font-weight:500}.question-points{color:var(--nd-warning);align-items:center;gap:4px;font-size:14px;font-weight:600;display:flex}.question-points .flops-hint{opacity:.6;cursor:help;margin-left:2px;font-size:12px}.question-content{color:var(--nd-text);margin-bottom:20px;font-size:15px;line-height:1.7}.options-area{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.option-item{background:var(--nd-bg);border:1px solid var(--nd-border);cursor:pointer;border-radius:8px;align-items:flex-start;gap:12px;padding:14px;transition:all .2s;display:flex}.option-item:hover:not(.disabled),.option-item.selected{border-color:var(--nd-accent);background:var(--nd-accent-light)}.option-item.correct{border-color:var(--nd-success);background:var(--nd-success-light)}.option-item.wrong{border-color:var(--nd-error);background:#fee2e2}:root[data-theme=dark] .option-item.wrong{background:#f8717126}@media (prefers-color-scheme:dark){:root:not([data-theme]) .option-item.wrong{background:#f8717126}}.option-item.disabled{cursor:default}.option-label{background:var(--nd-surface);border:1px solid var(--nd-border);width:28px;height:28px;color:var(--nd-text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.option-item.selected .option-label{background:var(--nd-accent);border-color:var(--nd-accent);color:#fff}.option-item.correct .option-label{background:var(--nd-success);border-color:var(--nd-success);color:#fff}.option-item.wrong .option-label{background:var(--nd-error);border-color:var(--nd-error);color:#fff}.option-text{color:var(--nd-text);flex:1;font-size:14px;line-height:1.6}.answer-textarea{border:1px solid var(--nd-border);resize:vertical;border-radius:8px;width:100%;min-height:120px;margin-bottom:20px;padding:14px;font-family:inherit;font-size:14px;line-height:1.6}.answer-textarea:focus{border-color:var(--nd-accent);outline:none}.answer-textarea:disabled{background:var(--nd-bg);cursor:not-allowed}.answer-result{border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:12px 16px;font-size:14px;font-weight:500;display:flex}.answer-result.correct{background:var(--nd-success-light);color:var(--nd-success)}.answer-result.wrong{color:var(--nd-error);background:#fee2e2}:root[data-theme=dark] .answer-result.wrong{background:#f8717126}@media (prefers-color-scheme:dark){:root:not([data-theme]) .answer-result.wrong{background:#f8717126}}.answer-result i{font-size:18px}.explanation-area{background:var(--nd-accent-light);border-radius:8px;margin-bottom:20px;padding:16px}.explanation-header{color:var(--nd-accent);align-items:center;gap:8px;margin-bottom:12px;font-weight:600;display:flex}.explanation-content{color:var(--nd-text);font-size:14px;line-height:1.7}.reference-answer{border-top:1px solid var(--nd-border);margin-top:16px;padding-top:16px}.reference-label{color:var(--nd-text-muted);margin-bottom:8px;font-size:12px;font-weight:600}.question-actions{border-top:1px solid var(--nd-border);background:var(--nd-surface);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;margin:0 -20px -20px;padding:16px 20px;display:flex;position:sticky;bottom:0}.nav-buttons{gap:8px;display:flex}.nav-btn{background:var(--nd-surface);border:1px solid var(--nd-border);cursor:pointer;width:36px;height:36px;color:var(--nd-text);border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.nav-btn:hover:not(:disabled){border-color:var(--nd-accent);color:var(--nd-accent)}.nav-btn:disabled{opacity:.5;cursor:not-allowed}.action-buttons{flex-wrap:wrap;gap:8px;display:flex}.action-btn{background:var(--nd-surface);border:1px solid var(--nd-border);cursor:pointer;color:var(--nd-text);border-radius:8px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;transition:all .2s;display:flex}@media (hover:hover) and (pointer:fine){.action-btn:hover:not(:disabled){border-color:var(--nd-accent);color:var(--nd-accent)}.action-btn.primary:hover:not(:disabled){background:var(--theme-accent-hover);color:#fff}}.action-btn.primary{background:var(--nd-accent);border-color:var(--nd-accent);color:#fff}.action-btn:disabled{opacity:.5;cursor:not-allowed}.right-panel{flex-shrink:0}.notes-panel{flex-direction:column;flex:1;min-height:0;padding:20px;display:flex;overflow:hidden}.notes-mode-toggle{background:var(--nd-bg);border-radius:6px;padding:2px;display:flex}.notes-mode-toggle .mode-btn{cursor:pointer;width:28px;height:28px;color:var(--nd-text-muted);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .2s;display:flex}.notes-mode-toggle .mode-btn:hover{color:var(--nd-text)}.notes-mode-toggle .mode-btn.active{background:var(--nd-surface);color:var(--nd-accent);box-shadow:0 1px 2px #0000001a}.save-status{color:var(--nd-text-muted);font-size:12px}.save-status.saved{color:var(--nd-success)}.save-status.error{color:var(--nd-error)}.notes-textarea{border:1px solid var(--nd-border);resize:none;border-radius:8px;flex:1;width:100%;padding:14px;font-family:inherit;font-size:14px;line-height:1.2}.notes-textarea:focus{border-color:var(--nd-accent);outline:none}.notes-textarea::placeholder{color:var(--nd-text-muted)}.notes-login-prompt{color:var(--nd-text-muted);cursor:pointer;border:1px dashed var(--nd-border);border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;transition:all .2s;display:flex}.notes-login-prompt:hover{border-color:var(--nd-accent);color:var(--nd-accent);background:var(--nd-accent-light)}.notes-login-prompt i{font-size:32px}.notes-login-prompt span{font-size:14px}.notes-loading{color:var(--nd-text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex}.notes-loading i{font-size:24px}.notes-preview{border:1px solid var(--nd-border);background:var(--nd-surface);border-radius:8px;flex:1;min-height:0;padding:14px;overflow-y:auto}.notes-preview .markdown-content{line-height:1.2}.notes-preview ul,.notes-preview ol{margin-bottom:.5em;padding-left:1.5em}.notes-preview ul{list-style:outside}.notes-preview ol{list-style:decimal}.notes-empty{color:var(--nd-text-muted);font-size:14px}@media (max-width:1200px){.right-panel,.resize-handle:last-of-type{display:none}}@container questions (max-width:500px){.question-list{flex:none;width:auto;min-width:auto;padding-right:16px}.question-list-header,.question-preview{display:none}.question-item{justify-content:center;padding:8px}}@media (max-width:900px){.node-detail-page{height:auto;min-height:100vh;padding-bottom:calc(60px + env(safe-area-inset-bottom,0px));overflow:auto}.node-detail-content{flex-direction:column;height:auto;padding:8px}.resize-handle,.panel-minimized,.panel-collapse-btn{display:none}.left-panel,.middle-panel,.right-panel{border-radius:8px;margin-bottom:8px;width:100%!important}.node-info{padding:12px}.node-title{margin-bottom:8px;font-size:16px}.node-meta{gap:8px;margin-bottom:12px}.module-list{flex-wrap:nowrap;gap:8px;max-height:100px;padding:8px 12px;display:flex;overflow:auto hidden}.module-list-title{display:none}.module-item{flex-shrink:0;min-width:auto;margin-bottom:0;padding:8px}.module-info{display:none}.middle-panel{min-height:auto}.module-content{padding:12px}.module-header h2{font-size:16px}.questions-section{flex-direction:column;padding:12px}.question-list{border-right:none;border-bottom:1px solid var(--nd-border);flex-wrap:nowrap;gap:4px;width:100%;max-height:60px;margin-bottom:8px;padding-bottom:8px;padding-right:0;display:flex;overflow:auto hidden}.question-list-header{display:none}.question-item{flex-shrink:0;margin-bottom:0;padding:6px}.question-preview{display:none}.question-actions{gap:8px;margin:0 -12px -12px;padding:12px}.nav-buttons{flex-shrink:0}.action-buttons{flex:1;justify-content:flex-end}.action-btn{justify-content:center;min-height:44px}}@media (max-width:480px){.action-buttons:has(.action-btn+.action-btn) .action-btn .btn-text{display:none}.action-buttons:has(.action-btn+.action-btn) .action-btn{justify-content:center;min-width:44px;padding:10px}}.node-detail-page .markdown-content{color:#1e293b}.node-detail-page .markdown-content h1,.node-detail-page .markdown-content h2,.node-detail-page .markdown-content h3,.node-detail-page .markdown-content h4,.node-detail-page .markdown-content h5,.node-detail-page .markdown-content h6{color:#1e293b;border-bottom-color:#e2e8f0}.node-detail-page .markdown-content p,.node-detail-page .markdown-content li{color:#334155}.node-detail-page .markdown-content a{color:#6366f1;border-bottom-color:#6366f14d}.node-detail-page .markdown-content a:hover{color:#4f46e5}.node-detail-page .markdown-content code.inline-code,.node-detail-page .markdown-content code:not([class*=language-]){color:#6366f1;background:#f1f5f9;border:1px solid #e2e8f0}.node-detail-page .markdown-content pre{background:#f1f5f9;border:none;border-radius:4px}.node-detail-page .markdown-content pre code{color:#334155;background:0 0;border:none}.node-detail-page .markdown-content blockquote{border-left-color:var(--nd-accent);background:var(--nd-surface);color:var(--nd-text-muted)}.node-detail-page .markdown-content strong{color:var(--nd-text)}.node-detail-page .markdown-content ul li::marker{color:var(--nd-accent)}.node-detail-page .markdown-content ol li::marker{color:var(--nd-accent)}.node-detail-page .markdown-content table{border-color:var(--nd-border)}.node-detail-page .markdown-content th{background:var(--nd-surface);color:var(--nd-text);border-color:var(--nd-border)}.node-detail-page .markdown-content td{border-color:var(--nd-border);color:var(--nd-text-muted)}.node-detail-page .markdown-content hr{border-color:var(--nd-border)}:root[data-theme=dark] .node-detail-page .markdown-content{color:var(--nd-text)}:root[data-theme=dark] .node-detail-page .markdown-content h1,:root[data-theme=dark] .node-detail-page .markdown-content h2,:root[data-theme=dark] .node-detail-page .markdown-content h3,:root[data-theme=dark] .node-detail-page .markdown-content h4,:root[data-theme=dark] .node-detail-page .markdown-content h5,:root[data-theme=dark] .node-detail-page .markdown-content h6{color:var(--nd-text);border-bottom-color:var(--nd-border)}:root[data-theme=dark] .node-detail-page .markdown-content p,:root[data-theme=dark] .node-detail-page .markdown-content li{color:var(--nd-text-muted)}:root[data-theme=dark] .node-detail-page .markdown-content a{color:var(--nd-accent);border-bottom-color:#a78bfa4d}:root[data-theme=dark] .node-detail-page .markdown-content a:hover{color:#c4b5fd}:root[data-theme=dark] .node-detail-page .markdown-content code.inline-code,:root[data-theme=dark] .node-detail-page .markdown-content code:not([class*=language-]){color:var(--nd-accent);border:1px solid var(--nd-border);background:#a78bfa26}:root[data-theme=dark] .node-detail-page .markdown-content pre{background:#0003;border:none;border-radius:4px}:root[data-theme=dark] .node-detail-page .markdown-content pre code{color:var(--nd-text)}:root[data-theme=dark] .node-detail-page .markdown-content blockquote{border-left-color:var(--nd-accent);color:var(--nd-text-muted);background:#a78bfa14}:root[data-theme=dark] .node-detail-page .markdown-content strong{color:var(--nd-text)}:root[data-theme=dark] .node-detail-page .markdown-content ul li::marker{color:var(--nd-accent)}:root[data-theme=dark] .node-detail-page .markdown-content ol li::marker{color:var(--nd-accent)}:root[data-theme=dark] .node-detail-page .markdown-content table{border-color:var(--nd-border)}:root[data-theme=dark] .node-detail-page .markdown-content th{background:var(--nd-surface);color:var(--nd-text);border-color:var(--nd-border)}:root[data-theme=dark] .node-detail-page .markdown-content td{border-color:var(--nd-border);color:var(--nd-text-muted)}:root[data-theme=dark] .node-detail-page .markdown-content hr{border-color:var(--nd-border)}@media (prefers-color-scheme:dark){:root:not([data-theme]) .node-detail-page .markdown-content{color:var(--nd-text)}:root:not([data-theme]) .node-detail-page .markdown-content h1,:root:not([data-theme]) .node-detail-page .markdown-content h2,:root:not([data-theme]) .node-detail-page .markdown-content h3,:root:not([data-theme]) .node-detail-page .markdown-content h4,:root:not([data-theme]) .node-detail-page .markdown-content h5,:root:not([data-theme]) .node-detail-page .markdown-content h6{color:var(--nd-text);border-bottom-color:var(--nd-border)}:root:not([data-theme]) .node-detail-page .markdown-content p,:root:not([data-theme]) .node-detail-page .markdown-content li{color:var(--nd-text-muted)}:root:not([data-theme]) .node-detail-page .markdown-content a{color:var(--nd-accent);border-bottom-color:#a78bfa4d}:root:not([data-theme]) .node-detail-page .markdown-content a:hover{color:#c4b5fd}:root:not([data-theme]) .node-detail-page .markdown-content code.inline-code,:root:not([data-theme]) .node-detail-page .markdown-content code:not([class*=language-]){color:var(--nd-accent);border:1px solid var(--nd-border);background:#a78bfa26}:root:not([data-theme]) .node-detail-page .markdown-content pre{background:#0003;border:none;border-radius:4px}:root:not([data-theme]) .node-detail-page .markdown-content pre code{color:var(--nd-text)}:root:not([data-theme]) .node-detail-page .markdown-content blockquote{border-left-color:var(--nd-accent);color:var(--nd-text-muted);background:#a78bfa14}:root:not([data-theme]) .node-detail-page .markdown-content strong{color:var(--nd-text)}:root:not([data-theme]) .node-detail-page .markdown-content ul li::marker{color:var(--nd-accent)}:root:not([data-theme]) .node-detail-page .markdown-content ol li::marker{color:var(--nd-accent)}:root:not([data-theme]) .node-detail-page .markdown-content table{border-color:var(--nd-border)}:root:not([data-theme]) .node-detail-page .markdown-content th{background:var(--nd-surface);color:var(--nd-text);border-color:var(--nd-border)}:root:not([data-theme]) .node-detail-page .markdown-content td{border-color:var(--nd-border);color:var(--nd-text-muted)}:root:not([data-theme]) .node-detail-page .markdown-content hr{border-color:var(--nd-border)}}.node-description.truncated,.module-description.truncated{max-height:80px;position:relative;overflow:hidden}.node-description:not(.truncated),.module-description:not(.truncated){max-height:400px;overflow-y:auto}.description-fade{background:linear-gradient(to bottom,transparent 0%,var(--nd-surface)80%);pointer-events:none;height:50px;position:absolute;bottom:0;left:0;right:0}.expand-toggle-btn{width:100%;color:var(--nd-accent);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:2px;padding:4px 0;font-size:12px;transition:opacity .2s;display:flex}.expand-toggle-btn:hover{opacity:.7}
