@imenam/mcp-documentor 1.0.44 → 1.0.49

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.
Files changed (82) hide show
  1. package/dist/src/gui-worker.js +173 -1
  2. package/dist/src/index.js +18 -0
  3. package/dist/src/tools/upload-image.d.ts +14 -0
  4. package/dist/src/tools/upload-image.js +66 -0
  5. package/dist/src/version.d.ts +1 -1
  6. package/dist/src/version.js +1 -1
  7. package/gui/dist/assets/{arc-Ce3Gb8xA.js → arc-BKRFpV_X.js} +1 -1
  8. package/gui/dist/assets/architectureDiagram-3BPJPVTR-g3ix86w4.js +36 -0
  9. package/gui/dist/assets/blockDiagram-GPEHLZMM-DJp0RySg.js +132 -0
  10. package/gui/dist/assets/{c4Diagram-AHTNJAMY-WNjVDfrm.js → c4Diagram-AAUBKEIU-Dv19Wb0P.js} +1 -1
  11. package/gui/dist/assets/channel-BrniWeCv.js +1 -0
  12. package/gui/dist/assets/{chunk-EDXVE4YY-Dg6HQynX.js → chunk-2J33WTMH-BBsfTgNR.js} +1 -1
  13. package/gui/dist/assets/{chunk-4BX2VUAB-DiqlRlBf.js → chunk-4BX2VUAB-CSXLRZh_.js} +1 -1
  14. package/gui/dist/assets/{chunk-55IACEB6-w5vdVSko.js → chunk-55IACEB6-BvPtr-ne.js} +1 -1
  15. package/gui/dist/assets/chunk-727SXJPM-CWUhOtR-.js +206 -0
  16. package/gui/dist/assets/chunk-AQP2D5EJ-BQ0HicF_.js +231 -0
  17. package/gui/dist/assets/{chunk-FMBD7UC4-B_8Ah5kO.js → chunk-FMBD7UC4-jHVVH30s.js} +1 -1
  18. package/gui/dist/assets/{chunk-YZCP3GAM-UAMyKnC1.js → chunk-ND2GUHAM-Bpfb395X.js} +1 -1
  19. package/gui/dist/assets/{chunk-QZHKN3VN-3KYhwfha.js → chunk-QZHKN3VN-Dx2Yi2S_.js} +1 -1
  20. package/gui/dist/assets/classDiagram-4FO5ZUOK-B8_yXQAM.js +1 -0
  21. package/gui/dist/assets/classDiagram-v2-Q7XG4LA2-B8_yXQAM.js +1 -0
  22. package/gui/dist/assets/{cose-bilkent-S5V4N54A-DClmwFbl.js → cose-bilkent-S5V4N54A-Ds421Gqq.js} +1 -1
  23. package/gui/dist/assets/dagre-BM42HDAG-DlN4DvzI.js +4 -0
  24. package/gui/dist/assets/diagram-2AECGRRQ-egBqkNYN.js +43 -0
  25. package/gui/dist/assets/diagram-5GNKFQAL-De9QbkXT.js +10 -0
  26. package/gui/dist/assets/diagram-KO2AKTUF-B7ViWsaJ.js +3 -0
  27. package/gui/dist/assets/diagram-LMA3HP47-CWI-hnKY.js +24 -0
  28. package/gui/dist/assets/{diagram-G4DWMVQ6-uNQmnOVi.js → diagram-OG6HWLK6-qstINSVL.js} +2 -2
  29. package/gui/dist/assets/{erDiagram-SMLLAGMA-9vfXUDTU.js → erDiagram-TEJ5UH35-CH3pg4ub.js} +1 -1
  30. package/gui/dist/assets/{flowDiagram-DWJPFMVM-BKu8hLQt.js → flowDiagram-I6XJVG4X-DGKis5au.js} +1 -1
  31. package/gui/dist/assets/{ganttDiagram-T4ZO3ILL-JKTpXhdp.js → ganttDiagram-6RSMTGT7-BiD0e5Ub.js} +4 -4
  32. package/gui/dist/assets/gitGraphDiagram-PVQCEYII-7LNV7Qnv.js +106 -0
  33. package/gui/dist/assets/graph--OzhPTMs.js +1 -0
  34. package/gui/dist/assets/{index-BzyTjtNB.css → index-BYVxYY90.css} +1 -1
  35. package/gui/dist/assets/{index-CaPQpXd3.js → index-DBOt1LJt.js} +122 -123
  36. package/gui/dist/assets/infoDiagram-5YYISTIA-CDjlLZyM.js +2 -0
  37. package/gui/dist/assets/{ishikawaDiagram-UXIWVN3A-Cf7vBj2E.js → ishikawaDiagram-YF4QCWOH-if4ogb8U.js} +1 -1
  38. package/gui/dist/assets/{journeyDiagram-VCZTEJTY-DtC9ymAy.js → journeyDiagram-JHISSGLW-DOMmF1XD.js} +1 -1
  39. package/gui/dist/assets/{kanban-definition-6JOO6SKY-O0fDNBIn.js → kanban-definition-UN3LZRKU-BeqZERBX.js} +1 -1
  40. package/gui/dist/assets/layout-SsrduOYp.js +1 -0
  41. package/gui/dist/assets/{linear-Cn1ygZ55.js → linear-BKJMMNN0.js} +1 -1
  42. package/gui/dist/assets/{mindmap-definition-QFDTVHPH-BJkWNcu5.js → mindmap-definition-RKZ34NQL-B2MDEpXz.js} +9 -9
  43. package/gui/dist/assets/pieDiagram-4H26LBE5-Cykp2K6j.js +30 -0
  44. package/gui/dist/assets/quadrantDiagram-W4KKPZXB-DLczui3d.js +7 -0
  45. package/gui/dist/assets/{requirementDiagram-MS252O5E-D7JQGgq0.js → requirementDiagram-4Y6WPE33-VbvufLF4.js} +1 -1
  46. package/gui/dist/assets/sankeyDiagram-5OEKKPKP-BUOiIMns.js +40 -0
  47. package/gui/dist/assets/sequenceDiagram-3UESZ5HK-CB63G6iO.js +162 -0
  48. package/gui/dist/assets/stateDiagram-AJRCARHV-DvGDV-mj.js +1 -0
  49. package/gui/dist/assets/stateDiagram-v2-BHNVJYJU-CSlYTx4_.js +1 -0
  50. package/gui/dist/assets/{timeline-definition-GMOUNBTQ-BSd1iHP7.js → timeline-definition-PNZ67QCA-DVi9QtSX.js} +1 -1
  51. package/gui/dist/assets/{vennDiagram-DHZGUBPP-5vVRkiC1.js → vennDiagram-CIIHVFJN-BBbj4Tef.js} +5 -5
  52. package/gui/dist/assets/wardley-L42UT6IY-Ni3IxkS6.js +161 -0
  53. package/gui/dist/assets/wardleyDiagram-YWT4CUSO-8K4ncLPD.js +78 -0
  54. package/gui/dist/assets/{xychartDiagram-5P7HB3ND-CKHTns95.js → xychartDiagram-2RQKCTM6-glUaKKLx.js} +1 -1
  55. package/gui/dist/index.html +2 -2
  56. package/package.json +2 -1
  57. package/gui/dist/assets/_baseUniq-BU0U623P.js +0 -1
  58. package/gui/dist/assets/architectureDiagram-Q4EWVU46-Ces_mPGF.js +0 -36
  59. package/gui/dist/assets/blockDiagram-DXYQGD6D-B8Y-pXgj.js +0 -132
  60. package/gui/dist/assets/channel-Bawra3aZ.js +0 -1
  61. package/gui/dist/assets/chunk-4TB4RGXK-CxKEFtUX.js +0 -206
  62. package/gui/dist/assets/chunk-OYMX7WX6-BT0nXoHz.js +0 -231
  63. package/gui/dist/assets/classDiagram-6PBFFD2Q-A3ottNSQ.js +0 -1
  64. package/gui/dist/assets/classDiagram-v2-HSJHXN6E-A3ottNSQ.js +0 -1
  65. package/gui/dist/assets/clone-mIFDnjwl.js +0 -1
  66. package/gui/dist/assets/dagre-KV5264BT-CTaJghw8.js +0 -4
  67. package/gui/dist/assets/diagram-5BDNPKRD-DDL2xiIH.js +0 -10
  68. package/gui/dist/assets/diagram-MMDJMWI5-Cd2q0xCp.js +0 -43
  69. package/gui/dist/assets/diagram-TYMM5635-f5gxEjq1.js +0 -24
  70. package/gui/dist/assets/gitGraphDiagram-UUTBAWPF-WPLTQc61.js +0 -106
  71. package/gui/dist/assets/graph-BaMEnwCR.js +0 -1
  72. package/gui/dist/assets/infoDiagram-42DDH7IO-VapOHi4Y.js +0 -2
  73. package/gui/dist/assets/layout-CKm9GbtU.js +0 -1
  74. package/gui/dist/assets/min-CVVJHMPl.js +0 -1
  75. package/gui/dist/assets/pieDiagram-DEJITSTG-DBvmgJfB.js +0 -30
  76. package/gui/dist/assets/quadrantDiagram-34T5L4WZ-vWwN725k.js +0 -7
  77. package/gui/dist/assets/sankeyDiagram-XADWPNL6-V_OhiBi2.js +0 -10
  78. package/gui/dist/assets/sequenceDiagram-FGHM5R23-C7-ndrI7.js +0 -157
  79. package/gui/dist/assets/stateDiagram-FHFEXIEX-DtqD-GG8.js +0 -1
  80. package/gui/dist/assets/stateDiagram-v2-QKLJ7IA2-DhNiUVPk.js +0 -1
  81. package/gui/dist/assets/wardley-RL74JXVD-Dd64Tq4P.js +0 -162
  82. package/gui/dist/assets/wardleyDiagram-NUSXRM2D-r6Y_JsSV.js +0 -20
