@imenam/mcp-documentor 1.0.93 → 1.0.95
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -2
- package/dist/shared/read-only.js +1 -0
- package/dist/shared/schemas/doc.schema.d.ts +20 -0
- package/dist/shared/schemas/doc.schema.js +20 -0
- package/dist/src/core/comment-store.d.ts +87 -0
- package/dist/src/core/comment-store.js +189 -0
- package/dist/src/core/markdown-text.d.ts +7 -0
- package/dist/src/core/markdown-text.js +16 -0
- package/dist/src/core/publication-store.d.ts +4 -0
- package/dist/src/core/publication-store.js +6 -0
- package/dist/src/gui-worker.js +87 -6
- package/dist/src/index.js +180 -1
- package/dist/src/tools/comments.d.ts +29 -0
- package/dist/src/tools/comments.js +104 -0
- package/gui/dist/assets/{DocContent-qNz5QMPa.js → DocContent-D2Pgvsaw.js} +87 -87
- package/gui/dist/assets/{arc-DvP0UOkD.js → arc-ytJX8b9b.js} +1 -1
- package/gui/dist/assets/{architectureDiagram-3BPJPVTR-3wEHUA1o.js → architectureDiagram-3BPJPVTR-vChxNmWw.js} +1 -1
- package/gui/dist/assets/{blockDiagram-GPEHLZMM-C01nZdXH.js → blockDiagram-GPEHLZMM-D19nVYke.js} +1 -1
- package/gui/dist/assets/{c4Diagram-AAUBKEIU-C995ER45.js → c4Diagram-AAUBKEIU-7kCjxzBQ.js} +1 -1
- package/gui/dist/assets/channel-DegAVRd2.js +1 -0
- package/gui/dist/assets/{chunk-2J33WTMH-B7Z-cZqf.js → chunk-2J33WTMH-CrEHZokt.js} +1 -1
- package/gui/dist/assets/{chunk-4BX2VUAB-BRtaRRAZ.js → chunk-4BX2VUAB-AGQbPC36.js} +1 -1
- package/gui/dist/assets/{chunk-55IACEB6-CZbPaYTs.js → chunk-55IACEB6-1dY_RrZJ.js} +1 -1
- package/gui/dist/assets/{chunk-727SXJPM-BMKPsW_V.js → chunk-727SXJPM-DFrVc2F4.js} +1 -1
- package/gui/dist/assets/{chunk-AQP2D5EJ-BQJRaqJz.js → chunk-AQP2D5EJ-Bf5AjFYW.js} +1 -1
- package/gui/dist/assets/{chunk-FMBD7UC4-BiKjOUxU.js → chunk-FMBD7UC4-ytPdLd3c.js} +1 -1
- package/gui/dist/assets/{chunk-ND2GUHAM-BQYUzZi5.js → chunk-ND2GUHAM-MQj2MK8N.js} +1 -1
- package/gui/dist/assets/{chunk-QZHKN3VN-C0mI_9k0.js → chunk-QZHKN3VN-BFpijhFi.js} +1 -1
- package/gui/dist/assets/classDiagram-4FO5ZUOK-C8gjytbe.js +1 -0
- package/gui/dist/assets/classDiagram-v2-Q7XG4LA2-C8gjytbe.js +1 -0
- package/gui/dist/assets/{cose-bilkent-S5V4N54A-9QkakK6h.js → cose-bilkent-S5V4N54A-DydPBClW.js} +1 -1
- package/gui/dist/assets/{dagre-BM42HDAG-p_TitJwo.js → dagre-BM42HDAG-Dt1NYir9.js} +1 -1
- package/gui/dist/assets/{diagram-2AECGRRQ-T3ul_-C1.js → diagram-2AECGRRQ-By8731FV.js} +1 -1
- package/gui/dist/assets/{diagram-5GNKFQAL-Cv4-mYjj.js → diagram-5GNKFQAL-6DboNPr2.js} +1 -1
- package/gui/dist/assets/{diagram-KO2AKTUF-GEuY7REm.js → diagram-KO2AKTUF-BlsHXUTP.js} +1 -1
- package/gui/dist/assets/{diagram-LMA3HP47-BlZVA1ZL.js → diagram-LMA3HP47-NlfihhmZ.js} +1 -1
- package/gui/dist/assets/{diagram-OG6HWLK6-DZ9muekA.js → diagram-OG6HWLK6-BuPvvcLW.js} +1 -1
- package/gui/dist/assets/{erDiagram-TEJ5UH35-BQ_TWeSA.js → erDiagram-TEJ5UH35-Bwh4WcoJ.js} +1 -1
- package/gui/dist/assets/{flowDiagram-I6XJVG4X-BVxlCJhG.js → flowDiagram-I6XJVG4X-Cpo3jFt_.js} +1 -1
- package/gui/dist/assets/{ganttDiagram-6RSMTGT7-DlHxknKg.js → ganttDiagram-6RSMTGT7-MTzCwVCF.js} +4 -4
- package/gui/dist/assets/{gitGraphDiagram-PVQCEYII-DYHNhcQ1.js → gitGraphDiagram-PVQCEYII-TGZH1N13.js} +1 -1
- package/gui/dist/assets/{infoDiagram-5YYISTIA-usWWgsgX.js → infoDiagram-5YYISTIA-CjtHqsAF.js} +1 -1
- package/gui/dist/assets/{ishikawaDiagram-YF4QCWOH-GXA4mXdI.js → ishikawaDiagram-YF4QCWOH-BubX7AqP.js} +1 -1
- package/gui/dist/assets/{journeyDiagram-JHISSGLW-DuiQ_voI.js → journeyDiagram-JHISSGLW-BT5Bu4px.js} +1 -1
- package/gui/dist/assets/{kanban-definition-UN3LZRKU-Cf5Zx4Ai.js → kanban-definition-UN3LZRKU-CyiNLbBC.js} +1 -1
- package/gui/dist/assets/{linear-Dxg5B9lZ.js → linear-rOmZOzd-.js} +1 -1
- package/gui/dist/assets/main-BvGBQ4na.css +1 -0
- package/gui/dist/assets/main-DqcEvJHv.js +10 -0
- package/gui/dist/assets/{mindmap-definition-RKZ34NQL-BI-GTubt.js → mindmap-definition-RKZ34NQL-Cvy4YAiE.js} +1 -1
- package/gui/dist/assets/{pieDiagram-4H26LBE5-jm6JjM7-.js → pieDiagram-4H26LBE5-BKrVYqW5.js} +1 -1
- package/gui/dist/assets/public-BOnoF84L.js +1 -0
- package/gui/dist/assets/public-BmtG1Lfn.css +1 -0
- package/gui/dist/assets/{quadrantDiagram-W4KKPZXB-D_FMBvP7.js → quadrantDiagram-W4KKPZXB-DG_N325e.js} +1 -1
- package/gui/dist/assets/{requirementDiagram-4Y6WPE33-DrAnq7B5.js → requirementDiagram-4Y6WPE33-oWqsr2x0.js} +1 -1
- package/gui/dist/assets/{sankeyDiagram-5OEKKPKP-BBxMYinl.js → sankeyDiagram-5OEKKPKP-B8uXp_JX.js} +1 -1
- package/gui/dist/assets/{sequenceDiagram-3UESZ5HK-CzlReNxZ.js → sequenceDiagram-3UESZ5HK-bZUsMsnM.js} +1 -1
- package/gui/dist/assets/{stateDiagram-AJRCARHV-CAj_FaGh.js → stateDiagram-AJRCARHV-3o_sYDh3.js} +1 -1
- package/gui/dist/assets/stateDiagram-v2-BHNVJYJU-CfMfyWVZ.js +1 -0
- package/gui/dist/assets/{timeline-definition-PNZ67QCA-CHzi4ypa.js → timeline-definition-PNZ67QCA-BWMaBPME.js} +1 -1
- package/gui/dist/assets/{vennDiagram-CIIHVFJN-DT2hW75o.js → vennDiagram-CIIHVFJN-BuBBjBVe.js} +1 -1
- package/gui/dist/assets/{wardley-L42UT6IY-BBPqyjj6.js → wardley-L42UT6IY-Da4i2-Py.js} +1 -1
- package/gui/dist/assets/{wardleyDiagram-YWT4CUSO-CoB6ihhL.js → wardleyDiagram-YWT4CUSO-Cv3OBAYm.js} +1 -1
- package/gui/dist/assets/{xychartDiagram-2RQKCTM6-FgTwWkea.js → xychartDiagram-2RQKCTM6-DFmCIdof.js} +1 -1
- package/gui/dist/index.html +3 -3
- package/gui/dist/public.html +3 -3
- package/package.json +5 -1
- package/gui/dist/assets/channel-Cjefy81D.js +0 -1
- package/gui/dist/assets/classDiagram-4FO5ZUOK-U-TA2l-f.js +0 -1
- package/gui/dist/assets/classDiagram-v2-Q7XG4LA2-U-TA2l-f.js +0 -1
- package/gui/dist/assets/main-BoIDzkiC.js +0 -10
- package/gui/dist/assets/main-DDy8gF40.css +0 -1
- package/gui/dist/assets/public-5AzxUEZY.css +0 -1
- package/gui/dist/assets/public-BbfNIL4J.js +0 -1
- package/gui/dist/assets/stateDiagram-v2-BHNVJYJU-DL8IxfA-.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.export-bundle-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .15s}.export-bundle-item:hover{background:#1a1f27}.export-bundle-info{display:flex;flex-direction:column;flex:1;min-width:0;gap:2px}.export-bundle-name{font-size:14px;color:#e1e4e8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.export-bundle-desc{font-size:12px;color:#6e7681;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.export-bundle-meta{font-size:12px;color:#6e7681}.export-bundle-btn{flex-shrink:0;background:#21262d;color:#58a6ff;border:1px solid #30363d;border-radius:6px;padding:3px 10px;font-size:12px;font-weight:500;cursor:pointer;transition:background .1s,border-color .1s}.export-bundle-btn:hover{background:#1f3147;border-color:#58a6ff}.export-bundle-modal{width:680px}.export-bundle-modal-desc{color:#8b949e;font-size:13px;line-height:1.6;margin:0 0 16px}.export-bundle-modal-meta{margin-bottom:20px}.export-bundle-modal-filename{font-size:12px;color:#6e7681;background:#161b22;border:1px solid #30363d;border-radius:6px;padding:4px 10px;font-family:SFMono-Regular,Consolas,monospace}.export-bundle-modal-section{margin-bottom:20px}.export-bundle-modal-section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#8b949e;margin-bottom:8px}.export-bundle-modal-docs{list-style:none;margin:0;padding:0;border:1px solid #30363d;border-radius:6px;overflow:hidden;max-height:280px;overflow-y:auto}.export-bundle-modal-doc-item{display:flex;align-items:center;padding:7px 12px;border-bottom:1px solid #21262d;gap:8px}.export-bundle-modal-doc-item:last-child{border-bottom:none}.export-bundle-modal-doc-ref{font-size:12px;font-family:SFMono-Regular,Consolas,monospace;color:#e1e4e8;white-space:nowrap}.export-bundle-modal-toggle-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding:10px 14px;background:#161b22;border:1px solid #30363d;border-radius:8px}.export-bundle-modal-toggle-label{font-size:13px;color:#e1e4e8}.toggle-switch{position:relative;width:42px;height:24px;border-radius:12px;border:none;padding:0;background:#30363d;cursor:pointer;transition:background .2s;flex-shrink:0;vertical-align:middle}.toggle-switch:after{content:"";position:absolute;top:50%;left:0;transform:translate(-25%,-50%);width:18px;height:18px;border-radius:50%;background:#8b949e;transition:transform .2s,background .2s}.toggle-switch--on{background:#238636}.toggle-switch--on:after{transform:translate(18px,-50%);background:#fff}.btn-secondary.publish-btn--open{border-color:#58a6ff;background:#1f2937}.publish-btn-icon--published{color:#3fb950}.publish-btn-dot{width:6px;height:6px;border-radius:50%;background:#d29922}.publish-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:60;width:400px;padding:18px 20px 20px;border:1px solid #30363d;border-radius:10px;background:#161b22;box-shadow:0 8px 24px #00000080;display:flex;flex-direction:column;gap:12px;font-size:12.5px;color:#c9d1d9;white-space:normal}.publish-head{display:flex;align-items:center;gap:8px}.publish-online-dot{width:8px;height:8px;border-radius:50%;background:#3fb950;flex-shrink:0}.publish-title{flex:1;font-size:14px;font-weight:600;color:#f0f6fc}.publish-close{display:inline-flex;padding:2px;border:none;background:none;color:#6e7681;cursor:pointer}.publish-close:hover{color:#c9d1d9}.publish-text{margin:0;color:#8b949e;line-height:1.5}.publish-version{display:flex;align-items:center;gap:8px;height:32px;padding:0 12px;border:1px solid #21262d;border-radius:6px;background:#0f1117;color:#c9d1d9;font-size:12px}.publish-version svg{color:#8b949e;flex-shrink:0}.publish-field{display:flex;flex-direction:column;gap:6px}.publish-field-label{font-size:12px;font-weight:500;color:#c9d1d9}.publish-field-optional{font-weight:400;color:#8b949e}.publish-input{width:100%;padding:8px 12px;border:1px solid #30363d;border-radius:6px;background:#0d1117;color:#e1e4e8;font:inherit;font-size:12.5px;outline:none}.publish-input--multiline{resize:vertical;min-height:64px;line-height:1.45}.publish-input:focus{border-color:#1f6feb}.publish-input::placeholder{color:#6e7681}.publish-access{display:flex;align-items:center;gap:8px;color:#8b949e;font-size:12px}.publish-access svg{color:#d29922;flex-shrink:0}.publish-actions{display:flex;justify-content:flex-end;gap:8px}.publish-actions--split{justify-content:space-between}.publish-actions button:disabled{opacity:.6;cursor:default}.publish-error{padding:8px 12px;border:1px solid #f85149;border-radius:6px;background:#3a1a1a;color:#f85149;font-size:12px;overflow-wrap:anywhere}.publish-link{display:flex;align-items:center;gap:8px;height:36px;padding:0 4px 0 10px;border:1px solid #30363d;border-radius:6px;background:#0d1117}.publish-link-icon{color:#8b949e;flex-shrink:0}.publish-link-url{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#a5d6ff;font-family:Fira Code,Cascadia Code,Consolas,monospace;font-size:11.5px}.publish-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border:none;border-radius:6px;background:none;color:#8b949e;cursor:pointer}.publish-icon-btn:hover{background:#21262d;color:#f0f6fc}.publish-icon-btn--danger:hover,.publish-icon-btn--danger.active{background:#f851491f;color:#f85149}.publish-copy-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border:none;border-radius:5px;background:#1f6feb;color:#fff;cursor:pointer}.publish-copy-btn:hover{background:#388bfd}.publish-meta{color:#8b949e;font-size:12px}.publish-quote{padding-left:10px;border-left:2px solid #30363d;color:#c9d1d9;font-style:italic;overflow-wrap:anywhere}.publish-sep{height:1px;margin:2px -20px;background:#21262d}.publish-warning{display:flex;gap:8px;padding:9px 12px;border:1px solid rgba(210,153,34,.45);border-radius:6px;background:#d2992214;color:#e3b341;font-size:12px;line-height:1.45}.publish-warning svg{flex-shrink:0;margin-top:1px}.publish-uptodate{display:flex;align-items:center;gap:8px;color:#3fb950;font-size:12px}.btn-secondary.publish-danger-btn{color:#f85149;border-color:#f8514980}.btn-secondary.publish-danger-btn:hover{background:#f851491f;color:#ff7b72;border-color:#f85149}.publish-confirm{display:flex;flex-direction:column;gap:8px}.publish-confirm-title{font-size:13px;font-weight:600;color:#f0f6fc}.publish-confirm-text{color:#8b949e;font-size:12px;line-height:1.5}.publish-confirm-btn{height:30px;padding:0 14px;border:none;border-radius:6px;background:#da3633;color:#fff;font-size:12px;font-weight:600;cursor:pointer}.publish-confirm-btn:hover{background:#f85149}.pubs-view{flex:1;min-width:0;overflow-y:auto;padding:28px 32px 40px}.pubs-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px}.pubs-title{font-size:22px;font-weight:600;color:#f0f6fc}.pubs-subtitle{margin-top:6px;color:#8b949e;font-size:12.5px}.pubs-filter{display:flex;padding:3px;border:1px solid #30363d;border-radius:7px;background:#161b22;flex-shrink:0}.pubs-filter button{min-width:100px;height:26px;padding:0 12px;border:none;border-radius:5px;background:none;color:#8b949e;font-size:12.5px;font-weight:500;cursor:pointer}.pubs-filter button.active{background:#1f2937;color:#f0f6fc}.pubs-load-error{margin-bottom:16px}.pubs-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:64px 0;color:#8b949e}.pubs-empty svg{color:#484f58;margin-bottom:4px}.pubs-empty-hint{color:#6e7681;font-size:12px}.pubs-table{border:1px solid #21262d;border-radius:8px;background:#12161d;overflow:hidden}.pubs-row{display:grid;grid-template-columns:minmax(200px,1.3fr) minmax(160px,1.6fr) 170px 180px 220px;align-items:center;gap:16px;min-height:56px;padding:0 16px}.pubs-row--head{min-height:36px;border-bottom:1px solid #21262d;color:#6e7681;font-size:10.5px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.pubs-row-wrap+.pubs-row-wrap{border-top:1px solid #21262d}.pubs-row-wrap:hover,.pubs-row-wrap--active{background:#161b22}.pubs-doc{display:flex;align-items:center;gap:10px;min-width:0}.pubs-doc-icon{color:#8b949e;flex-shrink:0}.pubs-doc-text{display:flex;flex-direction:column;min-width:0}.pubs-doc-title{padding:0;border:none;background:none;color:#f0f6fc;font:inherit;font-size:13px;font-weight:500;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.pubs-doc-title:hover{color:#58a6ff;text-decoration:underline}.pubs-doc-title--missing{color:#8b949e;cursor:default}.pubs-doc-folder{color:#6e7681;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pubs-note{color:#c9d1d9;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pubs-note--empty{color:#484f58}.pubs-date{color:#8b949e;font-size:12.5px;white-space:nowrap}.pubs-badge{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:12px;border:1px solid;font-size:11.5px;font-weight:500;white-space:nowrap}.pubs-badge--current{color:#3fb950;border-color:#3fb95066;background:#3fb9501f}.pubs-badge--modified{color:#e3b341;border-color:#d2992266;background:#d299221f}.pubs-badge--missing{color:#f85149;border-color:#f8514966;background:#f851491a}.pubs-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}.pubs-update-btn{display:inline-flex;align-items:center;gap:6px;height:28px;margin-right:8px;padding:0 11px;border:1px solid #1f6feb;border-radius:6px;background:#1f6feb1f;color:#58a6ff;font-size:12.5px;font-weight:500;cursor:pointer;white-space:nowrap}.pubs-update-btn:hover,.pubs-update-btn.active{background:#1f6feb38}.pubs-row-panel{display:flex;align-items:flex-end;justify-content:flex-end;gap:16px;padding:4px 16px 16px}.pubs-row-panel .publish-confirm{width:420px;padding:14px 16px;border:1px solid #30363d;border-radius:8px;background:#0f1117}.pubs-row-panel-field{width:420px}.pubs-row-error{margin:0 16px 12px}.pubs-row-empty{padding:24px 16px;color:#8b949e;text-align:center}.logs-view{display:flex;flex:1;min-height:0;min-width:0;--logs-mono: "Fira Code", "Cascadia Code", Consolas, monospace}.logs-sidebar{width:300px;flex-shrink:0;display:flex;flex-direction:column;padding:0 12px;background:#0d1117;border-right:1px solid #21262d;overflow-y:auto}.logs-sidebar-label{padding:24px 8px 8px;font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#6e7681}.logs-source{position:relative;display:flex;align-items:center;gap:10px;width:100%;min-height:56px;padding:10px 12px 10px 16px;border:1px solid transparent;border-radius:6px;background:transparent;color:#c9d1d9;text-align:left;cursor:pointer;font:inherit;transition:background .15s}.logs-source:hover{background:#161b22}.logs-source.active{background:#161b22;border-color:#30363d}.logs-source.active:before{content:"";position:absolute;left:-1px;top:10px;bottom:10px;width:3px;border-radius:2px;background:#58a6ff}.logs-source-icon{flex-shrink:0;align-self:flex-start;margin-top:2px;color:#8b949e}.logs-source.active .logs-source-icon{color:#58a6ff}.logs-source-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.logs-source-title{font-size:13px}.logs-source.active .logs-source-title{font-weight:600;color:#f0f6fc}.logs-source-sub{font-size:11px;color:#8b949e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logs-source-badge{align-self:flex-start;flex-shrink:0;padding:2px 8px;border-radius:9px;background:#3d1418;color:#f85149;font-size:10px;font-weight:600}.logs-source .logs-live-dot{align-self:flex-start;margin-top:6px}.logs-sidebar-footer{margin-top:auto;padding:0 8px 20px;border-top:1px solid #21262d}.logs-sidebar-footer .logs-sidebar-label{padding-left:0;padding-top:16px}.logs-dir{font-family:var(--logs-mono);font-size:12px;color:#c9d1d9;overflow-wrap:anywhere}.logs-dir-sizes{margin-top:8px;font-size:11px;color:#8b949e}.logs-main{flex:1;min-width:0;display:flex;flex-direction:column}.logs-panel{flex:1;min-height:0;display:flex;flex-direction:column;gap:16px;padding:16px 24px 0}.logs-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.logs-page-heading{min-width:0}.logs-breadcrumb{font-size:12px;color:#6e7681}.logs-title{margin:6px 0;font-size:22px;font-weight:600;color:#f0f6fc}.logs-file-meta{font-family:var(--logs-mono);font-size:12px;color:#8b949e;white-space:pre;overflow:hidden;text-overflow:ellipsis}.logs-inline-error{margin-top:6px;font-size:12px;color:#f85149}.logs-actions{display:flex;gap:8px;flex-shrink:0;margin-top:18px}.logs-btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border:1px solid #30363d;border-radius:6px;background:#21262d;color:#c9d1d9;font:inherit;font-size:12px;text-decoration:none;cursor:pointer;transition:all .15s}.logs-btn:hover{border-color:#8b949e;color:#f0f6fc}.logs-btn--small{height:26px;font-size:11px;padding:0 10px;flex-shrink:0}.logs-follow-btn .logs-live-dot{background:#6e7681}.logs-follow-btn.active{background:#12261a;border-color:#238636;color:#3fb950;font-weight:600}.logs-follow-btn.active .logs-live-dot{background:#3fb950}.logs-live-dot{display:inline-block;width:8px;height:8px;flex-shrink:0;border-radius:50%;background:#3fb950}.logs-live-dot.paused{background:#6e7681}.logs-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.logs-stat{min-height:68px;padding:10px 14px;border:1px solid #30363d;border-radius:6px;background:#161b22}.logs-stat-label{display:flex;justify-content:space-between;font-size:11px;font-weight:600;text-transform:uppercase;color:#6e7681}.logs-stat-aside{font-weight:400;text-transform:none}.logs-stat-row{display:flex;align-items:baseline;gap:12px;margin-top:6px;min-width:0}.logs-stat-value{font-size:20px;font-weight:600;color:#f0f6fc;white-space:nowrap}.logs-stat-value.small{font-size:16px;margin-top:6px}.logs-stat-row .logs-stat-value.small{margin-top:0}.logs-stat-value.error{color:#f85149}.logs-stat-detail{font-size:12px;color:#8b949e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logs-gauge{height:4px;margin-top:8px;border-radius:2px;background:#21262d;overflow:hidden}.logs-gauge-fill{height:100%;border-radius:2px;background:#3fb950}.logs-gauge-fill.low{background:#f85149}.logs-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.logs-toolbar-spacer{flex:1}.logs-search{display:flex;align-items:center;gap:8px;width:320px;height:32px;padding:0 12px;border:1px solid #30363d;border-radius:6px;background:#0d1117;color:#6e7681}.logs-search:focus-within{border-color:#58a6ff}.logs-search input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:#e1e4e8;font:inherit;font-size:12px}.logs-search input::placeholder{color:#6e7681}.logs-segmented{display:flex;gap:2px;height:32px;padding:3px;border:1px solid #30363d;border-radius:6px;background:#0d1117}.logs-segment{display:inline-flex;align-items:center;gap:6px;padding:0 12px;border:none;border-radius:4px;background:transparent;font:inherit;font-size:12px;cursor:pointer}.logs-segment:hover{background:#161b22}.logs-segment.active{background:#21262d;font-weight:600}.logs-segment-count{font-variant-numeric:tabular-nums}.logs-tone--neutral{color:#8b949e}.logs-tone--neutral.active{color:#f0f6fc}.logs-tone--info{color:#58a6ff}.logs-tone--warn{color:#d29922}.logs-tone--error{color:#f85149}.logs-tone--git{color:#a371f7}.logs-select{position:relative;display:flex;align-items:center;gap:8px;height:32px;padding:0 12px;border:1px solid #30363d;border-radius:6px;background:#0d1117;color:#8b949e;font-size:12px}.logs-select:focus-within{border-color:#58a6ff}.logs-select-value{flex:1;min-width:0;color:#c9d1d9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logs-select select{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.logs-table{flex:1;min-height:0;display:flex;flex-direction:column;border:1px solid #30363d;border-radius:6px;background:#0d1117;overflow:hidden}.logs-server-grid{display:grid;grid-template-columns:116px 70px 110px minmax(0,1fr) 16px;align-items:center;column-gap:0}.logs-github-grid{display:grid;grid-template-columns:106px 60px minmax(0,1fr) 210px 150px 76px 84px 16px;align-items:center;column-gap:0}.logs-table-head{flex-shrink:0;height:32px;padding:0 14px;background:#161b22;border-bottom:1px solid #30363d;font-size:11px;font-weight:600;text-transform:uppercase;color:#6e7681}.logs-table-head .align-right{text-align:right}.logs-table-body{flex:1;min-height:0;overflow-y:auto}.logs-empty{padding:32px;text-align:center;font-size:13px;color:#6e7681}.logs-row{position:relative;border-bottom:1px solid #161b22}.logs-row.open{background:#161b22;border-bottom-color:#21262d}.logs-row.open:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#58a6ff}.logs-row--warn.open:before{background:#d29922}.logs-row--error.open:before{background:#f85149}.logs-row-line{width:100%;min-height:28px;padding:0 14px;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.logs-row--tall .logs-row-line{min-height:44px}.logs-row:not(.open) .logs-row-line:hover{background:#11161d}.logs-row-chevron{color:#8b949e;justify-self:end}.logs-row-chevron.hover-only{visibility:hidden}.logs-row-line:hover .logs-row-chevron.hover-only{visibility:visible}.logs-cell-time,.logs-cell-scope,.logs-cell-message,.logs-cell-command,.logs-cell-repo,.logs-cell-trigger,.logs-cell-duration{font-family:var(--logs-mono);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logs-cell-time{color:#6e7681}.logs-row.open .logs-cell-time{color:#c9d1d9}.logs-cell-scope{color:#8b949e;padding-right:8px}.logs-cell-scope.github{color:#a371f7}.logs-cell-message{color:#c9d1d9;padding-right:8px}.logs-level-text--debug{color:#8b949e}.logs-level-text--warn{color:#d29922}.logs-level-text--error{color:#f85149}.logs-more{color:#6e7681}.logs-cell-what{display:flex;flex-direction:column;gap:2px;min-width:0;padding:5px 16px 5px 0}.logs-cell-action{font-size:13px;color:#c9d1d9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logs-row.open .logs-cell-action{color:#f0f6fc;font-weight:600}.logs-cell-command{font-size:11px;color:#8b949e}.logs-cell-repo{color:#8b949e;padding-right:8px}.logs-cell-repo.muted{color:#6e7681}.logs-cell-trigger{color:#c9d1d9;padding-right:8px}.logs-cell-duration{color:#8b949e;text-align:right}.logs-badge{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:18px;padding:0 6px;border-radius:4px;font-size:10px;font-weight:600;letter-spacing:.02em}.logs-badge--wide{min-width:60px}.logs-badge--neutral{background:#21262d;color:#8b949e}.logs-badge--info{background:#0d2036;color:#58a6ff}.logs-badge--warn{background:#3d2a00;color:#d29922}.logs-badge--error{background:#3d1418;color:#f85149}.logs-badge--ok{background:#12261a;color:#3fb950}.logs-badge--git{background:#2a1f3d;color:#a371f7}.logs-github-grid .logs-badge:not(.logs-badge--wide){min-width:40px}.logs-row-detail{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:12px 14px;margin:0 30px 10px 0;border:1px solid #30363d;border-radius:6px;background:#0d1117}.logs-detail--server{margin-left:310px}.logs-detail--github{margin-left:180px}.logs-detail-main{min-width:0}.logs-detail-text{font-size:12px;color:#c9d1d9;margin-bottom:8px;white-space:pre-wrap;overflow-wrap:anywhere}.logs-detail-context{margin:0;font-family:var(--logs-mono);font-size:11px;line-height:17px;color:#8b949e;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.logs-link{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;border:none;background:none;color:#58a6ff;font:inherit;font-size:12px;cursor:pointer}.logs-link:hover{text-decoration:underline}.logs-status{display:flex;align-items:center;gap:8px;flex-shrink:0;height:40px;font-size:11px;color:#8b949e}.logs-status-error{color:#f85149}.logs-status-order{margin-left:auto;color:#6e7681}@media(max-width:1280px){.logs-sidebar{width:240px}.logs-github-grid{grid-template-columns:106px 60px minmax(0,1fr) 170px 130px 76px 80px 16px}.logs-detail--server,.logs-detail--github{margin-left:120px}}.dashboard{display:flex;flex-direction:row;width:100%;max-width:1600px;margin:0 auto;height:100vh;background:#0f1117;color:#e1e4e8;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}@media(min-width:1601px){.dashboard{border-left:1px solid #21262d;border-right:1px solid #21262d}}.sync-button-wrapper{position:relative}@keyframes sync-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sync-result{position:absolute;bottom:0;left:calc(100% + 14px);z-index:50;min-width:280px;max-width:460px;padding:10px 28px 10px 12px;background:#161b22;border:1px solid #30363d;border-radius:6px;box-shadow:0 8px 24px #00000080;color:#8b949e;font-size:12px;text-align:left}.sync-result.error{border-color:#f85149;color:#ffa198}.sync-result pre{margin:0;white-space:pre-wrap;word-break:break-word;font-family:inherit}.sync-result-close{position:absolute;top:4px;right:6px;background:none;border:none;color:#8b949e;cursor:pointer;font-size:12px;line-height:1;padding:2px}.sync-result-close:hover{color:#f0f6fc}.tag-badge{font-size:10px;padding:1px 6px;border-radius:8px;background:#21262d;color:#8b949e}.doc-viewer{flex:1;min-width:0;min-height:0;display:flex;flex-direction:row;overflow:hidden}.doc-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow-y:auto;padding:20px 24px 48px}.doc-viewer-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#484f58;font-size:16px}.doc-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #21262d}.doc-header-left{display:flex;align-items:center;gap:12px;min-width:0}.nav-buttons{display:flex;gap:4px;flex-shrink:0}.nav-btn{background:none;border:1px solid #30363d;color:#8b949e;font-size:16px;cursor:pointer;padding:3px 9px;border-radius:6px;transition:all .15s;line-height:1.4}.nav-btn:hover:not(:disabled){background:#21262d;color:#f0f6fc;border-color:#8b949e}.nav-btn:disabled{opacity:.3;cursor:default}.doc-title{font-size:24px;font-weight:600;color:#f0f6fc;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.freshness-btn{padding:6px 12px;border:1px solid #30363d;background:#21262d;color:#c9d1d9;border-radius:6px;cursor:pointer;font-size:12px;transition:all .15s}.freshness-btn:hover{background:#30363d;color:#f0f6fc}.download-btn{padding:6px 12px;border:1px solid #30363d;background:#21262d;color:#8b949e;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;transition:all .15s;white-space:nowrap}.download-btn:hover{background:#1f6feb22;border-color:#1f6feb;color:#58a6ff}.copy-btn{padding:6px 12px;border:1px solid #30363d;background:#21262d;color:#8b949e;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;transition:all .15s;white-space:nowrap}.copy-btn:hover{background:#1f6feb22;border-color:#1f6feb;color:#58a6ff}.copy-btn--copied,.copy-btn--copied:hover{background:#1a3a1f;border-color:#3fb950;color:#3fb950}.doc-related{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 14px;margin-bottom:20px;background:#161b22;border:1px solid #30363d;border-radius:6px;font-size:12px}.doc-related-label{color:#8b949e;font-weight:500;flex-shrink:0}.doc-related-link{padding:2px 10px;border:1px solid #1f6feb55;background:#1f6feb18;color:#58a6ff;border-radius:12px;cursor:pointer;font-size:12px;transition:all .15s}.doc-related-link:hover{background:#1f6feb33;border-color:#1f6feb}.doc-related-broken{padding:2px 10px;border:1px solid #f8514933;background:#f8514918;color:#f85149;border-radius:12px;font-size:12px;font-style:italic}.doc-related-link--cross-project{border-color:#6e40c955;background:#6e40c918;color:#d2a8ff}.doc-related-link--cross-project:hover{background:#6e40c933;border-color:#6e40c9}.settings-overlay{position:fixed;inset:0;background:#00000080;z-index:200;display:flex;align-items:center;justify-content:center}.settings-popover{background:#161b22;border:1px solid #30363d;border-radius:12px;padding:24px;width:800px;max-width:90%}.settings-title{font-size:16px;font-weight:600;margin:0 0 16px;color:#f0f6fc}.settings-field{margin-bottom:12px}.settings-label{display:block;font-size:12px;color:#8b949e;margin-bottom:4px}.settings-input{width:100%;padding:6px 10px;border:1px solid #30363d;background:#0d1117;color:#c9d1d9;border-radius:6px;font-size:13px;outline:none;box-sizing:border-box}.settings-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.settings-save-btn{padding:6px 16px;border:none;background:#1f6feb;color:#fff;border-radius:6px;cursor:pointer;font-size:13px}.settings-cancel-btn{padding:6px 16px;border:1px solid #30363d;background:#21262d;color:#c9d1d9;border-radius:6px;cursor:pointer;font-size:13px}.diff-toggle-btn{padding:3px 10px;border:1px solid #d29922;background:#3d2a0033;color:#d29922;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;transition:all .15s;white-space:nowrap;flex-shrink:0}.diff-toggle-btn:hover:not(:disabled){background:#3d2a0088}.diff-toggle-btn.active{background:#1a3a2a44;border-color:#3fb950;color:#3fb950}.diff-toggle-btn.active:hover{background:#1a3a2a88}.diff-toggle-btn:disabled{opacity:.5;cursor:default}.diff-viewer{flex:1;overflow:auto;background:#0d1117;border:1px solid #30363d;border-radius:8px;margin-top:4px}.diff-pre{margin:0;padding:0;font-family:Fira Code,Cascadia Code,Consolas,monospace;font-size:12.5px;line-height:1.55;white-space:pre;overflow:visible}.diff-line{display:block;padding:0 16px;min-height:1.55em}.diff-line--added{background:#1a3a1a;color:#7ee787}.diff-line--removed{background:#3a1a1a;color:#f47067}.diff-line--hunk{background:#0d1b2a;color:#79c0ff;font-weight:600}.diff-line--file-header{background:#161b22;color:#8b949e;font-style:italic}.diff-line--section-title{background:#1c1c2a;color:#c9d1d9;font-weight:700;padding-top:12px;padding-bottom:4px;border-top:1px solid #30363d;margin-top:4px}.diff-line--separator{background:#0f1117;color:#30363d;border-top:1px solid #21262d;border-bottom:1px solid #21262d}.diff-line--context{color:#c9d1d9}.file-status-table{width:100%;border-collapse:collapse;margin-top:12px}.file-status-table th,.file-status-table td{border:1px solid #30363d;padding:6px 10px;font-size:12px;text-align:left}.file-status-table th{background:#161b22;color:#8b949e}.status-ok{color:#3fb950}.status-modified{color:#d29922}.status-missing{color:#f85149}.history-viewer{display:flex;height:calc(100vh - 120px);gap:24px;overflow:hidden}.history-list{width:320px;flex-shrink:0;overflow-y:auto;padding-right:12px;border-right:1px solid #30363d}.history-entry{display:flex;flex-direction:column;width:100%;padding:12px;background:#161b22;border:1px solid #30363d;border-radius:6px;margin-bottom:8px;cursor:pointer;transition:all .15s;text-align:left;gap:6px}.history-entry:hover{border-color:#8b949e;background:#1c2129}.history-entry.history-entry--active{border-color:#1f6feb;background:#1f6feb11;box-shadow:0 0 0 1px #1f6feb}.history-entry-header{display:flex;align-items:center;justify-content:space-between;width:100%}.history-entry-version{font-size:13px;font-weight:600;color:#f0f6fc}.history-entry-type{font-size:10px;padding:2px 8px;border-radius:10px;font-weight:600;text-transform:uppercase;width:fit-content}.history-entry-type--create{background:#1a3a2a;color:#3fb950}.history-entry-type--update{background:#1c2a3a;color:#58a6ff}.history-entry-type--patch{background:#3d2a00;color:#d29922}.history-entry-type--delete{background:#3a1a1a;color:#f85149}.history-entry-type--snapshot{background:#1e1a3a;color:#a371f7}.history-group{display:flex;flex-direction:column}.history-entry--snapshot-card{padding:0}.history-entry-snapshot-main{display:flex;flex-direction:column;gap:4px;width:100%;padding:10px 12px;background:none;border:none;cursor:pointer;text-align:left;color:inherit}.history-entry-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.history-group-toggle{font-size:11px;color:#8b949e;cursor:pointer;white-space:nowrap;padding:2px 6px;border-radius:4px;transition:color .15s,background .15s;-webkit-user-select:none;user-select:none}.history-group-toggle:hover{color:#a371f7;background:#a371f715}.history-group-toggle--open{color:#a371f7}.history-group-entries{display:flex;flex-direction:column;margin-left:12px;border-left:2px solid #a371f730;padding-left:4px;margin-bottom:6px}.history-entry--sub{font-size:12px;padding:7px 10px}.history-entry--sub .history-entry-version{font-size:11px;color:#8b949e}.history-uncommitted{display:flex;flex-direction:column;margin-bottom:8px;border:1px dashed #30363d;border-radius:6px;overflow:hidden}.history-uncommitted-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#8b949e;padding:5px 10px;background:#161b22;border-bottom:1px dashed #30363d}.history-entry-date{font-size:11px;color:#8b949e}.history-content{flex:1;overflow-y:auto;padding-bottom:40px}.history-content-meta{display:flex;flex-direction:column;gap:12px;padding:16px;background:#161b22;border:1px solid #30363d;border-radius:8px;margin-bottom:24px}.history-content-meta-title{display:flex;align-items:center;justify-content:space-between;width:100%}.history-content-meta-info{display:flex;align-items:center;gap:12px}.history-content-meta strong{font-size:18px;color:#f0f6fc}.history-content-version{background:#21262d;color:#8b949e;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:600}.history-content-date{font-size:13px;color:#8b949e}.history-diff-loading{font-size:12px;color:#8b949e;font-style:italic}.history-diff-base{font-size:11px;color:#8b949e;background:#21262d;border:1px solid #30363d;border-radius:4px;padding:2px 7px;font-family:monospace}.history-diff-recap-banner{font-size:12px;color:#8b949e;background:#161b22;border:1px solid #30363d;border-left:3px solid #388bfd;border-radius:4px;padding:7px 12px;margin-bottom:12px}.history-meta-diff{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding:12px 14px;background:#0d1117;border:1px solid #30363d;border-radius:6px}.history-meta-diff-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#8b949e;margin-bottom:2px}.history-meta-diff-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.history-meta-diff-field{font-size:12px;font-weight:600;color:#8b949e;min-width:90px}.history-meta-diff-arrow{font-size:12px;color:#8b949e}.history-meta-diff-chips{display:flex;flex-wrap:wrap;gap:4px}.history-meta-diff-chip--added{font-size:12px;padding:2px 8px;border-radius:4px;background:#3fb95026;color:#3fb950;border:1px solid rgba(63,185,80,.3)}.history-meta-diff-chip--removed{font-size:12px;padding:2px 8px;border-radius:4px;background:#f8514926;color:#f85149;border:1px solid rgba(248,81,73,.3);text-decoration:line-through}.history-inline-diff{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13.5px;line-height:1.8;white-space:pre-wrap;word-break:break-word;color:#e6edf3;padding:16px}.history-inline-diff--added{background:#3fb95040;color:#3fb950;border-radius:2px}.history-inline-diff--removed{background:#f8514940;color:#f85149;border-radius:2px;text-decoration:line-through}.doc-editor{display:flex;flex-direction:column;flex:1;min-height:0;gap:12px;margin-top:4px}.doc-editor-textarea{flex:1;min-height:400px;background:#161b22;color:#e1e4e8;border:1px solid #30363d;border-radius:6px;padding:16px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px;line-height:1.6;resize:vertical;outline:none}.doc-editor-textarea:focus{border-color:#388bfd}.doc-editor-actions{display:flex;align-items:center;gap:12px;justify-content:flex-end}.doc-editor-error{color:#f85149;font-size:13px;margin-right:auto}.save-btn{background:#238636;color:#fff;border:none;border-radius:6px;padding:6px 16px;font-size:13px;cursor:pointer;transition:background .15s}.save-btn:hover:not(:disabled){background:#2ea043}.save-btn:disabled{opacity:.5;cursor:not-allowed}.edit-btn{background:none;border:1px solid #30363d;color:#8b949e;border-radius:6px;padding:4px 10px;font-size:12px;cursor:pointer;transition:all .15s}.edit-btn:hover,.edit-btn.active{background:#21262d;color:#f0f6fc;border-color:#8b949e}.delete-btn{background:none;border:1px solid #30363d;color:#8b949e;border-radius:6px;padding:4px 10px;font-size:12px;cursor:pointer;transition:all .15s;white-space:nowrap}.delete-btn:hover{background:#f8514922;border-color:#f85149;color:#f85149}.delete-btn--confirm{background:#f8514922;border-color:#f85149;color:#f85149;font-weight:600;padding:6px 12px}.delete-btn:disabled{opacity:.6;cursor:not-allowed}.modal-content.delete-modal{width:min(400px,90vw)}.delete-modal .modal-body{gap:14px}.delete-modal-text{font-size:13px;color:#c9d1d9;line-height:1.6}.delete-modal-text code{font-family:Fira Code,Consolas,monospace;font-size:12px;color:#8b949e;word-break:break-all}.delete-modal-actions{display:flex;justify-content:flex-end;gap:8px}@media print{.nav-rail,.nav-panel-wrapper,.doc-header,.doc-related,.file-status-view{display:none!important}.dashboard,.dashboard-body,.doc-viewer{display:block!important;background:#fff!important;color:#000!important;height:auto!important;overflow:visible!important}.doc-content{max-width:100%!important;padding:0!important;color:#000!important;background:#fff!important}pre,code{background:#f5f5f5!important;color:#333!important;border:1px solid #ddd!important}h1,h2,h3,h4,h5,h6{break-after:avoid;page-break-after:avoid}h2,h3,h4{break-before:auto;page-break-before:auto}pre,blockquote,table,figure,img{break-inside:avoid;page-break-inside:avoid}tr{break-inside:avoid;page-break-inside:avoid}p,li{orphans:3;widows:3}}.create-doc-popover{width:min(960px,95vw);max-width:95vw;max-height:90vh;display:flex;flex-direction:column}.create-doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-bottom:12px}.create-doc-content-field{display:flex;flex-direction:column;flex:1;min-height:0}.create-doc-textarea{flex:1;min-height:380px;width:100%;box-sizing:border-box;resize:vertical;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:13px;line-height:1.5}.create-doc-hint{margin-top:4px;font-size:11px;color:#6e7681}.folder-combobox{position:relative}.folder-combobox .settings-input{padding-right:28px}.folder-combobox-toggle{position:absolute;top:50%;right:6px;transform:translateY(-50%);background:transparent;border:none;color:#8b949e;cursor:pointer;font-size:12px;padding:2px 6px;border-radius:4px;line-height:1}.folder-combobox-toggle:hover{color:#c9d1d9;background:#21262d}.folder-combobox-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:10;background:#0d1117;border:1px solid #30363d;border-radius:6px;box-shadow:0 8px 24px #00000080;max-height:220px;overflow-y:auto;padding:4px 0}.folder-combobox-header{padding:6px 10px 4px;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#6e7681;border-bottom:1px solid #21262d;margin-bottom:4px}.folder-combobox-empty{padding:8px 10px;font-size:12px;color:#8b949e;font-style:italic}.folder-combobox-list{list-style:none;margin:0;padding:0}.folder-combobox-item{padding:6px 10px;font-size:13px;color:#c9d1d9;cursor:pointer;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}.folder-combobox-item.active,.folder-combobox-item:hover{background:#1f2a3a;color:#f0f6fc}@media(max-width:720px){.create-doc-grid{grid-template-columns:1fr}.create-doc-textarea{min-height:260px}}.file-row--clickable{cursor:pointer}.file-row--clickable:hover{background:#21262d}.file-row-code-hint{margin-left:6px;color:#8b949e;font-size:12px}.status-anchors-lost{color:#d29922;font-weight:500}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#161b22;border:1px solid #30363d;border-radius:8px;width:min(900px,90vw);max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #30363d}.modal-title{font-size:13px;color:#8b949e;font-family:Fira Code,Consolas,monospace;word-break:break-all}.modal-close-btn{background:none;border:none;color:#8b949e;cursor:pointer;font-size:16px;padding:2px 6px;border-radius:4px}.modal-close-btn:hover{background:#21262d;color:#f0f6fc}.modal-body{overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.section-code-header{font-size:12px;color:#8b949e;margin-bottom:4px}.pdf-error-banner{margin-top:8px;padding:8px 14px;background:#3a1a1a;border:1px solid #f85149;border-radius:6px;color:#f85149;font-size:12px}.doc-editor-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.doc-editor-actions-right{display:flex;align-items:center;gap:8px}.image-insert-trigger-btn{background:#21262d;border:1px solid #30363d;color:#c9d1d9;border-radius:6px;padding:6px 12px;font-size:13px;cursor:pointer}.image-insert-trigger-btn:hover{background:#30363d;color:#f0f6fc}.image-insert-popover{width:360px;background:#161b22;border:1px solid #30363d;border-radius:8px;padding:14px;z-index:9999;box-shadow:0 8px 24px #00000080}.image-insert-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.image-insert-title{font-size:13px;font-weight:600;color:#f0f6fc}.image-insert-close{background:none;border:none;color:#8b949e;cursor:pointer;font-size:14px;padding:2px 4px;border-radius:4px}.image-insert-close:hover{color:#f0f6fc;background:#21262d}.image-insert-tabs{display:flex;gap:4px;margin-bottom:12px;border-bottom:1px solid #21262d;padding-bottom:8px}.image-insert-tab{background:none;border:none;color:#8b949e;font-size:13px;padding:4px 10px;border-radius:4px;cursor:pointer}.image-insert-tab:hover{color:#f0f6fc;background:#21262d}.image-insert-tab.active{color:#58a6ff;background:#1f2937}.image-insert-alt-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}.image-insert-label{font-size:12px;color:#8b949e;white-space:nowrap;flex-shrink:0}.image-insert-input{flex:1;background:#0d1117;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;font-size:13px;padding:5px 10px;width:100%;box-sizing:border-box}.image-insert-input:focus{outline:none;border-color:#58a6ff}.image-insert-tab-content{display:flex;flex-direction:column;gap:8px}.image-upload-label{display:block;background:#21262d;border:1px dashed #30363d;border-radius:6px;color:#c9d1d9;font-size:13px;padding:10px;text-align:center;cursor:pointer}.image-upload-label:hover{background:#30363d;border-color:#58a6ff}.image-upload-label.uploading{opacity:.6;cursor:not-allowed}.image-insert-btn-insert{background:#238636;border:1px solid #2ea043;color:#fff;border-radius:6px;padding:6px 14px;font-size:13px;cursor:pointer;align-self:flex-end}.image-insert-btn-insert:hover:not(:disabled){background:#2ea043}.image-insert-btn-insert:disabled{opacity:.5;cursor:not-allowed}.image-insert-error{font-size:12px;color:#f85149;padding:4px 0}.image-paste-hint{font-size:11px;color:#666;text-align:center;margin-top:6px}.image-insert-gallery-section{margin-top:12px;border-top:1px solid #21262d;padding-top:10px}.image-insert-gallery-label{font-size:11px;color:#8b949e;margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em}.image-thumbs{display:flex;flex-wrap:wrap;gap:6px}.image-thumb{width:60px;height:60px;object-fit:cover;border-radius:4px;cursor:pointer;border:2px solid transparent}.image-thumb:hover{border-color:#58a6ff}.doc-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.doc-topbar-left{min-width:0}.doc-breadcrumb{display:flex;align-items:center;gap:6px;font-size:11.5px;color:#6e7681;margin-bottom:6px;flex-wrap:wrap}.doc-breadcrumb .nav-btn{font-size:12px;padding:1px 6px;line-height:1.3}.doc-breadcrumb-segment{display:inline-flex;align-items:center;gap:6px}.doc-breadcrumb-sep{color:#30363d}.doc-main .doc-title{font-size:24px;font-weight:600;color:#f0f6fc;margin:0}.doc-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.btn-primary{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 16px;border:none;border-radius:6px;background:#1f6feb;color:#fff;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.btn-primary:hover{background:#388bfd}.btn-primary.active{background:#21262d;color:#c9d1d9;box-shadow:inset 0 0 0 1px #30363d}.btn-secondary,.btn-icon-secondary,.icon-btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 14px;border:1px solid #30363d;border-radius:6px;background:#161b22;color:#c9d1d9;font-size:12px;cursor:pointer;white-space:nowrap;transition:all .15s}.btn-icon-secondary,.icon-btn{padding:0 9px;color:#8b949e}.btn-secondary:hover,.btn-icon-secondary:hover,.icon-btn:hover{background:#21262d;color:#f0f6fc;border-color:#8b949e}.menu-anchor{position:relative}.menu-backdrop{position:fixed;inset:0;z-index:50}.menu-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:60;min-width:190px;padding:4px;border:1px solid #30363d;border-radius:8px;background:#161b22;box-shadow:0 8px 24px #00000080;display:flex;flex-direction:column}.menu-popover--right{left:auto;right:0}.menu-item{text-align:left;padding:7px 10px;border:none;border-radius:6px;background:none;color:#c9d1d9;font-size:12px;cursor:pointer;white-space:nowrap}.menu-item:hover:not(:disabled){background:#21262d;color:#f0f6fc}.menu-item:disabled{opacity:.5;cursor:default}.menu-item--danger{color:#f85149}.menu-item--danger:hover{background:#3a1a1a;color:#ff7b72}.doc-tabs{display:flex;align-items:center;gap:24px;border-bottom:1px solid #21262d;margin-bottom:18px;flex-shrink:0}.doc-tab{position:relative;padding:8px 0 10px;border:none;background:none;color:#8b949e;font-size:12.5px;cursor:pointer;white-space:nowrap}.doc-tab:hover{color:#c9d1d9}.doc-tab.active{color:#f0f6fc;font-weight:600}.doc-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#1f6feb;border-radius:2px}.doc-tab-loading{color:#8b949e;font-size:12.5px;padding:12px 0}.stale-banner{display:flex;gap:14px;padding:12px 16px;margin-bottom:20px;border:1px solid #3d2f10;border-left:3px solid #d29922;border-radius:6px;background:#1c1710;flex-shrink:0}.stale-banner-icon{color:#d29922;font-size:14px;line-height:1.4}.stale-banner-body{display:flex;flex-direction:column;gap:4px}.stale-banner-text{font-size:12.5px;color:#e1e4e8}.stale-banner-link{align-self:flex-start;border:none;background:none;padding:0;color:#58a6ff;font-size:12px;font-weight:600;cursor:pointer}.stale-banner-link:hover{text-decoration:underline}.context-rail{width:300px;flex-shrink:0;border-left:1px solid #21262d;background:#0d1117;overflow-y:auto;padding:14px 20px 32px}.rail-section{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid #21262d}.rail-section:last-child{border-bottom:none}.rail-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.rail-label{display:block;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#6e7681;margin-bottom:10px}.rail-collapse-btn{height:24px;padding:0 6px;border:1px solid #21262d;border-radius:6px;background:#0d1117;color:#8b949e;font-size:11px;cursor:pointer}.rail-collapse-btn:hover{background:#161b22;color:#f0f6fc}.rail-empty{font-size:11.5px;color:#6e7681}.rail-toc{display:flex;flex-direction:column}.rail-toc-item{position:relative;text-align:left;padding:4px 0 4px 14px;border:none;background:none;color:#8b949e;font-size:12px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-toc-item:hover{color:#c9d1d9}.rail-toc-item.active{color:#58a6ff;font-weight:600}.rail-toc-item.active:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:2px;border-radius:2px;background:#1f6feb}.rail-toc-item--h3{padding-left:26px;font-size:11.5px}.rail-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 0}.rail-key{font-size:12px;color:#8b949e}.rail-val{font-size:12px;color:#c9d1d9;text-align:right}.rail-chip{padding:2px 10px;border-radius:10px;font-size:11px;font-weight:600}.rail-chip--stale{background:#3d2a00;color:#d29922}.rail-chip--fresh{background:#1a3a2a;color:#3fb950}.rail-files{display:flex;flex-direction:column;gap:2px}.rail-file{display:flex;align-items:center;gap:10px;padding:4px 0;border:none;background:none;color:#c9d1d9;font-size:11.5px;text-align:left;cursor:default;overflow:hidden}.rail-file--clickable{cursor:pointer}.rail-file--clickable:hover .rail-file-path{color:#58a6ff;text-decoration:underline}.rail-file-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:#6e7681}.rail-file-dot--ok{background:#3fb950}.rail-file-dot--modified{background:#d29922}.rail-file-dot--missing{background:#f85149}.rail-file-dot--anchors_lost{background:#db6d28}.rail-file-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-legend{margin-top:8px;font-size:10px;color:#6e7681}.rail-tags{display:flex;flex-wrap:wrap;gap:6px}.rail-links{display:flex;flex-direction:column;gap:6px}.rail-link{display:block;text-align:left;border:none;background:none;padding:0;color:#58a6ff;font-size:12px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-link:hover{text-decoration:underline}.rail-link--cross-project{color:#a371f7}.rail-link--broken{color:#6e7681;cursor:default;text-decoration:line-through}@media print{.doc-topbar,.doc-tabs,.stale-banner,.context-rail{display:none!important}.doc-main{display:block!important;overflow:visible!important;padding:0!important}}.source-icon{flex-shrink:0;color:#8b949e}.source-icon.active{color:#58a6ff}.source-icon.error{color:#f85149}.project-menu-label{padding:6px 10px 8px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6e7681}.project-menu-list{max-height:min(420px,70vh);overflow-y:auto}.project-option{display:flex;align-items:center;gap:10px;min-height:46px;padding:6px 6px 6px 12px;border-radius:6px;cursor:pointer}.project-option.highlighted{background:#1c2128}.project-option.current{background:#1f2937}.project-option-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.project-option-name{font-size:12.5px;color:#e1e4e8}.project-option.current .project-option-name{font-weight:600;color:#f0f6fc}.project-option-source{font-size:11px;color:#8b949e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-option-source.error{color:#f85149}.project-option-check{flex-shrink:0;color:#58a6ff}.project-option-gear{flex-shrink:0;width:26px;height:26px;display:none;align-items:center;justify-content:center;border-radius:6px;border:1px solid #30363d;background:#21262d;color:#c9d1d9;cursor:pointer}.project-option:hover .project-option-gear,.project-option.highlighted .project-option-gear{display:inline-flex}.project-option:hover .project-option-check,.project-option.highlighted .project-option-check{display:none}.project-option-gear:hover{color:#f0f6fc;border-color:#8b949e}.project-option-fix{flex-shrink:0;padding:4px 6px;border:none;background:none;color:#58a6ff;font-size:12px;font-weight:600;cursor:pointer}.project-option-fix:hover{text-decoration:underline}.ps-btn{height:32px;padding:0 16px;border-radius:6px;border:1px solid #30363d;background:#21262d;color:#c9d1d9;font-size:12px;cursor:pointer;white-space:nowrap}.ps-btn:hover:not(:disabled){border-color:#8b949e;color:#f0f6fc}.ps-btn.primary{border-color:#1f6feb;background:#1f6feb;color:#fff;font-weight:600}.ps-btn.primary:hover:not(:disabled){background:#388bfd;border-color:#388bfd}.ps-btn:disabled{opacity:.5;cursor:default}.spinning{animation:sync-spin .9s linear infinite}.project-settings{width:min(640px,calc(100vw - 32px));max-height:90vh;display:flex;flex-direction:column;border:1px solid #30363d;border-radius:12px;background:#161b22;box-shadow:0 16px 48px #0009}.ps-header{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 24px 18px;border-bottom:1px solid #21262d}.ps-title{font-size:17px;font-weight:600;color:#f0f6fc}.ps-subtitle{margin-top:6px;display:flex;align-items:center;gap:6px;font-size:12px;color:#8b949e}.ps-close{padding:2px;border:none;border-radius:4px;background:none;color:#8b949e;cursor:pointer}.ps-close:hover{background:#21262d;color:#f0f6fc}.ps-body{overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:18px}.ps-section-label{margin-bottom:-8px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6e7681}.ps-modes{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ps-mode{position:relative;display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid #30363d;border-radius:8px;background:#0d1117;text-align:left;cursor:pointer}.ps-mode:hover:not(:disabled){border-color:#8b949e}.ps-mode.selected{border-color:#1f6feb;background:#0d2036}.ps-mode:disabled{cursor:default}.ps-mode-icon{flex-shrink:0;margin-top:1px;color:#8b949e}.ps-mode.selected .ps-mode-icon,.ps-mode-check{color:#58a6ff}.ps-mode-check{position:absolute;top:10px;right:10px}.ps-mode-text{display:flex;flex-direction:column;gap:4px;padding-right:18px}.ps-mode-title{font-size:13px;font-weight:600;color:#c9d1d9}.ps-mode.selected .ps-mode-title{color:#f0f6fc}.ps-mode-desc{font-size:11px;color:#6e7681}.ps-mode.selected .ps-mode-desc{color:#8b949e}.ps-local-note{display:flex;align-items:flex-start;gap:8px;font-size:11.5px;line-height:1.5;color:#8b949e}.ps-local-note svg{flex-shrink:0;margin-top:2px}.ps-local-note code{font-family:Fira Code,Consolas,monospace;font-size:11px;color:#c9d1d9}.ps-field{display:flex;flex-direction:column;gap:6px}.ps-label{font-size:12px;font-weight:600;color:#c9d1d9}.ps-input-wrap{position:relative;display:flex;align-items:center;height:34px;border:1px solid #30363d;border-radius:6px;background:#0d1117}.ps-input-wrap:focus-within{border-color:#58a6ff}.ps-input-wrap.invalid{border-color:#f85149}.ps-input-icon{flex-shrink:0;margin:0 8px 0 12px;color:#8b949e}.ps-input{flex:1;min-width:0;height:100%;border:none;outline:none;background:transparent;color:#e1e4e8;font-size:13px}.ps-select{padding-right:8px;cursor:pointer}.ps-select option{background:#161b22}.ps-input-status{flex-shrink:0;margin-right:12px;color:#8b949e}.ps-input-status.ok{color:#3fb950}.ps-chip{flex-shrink:0;margin-right:34px;padding:2px 10px;border-radius:10px;background:#21262d;color:#8b949e;font-size:10.5px;pointer-events:none}.ps-help{font-size:11px;color:#6e7681}.ps-help.ok{color:#3fb950}.ps-help.error{color:#f85149}.ps-token{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 12px;border:1px solid #21262d;border-radius:6px;background:#0d1117}.ps-token-icon{flex-shrink:0;color:#8b949e}.ps-token-icon.ok{color:#3fb950}.ps-token-icon.error{color:#f85149}.ps-token-text{flex:1;font-size:12px;color:#c9d1d9}.ps-combobox{position:relative}.ps-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:10;max-height:216px;overflow-y:auto;margin:0;padding:4px;list-style:none;border:1px solid #30363d;border-radius:8px;background:#161b22;box-shadow:0 8px 24px #00000080}.ps-suggestion{display:flex;flex-direction:column;gap:2px;padding:7px 10px;border-radius:6px;cursor:pointer}.ps-suggestion.highlighted{background:#1f2937}.ps-suggestion-name{display:flex;align-items:center;gap:7px;font-size:12.5px;color:#e1e4e8}.ps-suggestion-name svg{flex-shrink:0;color:#8b949e}.ps-suggestion-desc{padding-left:19px;font-size:11px;color:#8b949e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ps-suggestion-note{padding:8px 10px;font-size:12px;color:#8b949e}.ps-suggestion-note.error{color:#f85149}.ps-input-action{flex-shrink:0;margin-right:12px}.ps-link{border:none;background:none;color:#58a6ff;font-size:12px;font-weight:600;cursor:pointer}.ps-link.muted{color:#8b949e;font-weight:400}.ps-link:hover{text-decoration:underline}.ps-alert{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:6px;font-size:12px}.ps-alert.error{border:1px solid #5c2121;background:#2a1214;color:#f85149}.ps-alert svg{flex-shrink:0;margin-top:1px}.ps-preview{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid #30363d;border-left:3px solid #1f6feb;border-radius:8px;background:#0d1117}.ps-preview.error{border-left-color:#f85149}.ps-preview-icon{flex-shrink:0;color:#58a6ff}.ps-preview.error .ps-preview-icon{color:#f85149}.ps-preview-text{display:flex;flex-direction:column;gap:4px;min-width:0}.ps-preview-title{font-size:12.5px;font-weight:600;color:#e1e4e8}.ps-preview-counts{font-size:11.5px;color:#8b949e}.ps-preview.error .ps-preview-counts{color:#f85149}.ps-footer{display:flex;align-items:center;gap:12px;padding:18px 24px;border-top:1px solid #21262d}.ps-footer-note{flex:1;display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:16px;color:#6e7681}.ps-footer-note svg{flex-shrink:0;margin-top:1px}.ps-save-error{max-width:200px}.migration-report{width:min(680px,calc(100vw - 32px));max-height:90vh;overflow-y:auto;border:1px solid #30363d;border-radius:12px;background:#161b22;box-shadow:0 16px 48px #0009}.mig-header{display:flex;align-items:center;gap:14px;padding:22px 24px 18px}.mig-badge{flex-shrink:0;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#0d2036;color:#58a6ff}.mig-title{font-size:16px;font-weight:600;color:#f0f6fc}.mig-subtitle{margin-top:4px;font-size:12px;color:#8b949e}.mig-error{margin:0 24px 16px}.mig-table{width:100%;border-collapse:collapse;font-size:12.5px}.mig-table th{padding:8px 24px;border-bottom:1px solid #21262d;text-align:left;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6e7681}.mig-table td{padding:11px 24px;border-bottom:1px solid #21262d;color:#e1e4e8}.mig-table tr:last-child td{border-bottom:none}.mig-table tr.not-imported td{background:#1c1710}.mig-table tr.not-imported .mig-source{color:#d29922}.mig-table td.mig-scope{font-style:italic;color:#8b949e}.mig-source{display:inline-flex;align-items:center;gap:8px;color:#c9d1d9}.mig-icon{flex-shrink:0;color:#8b949e}.mig-icon.accent{color:#58a6ff}.mig-icon.ok{color:#3fb950}.mig-icon.warn{color:#d29922}.mig-table td.mig-from{font-family:Fira Code,Consolas,monospace;font-size:11px;color:#8b949e}.mig-callout{display:flex;align-items:flex-start;gap:12px;margin:16px 24px 0;padding:14px 16px;border:1px solid #30363d;border-radius:8px;background:#0d1117}.mig-callout-text{flex:1;display:flex;flex-direction:column;gap:4px}.mig-callout-title{font-size:12.5px;font-weight:600;color:#e1e4e8}.mig-callout-desc{font-size:11.5px;color:#8b949e}.mig-vars{margin-top:8px;font-family:Fira Code,Consolas,monospace;font-size:11.5px;line-height:17px;color:#a5d6ff;-webkit-user-select:all;user-select:all}.mig-copy{flex-shrink:0;width:28px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #30363d;border-radius:6px;background:#161b22;color:#8b949e;cursor:pointer}.mig-copy:hover{color:#f0f6fc;border-color:#8b949e}.mig-footer{display:flex;align-items:center;gap:12px;margin-top:24px;padding:18px 24px;border-top:1px solid #21262d}.mig-footer-note{flex:1;font-size:11px;color:#6e7681}.settings-link-btn{align-self:flex-start;border:none;background:none;padding:0;color:#58a6ff;font-size:12px;cursor:pointer}.settings-link-btn:hover{text-decoration:underline}.settings-hint{font-size:11px;color:#3fb950}.settings-hint.error{color:#f85149}.dashboard-body{display:flex;flex:1;min-width:0;overflow:hidden}.nav-rail{position:relative;z-index:30;width:56px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 0;background:#0b0e13;border-right:1px solid #21262d;box-sizing:border-box}.rail-logo{width:32px;height:32px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#1f6feb;color:#fff}.rail-sep{width:28px;height:1px;margin:4px 0;flex-shrink:0;background:#21262d}.rail-spacer{flex:1}.rail-btn{position:relative;width:40px;height:40px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:10px;background:transparent;color:#8b949e;cursor:pointer;transition:background .15s,color .15s}.rail-btn:hover:not(:disabled){background:#161b22;color:#c9d1d9}.rail-btn.active,.rail-btn.active:hover{background:#1f2937;color:#58a6ff}.rail-btn.active:before{content:"";position:absolute;left:-8px;top:10px;bottom:10px;width:3px;border-radius:2px;background:#58a6ff}.rail-btn.conflict{color:#f85149}.rail-btn:disabled{cursor:default}.rail-btn[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);z-index:100;padding:6px 10px;border:1px solid #30363d;border-radius:6px;background:#21262d;box-shadow:0 8px 24px #00000080;color:#e1e4e8;font-size:12.5px;white-space:pre;pointer-events:none}.rail-badge{position:absolute;top:2px;right:0;min-width:10px;height:14px;padding:0 3px;border:2px solid #0b0e13;border-radius:9px;font-size:9px;font-weight:700;line-height:14px;text-align:center}.rail-badge--warn{background:#d29922;color:#0b0e13}.rail-badge--accent{background:#1f6feb;color:#fff}.rail-badge--danger{background:#f85149;color:#fff}.rail-dot{position:absolute;top:7px;right:7px;width:8px;height:8px;border:2px solid #0b0e13;border-radius:50%;background:#f85149}.project-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:8px;color:#fff;font-weight:700;letter-spacing:.02em}.project-selector{position:relative}.project-trigger{outline:none}.project-selector .project-trigger:focus-visible{box-shadow:0 0 0 2px #1f6feb}.project-selector--rail .project-trigger{display:inline-flex;padding:0;border:none;border-radius:8px;background:none;cursor:pointer}.project-selector--rail .project-trigger:hover,.project-selector--rail .project-trigger.open{box-shadow:0 0 0 2px #30363d}.project-selector--rail .project-trigger.error{box-shadow:0 0 0 2px #f85149}.project-selector--card{flex:1;min-width:0}.project-selector--card .project-trigger{width:100%;display:flex;align-items:center;gap:8px;padding:6px 8px;border:none;border-radius:8px;background:#1a1f27;text-align:left;cursor:pointer;transition:background .15s}.project-selector--card .project-trigger .project-avatar{border-radius:7px}.project-selector--card .project-trigger:hover,.project-selector--card .project-trigger.open{background:#1f2530}.project-selector--card .project-trigger.error{box-shadow:inset 0 0 0 1px #f85149}.project-trigger-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.project-trigger-label{font-size:14px;font-weight:600;color:#f0f6fc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-trigger-caption{font-size:12px;color:#8b949e}.project-trigger-caption.error{color:#f85149}.project-trigger-caret{flex-shrink:0;color:#6e7681}.project-menu{position:absolute;z-index:60;width:380px;padding:6px;border:1px solid #30363d;border-radius:8px;background:#161b22;box-shadow:0 8px 24px #00000080}.project-selector--rail .project-menu{top:0;left:calc(100% + 12px)}.project-selector--card .project-menu{top:calc(100% + 6px);left:0}.project-menu-list{outline:none}.project-menu .project-menu-label{font-size:11px}.project-menu .project-option-name{font-size:14px}.project-option-source{display:flex;align-items:center;gap:5px;font-size:12px}.project-menu-footer{margin-top:4px;padding-top:4px;border-top:1px solid #21262d}.project-menu-action{width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;border:none;border-radius:6px;background:none;color:#c9d1d9;font-size:13px;cursor:pointer}.project-menu-action:hover{background:#21262d;color:#f0f6fc}.new-project-row{display:flex;gap:6px;padding:4px}.new-project-input{flex:1;min-width:0;height:28px;padding:0 8px;border:1px solid #30363d;border-radius:6px;background:#0d1117;color:#e1e4e8;font-size:13px;outline:none}.new-project-input:focus{border-color:#58a6ff}.new-project-btn{width:28px;height:28px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid #30363d;border-radius:6px;background:#21262d;color:#c9d1d9;cursor:pointer}.new-project-btn:hover{color:#f0f6fc;border-color:#8b949e}.nav-panel-wrapper{position:relative;z-index:20;width:var(--panel-width);flex-shrink:0;transition:width .2s ease}.nav-panel-wrapper.collapsed{width:0;overflow:hidden}.nav-panel-wrapper.resizing{transition:none;-webkit-user-select:none;user-select:none}.nav-panel-resizer{position:absolute;top:0;right:-3px;bottom:0;width:6px;cursor:col-resize;z-index:5}.nav-panel-resizer:hover,.nav-panel-wrapper.resizing .nav-panel-resizer{background:#1f6feb}.nav-panel{width:var(--panel-width);height:100%;display:flex;flex-direction:column;min-height:0;background:#13171e;border-right:1px solid #21262d;box-sizing:border-box}.nav-panel-project{display:flex;align-items:center;gap:8px;padding:8px 12px 8px 8px;border-bottom:1px solid #21262d;flex-shrink:0}.nav-panel-new{width:28px;height:28px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:7px;background:#1f6feb;color:#fff;cursor:pointer;transition:background .15s}.nav-panel-new:hover{background:#388bfd}.nav-panel-heading{display:flex;align-items:center;gap:8px;min-height:22px;padding:12px 12px 8px 16px;flex-shrink:0}.nav-panel-title{flex:1;font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#8b949e}.nav-panel-count{font-size:12px;color:#6e7681}.nav-panel-tool{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:5px;background:none;color:#6e7681;cursor:pointer}.nav-panel-tool:hover{background:#21262d;color:#f0f6fc}.nav-panel-scroll{flex:1;min-height:0;overflow-y:auto;padding:0 8px 12px}.nav-empty{padding:24px 16px;text-align:center;color:#8b949e;font-size:13.5px}.tree-row{display:flex;align-items:center;gap:8px;height:32px;padding-right:8px;border-radius:6px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.tree-row:hover{background:#1a1f27}.tree-row-chevron{flex-shrink:0;margin-right:-4px;color:#6e7681}.tree-row-icon{flex-shrink:0;color:#6e7681}.tree-row--folder .tree-row-icon{color:#8b949e}.tree-row-label{flex:1;min-width:0;font-size:14px;color:#c9d1d9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-row--folder .tree-row-label{font-weight:500;color:#e1e4e8}.tree-row.active{background:#172338}.tree-row.active .tree-row-icon{color:#58a6ff}.tree-row.active .tree-row-label{font-weight:500;color:#f0f6fc}.tree-row-count{min-width:14px;text-align:right;font-size:12px;color:#6e7681}.tree-row-meta{flex-shrink:0;font-size:11.5px;color:#6e7681}.stale-dot{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#d29922}.tree-children{position:relative}.tree-children:before{content:"";position:absolute;left:var(--guide-x);top:0;bottom:0;width:1px;background:#262c36}.search-box{display:flex;flex-direction:column;gap:8px;padding:0 4px 10px}.search-field{position:relative;display:flex;align-items:center}.search-input{width:100%;height:34px;padding:0 40px 0 32px;border:1px solid #30363d;border-radius:8px;background:#0d1117;color:#e1e4e8;font-size:13.5px;outline:none;box-sizing:border-box;transition:border-color .15s}.search-input:focus{border-color:#1f6feb}.search-input::placeholder{color:#6e7681}.search-field-icon{position:absolute;left:10px;color:#6e7681;pointer-events:none}.search-kbd,.search-clear-btn{position:absolute;right:7px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;background:#21262d;color:#8b949e;font-size:10px}.search-kbd{padding:0 6px;pointer-events:none}.search-clear-btn{width:18px;border:none;cursor:pointer}.search-clear-btn:hover{background:#30363d;color:#f0f6fc}.segmented{display:flex;padding:2px;border:1px solid #21262d;border-radius:7px;background:#0d1117}.segmented-option{flex:1;height:26px;border:none;border-radius:5px;background:none;color:#8b949e;font-size:12.5px;cursor:pointer}.segmented-option:hover{color:#c9d1d9}.segmented-option.active{background:#262c36;color:#f0f6fc;font-weight:500}.search-result{padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .15s}.search-result:hover{background:#1a1f27}.search-result.active{background:#172338}.search-result-head{display:flex;align-items:baseline;gap:8px}.search-result-title{flex:1;min-width:0;font-size:14px;font-weight:500;color:#e1e4e8}.search-result-score{flex-shrink:0;font-size:12px;color:#3fb950}.search-result-meta,.search-result-excerpt{margin-top:2px;font-size:12px;color:#8b949e}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
#root{height:auto;min-height:100vh}.public-page{min-height:100vh;background:#0f1117;color:#c9d1d9}.public-column{width:100%;max-width:808px;margin:0 auto;padding:0 24px}.public-column--with-toc{max-width:1104px}.public-column--with-toc.public-layout{display:grid;grid-template-columns:minmax(0,1fr) 232px;column-gap:48px}.public-toc{position:sticky;top:56px;align-self:start;max-height:calc(100vh - 56px);overflow-y:auto;padding:44px 0 24px}.public-toc-label{display:block;margin-bottom:10px;color:#6e7681;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.public-toc-list{display:flex;flex-direction:column;border-left:1px solid #21262d}.public-toc-item{position:relative;padding:4px 0 4px 14px;color:#8b949e;font-size:12.5px;line-height:1.4;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-toc-item:hover{color:#c9d1d9}.public-toc-item.active{color:#58a6ff;font-weight:600}.public-toc-item.active:before{content:"";position:absolute;left:-1px;top:4px;bottom:4px;width:2px;border-radius:2px;background:#1f6feb}.public-toc-item--h3{padding-left:26px;font-size:12px}@media(max-width:1024px){.public-column--with-toc{max-width:808px}.public-column--with-toc.public-layout{display:block}.public-toc{display:none}}.public-bar{position:sticky;top:0;z-index:10;background:#0b0e13;border-bottom:1px solid #21262d}.public-bar-inner{display:flex;align-items:center;justify-content:space-between;height:56px}.public-project{display:inline-flex;align-items:center;gap:8px;color:#c9d1d9;font-size:13px;font-weight:600}.public-project svg{color:#8b949e}.public-readonly{color:#6e7681;font-size:12px}.public-main{padding-top:36px;padding-bottom:72px}.public-title{color:#f0f6fc;font-size:30px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}.public-meta{display:flex;align-items:center;gap:8px;margin-top:10px;color:#8b949e;font-size:12.5px}.public-meta svg{color:#6e7681;flex-shrink:0}.public-note{margin-top:16px;padding:10px 16px;border:1px solid #21262d;border-left:3px solid #58a6ff;border-radius:6px;background:#12161d;color:#c9d1d9;font-size:13px;font-style:italic;overflow-wrap:anywhere}.public-content{margin-top:20px;padding-top:4px;border-top:1px solid #21262d;font-size:15px}.public-heading{position:relative;scroll-margin-top:72px}.public-anchor{position:absolute;left:-24px;top:50%;transform:translateY(-50%);display:inline-flex;color:#6e7681;opacity:0;transition:opacity .15s}.public-heading:hover .public-anchor,.public-anchor:focus-visible{opacity:1}.public-anchor:hover{color:#c9d1d9}.public-doc-ref{font-weight:600;color:#c9d1d9}@media(max-width:640px){.public-column{padding-left:16px;padding-right:16px}.public-title{font-size:24px}.public-anchor{display:none}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b4 as g,b5 as l,b6 as t,b7 as f,b8 as j,b9 as y,ba as v,bb as k,bc as N,bd as E,be as w,bf as C,bg as I}from"./DocContent-qNz5QMPa.js";const b={name:"calendar-days",size:24,node:[["path",{d:"M8 2v3",key:"1ioesn"}],["path",{d:"M16 2v3",key:"otl347"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M8 13h.01",key:"1sbv64"}],["path",{d:"M12 13h.01",key:"y0uutt"}],["path",{d:"M16 13h.01",key:"wip0gl"}],["path",{d:"M8 17h.01",key:"p3bg7i"}],["path",{d:"M12 17h.01",key:"p32p05"}],["path",{d:"M16 17h.01",key:"ql8jdd"}]]};b.node;const S=g(b),M=/^\/?api\/images\/([^/?#]+)\/([^/?#]+)$/;function $(e){const a=e?M.exec(e):null;return a?`img/${a[1]}/${a[2]}`:e}const R=96;function d(e){document.getElementById(e)?.scrollIntoView({behavior:"smooth",block:"start"})}function i(e){return function({id:n,children:o}){return t.jsxs(e,{id:n,className:"public-heading",children:[o,n&&t.jsx("a",{className:"public-anchor",href:`#${n}`,"aria-label":"Link to this section",onClick:r=>{r.preventDefault(),history.replaceState(null,"",`#${n}`),d(n)},children:t.jsx(C,{size:14})})]})}}const P={code:e=>t.jsx(w,{...e,fixedLanguage:!0}),h1:i("h1"),h2:i("h2"),h3:i("h3"),h4:i("h4"),a({href:e,children:a}){return!e||e.startsWith("doc://")?t.jsx("span",{className:"public-doc-ref",children:a}):e.startsWith("#")?t.jsx("a",{href:e,onClick:n=>{n.preventDefault(),d(decodeURIComponent(e.slice(1)))},children:a}):t.jsx("a",{href:e,target:"_blank",rel:"noopener noreferrer",children:a})},img({src:e,alt:a}){return t.jsx("img",{src:$(typeof e=="string"?e:void 0),alt:a??"",className:"doc-image"})}};function B({publication:e}){const a=l.useRef(null),[n,o]=l.useState([]),[r,x]=l.useState(null);l.useEffect(()=>{const s=decodeURIComponent(window.location.hash.slice(1));s&&requestAnimationFrame(()=>document.getElementById(s)?.scrollIntoView({block:"start"}))},[]),l.useEffect(()=>{const s=[...a.current?.querySelectorAll("h1, h2, h3")??[]];o(s.filter(c=>c.id).map(c=>({id:c.id,text:c.textContent??"",level:Number(c.tagName.slice(1))})))},[e.content]),l.useEffect(()=>{if(n.length===0)return;const s=()=>{let c=n[0].id;for(const p of n){const m=document.getElementById(p.id);m&&m.getBoundingClientRect().top<=R&&(c=p.id)}x(c)};return s(),window.addEventListener("scroll",s,{passive:!0}),()=>window.removeEventListener("scroll",s)},[n]);const u=n.length>0,h=`public-column${u?" public-column--with-toc":""}`;return t.jsxs("div",{className:"public-page",children:[t.jsx("header",{className:"public-bar",children:t.jsxs("div",{className:`${h} public-bar-inner`,children:[t.jsxs("span",{className:"public-project",children:[t.jsx(f,{size:16}),e.project]}),t.jsx("span",{className:"public-readonly",children:"Read-only"})]})}),t.jsxs("div",{className:`${h} public-layout`,children:[t.jsxs("main",{className:"public-main",children:[t.jsx("h1",{className:"public-title",children:e.title}),t.jsxs("div",{className:"public-meta",children:[t.jsx(S,{size:14}),"Published ",j(e.publishedAt),e.version!==null&&t.jsxs(t.Fragment,{children:[" · version ",y(e.version)]})]}),e.note&&t.jsx("div",{className:"public-note",children:e.note}),t.jsx("div",{className:"doc-content public-content",ref:a,children:t.jsx(v,{remarkPlugins:[N],rehypePlugins:[k],components:P,urlTransform:s=>s.startsWith("doc://")?s:E(s),children:e.content})})]}),u&&t.jsxs("aside",{className:"public-toc","aria-label":"On this page",children:[t.jsx("span",{className:"public-toc-label",children:"On this page"}),t.jsx("nav",{className:"public-toc-list",children:n.map(s=>t.jsx("a",{href:`#${s.id}`,className:`public-toc-item public-toc-item--h${s.level}${r===s.id?" active":""}`,title:s.text,onClick:c=>{c.preventDefault(),history.replaceState(null,"",`#${s.id}`),d(s.id)},children:s.text},s.id))})]})]})]})}function L(){const e=document.getElementById("publication-data");if(!e?.textContent)throw new Error("This page carries no published document.");return JSON.parse(e.textContent)}I.createRoot(document.getElementById("root")).render(t.jsx(l.StrictMode,{children:t.jsx(B,{publication:L()})}));
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as t,b as r,a,S as s}from"./chunk-AQP2D5EJ-BQJRaqJz.js";import{_ as i}from"./DocContent-qNz5QMPa.js";import"./chunk-55IACEB6-CZbPaYTs.js";import"./chunk-2J33WTMH-B7Z-cZqf.js";var l={parser:a,get db(){return new s(2)},renderer:r,styles:t,init:i(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")};export{l as diagram};
|