@a9n-shoji/rvw 0.3.1 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/README.md +11 -4
- package/dist/cli.mjs +274 -25
- package/dist/cli.mjs.map +3 -3
- package/dist/web/assets/CommentThread-CMXtuZ98.js +33 -0
- package/dist/web/assets/DocumentViewer-D-UGIxCU.js +1417 -0
- package/dist/web/assets/MarkdownTable-7Sm_sj1E.js +7 -0
- package/dist/web/assets/MermaidExpandedView-CyWRss2q.js +4 -0
- package/dist/web/assets/MermaidSurface-Dt2_Hu6n.js +344 -0
- package/dist/web/assets/WalkthroughViewer-CuJMrKOW.js +43 -0
- package/dist/web/assets/abnfDiagram-N423BO3Z-DjhFeHQj.js +1 -0
- package/dist/web/assets/architecture-TIHT7OUA-CsHfPErM.js +1 -0
- package/dist/web/assets/architectureDiagram-T3A2C74G-4zQ-4s9L.js +36 -0
- package/dist/web/assets/{blockDiagram-VBNYF7ZC-C77pTjUb.js → blockDiagram-VBNYF7ZC-Bh91Tm8T.js} +1 -1
- package/dist/web/assets/{c4Diagram-5PPSVZJV-DGHS-vVy.js → c4Diagram-5PPSVZJV-BHgLhSdB.js} +1 -1
- package/dist/web/assets/ccount-DFmD81E1.js +1 -0
- package/dist/web/assets/channel-BmC0cAv-.js +1 -0
- package/dist/web/assets/{chunk-2GRJ4B5K-DeUANCIz.js → chunk-2GRJ4B5K-sTPzFBtk.js} +1 -1
- package/dist/web/assets/chunk-3NCLNEKW-k0AW8Qyp.js +1 -0
- package/dist/web/assets/{chunk-4I5QYGJK-CMh2oglh.js → chunk-4I5QYGJK-q_8xEFmv.js} +1 -1
- package/dist/web/assets/chunk-5FCAYU7R-Dh5nylU8.js +1 -0
- package/dist/web/assets/chunk-5HE753X5-Bw-yg4kO.js +1 -0
- package/dist/web/assets/chunk-5JV3BV7I-Cy5pj3QY.js +1 -0
- package/dist/web/assets/{chunk-5RXB4S5H-DKTEiVyP.js → chunk-5RXB4S5H-BcuYQqlM.js} +1 -1
- package/dist/web/assets/chunk-5TONJI2A-DQOY3q1H.js +2 -0
- package/dist/web/assets/{chunk-6Q2QTUOP-CcgtbZZN.js → chunk-6Q2QTUOP-DDI96JMg.js} +1 -1
- package/dist/web/assets/{chunk-7Z6QIM7H-ktwy8mS7.js → chunk-7Z6QIM7H-B8QX_5g4.js} +1 -1
- package/dist/web/assets/chunk-BIQX33UG-DZEsGuSn.js +1 -0
- package/dist/web/assets/chunk-CQNSW5MT-B8S09OIh.js +1 -0
- package/dist/web/assets/chunk-CYSBUYHQ-C1Rf4art.js +1 -0
- package/dist/web/assets/chunk-EMLP6XTP-RLD4nXpI.js +1 -0
- package/dist/web/assets/{chunk-GF5L2VYU-C3sn41mA.js → chunk-GF5L2VYU-CJin2HQO.js} +1 -1
- package/dist/web/assets/{chunk-I66GZJ75-PkPnHXQJ.js → chunk-I66GZJ75-CEntV2nF.js} +1 -1
- package/dist/web/assets/chunk-J7OUQ5F2-XLdTvjUm.js +2 -0
- package/dist/web/assets/chunk-JG7HCLWE-BYfiSaVt.js +2 -0
- package/dist/web/assets/{chunk-JQJVKLGR-C7Y_Zm_L.js → chunk-JQJVKLGR-Bnum3gum.js} +3 -3
- package/dist/web/assets/{chunk-KBJHAD2P-CPGb1KEF.js → chunk-KBJHAD2P-DwPs20tJ.js} +1 -1
- package/dist/web/assets/chunk-MOZMSUNE-XVucA-n6.js +1 -0
- package/dist/web/assets/{chunk-NSK5VX7P-CiYrTyo0.js → chunk-NSK5VX7P-AmYQxFLu.js} +1 -1
- package/dist/web/assets/chunk-OSBZ3O6U-CrKZOUOr.js +1 -0
- package/dist/web/assets/chunk-QBLGF6JB-CxAyS2mW.js +1 -0
- package/dist/web/assets/{chunk-QR6OTTB3-Cxc4CBz3.js → chunk-QR6OTTB3-VIu9ZqqS.js} +1 -1
- package/dist/web/assets/chunk-R7FJI6CG-Cnn3gE-Y.js +1 -0
- package/dist/web/assets/chunk-U6XO7XAA-BFxjP5U3.js +2 -0
- package/dist/web/assets/{chunk-UBXNYLIW-Cu8_QUds.js → chunk-UBXNYLIW-D4XAD8w6.js} +1 -1
- package/dist/web/assets/{chunk-W5SLKNZC-xEW_C207.js → chunk-W5SLKNZC-B8QG_JAG.js} +1 -1
- package/dist/web/assets/{chunk-WRU74C26-lur1bNcP.js → chunk-WRU74C26-CS8zeNym.js} +1 -1
- package/dist/web/assets/chunk-YOTPTUD7-D0vRKqYp.js +1 -0
- package/dist/web/assets/chunk-ZIRB5QZD-O39ZBUk3.js +32 -0
- package/dist/web/assets/classDiagram-JCYQIIEL-DyY7Kt3N.js +1 -0
- package/dist/web/assets/classDiagram-v2-OCEON4UE-DyY7Kt3N.js +1 -0
- package/dist/web/assets/cynefin-VYW2F7L2-Ds2Fw2Y0.js +1 -0
- package/dist/web/assets/cynefinDiagram-MW4NZA55-DaNC4kY7.js +62 -0
- package/dist/web/assets/{dagre-VZM6K2ZE-DzKymXhT.js → dagre-VZM6K2ZE-DJ845MyA.js} +1 -1
- package/dist/web/assets/{diagram-7IWD3JNH-B1TUtKVL.js → diagram-7IWD3JNH-98E00vZR.js} +3 -3
- package/dist/web/assets/diagram-B4RE2ZJO-BpMQ8ico.js +3 -0
- package/dist/web/assets/diagram-LBJQPF4R-BZ8RNQpZ.js +24 -0
- package/dist/web/assets/diagram-Q27KOJAE-Bn1wtc7g.js +24 -0
- package/dist/web/assets/diagram-UB23O5K3-B314M-wb.js +41 -0
- package/dist/web/assets/dist-DCGa16l5.js +145 -0
- package/dist/web/assets/ebnfDiagram-BXEA7PRR-CqKM-cL0.js +1 -0
- package/dist/web/assets/{erDiagram-JOGREHBK-DlhKVbK5.js → erDiagram-JOGREHBK-CVMcNMlx.js} +1 -1
- package/dist/web/assets/eventmodeling-45OFAUF4-CLEiVx5s.js +1 -0
- package/dist/web/assets/flowDiagram-UKHOOZJN-8dur6GAS.js +1 -0
- package/dist/web/assets/{ganttDiagram-PKOTCBZU-Buwx6kT-.js → ganttDiagram-PKOTCBZU-DALoGLHl.js} +1 -1
- package/dist/web/assets/gitGraph-TEB2WS4Q-CZFBqwW-.js +1 -0
- package/dist/web/assets/gitGraphDiagram-DS77QQ5N-BY_jOOb-.js +106 -0
- package/dist/web/assets/index-BNcvGFlf.css +1 -0
- package/dist/web/assets/index-BwIKbLJ1.js +11 -0
- package/dist/web/assets/info-DKCQHKI2--1InqQeT.js +1 -0
- package/dist/web/assets/infoDiagram-6WML65LV-CNMbrlEJ.js +2 -0
- package/dist/web/assets/{ishikawaDiagram-WSZJBQD7-u7_elIzl.js → ishikawaDiagram-WSZJBQD7-NODY49Zb.js} +2 -2
- package/dist/web/assets/{journeyDiagram-NVQOT4AX-C2jFr8oy.js → journeyDiagram-NVQOT4AX-v9CJWB8Y.js} +1 -1
- package/dist/web/assets/{kanban-definition-27J2QSJJ-D-7UHdx4.js → kanban-definition-27J2QSJJ-Cv2iL7No.js} +3 -3
- package/dist/web/assets/lib-p2IERBh0.js +9 -0
- package/dist/web/assets/{line-CQAM_baC.js → line-Dah7RomF.js} +1 -1
- package/dist/web/assets/mermaid-parser.core-BcQae2Lb.js +4 -0
- package/dist/web/assets/mermaid.core-BVyLgPb6.js +11 -0
- package/dist/web/assets/{mindmap-definition-FAOFIHXS-tXNzs65p.js → mindmap-definition-FAOFIHXS-BD9fkU-f.js} +1 -1
- package/dist/web/assets/packet-7NZHBO7P-BGMXB0XL.js +1 -0
- package/dist/web/assets/pegDiagram-VL7TDLO6-D-HL9Pvp.js +1 -0
- package/dist/web/assets/pie-RZYD4A2V-DgYg3tCt.js +1 -0
- package/dist/web/assets/pieDiagram-7S7Q4E2Y-Sam5BEo-.js +39 -0
- package/dist/web/assets/preload-helper-Czpn1I53.js +1 -0
- package/dist/web/assets/{quadrantDiagram-CIZ2JOQS-Ck1WL56V.js → quadrantDiagram-CIZ2JOQS-BNXhvOJb.js} +1 -1
- package/dist/web/assets/radar-I7S5WNFK-Ag-zp_Rq.js +1 -0
- package/dist/web/assets/railroad-3IZDKUUU-aibJDIDV.js +1 -0
- package/dist/web/assets/railroad-abnf-AHOZXSZD-BBMEuvIl.js +1 -0
- package/dist/web/assets/railroad-ebnf-EBAXGLYW-Be1nseej.js +1 -0
- package/dist/web/assets/railroad-peg-LSFZ7HO6-DIvD-Eyb.js +1 -0
- package/dist/web/assets/railroadDiagram-AXF67PYL-C6-GuR01.js +1 -0
- package/dist/web/assets/{requirementDiagram-LRYGKXZP-C-GtPNYS.js → requirementDiagram-LRYGKXZP-Dew1VZVc.js} +1 -1
- package/dist/web/assets/{sankeyDiagram-W5VNT64P-DiFurH1m.js → sankeyDiagram-W5VNT64P-BNlHXupx.js} +1 -1
- package/dist/web/assets/{sequenceDiagram-SI44F4Z6-BBJvY7He.js → sequenceDiagram-SI44F4Z6-CHZhbxWH.js} +1 -1
- package/dist/web/assets/stateDiagram-OKZ733FA-BP7TOkRY.js +1 -0
- package/dist/web/assets/stateDiagram-v2-UEYNNEHI-BoFgs-SF.js +1 -0
- package/dist/web/assets/swimlanes-SLNWSIFB-DfMga4nB.js +2 -0
- package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-CpfunQZj.js +8 -0
- package/dist/web/assets/{timeline-definition-Z64GVDOM-CPtTrFUL.js → timeline-definition-Z64GVDOM-DjC-PWK6.js} +1 -1
- package/dist/web/assets/treeView-QDETBFTQ-uHZ-3Fz8.js +1 -0
- package/dist/web/assets/treemap-6X3UGDF4-BnUKyy3l.js +1 -0
- package/dist/web/assets/{vennDiagram-T6HMQDX7-BjWQrcS4.js → vennDiagram-T6HMQDX7-CJzy1Vav.js} +2 -2
- package/dist/web/assets/wardley-OPB4EBWU-Da7TLC2F.js +1 -0
- package/dist/web/assets/{wardleyDiagram-T6FBY63Y-DHLZ0oPi.js → wardleyDiagram-T6FBY63Y-C9BlVo6M.js} +3 -3
- package/dist/web/assets/{xychartDiagram-ELKLHX3M-CEJ_HkG9.js → xychartDiagram-ELKLHX3M-B0WUxsYy.js} +3 -3
- package/dist/web/index.html +6 -2
- package/package.json +1 -1
- package/skills/rvw-walkthrough/SKILL.md +4 -4
- package/skills/rvw-walkthrough/agents/openai.yaml +1 -1
- package/skills/rvw-walkthrough/references/walkthrough-authoring.md +11 -0
- package/dist/web/assets/DocumentViewer-C7UMfzam.js +0 -1561
- package/dist/web/assets/MarkdownTable-Dg8UkuDK.js +0 -15
- package/dist/web/assets/WalkthroughViewer-BvS7o2T0.js +0 -42
- package/dist/web/assets/abnfDiagram-N423BO3Z-C2idvncb.js +0 -1
- package/dist/web/assets/architecture-TIHT7OUA-C7fqtQhb.js +0 -1
- package/dist/web/assets/architectureDiagram-T3A2C74G-Cdm5LY27.js +0 -36
- package/dist/web/assets/channel-DwAsM5u1.js +0 -1
- package/dist/web/assets/classDiagram-JCYQIIEL-ZOHoHid8.js +0 -1
- package/dist/web/assets/classDiagram-v2-OCEON4UE-ZOHoHid8.js +0 -1
- package/dist/web/assets/cynefin-VYW2F7L2-D8ja_01T.js +0 -1
- package/dist/web/assets/cynefinDiagram-MW4NZA55-DRefzYPy.js +0 -62
- package/dist/web/assets/diagram-B4RE2ZJO-DQ7yWH6C.js +0 -3
- package/dist/web/assets/diagram-LBJQPF4R-h5ld83dF.js +0 -24
- package/dist/web/assets/diagram-Q27KOJAE-CQyWB8j1.js +0 -24
- package/dist/web/assets/diagram-UB23O5K3-SmscW8SS.js +0 -41
- package/dist/web/assets/ebnfDiagram-BXEA7PRR-B6Uv9Fga.js +0 -1
- package/dist/web/assets/eventmodeling-45OFAUF4-hg8ilqKd.js +0 -1
- package/dist/web/assets/flowDiagram-UKHOOZJN-DlU6Mvry.js +0 -1
- package/dist/web/assets/gitGraph-TEB2WS4Q-DcKoIebc.js +0 -1
- package/dist/web/assets/gitGraphDiagram-DS77QQ5N-6hyOioar.js +0 -106
- package/dist/web/assets/index-CLhFOtpL.css +0 -1
- package/dist/web/assets/index-DYmdeW10.js +0 -384
- package/dist/web/assets/info-DKCQHKI2-BTrntoWR.js +0 -1
- package/dist/web/assets/infoDiagram-6WML65LV-C9vEklZc.js +0 -2
- package/dist/web/assets/mermaid-parser.core-D2z7ZOcE.js +0 -7
- package/dist/web/assets/mermaid.core-d5lQFkUm.js +0 -42
- package/dist/web/assets/packet-7NZHBO7P-Ck4WifuO.js +0 -1
- package/dist/web/assets/pegDiagram-VL7TDLO6-CI2wa80w.js +0 -1
- package/dist/web/assets/pie-RZYD4A2V-HqKGJX8R.js +0 -1
- package/dist/web/assets/pieDiagram-7S7Q4E2Y-DiANc3xh.js +0 -39
- package/dist/web/assets/radar-I7S5WNFK-BGZ0ArkI.js +0 -1
- package/dist/web/assets/railroad-3IZDKUUU-CG80mKUm.js +0 -1
- package/dist/web/assets/railroad-abnf-AHOZXSZD-siyTaNqs.js +0 -1
- package/dist/web/assets/railroad-ebnf-EBAXGLYW-CXsuiW_x.js +0 -1
- package/dist/web/assets/railroad-peg-LSFZ7HO6-2Zrn2h_2.js +0 -1
- package/dist/web/assets/railroadDiagram-AXF67PYL-DqLD6_Ag.js +0 -1
- package/dist/web/assets/stateDiagram-OKZ733FA-CJJJoWYF.js +0 -1
- package/dist/web/assets/stateDiagram-v2-UEYNNEHI-Cwihtgsj.js +0 -1
- package/dist/web/assets/swimlanes-SLNWSIFB-DDD-kqF3.js +0 -2
- package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-CthM5wkr.js +0 -8
- package/dist/web/assets/treeView-QDETBFTQ-CXpMsauD.js +0 -1
- package/dist/web/assets/treemap-6X3UGDF4-DODWUMCI.js +0 -1
- package/dist/web/assets/wardley-OPB4EBWU-HV6ftDhi.js +0 -1
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./mermaid-parser.core-D2z7ZOcE.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as n,p as r}from"./src-B6xuSHsQ.js";import{D as i,H as a,K as o,U as s,a as c,b as l,c as u,f as d,v as f,w as p,y as m}from"./chunk-I66GZJ75-PkPnHXQJ.js";import{t as h}from"./ordinal-BDEzSJ7C.js";import{t as g}from"./defaultLocale-BFoDCU3G.js";import{i as _}from"./chunk-NSK5VX7P-CiYrTyo0.js";import{t as v}from"./chunk-JWPE2WC7-DVXcaiue.js";import{t as y}from"./chunk-KBJHAD2P-CPGb1KEF.js";import{i as b,n as x}from"./chunk-W5SLKNZC-xEW_C207.js";import{a as S}from"./mermaid.core-d5lQFkUm.js";function C(e){var t=0,n=e.children,r=n&&n.length;if(!r)t=1;else for(;--r>=0;)t+=n[r].value;e.value=t}function w(){return this.eachAfter(C)}function T(e,t){let n=-1;for(let r of this)e.call(t,r,++n,this);return this}function E(e,t){for(var n=this,r=[n],i,a,o=-1;n=r.pop();)if(e.call(t,n,++o,this),i=n.children)for(a=i.length-1;a>=0;--a)r.push(i[a]);return this}function D(e,t){for(var n=this,r=[n],i=[],a,o,s,c=-1;n=r.pop();)if(i.push(n),a=n.children)for(o=0,s=a.length;o<s;++o)r.push(a[o]);for(;n=i.pop();)e.call(t,n,++c,this);return this}function O(e,t){let n=-1;for(let r of this)if(e.call(t,r,++n,this))return r}function k(e){return this.eachAfter(function(t){for(var n=+e(t.data)||0,r=t.children,i=r&&r.length;--i>=0;)n+=r[i].value;t.value=n})}function A(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})}function j(e){for(var t=this,n=M(t,e),r=[t];t!==n;)t=t.parent,r.push(t);for(var i=r.length;e!==n;)r.splice(i,0,e),e=e.parent;return r}function M(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),i=null;for(e=n.pop(),t=r.pop();e===t;)i=e,e=n.pop(),t=r.pop();return i}function N(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t}function P(){return Array.from(this)}function F(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e}function I(){var e=this,t=[];return e.each(function(n){n!==e&&t.push({source:n.parent,target:n})}),t}function*L(){var e=this,t,n=[e],r,i,a;do for(t=n.reverse(),n=[];e=t.pop();)if(yield e,r=e.children)for(i=0,a=r.length;i<a;++i)n.push(r[i]);while(n.length)}function R(e,t){e instanceof Map?(e=[void 0,e],t===void 0&&(t=V)):t===void 0&&(t=B);for(var n=new W(e),r,i=[n],a,o,s,c;r=i.pop();)if((o=t(r.data))&&(c=(o=Array.from(o)).length))for(r.children=o,s=c-1;s>=0;--s)i.push(a=o[s]=new W(o[s])),a.parent=r,a.depth=r.depth+1;return n.eachBefore(U)}function z(){return R(this).eachBefore(H)}function B(e){return e.children}function V(e){return Array.isArray(e)?e[1]:null}function H(e){e.data.value!==void 0&&(e.value=e.data.value),e.data=e.data.data}function U(e){var t=0;do e.height=t;while((e=e.parent)&&e.height<++t)}function W(e){this.data=e,this.depth=this.height=0,this.parent=null}W.prototype=R.prototype={constructor:W,count:w,each:T,eachAfter:D,eachBefore:E,find:O,sum:k,sort:A,path:j,ancestors:N,descendants:P,leaves:F,links:I,copy:z,[Symbol.iterator]:L};function G(e){if(typeof e!=`function`)throw Error();return e}function K(){return 0}function q(e){return function(){return e}}function ee(e){e.x0=Math.round(e.x0),e.y0=Math.round(e.y0),e.x1=Math.round(e.x1),e.y1=Math.round(e.y1)}function te(e,t,n,r,i){for(var a=e.children,o,s=-1,c=a.length,l=e.value&&(r-t)/e.value;++s<c;)o=a[s],o.y0=n,o.y1=i,o.x0=t,o.x1=t+=o.value*l}function ne(e,t,n,r,i){for(var a=e.children,o,s=-1,c=a.length,l=e.value&&(i-n)/e.value;++s<c;)o=a[s],o.x0=t,o.x1=r,o.y0=n,o.y1=n+=o.value*l}var re=(1+Math.sqrt(5))/2;function ie(e,t,n,r,i,a){for(var o=[],s=t.children,c,l,u=0,d=0,f=s.length,p,m,h=t.value,g,_,v,y,b,x,S;u<f;){p=i-n,m=a-r;do g=s[d++].value;while(!g&&d<f);for(_=v=g,x=Math.max(m/p,p/m)/(h*e),S=g*g*x,b=Math.max(v/S,S/_);d<f;++d){if(g+=l=s[d].value,l<_&&(_=l),l>v&&(v=l),S=g*g*x,y=Math.max(v/S,S/_),y>b){g-=l;break}b=y}o.push(c={value:g,dice:p<m,children:s.slice(u,d)}),c.dice?te(c,n,r,i,h?r+=m*g/h:a):ne(c,n,r,h?n+=p*g/h:i,a),h-=g,u=d}return o}var ae=(function e(t){function n(e,n,r,i,a){ie(t,e,n,r,i,a)}return n.ratio=function(t){return e((t=+t)>1?t:1)},n})(re);function oe(){var e=ae,t=!1,n=1,r=1,i=[0],a=K,o=K,s=K,c=K,l=K;function u(e){return e.x0=e.y0=0,e.x1=n,e.y1=r,e.eachBefore(d),i=[0],t&&e.eachBefore(ee),e}function d(t){var n=i[t.depth],r=t.x0+n,u=t.y0+n,d=t.x1-n,f=t.y1-n;d<r&&(r=d=(r+d)/2),f<u&&(u=f=(u+f)/2),t.x0=r,t.y0=u,t.x1=d,t.y1=f,t.children&&(n=i[t.depth+1]=a(t)/2,r+=l(t)-n,u+=o(t)-n,d-=s(t)-n,f-=c(t)-n,d<r&&(r=d=(r+d)/2),f<u&&(u=f=(u+f)/2),e(t,r,u,d,f))}return u.round=function(e){return arguments.length?(t=!!e,u):t},u.size=function(e){return arguments.length?(n=+e[0],r=+e[1],u):[n,r]},u.tile=function(t){return arguments.length?(e=G(t),u):e},u.padding=function(e){return arguments.length?u.paddingInner(e).paddingOuter(e):u.paddingInner()},u.paddingInner=function(e){return arguments.length?(a=typeof e==`function`?e:q(+e),u):a},u.paddingOuter=function(e){return arguments.length?u.paddingTop(e).paddingRight(e).paddingBottom(e).paddingLeft(e):u.paddingTop()},u.paddingTop=function(e){return arguments.length?(o=typeof e==`function`?e:q(+e),u):o},u.paddingRight=function(e){return arguments.length?(s=typeof e==`function`?e:q(+e),u):s},u.paddingBottom=function(e){return arguments.length?(c=typeof e==`function`?e:q(+e),u):c},u.paddingLeft=function(e){return arguments.length?(l=typeof e==`function`?e:q(+e),u):l},u}var J=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=s,this.getAccTitle=m,this.setDiagramTitle=o,this.getDiagramTitle=p,this.getAccDescription=f,this.setAccDescription=a}static{t(this,`TreeMapDB`)}getNodes(){return this.nodes}getConfig(){let e=d,t=l();return _({...e.treemap,...t.treemap??{}})}addNode(e,t){this.nodes.push(e),this.levels.set(e,t),t===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:``,children:this.outerNodes}}addClass(e,t){let n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},r=t.replace(/\\,/g,`§§§`).replace(/,/g,`;`).replace(/§§§/g,`,`).split(`;`);r&&r.forEach(e=>{x(e)&&(n?.textStyles?n.textStyles.push(e):n.textStyles=[e]),n?.styles?n.styles.push(e):n.styles=[e]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){c(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};function Y(e){if(!e.length)return[];let t=[],n=[];return e.forEach(e=>{let r={name:e.name,children:e.type===`Leaf`?void 0:[]};for(r.classSelector=e?.classSelector,e?.cssCompiledStyles&&(r.cssCompiledStyles=e.cssCompiledStyles),e.type===`Leaf`&&e.value!==void 0&&(r.value=e.value);n.length>0&&n[n.length-1].level>=e.level;)n.pop();if(n.length===0)t.push(r);else{let e=n[n.length-1].node;e.children?e.children.push(r):e.children=[r]}e.type!==`Leaf`&&n.push({node:r,level:e.level})}),t}t(Y,`buildHierarchy`);var se=t((e,n)=>{v(e,n);let r=[];for(let t of e.TreemapRows??[])t.$type===`ClassDefStatement`&&n.addClass(t.className??``,t.styleText??``);for(let t of e.TreemapRows??[]){let e=t.item;if(!e)continue;let i=t.indent?parseInt(t.indent):0,a=ce(e),o=e.classSelector?n.getStylesForClass(e.classSelector):[],s=o.length>0?o:void 0,c={level:i,name:a,type:e.$type,value:e.value,classSelector:e.classSelector,cssCompiledStyles:s};r.push(c)}let i=Y(r),a=t((e,t)=>{for(let r of e)n.addNode(r,t),r.children&&r.children.length>0&&a(r.children,t+1)},`addNodesRecursively`);a(i,0)},`populate`),ce=t(e=>e.name?String(e.name):``,`getItemName`),X={parser:{yy:void 0},parse:t(async t=>{try{let r=await e(`treemap`,t);n.debug(`Treemap AST:`,r);let i=X.parser?.yy;if(!(i instanceof J))throw Error(`parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.`);se(r,i)}catch(e){throw n.error(`Error parsing treemap:`,e),e}},`parse`)},Z=10,Q=10,$=25,le={draw:t((e,i,a,o)=>{let s=o.db,c=s.getConfig(),d=c.padding??Z,f=s.getDiagramTitle(),p=s.getRoot(),{themeVariables:m}=l();if(!p)return;let _=f?30:0,v=S(i),x=c.nodeWidth?c.nodeWidth*Q:960,C=c.nodeHeight?c.nodeHeight*Q:500,w=x,T=C+_;v.attr(`viewBox`,`0 0 ${w} ${T}`),u(v,T,w,c.useMaxWidth);let E;try{let e=c.valueFormat||`,`;if(e===`$0,0`)E=t(e=>`$`+g(`,`)(e),`valueFormat`);else if(e.startsWith(`$`)&&e.includes(`,`)){let n=/\.\d+/.exec(e),r=n?n[0]:``;E=t(e=>`$`+g(`,`+r)(e),`valueFormat`)}else if(e.startsWith(`$`)){let n=e.substring(1);E=t(e=>`$`+g(n||``)(e),`valueFormat`)}else E=g(e)}catch(e){n.error(`Error creating format function:`,e),E=g(`,`)}let D=h().range([`transparent`,m.cScale0,m.cScale1,m.cScale2,m.cScale3,m.cScale4,m.cScale5,m.cScale6,m.cScale7,m.cScale8,m.cScale9,m.cScale10,m.cScale11]),O=h().range([`transparent`,m.cScalePeer0,m.cScalePeer1,m.cScalePeer2,m.cScalePeer3,m.cScalePeer4,m.cScalePeer5,m.cScalePeer6,m.cScalePeer7,m.cScalePeer8,m.cScalePeer9,m.cScalePeer10,m.cScalePeer11]),k=h().range([m.cScaleLabel0,m.cScaleLabel1,m.cScaleLabel2,m.cScaleLabel3,m.cScaleLabel4,m.cScaleLabel5,m.cScaleLabel6,m.cScaleLabel7,m.cScaleLabel8,m.cScaleLabel9,m.cScaleLabel10,m.cScaleLabel11]);f&&v.append(`text`).attr(`x`,w/2).attr(`y`,_/2).attr(`class`,`treemapTitle`).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(f);let A=v.append(`g`).attr(`transform`,`translate(0, ${_})`).attr(`class`,`treemapContainer`),j=R(p).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),M=oe().size([x,C]).paddingTop(e=>e.children&&e.children.length>0?$+Q:0).paddingInner(d).paddingLeft(e=>e.children&&e.children.length>0?Q:0).paddingRight(e=>e.children&&e.children.length>0?Q:0).paddingBottom(e=>e.children&&e.children.length>0?Q:0).round(!0)(j),N=M.descendants().filter(e=>e.children&&e.children.length>0),P=A.selectAll(`.treemapSection`).data(N).enter().append(`g`).attr(`class`,`treemapSection`).attr(`transform`,e=>`translate(${e.x0},${e.y0})`);P.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,$).attr(`class`,`treemapSectionHeader`).attr(`fill`,`none`).attr(`fill-opacity`,.6).attr(`stroke-width`,.6).attr(`style`,e=>e.depth===0?`display: none;`:``),P.append(`clipPath`).attr(`id`,(e,t)=>`clip-section-${i}-${t}`).append(`rect`).attr(`width`,e=>Math.max(0,e.x1-e.x0-12)).attr(`height`,$),P.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,e=>e.y1-e.y0).attr(`class`,(e,t)=>`treemapSection section${t}`).attr(`fill`,e=>D(e.data.name)).attr(`fill-opacity`,.6).attr(`stroke`,e=>O(e.data.name)).attr(`stroke-width`,2).attr(`stroke-opacity`,.4).attr(`style`,e=>{if(e.depth===0)return`display: none;`;let t=b({cssCompiledStyles:e.data.cssCompiledStyles});return t.nodeStyles+`;`+t.borderStyles.join(`;`)}),P.append(`text`).attr(`class`,`treemapSectionLabel`).attr(`x`,6).attr(`y`,$/2).attr(`dominant-baseline`,`middle`).text(e=>e.depth===0?``:e.data.name).attr(`font-weight`,`bold`).attr(`clip-path`,(e,t)=>`url(#clip-section-${i}-${t})`).attr(`style`,e=>e.depth===0?`display: none;`:`dominant-baseline: middle; font-size: 12px; fill:`+k(e.data.name)+`; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`+b({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).each(function(e){if(e.depth===0)return;let t=r(this),n=e.data.name;t.text(n);let i=e.x1-e.x0,a;a=c.showValues!==!1&&e.value?i-10-30-10-6:i-6-6;let o=Math.max(15,a),s=t.node();if(s.getComputedTextLength()>o){let e=n;for(;e.length>0;){if(e=n.substring(0,e.length-1),e.length===0){t.text(`...`),s.getComputedTextLength()>o&&t.text(``);break}if(t.text(e+`...`),s.getComputedTextLength()<=o)break}}}),c.showValues!==!1&&P.append(`text`).attr(`class`,`treemapSectionValue`).attr(`x`,e=>e.x1-e.x0-10).attr(`y`,$/2).attr(`text-anchor`,`end`).attr(`dominant-baseline`,`middle`).text(e=>e.value?E(e.value):``).attr(`font-style`,`italic`).attr(`style`,e=>e.depth===0?`display: none;`:`text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:`+k(e.data.name)+`; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`+b({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`));let F=M.leaves(),I=F.length>20,L=I?16:38,z=I?14:28,B=I?4:8,V=I?4:6,H=I?2:4,U=I?8:10,W=I?1:2,G=A.selectAll(`.treemapLeafGroup`).data(F).enter().append(`g`).attr(`class`,(e,t)=>`treemapNode treemapLeafGroup leaf${t}${e.data.classSelector?` ${e.data.classSelector}`:``}x`).attr(`transform`,e=>`translate(${e.x0},${e.y0})`);G.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,e=>e.y1-e.y0).attr(`class`,`treemapLeaf`).attr(`fill`,e=>e.parent?D(e.parent.data.name):D(e.data.name)).attr(`style`,e=>b({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr(`fill-opacity`,.3).attr(`stroke`,e=>e.parent?D(e.parent.data.name):D(e.data.name)).attr(`stroke-width`,3),G.append(`clipPath`).attr(`id`,(e,t)=>`clip-${i}-${t}`).append(`rect`).attr(`width`,e=>Math.max(0,e.x1-e.x0-4)).attr(`height`,e=>Math.max(0,e.y1-e.y0-4)),G.append(`text`).attr(`class`,`treemapLabel`).attr(`x`,e=>(e.x1-e.x0)/2).attr(`y`,e=>(e.y1-e.y0)/2).attr(`style`,e=>`text-anchor: middle; dominant-baseline: middle; font-size: ${L}px;fill:`+k(e.data.name)+`;`+b({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).attr(`clip-path`,(e,t)=>`url(#clip-${i}-${t})`).text(e=>e.data.name).each(function(e){let t=r(this),n=e.x1-e.x0,i=e.y1-e.y0,a=t.node(),o=n-2*H,s=i-2*H;if(o<U||s<U){t.style(`display`,`none`);return}let c=parseInt(t.style(`font-size`),10),l=.6;for(;a.getComputedTextLength()>o&&c>B;)c--,t.style(`font-size`,`${c}px`);let u=Math.max(V,Math.min(z,Math.round(c*l))),d=c+W+u;for(;d>s&&c>B&&(c--,u=Math.max(V,Math.min(z,Math.round(c*l))),!(u<V&&c===B));)t.style(`font-size`,`${c}px`),d=c+W+u;t.style(`font-size`,`${c}px`),I?(c<B||s<B)&&t.style(`display`,`none`):(a.getComputedTextLength()>o||c<B||s<c)&&t.style(`display`,`none`)}),c.showValues!==!1&&G.append(`text`).attr(`class`,`treemapValue`).attr(`x`,e=>(e.x1-e.x0)/2).attr(`y`,function(e){return(e.y1-e.y0)/2}).attr(`style`,e=>`text-anchor: middle; dominant-baseline: hanging; font-size: ${z}px;fill:`+k(e.data.name)+`;`+b({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).attr(`clip-path`,(e,t)=>`url(#clip-${i}-${t})`).text(e=>e.value?E(e.value):``).each(function(e){let t=r(this),n=this.parentNode;if(!n){t.style(`display`,`none`);return}let i=r(n).select(`.treemapLabel`);if(i.empty()||i.style(`display`)===`none`){t.style(`display`,`none`);return}let a=parseFloat(i.style(`font-size`)),o=Math.max(V,Math.min(z,Math.round(a*.6)));t.style(`font-size`,`${o}px`);let s=(e.y1-e.y0)/2+a/2+W;t.attr(`y`,s);let c=e.x1-e.x0,l=e.y1-e.y0-4,u=c-2*H;t.node().getComputedTextLength()>u||s+o>l||o<V?t.style(`display`,`none`):t.style(`display`,null)});let K=c.diagramPadding??8;y(v,K,`flowchart`,c?.useMaxWidth||!1)},`draw`),getClasses:t(function(e,t){return t.db.getClasses()},`getClasses`)},ue={sectionStrokeColor:`black`,sectionStrokeWidth:`1`,sectionFillColor:`#efefef`,leafStrokeColor:`black`,leafStrokeWidth:`1`,leafFillColor:`#efefef`,labelFontSize:`12px`,valueFontSize:`10px`,titleFontSize:`14px`},de={parser:X,get db(){return new J},renderer:le,styles:t(({treemap:e}={})=>{let t=i(),n=l(),r=_(t,n.themeVariables),a=_(ue,e),o=a.titleColor??r.titleColor,s=a.labelColor??r.textColor,c=a.valueColor??r.textColor;return`
|
|
2
|
-
.treemapNode.section {
|
|
3
|
-
stroke: ${a.sectionStrokeColor};
|
|
4
|
-
stroke-width: ${a.sectionStrokeWidth};
|
|
5
|
-
fill: ${a.sectionFillColor};
|
|
6
|
-
}
|
|
7
|
-
.treemapNode.leaf {
|
|
8
|
-
stroke: ${a.leafStrokeColor};
|
|
9
|
-
stroke-width: ${a.leafStrokeWidth};
|
|
10
|
-
fill: ${a.leafFillColor};
|
|
11
|
-
}
|
|
12
|
-
.treemapLabel {
|
|
13
|
-
fill: ${s};
|
|
14
|
-
font-size: ${a.labelFontSize};
|
|
15
|
-
}
|
|
16
|
-
.treemapValue {
|
|
17
|
-
fill: ${c};
|
|
18
|
-
font-size: ${a.valueFontSize};
|
|
19
|
-
}
|
|
20
|
-
.treemapTitle {
|
|
21
|
-
fill: ${o};
|
|
22
|
-
font-size: ${a.titleFontSize};
|
|
23
|
-
}
|
|
24
|
-
`},`getStyles`)};export{de as diagram};
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./mermaid-parser.core-D2z7ZOcE.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as n}from"./src-B6xuSHsQ.js";import{D as r,H as i,K as a,U as o,a as s,b as c,c as l,f as u,v as d,w as f,y as p}from"./chunk-I66GZJ75-PkPnHXQJ.js";import{i as m}from"./chunk-NSK5VX7P-CiYrTyo0.js";import{t as h}from"./chunk-JWPE2WC7-DVXcaiue.js";import{a as g}from"./mermaid.core-d5lQFkUm.js";var _={showLegend:!0,ticks:5,max:null,min:0,graticule:`circle`},v=32,y={axes:[],curves:[],options:_},b=structuredClone(y),x=u.radar,S=t(()=>m({...x,...c().radar}),`getConfig`),C=t(()=>b.axes,`getAxes`),w=t(()=>b.curves,`getCurves`),T=t(()=>b.options,`getOptions`),E=t(e=>{b.axes=e.map(e=>({name:e.name,label:e.label??e.name}))},`setAxes`),D=t(e=>{b.curves=e.map(e=>({name:e.name,label:e.label??e.name,entries:O(e.entries)}))},`setCurves`),O=t(e=>{if(e[0].axis==null)return e.map(e=>e.value);let t=C();if(t.length===0)throw Error(`Axes must be populated before curves for reference entries`);return t.map(t=>{let n=e.find(e=>e.axis?.$refText===t.name);if(n===void 0)throw Error(`Missing entry for axis `+t.label);return n.value})},`computeCurveEntries`),k={getAxes:C,getCurves:w,getOptions:T,setAxes:E,setCurves:D,setOptions:t(e=>{let t=e.reduce((e,t)=>(e[t.name]=t,e),{});b.options={showLegend:t.showLegend?.value??_.showLegend,ticks:t.ticks?.value??_.ticks,max:t.max?.value??_.max,min:t.min?.value??_.min,graticule:t.graticule?.value??_.graticule},b.options.ticks>v&&(n.warn(`Radar diagram ticks (${b.options.ticks}) exceeds maximum allowed (${v}). Using ${v} instead.`),b.options.ticks=v)},`setOptions`),getConfig:S,clear:t(()=>{s(),b=structuredClone(y)},`clear`),setAccTitle:o,getAccTitle:p,setDiagramTitle:a,getDiagramTitle:f,getAccDescription:d,setAccDescription:i},A=t(e=>{h(e,k);let{axes:t,curves:n,options:r}=e;k.setAxes(t),k.setCurves(n),k.setOptions(r)},`populate`),j={parse:t(async t=>{let r=await e(`radar`,t);n.debug(r),A(r)},`parse`)},M=t((e,t,n,r)=>{let i=r.db,a=i.getAxes(),o=i.getCurves(),s=i.getOptions(),c=i.getConfig(),l=i.getDiagramTitle(),u=N(g(t),c),d=s.max??Math.max(...o.map(e=>Math.max(...e.entries))),f=s.min,p=Math.min(c.width,c.height)/2;P(u,a,p,s.ticks,s.graticule),F(u,a,p,c),I(u,a,o,f,d,s.graticule,c),z(u,o,s.showLegend,c),u.append(`text`).attr(`class`,`radarTitle`).text(l).attr(`x`,0).attr(`y`,-c.height/2-c.marginTop)},`draw`),N=t((e,t)=>{let n=t.width+t.marginLeft+t.marginRight,r=t.height+t.marginTop+t.marginBottom,i={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return l(e,r,n,t.useMaxWidth??!0),e.attr(`viewBox`,`0 0 ${n} ${r}`).attr(`overflow`,`visible`),e.append(`g`).attr(`transform`,`translate(${i.x}, ${i.y})`)},`drawFrame`),P=t((e,t,n,r,i)=>{if(i===`circle`)for(let t=0;t<r;t++){let i=n*(t+1)/r;e.append(`circle`).attr(`r`,i).attr(`class`,`radarGraticule`)}else if(i===`polygon`){let i=t.length;for(let a=0;a<r;a++){let o=n*(a+1)/r,s=t.map((e,t)=>{let n=2*t*Math.PI/i-Math.PI/2;return`${o*Math.cos(n)},${o*Math.sin(n)}`}).join(` `);e.append(`polygon`).attr(`points`,s).attr(`class`,`radarGraticule`)}}},`drawGraticule`),F=t((e,t,n,r)=>{let i=t.length;for(let a=0;a<i;a++){let o=t[a].label,s=2*a*Math.PI/i-Math.PI/2,c=Math.cos(s),l=Math.sin(s);e.append(`line`).attr(`x1`,0).attr(`y1`,0).attr(`x2`,n*r.axisScaleFactor*c).attr(`y2`,n*r.axisScaleFactor*l).attr(`class`,`radarAxisLine`);let u=c>.01?`start`:c<-.01?`end`:`middle`,d=l>.01?`hanging`:l<-.01?`auto`:`central`;e.append(`text`).text(o).attr(`x`,n*r.axisLabelFactor*c+4*c).attr(`y`,n*r.axisLabelFactor*l+4*l).attr(`text-anchor`,u).attr(`dominant-baseline`,d).attr(`class`,`radarAxisLabel`)}},`drawAxes`);function I(e,t,n,r,i,a,o){let s=t.length,c=Math.min(o.width,o.height)/2;n.forEach((t,n)=>{if(t.entries.length!==s)return;let l=t.entries.map((e,t)=>{let n=2*Math.PI*t/s-Math.PI/2,a=L(e,r,i,c);return{x:a*Math.cos(n),y:a*Math.sin(n)}});a===`circle`?e.append(`path`).attr(`d`,R(l,o.curveTension)).attr(`class`,`radarCurve-${n}`):a===`polygon`&&e.append(`polygon`).attr(`points`,l.map(e=>`${e.x},${e.y}`).join(` `)).attr(`class`,`radarCurve-${n}`)})}t(I,`drawCurves`);function L(e,t,n,r){return r*(Math.min(Math.max(e,t),n)-t)/(n-t)}t(L,`relativeRadius`);function R(e,t){let n=e.length,r=`M${e[0].x},${e[0].y}`;for(let i=0;i<n;i++){let a=e[(i-1+n)%n],o=e[i],s=e[(i+1)%n],c=e[(i+2)%n],l={x:o.x+(s.x-a.x)*t,y:o.y+(s.y-a.y)*t},u={x:s.x-(c.x-o.x)*t,y:s.y-(c.y-o.y)*t};r+=` C${l.x},${l.y} ${u.x},${u.y} ${s.x},${s.y}`}return`${r} Z`}t(R,`closedRoundCurve`);function z(e,t,n,r){if(!n)return;let i=(r.width/2+r.marginRight)*3/4,a=-(r.height/2+r.marginTop)*3/4;t.forEach((t,n)=>{let r=e.append(`g`).attr(`transform`,`translate(${i}, ${a+n*20})`);r.append(`rect`).attr(`width`,12).attr(`height`,12).attr(`class`,`radarLegendBox-${n}`),r.append(`text`).attr(`x`,16).attr(`y`,0).attr(`class`,`radarLegendText`).text(t.label)})}t(z,`drawLegend`);var B={draw:M},V=t((e,t)=>{let n=``;for(let r=0;r<e.THEME_COLOR_LIMIT;r++){let i=e[`cScale${r}`];n+=`
|
|
2
|
-
.radarCurve-${r} {
|
|
3
|
-
color: ${i};
|
|
4
|
-
fill: ${i};
|
|
5
|
-
fill-opacity: ${t.curveOpacity};
|
|
6
|
-
stroke: ${i};
|
|
7
|
-
stroke-width: ${t.curveStrokeWidth};
|
|
8
|
-
}
|
|
9
|
-
.radarLegendBox-${r} {
|
|
10
|
-
fill: ${i};
|
|
11
|
-
fill-opacity: ${t.curveOpacity};
|
|
12
|
-
stroke: ${i};
|
|
13
|
-
}
|
|
14
|
-
`}return n},`genIndexStyles`),H=t(e=>{let t=r(),n=c(),i=m(t,n.themeVariables);return{themeVariables:i,radarOptions:m(i.radar,e)}},`buildRadarStyleOptions`),U={parser:j,db:k,renderer:B,styles:t(({radar:e}={})=>{let{themeVariables:t,radarOptions:n}=H(e);return`
|
|
15
|
-
.radarTitle {
|
|
16
|
-
font-size: ${t.fontSize};
|
|
17
|
-
color: ${t.titleColor};
|
|
18
|
-
dominant-baseline: hanging;
|
|
19
|
-
text-anchor: middle;
|
|
20
|
-
}
|
|
21
|
-
.radarAxisLine {
|
|
22
|
-
stroke: ${n.axisColor};
|
|
23
|
-
stroke-width: ${n.axisStrokeWidth};
|
|
24
|
-
}
|
|
25
|
-
.radarAxisLabel {
|
|
26
|
-
font-size: ${n.axisLabelFontSize}px;
|
|
27
|
-
color: ${n.axisColor};
|
|
28
|
-
}
|
|
29
|
-
.radarGraticule {
|
|
30
|
-
fill: ${n.graticuleColor};
|
|
31
|
-
fill-opacity: ${n.graticuleOpacity};
|
|
32
|
-
stroke: ${n.graticuleColor};
|
|
33
|
-
stroke-width: ${n.graticuleStrokeWidth};
|
|
34
|
-
}
|
|
35
|
-
.radarLegendText {
|
|
36
|
-
text-anchor: start;
|
|
37
|
-
font-size: ${n.legendFontSize}px;
|
|
38
|
-
dominant-baseline: hanging;
|
|
39
|
-
}
|
|
40
|
-
${V(t,n)}
|
|
41
|
-
`},`styles`)};export{U as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{f as e,t}from"./mermaid-parser.core-D2z7ZOcE.js";import{n}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as r}from"./src-B6xuSHsQ.js";import"./chunk-I66GZJ75-PkPnHXQJ.js";import{n as i,r as a,t as o}from"./chunk-6Q2QTUOP-CcgtbZZN.js";import{t as s}from"./chunk-JWPE2WC7-DVXcaiue.js";import"./mermaid.core-d5lQFkUm.js";var c=e().RailroadEbnf.parser.LangiumParser,l=n(e=>{let t=e.alternatives.map(u);return t.length===1?t[0]:{type:`choice`,alternatives:t}},`transformChoice`),u=n(e=>{let t=e.elements.map(p);return t.length===1?t[0]:{type:`sequence`,elements:t}},`transformSequence`),d=n(e=>{switch(e.$type){case`EbnfTerminal`:return{type:`terminal`,value:e.value};case`EbnfNonTerminal`:return{type:`nonterminal`,name:e.name};case`EbnfSpecial`:return{type:`special`,text:e.text};case`EbnfGroup`:return l(e.element);case`EbnfOptional`:return{type:`optional`,element:l(e.element)};case`EbnfRepetition`:return{type:`repetition`,element:l(e.element),min:0,max:1/0};default:throw Error(`Unsupported EBNF primary node: ${e.$type}`)}},`transformPrimary`),f=n((e,t)=>{switch(t.$type){case`EbnfOptionalPostfix`:return{type:`optional`,element:e};case`EbnfZeroOrMorePostfix`:return{type:`repetition`,element:e,min:0,max:1/0};case`EbnfOneOrMorePostfix`:return{type:`repetition`,element:e,min:1,max:1/0};case`EbnfExceptionPostfix`:return{type:`sequence`,elements:[e,{type:`terminal`,value:`-`},d(t.except)]};default:throw Error(`Unsupported EBNF postfix node: ${t.$type}`)}},`transformPostfix`),p=n(e=>e.postfixes.reduce((e,t)=>f(e,t),d(e.base)),`transformTerm`),m=n(e=>({name:e.name,definition:l(e.definition)}),`transformRule`),h=n(e=>{s(e,o),e.title&&o.setTitle(e.title),e.rules.map(e=>o.addRule(m(e)))},`populateDb`),g={parser:{parse:n(e=>{o.clear(),r.debug(`[EBNF Parser] Starting Langium parse`);let n=c.parse(e);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new t(n);let i=n.value;r.debug(`[EBNF Parser] Parsed rules:`,i.rules.length),h(i),r.debug(`[EBNF Parser] Parse complete`)},`parse`),parser:{yy:o}},db:o,renderer:a,styles:i};export{g as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./chunk-KEIR6QF5-BICK3FdT.js";import{O as e}from"./mermaid-parser.core-D2z7ZOcE.js";export{e as createEventModelingServices};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./src-B6xuSHsQ.js";import"./chunk-I66GZJ75-PkPnHXQJ.js";import"./chunk-NSK5VX7P-CiYrTyo0.js";import"./chunk-4I5QYGJK-CMh2oglh.js";import"./chunk-WRU74C26-lur1bNcP.js";import"./chunk-7BUUIJ7U-Bb538aSH.js";import"./chunk-UBXNYLIW-Cu8_QUds.js";import"./chunk-2GRJ4B5K-DeUANCIz.js";import"./chunk-XXDRQBXY-DqAYeljN.js";import"./chunk-KBJHAD2P-CPGb1KEF.js";import"./chunk-W5SLKNZC-xEW_C207.js";import"./chunk-QR6OTTB3-Cxc4CBz3.js";import"./chunk-7Z6QIM7H-ktwy8mS7.js";import{n as e}from"./chunk-JQJVKLGR-C7Y_Zm_L.js";import"./mermaid.core-d5lQFkUm.js";export{e as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./chunk-KEIR6QF5-BICK3FdT.js";import{E as e}from"./mermaid-parser.core-D2z7ZOcE.js";export{e as createGitGraphServices};
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./mermaid-parser.core-D2z7ZOcE.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as n,p as r}from"./src-B6xuSHsQ.js";import{H as i,K as a,U as o,Y as s,a as c,b as l,f as u,s as d,v as f,w as p,x as m,y as h}from"./chunk-I66GZJ75-PkPnHXQJ.js";import{g,i as _,m as v}from"./chunk-NSK5VX7P-CiYrTyo0.js";import{t as y}from"./chunk-JWPE2WC7-DVXcaiue.js";import{t as b}from"./chunk-2Q5K7J3B-C1jixKkw.js";var x={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},ee=u.gitGraph,S=t(()=>_({...ee,...l().gitGraph}),`getConfig`),C=new b(()=>{let e=S(),t=e.mainBranchName,n=e.mainBranchOrder;return{mainBranchName:t,commits:new Map,head:null,branchConfig:new Map([[t,{name:t,order:n}]]),branches:new Map([[t,null]]),currBranch:t,direction:`LR`,seq:0,options:{}}});function w(){return v({length:7})}t(w,`getID`);function T(e,t){let n=Object.create(null);return e.reduce((e,r)=>{let i=t(r);return n[i]||(n[i]=!0,e.push(r)),e},[])}t(T,`uniqBy`);var te=t(function(e){C.records.direction=e},`setDirection`),ne=t(function(e){n.debug(`options str`,e),e=e?.trim(),e||=`{}`;try{C.records.options=JSON.parse(e)}catch(e){n.error(`error while parsing gitGraph options`,e.message)}},`setOptions`),re=t(function(){return C.records.options},`getOptions`),ie=t(function(e){let t=e.msg,r=e.id,i=e.type,a=e.tags;n.info(`commit`,t,r,i,a),n.debug(`Entering commit:`,t,r,i,a);let o=S();r=d.sanitizeText(r,o),t=d.sanitizeText(t,o),a=a?.map(e=>d.sanitizeText(e,o));let s={id:r||C.records.seq+`-`+w(),message:t,seq:C.records.seq++,type:i??x.NORMAL,tags:a??[],parents:C.records.head==null?[]:[C.records.head.id],branch:C.records.currBranch};C.records.head=s,n.info(`main branch`,o.mainBranchName),C.records.commits.has(s.id)&&n.warn(`Commit ID ${s.id} already exists`),C.records.commits.set(s.id,s),C.records.branches.set(C.records.currBranch,s.id),n.debug(`in pushCommit `+s.id)},`commit`),ae=t(function(e){let t=e.name,r=e.order;if(t=d.sanitizeText(t,S()),C.records.branches.has(t))throw Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${t}")`);C.records.branches.set(t,C.records.head==null?null:C.records.head.id),C.records.branchConfig.set(t,{name:t,order:r}),E(t),n.debug(`in createBranch`)},`branch`),oe=t(e=>{let t=e.branch,r=e.id,i=e.type,a=e.tags,o=S();t=d.sanitizeText(t,o),r&&=d.sanitizeText(r,o);let s=C.records.branches.get(C.records.currBranch),c=C.records.branches.get(t),l=s?C.records.commits.get(s):void 0,u=c?C.records.commits.get(c):void 0;if(l&&u&&l.branch===t)throw Error(`Cannot merge branch '${t}' into itself.`);if(C.records.currBranch===t){let e=Error(`Incorrect usage of "merge". Cannot merge a branch to itself`);throw e.hash={text:`merge ${t}`,token:`merge ${t}`,expected:[`branch abc`]},e}if(l===void 0||!l){let e=Error(`Incorrect usage of "merge". Current branch (${C.records.currBranch})has no commits`);throw e.hash={text:`merge ${t}`,token:`merge ${t}`,expected:[`commit`]},e}if(!C.records.branches.has(t)){let e=Error(`Incorrect usage of "merge". Branch to be merged (`+t+`) does not exist`);throw e.hash={text:`merge ${t}`,token:`merge ${t}`,expected:[`branch ${t}`]},e}if(u===void 0||!u){let e=Error(`Incorrect usage of "merge". Branch to be merged (`+t+`) has no commits`);throw e.hash={text:`merge ${t}`,token:`merge ${t}`,expected:[`"commit"`]},e}if(l===u){let e=Error(`Incorrect usage of "merge". Both branches have same head`);throw e.hash={text:`merge ${t}`,token:`merge ${t}`,expected:[`branch abc`]},e}if(r&&C.records.commits.has(r)){let e=Error(`Incorrect usage of "merge". Commit with id:`+r+` already exists, use different custom id`);throw e.hash={text:`merge ${t} ${r} ${i} ${a?.join(` `)}`,token:`merge ${t} ${r} ${i} ${a?.join(` `)}`,expected:[`merge ${t} ${r}_UNIQUE ${i} ${a?.join(` `)}`]},e}let f=c||``,p={id:r||`${C.records.seq}-${w()}`,message:`merged branch ${t} into ${C.records.currBranch}`,seq:C.records.seq++,parents:C.records.head==null?[]:[C.records.head.id,f],branch:C.records.currBranch,type:x.MERGE,customType:i,customId:!!r,tags:a??[]};C.records.head=p,C.records.commits.set(p.id,p),C.records.branches.set(C.records.currBranch,p.id),n.debug(C.records.branches),n.debug(`in mergeBranch`)},`merge`),se=t(function(e){let t=e.id,r=e.targetId,i=e.tags,a=e.parent;n.debug(`Entering cherryPick:`,t,r,i);let o=S();if(t=d.sanitizeText(t,o),r=d.sanitizeText(r,o),i=i?.map(e=>d.sanitizeText(e,o)),a=d.sanitizeText(a,o),!t||!C.records.commits.has(t)){let e=Error(`Incorrect usage of "cherryPick". Source commit id should exist and provided`);throw e.hash={text:`cherryPick ${t} ${r}`,token:`cherryPick ${t} ${r}`,expected:[`cherry-pick abc`]},e}let s=C.records.commits.get(t);if(s===void 0||!s)throw Error(`Incorrect usage of "cherryPick". Source commit id should exist and provided`);if(a&&!(Array.isArray(s.parents)&&s.parents.includes(a)))throw Error(`Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.`);let c=s.branch;if(s.type===x.MERGE&&!a)throw Error(`Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.`);if(!r||!C.records.commits.has(r)){if(c===C.records.currBranch){let e=Error(`Incorrect usage of "cherryPick". Source commit is already on current branch`);throw e.hash={text:`cherryPick ${t} ${r}`,token:`cherryPick ${t} ${r}`,expected:[`cherry-pick abc`]},e}let e=C.records.branches.get(C.records.currBranch);if(e===void 0||!e){let e=Error(`Incorrect usage of "cherry-pick". Current branch (${C.records.currBranch})has no commits`);throw e.hash={text:`cherryPick ${t} ${r}`,token:`cherryPick ${t} ${r}`,expected:[`cherry-pick abc`]},e}let o=C.records.commits.get(e);if(o===void 0||!o){let e=Error(`Incorrect usage of "cherry-pick". Current branch (${C.records.currBranch})has no commits`);throw e.hash={text:`cherryPick ${t} ${r}`,token:`cherryPick ${t} ${r}`,expected:[`cherry-pick abc`]},e}let l={id:C.records.seq+`-`+w(),message:`cherry-picked ${s?.message} into ${C.records.currBranch}`,seq:C.records.seq++,parents:C.records.head==null?[]:[C.records.head.id,s.id],branch:C.records.currBranch,type:x.CHERRY_PICK,tags:i?i.filter(Boolean):[`cherry-pick:${s.id}${s.type===x.MERGE?`|parent:${a}`:``}`]};C.records.head=l,C.records.commits.set(l.id,l),C.records.branches.set(C.records.currBranch,l.id),n.debug(C.records.branches),n.debug(`in cherryPick`)}},`cherryPick`),E=t(function(e){if(e=d.sanitizeText(e,S()),C.records.branches.has(e)){C.records.currBranch=e;let t=C.records.branches.get(C.records.currBranch);t===void 0||!t?C.records.head=null:C.records.head=C.records.commits.get(t)??null}else{let t=Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${e}")`);throw t.hash={text:`checkout ${e}`,token:`checkout ${e}`,expected:[`branch ${e}`]},t}},`checkout`);function D(e,t,n){let r=e.indexOf(t);r===-1?e.push(n):e.splice(r,1,n)}t(D,`upsert`);function O(e){let t=e.reduce((e,t)=>e.seq>t.seq?e:t,e[0]),r=``;e.forEach(function(e){r+=e===t?` *`:` |`});let i=[r,t.id,t.seq];for(let e in C.records.branches)C.records.branches.get(e)===t.id&&i.push(e);if(n.debug(i.join(` `)),t.parents&&t.parents.length==2&&t.parents[0]&&t.parents[1]){let n=C.records.commits.get(t.parents[0]);D(e,t,n),t.parents[1]&&e.push(C.records.commits.get(t.parents[1]))}else if(t.parents.length==0)return;else if(t.parents[0]){let n=C.records.commits.get(t.parents[0]);D(e,t,n)}e=T(e,e=>e.id),O(e)}t(O,`prettyPrintCommitHistory`);var ce=t(function(){n.debug(C.records.commits);let e=k()[0];O([e])},`prettyPrint`),le=t(function(){C.reset(),c()},`clear`),ue=t(function(){return[...C.records.branchConfig.values()].map((e,t)=>e.order!==null&&e.order!==void 0?e:{...e,order:parseFloat(`0.${t}`)}).sort((e,t)=>(e.order??0)-(t.order??0)).map(({name:e})=>({name:e}))},`getBranchesAsObjArray`),de=t(function(){return C.records.branches},`getBranches`),fe=t(function(){return C.records.commits},`getCommits`),k=t(function(){let e=[...C.records.commits.values()];return e.forEach(function(e){n.debug(e.id)}),e.sort((e,t)=>e.seq-t.seq),e},`getCommitsArray`),A={commitType:x,getConfig:S,setDirection:te,setOptions:ne,getOptions:re,commit:ie,branch:ae,merge:oe,cherryPick:se,checkout:E,prettyPrint:ce,clear:le,getBranchesAsObjArray:ue,getBranches:de,getCommits:fe,getCommitsArray:k,getCurrentBranch:t(function(){return C.records.currBranch},`getCurrentBranch`),getDirection:t(function(){return C.records.direction},`getDirection`),getHead:t(function(){return C.records.head},`getHead`),setAccTitle:o,getAccTitle:h,getAccDescription:f,setAccDescription:i,setDiagramTitle:a,getDiagramTitle:p},pe=t((e,t)=>{y(e,t),e.dir&&t.setDirection(e.dir);for(let n of e.statements)me(n,t)},`populate`),me=t((e,r)=>{let i={Commit:t(e=>r.commit(he(e)),`Commit`),Branch:t(e=>r.branch(ge(e)),`Branch`),Merge:t(e=>r.merge(_e(e)),`Merge`),Checkout:t(e=>r.checkout(ve(e)),`Checkout`),CherryPicking:t(e=>r.cherryPick(ye(e)),`CherryPicking`)}[e.$type];i?i(e):n.error(`Unknown statement type: ${e.$type}`)},`parseStatement`),he=t(e=>({id:e.id,msg:e.message??``,type:e.type===void 0?x.NORMAL:x[e.type],tags:e.tags??void 0}),`parseCommit`),ge=t(e=>({name:e.name,order:e.order??0}),`parseBranch`),_e=t(e=>({branch:e.branch,id:e.id??``,type:e.type===void 0?void 0:x[e.type],tags:e.tags??void 0}),`parseMerge`),ve=t(e=>e.branch,`parseCheckout`),ye=t(e=>({id:e.id,targetId:``,tags:e.tags?.length===0?void 0:e.tags,parent:e.parent}),`parseCherryPicking`),be={parse:t(async t=>{let r=await e(`gitGraph`,t);n.debug(r),pe(r,A)},`parse`)},j=10,M=40,N=4,P=2,F=8,I=new Set([`redux`,`redux-dark`,`redux-color`,`redux-dark-color`]),L=12,R=new Set([`redux-color`,`redux-dark-color`]),xe=new Set([`dark`,`redux-dark`,`redux-dark-color`,`neo-dark`]),z=t((e,t,n=!1)=>n&&e>0?(e-1)%(t-1)+1:e%t,`calcColorIndex`),B=new Map,V=new Map,H=30,U=new Map,W=[],G=0,K=`LR`,Se=t(()=>{B.clear(),V.clear(),U.clear(),G=0,W=[],K=`LR`},`clear`),q=t(e=>{let t=document.createElementNS(`http://www.w3.org/2000/svg`,`text`);return(typeof e==`string`?e.split(/\\n|\n|<br\s*\/?>/gi):e).forEach(e=>{let n=document.createElementNS(`http://www.w3.org/2000/svg`,`tspan`);n.setAttributeNS(`http://www.w3.org/XML/1998/namespace`,`xml:space`,`preserve`),n.setAttribute(`dy`,`1em`),n.setAttribute(`x`,`0`),n.setAttribute(`class`,`row`),n.textContent=e.trim(),t.appendChild(n)}),t},`drawText`),J=t(e=>{let n,r,i;return K===`BT`?(r=t((e,t)=>e<=t,`comparisonFunc`),i=1/0):(r=t((e,t)=>e>=t,`comparisonFunc`),i=0),e.forEach(e=>{let t=K===`TB`||K==`BT`?V.get(e)?.y:V.get(e)?.x;t!==void 0&&r(t,i)&&(n=e,i=t)}),n},`findClosestParent`),Ce=t(e=>{let t=``,n=1/0;return e.forEach(e=>{let r=V.get(e).y;r<=n&&(t=e,n=r)}),t||void 0},`findClosestParentBT`),we=t((e,t,n)=>{let r=n,i=n,a=[];e.forEach(e=>{let n=t.get(e);if(!n)throw Error(`Commit not found for key ${e}`);n.parents.length?(r=Ee(n),i=Math.max(r,i)):a.push(n),De(n,r)}),r=i,a.forEach(e=>{Oe(e,r,n)}),e.forEach(e=>{let n=t.get(e);if(n?.parents.length){let e=Ce(n.parents);r=V.get(e).y-M,r<=i&&(i=r);let t=B.get(n.branch).pos,a=r-j;V.set(n.id,{x:t,y:a})}})},`setParallelBTPos`),Te=t(e=>{let t=J(e.parents.filter(e=>e!==null));if(!t)throw Error(`Closest parent not found for commit ${e.id}`);let n=V.get(t)?.y;if(n===void 0)throw Error(`Closest parent position not found for commit ${e.id}`);return n},`findClosestParentPos`),Ee=t(e=>Te(e)+M,`calculateCommitPosition`),De=t((e,t)=>{let n=B.get(e.branch);if(!n)throw Error(`Branch not found for commit ${e.id}`);let r=n.pos,i=t+j;return V.set(e.id,{x:r,y:i}),{x:r,y:i}},`setCommitPosition`),Oe=t((e,t,n)=>{let r=B.get(e.branch);if(!r)throw Error(`Branch not found for commit ${e.id}`);let i=t+n,a=r.pos;V.set(e.id,{x:a,y:i})},`setRootPosition`),ke=t((e,t,n,r,i,a)=>{let{theme:o}=m(),s=I.has(o??``),c=R.has(o??``),l=xe.has(o??``);if(a===x.HIGHLIGHT)e.append(`rect`).attr(`x`,n.x-10+(s?3:0)).attr(`y`,n.y-10+(s?3:0)).attr(`width`,s?14:20).attr(`height`,s?14:20).attr(`class`,`commit ${t.id} commit-highlight${z(i,F,c)} ${r}-outer`),e.append(`rect`).attr(`x`,n.x-6+(s?2:0)).attr(`y`,n.y-6+(s?2:0)).attr(`width`,s?8:12).attr(`height`,s?8:12).attr(`class`,`commit ${t.id} commit${z(i,F,c)} ${r}-inner`);else if(a===x.CHERRY_PICK)e.append(`circle`).attr(`cx`,n.x).attr(`cy`,n.y).attr(`r`,s?7:10).attr(`class`,`commit ${t.id} ${r}`),e.append(`circle`).attr(`cx`,n.x-3).attr(`cy`,n.y+2).attr(`r`,s?2.5:2.75).attr(`fill`,l?`#000000`:`#fff`).attr(`class`,`commit ${t.id} ${r}`),e.append(`circle`).attr(`cx`,n.x+3).attr(`cy`,n.y+2).attr(`r`,s?2.5:2.75).attr(`fill`,l?`#000000`:`#fff`).attr(`class`,`commit ${t.id} ${r}`),e.append(`line`).attr(`x1`,n.x+3).attr(`y1`,n.y+1).attr(`x2`,n.x).attr(`y2`,n.y-5).attr(`stroke`,l?`#000000`:`#fff`).attr(`class`,`commit ${t.id} ${r}`),e.append(`line`).attr(`x1`,n.x-3).attr(`y1`,n.y+1).attr(`x2`,n.x).attr(`y2`,n.y-5).attr(`stroke`,l?`#000000`:`#fff`).attr(`class`,`commit ${t.id} ${r}`);else{let o=e.append(`circle`);if(o.attr(`cx`,n.x),o.attr(`cy`,n.y),o.attr(`r`,s?7:10),o.attr(`class`,`commit ${t.id} commit${z(i,F,c)}`),a===x.MERGE){let a=e.append(`circle`);a.attr(`cx`,n.x),a.attr(`cy`,n.y),a.attr(`r`,s?5:6),a.attr(`class`,`commit ${r} ${t.id} commit${z(i,F,c)}`)}if(a===x.REVERSE){let a=e.append(`path`),o=s?4:5;a.attr(`d`,`M ${n.x-o},${n.y-o}L${n.x+o},${n.y+o}M${n.x-o},${n.y+o}L${n.x+o},${n.y-o}`).attr(`class`,`commit ${r} ${t.id} commit${z(i,F,c)}`)}}},`drawCommitBullet`),Ae=t((e,t,n,r,i)=>{if(t.type!==x.CHERRY_PICK&&(t.customId&&t.type===x.MERGE||t.type!==x.MERGE)&&i.showCommitLabel){let a=e.append(`g`),o=a.insert(`rect`).attr(`class`,`commit-label-bkg`),s=a.append(`text`).attr(`x`,r).attr(`y`,n.y+25).attr(`class`,`commit-label`).text(t.id),c=s.node()?.getBBox();if(c&&(o.attr(`x`,n.posWithOffset-c.width/2-P).attr(`y`,n.y+13.5).attr(`width`,c.width+2*P).attr(`height`,c.height+2*P),K===`TB`||K===`BT`?(o.attr(`x`,n.x-(c.width+4*N+5)).attr(`y`,n.y-12),s.attr(`x`,n.x-(c.width+4*N)).attr(`y`,n.y+c.height-12)):s.attr(`x`,n.posWithOffset-c.width/2),i.rotateCommitLabel)){if(K===`TB`||K===`BT`)s.attr(`transform`,`rotate(-45, `+n.x+`, `+n.y+`)`),o.attr(`transform`,`rotate(-45, `+n.x+`, `+n.y+`)`);else{let e=-7.5-(c.width+10)/25*9.5,t=10+c.width/25*8.5;a.attr(`transform`,`translate(`+e+`, `+t+`) rotate(-45, `+r+`, `+n.y+`)`)}}}},`drawCommitLabel`),je=t((e,t,n,r)=>{if(t.tags.length>0){let i=0,a=0,o=0,s=[];for(let r of t.tags.reverse()){let t=e.insert(`polygon`),c=e.append(`circle`),l=e.append(`text`).attr(`y`,n.y-16-i).attr(`class`,`tag-label`).text(r),u=l.node()?.getBBox();if(!u)throw Error(`Tag bbox not found`);a=Math.max(a,u.width),o=Math.max(o,u.height),l.attr(`x`,n.posWithOffset-u.width/2),s.push({tag:l,hole:c,rect:t,yOffset:i}),i+=20}for(let{tag:e,hole:t,rect:i,yOffset:c}of s){let s=o/2,l=n.y-19.2-c;if(i.attr(`class`,`tag-label-bkg`).attr(`points`,`
|
|
2
|
-
${r-a/2-N/2},${l+P}
|
|
3
|
-
${r-a/2-N/2},${l-P}
|
|
4
|
-
${n.posWithOffset-a/2-N},${l-s-P}
|
|
5
|
-
${n.posWithOffset+a/2+N},${l-s-P}
|
|
6
|
-
${n.posWithOffset+a/2+N},${l+s+P}
|
|
7
|
-
${n.posWithOffset-a/2-N},${l+s+P}`),t.attr(`cy`,l).attr(`cx`,r-a/2+N/2).attr(`r`,1.5).attr(`class`,`tag-hole`),K===`TB`||K===`BT`){let o=r+c;i.attr(`class`,`tag-label-bkg`).attr(`points`,`
|
|
8
|
-
${n.x},${o+2}
|
|
9
|
-
${n.x},${o-2}
|
|
10
|
-
${n.x+j},${o-s-2}
|
|
11
|
-
${n.x+j+a+4},${o-s-2}
|
|
12
|
-
${n.x+j+a+4},${o+s+2}
|
|
13
|
-
${n.x+j},${o+s+2}`).attr(`transform`,`translate(12,12) rotate(45, `+n.x+`,`+r+`)`),t.attr(`cx`,n.x+N/2).attr(`cy`,o).attr(`transform`,`translate(12,12) rotate(45, `+n.x+`,`+r+`)`),e.attr(`x`,n.x+5).attr(`y`,o+3).attr(`transform`,`translate(14,14) rotate(45, `+n.x+`,`+r+`)`)}}}},`drawCommitTags`),Me=t(e=>{switch(e.customType??e.type){case x.NORMAL:return`commit-normal`;case x.REVERSE:return`commit-reverse`;case x.HIGHLIGHT:return`commit-highlight`;case x.MERGE:return`commit-merge`;case x.CHERRY_PICK:return`commit-cherry-pick`;default:return`commit-normal`}},`getCommitClassType`),Ne=t((e,t,n,r)=>{let i={x:0,y:0};if(e.parents.length>0){let n=J(e.parents);if(n){let a=r.get(n)??i;return t===`TB`?a.y+M:t===`BT`?(r.get(e.id)??i).y-M:a.x+M}}else if(t===`TB`)return H;else if(t===`BT`)return(r.get(e.id)??i).y-M;else return 0;return 0},`calculatePosition`),Pe=t((e,t,n)=>{let r=K===`BT`&&n?t:t+j,i=B.get(e.branch)?.pos,a=K===`TB`||K===`BT`?B.get(e.branch)?.pos:r;if(a===void 0||i===void 0)throw Error(`Position were undefined for commit ${e.id}`);let o=I.has(m().theme??``);return{x:a,y:K===`TB`||K===`BT`?r:i+(o?L/2+1:-2),posWithOffset:r}},`getCommitPosition`),Y=t((e,n,r,i)=>{let a=e.append(`g`).attr(`class`,`commit-bullets`),o=e.append(`g`).attr(`class`,`commit-labels`),s=K===`TB`||K===`BT`?H:0,c=[...n.keys()],l=i.parallelCommits??!1,u=t((e,t)=>{let r=n.get(e)?.seq,i=n.get(t)?.seq;return r!==void 0&&i!==void 0?r-i:0},`sortKeys`),d=c.sort(u);K===`BT`&&(l&&we(d,n,s),d=d.reverse()),d.forEach(e=>{let t=n.get(e);if(!t)throw Error(`Commit not found for key ${e}`);l&&(s=Ne(t,K,s,V));let c=Pe(t,s,l);if(r){let e=Me(t),n=t.customType??t.type,r=B.get(t.branch)?.index??0;ke(a,t,c,e,r,n),Ae(o,t,c,s,i),je(o,t,c,s)}K===`TB`||K===`BT`?V.set(t.id,{x:c.x,y:c.posWithOffset}):V.set(t.id,{x:c.posWithOffset,y:c.y}),s=K===`BT`&&l?s+M:s+M+j,s>G&&(G=s)})},`drawCommits`),Fe=t((e,n,r,i,a)=>{let o=(K===`TB`||K===`BT`?r.x<i.x:r.y<i.y)?n.branch:e.branch,s=t(e=>e.branch===o,`isOnBranchToGetCurve`),c=t(t=>t.seq>e.seq&&t.seq<n.seq,`isBetweenCommits`);return[...a.values()].some(e=>c(e)&&s(e))},`shouldRerouteArrow`),X=t((e,t,n=0)=>{let r=e+Math.abs(e-t)/2;return n>5?r:W.every(e=>Math.abs(e-r)>=10)?(W.push(r),r):X(e,t-Math.abs(e-t)/5,n+1)},`findLane`),Ie=t((e,t,n,r)=>{let{theme:i}=m(),a=R.has(i??``),o=V.get(t.id),s=V.get(n.id);if(o===void 0||s===void 0)throw Error(`Commit positions not found for commits ${t.id} and ${n.id}`);let c=Fe(t,n,o,s,r),l=``,u=``,d=0,f=0,p=B.get(n.branch)?.index;n.type===x.MERGE&&t.id!==n.parents[0]&&(p=B.get(t.branch)?.index);let h;if(c){l=`A 10 10, 0, 0, 0,`,u=`A 10 10, 0, 0, 1,`,d=10,f=10;let e=o.y<s.y?X(o.y,s.y):X(s.y,o.y),n=o.x<s.x?X(o.x,s.x):X(s.x,o.x);K===`TB`?o.x<s.x?h=`M ${o.x} ${o.y} L ${n-d} ${o.y} ${u} ${n} ${o.y+f} L ${n} ${s.y-d} ${l} ${n+f} ${s.y} L ${s.x} ${s.y}`:(p=B.get(t.branch)?.index,h=`M ${o.x} ${o.y} L ${n+d} ${o.y} ${l} ${n} ${o.y+f} L ${n} ${s.y-d} ${u} ${n-f} ${s.y} L ${s.x} ${s.y}`):K===`BT`?o.x<s.x?h=`M ${o.x} ${o.y} L ${n-d} ${o.y} ${l} ${n} ${o.y-f} L ${n} ${s.y+d} ${u} ${n+f} ${s.y} L ${s.x} ${s.y}`:(p=B.get(t.branch)?.index,h=`M ${o.x} ${o.y} L ${n+d} ${o.y} ${u} ${n} ${o.y-f} L ${n} ${s.y+d} ${l} ${n-f} ${s.y} L ${s.x} ${s.y}`):o.y<s.y?h=`M ${o.x} ${o.y} L ${o.x} ${e-d} ${l} ${o.x+f} ${e} L ${s.x-d} ${e} ${u} ${s.x} ${e+f} L ${s.x} ${s.y}`:(p=B.get(t.branch)?.index,h=`M ${o.x} ${o.y} L ${o.x} ${e+d} ${u} ${o.x+f} ${e} L ${s.x-d} ${e} ${l} ${s.x} ${e-f} L ${s.x} ${s.y}`)}else l=`A 20 20, 0, 0, 0,`,u=`A 20 20, 0, 0, 1,`,d=20,f=20,K===`TB`?(o.x<s.x&&(h=n.type===x.MERGE&&t.id!==n.parents[0]?`M ${o.x} ${o.y} L ${o.x} ${s.y-d} ${l} ${o.x+f} ${s.y} L ${s.x} ${s.y}`:`M ${o.x} ${o.y} L ${s.x-d} ${o.y} ${u} ${s.x} ${o.y+f} L ${s.x} ${s.y}`),o.x>s.x&&(l=`A 20 20, 0, 0, 0,`,u=`A 20 20, 0, 0, 1,`,d=20,f=20,h=n.type===x.MERGE&&t.id!==n.parents[0]?`M ${o.x} ${o.y} L ${o.x} ${s.y-d} ${u} ${o.x-f} ${s.y} L ${s.x} ${s.y}`:`M ${o.x} ${o.y} L ${s.x+d} ${o.y} ${l} ${s.x} ${o.y+f} L ${s.x} ${s.y}`),o.x===s.x&&(h=`M ${o.x} ${o.y} L ${s.x} ${s.y}`)):K===`BT`?(o.x<s.x&&(h=n.type===x.MERGE&&t.id!==n.parents[0]?`M ${o.x} ${o.y} L ${o.x} ${s.y+d} ${u} ${o.x+f} ${s.y} L ${s.x} ${s.y}`:`M ${o.x} ${o.y} L ${s.x-d} ${o.y} ${l} ${s.x} ${o.y-f} L ${s.x} ${s.y}`),o.x>s.x&&(l=`A 20 20, 0, 0, 0,`,u=`A 20 20, 0, 0, 1,`,d=20,f=20,h=n.type===x.MERGE&&t.id!==n.parents[0]?`M ${o.x} ${o.y} L ${o.x} ${s.y+d} ${l} ${o.x-f} ${s.y} L ${s.x} ${s.y}`:`M ${o.x} ${o.y} L ${s.x+d} ${o.y} ${u} ${s.x} ${o.y-f} L ${s.x} ${s.y}`),o.x===s.x&&(h=`M ${o.x} ${o.y} L ${s.x} ${s.y}`)):(o.y<s.y&&(h=n.type===x.MERGE&&t.id!==n.parents[0]?`M ${o.x} ${o.y} L ${s.x-d} ${o.y} ${u} ${s.x} ${o.y+f} L ${s.x} ${s.y}`:`M ${o.x} ${o.y} L ${o.x} ${s.y-d} ${l} ${o.x+f} ${s.y} L ${s.x} ${s.y}`),o.y>s.y&&(h=n.type===x.MERGE&&t.id!==n.parents[0]?`M ${o.x} ${o.y} L ${s.x-d} ${o.y} ${l} ${s.x} ${o.y-f} L ${s.x} ${s.y}`:`M ${o.x} ${o.y} L ${o.x} ${s.y+d} ${u} ${o.x+f} ${s.y} L ${s.x} ${s.y}`),o.y===s.y&&(h=`M ${o.x} ${o.y} L ${s.x} ${s.y}`));if(h===void 0)throw Error(`Line definition not found`);e.append(`path`).attr(`d`,h).attr(`class`,`arrow arrow`+z(p,F,a))},`drawArrow`),Le=t((e,t)=>{let n=e.append(`g`).attr(`class`,`commit-arrows`);[...t.keys()].forEach(e=>{let r=t.get(e);r.parents&&r.parents.length>0&&r.parents.forEach(e=>{Ie(n,t.get(e),r,t)})})},`drawArrows`),Re=t((e,t,n,r)=>{let{look:i,theme:a,themeVariables:o}=m(),{dropShadow:s,THEME_COLOR_LIMIT:c}=o,l=I.has(a??``),u=R.has(a??``),d=e.append(`g`);t.forEach((e,t)=>{let a=z(t,l?c:F,u),o=B.get(e.name)?.pos;if(o===void 0)throw Error(`Position not found for branch ${e.name}`);let f=K===`TB`||K===`BT`?o:l?o+L/2+1:o-2,p=d.append(`line`);p.attr(`x1`,0),p.attr(`y1`,f),p.attr(`x2`,G),p.attr(`y2`,f),p.attr(`class`,`branch branch`+a),K===`TB`?(p.attr(`y1`,H),p.attr(`x1`,o),p.attr(`y2`,G),p.attr(`x2`,o)):K===`BT`&&(p.attr(`y1`,G),p.attr(`x1`,o),p.attr(`y2`,H),p.attr(`x2`,o)),W.push(f);let m=e.name,h=q(m),g=d.insert(`rect`),_=d.insert(`g`).attr(`class`,`branchLabel`).insert(`g`).attr(`class`,`label branch-label`+a);_.node().appendChild(h);let v=h.getBBox(),y=l?0:4,b=l?16:0,x=l?L:0;i===`neo`&&g.attr(`data-look`,`neo`),g.attr(`class`,`branchLabelBkg label`+a).attr(`style`,i===`neo`?`filter:${l?`url(#${r}-drop-shadow)`:s}`:``).attr(`rx`,y).attr(`ry`,y).attr(`x`,-v.width-4-(n.rotateCommitLabel===!0?30:0)).attr(`y`,-v.height/2+10).attr(`width`,v.width+18+b).attr(`height`,v.height+4+x),_.attr(`transform`,`translate(`+(-v.width-14-(n.rotateCommitLabel===!0?30:0)+b/2)+`, `+(f-v.height/2-2)+`)`),K===`TB`?(g.attr(`x`,o-v.width/2-10).attr(`y`,0),_.attr(`transform`,`translate(`+(o-v.width/2-5)+`, 0)`),l&&(g.attr(`transform`,`translate(${-b/2-3}, ${-x-10})`),_.attr(`transform`,`translate(`+(o-v.width/2-5)+`, `+(-x*2+7)+`)`))):K===`BT`?(g.attr(`x`,o-v.width/2-10).attr(`y`,G),_.attr(`transform`,`translate(`+(o-v.width/2-5)+`, `+G+`)`),l&&(g.attr(`transform`,`translate(${-b/2-3}, ${x+10})`),_.attr(`transform`,`translate(`+(o-v.width/2-5)+`, `+(G+x*2+4)+`)`))):g.attr(`transform`,`translate(-19, `+(f-12-x/2)+`)`)})},`drawBranches`),ze=t(function(e,t,n,r,i){return B.set(e,{pos:t,index:n}),t+=50+(i?40:0)+(K===`TB`||K===`BT`?r.width/2:0),t},`setBranchPosition`),Be={draw:t(function(e,t,i,a){Se(),n.debug(`in gitgraph renderer`,e+`
|
|
14
|
-
`,`id:`,t,i);let o=a.db;if(!o.getConfig){n.error(`getConfig method is not available on db`);return}let c=o.getConfig(),l=c.rotateCommitLabel??!1;U=o.getCommits();let u=o.getBranchesAsObjArray();K=o.getDirection();let d=r(`[id="${t}"]`),{look:f,theme:p,themeVariables:h}=m(),{useGradient:_,gradientStart:v,gradientStop:y,filterColor:b}=h;if(_){let e=d.append(`defs`).append(`linearGradient`).attr(`id`,t+`-gradient`).attr(`gradientUnits`,`objectBoundingBox`).attr(`x1`,`0%`).attr(`y1`,`0%`).attr(`x2`,`100%`).attr(`y2`,`0%`);e.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,v).attr(`stop-opacity`,1),e.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,y).attr(`stop-opacity`,1)}f===`neo`&&I.has(p??``)&&d.append(`defs`).append(`filter`).attr(`id`,t+`-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`,b);let x=0;u.forEach((e,t)=>{let n=q(e.name),r=d.append(`g`),i=r.insert(`g`).attr(`class`,`branchLabel`),a=i.insert(`g`).attr(`class`,`label branch-label`);a.node()?.appendChild(n);let o=n.getBBox();x=ze(e.name,x,t,o,l),a.remove(),i.remove(),r.remove()}),Y(d,U,!1,c),c.showBranches&&Re(d,u,c,t),Le(d,U),Y(d,U,!0,c),g.insertTitle(d,`gitTitleText`,c.titleTopMargin??0,o.getDiagramTitle()),s(void 0,d,c.diagramPadding,c.useMaxWidth)},`draw`)},Z=8,Q=new Set([`redux`,`redux-dark`,`redux-color`,`redux-dark-color`]),Ve=new Set([`redux-color`,`redux-dark-color`]),$=new Set([`neo`,`neo-dark`]),He=new Set([`dark`,`redux-dark`,`redux-dark-color`,`neo-dark`]),Ue=new Set([`redux`,`redux-dark`,`redux-color`,`redux-dark-color`,`neo`,`neo-dark`]),We=t(e=>{let{svgId:t}=e,n=``;if(e.useGradient&&t)for(let r=0;r<e.THEME_COLOR_LIMIT;r++)n+=`
|
|
15
|
-
.label${r} { fill: ${e.mainBkg}; stroke: url(${t}-gradient); stroke-width: ${e.strokeWidth};}
|
|
16
|
-
`;return n},`genGitGraphGradient`),Ge=t(e=>{let{theme:t,themeVariables:n}=l(),{borderColorArray:r}=n,i=Q.has(t);if($.has(t)){let t=``;for(let n=0;n<e.THEME_COLOR_LIMIT;n++)if(n===0)t+=`
|
|
17
|
-
.branch-label${n} { fill: ${e.nodeBorder};}
|
|
18
|
-
.commit${n} { stroke: ${e.nodeBorder}; }
|
|
19
|
-
.commit-highlight${n} { stroke: ${e.nodeBorder}; fill: ${e.nodeBorder}; }
|
|
20
|
-
.arrow${n} { stroke: ${e.nodeBorder}; }
|
|
21
|
-
.commit-bullets { fill: ${e.nodeBorder}; }
|
|
22
|
-
.commit-cherry-pick${n} { stroke: ${e.nodeBorder}; }
|
|
23
|
-
${We(e)}`;else{let r=n%Z;t+=`
|
|
24
|
-
.branch-label${n} { fill: ${e[`gitBranchLabel`+r]}; }
|
|
25
|
-
.commit${n} { stroke: ${e[`git`+r]}; fill: ${e[`git`+r]}; }
|
|
26
|
-
.commit-highlight${n} { stroke: ${e[`gitInv`+r]}; fill: ${e[`gitInv`+r]}; }
|
|
27
|
-
.arrow${n} { stroke: ${e[`git`+r]}; }
|
|
28
|
-
`}return t}if(Ve.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{let o=a%r.length;n+=`
|
|
36
|
-
.branch-label${a} { fill: ${e.nodeBorder}; ${i?`font-weight:${e.noteFontWeight}`:``} }
|
|
37
|
-
.commit${a} { stroke: ${r[o]}; fill: ${r[o]}; }
|
|
38
|
-
.commit-highlight${a} { stroke: ${r[o]}; fill: ${r[o]}; }
|
|
39
|
-
.label${a} { fill: ${He.has(t)?e.mainBkg:r[o]}; stroke: ${r[o]}; stroke-width: ${e.strokeWidth}; }
|
|
40
|
-
.arrow${a} { stroke: ${r[o]}; }
|
|
41
|
-
`}return n}{let t=``;for(let n=0;n<e.THEME_COLOR_LIMIT;n++)t+=`
|
|
42
|
-
.branch-label${n} { fill: ${e.nodeBorder}; ${i?`font-weight:${e.noteFontWeight}`:``} }
|
|
43
|
-
.commit${n} { stroke: ${e.nodeBorder}; }
|
|
44
|
-
.commit-highlight${n} { stroke: ${e.nodeBorder}; fill: ${e.nodeBorder}; }
|
|
45
|
-
.label${n} { fill: ${e.mainBkg}; stroke: ${e.nodeBorder}; stroke-width: ${e.strokeWidth}; ${i?`font-weight:${e.noteFontWeight}`:``}}
|
|
46
|
-
.arrow${n} { stroke: ${e.nodeBorder}; }
|
|
47
|
-
.commit-bullets { fill: ${e.nodeBorder}; }
|
|
48
|
-
.commit-cherry-pick${n} { stroke: ${e.nodeBorder}; }
|
|
49
|
-
`;return t}},`genColor`),Ke=t(e=>`${Array.from({length:e.THEME_COLOR_LIMIT},(e,t)=>t).map(t=>{let n=t%Z;return`
|
|
50
|
-
.branch-label${t} { fill: ${e[`gitBranchLabel`+n]}; }
|
|
51
|
-
.commit${t} { stroke: ${e[`git`+n]}; fill: ${e[`git`+n]}; }
|
|
52
|
-
.commit-highlight${t} { stroke: ${e[`gitInv`+n]}; fill: ${e[`gitInv`+n]}; }
|
|
53
|
-
.label${t} { fill: ${e[`git`+n]}; }
|
|
54
|
-
.arrow${t} { stroke: ${e[`git`+n]}; }
|
|
55
|
-
`}).join(`
|
|
56
|
-
`)}`,`normalTheme`),qe={parser:be,db:A,renderer:Be,styles:t(e=>{let{theme:t}=l(),n=Ue.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
|
-
${n?Ge(e):Ke(e)}
|
|
67
|
-
|
|
68
|
-
.branch {
|
|
69
|
-
stroke-width: ${e.strokeWidth};
|
|
70
|
-
stroke: ${e.commitLineColor??e.lineColor};
|
|
71
|
-
stroke-dasharray: ${n?`4 2`:`2`};
|
|
72
|
-
}
|
|
73
|
-
.commit-label { font-size: ${e.commitLabelFontSize}; fill: ${n?e.nodeBorder:e.commitLabelColor}; ${n?`font-weight:${e.noteFontWeight};`:``}}
|
|
74
|
-
.commit-label-bkg { font-size: ${e.commitLabelFontSize}; fill: ${n?`transparent`:e.commitLabelBackground}; opacity: ${n?``:.5}; }
|
|
75
|
-
.tag-label { font-size: ${e.tagLabelFontSize}; fill: ${e.tagLabelColor};}
|
|
76
|
-
.tag-label-bkg { fill: ${n?e.mainBkg:e.tagLabelBackground}; stroke: ${n?e.nodeBorder:e.tagLabelBorder}; ${n?`filter:${e.dropShadow}`:``} }
|
|
77
|
-
.tag-hole { fill: ${e.textColor}; }
|
|
78
|
-
|
|
79
|
-
.commit-merge {
|
|
80
|
-
stroke: ${n?e.mainBkg:e.primaryColor};
|
|
81
|
-
fill: ${n?e.mainBkg:e.primaryColor};
|
|
82
|
-
}
|
|
83
|
-
.commit-reverse {
|
|
84
|
-
stroke: ${n?e.mainBkg:e.primaryColor};
|
|
85
|
-
fill: ${n?e.mainBkg:e.primaryColor};
|
|
86
|
-
stroke-width: ${n?e.strokeWidth:3};
|
|
87
|
-
}
|
|
88
|
-
.commit-highlight-outer {
|
|
89
|
-
}
|
|
90
|
-
.commit-highlight-inner {
|
|
91
|
-
stroke: ${n?e.mainBkg:e.primaryColor};
|
|
92
|
-
fill: ${n?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: ${Q.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`)};export{qe as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f8fa;--panel:#fff;--panel-2:#f3f4f6;--line:#d8dee4;--line-strong:#afb8c1;--text:#1f2328;--muted:#57606a;--accent:#0969da;--accent-emphasis:#1f6feb;--accent-soft:#ddf4ff;--accent-contrast:#fff;--tab-accent:#0969da;--focus:#218bff;--danger:#cf222e;--danger-soft:#ffebe9;--warning:#fff8c5;--warning-text:#633c01;--warning-line:#d4a72c;--search-match-bg:#ffdf5d;--search-match-text:#3b2f00;--success:#1a7f37;--attention:#9a6700;--done:#8250df;--info:#0969da;--file-tree-active-text:#0550ae;--header-bg:#24292f;--header-border:#1b1f23;--header-text:#f6f8fa;--header-muted:#b1bac4;--header-control-bg:#2f363d;--header-control-border:#57606a;--header-control-hover:#3a424a;--header-active-bg:#f0f6fc;--header-active-text:#24292f;--header-badge-bg:#1f6feb;--header-badge-text:#fff;--shadow-small:#1f232817;--shadow-medium:#1f232826;--shadow-large:#1f23283d;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--comment-body-size:13px;--comment-ui-size:12px;--comment-meta-size:11px;--comment-badge-size:10px;font-synthesis:none;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=system]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root[data-theme=system]{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1117;--panel:#161b22;--panel-2:#21262d;--line:#30363d;--line-strong:#484f58;--text:#e6edf3;--muted:#8b949e;--accent:#58a6ff;--accent-emphasis:#1f6feb;--accent-soft:#1f2d3d;--accent-contrast:#fff;--tab-accent:#58a6ff;--focus:#58a6ff;--danger:#ff7b72;--danger-soft:#3c1e22;--warning:#332b00;--warning-text:#e3b341;--warning-line:#6e5a1c;--search-match-bg:#7c5c12;--search-match-text:#fff2bd;--success:#3fb950;--attention:#d29922;--done:#d2a8ff;--info:#58a6ff;--file-tree-active-text:#cae8ff;--header-bg:#010409;--header-border:#21262d;--header-text:#f0f6fc;--header-muted:#8b949e;--header-control-bg:#161b22;--header-control-border:#484f58;--header-control-hover:#21262d;--header-active-bg:#f0f6fc;--header-active-text:#1f2328;--header-badge-bg:#1f6feb;--header-badge-text:#fff;--shadow-small:#01040966;--shadow-medium:#01040980;--shadow-large:#010409a3}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);margin:0;overflow:hidden}button,input,select,textarea{font:inherit}button{border:1px solid var(--accent-emphasis);background:var(--accent-emphasis);color:var(--accent-contrast);cursor:pointer;border-radius:6px;padding:7px 11px}button:disabled{cursor:not-allowed;opacity:.48}input,select,textarea{border:1px solid var(--line-strong);background:var(--panel);width:100%;color:var(--text);border-radius:6px;padding:8px 9px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}textarea{resize:vertical}code{font-family:var(--mono);overflow-wrap:anywhere;font-size:11px}.app-shell{flex-direction:column;height:100dvh;min-height:0;max-height:100dvh;display:flex;overflow:hidden}.skip-link{z-index:1000;border:2px solid var(--focus);background:var(--panel);color:var(--text);border-radius:6px;padding:8px 12px;font-weight:700;text-decoration:none;position:fixed;inset:8px auto auto 8px;transform:translateY(calc(-100% - 16px))}.skip-link:focus{transform:none}.topbar{background:var(--header-bg);height:68px;color:var(--header-text);border-bottom:1px solid var(--header-border);flex:0 0 68px;align-items:center;gap:14px;padding:0 14px;display:flex}.brand{letter-spacing:.08em;flex:none;align-items:center;gap:9px;display:flex}.brand-button{color:inherit;background:0 0;border:0;border-radius:6px;padding:4px;text-decoration:none}.brand-button:hover{background:var(--header-control-hover)}.brand-mark{background:var(--header-active-bg);width:30px;height:30px;color:var(--header-active-text);font:800 20px/1 var(--mono);border-radius:8px 3px;place-items:center;display:grid}.pr-heading{flex:1 20 260px;min-width:150px}.pr-heading span{color:var(--header-muted);margin-bottom:2px;font-size:11px;display:block}.pr-heading h1{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:16px;overflow:hidden}.pr-heading h1 a{color:inherit;text-decoration:none}.pr-heading h1 a:hover,.pr-heading h1 a:focus-visible{text-underline-offset:3px;text-decoration:underline}.button--quiet{border-color:var(--line-strong);color:inherit;background:0 0}.button--danger-quiet{color:var(--danger);background:0 0;border-color:#0000}.review-scope-bar{background:0 0;border:0;flex:0 auto;align-items:center;gap:8px;min-width:0;padding:0;display:flex;overflow:visible}.review-scope-control{flex-direction:column;flex:none;gap:4px;display:flex}.review-scope-control>span{color:var(--header-muted);font-size:10px;font-weight:650}.commit-range-picker{z-index:30;position:relative}.commit-range-trigger{border-color:var(--header-control-border);background:var(--header-control-bg);width:min(430px,36vw);min-width:280px;height:32px;color:var(--header-text);text-align:left;border-radius:6px;align-items:center;gap:7px;padding:4px 7px 4px 9px;display:flex}.commit-range-trigger:hover,.commit-range-trigger[aria-expanded=true]{border-color:var(--header-muted);background:var(--header-control-hover)}.commit-range-summary{min-width:0;font:11px var(--mono);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.commit-range-count{color:var(--header-muted);white-space:nowrap;flex:none;font-size:10px}.commit-selection-badge,.commit-latest-badge{background:var(--header-badge-bg);min-height:18px;color:var(--header-badge-text);border-radius:999px;flex:none;align-items:center;padding:1px 6px;font-size:10px;font-weight:800;line-height:1;display:inline-flex}.commit-range-chevron{color:var(--header-muted);flex:none;font-size:10px}.commit-range-popover{border:1px solid var(--line-strong);background:var(--panel);width:min(440px,100vw - 24px);color:var(--text);box-shadow:0 14px 36px var(--shadow-large);border-radius:9px;padding:8px;position:absolute;top:calc(100% + 7px);left:0}.commit-range-shortcuts{gap:6px;display:flex}.commit-range-shortcuts button{border-color:var(--line-strong);background:var(--panel-2);color:var(--text);flex:1;padding:6px 8px;font-size:11px}.commit-range-shortcuts button:hover{border-color:var(--accent)}.commit-range-hint{color:var(--muted);margin:7px 2px 6px;font-size:10px}.commit-range-list{border:1px solid var(--line);background:var(--panel);-webkit-user-select:none;user-select:none;border-radius:7px;flex-direction:column;max-height:min(360px,100vh - 150px);display:flex;overflow-y:auto}.commit-range-option{border:0;border-bottom:1px solid var(--line);min-height:44px;color:var(--text);text-align:left;touch-action:none;background:0 0;border-radius:0;flex:none;align-items:center;gap:9px;padding:6px 9px;display:flex}.commit-range-option:last-child{border-bottom:0}.commit-range-option:hover{background:var(--panel-2)}.commit-range-option.selected{background:var(--accent-soft)}.commit-range-option-indicator{border:2px solid var(--line-strong);background:var(--panel);border-radius:50%;flex:0 0 12px;width:12px;height:12px}.commit-range-option.selected .commit-range-option-indicator{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 2px var(--panel)}.commit-range-option--middle .commit-range-option-indicator{border-radius:2px}.commit-range-option-copy{flex:1;gap:2px;min-width:0;display:grid}.commit-range-option-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.commit-range-option-copy code{color:var(--muted)}.commit-range-option-meta{align-items:center;gap:8px;min-width:0;display:flex}.commit-range-option-meta time{color:var(--header-muted);font:500 9px var(--mono);white-space:nowrap}.commit-range-special{border-bottom:1px solid var(--line);color:var(--muted);font:11px var(--mono);padding:8px 10px}.review-scope-bar .segmented{border-color:var(--header-control-border);background:var(--header-control-bg);height:32px;padding:2px}.review-scope-bar .segmented button{min-width:56px;color:var(--header-muted);white-space:nowrap;padding:5px 8px}.review-scope-bar .segmented button.active{background:var(--header-active-bg);color:var(--header-active-text);box-shadow:none;font-weight:700}.review-scope-display .segmented button{min-width:62px}.diff-style-modes{width:128px}.review-scope-bar .diff-style-modes button{flex:1 1 0;min-width:0}.topbar-menu{z-index:20;flex:none;position:relative}.topbar-menu-toggle{border-color:var(--header-control-border);width:36px;height:36px;color:var(--header-text);background:0 0;place-items:center;padding:0;display:grid}.topbar-menu-toggle:hover,.topbar-menu-toggle[aria-expanded=true]{border-color:var(--header-control-border);background:var(--header-control-hover)}.topbar-menu-toggle svg{width:18px;height:18px}.topbar-menu-popover{border:1px solid var(--line-strong);background:var(--panel);width:210px;box-shadow:0 10px 28px var(--shadow-large);border-radius:8px;gap:2px;padding:5px;display:grid;position:absolute;top:calc(100% + 7px);right:0}.topbar-menu-popover button{width:100%;color:var(--text);text-align:left;background:0 0;border:0;padding:8px 9px;font-size:12px}.topbar-menu-popover button:hover{background:var(--panel-2)}.topbar-menu-popover .topbar-menu-command{justify-content:space-between;align-items:center;gap:12px;display:flex}.topbar-menu-command kbd{color:var(--muted);font:10px var(--mono)}.topbar-menu-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:3px 0;padding:5px 0 3px;display:grid}.topbar-menu-section-label{color:var(--muted);padding:2px 9px 5px;font-size:10px;font-weight:700}.topbar-menu-section button{justify-content:space-between;align-items:center;gap:12px;display:flex}.topbar-menu-check{color:var(--accent);font-weight:800}.topbar-menu-popover .topbar-menu-danger{color:var(--danger)}.button--wide{width:100%;margin-top:10px}.button--back{color:var(--accent);background:0 0;border:0;padding:3px 0 12px}.pending-banner{background:var(--warning);min-height:38px;color:var(--warning-text);border-bottom:1px solid var(--warning-line);align-items:center;gap:12px;padding:7px 20px;font-size:13px;display:flex}.quick-open-backdrop{z-index:100;background:#00000047;justify-content:center;align-items:flex-start;padding:clamp(44px,9vh,92px) 16px 16px;display:flex;position:fixed;inset:0}.quick-open-dialog{border:1px solid var(--line-strong);background:var(--panel);border-radius:9px;flex-direction:column;width:min(720px,100vw - 32px);max-height:min(650px,100vh - 92px);display:flex;overflow:hidden;box-shadow:0 18px 52px #0000005c}.quick-open-input-shell{border-bottom:1px solid var(--line);flex:none;align-items:center;padding:10px;display:flex;position:relative}.quick-open-input-shell>svg{z-index:1;width:17px;height:17px;color:var(--muted);pointer-events:none;position:absolute;left:22px}.quick-open-input-shell>input{border-color:var(--accent);height:42px;box-shadow:0 0 0 1px var(--accent-soft);border-radius:6px;padding:9px 42px 9px 40px;font-size:14px}.quick-open-input-shell>input:focus-visible{outline:1px solid var(--focus);outline-offset:0}.quick-open-clear{width:28px;height:28px;color:var(--muted);background:0 0;border:0;place-items:center;padding:0;font-size:20px;line-height:1;display:grid;position:absolute;right:17px}.quick-open-clear:hover{background:var(--panel-2);color:var(--text)}.quick-open-summary{border-bottom:1px solid var(--line);min-height:29px;color:var(--muted);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:5px 14px;font-size:10px;display:flex}.quick-open-results{flex:auto;min-height:88px;padding:4px 0;overflow-y:auto}.quick-open-result{width:100%;min-height:42px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:0;align-items:center;gap:10px;padding:6px 13px;display:flex}.quick-open-result:hover,.quick-open-result.selected{background:var(--accent-soft);color:var(--file-tree-active-text)}.quick-open-icon-group{flex:0 0 34px;align-items:center;gap:3px;width:34px;display:flex}.quick-open-copy{flex:1;align-items:baseline;gap:12px;min-width:0;display:flex}.quick-open-copy strong{min-width:0;font:650 13px/1.35 var(--mono);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;overflow:hidden}.quick-open-copy>span{min-width:0;color:var(--muted);font:11px/1.35 var(--mono);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.quick-open-copy mark{color:var(--accent);background:0 0;border-radius:2px;font-weight:800}.quick-open-badge{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent);border-radius:999px;flex:none;padding:2px 6px;font-size:9px;font-weight:750}.quick-open-open-dot{background:var(--accent);border-radius:50%;flex:0 0 7px;width:7px;height:7px}.quick-open-state{min-height:110px;color:var(--muted);text-align:center;place-content:center;gap:5px;padding:20px;font-size:12px;display:grid}.quick-open-state strong{color:var(--text)}.quick-open-footer{border-top:1px solid var(--line);background:var(--panel-2);min-height:32px;color:var(--muted);flex:none;justify-content:flex-end;align-items:center;gap:14px;padding:5px 12px;font-size:10px;display:flex}.quick-open-footer span{align-items:center;gap:4px;display:inline-flex}.quick-open-footer kbd{border:1px solid var(--line-strong);background:var(--panel);min-width:20px;color:var(--text);font:9px/1.2 var(--mono);text-align:center;border-bottom-width:2px;border-radius:4px;padding:2px 4px}.error-notice{border:1px solid color-mix(in srgb, var(--danger) 55%, var(--line));background:color-mix(in srgb, var(--danger) 9%, var(--panel));color:var(--danger);border-radius:7px;margin:10px 14px;padding:10px 12px;font-size:12px}.error-notice>div{justify-content:space-between;gap:10px;display:flex}.error-notice p{white-space:pre-wrap;margin:5px 0 0}.error-notice ul{margin:7px 0 0;padding-left:20px}.sync-feedback{border-bottom:1px solid color-mix(in srgb, var(--success) 45%, var(--line));background:color-mix(in srgb, var(--success) 10%, var(--panel));color:var(--text);text-align:right;padding:7px 14px;font-size:11px}.viewer-error{place-items:center;min-height:55vh;display:grid}.viewer-error .error-notice{width:min(620px,100% - 32px)}.workspace{grid-template-columns:var(--sidebar-width,330px) 6px minmax(0, 1fr);flex:1;min-height:0;display:grid;overflow:hidden}.workspace.is-resizing,.main-view.is-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.workspace.is-resizing.is-row-resizing{cursor:row-resize}.sidebar{background:var(--panel);flex-direction:column;min-height:0;display:flex;overflow:hidden}.horizontal-resize-handle{z-index:8;cursor:col-resize;touch-action:none;background:var(--panel);outline:none;min-width:6px;min-height:0;position:relative}.horizontal-resize-handle:after{background:var(--line-strong);content:"";transition:inset .1s,background .1s;position:absolute;inset:0 2px}.horizontal-resize-handle:hover:after,.horizontal-resize-handle:focus-visible:after,.horizontal-resize-handle.active:after{background:var(--accent);inset-inline:1px}.vertical-resize-handle{z-index:9;cursor:row-resize;touch-action:none;outline:none;height:6px;position:absolute;top:-3px;left:0;right:0}.vertical-resize-handle:after{background:var(--line-strong);content:"";transition:inset .1s,background .1s;position:absolute;inset:2px 0}.vertical-resize-handle:hover:after,.vertical-resize-handle:focus-visible:after,.vertical-resize-handle.active:after{background:var(--accent);inset-block:1px}.sidebar-stack{--sidebar-stack-min-height:102px;--sidebar-stack-compact-share:25%;border-bottom:1px solid var(--line);flex-direction:column;flex:none;min-height:37px;display:flex}.sidebar-stack--code{--sidebar-stack-min-height:260px;--sidebar-stack-compact-share:58%}.sidebar-stack--comments{--sidebar-stack-min-height:210px;--sidebar-stack-compact-share:28%;position:relative}.sidebar-stack.is-expanded{min-height:min(var(--sidebar-stack-min-height), var(--sidebar-stack-compact-share));flex:auto}.sidebar-stack-toggle{background:var(--panel-2);width:100%;color:var(--text);text-align:left;border:0;border-radius:0;flex:none;align-items:center;gap:8px;padding:10px 14px;font-size:12px;font-weight:650;display:flex}.sidebar-stack-toggle:hover{background:var(--accent-soft)}.sidebar-stack-header{background:var(--panel-2);flex:none;display:flex}.sidebar-stack-header .sidebar-stack-toggle{flex:1;min-width:0}.sidebar-stack-action{width:40px;color:var(--muted);background:0 0;border:0;border-radius:0;flex:0 0 40px;place-items:center;padding:0;display:grid;position:relative}.sidebar-stack-action:hover,.sidebar-stack-action.active{background:var(--accent-soft);color:var(--accent)}.sidebar-stack-action svg{width:16px;height:16px}.sidebar-stack-toggle>span:nth-child(2){flex:1;min-width:0}.sidebar-stack-chevron{width:16px;height:16px;color:var(--muted);flex:0 0 18px}.sidebar-stack-count{background:var(--accent-soft);min-width:19px;height:19px;color:var(--accent);border-radius:10px;place-items:center;font-size:10px;display:inline-grid}.sidebar-stack-icon{width:16px;height:16px;color:var(--muted);flex:0 0 16px}.sidebar-stack-body[hidden]{display:none}.sidebar-stack-body{overscroll-behavior:contain;flex:auto;min-height:0;overflow:hidden auto}.segmented{background:var(--panel-2);border:1px solid var(--line);border-radius:7px;gap:2px;padding:3px;display:flex}.segmented button{color:var(--muted);background:0 0;border:0;flex:1;padding:6px 7px;font-size:12px}.segmented button.active{background:var(--panel);color:var(--text);box-shadow:0 1px 3px var(--shadow-small)}.segmented.compact{margin-top:1px}.file-panel,.comment-sidebar-detail,.sidebar-stack-body>section{padding:12px 14px 18px}.file-panel{padding:10px 14px 16px}.file-panel>input{height:34px;margin-top:8px;font-size:12px}.file-scope-checkbox{min-height:31px;color:var(--muted);cursor:pointer;align-items:center;gap:8px;margin:3px 0;padding:4px 7px;font-size:11px;display:flex}.file-scope-checkbox:hover{color:var(--text)}.file-scope-checkbox>input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);flex:0 0 15px;margin:0;padding:0}.file-tree{flex-direction:column;margin:3px -4px 14px;display:flex;overflow:visible}.file-tree-summary{min-height:31px;color:var(--muted);align-items:center;gap:7px;padding:0 2px 0 8px;font-size:11px;display:flex}.file-tree-summary>span{flex:1;min-width:0}.file-tree-summary>button{width:26px;height:26px;color:var(--muted);background:0 0;border:0;flex:0 0 26px;place-items:center;padding:0;display:grid}.file-tree-summary>button:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.file-tree-summary>button svg{width:16px;height:16px}.file-tree>*{flex-shrink:0}.file-tree-virtualized{contain:layout style;width:100%;position:relative}.file-tree-virtualized>.file-tree-row{height:31px;position:absolute;left:0}.file-tree-row{width:100%;height:31px;color:var(--text);text-align:left;font:650 14px/1.35 var(--mono);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;align-items:center;gap:0;padding:6px 8px;display:flex;overflow:hidden}.file-tree-row:hover,.file-tree-row.active{background:var(--accent-soft);color:var(--file-tree-active-text)}.file-tree-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.directory-chevron{color:var(--muted);text-align:center;flex:0 0 14px;margin-right:4px;font-size:10px}.file-tree-icon-group{flex:none;align-items:center;gap:2px;margin-right:8px;display:flex}.tree-entry-icon{width:16px;height:16px;color:var(--muted);flex:0 0 16px}.file-type-icon{color:var(--file-icon-light-fg);--file-icon-bg:var(--file-icon-light-bg);place-items:center;display:inline-grid}.file-type-icon>svg{width:100%;height:100%;display:block}.file-type-icon>svg .bg{fill:var(--file-icon-bg)}:root[data-theme=dark] .file-type-icon{color:var(--file-icon-dark-fg);--file-icon-bg:var(--file-icon-dark-bg)}@media (prefers-color-scheme:dark){:root[data-theme=system] .file-type-icon{color:var(--file-icon-dark-fg);--file-icon-bg:var(--file-icon-dark-bg)}}.file-change-icon{flex:0 0 14px;place-items:center;width:14px;height:14px;display:grid}.file-change-icon svg{width:14px;height:14px}.file-change-icon--added{color:var(--success)}.file-change-icon--deleted{color:var(--danger)}.file-change-icon--modified{color:var(--attention)}.file-change-icon--renamed{color:var(--done)}.file-change-icon--type-changed{color:var(--info)}.search-panel{padding:12px 12px 16px}.search-input-shell{position:relative}.search-input-shell>input{height:34px;padding-right:72px;font-size:12px}.search-options{gap:1px;display:flex;position:absolute;top:5px;right:5px}.search-options button{width:28px;height:24px;color:var(--muted);font:11px/1 var(--mono);background:0 0;border:0;border-radius:4px;place-items:center;padding:0;display:grid}.search-options button:hover{background:var(--panel-2);color:var(--text)}.search-options button.active{background:var(--accent-soft);color:var(--accent)}.search-options button:last-child>span{border-bottom:1px solid;padding-bottom:1px}.search-summary{min-height:33px;color:var(--muted);align-items:center;gap:7px;padding:7px 2px 4px 5px;font-size:11px;display:flex}.search-summary>span:first-child{flex:1;min-width:0}.search-refreshing{color:var(--accent);font-size:10px}.search-summary>button{width:26px;height:26px;color:var(--muted);background:0 0;border:0;flex:0 0 26px;place-items:center;padding:0;display:grid}.search-summary>button:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.search-summary>button svg{width:16px;height:16px}.search-panel>.error-notice{margin:8px 0 0}.search-results{margin:2px -5px 0}.search-result-group{border-bottom:1px solid var(--line)}.search-result-group:last-child{border-bottom:0}.search-result-file{width:100%;min-height:32px;color:var(--text);text-align:left;background:0 0;border:0;align-items:center;gap:6px;padding:5px 6px;display:flex}.search-result-file:hover{background:var(--panel-2)}.search-result-file-icon-group{flex:none;align-items:center;gap:2px;display:flex}.search-result-file-icon-group>.tree-entry-icon{flex-basis:14px;width:14px;height:14px}.search-result-chevron{width:14px;height:14px;color:var(--muted);flex:0 0 14px;place-items:center;display:grid}.search-result-chevron svg{width:14px;height:14px}.search-result-file-label{flex:1;align-items:baseline;gap:8px;min-width:0;display:flex;overflow:hidden}.search-result-file strong{min-width:0;max-width:68%;font:650 11px/1.3 var(--mono);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;overflow:hidden}.search-result-directory{min-width:0;color:var(--muted);font:500 10px/1.3 var(--mono);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.search-result-count{background:var(--panel-2);min-width:21px;height:19px;color:var(--muted);border-radius:10px;place-items:center;padding:0 5px;font-size:10px;display:inline-grid}.search-result-lines{padding:0 0 4px 20px}.search-result-line{width:100%;color:var(--text);text-align:left;background:0 0;border:0;border-radius:4px;grid-template-columns:28px minmax(0,1fr);align-items:baseline;gap:5px;padding:5px 7px;display:grid}.search-result-line:hover{background:var(--accent-soft)}.search-result-line-number{color:var(--muted);font:10px/1.4 var(--mono);text-align:right}.search-result-line code{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.search-result-line mark{background:var(--search-match-bg);color:var(--search-match-text);border-radius:2px;font-weight:750}.search-empty{color:var(--muted);margin:8px 2px 0;font-size:11px}.truncated{border:1px solid var(--warning-line);background:var(--warning);color:var(--warning-text);border-radius:5px;margin:8px 0 0;padding:7px 8px;font-size:11px}.main-view{grid-template-columns:minmax(0,1fr);min-width:0;min-height:0;display:grid;position:relative;overflow:hidden auto}.main-view.two-pane{grid-template-columns:minmax(0,1fr) 6px minmax(0,1fr);overflow:auto hidden}.document-pane{background:var(--bg);min-width:0;min-height:0;position:relative;overflow:auto}.pane-resize-handle{background:var(--bg)}.document-pane-drop-target{border:1px dashed var(--line-strong);background:color-mix(in srgb, var(--accent) 4%, var(--panel));border-radius:10px;min-height:calc(100% - 72px);margin:16px}.document-tabs-shell{z-index:6;border-bottom:1px solid var(--line-strong);background:var(--panel-2);min-width:0;height:40px;display:flex;position:sticky;top:0}.pane-find-layer{z-index:7;pointer-events:none;justify-content:flex-end;height:0;padding-right:10px;display:flex;position:sticky;top:44px}.document-pane:has(.markdown-view-toolbar) .pane-find-layer{top:86px}.document-pane:has(.walkthrough-viewer) .pane-find-layer{top:118px}.pane-find-widget{border:1px solid var(--line-strong);background:var(--panel);width:min(430px,100% - 6px);height:35px;box-shadow:0 5px 18px var(--shadow-medium);pointer-events:auto;border-radius:3px;align-items:center;gap:2px;padding:4px;display:flex}.pane-find-input-shell{border:1px solid var(--line-strong);background:var(--bg);flex:auto;align-items:center;min-width:96px;height:25px;display:flex}.pane-find-input-shell:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.pane-find-input-shell.invalid,.pane-find-input-shell.invalid:focus-within{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}.pane-find-input-shell input{min-width:48px;height:23px;color:var(--text);font:12px var(--mono);background:0 0;border:0;outline:0;flex:auto;padding:3px 5px}.pane-find-input-shell>button,.pane-find-action{width:23px;height:23px;color:var(--muted);font:650 10px var(--mono);background:0 0;border:0;border-radius:3px;flex:0 0 23px;place-items:center;padding:0;display:grid}.pane-find-input-shell>button:hover,.pane-find-action:hover:not(:disabled){background:var(--accent-soft);color:var(--text)}.pane-find-input-shell>button.active{background:var(--accent-soft);color:var(--accent)}.pane-find-whole-word{border-bottom:1px solid;padding-bottom:1px}.pane-find-status{width:42px;color:var(--muted);font:10px var(--mono);text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:0 0 42px;overflow:hidden}.pane-find-status.invalid{color:var(--danger)}.pane-find-action svg{width:15px;height:15px}.pane-find-action:disabled{opacity:.35}::highlight(rvw-pane-find-left-match){background-color:var(--lightningcss-light,#eab3086b)var(--lightningcss-dark,#facc1561)}::highlight(rvw-pane-find-right-match){background-color:var(--lightningcss-light,#eab3086b)var(--lightningcss-dark,#facc1561)}::highlight(rvw-pane-find-left-current){color:var(--lightningcss-light,#17120a)var(--lightningcss-dark,#fff);background-color:var(--lightningcss-light,#f58b0ad1)var(--lightningcss-dark,#f97316c7)}::highlight(rvw-pane-find-right-current){color:var(--lightningcss-light,#17120a)var(--lightningcss-dark,#fff);background-color:var(--lightningcss-light,#f58b0ad1)var(--lightningcss-dark,#f97316c7)}.document-tabs{scrollbar-width:thin;flex:1;min-width:0;display:flex;overflow-x:auto}.document-tab{border-right:1px solid var(--line);background:var(--panel-2);min-width:126px;max-width:210px;color:var(--muted);flex:0 180px;display:flex;position:relative}.document-tab[draggable=true]{cursor:grab}.document-tab[draggable=true]:active{cursor:grabbing}.document-tab.active{background:var(--panel);color:var(--text)}.document-tab.active:before{background:var(--line-strong);content:"";height:2px;position:absolute;inset:0 0 auto}.document-pane.active .document-tab.active:before{background:var(--tab-accent)}.document-tab-activate{min-width:0;color:inherit;text-align:left;background:0 0;border:0;border-radius:0;flex:1;align-items:center;gap:7px;padding:0 4px 0 10px;display:flex}.document-tab-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:600 11px var(--mono);overflow:hidden}.document-tab-icon-group{flex:none;align-items:center;gap:2px;display:flex}.document-tab-close,.document-tabs-menu-toggle{width:30px;color:var(--muted);background:0 0;border:0;border-radius:0;flex:0 0 30px;place-items:center;padding:0;display:grid}.document-tab-close:hover,.document-tabs-menu-toggle:hover{background:var(--accent-soft);color:var(--accent)}.document-tabs-menu{border-left:1px solid var(--line);flex:0 0 38px;display:flex;position:relative}.document-tabs-menu-toggle{flex-basis:38px;width:38px}.document-tabs-menu-popover{z-index:8;border:1px solid var(--line-strong);background:var(--panel);width:min(330px,100vw - 32px);max-height:320px;box-shadow:0 8px 28px var(--shadow-medium);border-radius:7px;padding:5px;position:absolute;top:calc(100% + 4px);right:4px;overflow:auto}.document-tabs-menu-popover>span{color:var(--muted);padding:9px;font-size:12px;display:block}.document-tabs-menu-popover button{width:100%;color:var(--text);text-align:left;font:500 11px var(--mono);background:0 0;border:0;align-items:center;gap:8px;padding:7px 8px;display:flex}.document-tabs-menu-popover button:hover,.document-tabs-menu-popover button.active{background:var(--accent-soft);color:var(--accent)}.document-tabs-menu-popover button:disabled{color:var(--muted);cursor:default;opacity:.55}.document-tabs-menu-separator{background:var(--line);height:1px;margin:4px -5px}.document-tabs-menu-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.empty-document-viewer{min-height:55vh;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:6px;display:grid}.empty-document-viewer strong{color:var(--text);font-size:13px}.empty-document-viewer span{font-size:12px}.document-viewer{min-height:100%;padding-bottom:24px}.diff-style-modes button{min-width:54px}.diff-surface{border:1px solid var(--line);background:var(--panel);box-shadow:0 2px 14px var(--shadow-small);border-radius:9px;margin:16px;overflow:clip}.markdown-view-toolbar{z-index:5;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--panel) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:6px 16px;display:flex;position:sticky;top:40px}.markdown-view-toolbar>span{align-items:center;gap:7px;min-width:0;display:flex}.markdown-view-toolbar>span code{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.markdown-view-modes{flex:0 0 150px;width:150px}.markdown-preview>header{border-bottom:1px solid var(--line);background:var(--panel-2);min-height:39px;color:var(--muted);align-items:center;gap:10px;padding:6px 12px;font-size:10px;display:flex}.markdown-preview>header>span:first-child{color:var(--text);font-weight:700}.markdown-preview>header>span:nth-child(2){text-align:right;flex:1;min-width:0}.markdown-comment-surface{-webkit-user-select:text;user-select:text;min-width:0;position:relative}.markdown-preview>.markdown-comment-surface>article{width:min(900px,100%);margin:0 auto;padding:38px clamp(24px,5vw,64px) 80px;font-size:14px;line-height:1.7}.markdown-preview>.markdown-comment-surface>article>:first-child{margin-top:0}.markdown-selection-popover{z-index:18;position:absolute;transform:translate(-50%)}.markdown-selection-popover.is-composing{width:min(460px,100% - 24px)}.markdown-selection-popover .inline-comment-composer{box-shadow:0 12px 30px color-mix(in srgb, var(--text) 18%, transparent);margin:0}.markdown-selection-composer-slot{margin:12px 0;display:flow-root}.markdown-selection-composer-slot:empty{display:none}.markdown-selection-composer-slot .inline-comment-composer{width:min(680px,100% - 24px);box-shadow:0 8px 24px color-mix(in srgb, var(--text) 12%, transparent);margin:0 auto}.markdown-selection-comment-action{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));background:var(--accent);min-height:32px;box-shadow:0 7px 22px color-mix(in srgb, var(--text) 18%, transparent);color:var(--accent-contrast);border-radius:999px;padding:5px 10px;font-size:11px;font-weight:700}.rvw-markdown-selected{background:color-mix(in srgb, var(--accent) 24%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 24%, transparent)}.rvw-markdown-commented{text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 68%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 68%, transparent);text-underline-offset:3px;text-decoration-thickness:2px}.markdown-inline-comments{gap:8px;margin:10px 0 18px;display:grid}.markdown-inline-comments>.comment-thread{border:1px solid color-mix(in srgb, var(--accent) 30%, var(--line));background:var(--panel);box-shadow:0 3px 12px var(--shadow-small);border-radius:8px}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3{line-height:1.3}.markdown-preview h1{border-bottom:1px solid var(--line);margin-bottom:20px;padding-bottom:12px;font-size:28px}.markdown-preview h2{margin:34px 0 12px;font-size:20px}.markdown-preview h3{margin:24px 0 10px;font-size:16px}.markdown-preview p,.markdown-preview ul,.markdown-preview ol{margin:11px 0}.markdown-preview blockquote{border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--muted);margin:18px 0;padding:8px 15px}.markdown-preview code{border:1px solid var(--line);background:var(--panel-2);font-size:inherit;border-radius:4px;padding:2px 5px}.markdown-preview pre{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;padding:16px;overflow:auto}.markdown-preview pre code{border:0;padding:0}.markdown-mermaid-shell{border:1px solid var(--line-strong);background:var(--panel);box-shadow:0 3px 14px var(--shadow-small);border-radius:9px;margin:20px 0;overflow:hidden}.markdown-mermaid-shell.is-source-highlighted{border-color:color-mix(in srgb, var(--accent) 68%, var(--line));box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 24%, transparent), 0 3px 14px var(--shadow-small)}.markdown-mermaid-shell.is-source-selected{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--panel));box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 30%, transparent), 0 3px 14px var(--shadow-small)}.markdown-mermaid-toolbar{border-bottom:1px solid var(--line);background:var(--panel-2);color:var(--muted);letter-spacing:.03em;padding:6px 10px;font-size:10px;font-weight:700}.markdown-mermaid{min-height:160px;padding:18px;overflow:auto}.markdown-mermaid svg{width:100%;min-width:480px;max-height:440px;margin:0 auto;display:block}.markdown-mermaid-error{background:var(--warning);color:var(--warning-text);padding:14px;font-size:12px}.markdown-preview img{max-width:100%;height:auto}.markdown-image-placeholder{overflow-wrap:anywhere;border:1px dashed var(--line-strong);background:var(--panel-2);max-width:100%;color:var(--muted);border-radius:6px;align-items:center;padding:4px 8px;font-size:12px;line-height:1.5;display:inline-flex}.markdown-preview details{margin:11px 0}.markdown-preview summary{cursor:pointer;font-weight:650}.markdown-preview details[open]>summary{margin-bottom:8px}.markdown-table-scroll{border:1px solid var(--line-strong);border-radius:7px;width:100%;margin:18px 0;overflow-x:auto}.markdown-table-scroll table{border-collapse:collapse;border-spacing:0;width:max-content;min-width:100%}.markdown-table-scroll th,.markdown-table-scroll td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow-wrap:anywhere;text-align:left;vertical-align:top;white-space:normal;word-break:normal;-webkit-user-select:text;user-select:text;max-width:40ch;padding:8px 12px}.markdown-table-scroll th:last-child,.markdown-table-scroll td:last-child{border-right:0}.markdown-table-scroll tr:last-child td{border-bottom:0}.markdown-table-scroll th{background:var(--panel-2);font-weight:700}.markdown-table-scroll tbody tr:nth-child(2n){background:color-mix(in srgb, var(--panel-2) 55%, transparent)}.markdown-preview .contains-task-list,.walkthrough-markdown .contains-task-list{padding-left:0;list-style:none}.markdown-preview .task-list-item,.walkthrough-markdown .task-list-item{list-style:none}.markdown-preview .task-list-item>input[type=checkbox],.walkthrough-markdown .task-list-item>input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent-emphasis);vertical-align:-2px;border-radius:3px;margin:0 8px 0 0;padding:0}diffs-container>[slot=header-metadata]{align-items:center;gap:7px;display:flex}.diff-fallback-badge{border:1px solid var(--line-strong);background:var(--panel-2);min-height:24px;color:var(--muted);white-space:nowrap;border-radius:12px;align-items:center;padding:3px 8px;font-size:10px;display:inline-flex}.viewer-loading,.viewer-unavailable{min-height:55vh;color:var(--muted);place-items:center;display:grid}.viewer-unavailable{align-content:center;gap:10px}.viewer-unavailable>span{border:1px solid var(--line-strong);width:52px;height:52px;font:700 12px var(--mono);border-radius:8px;place-items:center;display:grid}.repository-image-viewer{width:100%;overflow-x:auto}.repository-image-grid{min-width:0;display:grid}.repository-image-viewer--split .repository-image-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-width:680px}.repository-image-pane{border-right:1px solid var(--line);min-width:0}.repository-image-pane:last-child{border-right:0}.repository-image-pane>header{border-bottom:1px solid var(--line);background:var(--panel-2);align-items:center;gap:9px;min-height:39px;padding:5px 10px 5px 12px;display:flex}.repository-image-pane>header strong{flex:none;font-size:11px}.repository-image-pane>header code{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:10px;overflow:hidden}.repository-image-asset{background-color:var(--panel);background-image:linear-gradient(45deg, color-mix(in srgb, var(--muted) 9%, transparent) 25%, transparent 25%), linear-gradient(-45deg, color-mix(in srgb, var(--muted) 9%, transparent) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, color-mix(in srgb, var(--muted) 9%, transparent) 75%), linear-gradient(-45deg, transparent 75%, color-mix(in srgb, var(--muted) 9%, transparent) 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;place-items:center;min-height:55vh;padding:24px;display:grid;position:relative;overflow:hidden}.repository-image-asset img{object-fit:contain;max-width:100%;height:auto;display:block}.repository-image-status,.repository-image-empty{min-height:55vh;color:var(--muted);text-align:center;place-items:center;padding:24px;font-size:12px;display:grid}.repository-image-status{position:absolute;inset:0}.repository-image-status--error{color:var(--danger)}.repository-image-comments{border-top:1px solid var(--line);background:var(--panel);gap:8px;padding:10px;display:grid}.comment-icon-button{border-color:var(--line-strong);width:32px;height:32px;color:var(--muted);background:0 0;place-items:center;padding:0;display:grid}.comment-icon-button:hover,.comment-icon-button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.inline-comment-composer{background:var(--panel);border:1px solid var(--line-strong);box-shadow:0 4px 16px var(--shadow-medium);border-radius:8px;gap:9px;padding:12px;display:grid}.inline-comment-composer--file{margin:16px 16px 0}.inline-comment-composer--line{width:min(680px,100% - 16px);margin:8px}.inline-comment-composer>strong{color:var(--muted);font-size:12px}.inline-comment-composer .error-notice{margin:0}.inline-comment-composer textarea{min-height:84px;font-size:13px}.inline-comment-actions{justify-content:flex-end;gap:7px;display:flex}.inline-comment-actions button{font-size:12px}.inline-comment-actions .button--quiet{color:var(--muted)}.form-error{color:var(--danger);margin:7px 0 0;font-size:11px}.review-tree-items{flex-direction:column;margin:0 -4px;display:flex}.review-tree-item.file-tree-row{flex:0 0 31px}.review-tree-count{background:var(--panel-2);min-width:18px;height:18px;color:var(--muted);border-radius:9px;flex:0 0 18px;place-items:center;margin-left:4px;font-size:10px;display:inline-grid}.review-tree-walkthrough-icon{color:var(--done)}.review-tree-walkthrough-icon svg{width:16px;height:16px}.review-tree-walkthrough-list{flex-direction:column;display:flex}.review-tree-walkthrough.file-tree-row{padding-left:22px}.walkthrough-viewer{background:radial-gradient(circle at 30% -5%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 34rem), var(--bg);min-height:calc(100% - 40px)}.walkthrough-viewer-header{z-index:4;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--panel) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;gap:18px;min-height:74px;padding:12px 20px;display:flex;position:sticky;top:40px}.walkthrough-viewer-title{flex:auto;align-items:center;gap:12px;min-width:0;display:flex;overflow:hidden}.walkthrough-viewer-heading-copy{min-width:0;overflow:hidden}.walkthrough-viewer-icon{border:1px solid color-mix(in srgb, var(--done) 42%, var(--line));background:color-mix(in srgb, var(--done) 12%, var(--panel));width:38px;height:38px;color:var(--done);border-radius:10px;flex:0 0 38px;place-items:center;display:grid}.walkthrough-viewer-icon svg{width:19px;height:19px}.walkthrough-kicker{color:var(--muted);letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;margin-bottom:3px;font-size:10px;font-weight:750;display:block;overflow:hidden}.walkthrough-viewer-title h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:16px;overflow:hidden}.walkthrough-comment-button{flex:0 0 32px;position:relative}.walkthrough-viewer-actions{flex:none;align-items:center;gap:6px;display:flex}.code-reference-notice{border:1px solid color-mix(in srgb, var(--warning-text) 24%, var(--line));background:var(--warning);max-width:min(420px,100% - 40px);box-shadow:0 6px 18px color-mix(in srgb, var(--text) 12%, transparent);color:var(--warning-text);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:650;overflow:hidden}.walkthrough-reference-notice{position:absolute;top:calc(100% + 8px);right:20px}.comment-reference-notice{max-width:100%;margin-top:5px;display:inline-block}.walkthrough-delete-button{color:var(--muted)}.walkthrough-delete-button:hover:not(:disabled){border-color:color-mix(in srgb, var(--danger) 45%, var(--line));background:var(--danger-soft);color:var(--danger)}.walkthrough-comment-button>span{background:var(--accent);min-width:17px;height:17px;color:var(--accent-contrast);font:700 9px var(--mono);border-radius:999px;place-items:center;padding:0 4px;display:grid;position:absolute;top:-6px;right:-6px}.walkthrough-viewer>.error-notice{margin:10px 16px 0}.walkthrough-comment-area{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--panel) 76%, transparent);gap:10px;padding:0 16px 16px;display:grid}.walkthrough-comment-area>.inline-comment-composer--file{margin-inline:0}.walkthrough-comment-area>.comment-thread{border:1px solid var(--line);background:var(--panel);border-radius:8px}.walkthrough-markdown-surface{min-width:0}.walkthrough-markdown{width:min(940px,100%);min-width:0;margin:0 auto;padding:38px clamp(26px,4vw,58px) 100px;font-size:14px;line-height:1.7}.walkthrough-markdown>:first-child{margin-top:0}.walkthrough-markdown h1,.walkthrough-markdown h2,.walkthrough-markdown h3{color:var(--text);scroll-margin-top:130px;line-height:1.28}.walkthrough-markdown h1{border-bottom:1px solid var(--line);letter-spacing:-.025em;margin:0 0 18px;padding-bottom:12px;font-size:27px}.walkthrough-markdown h2{margin:38px 0 13px;padding-top:6px;font-size:20px}.walkthrough-markdown h3{margin:25px 0 10px;font-size:16px}.walkthrough-markdown p,.walkthrough-markdown ul,.walkthrough-markdown ol{margin:11px 0}.walkthrough-markdown li+li{margin-top:5px}.walkthrough-markdown blockquote{border-left:3px solid var(--done);background:color-mix(in srgb, var(--done) 7%, var(--panel));color:var(--muted);margin:18px 0;padding:8px 15px}.walkthrough-markdown code{border:1px solid var(--line);background:var(--panel-2);color:var(--text);font-size:inherit;border-radius:4px;padding:2px 5px}.walkthrough-markdown pre{border:1px solid var(--line);background:var(--panel-2);border-radius:9px;margin:18px 0;padding:16px;overflow:auto}.walkthrough-markdown pre code{background:0 0;border:0;padding:0}.code-inline-reference{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--line));background:color-mix(in srgb, var(--accent) 8%, var(--panel));max-width:100%;color:var(--accent);-webkit-user-select:text;user-select:text;vertical-align:baseline;border-radius:5px;align-items:center;gap:5px;margin:0 2px;padding:2px 6px;line-height:1.35;display:inline-flex}.code-inline-reference:hover{border-color:var(--accent);background:var(--accent-soft)}.code-inline-reference svg{flex:none;width:13px;height:13px}.code-inline-reference>span{font:650 12px var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.code-inline-reference small{color:var(--muted);font:9px var(--mono);white-space:nowrap}.main-view.two-pane .walkthrough-markdown{padding-inline:clamp(22px,4vw,44px)}.main-view.two-pane .walkthrough-diagram svg{min-width:520px}.walkthrough-diagram-shell{border:1px solid var(--line-strong);background:var(--panel);box-shadow:0 4px 18px var(--shadow-small);border-radius:10px;margin:22px 0 28px;overflow:hidden}.walkthrough-diagram-shell.has-comment{border-color:color-mix(in srgb, var(--accent) 55%, var(--line-strong));box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 12%, transparent)}.walkthrough-diagram-toolbar{border-bottom:1px solid var(--line);background:var(--panel-2);min-height:34px;color:var(--muted);letter-spacing:.03em;justify-content:space-between;align-items:center;gap:12px;padding:7px 10px;font-size:9px;font-weight:650;display:flex}.walkthrough-diagram-toolbar>span:nth-child(2){text-align:right;flex:1;min-width:0}.walkthrough-diagram-comment{min-height:27px;color:var(--accent);flex:none;align-items:center;gap:5px;padding:3px 8px;font-size:10px;display:inline-flex}.walkthrough-diagram-comment svg{width:13px;height:13px}.walkthrough-diagram{min-height:190px;padding:22px;overflow:auto}.walkthrough-diagram-comment-composer{border-top:1px solid var(--line);background:var(--panel-2);padding:0 10px 10px}.walkthrough-diagram-comment-composer .inline-comment-composer--line{width:100%;margin:10px 0 0}.walkthrough-diagram svg{width:100%;min-width:580px;max-height:480px;margin:0 auto;display:block}.walkthrough-diagram-node--linked{cursor:pointer;filter:drop-shadow(0 2px 3px var(--shadow-small));outline:none}.walkthrough-diagram-node--linked rect,.walkthrough-diagram-node--linked polygon,.walkthrough-diagram-node--linked circle,.walkthrough-diagram-node--linked path{transition:fill .1s,stroke-width .1s;fill:color-mix(in srgb, var(--accent) 7%, var(--panel))!important;stroke:var(--accent)!important;stroke-width:1.6px!important}.walkthrough-diagram-node--linked line{stroke:color-mix(in srgb, var(--accent) 72%, var(--line-strong))!important;stroke-width:1.2px!important}.walkthrough-diagram-node--linked:hover rect,.walkthrough-diagram-node--linked:focus-visible rect,.walkthrough-diagram-node--linked:hover polygon,.walkthrough-diagram-node--linked:focus-visible polygon,.walkthrough-diagram-node--linked:hover circle,.walkthrough-diagram-node--linked:focus-visible circle,.walkthrough-diagram-node--linked:hover path,.walkthrough-diagram-node--linked:focus-visible path{fill:color-mix(in srgb, var(--accent) 14%, var(--panel))!important;stroke-width:3px!important}.walkthrough-diagram-error{border:1px solid var(--warning-line);background:var(--warning);color:var(--warning-text);border-radius:8px;margin:18px 0;padding:12px;font-size:12px}.walkthrough-html-preview-shell{border:1px solid var(--line-strong);background:var(--panel);box-shadow:0 4px 18px var(--shadow-small);border-radius:10px;margin:22px 0 28px;overflow:visible}.walkthrough-html-preview-toolbar{border-bottom:1px solid var(--line);background:var(--panel-2);min-height:34px;color:var(--muted);letter-spacing:.03em;justify-content:space-between;align-items:center;gap:12px;padding:7px 10px;font-size:9px;font-weight:650;display:flex}.walkthrough-html-preview-toolbar>span:nth-child(2){text-align:right;flex:1;min-width:0}.walkthrough-html-preview-frame-shell{min-width:0;position:relative}.walkthrough-html-preview-frame-shell iframe{background:var(--panel);border:0;width:100%;min-height:240px;display:block}.walkthrough-html-overlay{z-index:4;pointer-events:none;position:absolute;inset:0;overflow:visible}.walkthrough-html-comment-action,.walkthrough-html-marker{pointer-events:auto;box-shadow:0 3px 10px var(--shadow-medium);position:absolute}.walkthrough-html-comment-action{border-color:var(--accent);background:var(--panel);min-height:28px;color:var(--accent);align-items:center;gap:5px;padding:4px 8px;font-size:10px;display:inline-flex;transform:translate(-50%)}.walkthrough-html-comment-action:hover{background:var(--accent-soft)}.walkthrough-html-comment-action svg{width:13px;height:13px}.walkthrough-html-marker{border:1px solid color-mix(in srgb, var(--accent) 70%, var(--line));background:var(--panel);width:25px;height:25px;color:var(--accent);border-radius:999px;place-items:center;padding:5px;display:grid;transform:translate(-75%,-25%)}.walkthrough-html-marker.is-active{background:var(--accent);color:var(--accent-contrast)}.walkthrough-html-marker svg{width:13px;height:13px}.walkthrough-html-comment-composer{z-index:2;border:1px solid var(--line-strong);background:var(--panel);width:min(420px,100% - 24px);box-shadow:0 8px 24px var(--shadow-medium);pointer-events:auto;border-radius:8px;padding:10px;position:absolute;transform:translate(-50%,8px)}.walkthrough-html-comment-composer .inline-comment-composer--line{width:100%;margin:0}.walkthrough-html-preview-error{border:1px solid var(--warning-line);background:var(--warning);color:var(--warning-text);border-radius:8px;margin:18px 0;padding:12px;font-size:12px}.comment-sidebar{font-size:var(--comment-body-size)}.comment-state-filter button{font-size:var(--comment-ui-size)}.comment-state-filter button span{color:var(--muted);font-size:var(--comment-meta-size);margin-left:3px}.comment-list-toolbar,.pr-comment-actions,.comment-reply-actions,.comment-edit-actions,.comment-actions{align-items:center;gap:7px;display:flex}.comment-list-toolbar{justify-content:space-between;margin-top:8px}.comment-list-toolbar button,.comment-actions button,.comment-reply-actions button,.comment-edit-actions button,.pr-comment-actions button{font-size:var(--comment-ui-size)}.comment-list-toolbar button{color:var(--muted);padding:5px 7px}.comment-select-all{color:var(--muted);cursor:pointer;font-size:var(--comment-ui-size);align-items:center;gap:6px;display:flex}.comment-pr-create{margin-left:auto}.comment-select-all input,.comment-select-toggle input{width:auto}.comment-list{flex-direction:column;gap:8px;margin-top:10px;display:flex}.comment-list-item{align-items:flex-start;min-width:0;display:flex;position:relative}.comment-select-toggle{cursor:pointer;flex:0 0 28px;justify-content:center;align-self:flex-start;height:40px;padding-top:11px;display:flex}.comment-select-toggle input{flex:none;width:16px;height:16px;margin:0}.comment-list-item>.comment-thread{cursor:pointer}.comment-list-item.is-selected>.comment-thread{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.comment-list-item>.comment-thread{flex:1;min-width:0}.comment-list-item>.error-notice{margin:6px 0 0}.pr-comment-composer{border:1px solid var(--line);background:var(--panel-2);border-radius:7px;gap:7px;margin-top:8px;padding:10px;display:grid}.pr-comment-composer label{color:var(--muted);font-size:var(--comment-meta-size);font-weight:650}.pr-comment-composer textarea,.comment-reply-composer textarea{font-size:var(--comment-body-size);line-height:1.5}.pr-comment-actions,.comment-reply-actions{justify-content:flex-end}.comment-copy-selection{z-index:5;box-shadow:0 3px 10px var(--shadow-medium);font-size:var(--comment-ui-size);margin-top:10px;position:sticky;bottom:8px}.comment-thread{border:1px solid var(--line);background:var(--panel);color:var(--text);font-size:var(--comment-body-size);border-radius:7px;position:relative;overflow:visible}.comment-thread--inline{border-left:3px solid var(--accent);width:min(100% - 16px,736px);box-shadow:0 3px 12px var(--shadow-small);margin:5px 8px 10px}.comment-thread-header{align-items:flex-start;min-width:0;display:flex}.comment-thread-toggle,.comment-thread-summary{min-width:0;color:var(--text);text-align:left;background:0 0;border:0;border-radius:0;flex:1;align-items:flex-start;gap:7px;padding:10px;display:flex}.comment-thread-toggle:hover{background:var(--accent-soft)}.comment-thread-chevron{color:var(--muted);font:700 16px/1 var(--mono);flex:none}.comment-thread-summary-copy{flex:1;gap:4px;min-width:0;display:grid}.comment-thread.is-collapsed .comment-thread-summary-copy{align-self:center}.comment-thread.is-collapsed .comment-thread-excerpt,.comment-thread.is-collapsed .comment-thread-meta{display:none}.comment-thread-target,.comment-thread-excerpt,.comment-thread-meta{min-width:0;overflow:hidden}.comment-thread-target{color:var(--text);font:650 var(--comment-ui-size)/1.4 var(--mono);text-overflow:ellipsis;white-space:nowrap}.comment-thread-excerpt{font-size:var(--comment-body-size);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box}.comment-thread-meta,.comment-post-meta,.comment-post>small{color:var(--muted);font-size:var(--comment-meta-size);line-height:1.4}.comment-thread-header-actions,.comment-thread-badges{flex:none;align-items:center;display:flex}.comment-thread-header-actions{gap:4px;padding:7px 7px 0 0}.comment-thread-badges{flex-direction:column;align-items:flex-end;gap:4px}.comment-thread-content{border-top:1px solid var(--line);padding:0 10px 10px}.comment-thread.is-collapsed .comment-thread-header{align-items:center}.comment-thread.is-collapsed .comment-thread-header-actions{padding-top:5px;padding-bottom:5px}.comment-thread--inline .comment-thread-header{align-items:center;min-height:34px}.comment-thread--inline .comment-thread-toggle{align-items:center;gap:6px;padding:7px 8px}.comment-thread--inline .comment-thread-chevron{font-size:14px}.comment-thread--inline .comment-thread-summary-copy{display:block}.comment-thread--inline .comment-thread-header-actions,.comment-thread--inline.is-collapsed .comment-thread-header-actions{align-self:stretch;padding:3px 4px 3px 0}.comment-thread--inline .comment-thread-badges{flex-direction:row}.comment-outdated-note{background:var(--danger-soft);color:var(--danger);font-size:var(--comment-meta-size);border-radius:5px;margin:9px 0 0;padding:7px 8px;line-height:1.45}.comment-source-quote{border-left:3px solid var(--line-strong);background:var(--panel-2);margin-top:9px;padding:8px}.comment-source-quote small{color:var(--muted)}.comment-source-quote pre{white-space:pre-wrap;font:inherit;margin:5px 0 0;font-size:12px;overflow:auto}.comment-post{border-bottom:1px solid var(--line);padding:8px 0}.comment-post:last-child{border-bottom:0}.comment-post-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.comment-post-meta>span,.comment-post-meta-end{align-items:center;gap:6px;display:inline-flex}.comment-post-meta strong{color:var(--text);font-size:var(--comment-meta-size)}.comment-post-meta small{color:var(--muted);font-size:var(--comment-badge-size)}.comment-markdown{overflow-wrap:anywhere;font-size:var(--comment-body-size);margin:4px 0 0;line-height:1.5}.comment-markdown>:first-child{margin-top:0}.comment-markdown>:last-child{margin-bottom:0}.comment-markdown p,.comment-markdown ul,.comment-markdown ol,.comment-markdown blockquote,.comment-markdown pre,.comment-markdown details,.comment-markdown-table-scroll{margin:7px 0}.comment-markdown h1,.comment-markdown h2,.comment-markdown h3,.comment-markdown h4,.comment-markdown h5,.comment-markdown h6{color:var(--text);font-size:var(--comment-body-size);border:0;margin:10px 0 6px;padding:0;line-height:1.35}.comment-markdown h1,.comment-markdown h2{font-size:calc(var(--comment-body-size) + 2px)}.comment-markdown ul,.comment-markdown ol{padding-left:20px}.comment-markdown li+li{margin-top:2px}.comment-markdown blockquote{border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--muted);padding:5px 8px}.comment-markdown a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.comment-markdown-unavailable-link{color:var(--muted);text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.comment-markdown code{border:1px solid var(--line);background:var(--panel-2);font-size:inherit;border-radius:4px;padding:1px 4px}.comment-markdown pre{border:1px solid var(--line);background:var(--panel-2);white-space:pre;border-radius:6px;max-width:100%;padding:9px;overflow:auto}.comment-markdown pre code{background:0 0;border:0;padding:0}.comment-markdown img{border-radius:6px;max-width:100%;height:auto;margin:7px 0;display:block}.comment-markdown details>summary{cursor:pointer;font-weight:650}.comment-markdown-table-scroll{border:1px solid var(--line-strong);border-radius:6px;width:100%;overflow-x:auto}.comment-markdown-table-scroll table{border-collapse:collapse;border-spacing:0;width:max-content;min-width:100%}.comment-markdown-table-scroll th,.comment-markdown-table-scroll td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow-wrap:anywhere;text-align:left;vertical-align:top;white-space:normal;max-width:28ch;padding:5px 7px}.comment-markdown-table-scroll th:last-child,.comment-markdown-table-scroll td:last-child{border-right:0}.comment-markdown-table-scroll tr:last-child td{border-bottom:0}.comment-markdown-table-scroll th{background:var(--panel-2);font-weight:700}.comment-markdown .contains-task-list{padding-left:0;list-style:none}.comment-markdown .task-list-item{list-style:none}.comment-markdown .task-list-item>input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent-emphasis);vertical-align:-2px;margin:0 6px 0 0;padding:0}.comment-mermaid-shell{border:1px solid var(--line-strong);background:var(--panel);border-radius:7px;margin:8px 0;overflow:hidden}.comment-mermaid-toolbar{border-bottom:1px solid var(--line);background:var(--panel-2);color:var(--muted);font-size:var(--comment-badge-size);letter-spacing:.03em;padding:5px 7px;font-weight:700}.comment-mermaid{min-height:120px;padding:10px;overflow:auto}.comment-mermaid svg{width:100%;min-width:420px;max-height:360px;margin:0 auto;display:block}.comment-mermaid-placeholder,.comment-mermaid-error{color:var(--muted);font-size:var(--comment-meta-size);padding:12px}.comment-mermaid-error{background:var(--warning);color:var(--warning-text)}.comment-reply-composer{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:7px;margin-top:9px;display:grid}.comment-reply-composer textarea{resize:vertical;min-height:34px}.comment-edit-composer textarea{min-height:76px}.comment-edit-composer{gap:7px;margin-top:7px;display:grid}.comment-edit-actions{justify-content:flex-end}.comment-actions{border-top:1px solid var(--line);flex-wrap:wrap;margin-top:9px;padding-top:8px}.comment-actions button{padding:5px 7px}.comment-action-feedback{color:var(--accent);font-size:var(--comment-meta-size)}.comment-action-feedback--header{white-space:nowrap;align-self:center}.comment-more{flex:none;display:inline-flex;position:relative}.comment-more-trigger{width:28px;height:28px;color:var(--muted);font:700 18px/1 var(--mono);background:0 0;border-color:#0000;place-items:center;padding:0 0 7px;display:grid}.comment-more-trigger:hover,.comment-more-trigger[aria-expanded=true]{border-color:var(--line);background:var(--panel-2);color:var(--text)}.comment-more-menu{z-index:30;border:1px solid var(--line-strong);background:var(--panel);min-width:142px;box-shadow:0 7px 18px var(--shadow-large);border-radius:7px;margin:0;padding:4px;display:grid;position:fixed;inset:auto}.comment-more-menu button{color:var(--text);text-align:left;font-size:var(--comment-ui-size);background:0 0;border-color:#0000;justify-content:flex-start;padding:7px 9px}.comment-more-menu button:hover{background:var(--panel-2)}.comment-more-menu button.is-danger{color:var(--danger)}.badge{background:var(--accent-soft);color:var(--accent);font-size:var(--comment-badge-size);border-radius:10px;padding:2px 6px;display:inline-flex}.badge--resolved{background:var(--panel-2);color:var(--muted)}.badge--outdated,.badge--error{background:var(--danger-soft);color:var(--danger)}.empty-state{text-align:center;color:var(--muted);padding:28px 8px;font-size:12px}.fatal-state{align-content:center;place-items:center;min-height:100vh;display:grid}.fatal-state h1{font:800 42px var(--mono);margin:0}.pull-request-list-screen{flex-direction:column;height:100dvh;min-height:0;display:flex;overflow:hidden}.pull-request-list-header{border-bottom:1px solid var(--header-border);background:var(--header-bg);min-height:76px;color:var(--header-text);flex:none;align-items:center;gap:20px;padding:12px max(20px,50vw - 660px);display:flex}.pull-request-list-header h1{margin:0;font-size:18px;line-height:1.25}.pull-request-list-header p{color:var(--header-muted);margin:3px 0 0;font-size:12px}.pull-request-list-content{width:100%;max-width:1360px;min-height:0;margin:0 auto;padding:24px 20px 40px;overflow-y:auto}.pull-request-list-status{color:var(--muted);text-align:center;padding:72px 20px}.pull-request-list-filters{justify-content:flex-end;align-items:center;gap:14px;margin-bottom:10px;display:flex}.pull-request-status-refresh{min-height:30px;padding:4px 10px;font-size:12px}.pull-request-status-refresh-result{border:1px solid color-mix(in srgb, var(--success) 45%, var(--line));background:color-mix(in srgb, var(--success) 8%, var(--panel));color:var(--success);border-radius:6px;margin:0 0 10px;padding:9px 12px;font-size:12px}.pull-request-status-refresh-result--error{border-color:color-mix(in srgb, var(--danger) 45%, var(--line));background:color-mix(in srgb, var(--danger) 8%, var(--panel));color:var(--danger)}.pull-request-status-refresh-result details{margin-top:5px}.pull-request-status-refresh-result ul{margin:5px 0 0;padding-left:20px}.pull-request-list-filter{min-height:30px;color:var(--muted);cursor:pointer;align-items:center;gap:8px;font-size:12px;display:flex}.pull-request-list-filter:hover{color:var(--text)}.pull-request-list-filter>input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);flex:0 0 15px;margin:0;padding:0}.pull-request-list{border:1px solid var(--line);background:var(--panel);box-shadow:0 1px 2px var(--shadow-small);border-radius:10px;overflow:hidden}.pull-request-list-columns,.pull-request-row{grid-template-columns:minmax(180px,1fr) minmax(260px,2fr) minmax(290px,1.5fr) minmax(100px,.6fr) minmax(100px,.6fr);align-items:center;column-gap:18px;display:grid}.pull-request-list-columns{border-bottom:1px solid var(--line);background:var(--panel-2);min-height:34px;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;padding:0 18px;font-size:10px;font-weight:700}.pull-request-row{min-height:76px;color:inherit;padding:12px 18px;text-decoration:none}.pull-request-row+.pull-request-row{border-top:1px solid var(--line)}.pull-request-row:hover{background:var(--accent-soft)}.pull-request-row__identity{align-items:baseline;gap:8px;min-width:0;font-size:12px;display:flex}.pull-request-row__repository{min-width:0;color:var(--muted);font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pull-request-row__number{color:var(--accent);font-family:var(--mono);flex:none;font-weight:700}.pull-request-status{border:1px solid var(--line);background:var(--panel-2);color:var(--muted);font:700 9px/1.4 var(--mono);letter-spacing:.02em;border-radius:999px;flex:none;padding:2px 7px}.pull-request-status--open{border-color:color-mix(in srgb, var(--success) 45%, var(--line));background:color-mix(in srgb, var(--success) 10%, var(--panel));color:var(--success)}.pull-request-status--closed{border-color:color-mix(in srgb, var(--danger) 45%, var(--line));background:color-mix(in srgb, var(--danger) 9%, var(--panel));color:var(--danger)}.pull-request-status--merged{border-color:color-mix(in srgb, var(--done) 45%, var(--line));background:color-mix(in srgb, var(--done) 10%, var(--panel));color:var(--done)}.pull-request-row__title{overflow-wrap:anywhere;white-space:normal;min-width:0;font-size:14px;line-height:1.35}.pull-request-row__counts{align-items:center;gap:6px;display:flex}.pull-request-count{border:1px solid var(--line);background:var(--panel-2);min-width:76px;color:var(--muted);font:600 10px/1.4 var(--mono);text-align:center;white-space:nowrap;border-radius:999px;padding:3px 7px}.pull-request-count--unresolved{border-color:color-mix(in srgb, var(--attention) 45%, var(--line));background:color-mix(in srgb, var(--attention) 12%, var(--panel));color:var(--attention)}.pull-request-count--resolved{color:var(--success)}.pull-request-count--walkthrough{color:var(--done)}.pull-request-row__date{color:var(--muted);gap:3px;font-size:11px;display:grid}.pull-request-row__date>span{display:none}.pull-request-row__date time{white-space:nowrap}.pull-request-row__date--updated time{color:var(--text);font-weight:600}.pull-request-list-empty{border:1px dashed var(--line-strong);background:var(--panel);text-align:center;border-radius:12px;justify-items:center;max-width:680px;margin:64px auto;padding:54px 32px;display:grid}.pull-request-list-empty h2{margin:18px 0 6px;font-size:18px}.pull-request-list-empty p{color:var(--muted);margin:0;font-size:13px}.pull-request-list-empty code{color:var(--text);font-size:inherit}.pull-request-pagination{color:var(--muted);justify-content:center;align-items:center;gap:16px;padding:18px 0 0;font-size:12px;display:flex}.pull-request-pagination .button--quiet{min-width:72px}@media (width<=1050px){.pull-request-list-columns{display:none}.pull-request-row{grid-template-columns:minmax(180px,.8fr) minmax(280px,1.5fr);row-gap:10px}.pull-request-row__counts{grid-column:1/-1}.pull-request-row__date{grid-area:3}.pull-request-row__date>span{display:inline}}@media (width<=640px){.pull-request-list-header{padding-inline:16px}.pull-request-list-content{padding:16px 12px 32px}.pull-request-list-filters{flex-direction:column-reverse;align-items:flex-end;gap:8px}.pull-request-row{grid-template-columns:1fr;padding:14px}.pull-request-row__title,.pull-request-row__counts,.pull-request-row__date{grid-area:auto/1}.pull-request-row__title{white-space:normal}.pull-request-row__counts{flex-wrap:wrap}}@media (prefers-color-scheme:dark){:root:not([data-theme]),:root[data-theme=system]{--bg:#0d1117;--panel:#161b22;--panel-2:#21262d;--line:#30363d;--line-strong:#484f58;--text:#e6edf3;--muted:#8b949e;--accent:#58a6ff;--accent-emphasis:#1f6feb;--accent-soft:#1f2d3d;--accent-contrast:#fff;--tab-accent:#58a6ff;--focus:#58a6ff;--danger:#ff7b72;--danger-soft:#3c1e22;--warning:#332b00;--warning-text:#e3b341;--warning-line:#6e5a1c;--search-match-bg:#7c5c12;--search-match-text:#fff2bd;--success:#3fb950;--attention:#d29922;--done:#d2a8ff;--info:#58a6ff;--file-tree-active-text:#cae8ff;--header-bg:#010409;--header-border:#21262d;--header-text:#f0f6fc;--header-muted:#8b949e;--header-control-bg:#161b22;--header-control-border:#484f58;--header-control-hover:#21262d;--header-active-bg:#f0f6fc;--header-active-text:#1f2328;--header-badge-bg:#1f6feb;--header-badge-text:#fff;--shadow-small:#01040966;--shadow-medium:#01040980;--shadow-large:#010409a3}}@media (width<=850px){.topbar{gap:10px;padding:0 10px}.pr-heading{flex-basis:150px;min-width:120px}.commit-range-trigger{width:34vw;min-width:240px}.workspace{grid-template-columns:min(var(--sidebar-width,280px), 280px) 6px minmax(0, 1fr);overflow:hidden}.walkthrough-markdown{padding-inline:28px}}@media (width<=800px){.pr-heading{display:none}.review-scope-bar{flex:auto}.review-scope-commits{flex:auto;min-width:0}.commit-range-picker{min-width:0}.commit-range-trigger{width:100%;min-width:0}}@media (width<=560px){.brand strong{display:none}.commit-range-trigger{width:100%;min-width:0}.diff-style-modes{width:96px}.workspace{grid-template-columns:min(var(--sidebar-width,280px), 280px) 6px minmax(500px, 1fr);overflow:auto hidden}.main-view.two-pane{min-width:566px;overflow-x:hidden}.review-scope-bar .segmented button,.review-scope-display .segmented button,.diff-style-modes button{min-width:44px;padding-inline:5px}}
|