@@ -0,0 +1,106 @@
1
+ import{p as le}from"./chunk-4BX2VUAB-CSXLRZh_.js";import{I as he}from"./chunk-QZHKN3VN-Dx2Yi2S_.js";import{q as $e,p as fe,s as ge,g as ue,a as ye,b as xe,_ as h,D as J,l as w,d as me,c as W,u as pe,E as be,z as we,k as B,F as ke,G as ve,H as Ce}from"./index-DBOt1LJt.js";import{p as Ee}from"./wardley-L42UT6IY-Ni3IxkS6.js";var m={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},Be=ve.gitGraph,S=h(()=>ke({...Be,...J().gitGraph}),"getConfig"),d=new he(()=>{const e=S(),r=e.mainBranchName,t=e.mainBranchOrder;return{mainBranchName:r,commits:new Map,head:null,branchConfig:new Map([[r,{name:r,order:t}]]),branches:new Map([[r,null]]),currBranch:r,direction:"LR",seq:0,options:{}}});function Y(){return Ce({length:7})}h(Y,"getID");function te(e,r){const t=Object.create(null);return e.reduce((s,o)=>{const i=r(o);return t[i]||(t[i]=!0,s.push(o)),s},[])}h(te,"uniqBy");var Te=h(function(e){d.records.direction=e},"setDirection"),Le=h(function(e){w.debug("options str",e),e=e?.trim(),e=e||"{}";try{d.records.options=JSON.parse(e)}catch(r){w.error("error while parsing gitGraph options",r.message)}},"setOptions"),Me=h(function(){return d.records.options},"getOptions"),Re=h(function(e){let r=e.msg,t=e.id;const s=e.type;let o=e.tags;w.info("commit",r,t,s,o),w.debug("Entering commit:",r,t,s,o);const i=S();t=B.sanitizeText(t,i),r=B.sanitizeText(r,i),o=o?.map(a=>B.sanitizeText(a,i));const n={id:t||d.records.seq+"-"+Y(),message:r,seq:d.records.seq++,type:s??m.NORMAL,tags:o??[],parents:d.records.head==null?[]:[d.records.head.id],branch:d.records.currBranch};d.records.head=n,w.info("main branch",i.mainBranchName),d.records.commits.has(n.id)&&w.warn(`Commit ID ${n.id} already exists`),d.records.commits.set(n.id,n),d.records.branches.set(d.records.currBranch,n.id),w.debug("in pushCommit "+n.id)},"commit"),Ie=h(function(e){let r=e.name;const t=e.order;if(r=B.sanitizeText(r,S()),d.records.branches.has(r))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${r}")`);d.records.branches.set(r,d.records.head!=null?d.records.head.id:null),d.records.branchConfig.set(r,{name:r,order:t}),ae(r),w.debug("in createBranch")},"branch"),Oe=h(e=>{let r=e.branch,t=e.id;const s=e.type,o=e.tags,i=S();r=B.sanitizeText(r,i),t&&(t=B.sanitizeText(t,i));const n=d.records.branches.get(d.records.currBranch),a=d.records.branches.get(r),l=n?d.records.commits.get(n):void 0,f=a?d.records.commits.get(a):void 0;if(l&&f&&l.branch===r)throw new Error(`Cannot merge branch '${r}' into itself.`);if(d.records.currBranch===r){const c=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},c}if(l===void 0||!l){const c=new Error(`Incorrect usage of "merge". Current branch (${d.records.currBranch})has no commits`);throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["commit"]},c}if(!d.records.branches.has(r)){const c=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") does not exist");throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:[`branch ${r}`]},c}if(f===void 0||!f){const c=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") has no commits");throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:['"commit"']},c}if(l===f){const c=new Error('Incorrect usage of "merge". Both branches have same head');throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},c}if(t&&d.records.commits.has(t)){const c=new Error('Incorrect usage of "merge". Commit with id:'+t+" already exists, use different custom id");throw c.hash={text:`merge ${r} ${t} ${s} ${o?.join(" ")}`,token:`merge ${r} ${t} ${s} ${o?.join(" ")}`,expected:[`merge ${r} ${t}_UNIQUE ${s} ${o?.join(" ")}`]},c}const g=a||"",$={id:t||`${d.records.seq}-${Y()}`,message:`merged branch ${r} into ${d.records.currBranch}`,seq:d.records.seq++,parents:d.records.head==null?[]:[d.records.head.id,g],branch:d.records.currBranch,type:m.MERGE,customType:s,customId:!!t,tags:o??[]};d.records.head=$,d.records.commits.set($.id,$),d.records.branches.set(d.records.currBranch,$.id),w.debug(d.records.branches),w.debug("in mergeBranch")},"merge"),_e=h(function(e){let r=e.id,t=e.targetId,s=e.tags,o=e.parent;w.debug("Entering cherryPick:",r,t,s);const i=S();if(r=B.sanitizeText(r,i),t=B.sanitizeText(t,i),s=s?.map(l=>B.sanitizeText(l,i)),o=B.sanitizeText(o,i),!r||!d.records.commits.has(r)){const l=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw l.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},l}const n=d.records.commits.get(r);if(n===void 0||!n)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(o&&!(Array.isArray(n.parents)&&n.parents.includes(o)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const a=n.branch;if(n.type===m.MERGE&&!o)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!t||!d.records.commits.has(t)){if(a===d.records.currBranch){const $=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw $.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},$}const l=d.records.branches.get(d.records.currBranch);if(l===void 0||!l){const $=new Error(`Incorrect usage of "cherry-pick". Current branch (${d.records.currBranch})has no commits`);throw $.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},$}const f=d.records.commits.get(l);if(f===void 0||!f){const $=new Error(`Incorrect usage of "cherry-pick". Current branch (${d.records.currBranch})has no commits`);throw $.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},$}const g={id:d.records.seq+"-"+Y(),message:`cherry-picked ${n?.message} into ${d.records.currBranch}`,seq:d.records.seq++,parents:d.records.head==null?[]:[d.records.head.id,n.id],branch:d.records.currBranch,type:m.CHERRY_PICK,tags:s?s.filter(Boolean):[`cherry-pick:${n.id}${n.type===m.MERGE?`|parent:${o}`:""}`]};d.records.head=g,d.records.commits.set(g.id,g),d.records.branches.set(d.records.currBranch,g.id),w.debug(d.records.branches),w.debug("in cherryPick")}},"cherryPick"),ae=h(function(e){if(e=B.sanitizeText(e,S()),d.records.branches.has(e)){d.records.currBranch=e;const r=d.records.branches.get(d.records.currBranch);r===void 0||!r?d.records.head=null:d.records.head=d.records.commits.get(r)??null}else{const r=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${e}")`);throw r.hash={text:`checkout ${e}`,token:`checkout ${e}`,expected:[`branch ${e}`]},r}},"checkout");function V(e,r,t){const s=e.indexOf(r);s===-1?e.push(t):e.splice(s,1,t)}h(V,"upsert");function Q(e){const r=e.reduce((o,i)=>o.seq>i.seq?o:i,e[0]);let t="";e.forEach(function(o){o===r?t+=" *":t+=" |"});const s=[t,r.id,r.seq];for(const o in d.records.branches)d.records.branches.get(o)===r.id&&s.push(o);if(w.debug(s.join(" ")),r.parents&&r.parents.length==2&&r.parents[0]&&r.parents[1]){const o=d.records.commits.get(r.parents[0]);V(e,r,o),r.parents[1]&&e.push(d.records.commits.get(r.parents[1]))}else{if(r.parents.length==0)return;if(r.parents[0]){const o=d.records.commits.get(r.parents[0]);V(e,r,o)}}e=te(e,o=>o.id),Q(e)}h(Q,"prettyPrintCommitHistory");var Ge=h(function(){w.debug(d.records.commits);const e=ne()[0];Q([e])},"prettyPrint"),He=h(function(){d.reset(),we()},"clear"),Se=h(function(){return[...d.records.branchConfig.values()].map((r,t)=>r.order!==null&&r.order!==void 0?r:{...r,order:parseFloat(`0.${t}`)}).sort((r,t)=>(r.order??0)-(t.order??0)).map(({name:r})=>({name:r}))},"getBranchesAsObjArray"),Ae=h(function(){return d.records.branches},"getBranches"),De=h(function(){return d.records.commits},"getCommits"),ne=h(function(){const e=[...d.records.commits.values()];return e.forEach(function(r){w.debug(r.id)}),e.sort((r,t)=>r.seq-t.seq),e},"getCommitsArray"),qe=h(function(){return d.records.currBranch},"getCurrentBranch"),Pe=h(function(){return d.records.direction},"getDirection"),We=h(function(){return d.records.head},"getHead"),se={commitType:m,getConfig:S,setDirection:Te,setOptions:Le,getOptions:Me,commit:Re,branch:Ie,merge:Oe,cherryPick:_e,checkout:ae,prettyPrint:Ge,clear:He,getBranchesAsObjArray:Se,getBranches:Ae,getCommits:De,getCommitsArray:ne,getCurrentBranch:qe,getDirection:Pe,getHead:We,setAccTitle:xe,getAccTitle:ye,getAccDescription:ue,setAccDescription:ge,setDiagramTitle:fe,getDiagramTitle:$e},Ne=h((e,r)=>{le(e,r),e.dir&&r.setDirection(e.dir);for(const t of e.statements)Fe(t,r)},"populate"),Fe=h((e,r)=>{const s={Commit:h(o=>r.commit(ze(o)),"Commit"),Branch:h(o=>r.branch(Ye(o)),"Branch"),Merge:h(o=>r.merge(je(o)),"Merge"),Checkout:h(o=>r.checkout(Ue(o)),"Checkout"),CherryPicking:h(o=>r.cherryPick(Ke(o)),"CherryPicking")}[e.$type];s?s(e):w.error(`Unknown statement type: ${e.$type}`)},"parseStatement"),ze=h(e=>({id:e.id,msg:e.message??"",type:e.type!==void 0?m[e.type]:m.NORMAL,tags:e.tags??void 0}),"parseCommit"),Ye=h(e=>({name:e.name,order:e.order??0}),"parseBranch"),je=h(e=>({branch:e.branch,id:e.id??"",type:e.type!==void 0?m[e.type]:void 0,tags:e.tags??void 0}),"parseMerge"),Ue=h(e=>e.branch,"parseCheckout"),Ke=h(e=>({id:e.id,targetId:"",tags:e.tags?.length===0?void 0:e.tags,parent:e.parent}),"parseCherryPicking"),Ve={parse:h(async e=>{const r=await Ee("gitGraph",e);w.debug(r),Ne(r,se)},"parse")},O=10,_=40,L=4,R=2,G=8,j=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),X=12,Z=new Set(["redux-color","redux-dark-color"]),Xe=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),H=h((e,r,t=!1)=>t&&e>0?(e-1)%(r-1)+1:e%r,"calcColorIndex"),C=new Map,E=new Map,F=30,q=new Map,z=[],I=0,y="LR",Je=h(()=>{C.clear(),E.clear(),q.clear(),I=0,z=[],y="LR"},"clear"),oe=h(e=>{const r=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof e=="string"?e.split(/\\n|\n|<br\s*\/?>/gi):e).forEach(s=>{const o=document.createElementNS("http://www.w3.org/2000/svg","tspan");o.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),o.setAttribute("dy","1em"),o.setAttribute("x","0"),o.setAttribute("class","row"),o.textContent=s.trim(),r.appendChild(o)}),r},"drawText"),ce=h(e=>{let r,t,s;return y==="BT"?(t=h((o,i)=>o<=i,"comparisonFunc"),s=1/0):(t=h((o,i)=>o>=i,"comparisonFunc"),s=0),e.forEach(o=>{const i=y==="TB"||y=="BT"?E.get(o)?.y:E.get(o)?.x;i!==void 0&&t(i,s)&&(r=o,s=i)}),r},"findClosestParent"),Qe=h(e=>{let r="",t=1/0;return e.forEach(s=>{const o=E.get(s).y;o<=t&&(r=s,t=o)}),r||void 0},"findClosestParentBT"),Ze=h((e,r,t)=>{let s=t,o=t;const i=[];e.forEach(n=>{const a=r.get(n);if(!a)throw new Error(`Commit not found for key ${n}`);a.parents.length?(s=rr(a),o=Math.max(s,o)):i.push(a),tr(a,s)}),s=o,i.forEach(n=>{ar(n,s,t)}),e.forEach(n=>{const a=r.get(n);if(a?.parents.length){const l=Qe(a.parents);s=E.get(l).y-_,s<=o&&(o=s);const f=C.get(a.branch).pos,g=s-O;E.set(a.id,{x:f,y:g})}})},"setParallelBTPos"),er=h(e=>{const r=ce(e.parents.filter(s=>s!==null));if(!r)throw new Error(`Closest parent not found for commit ${e.id}`);const t=E.get(r)?.y;if(t===void 0)throw new Error(`Closest parent position not found for commit ${e.id}`);return t},"findClosestParentPos"),rr=h(e=>er(e)+_,"calculateCommitPosition"),tr=h((e,r)=>{const t=C.get(e.branch);if(!t)throw new Error(`Branch not found for commit ${e.id}`);const s=t.pos,o=r+O;return E.set(e.id,{x:s,y:o}),{x:s,y:o}},"setCommitPosition"),ar=h((e,r,t)=>{const s=C.get(e.branch);if(!s)throw new Error(`Branch not found for commit ${e.id}`);const o=r+t,i=s.pos;E.set(e.id,{x:i,y:o})},"setRootPosition"),nr=h((e,r,t,s,o,i)=>{const{theme:n}=W(),a=j.has(n??""),l=Z.has(n??""),f=Xe.has(n??"");if(i===m.HIGHLIGHT)e.append("rect").attr("x",t.x-10+(a?3:0)).attr("y",t.y-10+(a?3:0)).attr("width",a?14:20).attr("height",a?14:20).attr("class",`commit ${r.id} commit-highlight${H(o,G,l)} ${s}-outer`),e.append("rect").attr("x",t.x-6+(a?2:0)).attr("y",t.y-6+(a?2:0)).attr("width",a?8:12).attr("height",a?8:12).attr("class",`commit ${r.id} commit${H(o,G,l)} ${s}-inner`);else if(i===m.CHERRY_PICK)e.append("circle").attr("cx",t.x).attr("cy",t.y).attr("r",a?7:10).attr("class",`commit ${r.id} ${s}`),e.append("circle").attr("cx",t.x-3).attr("cy",t.y+2).attr("r",a?2.5:2.75).attr("fill",f?"#000000":"#fff").attr("class",`commit ${r.id} ${s}`),e.append("circle").attr("cx",t.x+3).attr("cy",t.y+2).attr("r",a?2.5:2.75).attr("fill",f?"#000000":"#fff").attr("class",`commit ${r.id} ${s}`),e.append("line").attr("x1",t.x+3).attr("y1",t.y+1).attr("x2",t.x).attr("y2",t.y-5).attr("stroke",f?"#000000":"#fff").attr("class",`commit ${r.id} ${s}`),e.append("line").attr("x1",t.x-3).attr("y1",t.y+1).attr("x2",t.x).attr("y2",t.y-5).attr("stroke",f?"#000000":"#fff").attr("class",`commit ${r.id} ${s}`);else{const g=e.append("circle");if(g.attr("cx",t.x),g.attr("cy",t.y),g.attr("r",a?7:10),g.attr("class",`commit ${r.id} commit${H(o,G,l)}`),i===m.MERGE){const $=e.append("circle");$.attr("cx",t.x),$.attr("cy",t.y),$.attr("r",a?5:6),$.attr("class",`commit ${s} ${r.id} commit${H(o,G,l)}`)}if(i===m.REVERSE){const $=e.append("path"),c=a?4:5;$.attr("d",`M ${t.x-c},${t.y-c}L${t.x+c},${t.y+c}M${t.x-c},${t.y+c}L${t.x+c},${t.y-c}`).attr("class",`commit ${s} ${r.id} commit${H(o,G,l)}`)}}},"drawCommitBullet"),sr=h((e,r,t,s,o)=>{if(r.type!==m.CHERRY_PICK&&(r.customId&&r.type===m.MERGE||r.type!==m.MERGE)&&o.showCommitLabel){const i=e.append("g"),n=i.insert("rect").attr("class","commit-label-bkg"),a=i.append("text").attr("x",s).attr("y",t.y+25).attr("class","commit-label").text(r.id),l=a.node()?.getBBox();if(l&&(n.attr("x",t.posWithOffset-l.width/2-R).attr("y",t.y+13.5).attr("width",l.width+2*R).attr("height",l.height+2*R),y==="TB"||y==="BT"?(n.attr("x",t.x-(l.width+4*L+5)).attr("y",t.y-12),a.attr("x",t.x-(l.width+4*L)).attr("y",t.y+l.height-12)):a.attr("x",t.posWithOffset-l.width/2),o.rotateCommitLabel))if(y==="TB"||y==="BT")a.attr("transform","rotate(-45, "+t.x+", "+t.y+")"),n.attr("transform","rotate(-45, "+t.x+", "+t.y+")");else{const f=-7.5-(l.width+10)/25*9.5,g=10+l.width/25*8.5;i.attr("transform","translate("+f+", "+g+") rotate(-45, "+s+", "+t.y+")")}}},"drawCommitLabel"),or=h((e,r,t,s)=>{if(r.tags.length>0){let o=0,i=0,n=0;const a=[];for(const l of r.tags.reverse()){const f=e.insert("polygon"),g=e.append("circle"),$=e.append("text").attr("y",t.y-16-o).attr("class","tag-label").text(l),c=$.node()?.getBBox();if(!c)throw new Error("Tag bbox not found");i=Math.max(i,c.width),n=Math.max(n,c.height),$.attr("x",t.posWithOffset-c.width/2),a.push({tag:$,hole:g,rect:f,yOffset:o}),o+=20}for(const{tag:l,hole:f,rect:g,yOffset:$}of a){const c=n/2,x=t.y-19.2-$;if(g.attr("class","tag-label-bkg").attr("points",`
2
+ ${s-i/2-L/2},${x+R}
3
+ ${s-i/2-L/2},${x-R}
4
+ ${t.posWithOffset-i/2-L},${x-c-R}
5
+ ${t.posWithOffset+i/2+L},${x-c-R}
6
+ ${t.posWithOffset+i/2+L},${x+c+R}
7
+ ${t.posWithOffset-i/2-L},${x+c+R}`),f.attr("cy",x).attr("cx",s-i/2+L/2).attr("r",1.5).attr("class","tag-hole"),y==="TB"||y==="BT"){const u=s+$;g.attr("class","tag-label-bkg").attr("points",`
8
+ ${t.x},${u+2}
9
+ ${t.x},${u-2}
10
+ ${t.x+O},${u-c-2}
11
+ ${t.x+O+i+4},${u-c-2}
12
+ ${t.x+O+i+4},${u+c+2}
13
+ ${t.x+O},${u+c+2}`).attr("transform","translate(12,12) rotate(45, "+t.x+","+s+")"),f.attr("cx",t.x+L/2).attr("cy",u).attr("transform","translate(12,12) rotate(45, "+t.x+","+s+")"),l.attr("x",t.x+5).attr("y",u+3).attr("transform","translate(14,14) rotate(45, "+t.x+","+s+")")}}}},"drawCommitTags"),cr=h(e=>{switch(e.customType??e.type){case m.NORMAL:return"commit-normal";case m.REVERSE:return"commit-reverse";case m.HIGHLIGHT:return"commit-highlight";case m.MERGE:return"commit-merge";case m.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),ir=h((e,r,t,s)=>{const o={x:0,y:0};if(e.parents.length>0){const i=ce(e.parents);if(i){const n=s.get(i)??o;return r==="TB"?n.y+_:r==="BT"?(s.get(e.id)??o).y-_:n.x+_}}else return r==="TB"?F:r==="BT"?(s.get(e.id)??o).y-_:0;return 0},"calculatePosition"),dr=h((e,r,t)=>{const s=y==="BT"&&t?r:r+O,o=C.get(e.branch)?.pos,i=y==="TB"||y==="BT"?C.get(e.branch)?.pos:s;if(i===void 0||o===void 0)throw new Error(`Position were undefined for commit ${e.id}`);const n=j.has(W().theme??""),a=y==="TB"||y==="BT"?s:o+(n?X/2+1:-2);return{x:i,y:a,posWithOffset:s}},"getCommitPosition"),re=h((e,r,t,s)=>{const o=e.append("g").attr("class","commit-bullets"),i=e.append("g").attr("class","commit-labels");let n=y==="TB"||y==="BT"?F:0;const a=[...r.keys()],l=s.parallelCommits??!1,f=h(($,c)=>{const x=r.get($)?.seq,u=r.get(c)?.seq;return x!==void 0&&u!==void 0?x-u:0},"sortKeys");let g=a.sort(f);y==="BT"&&(l&&Ze(g,r,n),g=g.reverse()),g.forEach($=>{const c=r.get($);if(!c)throw new Error(`Commit not found for key ${$}`);l&&(n=ir(c,y,n,E));const x=dr(c,n,l);if(t){const u=cr(c),p=c.customType??c.type,b=C.get(c.branch)?.index??0;nr(o,c,x,u,b,p),sr(i,c,x,n,s),or(i,c,x,n)}y==="TB"||y==="BT"?E.set(c.id,{x:x.x,y:x.posWithOffset}):E.set(c.id,{x:x.posWithOffset,y:x.y}),n=y==="BT"&&l?n+_:n+_+O,n>I&&(I=n)})},"drawCommits"),lr=h((e,r,t,s,o)=>{const n=(y==="TB"||y==="BT"?t.x<s.x:t.y<s.y)?r.branch:e.branch,a=h(f=>f.branch===n,"isOnBranchToGetCurve"),l=h(f=>f.seq>e.seq&&f.seq<r.seq,"isBetweenCommits");return[...o.values()].some(f=>l(f)&&a(f))},"shouldRerouteArrow"),P=h((e,r,t=0)=>{const s=e+Math.abs(e-r)/2;if(t>5)return s;if(z.every(n=>Math.abs(n-s)>=10))return z.push(s),s;const i=Math.abs(e-r);return P(e,r-i/5,t+1)},"findLane"),hr=h((e,r,t,s)=>{const{theme:o}=W(),i=Z.has(o??""),n=E.get(r.id),a=E.get(t.id);if(n===void 0||a===void 0)throw new Error(`Commit positions not found for commits ${r.id} and ${t.id}`);const l=lr(r,t,n,a,s);let f="",g="",$=0,c=0,x=C.get(t.branch)?.index;t.type===m.MERGE&&r.id!==t.parents[0]&&(x=C.get(r.branch)?.index);let u;if(l){f="A 10 10, 0, 0, 0,",g="A 10 10, 0, 0, 1,",$=10,c=10;const p=n.y<a.y?P(n.y,a.y):P(a.y,n.y),b=n.x<a.x?P(n.x,a.x):P(a.x,n.x);y==="TB"?n.x<a.x?u=`M ${n.x} ${n.y} L ${b-$} ${n.y} ${g} ${b} ${n.y+c} L ${b} ${a.y-$} ${f} ${b+c} ${a.y} L ${a.x} ${a.y}`:(x=C.get(r.branch)?.index,u=`M ${n.x} ${n.y} L ${b+$} ${n.y} ${f} ${b} ${n.y+c} L ${b} ${a.y-$} ${g} ${b-c} ${a.y} L ${a.x} ${a.y}`):y==="BT"?n.x<a.x?u=`M ${n.x} ${n.y} L ${b-$} ${n.y} ${f} ${b} ${n.y-c} L ${b} ${a.y+$} ${g} ${b+c} ${a.y} L ${a.x} ${a.y}`:(x=C.get(r.branch)?.index,u=`M ${n.x} ${n.y} L ${b+$} ${n.y} ${g} ${b} ${n.y-c} L ${b} ${a.y+$} ${f} ${b-c} ${a.y} L ${a.x} ${a.y}`):n.y<a.y?u=`M ${n.x} ${n.y} L ${n.x} ${p-$} ${f} ${n.x+c} ${p} L ${a.x-$} ${p} ${g} ${a.x} ${p+c} L ${a.x} ${a.y}`:(x=C.get(r.branch)?.index,u=`M ${n.x} ${n.y} L ${n.x} ${p+$} ${g} ${n.x+c} ${p} L ${a.x-$} ${p} ${f} ${a.x} ${p-c} L ${a.x} ${a.y}`)}else f="A 20 20, 0, 0, 0,",g="A 20 20, 0, 0, 1,",$=20,c=20,y==="TB"?(n.x<a.x&&(t.type===m.MERGE&&r.id!==t.parents[0]?u=`M ${n.x} ${n.y} L ${n.x} ${a.y-$} ${f} ${n.x+c} ${a.y} L ${a.x} ${a.y}`:u=`M ${n.x} ${n.y} L ${a.x-$} ${n.y} ${g} ${a.x} ${n.y+c} L ${a.x} ${a.y}`),n.x>a.x&&(f="A 20 20, 0, 0, 0,",g="A 20 20, 0, 0, 1,",$=20,c=20,t.type===m.MERGE&&r.id!==t.parents[0]?u=`M ${n.x} ${n.y} L ${n.x} ${a.y-$} ${g} ${n.x-c} ${a.y} L ${a.x} ${a.y}`:u=`M ${n.x} ${n.y} L ${a.x+$} ${n.y} ${f} ${a.x} ${n.y+c} L ${a.x} ${a.y}`),n.x===a.x&&(u=`M ${n.x} ${n.y} L ${a.x} ${a.y}`)):y==="BT"?(n.x<a.x&&(t.type===m.MERGE&&r.id!==t.parents[0]?u=`M ${n.x} ${n.y} L ${n.x} ${a.y+$} ${g} ${n.x+c} ${a.y} L ${a.x} ${a.y}`:u=`M ${n.x} ${n.y} L ${a.x-$} ${n.y} ${f} ${a.x} ${n.y-c} L ${a.x} ${a.y}`),n.x>a.x&&(f="A 20 20, 0, 0, 0,",g="A 20 20, 0, 0, 1,",$=20,c=20,t.type===m.MERGE&&r.id!==t.parents[0]?u=`M ${n.x} ${n.y} L ${n.x} ${a.y+$} ${f} ${n.x-c} ${a.y} L ${a.x} ${a.y}`:u=`M ${n.x} ${n.y} L ${a.x+$} ${n.y} ${g} ${a.x} ${n.y-c} L ${a.x} ${a.y}`),n.x===a.x&&(u=`M ${n.x} ${n.y} L ${a.x} ${a.y}`)):(n.y<a.y&&(t.type===m.MERGE&&r.id!==t.parents[0]?u=`M ${n.x} ${n.y} L ${a.x-$} ${n.y} ${g} ${a.x} ${n.y+c} L ${a.x} ${a.y}`:u=`M ${n.x} ${n.y} L ${n.x} ${a.y-$} ${f} ${n.x+c} ${a.y} L ${a.x} ${a.y}`),n.y>a.y&&(t.type===m.MERGE&&r.id!==t.parents[0]?u=`M ${n.x} ${n.y} L ${a.x-$} ${n.y} ${f} ${a.x} ${n.y-c} L ${a.x} ${a.y}`:u=`M ${n.x} ${n.y} L ${n.x} ${a.y+$} ${g} ${n.x+c} ${a.y} L ${a.x} ${a.y}`),n.y===a.y&&(u=`M ${n.x} ${n.y} L ${a.x} ${a.y}`));if(u===void 0)throw new Error("Line definition not found");e.append("path").attr("d",u).attr("class","arrow arrow"+H(x,G,i))},"drawArrow"),$r=h((e,r)=>{const t=e.append("g").attr("class","commit-arrows");[...r.keys()].forEach(s=>{const o=r.get(s);o.parents&&o.parents.length>0&&o.parents.forEach(i=>{hr(t,r.get(i),o,r)})})},"drawArrows"),fr=h((e,r,t,s)=>{const{look:o,theme:i,themeVariables:n}=W(),{dropShadow:a,THEME_COLOR_LIMIT:l}=n,f=j.has(i??""),g=Z.has(i??""),$=e.append("g");r.forEach((c,x)=>{const u=H(x,f?l:G,g),p=C.get(c.name)?.pos;if(p===void 0)throw new Error(`Position not found for branch ${c.name}`);const b=y==="TB"||y==="BT"?p:f?p+X/2+1:p-2,k=$.append("line");k.attr("x1",0),k.attr("y1",b),k.attr("x2",I),k.attr("y2",b),k.attr("class","branch branch"+u),y==="TB"?(k.attr("y1",F),k.attr("x1",p),k.attr("y2",I),k.attr("x2",p)):y==="BT"&&(k.attr("y1",I),k.attr("x1",p),k.attr("y2",F),k.attr("x2",p)),z.push(b);const U=c.name,D=oe(U),T=$.insert("rect"),M=$.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+u);M.node().appendChild(D);const v=D.getBBox(),ee=f?0:4,N=f?16:0,A=f?X:0;o==="neo"&&T.attr("data-look","neo"),T.attr("class","branchLabelBkg label"+u).attr("style",o==="neo"?`filter:${f?`url(#${s}-drop-shadow)`:a}`:"").attr("rx",ee).attr("ry",ee).attr("x",-v.width-4-(t.rotateCommitLabel===!0?30:0)).attr("y",-v.height/2+10).attr("width",v.width+18+N).attr("height",v.height+4+A),M.attr("transform","translate("+(-v.width-14-(t.rotateCommitLabel===!0?30:0)+N/2)+", "+(b-v.height/2-2)+")"),y==="TB"?(T.attr("x",p-v.width/2-10).attr("y",0),M.attr("transform","translate("+(p-v.width/2-5)+", 0)"),f&&(T.attr("transform",`translate(${-N/2-3}, ${-A-10})`),M.attr("transform","translate("+(p-v.width/2-5)+", "+(-A*2+7)+")"))):y==="BT"?(T.attr("x",p-v.width/2-10).attr("y",I),M.attr("transform","translate("+(p-v.width/2-5)+", "+I+")"),f&&(T.attr("transform",`translate(${-N/2-3}, ${A+10})`),M.attr("transform","translate("+(p-v.width/2-5)+", "+(I+A*2+4)+")"))):T.attr("transform","translate(-19, "+(b-12-A/2)+")")})},"drawBranches"),gr=h(function(e,r,t,s,o){return C.set(e,{pos:r,index:t}),r+=50+(o?40:0)+(y==="TB"||y==="BT"?s.width/2:0),r},"setBranchPosition"),ur=h(function(e,r,t,s){Je(),w.debug("in gitgraph renderer",e+`
14
+ `,"id:",r,t);const o=s.db;if(!o.getConfig){w.error("getConfig method is not available on db");return}const i=o.getConfig(),n=i.rotateCommitLabel??!1;q=o.getCommits();const a=o.getBranchesAsObjArray();y=o.getDirection();const l=me(`[id="${r}"]`),{look:f,theme:g,themeVariables:$}=W(),{useGradient:c,gradientStart:x,gradientStop:u,filterColor:p}=$;if(c){const k=l.append("defs").append("linearGradient").attr("id",r+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");k.append("stop").attr("offset","0%").attr("stop-color",x).attr("stop-opacity",1),k.append("stop").attr("offset","100%").attr("stop-color",u).attr("stop-opacity",1)}f==="neo"&&j.has(g??"")&&l.append("defs").append("filter").attr("id",r+"-drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",p);let b=0;a.forEach((k,U)=>{const D=oe(k.name),T=l.append("g"),K=T.insert("g").attr("class","branchLabel"),M=K.insert("g").attr("class","label branch-label");M.node()?.appendChild(D);const v=D.getBBox();b=gr(k.name,b,U,v,n),M.remove(),K.remove(),T.remove()}),re(l,q,!1,i),i.showBranches&&fr(l,a,i,r),$r(l,q),re(l,q,!0,i),pe.insertTitle(l,"gitTitleText",i.titleTopMargin??0,o.getDiagramTitle()),be(void 0,l,i.diagramPadding,i.useMaxWidth)},"draw"),yr={draw:ur},ie=8,de=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),xr=new Set(["redux-color","redux-dark-color"]),mr=new Set(["neo","neo-dark"]),pr=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),br=new Set(["redux","redux-dark","redux-color","redux-dark-color","neo","neo-dark"]),wr=h(e=>{const{svgId:r}=e;let t="";if(e.useGradient&&r)for(let s=0;s<e.THEME_COLOR_LIMIT;s++)t+=`
15
+ .label${s} { fill: ${e.mainBkg}; stroke: url(${r}-gradient); stroke-width: ${e.strokeWidth};}
16
+ `;return t},"genGitGraphGradient"),kr=h(e=>{const r=J(),{theme:t,themeVariables:s}=r,{borderColorArray:o}=s,i=de.has(t);if(mr.has(t)){let n="";for(let a=0;a<e.THEME_COLOR_LIMIT;a++)if(a===0)n+=`
17
+ .branch-label${a} { fill: ${e.nodeBorder};}
18
+ .commit${a} { stroke: ${e.nodeBorder}; }
19
+ .commit-highlight${a} { stroke: ${e.nodeBorder}; fill: ${e.nodeBorder}; }
20
+ .arrow${a} { stroke: ${e.nodeBorder}; }
21
+ .commit-bullets { fill: ${e.nodeBorder}; }
22
+ .commit-cherry-pick${a} { stroke: ${e.nodeBorder}; }
23
+ ${wr(e)}`;else{const l=a%ie;n+=`
24
+ .branch-label${a} { fill: ${e["gitBranchLabel"+l]}; }
25
+ .commit${a} { stroke: ${e["git"+l]}; fill: ${e["git"+l]}; }
26
+ .commit-highlight${a} { stroke: ${e["gitInv"+l]}; fill: ${e["gitInv"+l]}; }
27
+ .arrow${a} { stroke: ${e["git"+l]}; }
28
+ `}return n}else if(xr.has(t)){let n="";for(let a=0;a<e.THEME_COLOR_LIMIT;a++)if(a===0)n+=`
29
+ .branch-label${a} { fill: ${e.nodeBorder}; ${i?`font-weight:${e.noteFontWeight}`:""} }
30
+ .commit${a} { stroke: ${e.nodeBorder}; }
31
+ .commit-highlight${a} { stroke: ${e.nodeBorder}; fill: ${e.mainBkg}; }
32
+ .label${a} { fill: ${e.mainBkg}; stroke: ${e.nodeBorder}; stroke-width: ${e.strokeWidth}; ${i?`font-weight:${e.noteFontWeight}`:""} }
33
+ .arrow${a} { stroke: ${e.nodeBorder}; }
34
+ .commit-bullets { fill: ${e.nodeBorder}; }
35
+ `;else{const l=a%o.length;n+=`
36
+ .branch-label${a} { fill: ${e.nodeBorder}; ${i?`font-weight:${e.noteFontWeight}`:""} }
37
+ .commit${a} { stroke: ${o[l]}; fill: ${o[l]}; }
38
+ .commit-highlight${a} { stroke: ${o[l]}; fill: ${o[l]}; }
39
+ .label${a} { fill: ${pr.has(t)?e.mainBkg:o[l]}; stroke: ${o[l]}; stroke-width: ${e.strokeWidth}; }
40
+ .arrow${a} { stroke: ${o[l]}; }
41
+ `}return n}else{let n="";for(let a=0;a<e.THEME_COLOR_LIMIT;a++)n+=`
42
+ .branch-label${a} { fill: ${e.nodeBorder}; ${i?`font-weight:${e.noteFontWeight}`:""} }
43
+ .commit${a} { stroke: ${e.nodeBorder}; }
44
+ .commit-highlight${a} { stroke: ${e.nodeBorder}; fill: ${e.nodeBorder}; }
45
+ .label${a} { fill: ${e.mainBkg}; stroke: ${e.nodeBorder}; stroke-width: ${e.strokeWidth}; ${i?`font-weight:${e.noteFontWeight}`:""}}
46
+ .arrow${a} { stroke: ${e.nodeBorder}; }
47
+ .commit-bullets { fill: ${e.nodeBorder}; }
48
+ .commit-cherry-pick${a} { stroke: ${e.nodeBorder}; }
49
+ `;return n}},"genColor"),vr=h(e=>`${Array.from({length:e.THEME_COLOR_LIMIT},(r,t)=>t).map(r=>{const t=r%ie;return`
50
+ .branch-label${r} { fill: ${e["gitBranchLabel"+t]}; }
51
+ .commit${r} { stroke: ${e["git"+t]}; fill: ${e["git"+t]}; }
52
+ .commit-highlight${r} { stroke: ${e["gitInv"+t]}; fill: ${e["gitInv"+t]}; }
53
+ .label${r} { fill: ${e["git"+t]}; }
54
+ .arrow${r} { stroke: ${e["git"+t]}; }
55
+ `}).join(`
56
+ `)}`,"normalTheme"),Cr=h(e=>{const r=J(),{theme:t}=r,s=br.has(t);return`
57
+ .commit-id,
58
+ .commit-msg,
59
+ .branch-label {
60
+ fill: lightgrey;
61
+ color: lightgrey;
62
+ font-family: 'trebuchet ms', verdana, arial, sans-serif;
63
+ font-family: var(--mermaid-font-family);
64
+ }
65
+
66
+ ${s?kr(e):vr(e)}
67
+
68
+ .branch {
69
+ stroke-width: ${e.strokeWidth};
70
+ stroke: ${e.commitLineColor??e.lineColor};
71
+ stroke-dasharray: ${s?"4 2":"2"};
72
+ }
73
+ .commit-label { font-size: ${e.commitLabelFontSize}; fill: ${s?e.nodeBorder:e.commitLabelColor}; ${s?`font-weight:${e.noteFontWeight};`:""}}
74
+ .commit-label-bkg { font-size: ${e.commitLabelFontSize}; fill: ${s?"transparent":e.commitLabelBackground}; opacity: ${s?"":.5}; }
75
+ .tag-label { font-size: ${e.tagLabelFontSize}; fill: ${e.tagLabelColor};}
76
+ .tag-label-bkg { fill: ${s?e.mainBkg:e.tagLabelBackground}; stroke: ${s?e.nodeBorder:e.tagLabelBorder}; ${s?`filter:${e.dropShadow}`:""} }
77
+ .tag-hole { fill: ${e.textColor}; }
78
+
79
+ .commit-merge {
80
+ stroke: ${s?e.mainBkg:e.primaryColor};
81
+ fill: ${s?e.mainBkg:e.primaryColor};
82
+ }
83
+ .commit-reverse {
84
+ stroke: ${s?e.mainBkg:e.primaryColor};
85
+ fill: ${s?e.mainBkg:e.primaryColor};
86
+ stroke-width: ${s?e.strokeWidth:3};
87
+ }
88
+ .commit-highlight-outer {
89
+ }
90
+ .commit-highlight-inner {
91
+ stroke: ${s?e.mainBkg:e.primaryColor};
92
+ fill: ${s?e.mainBkg:e.primaryColor};
93
+ }
94
+
95
+ .arrow {
96
+ /* Intentional: neo themes keep the bold 8px arrow (like classic themes); only redux-geometry themes use the thinner options.strokeWidth. */
97
+ stroke-width: ${de.has(t)?e.strokeWidth:8};
98
+ stroke-linecap: round;
99
+ fill: none
100
+ }
101
+ .gitTitleText {
102
+ text-anchor: middle;
103
+ font-size: 18px;
104
+ fill: ${e.textColor};
105
+ }
106
+ `},"getStyles"),Er=Cr,Rr={parser:Ve,db:se,renderer:yr,styles:Er};export{Rr as diagram};
@@ -0,0 +1 @@
1
+ var Ze=typeof global=="object"&&global&&global.Object===Object&&global,pt=typeof self=="object"&&self&&self.Object===Object&&self,w=Ze||pt||Function("return this")(),y=w.Symbol,We=Object.prototype,_t=We.hasOwnProperty,bt=We.toString,D=y?y.toStringTag:void 0;function yt(e){var t=_t.call(e,D),r=e[D];try{e[D]=void 0;var n=!0}catch{}var i=bt.call(e);return n&&(t?e[D]=r:delete e[D]),i}var vt=Object.prototype,Ot=vt.toString;function mt(e){return Ot.call(e)}var wt="[object Null]",Tt="[object Undefined]",Oe=y?y.toStringTag:void 0;function M(e){return e==null?e===void 0?Tt:wt:Oe&&Oe in Object(e)?yt(e):mt(e)}function j(e){return e!=null&&typeof e=="object"}var At="[object Symbol]";function he(e){return typeof e=="symbol"||j(e)&&M(e)==At}function Je(e,t){for(var r=-1,n=e==null?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}var g=Array.isArray,me=y?y.prototype:void 0,we=me?me.toString:void 0;function Qe(e){if(typeof e=="string")return e;if(g(e))return Je(e,Qe)+"";if(he(e))return we?we.call(e):"";var t=e+"";return t=="0"&&1/e==-1/0?"-0":t}function ce(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}function J(e){return e}var Pt="[object AsyncFunction]",Et="[object Function]",$t="[object GeneratorFunction]",St="[object Proxy]";function Z(e){if(!ce(e))return!1;var t=M(e);return t==Et||t==$t||t==Pt||t==St}var re=w["__core-js_shared__"],Te=(function(){var e=/[^.]+$/.exec(re&&re.keys&&re.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})();function Ct(e){return!!Te&&Te in e}var jt=Function.prototype,xt=jt.toString;function I(e){if(e!=null){try{return xt.call(e)}catch{}try{return e+""}catch{}}return""}var It=/[\\^$.*+?()[\]{}|]/g,Lt=/^\[object .+?Constructor\]$/,Rt=Function.prototype,Nt=Object.prototype,Mt=Rt.toString,Dt=Nt.hasOwnProperty,Ft=RegExp("^"+Mt.call(Dt).replace(It,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Gt(e){if(!ce(e)||Ct(e))return!1;var t=Z(e)?Ft:Lt;return t.test(I(e))}function Ut(e,t){return e?.[t]}function L(e,t){var r=Ut(e,t);return Gt(r)?r:void 0}var oe=L(w,"WeakMap");function zt(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}function Ht(){}var Bt=800,Kt=16,qt=Date.now;function Xt(e){var t=0,r=0;return function(){var n=qt(),i=Kt-(n-r);if(r=n,i>0){if(++t>=Bt)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function F(e){return function(){return e}}var Ae=(function(){try{var e=L(Object,"defineProperty");return e({},"",{}),e}catch{}})(),Yt=Ae?function(e,t){return Ae(e,"toString",{configurable:!0,enumerable:!1,value:F(t),writable:!0})}:J,Zt=Xt(Yt);function Wt(e,t){for(var r=-1,n=e==null?0:e.length;++r<n&&t(e[r],r,e)!==!1;);return e}function Jt(e,t,r,n){for(var i=e.length,s=r+-1;++s<i;)if(t(e[s],s,e))return s;return-1}function Qt(e){return e!==e}function Vt(e,t,r){for(var n=r-1,i=e.length;++n<i;)if(e[n]===t)return n;return-1}function kt(e,t,r){return t===t?Vt(e,t,r):Jt(e,Qt,r)}function er(e,t){var r=e==null?0:e.length;return!!r&&kt(e,t,0)>-1}var tr=9007199254740991,rr=/^(?:0|[1-9]\d*)$/;function Ve(e,t){var r=typeof e;return t=t??tr,!!t&&(r=="number"||r!="symbol"&&rr.test(e))&&e>-1&&e%1==0&&e<t}function ke(e,t){return e===t||e!==e&&t!==t}var Pe=Math.max;function nr(e,t,r){return t=Pe(t===void 0?e.length-1:t,0),function(){for(var n=arguments,i=-1,s=Pe(n.length-t,0),a=Array(s);++i<s;)a[i]=n[t+i];i=-1;for(var o=Array(t+1);++i<t;)o[i]=n[i];return o[t]=r(a),zt(e,this,o)}}function ir(e,t){return Zt(nr(e,t,J),e+"")}var sr=9007199254740991;function le(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=sr}function Q(e){return e!=null&&le(e.length)&&!Z(e)}var ar=Object.prototype;function et(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||ar;return e===r}function or(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}var ur="[object Arguments]";function Ee(e){return j(e)&&M(e)==ur}var tt=Object.prototype,fr=tt.hasOwnProperty,hr=tt.propertyIsEnumerable,V=Ee((function(){return arguments})())?Ee:function(e){return j(e)&&fr.call(e,"callee")&&!hr.call(e,"callee")};function cr(){return!1}var rt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,$e=rt&&typeof module=="object"&&module&&!module.nodeType&&module,lr=$e&&$e.exports===rt,Se=lr?w.Buffer:void 0,dr=Se?Se.isBuffer:void 0,W=dr||cr,gr="[object Arguments]",pr="[object Array]",_r="[object Boolean]",br="[object Date]",yr="[object Error]",vr="[object Function]",Or="[object Map]",mr="[object Number]",wr="[object Object]",Tr="[object RegExp]",Ar="[object Set]",Pr="[object String]",Er="[object WeakMap]",$r="[object ArrayBuffer]",Sr="[object DataView]",Cr="[object Float32Array]",jr="[object Float64Array]",xr="[object Int8Array]",Ir="[object Int16Array]",Lr="[object Int32Array]",Rr="[object Uint8Array]",Nr="[object Uint8ClampedArray]",Mr="[object Uint16Array]",Dr="[object Uint32Array]",h={};h[Cr]=h[jr]=h[xr]=h[Ir]=h[Lr]=h[Rr]=h[Nr]=h[Mr]=h[Dr]=!0;h[gr]=h[pr]=h[$r]=h[_r]=h[Sr]=h[br]=h[yr]=h[vr]=h[Or]=h[mr]=h[wr]=h[Tr]=h[Ar]=h[Pr]=h[Er]=!1;function Fr(e){return j(e)&&le(e.length)&&!!h[M(e)]}function Gr(e){return function(t){return e(t)}}var nt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,U=nt&&typeof module=="object"&&module&&!module.nodeType&&module,Ur=U&&U.exports===nt,ne=Ur&&Ze.process,Ce=(function(){try{var e=U&&U.require&&U.require("util").types;return e||ne&&ne.binding&&ne.binding("util")}catch{}})(),je=Ce&&Ce.isTypedArray,de=je?Gr(je):Fr,zr=Object.prototype,Hr=zr.hasOwnProperty;function Br(e,t){var r=g(e),n=!r&&V(e),i=!r&&!n&&W(e),s=!r&&!n&&!i&&de(e),a=r||n||i||s,o=a?or(e.length,String):[],u=o.length;for(var f in e)(t||Hr.call(e,f))&&!(a&&(f=="length"||i&&(f=="offset"||f=="parent")||s&&(f=="buffer"||f=="byteLength"||f=="byteOffset")||Ve(f,u)))&&o.push(f);return o}function Kr(e,t){return function(r){return e(t(r))}}var qr=Kr(Object.keys,Object),Xr=Object.prototype,Yr=Xr.hasOwnProperty;function it(e){if(!et(e))return qr(e);var t=[];for(var r in Object(e))Yr.call(e,r)&&r!="constructor"&&t.push(r);return t}function b(e){return Q(e)?Br(e):it(e)}var Zr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Wr=/^\w*$/;function ge(e,t){if(g(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||he(e)?!0:Wr.test(e)||!Zr.test(e)||t!=null&&e in Object(t)}var z=L(Object,"create");function Jr(){this.__data__=z?z(null):{},this.size=0}function Qr(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Vr="__lodash_hash_undefined__",kr=Object.prototype,en=kr.hasOwnProperty;function tn(e){var t=this.__data__;if(z){var r=t[e];return r===Vr?void 0:r}return en.call(t,e)?t[e]:void 0}var rn=Object.prototype,nn=rn.hasOwnProperty;function sn(e){var t=this.__data__;return z?t[e]!==void 0:nn.call(t,e)}var an="__lodash_hash_undefined__";function on(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=z&&t===void 0?an:t,this}function x(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}x.prototype.clear=Jr;x.prototype.delete=Qr;x.prototype.get=tn;x.prototype.has=sn;x.prototype.set=on;function un(){this.__data__=[],this.size=0}function k(e,t){for(var r=e.length;r--;)if(ke(e[r][0],t))return r;return-1}var fn=Array.prototype,hn=fn.splice;function cn(e){var t=this.__data__,r=k(t,e);if(r<0)return!1;var n=t.length-1;return r==n?t.pop():hn.call(t,r,1),--this.size,!0}function ln(e){var t=this.__data__,r=k(t,e);return r<0?void 0:t[r][1]}function dn(e){return k(this.__data__,e)>-1}function gn(e,t){var r=this.__data__,n=k(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}function T(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}T.prototype.clear=un;T.prototype.delete=cn;T.prototype.get=ln;T.prototype.has=dn;T.prototype.set=gn;var H=L(w,"Map");function pn(){this.size=0,this.__data__={hash:new x,map:new(H||T),string:new x}}function _n(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function ee(e,t){var r=e.__data__;return _n(t)?r[typeof t=="string"?"string":"hash"]:r.map}function bn(e){var t=ee(this,e).delete(e);return this.size-=t?1:0,t}function yn(e){return ee(this,e).get(e)}function vn(e){return ee(this,e).has(e)}function On(e,t){var r=ee(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}function A(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}A.prototype.clear=pn;A.prototype.delete=bn;A.prototype.get=yn;A.prototype.has=vn;A.prototype.set=On;var mn="Expected a function";function pe(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(mn);var r=function(){var n=arguments,i=t?t.apply(this,n):n[0],s=r.cache;if(s.has(i))return s.get(i);var a=e.apply(this,n);return r.cache=s.set(i,a)||s,a};return r.cache=new(pe.Cache||A),r}pe.Cache=A;var wn=500;function Tn(e){var t=pe(e,function(n){return r.size===wn&&r.clear(),n}),r=t.cache;return t}var An=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Pn=/\\(\\)?/g,En=Tn(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(An,function(r,n,i,s){t.push(i?s.replace(Pn,"$1"):n||r)}),t});function $n(e){return e==null?"":Qe(e)}function st(e,t){return g(e)?e:ge(e,t)?[e]:En($n(e))}function te(e){if(typeof e=="string"||he(e))return e;var t=e+"";return t=="0"&&1/e==-1/0?"-0":t}function at(e,t){t=st(t,e);for(var r=0,n=t.length;e!=null&&r<n;)e=e[te(t[r++])];return r&&r==n?e:void 0}function Sn(e,t,r){var n=e==null?void 0:at(e,t);return n===void 0?r:n}function ot(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}var xe=y?y.isConcatSpreadable:void 0;function Cn(e){return g(e)||V(e)||!!(xe&&e&&e[xe])}function jn(e,t,r,n,i){var s=-1,a=e.length;for(r||(r=Cn),i||(i=[]);++s<a;){var o=e[s];r(o)?ot(i,o):n||(i[i.length]=o)}return i}function xn(e,t,r,n){var i=-1,s=e==null?0:e.length;for(n&&s&&(r=e[++i]);++i<s;)r=t(r,e[i],i,e);return r}function In(){this.__data__=new T,this.size=0}function Ln(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}function Rn(e){return this.__data__.get(e)}function Nn(e){return this.__data__.has(e)}var Mn=200;function Dn(e,t){var r=this.__data__;if(r instanceof T){var n=r.__data__;if(!H||n.length<Mn-1)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new A(n)}return r.set(e,t),this.size=r.size,this}function m(e){var t=this.__data__=new T(e);this.size=t.size}m.prototype.clear=In;m.prototype.delete=Ln;m.prototype.get=Rn;m.prototype.has=Nn;m.prototype.set=Dn;function ut(e,t){for(var r=-1,n=e==null?0:e.length,i=0,s=[];++r<n;){var a=e[r];t(a,r,e)&&(s[i++]=a)}return s}function Fn(){return[]}var Gn=Object.prototype,Un=Gn.propertyIsEnumerable,Ie=Object.getOwnPropertySymbols,zn=Ie?function(e){return e==null?[]:(e=Object(e),ut(Ie(e),function(t){return Un.call(e,t)}))}:Fn;function Hn(e,t,r){var n=t(e);return g(e)?n:ot(n,r(e))}function Le(e){return Hn(e,b,zn)}var ue=L(w,"DataView"),fe=L(w,"Promise"),N=L(w,"Set"),Re="[object Map]",Bn="[object Object]",Ne="[object Promise]",Me="[object Set]",De="[object WeakMap]",Fe="[object DataView]",Kn=I(ue),qn=I(H),Xn=I(fe),Yn=I(N),Zn=I(oe),O=M;(ue&&O(new ue(new ArrayBuffer(1)))!=Fe||H&&O(new H)!=Re||fe&&O(fe.resolve())!=Ne||N&&O(new N)!=Me||oe&&O(new oe)!=De)&&(O=function(e){var t=M(e),r=t==Bn?e.constructor:void 0,n=r?I(r):"";if(n)switch(n){case Kn:return Fe;case qn:return Re;case Xn:return Ne;case Yn:return Me;case Zn:return De}return t});var Ge=w.Uint8Array,Wn="__lodash_hash_undefined__";function Jn(e){return this.__data__.set(e,Wn),this}function Qn(e){return this.__data__.has(e)}function B(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new A;++t<r;)this.add(e[t])}B.prototype.add=B.prototype.push=Jn;B.prototype.has=Qn;function Vn(e,t){for(var r=-1,n=e==null?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}function ft(e,t){return e.has(t)}var kn=1,ei=2;function ht(e,t,r,n,i,s){var a=r&kn,o=e.length,u=t.length;if(o!=u&&!(a&&u>o))return!1;var f=s.get(e),d=s.get(t);if(f&&d)return f==t&&d==e;var c=-1,l=!0,v=r&ei?new B:void 0;for(s.set(e,t),s.set(t,e);++c<o;){var p=e[c],_=t[c];if(n)var P=a?n(_,p,c,t,e,s):n(p,_,c,e,t,s);if(P!==void 0){if(P)continue;l=!1;break}if(v){if(!Vn(t,function(E,$){if(!ft(v,$)&&(p===E||i(p,E,r,n,s)))return v.push($)})){l=!1;break}}else if(!(p===_||i(p,_,r,n,s))){l=!1;break}}return s.delete(e),s.delete(t),l}function ti(e){var t=-1,r=Array(e.size);return e.forEach(function(n,i){r[++t]=[i,n]}),r}function _e(e){var t=-1,r=Array(e.size);return e.forEach(function(n){r[++t]=n}),r}var ri=1,ni=2,ii="[object Boolean]",si="[object Date]",ai="[object Error]",oi="[object Map]",ui="[object Number]",fi="[object RegExp]",hi="[object Set]",ci="[object String]",li="[object Symbol]",di="[object ArrayBuffer]",gi="[object DataView]",Ue=y?y.prototype:void 0,ie=Ue?Ue.valueOf:void 0;function pi(e,t,r,n,i,s,a){switch(r){case gi:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case di:return!(e.byteLength!=t.byteLength||!s(new Ge(e),new Ge(t)));case ii:case si:case ui:return ke(+e,+t);case ai:return e.name==t.name&&e.message==t.message;case fi:case ci:return e==t+"";case oi:var o=ti;case hi:var u=n&ri;if(o||(o=_e),e.size!=t.size&&!u)return!1;var f=a.get(e);if(f)return f==t;n|=ni,a.set(e,t);var d=ht(o(e),o(t),n,i,s,a);return a.delete(e),d;case li:if(ie)return ie.call(e)==ie.call(t)}return!1}var _i=1,bi=Object.prototype,yi=bi.hasOwnProperty;function vi(e,t,r,n,i,s){var a=r&_i,o=Le(e),u=o.length,f=Le(t),d=f.length;if(u!=d&&!a)return!1;for(var c=u;c--;){var l=o[c];if(!(a?l in t:yi.call(t,l)))return!1}var v=s.get(e),p=s.get(t);if(v&&p)return v==t&&p==e;var _=!0;s.set(e,t),s.set(t,e);for(var P=a;++c<u;){l=o[c];var E=e[l],$=t[l];if(n)var ve=a?n($,E,l,t,e,s):n(E,$,l,e,t,s);if(!(ve===void 0?E===$||i(E,$,r,n,s):ve)){_=!1;break}P||(P=l=="constructor")}if(_&&!P){var K=e.constructor,q=t.constructor;K!=q&&"constructor"in e&&"constructor"in t&&!(typeof K=="function"&&K instanceof K&&typeof q=="function"&&q instanceof q)&&(_=!1)}return s.delete(e),s.delete(t),_}var Oi=1,ze="[object Arguments]",He="[object Array]",X="[object Object]",mi=Object.prototype,Be=mi.hasOwnProperty;function wi(e,t,r,n,i,s){var a=g(e),o=g(t),u=a?He:O(e),f=o?He:O(t);u=u==ze?X:u,f=f==ze?X:f;var d=u==X,c=f==X,l=u==f;if(l&&W(e)){if(!W(t))return!1;a=!0,d=!1}if(l&&!d)return s||(s=new m),a||de(e)?ht(e,t,r,n,i,s):pi(e,t,u,r,n,i,s);if(!(r&Oi)){var v=d&&Be.call(e,"__wrapped__"),p=c&&Be.call(t,"__wrapped__");if(v||p){var _=v?e.value():e,P=p?t.value():t;return s||(s=new m),i(_,P,r,n,s)}}return l?(s||(s=new m),vi(e,t,r,n,i,s)):!1}function be(e,t,r,n,i){return e===t?!0:e==null||t==null||!j(e)&&!j(t)?e!==e&&t!==t:wi(e,t,r,n,be,i)}var Ti=1,Ai=2;function Pi(e,t,r,n){var i=r.length,s=i;if(e==null)return!s;for(e=Object(e);i--;){var a=r[i];if(a[2]?a[1]!==e[a[0]]:!(a[0]in e))return!1}for(;++i<s;){a=r[i];var o=a[0],u=e[o],f=a[1];if(a[2]){if(u===void 0&&!(o in e))return!1}else{var d=new m,c;if(!(c===void 0?be(f,u,Ti|Ai,n,d):c))return!1}}return!0}function ct(e){return e===e&&!ce(e)}function Ei(e){for(var t=b(e),r=t.length;r--;){var n=t[r],i=e[n];t[r]=[n,i,ct(i)]}return t}function lt(e,t){return function(r){return r==null?!1:r[e]===t&&(t!==void 0||e in Object(r))}}function $i(e){var t=Ei(e);return t.length==1&&t[0][2]?lt(t[0][0],t[0][1]):function(r){return r===e||Pi(r,e,t)}}function Si(e,t){return e!=null&&t in Object(e)}function Ci(e,t,r){t=st(t,e);for(var n=-1,i=t.length,s=!1;++n<i;){var a=te(t[n]);if(!(s=e!=null&&r(e,a)))break;e=e[a]}return s||++n!=i?s:(i=e==null?0:e.length,!!i&&le(i)&&Ve(a,i)&&(g(e)||V(e)))}function ji(e,t){return e!=null&&Ci(e,t,Si)}var xi=1,Ii=2;function Li(e,t){return ge(e)&&ct(t)?lt(te(e),t):function(r){var n=Sn(r,e);return n===void 0&&n===t?ji(r,e):be(t,n,xi|Ii)}}function Ri(e){return function(t){return t?.[e]}}function Ni(e){return function(t){return at(t,e)}}function Mi(e){return ge(e)?Ri(te(e)):Ni(e)}function dt(e){return typeof e=="function"?e:e==null?J:typeof e=="object"?g(e)?Li(e[0],e[1]):$i(e):Mi(e)}function Di(e){return function(t,r,n){for(var i=-1,s=Object(t),a=n(t),o=a.length;o--;){var u=a[++i];if(r(s[u],u,s)===!1)break}return t}}var Fi=Di();function Gi(e,t){return e&&Fi(e,t,b)}function Ui(e,t){return function(r,n){if(r==null)return r;if(!Q(r))return e(r,n);for(var i=r.length,s=-1,a=Object(r);++s<i&&n(a[s],s,a)!==!1;);return r}}var ye=Ui(Gi);function zi(e){return j(e)&&Q(e)}function Hi(e){return typeof e=="function"?e:J}function S(e,t){var r=g(e)?Wt:ye;return r(e,Hi(t))}function Bi(e,t){var r=[];return ye(e,function(n,i,s){t(n,i,s)&&r.push(n)}),r}function Y(e,t){var r=g(e)?ut:Bi;return r(e,dt(t))}function Ki(e,t){return Je(t,function(r){return e[r]})}function se(e){return e==null?[]:Ki(e,b(e))}var qi="[object Map]",Xi="[object Set]",Yi=Object.prototype,Zi=Yi.hasOwnProperty;function Ke(e){if(e==null)return!0;if(Q(e)&&(g(e)||typeof e=="string"||typeof e.splice=="function"||W(e)||de(e)||V(e)))return!e.length;var t=O(e);if(t==qi||t==Xi)return!e.size;if(et(e))return!it(e).length;for(var r in e)if(Zi.call(e,r))return!1;return!0}function R(e){return e===void 0}function Wi(e,t,r,n,i){return i(e,function(s,a,o){r=n?(n=!1,s):t(r,s,a,o)}),r}function Ji(e,t,r){var n=g(e)?xn:Wi,i=arguments.length<3;return n(e,dt(t),r,i,ye)}var Qi=1/0,Vi=N&&1/_e(new N([,-0]))[1]==Qi?function(e){return new N(e)}:Ht,ki=200;function es(e,t,r){var n=-1,i=er,s=e.length,a=!0,o=[],u=o;if(s>=ki){var f=Vi(e);if(f)return _e(f);a=!1,i=ft,u=new B}else u=o;e:for(;++n<s;){var d=e[n],c=d;if(d=d!==0?d:0,a&&c===c){for(var l=u.length;l--;)if(u[l]===c)continue e;o.push(d)}else i(u,c,r)||(u!==o&&u.push(c),o.push(d))}return o}var ts=ir(function(e){return es(jn(e,1,zi,!0))}),rs="\0",C="\0",qe="";class gt{constructor(t={}){this._isDirected=Object.prototype.hasOwnProperty.call(t,"directed")?t.directed:!0,this._isMultigraph=Object.prototype.hasOwnProperty.call(t,"multigraph")?t.multigraph:!1,this._isCompound=Object.prototype.hasOwnProperty.call(t,"compound")?t.compound:!1,this._label=void 0,this._defaultNodeLabelFn=F(void 0),this._defaultEdgeLabelFn=F(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[C]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(t){return this._label=t,this}graph(){return this._label}setDefaultNodeLabel(t){return Z(t)||(t=F(t)),this._defaultNodeLabelFn=t,this}nodeCount(){return this._nodeCount}nodes(){return b(this._nodes)}sources(){var t=this;return Y(this.nodes(),function(r){return Ke(t._in[r])})}sinks(){var t=this;return Y(this.nodes(),function(r){return Ke(t._out[r])})}setNodes(t,r){var n=arguments,i=this;return S(t,function(s){n.length>1?i.setNode(s,r):i.setNode(s)}),this}setNode(t,r){return Object.prototype.hasOwnProperty.call(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=r),this):(this._nodes[t]=arguments.length>1?r:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=C,this._children[t]={},this._children[C][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(t){return this._nodes[t]}hasNode(t){return Object.prototype.hasOwnProperty.call(this._nodes,t)}removeNode(t){if(Object.prototype.hasOwnProperty.call(this._nodes,t)){var r=n=>this.removeEdge(this._edgeObjs[n]);delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],S(this.children(t),n=>{this.setParent(n)}),delete this._children[t]),S(b(this._in[t]),r),delete this._in[t],delete this._preds[t],S(b(this._out[t]),r),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(R(r))r=C;else{r+="";for(var n=r;!R(n);n=this.parent(n))if(n===t)throw new Error("Setting "+r+" as parent of "+t+" would create a cycle");this.setNode(r)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=r,this._children[r][t]=!0,this}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}parent(t){if(this._isCompound){var r=this._parent[t];if(r!==C)return r}}children(t){if(R(t)&&(t=C),this._isCompound){var r=this._children[t];if(r)return b(r)}else{if(t===C)return this.nodes();if(this.hasNode(t))return[]}}predecessors(t){var r=this._preds[t];if(r)return b(r)}successors(t){var r=this._sucs[t];if(r)return b(r)}neighbors(t){var r=this.predecessors(t);if(r)return ts(r,this.successors(t))}isLeaf(t){var r;return this.isDirected()?r=this.successors(t):r=this.neighbors(t),r.length===0}filterNodes(t){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var n=this;S(this._nodes,function(a,o){t(o)&&r.setNode(o,a)}),S(this._edgeObjs,function(a){r.hasNode(a.v)&&r.hasNode(a.w)&&r.setEdge(a,n.edge(a))});var i={};function s(a){var o=n.parent(a);return o===void 0||r.hasNode(o)?(i[a]=o,o):o in i?i[o]:s(o)}return this._isCompound&&S(r.nodes(),function(a){r.setParent(a,s(a))}),r}setDefaultEdgeLabel(t){return Z(t)||(t=F(t)),this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return se(this._edgeObjs)}setPath(t,r){var n=this,i=arguments;return Ji(t,function(s,a){return i.length>1?n.setEdge(s,a,r):n.setEdge(s,a),a}),this}setEdge(){var t,r,n,i,s=!1,a=arguments[0];typeof a=="object"&&a!==null&&"v"in a?(t=a.v,r=a.w,n=a.name,arguments.length===2&&(i=arguments[1],s=!0)):(t=a,r=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],s=!0)),t=""+t,r=""+r,R(n)||(n=""+n);var o=G(this._isDirected,t,r,n);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,o))return s&&(this._edgeLabels[o]=i),this;if(!R(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(r),this._edgeLabels[o]=s?i:this._defaultEdgeLabelFn(t,r,n);var u=ns(this._isDirected,t,r,n);return t=u.v,r=u.w,Object.freeze(u),this._edgeObjs[o]=u,Xe(this._preds[r],t),Xe(this._sucs[t],r),this._in[r][o]=u,this._out[t][o]=u,this._edgeCount++,this}edge(t,r,n){var i=arguments.length===1?ae(this._isDirected,arguments[0]):G(this._isDirected,t,r,n);return this._edgeLabels[i]}hasEdge(t,r,n){var i=arguments.length===1?ae(this._isDirected,arguments[0]):G(this._isDirected,t,r,n);return Object.prototype.hasOwnProperty.call(this._edgeLabels,i)}removeEdge(t,r,n){var i=arguments.length===1?ae(this._isDirected,arguments[0]):G(this._isDirected,t,r,n),s=this._edgeObjs[i];return s&&(t=s.v,r=s.w,delete this._edgeLabels[i],delete this._edgeObjs[i],Ye(this._preds[r],t),Ye(this._sucs[t],r),delete this._in[r][i],delete this._out[t][i],this._edgeCount--),this}inEdges(t,r){var n=this._in[t];if(n){var i=se(n);return r?Y(i,function(s){return s.v===r}):i}}outEdges(t,r){var n=this._out[t];if(n){var i=se(n);return r?Y(i,function(s){return s.w===r}):i}}nodeEdges(t,r){var n=this.inEdges(t,r);if(n)return n.concat(this.outEdges(t,r))}}gt.prototype._nodeCount=0;gt.prototype._edgeCount=0;function Xe(e,t){e[t]?e[t]++:e[t]=1}function Ye(e,t){--e[t]||delete e[t]}function G(e,t,r,n){var i=""+t,s=""+r;if(!e&&i>s){var a=i;i=s,s=a}return i+qe+s+qe+(R(n)?rs:n)}function ns(e,t,r,n){var i=""+t,s=""+r;if(!e&&i>s){var a=i;i=s,s=a}var o={v:i,w:s};return n&&(o.name=n),o}function ae(e,t){return G(e,t.v,t.w,t.name)}export{Y as $,m as A,Wt as B,g as C,Le as D,de as E,zi as F,gt as G,V as H,Z as I,Fi as J,dt as K,Jt as L,ye as M,Je as N,Hi as O,Gi as P,Ci as Q,J as R,y as S,st as T,Ge as U,te as V,at as W,ji as X,$n as Y,S as Z,F as _,he as a,se as a0,Ji as a1,ce as b,Q as c,Ae as d,ke as e,Ve as f,ir as g,et as h,R as i,Br as j,jn as k,Kr as l,j as m,M as n,nr as o,b as p,zn as q,w as r,Zt as s,Fn as t,ot as u,Hn as v,O as w,Gr as x,Ce as y,W as z};
@@ -1 +1 @@
1
- *{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0f1117;color:#e1e4e8;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;height:100vh}.export-bundles{border-top:1px solid #21262d;margin-top:8px}.export-bundles-header{display:flex;align-items:center;gap:6px;padding:10px 16px 8px;cursor:pointer;-webkit-user-select:none;user-select:none;color:#8b949e;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.export-bundles-header:hover{color:#e1e4e8}.export-bundles-title{flex:1}.export-bundles-count{background:#21262d;color:#8b949e;border-radius:10px;padding:0 6px;font-size:11px;font-weight:500}.export-bundles-list{padding:0 0 8px}.export-bundle-item{display:flex;align-items:center;gap:8px;padding:6px 16px;cursor:pointer;transition:background .1s}.export-bundle-item:hover{background:#161b22}.export-bundle-info{display:flex;flex-direction:column;flex:1;min-width:0;gap:2px}.export-bundle-name{font-size:13px;color:#e1e4e8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.export-bundle-desc{font-size:11px;color:#6e7681;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.export-bundle-meta{font-size:11px;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}.dashboard{display:flex;flex-direction:column;height:100vh;background:#0f1117;color:#e1e4e8;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:#161b22;border-bottom:1px solid #30363d;gap:16px}.header-left{display:flex;align-items:center;gap:12px;flex-shrink:0}.header-title{font-size:18px;font-weight:600;margin:0;color:#f0f6fc}.connection-badge{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:500}.connection-badge.connected{background:#1a3a2a;color:#3fb950}.connection-badge.disconnected{background:#3a1a1a;color:#f85149}.header-center{flex:1;max-width:500px}.header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.settings-btn{background:none;border:1px solid #30363d;color:#8b949e;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .15s}.settings-btn:hover{background:#21262d;color:#f0f6fc}.stale-filter-btn{background:none;border:1px solid #30363d;color:#8b949e;font-size:12px;cursor:pointer;padding:4px 10px;border-radius:6px;transition:all .15s;white-space:nowrap}.stale-filter-btn:hover{background:#3d2a0066;border-color:#d29922;color:#d29922}.stale-filter-btn.active{background:#3d2a00;border-color:#d29922;color:#d29922;font-weight:600}.sidebar-toggle-btn{background:none;border:1px solid #30363d;color:#8b949e;font-size:12px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .15s;line-height:1}.sidebar-toggle-btn:hover{background:#21262d;color:#f0f6fc}.dashboard-body{display:flex;flex:1;overflow:hidden;max-width:1700px;margin:0 auto}.sidebar-wrapper{width:450px;flex-shrink:0;overflow:hidden;transition:width .25s ease}.sidebar-wrapper.collapsed{width:0}.sidebar{width:450px;height:100%;border-right:1px solid #30363d;background:#161b22;overflow-y:auto;flex-shrink:0}.sidebar-item{padding:12px 16px;cursor:pointer;border-bottom:1px solid #21262d;transition:background .15s}.sidebar-item:hover{background:#1c2129}.sidebar-item.active{background:#1f6feb22;border-left:3px solid #1f6feb}.sidebar-item-title{font-size:14px;font-weight:500;color:#f0f6fc;margin-bottom:4px}.sidebar-item-meta{font-size:11px;color:#8b949e}.sidebar-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.tag-badge{font-size:10px;padding:1px 6px;border-radius:8px;background:#21262d;color:#8b949e}.stale-badge{font-size:10px;padding:1px 6px;border-radius:8px;font-weight:600}.stale-badge.stale{background:#3d2a00;color:#d29922}.stale-badge.fresh{background:#1a3a2a;color:#3fb950}.sidebar-empty{padding:24px 16px;text-align:center;color:#8b949e;font-size:13px}.sidebar-filter-header{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid #3d2a00;background:#1f1600;font-size:12px;font-weight:600;color:#d29922;text-transform:uppercase;letter-spacing:.05em;-webkit-user-select:none;user-select:none}.sidebar-filter-icon{font-size:13px}.sidebar-filter-count{margin-left:auto;background:#3d2a00;color:#d29922;font-size:11px;padding:1px 7px;border-radius:10px;font-weight:700}.sidebar-folder-header{padding:8px 16px;font-size:11px;font-weight:600;color:#8b949e;background:#0f1117;border-bottom:1px solid #21262d;cursor:pointer;display:flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:.05em;-webkit-user-select:none;user-select:none}.sidebar-folder-header:hover{color:#c9d1d9}.folder-icon{font-size:9px;transition:transform .15s;display:inline-block}.folder-icon.open{transform:rotate(90deg)}.doc-viewer{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;padding:24px 32px}.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}.doc-inline-link{display:inline;padding:0;border:none;background:none;color:#58a6ff;cursor:pointer;font-size:inherit;font-family:inherit;text-decoration:underline;text-underline-offset:2px}.doc-inline-link:hover{color:#79c0ff}.doc-inline-link--broken{color:#f85149;cursor:not-allowed;text-decoration:underline wavy}.doc-inline-link--cross-project{color:#d2a8ff}.doc-inline-link--cross-project:hover{color:#e2c0ff}.doc-content h1{font-size:2em;margin:.67em 0;border-bottom:1px solid #21262d;padding-bottom:.3em}.doc-content h2{font-size:1.5em;margin:.83em 0;border-bottom:1px solid #21262d;padding-bottom:.3em}.doc-content h3{font-size:1.25em;margin:1em 0}.doc-content h4{font-size:1em;margin:1.33em 0}.doc-content p{margin:1em 0;line-height:1.6}.doc-content code{background:#161b22;padding:2px 6px;border-radius:4px;font-family:Fira Code,Cascadia Code,monospace;font-size:.9em;font-variant-ligatures:none}.doc-content pre{background:#161b22;padding:16px;border-radius:8px;overflow-x:auto;border:1px solid #30363d}.doc-content pre code{background:none;padding:0}.doc-content ul,.doc-content ol{padding-left:2em;margin:1em 0}.doc-content li{margin:.25em 0;line-height:1.6}.doc-content table{border-collapse:collapse;width:100%;margin:1em 0}.doc-content th,.doc-content td{border:1px solid #30363d;padding:8px 12px;text-align:left}.doc-content th{background:#161b22;font-weight:600}.doc-content a{color:#58a6ff;text-decoration:none}.doc-content a:hover{text-decoration:underline}.doc-content blockquote{border-left:3px solid #30363d;padding-left:16px;margin:1em 0;color:#8b949e}.search-bar{display:flex;align-items:center;gap:8px}.search-scope-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.search-scope-label{font-size:11px;color:#8b949e;white-space:nowrap}.toggle-switch{position:relative;display:inline-block;width:32px;height:18px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:#30363d;border-radius:18px;transition:background .2s}.toggle-slider:before{content:"";position:absolute;width:14px;height:14px;left:2px;bottom:2px;background:#8b949e;border-radius:50%;transition:transform .2s,background .2s}.toggle-switch input:checked+.toggle-slider{background:#1f6feb}.toggle-switch input:checked+.toggle-slider:before{background:#fff;transform:translate(14px)}.search-input{flex:1;padding:6px 12px;border:1px solid #30363d;background:#0d1117;color:#c9d1d9;border-radius:6px;font-size:13px;outline:none;transition:border-color .15s}.search-input:focus{border-color:#1f6feb}.search-input::placeholder{color:#484f58}.search-btn,.clear-btn{padding:6px 12px;border:1px solid #30363d;background:#21262d;color:#c9d1d9;border-radius:6px;cursor:pointer;font-size:12px;white-space:nowrap}.search-btn:hover,.clear-btn:hover{background:#30363d}.search-results{position:absolute;top:100%;left:0;right:0;background:#161b22;border:1px solid #30363d;border-radius:0 0 6px 6px;max-height:300px;overflow-y:auto;z-index:100}.search-result-item{padding:10px 12px;cursor:pointer;border-bottom:1px solid #21262d}.search-result-item:hover{background:#1c2129}.search-result-title{font-size:13px;font-weight:500;color:#f0f6fc}.search-result-score{font-size:11px;color:#3fb950;margin-left:8px}.search-result-excerpt{font-size:11px;color:#8b949e;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-selector{display:flex;align-items:center;gap:4px}.project-select{padding:4px 8px;border:1px solid #30363d;background:#0d1117;color:#c9d1d9;border-radius:6px;font-size:12px;outline:none}.new-project-input{padding:4px 8px;border:1px solid #30363d;background:#0d1117;color:#c9d1d9;border-radius:6px;font-size:12px;width:100px;outline:none}.new-project-btn{padding:4px 8px;border:1px solid #30363d;background:#21262d;color:#c9d1d9;border-radius:6px;cursor:pointer;font-size:12px}.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}.code-block-wrapper{border:1px solid #30363d;border-radius:6px;margin:12px 0;overflow:hidden}.code-block-header{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;background:#21262d;border-bottom:1px solid #30363d}.code-block-lang-select{background:transparent;border:none;color:#8b949e;font-size:11px;font-family:Fira Code,Cascadia Code,Consolas,monospace;cursor:pointer;outline:none;padding:2px 0}.code-block-lang-select:hover{color:#c9d1d9}.code-block-lang-select option{background:#21262d;color:#c9d1d9}.code-block-copy-btn{background:none;border:1px solid #30363d;color:#8b949e;font-size:11px;cursor:pointer;padding:2px 8px;border-radius:4px;transition:all .15s}.code-block-copy-btn:hover{background:#30363d;color:#c9d1d9}.mermaid-block-wrapper{border:1px solid #30363d;border-radius:6px;margin:12px 0;overflow:hidden;background:#161b22}.mermaid-block-header{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;background:#21262d;border-bottom:1px solid #30363d}.mermaid-block-title{color:#8b949e;font-family:Fira Code,Cascadia Code,Consolas,monospace;font-size:11px}.mermaid-block-content{padding:16px;overflow-x:auto}.mermaid-block-content svg{display:block;max-width:100%;height:auto;margin:0 auto}.mermaid-block-error{margin:0;color:#f85149;font-family:Fira Code,Cascadia Code,Consolas,monospace;font-size:13px;line-height:1.5;white-space:pre-wrap}.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}@media print{.dashboard-header,.sidebar-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}}.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}
1
+ *{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0f1117;color:#e1e4e8;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;height:100vh}.export-bundles{border-top:1px solid #21262d;margin-top:8px}.export-bundles-header{display:flex;align-items:center;gap:6px;padding:10px 16px 8px;cursor:pointer;-webkit-user-select:none;user-select:none;color:#8b949e;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.export-bundles-header:hover{color:#e1e4e8}.export-bundles-title{flex:1}.export-bundles-count{background:#21262d;color:#8b949e;border-radius:10px;padding:0 6px;font-size:11px;font-weight:500}.export-bundles-list{padding:0 0 8px}.export-bundle-item{display:flex;align-items:center;gap:8px;padding:6px 16px;cursor:pointer;transition:background .1s}.export-bundle-item:hover{background:#161b22}.export-bundle-info{display:flex;flex-direction:column;flex:1;min-width:0;gap:2px}.export-bundle-name{font-size:13px;color:#e1e4e8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.export-bundle-desc{font-size:11px;color:#6e7681;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.export-bundle-meta{font-size:11px;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}.dashboard{display:flex;flex-direction:column;height:100vh;background:#0f1117;color:#e1e4e8;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:#161b22;border-bottom:1px solid #30363d;gap:16px}.header-left{display:flex;align-items:center;gap:12px;flex-shrink:0}.header-title{font-size:18px;font-weight:600;margin:0;color:#f0f6fc}.connection-badge{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:500}.connection-badge.connected{background:#1a3a2a;color:#3fb950}.connection-badge.disconnected{background:#3a1a1a;color:#f85149}.header-center{flex:1;max-width:500px}.header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.settings-btn{background:none;border:1px solid #30363d;color:#8b949e;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .15s}.settings-btn:hover{background:#21262d;color:#f0f6fc}.stale-filter-btn{background:none;border:1px solid #30363d;color:#8b949e;font-size:12px;cursor:pointer;padding:4px 10px;border-radius:6px;transition:all .15s;white-space:nowrap}.stale-filter-btn:hover{background:#3d2a0066;border-color:#d29922;color:#d29922}.stale-filter-btn.active{background:#3d2a00;border-color:#d29922;color:#d29922;font-weight:600}.sidebar-toggle-btn{background:none;border:1px solid #30363d;color:#8b949e;font-size:12px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .15s;line-height:1}.sidebar-toggle-btn:hover{background:#21262d;color:#f0f6fc}.dashboard-body{display:flex;flex:1;overflow:hidden;max-width:1700px;margin:0 auto}.sidebar-wrapper{width:450px;flex-shrink:0;overflow:hidden;transition:width .25s ease}.sidebar-wrapper.collapsed{width:0}.sidebar{width:450px;height:100%;border-right:1px solid #30363d;background:#161b22;overflow-y:auto;flex-shrink:0}.sidebar-item{padding:12px 16px;cursor:pointer;border-bottom:1px solid #21262d;transition:background .15s}.sidebar-item:hover{background:#1c2129}.sidebar-item.active{background:#1f6feb22;border-left:3px solid #1f6feb}.sidebar-item-title{font-size:14px;font-weight:500;color:#f0f6fc;margin-bottom:4px}.sidebar-item-meta{font-size:11px;color:#8b949e}.sidebar-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.tag-badge{font-size:10px;padding:1px 6px;border-radius:8px;background:#21262d;color:#8b949e}.stale-badge{font-size:10px;padding:1px 6px;border-radius:8px;font-weight:600}.stale-badge.stale{background:#3d2a00;color:#d29922}.stale-badge.fresh{background:#1a3a2a;color:#3fb950}.sidebar-empty{padding:24px 16px;text-align:center;color:#8b949e;font-size:13px}.sidebar-filter-header{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid #3d2a00;background:#1f1600;font-size:12px;font-weight:600;color:#d29922;text-transform:uppercase;letter-spacing:.05em;-webkit-user-select:none;user-select:none}.sidebar-filter-icon{font-size:13px}.sidebar-filter-count{margin-left:auto;background:#3d2a00;color:#d29922;font-size:11px;padding:1px 7px;border-radius:10px;font-weight:700}.sidebar-folder-header{padding:8px 16px;font-size:11px;font-weight:600;color:#8b949e;background:#0f1117;border-bottom:1px solid #21262d;cursor:pointer;display:flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:.05em;-webkit-user-select:none;user-select:none}.sidebar-folder-header:hover{color:#c9d1d9}.folder-icon{font-size:9px;transition:transform .15s;display:inline-block}.folder-icon.open{transform:rotate(90deg)}.doc-viewer{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;padding:24px 32px}.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}.doc-inline-link{display:inline;padding:0;border:none;background:none;color:#58a6ff;cursor:pointer;font-size:inherit;font-family:inherit;text-decoration:underline;text-underline-offset:2px}.doc-inline-link:hover{color:#79c0ff}.doc-inline-link--broken{color:#f85149;cursor:not-allowed;text-decoration:underline wavy}.doc-inline-link--cross-project{color:#d2a8ff}.doc-inline-link--cross-project:hover{color:#e2c0ff}.doc-content h1{font-size:2em;margin:.67em 0;border-bottom:1px solid #21262d;padding-bottom:.3em}.doc-content h2{font-size:1.5em;margin:.83em 0;border-bottom:1px solid #21262d;padding-bottom:.3em}.doc-content h3{font-size:1.25em;margin:1em 0}.doc-content h4{font-size:1em;margin:1.33em 0}.doc-content p{margin:1em 0;line-height:1.6}.doc-content code{background:#161b22;padding:2px 6px;border-radius:4px;font-family:Fira Code,Cascadia Code,monospace;font-size:.9em;font-variant-ligatures:none}.doc-content pre{background:#161b22;padding:16px;border-radius:8px;overflow-x:auto;border:1px solid #30363d}.doc-content pre code{background:none;padding:0}.doc-content ul,.doc-content ol{padding-left:2em;margin:1em 0}.doc-content li{margin:.25em 0;line-height:1.6}.doc-content table{border-collapse:collapse;width:100%;margin:1em 0}.doc-content th,.doc-content td{border:1px solid #30363d;padding:8px 12px;text-align:left}.doc-content th{background:#161b22;font-weight:600}.doc-content a{color:#58a6ff;text-decoration:none}.doc-content a:hover{text-decoration:underline}.doc-content blockquote{border-left:3px solid #30363d;padding-left:16px;margin:1em 0;color:#8b949e}.search-bar{display:flex;align-items:center;gap:8px}.search-scope-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.search-scope-label{font-size:11px;color:#8b949e;white-space:nowrap}.toggle-switch{position:relative;display:inline-block;width:32px;height:18px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:#30363d;border-radius:18px;transition:background .2s}.toggle-slider:before{content:"";position:absolute;width:14px;height:14px;left:2px;bottom:2px;background:#8b949e;border-radius:50%;transition:transform .2s,background .2s}.toggle-switch input:checked+.toggle-slider{background:#1f6feb}.toggle-switch input:checked+.toggle-slider:before{background:#fff;transform:translate(14px)}.search-input{flex:1;padding:6px 12px;border:1px solid #30363d;background:#0d1117;color:#c9d1d9;border-radius:6px;font-size:13px;outline:none;transition:border-color .15s}.search-input:focus{border-color:#1f6feb}.search-input::placeholder{color:#484f58}.search-btn,.clear-btn{padding:6px 12px;border:1px solid #30363d;background:#21262d;color:#c9d1d9;border-radius:6px;cursor:pointer;font-size:12px;white-space:nowrap}.search-btn:hover,.clear-btn:hover{background:#30363d}.search-results{position:absolute;top:100%;left:0;right:0;background:#161b22;border:1px solid #30363d;border-radius:0 0 6px 6px;max-height:300px;overflow-y:auto;z-index:100}.search-result-item{padding:10px 12px;cursor:pointer;border-bottom:1px solid #21262d}.search-result-item:hover{background:#1c2129}.search-result-title{font-size:13px;font-weight:500;color:#f0f6fc}.search-result-score{font-size:11px;color:#3fb950;margin-left:8px}.search-result-excerpt{font-size:11px;color:#8b949e;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-selector{display:flex;align-items:center;gap:4px}.project-select{padding:4px 8px;border:1px solid #30363d;background:#0d1117;color:#c9d1d9;border-radius:6px;font-size:12px;outline:none}.new-project-input{padding:4px 8px;border:1px solid #30363d;background:#0d1117;color:#c9d1d9;border-radius:6px;font-size:12px;width:100px;outline:none}.new-project-btn{padding:4px 8px;border:1px solid #30363d;background:#21262d;color:#c9d1d9;border-radius:6px;cursor:pointer;font-size:12px}.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}.code-block-wrapper{border:1px solid #30363d;border-radius:6px;margin:12px 0;overflow:hidden}.code-block-header{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;background:#21262d;border-bottom:1px solid #30363d}.code-block-lang-select{background:transparent;border:none;color:#8b949e;font-size:11px;font-family:Fira Code,Cascadia Code,Consolas,monospace;cursor:pointer;outline:none;padding:2px 0}.code-block-lang-select:hover{color:#c9d1d9}.code-block-lang-select option{background:#21262d;color:#c9d1d9}.code-block-copy-btn{background:none;border:1px solid #30363d;color:#8b949e;font-size:11px;cursor:pointer;padding:2px 8px;border-radius:4px;transition:all .15s}.code-block-copy-btn:hover{background:#30363d;color:#c9d1d9}.mermaid-block-wrapper{border:1px solid #30363d;border-radius:6px;margin:12px 0;overflow:hidden;background:#161b22}.mermaid-block-header{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;background:#21262d;border-bottom:1px solid #30363d}.mermaid-block-title{color:#8b949e;font-family:Fira Code,Cascadia Code,Consolas,monospace;font-size:11px}.mermaid-block-actions{display:flex;align-items:center;gap:8px}.mermaid-zoom-controls{display:flex;align-items:center;gap:2px}.mermaid-zoom-btn{background:#30363d;border:1px solid #484f58;color:#c9d1d9;border-radius:4px;width:22px;height:22px;font-size:14px;line-height:1;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:background .15s}.mermaid-zoom-btn:hover:not(:disabled){background:#484f58}.mermaid-zoom-btn:disabled{opacity:.35;cursor:not-allowed}.mermaid-zoom-reset{background:transparent;border:1px solid #484f58;color:#8b949e;border-radius:4px;height:22px;min-width:40px;font-size:11px;font-family:Fira Code,Cascadia Code,Consolas,monospace;cursor:pointer;padding:0 4px;transition:background .15s,color .15s}.mermaid-zoom-reset:hover{background:#30363d;color:#c9d1d9}.mermaid-block-content{padding:16px;overflow:auto}.mermaid-block-zoom-container{display:block;transform-origin:top center;transition:transform .15s ease}.mermaid-block-zoom-container svg{display:block;max-width:100%;height:auto;margin:0 auto}.mermaid-block-error{margin:0;color:#f85149;font-family:Fira Code,Cascadia Code,Consolas,monospace;font-size:13px;line-height:1.5;white-space:pre-wrap}.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}@media print{.dashboard-header,.sidebar-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-content img.doc-image{max-width:100%;height:auto;border-radius:6px;margin:8px 0;display:block}.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-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}