@smartmemory/compose 0.2.45-beta → 0.2.47-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +17 -0
  2. package/bin/compose.js +35 -1
  3. package/dist/assets/{App-DQblyoua.js → App-D7E7S49Q.js} +163 -153
  4. package/dist/assets/{arc-B4fPSjcd.js → arc-LOW60tiI.js} +1 -1
  5. package/dist/assets/{architectureDiagram-3BPJPVTR-SiqLJ2Dv.js → architectureDiagram-3BPJPVTR-BDY00hRy.js} +1 -1
  6. package/dist/assets/{blockDiagram-GPEHLZMM-DgA84B2f.js → blockDiagram-GPEHLZMM-DiC_6ktq.js} +1 -1
  7. package/dist/assets/browser-DW2JlJCC.js +8 -0
  8. package/dist/assets/{c4Diagram-AAUBKEIU-B-tXpPJU.js → c4Diagram-AAUBKEIU-CXZC8woU.js} +1 -1
  9. package/dist/assets/channel-Dh96pu1k.js +1 -0
  10. package/dist/assets/{chunk-2J33WTMH-Ch2s7Kg8.js → chunk-2J33WTMH-b8Rdk4S-.js} +1 -1
  11. package/dist/assets/{chunk-4BX2VUAB-B0CaezI4.js → chunk-4BX2VUAB-BSxn03f-.js} +1 -1
  12. package/dist/assets/{chunk-55IACEB6-B7bap9LR.js → chunk-55IACEB6-uUk1WzZ1.js} +1 -1
  13. package/dist/assets/{chunk-727SXJPM-CMksbsjL.js → chunk-727SXJPM-zvXhT6iZ.js} +1 -1
  14. package/dist/assets/{chunk-AQP2D5EJ-ChOCnmMe.js → chunk-AQP2D5EJ-B6GCyrIp.js} +1 -1
  15. package/dist/assets/{chunk-FMBD7UC4-qcUlmmEN.js → chunk-FMBD7UC4-DlhrqkBp.js} +1 -1
  16. package/dist/assets/{chunk-ND2GUHAM-BWwR4JBR.js → chunk-ND2GUHAM-lo_8kNzw.js} +1 -1
  17. package/dist/assets/{chunk-QZHKN3VN-DuRbBL0q.js → chunk-QZHKN3VN-on-yD-C0.js} +1 -1
  18. package/dist/assets/classDiagram-4FO5ZUOK-BCqpDcaS.js +1 -0
  19. package/dist/assets/classDiagram-v2-Q7XG4LA2-BCqpDcaS.js +1 -0
  20. package/dist/assets/{cose-bilkent-S5V4N54A-Dd3Ids4E.js → cose-bilkent-S5V4N54A-DxV7Y2bU.js} +1 -1
  21. package/dist/assets/{dagre-BM42HDAG-C2fmFG1L.js → dagre-BM42HDAG-BHf9sURy.js} +1 -1
  22. package/dist/assets/{diagram-2AECGRRQ-gZjYzjSJ.js → diagram-2AECGRRQ-R9Puxzlh.js} +1 -1
  23. package/dist/assets/{diagram-5GNKFQAL-uxJ9zL35.js → diagram-5GNKFQAL-BbjlClKx.js} +1 -1
  24. package/dist/assets/{diagram-KO2AKTUF--9DBGjk3.js → diagram-KO2AKTUF-r89Mx4m1.js} +1 -1
  25. package/dist/assets/{diagram-LMA3HP47-DkhUcRJZ.js → diagram-LMA3HP47-CstVDJZ3.js} +1 -1
  26. package/dist/assets/{diagram-OG6HWLK6-BaJ__gNW.js → diagram-OG6HWLK6-xmX57FKh.js} +1 -1
  27. package/dist/assets/{erDiagram-TEJ5UH35-DWszA5vM.js → erDiagram-TEJ5UH35-DhLPxvrl.js} +1 -1
  28. package/dist/assets/{flowDiagram-I6XJVG4X-DKGbnIHA.js → flowDiagram-I6XJVG4X-BExoUaNm.js} +1 -1
  29. package/dist/assets/{ganttDiagram-6RSMTGT7-D5CoNr7u.js → ganttDiagram-6RSMTGT7-BEXa5a22.js} +1 -1
  30. package/dist/assets/{gitGraphDiagram-PVQCEYII-wraCb0iO.js → gitGraphDiagram-PVQCEYII-Cbes9api.js} +1 -1
  31. package/dist/assets/{graph-BlEwG9Ro.js → graph-BBXaecIU.js} +1 -1
  32. package/dist/assets/index-BwLfbbOu.css +1 -0
  33. package/dist/assets/{index-CE1ehTQn.js → index-DNuHtZwR.js} +22 -22
  34. package/dist/assets/{infoDiagram-5YYISTIA-CLT2YJ_w.js → infoDiagram-5YYISTIA-UBm4ssfm.js} +1 -1
  35. package/dist/assets/{ishikawaDiagram-YF4QCWOH-1WQ5ViOx.js → ishikawaDiagram-YF4QCWOH-CksBYHCF.js} +1 -1
  36. package/dist/assets/{journeyDiagram-JHISSGLW-CbYKANnV.js → journeyDiagram-JHISSGLW-CKHkIHky.js} +1 -1
  37. package/dist/assets/{kanban-definition-UN3LZRKU-CYNaaEmw.js → kanban-definition-UN3LZRKU-CEahMFzE.js} +1 -1
  38. package/dist/assets/{linear-C6l6Hee2.js → linear-CqLVtYRk.js} +1 -1
  39. package/dist/assets/{mindmap-definition-RKZ34NQL-DzXKDTRa.js → mindmap-definition-RKZ34NQL-C61zWt4M.js} +1 -1
  40. package/dist/assets/{mobile-D8UQvJ1i.css → mobile-Cag5dHlF.css} +1 -1
  41. package/dist/assets/mobile-DwmxS_O4.js +17 -0
  42. package/dist/assets/{pieDiagram-4H26LBE5-CppszhAX.js → pieDiagram-4H26LBE5-BIpZHyJW.js} +1 -1
  43. package/dist/assets/{quadrantDiagram-W4KKPZXB-jpp555QD.js → quadrantDiagram-W4KKPZXB-Db7nRbZm.js} +1 -1
  44. package/dist/assets/{requirementDiagram-4Y6WPE33-nKJCyHfW.js → requirementDiagram-4Y6WPE33-BQqFCAr0.js} +1 -1
  45. package/dist/assets/{sankeyDiagram-5OEKKPKP-D-oX8o5g.js → sankeyDiagram-5OEKKPKP-D-oAAMci.js} +1 -1
  46. package/dist/assets/{sequenceDiagram-3UESZ5HK-CcOMecR8.js → sequenceDiagram-3UESZ5HK-Dc4Cp0Om.js} +1 -1
  47. package/dist/assets/{stateDiagram-AJRCARHV-D0yHv9PM.js → stateDiagram-AJRCARHV-B5DkQ8Pr.js} +1 -1
  48. package/dist/assets/stateDiagram-v2-BHNVJYJU-BM1Uf6a_.js +1 -0
  49. package/dist/assets/{timeline-definition-PNZ67QCA-hsR-T0Te.js → timeline-definition-PNZ67QCA-DU9Fl-FW.js} +1 -1
  50. package/dist/assets/{vennDiagram-CIIHVFJN-C9b10oqu.js → vennDiagram-CIIHVFJN-Bthz7siw.js} +1 -1
  51. package/dist/assets/{wardley-L42UT6IY-BHnzDf0e.js → wardley-L42UT6IY-nqdlFSIA.js} +1 -1
  52. package/dist/assets/{wardleyDiagram-YWT4CUSO-DReamCcN.js → wardleyDiagram-YWT4CUSO-BJ1BC5zc.js} +1 -1
  53. package/dist/assets/{xychartDiagram-2RQKCTM6-CrSsH0ZL.js → xychartDiagram-2RQKCTM6-Bib5JrbR.js} +1 -1
  54. package/dist/index.html +4 -4
  55. package/lib/build-history.js +40 -0
  56. package/lib/build.js +56 -8
  57. package/lib/cli-remote.js +533 -0
  58. package/package.json +3 -1
  59. package/server/auth-middleware.js +309 -0
  60. package/server/auth-routes.js +195 -0
  61. package/server/auth-store.js +539 -0
  62. package/server/build-routes.js +1 -1
  63. package/server/index.js +134 -7
  64. package/server/remote-utils.js +134 -0
  65. package/server/security.js +46 -1
  66. package/server/supervisor.js +7 -1
  67. package/server/vision-routes.js +1 -1
  68. package/server/vision-server.js +1 -1
  69. package/dist/assets/channel-D60Ea_Qi.js +0 -1
  70. package/dist/assets/classDiagram-4FO5ZUOK-Vt88epYI.js +0 -1
  71. package/dist/assets/classDiagram-v2-Q7XG4LA2-Vt88epYI.js +0 -1
  72. package/dist/assets/index-D9M5IzwO.css +0 -1
  73. package/dist/assets/mobile-4lQex-UI.js +0 -17
  74. package/dist/assets/stateDiagram-v2-BHNVJYJU-CFwFamMD.js +0 -1
@@ -1,2 +1,2 @@
1
- import{_ as a,l as s,I as n,e as i}from"./App-DQblyoua.js";import{p}from"./wardley-L42UT6IY-BHnzDf0e.js";import"./mobile-4lQex-UI.js";import"./index-CE1ehTQn.js";import"./graph-BlEwG9Ro.js";var g={parse:a(async r=>{const e=await p("info",r);s.debug(e)},"parse")},v={version:"11.15.0"},d=a(()=>v.version,"getVersion"),m={getVersion:d},c=a((r,e,o)=>{s.debug(`rendering info diagram
1
+ import{_ as a,l as s,I as n,e as i}from"./App-D7E7S49Q.js";import{p}from"./wardley-L42UT6IY-nqdlFSIA.js";import"./mobile-DwmxS_O4.js";import"./index-DNuHtZwR.js";import"./graph-BBXaecIU.js";var g={parse:a(async r=>{const e=await p("info",r);s.debug(e)},"parse")},v={version:"11.15.0"},d=a(()=>v.version,"getVersion"),m={getVersion:d},c=a((r,e,o)=>{s.debug(`rendering info diagram
2
2
  `+r);const t=n(e);i(t,100,400,!0),t.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${o}`)},"draw"),l={draw:c},y={parser:g,db:m,renderer:l};export{y as diagram};
@@ -1,4 +1,4 @@
1
- import{_ as o,c as ot,N as ut,I as dt,ap as yt,z as pt,k as ft,p as it,a as gt,b as kt,g as mt,s as wt,q as _t,e as bt}from"./App-DQblyoua.js";import"./mobile-4lQex-UI.js";import"./index-CE1ehTQn.js";import"./graph-BlEwG9Ro.js";var tt=(function(){var e=o(function(M,t,s,i){for(s=s||{},i=M.length;i--;s[M[i]]=t);return s},"o"),h=[1,4],r=[1,14],a=[1,12],l=[1,13],y=[6,7,8],p=[1,20],d=[1,18],m=[1,19],c=[6,7,11],k=[1,6,13,14],g=[1,23],_=[1,24],x=[1,6,7,11,13,14],B={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:o(function(t,s,i,u,f,n,v){var w=n.length-1;switch(f){case 6:case 7:return u;case 15:u.addNode(n[w-1].length,n[w].trim());break;case 16:u.addNode(0,n[w].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:h},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:h},{6:r,7:[1,10],9:9,12:11,13:a,14:l},e(y,[2,3]),{1:[2,2]},e(y,[2,4]),e(y,[2,5]),{1:[2,6],6:r,12:15,13:a,14:l},{6:r,9:16,12:11,13:a,14:l},{6:p,7:d,10:17,11:m},e(c,[2,18],{14:[1,21]}),e(c,[2,16]),e(c,[2,17]),{6:p,7:d,10:22,11:m},{1:[2,7],6:r,12:15,13:a,14:l},e(k,[2,14],{7:g,11:_}),e(x,[2,8]),e(x,[2,9]),e(x,[2,10]),e(c,[2,15]),e(k,[2,13],{7:g,11:_}),e(x,[2,11]),e(x,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(t,s){if(s.recoverable)this.trace(t);else{var i=new Error(t);throw i.hash=s,i}},"parseError"),parse:o(function(t){var s=this,i=[0],u=[],f=[null],n=[],v=this.table,w="",I=0,S=0,L=2,E=1,R=n.slice.call(arguments,1),b=Object.create(this.lexer),C={yy:{}};for(var z in this.yy)Object.prototype.hasOwnProperty.call(this.yy,z)&&(C.yy[z]=this.yy[z]);b.setInput(t,C.yy),C.yy.lexer=b,C.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var T=b.yylloc;n.push(T);var D=b.options&&b.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function F(N){i.length=i.length-2*N,f.length=f.length-N,n.length=n.length-N}o(F,"popStack");function j(){var N;return N=u.pop()||b.lex()||E,typeof N!="number"&&(N instanceof Array&&(u=N,N=u.pop()),N=s.symbols_[N]||N),N}o(j,"lex");for(var A,W,P,K,H={},X,V,et,Y;;){if(W=i[i.length-1],this.defaultActions[W]?P=this.defaultActions[W]:((A===null||typeof A>"u")&&(A=j()),P=v[W]&&v[W][A]),typeof P>"u"||!P.length||!P[0]){var Q="";Y=[];for(X in v[W])this.terminals_[X]&&X>L&&Y.push("'"+this.terminals_[X]+"'");b.showPosition?Q="Parse error on line "+(I+1)+`:
1
+ import{_ as o,c as ot,N as ut,I as dt,ap as yt,z as pt,k as ft,p as it,a as gt,b as kt,g as mt,s as wt,q as _t,e as bt}from"./App-D7E7S49Q.js";import"./mobile-DwmxS_O4.js";import"./index-DNuHtZwR.js";import"./graph-BBXaecIU.js";var tt=(function(){var e=o(function(M,t,s,i){for(s=s||{},i=M.length;i--;s[M[i]]=t);return s},"o"),h=[1,4],r=[1,14],a=[1,12],l=[1,13],y=[6,7,8],p=[1,20],d=[1,18],m=[1,19],c=[6,7,11],k=[1,6,13,14],g=[1,23],_=[1,24],x=[1,6,7,11,13,14],B={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:o(function(t,s,i,u,f,n,v){var w=n.length-1;switch(f){case 6:case 7:return u;case 15:u.addNode(n[w-1].length,n[w].trim());break;case 16:u.addNode(0,n[w].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:h},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:h},{6:r,7:[1,10],9:9,12:11,13:a,14:l},e(y,[2,3]),{1:[2,2]},e(y,[2,4]),e(y,[2,5]),{1:[2,6],6:r,12:15,13:a,14:l},{6:r,9:16,12:11,13:a,14:l},{6:p,7:d,10:17,11:m},e(c,[2,18],{14:[1,21]}),e(c,[2,16]),e(c,[2,17]),{6:p,7:d,10:22,11:m},{1:[2,7],6:r,12:15,13:a,14:l},e(k,[2,14],{7:g,11:_}),e(x,[2,8]),e(x,[2,9]),e(x,[2,10]),e(c,[2,15]),e(k,[2,13],{7:g,11:_}),e(x,[2,11]),e(x,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(t,s){if(s.recoverable)this.trace(t);else{var i=new Error(t);throw i.hash=s,i}},"parseError"),parse:o(function(t){var s=this,i=[0],u=[],f=[null],n=[],v=this.table,w="",I=0,S=0,L=2,E=1,R=n.slice.call(arguments,1),b=Object.create(this.lexer),C={yy:{}};for(var z in this.yy)Object.prototype.hasOwnProperty.call(this.yy,z)&&(C.yy[z]=this.yy[z]);b.setInput(t,C.yy),C.yy.lexer=b,C.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var T=b.yylloc;n.push(T);var D=b.options&&b.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function F(N){i.length=i.length-2*N,f.length=f.length-N,n.length=n.length-N}o(F,"popStack");function j(){var N;return N=u.pop()||b.lex()||E,typeof N!="number"&&(N instanceof Array&&(u=N,N=u.pop()),N=s.symbols_[N]||N),N}o(j,"lex");for(var A,W,P,K,H={},X,V,et,Y;;){if(W=i[i.length-1],this.defaultActions[W]?P=this.defaultActions[W]:((A===null||typeof A>"u")&&(A=j()),P=v[W]&&v[W][A]),typeof P>"u"||!P.length||!P[0]){var Q="";Y=[];for(X in v[W])this.terminals_[X]&&X>L&&Y.push("'"+this.terminals_[X]+"'");b.showPosition?Q="Parse error on line "+(I+1)+`:
2
2
  `+b.showPosition()+`
3
3
  Expecting `+Y.join(", ")+", got '"+(this.terminals_[A]||A)+"'":Q="Parse error on line "+(I+1)+": Unexpected "+(A==E?"end of input":"'"+(this.terminals_[A]||A)+"'"),this.parseError(Q,{text:b.match,token:this.terminals_[A]||A,line:b.yylineno,loc:T,expected:Y})}if(P[0]instanceof Array&&P.length>1)throw new Error("Parse Error: multiple actions possible at state: "+W+", token: "+A);switch(P[0]){case 1:i.push(A),f.push(b.yytext),n.push(b.yylloc),i.push(P[1]),A=null,S=b.yyleng,w=b.yytext,I=b.yylineno,T=b.yylloc;break;case 2:if(V=this.productions_[P[1]][1],H.$=f[f.length-V],H._$={first_line:n[n.length-(V||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(V||1)].first_column,last_column:n[n.length-1].last_column},D&&(H._$.range=[n[n.length-(V||1)].range[0],n[n.length-1].range[1]]),K=this.performAction.apply(H,[w,S,I,C.yy,P[1],f,n].concat(R)),typeof K<"u")return K;V&&(i=i.slice(0,-1*V*2),f=f.slice(0,-1*V),n=n.slice(0,-1*V)),i.push(this.productions_[P[1]][0]),f.push(H.$),n.push(H._$),et=v[i[i.length-2]][i[i.length-1]],i.push(et);break;case 3:return!0}}return!0},"parse")},O=(function(){var M={EOF:1,parseError:o(function(s,i){if(this.yy.parser)this.yy.parser.parseError(s,i);else throw new Error(s)},"parseError"),setInput:o(function(t,s){return this.yy=s||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var s=t.match(/(?:\r\n?|\n).*/g);return s?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:o(function(t){var s=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-s),this.offset-=s;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var f=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===u.length?this.yylloc.first_column:0)+u[u.length-i.length].length-i[0].length:this.yylloc.first_column-s},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-s]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
4
  `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(t){this.unput(this.match.slice(t))},"less"),pastInput:o(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var t=this.pastInput(),s=new Array(t.length+1).join("-");return t+this.upcomingInput()+`
@@ -1,4 +1,4 @@
1
- import{g as gt}from"./chunk-FMBD7UC4-qcUlmmEN.js";import{a as mt,g as lt,h as xt,d as kt}from"./chunk-ND2GUHAM-BWwR4JBR.js";import{g as _t,s as vt,a as bt,b as wt,q as Tt,p as St,_ as s,c as R,d as X,e as $t,z as Mt}from"./App-DQblyoua.js";import{d as it}from"./arc-B4fPSjcd.js";import"./mobile-4lQex-UI.js";import"./index-CE1ehTQn.js";import"./graph-BlEwG9Ro.js";var U=(function(){var t=s(function(h,r,n,l){for(n=n||{},l=h.length;l--;n[h[l]]=r);return n},"o"),e=[6,8,10,11,12,14,16,17,18],a=[1,9],f=[1,10],i=[1,11],u=[1,12],p=[1,13],o=[1,14],g={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:s(function(r,n,l,y,d,c,v){var k=c.length-1;switch(d){case 1:return c[k-1];case 2:this.$=[];break;case 3:c[k-1].push(c[k]),this.$=c[k-1];break;case 4:case 5:this.$=c[k];break;case 6:case 7:this.$=[];break;case 8:y.setDiagramTitle(c[k].substr(6)),this.$=c[k].substr(6);break;case 9:this.$=c[k].trim(),y.setAccTitle(this.$);break;case 10:case 11:this.$=c[k].trim(),y.setAccDescription(this.$);break;case 12:y.addSection(c[k].substr(8)),this.$=c[k].substr(8);break;case 13:y.addTask(c[k-1],c[k]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:a,12:f,14:i,16:u,17:p,18:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:a,12:f,14:i,16:u,17:p,18:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:s(function(r,n){if(n.recoverable)this.trace(r);else{var l=new Error(r);throw l.hash=n,l}},"parseError"),parse:s(function(r){var n=this,l=[0],y=[],d=[null],c=[],v=this.table,k="",C=0,Q=0,yt=2,D=1,dt=c.slice.call(arguments,1),_=Object.create(this.lexer),I={yy:{}};for(var O in this.yy)Object.prototype.hasOwnProperty.call(this.yy,O)&&(I.yy[O]=this.yy[O]);_.setInput(r,I.yy),I.yy.lexer=_,I.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var Y=_.yylloc;c.push(Y);var ft=_.options&&_.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pt(w){l.length=l.length-2*w,d.length=d.length-w,c.length=c.length-w}s(pt,"popStack");function tt(){var w;return w=y.pop()||_.lex()||D,typeof w!="number"&&(w instanceof Array&&(y=w,w=y.pop()),w=n.symbols_[w]||w),w}s(tt,"lex");for(var b,A,T,q,F={},N,M,et,z;;){if(A=l[l.length-1],this.defaultActions[A]?T=this.defaultActions[A]:((b===null||typeof b>"u")&&(b=tt()),T=v[A]&&v[A][b]),typeof T>"u"||!T.length||!T[0]){var H="";z=[];for(N in v[A])this.terminals_[N]&&N>yt&&z.push("'"+this.terminals_[N]+"'");_.showPosition?H="Parse error on line "+(C+1)+`:
1
+ import{g as gt}from"./chunk-FMBD7UC4-DlhrqkBp.js";import{a as mt,g as lt,h as xt,d as kt}from"./chunk-ND2GUHAM-lo_8kNzw.js";import{g as _t,s as vt,a as bt,b as wt,q as Tt,p as St,_ as s,c as R,d as X,e as $t,z as Mt}from"./App-D7E7S49Q.js";import{d as it}from"./arc-LOW60tiI.js";import"./mobile-DwmxS_O4.js";import"./index-DNuHtZwR.js";import"./graph-BBXaecIU.js";var U=(function(){var t=s(function(h,r,n,l){for(n=n||{},l=h.length;l--;n[h[l]]=r);return n},"o"),e=[6,8,10,11,12,14,16,17,18],a=[1,9],f=[1,10],i=[1,11],u=[1,12],p=[1,13],o=[1,14],g={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:s(function(r,n,l,y,d,c,v){var k=c.length-1;switch(d){case 1:return c[k-1];case 2:this.$=[];break;case 3:c[k-1].push(c[k]),this.$=c[k-1];break;case 4:case 5:this.$=c[k];break;case 6:case 7:this.$=[];break;case 8:y.setDiagramTitle(c[k].substr(6)),this.$=c[k].substr(6);break;case 9:this.$=c[k].trim(),y.setAccTitle(this.$);break;case 10:case 11:this.$=c[k].trim(),y.setAccDescription(this.$);break;case 12:y.addSection(c[k].substr(8)),this.$=c[k].substr(8);break;case 13:y.addTask(c[k-1],c[k]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:a,12:f,14:i,16:u,17:p,18:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:a,12:f,14:i,16:u,17:p,18:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:s(function(r,n){if(n.recoverable)this.trace(r);else{var l=new Error(r);throw l.hash=n,l}},"parseError"),parse:s(function(r){var n=this,l=[0],y=[],d=[null],c=[],v=this.table,k="",C=0,Q=0,yt=2,D=1,dt=c.slice.call(arguments,1),_=Object.create(this.lexer),I={yy:{}};for(var O in this.yy)Object.prototype.hasOwnProperty.call(this.yy,O)&&(I.yy[O]=this.yy[O]);_.setInput(r,I.yy),I.yy.lexer=_,I.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var Y=_.yylloc;c.push(Y);var ft=_.options&&_.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pt(w){l.length=l.length-2*w,d.length=d.length-w,c.length=c.length-w}s(pt,"popStack");function tt(){var w;return w=y.pop()||_.lex()||D,typeof w!="number"&&(w instanceof Array&&(y=w,w=y.pop()),w=n.symbols_[w]||w),w}s(tt,"lex");for(var b,A,T,q,F={},N,M,et,z;;){if(A=l[l.length-1],this.defaultActions[A]?T=this.defaultActions[A]:((b===null||typeof b>"u")&&(b=tt()),T=v[A]&&v[A][b]),typeof T>"u"||!T.length||!T[0]){var H="";z=[];for(N in v[A])this.terminals_[N]&&N>yt&&z.push("'"+this.terminals_[N]+"'");_.showPosition?H="Parse error on line "+(C+1)+`:
2
2
  `+_.showPosition()+`
3
3
  Expecting `+z.join(", ")+", got '"+(this.terminals_[b]||b)+"'":H="Parse error on line "+(C+1)+": Unexpected "+(b==D?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(H,{text:_.match,token:this.terminals_[b]||b,line:_.yylineno,loc:Y,expected:z})}if(T[0]instanceof Array&&T.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+b);switch(T[0]){case 1:l.push(b),d.push(_.yytext),c.push(_.yylloc),l.push(T[1]),b=null,Q=_.yyleng,k=_.yytext,C=_.yylineno,Y=_.yylloc;break;case 2:if(M=this.productions_[T[1]][1],F.$=d[d.length-M],F._$={first_line:c[c.length-(M||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-(M||1)].first_column,last_column:c[c.length-1].last_column},ft&&(F._$.range=[c[c.length-(M||1)].range[0],c[c.length-1].range[1]]),q=this.performAction.apply(F,[k,Q,C,I.yy,T[1],d,c].concat(dt)),typeof q<"u")return q;M&&(l=l.slice(0,-1*M*2),d=d.slice(0,-1*M),c=c.slice(0,-1*M)),l.push(this.productions_[T[1]][0]),d.push(F.$),c.push(F._$),et=v[l[l.length-2]][l[l.length-1]],l.push(et);break;case 3:return!0}}return!0},"parse")},m=(function(){var h={EOF:1,parseError:s(function(n,l){if(this.yy.parser)this.yy.parser.parseError(n,l);else throw new Error(n)},"parseError"),setInput:s(function(r,n){return this.yy=n||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var n=r.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},"input"),unput:s(function(r){var n=r.length,l=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var d=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===y.length?this.yylloc.first_column:0)+y[y.length-l.length].length-l[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[d[0],d[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
4
  `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(r){this.unput(this.match.slice(r))},"less"),pastInput:s(function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var r=this.pastInput(),n=new Array(r.length+1).join("-");return r+this.upcomingInput()+`
@@ -1,4 +1,4 @@
1
- import{_ as c,l as te,c as W,I as fe,af as ye,ag as be,ah as me,Y as _e,G as K,i as F,t as ke,J as Ee,V as Se,W as le,X as ce}from"./App-DQblyoua.js";import{g as Ne}from"./chunk-FMBD7UC4-qcUlmmEN.js";import"./mobile-4lQex-UI.js";import"./index-CE1ehTQn.js";import"./graph-BlEwG9Ro.js";var $=(function(){var t=c(function(_,s,n,a){for(n=n||{},a=_.length;a--;n[_[a]]=s);return n},"o"),g=[1,4],d=[1,13],r=[1,12],p=[1,15],k=[1,16],f=[1,20],h=[1,19],L=[6,7,8],C=[1,26],w=[1,24],N=[1,25],i=[6,7,11],M=[1,31],x=[6,7,11,24],P=[1,6,13,16,17,20,23],U=[1,35],j=[1,36],A=[1,6,7,11,13,16,17,20,23],H=[1,38],V={trace:c(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:c(function(s,n,a,o,u,e,B){var l=e.length-1;switch(u){case 6:case 7:return o;case 8:o.getLogger().trace("Stop NL ");break;case 9:o.getLogger().trace("Stop EOF ");break;case 11:o.getLogger().trace("Stop NL2 ");break;case 12:o.getLogger().trace("Stop EOF2 ");break;case 15:o.getLogger().info("Node: ",e[l-1].id),o.addNode(e[l-2].length,e[l-1].id,e[l-1].descr,e[l-1].type,e[l]);break;case 16:o.getLogger().info("Node: ",e[l].id),o.addNode(e[l-1].length,e[l].id,e[l].descr,e[l].type);break;case 17:o.getLogger().trace("Icon: ",e[l]),o.decorateNode({icon:e[l]});break;case 18:case 23:o.decorateNode({class:e[l]});break;case 19:o.getLogger().trace("SPACELIST");break;case 20:o.getLogger().trace("Node: ",e[l-1].id),o.addNode(0,e[l-1].id,e[l-1].descr,e[l-1].type,e[l]);break;case 21:o.getLogger().trace("Node: ",e[l].id),o.addNode(0,e[l].id,e[l].descr,e[l].type);break;case 22:o.decorateNode({icon:e[l]});break;case 27:o.getLogger().trace("node found ..",e[l-2]),this.$={id:e[l-1],descr:e[l-1],type:o.getType(e[l-2],e[l])};break;case 28:this.$={id:e[l],descr:e[l],type:0};break;case 29:o.getLogger().trace("node found ..",e[l-3]),this.$={id:e[l-3],descr:e[l-1],type:o.getType(e[l-2],e[l])};break;case 30:this.$=e[l-1]+e[l];break;case 31:this.$=e[l];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:g},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:g},{6:d,7:[1,10],9:9,12:11,13:r,14:14,16:p,17:k,18:17,19:18,20:f,23:h},t(L,[2,3]),{1:[2,2]},t(L,[2,4]),t(L,[2,5]),{1:[2,6],6:d,12:21,13:r,14:14,16:p,17:k,18:17,19:18,20:f,23:h},{6:d,9:22,12:11,13:r,14:14,16:p,17:k,18:17,19:18,20:f,23:h},{6:C,7:w,10:23,11:N},t(i,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:f,23:h}),t(i,[2,19]),t(i,[2,21],{15:30,24:M}),t(i,[2,22]),t(i,[2,23]),t(x,[2,25]),t(x,[2,26]),t(x,[2,28],{20:[1,32]}),{21:[1,33]},{6:C,7:w,10:34,11:N},{1:[2,7],6:d,12:21,13:r,14:14,16:p,17:k,18:17,19:18,20:f,23:h},t(P,[2,14],{7:U,11:j}),t(A,[2,8]),t(A,[2,9]),t(A,[2,10]),t(i,[2,16],{15:37,24:M}),t(i,[2,17]),t(i,[2,18]),t(i,[2,20],{24:H}),t(x,[2,31]),{21:[1,39]},{22:[1,40]},t(P,[2,13],{7:U,11:j}),t(A,[2,11]),t(A,[2,12]),t(i,[2,15],{24:H}),t(x,[2,30]),{22:[1,41]},t(x,[2,27]),t(x,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:c(function(s,n){if(n.recoverable)this.trace(s);else{var a=new Error(s);throw a.hash=n,a}},"parseError"),parse:c(function(s){var n=this,a=[0],o=[],u=[null],e=[],B=this.table,l="",z=0,ie=0,ue=2,re=1,ge=e.slice.call(arguments,1),m=Object.create(this.lexer),T={yy:{}};for(var J in this.yy)Object.prototype.hasOwnProperty.call(this.yy,J)&&(T.yy[J]=this.yy[J]);m.setInput(s,T.yy),T.yy.lexer=m,T.yy.parser=this,typeof m.yylloc>"u"&&(m.yylloc={});var q=m.yylloc;e.push(q);var de=m.options&&m.options.ranges;typeof T.yy.parseError=="function"?this.parseError=T.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pe(S){a.length=a.length-2*S,u.length=u.length-S,e.length=e.length-S}c(pe,"popStack");function ae(){var S;return S=o.pop()||m.lex()||re,typeof S!="number"&&(S instanceof Array&&(o=S,S=o.pop()),S=n.symbols_[S]||S),S}c(ae,"lex");for(var E,R,v,Q,G={},X,I,oe,Y;;){if(R=a[a.length-1],this.defaultActions[R]?v=this.defaultActions[R]:((E===null||typeof E>"u")&&(E=ae()),v=B[R]&&B[R][E]),typeof v>"u"||!v.length||!v[0]){var Z="";Y=[];for(X in B[R])this.terminals_[X]&&X>ue&&Y.push("'"+this.terminals_[X]+"'");m.showPosition?Z="Parse error on line "+(z+1)+`:
1
+ import{_ as c,l as te,c as W,I as fe,af as ye,ag as be,ah as me,Y as _e,G as K,i as F,t as ke,J as Ee,V as Se,W as le,X as ce}from"./App-D7E7S49Q.js";import{g as Ne}from"./chunk-FMBD7UC4-DlhrqkBp.js";import"./mobile-DwmxS_O4.js";import"./index-DNuHtZwR.js";import"./graph-BBXaecIU.js";var $=(function(){var t=c(function(_,s,n,a){for(n=n||{},a=_.length;a--;n[_[a]]=s);return n},"o"),g=[1,4],d=[1,13],r=[1,12],p=[1,15],k=[1,16],f=[1,20],h=[1,19],L=[6,7,8],C=[1,26],w=[1,24],N=[1,25],i=[6,7,11],M=[1,31],x=[6,7,11,24],P=[1,6,13,16,17,20,23],U=[1,35],j=[1,36],A=[1,6,7,11,13,16,17,20,23],H=[1,38],V={trace:c(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:c(function(s,n,a,o,u,e,B){var l=e.length-1;switch(u){case 6:case 7:return o;case 8:o.getLogger().trace("Stop NL ");break;case 9:o.getLogger().trace("Stop EOF ");break;case 11:o.getLogger().trace("Stop NL2 ");break;case 12:o.getLogger().trace("Stop EOF2 ");break;case 15:o.getLogger().info("Node: ",e[l-1].id),o.addNode(e[l-2].length,e[l-1].id,e[l-1].descr,e[l-1].type,e[l]);break;case 16:o.getLogger().info("Node: ",e[l].id),o.addNode(e[l-1].length,e[l].id,e[l].descr,e[l].type);break;case 17:o.getLogger().trace("Icon: ",e[l]),o.decorateNode({icon:e[l]});break;case 18:case 23:o.decorateNode({class:e[l]});break;case 19:o.getLogger().trace("SPACELIST");break;case 20:o.getLogger().trace("Node: ",e[l-1].id),o.addNode(0,e[l-1].id,e[l-1].descr,e[l-1].type,e[l]);break;case 21:o.getLogger().trace("Node: ",e[l].id),o.addNode(0,e[l].id,e[l].descr,e[l].type);break;case 22:o.decorateNode({icon:e[l]});break;case 27:o.getLogger().trace("node found ..",e[l-2]),this.$={id:e[l-1],descr:e[l-1],type:o.getType(e[l-2],e[l])};break;case 28:this.$={id:e[l],descr:e[l],type:0};break;case 29:o.getLogger().trace("node found ..",e[l-3]),this.$={id:e[l-3],descr:e[l-1],type:o.getType(e[l-2],e[l])};break;case 30:this.$=e[l-1]+e[l];break;case 31:this.$=e[l];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:g},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:g},{6:d,7:[1,10],9:9,12:11,13:r,14:14,16:p,17:k,18:17,19:18,20:f,23:h},t(L,[2,3]),{1:[2,2]},t(L,[2,4]),t(L,[2,5]),{1:[2,6],6:d,12:21,13:r,14:14,16:p,17:k,18:17,19:18,20:f,23:h},{6:d,9:22,12:11,13:r,14:14,16:p,17:k,18:17,19:18,20:f,23:h},{6:C,7:w,10:23,11:N},t(i,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:f,23:h}),t(i,[2,19]),t(i,[2,21],{15:30,24:M}),t(i,[2,22]),t(i,[2,23]),t(x,[2,25]),t(x,[2,26]),t(x,[2,28],{20:[1,32]}),{21:[1,33]},{6:C,7:w,10:34,11:N},{1:[2,7],6:d,12:21,13:r,14:14,16:p,17:k,18:17,19:18,20:f,23:h},t(P,[2,14],{7:U,11:j}),t(A,[2,8]),t(A,[2,9]),t(A,[2,10]),t(i,[2,16],{15:37,24:M}),t(i,[2,17]),t(i,[2,18]),t(i,[2,20],{24:H}),t(x,[2,31]),{21:[1,39]},{22:[1,40]},t(P,[2,13],{7:U,11:j}),t(A,[2,11]),t(A,[2,12]),t(i,[2,15],{24:H}),t(x,[2,30]),{22:[1,41]},t(x,[2,27]),t(x,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:c(function(s,n){if(n.recoverable)this.trace(s);else{var a=new Error(s);throw a.hash=n,a}},"parseError"),parse:c(function(s){var n=this,a=[0],o=[],u=[null],e=[],B=this.table,l="",z=0,ie=0,ue=2,re=1,ge=e.slice.call(arguments,1),m=Object.create(this.lexer),T={yy:{}};for(var J in this.yy)Object.prototype.hasOwnProperty.call(this.yy,J)&&(T.yy[J]=this.yy[J]);m.setInput(s,T.yy),T.yy.lexer=m,T.yy.parser=this,typeof m.yylloc>"u"&&(m.yylloc={});var q=m.yylloc;e.push(q);var de=m.options&&m.options.ranges;typeof T.yy.parseError=="function"?this.parseError=T.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pe(S){a.length=a.length-2*S,u.length=u.length-S,e.length=e.length-S}c(pe,"popStack");function ae(){var S;return S=o.pop()||m.lex()||re,typeof S!="number"&&(S instanceof Array&&(o=S,S=o.pop()),S=n.symbols_[S]||S),S}c(ae,"lex");for(var E,R,v,Q,G={},X,I,oe,Y;;){if(R=a[a.length-1],this.defaultActions[R]?v=this.defaultActions[R]:((E===null||typeof E>"u")&&(E=ae()),v=B[R]&&B[R][E]),typeof v>"u"||!v.length||!v[0]){var Z="";Y=[];for(X in B[R])this.terminals_[X]&&X>ue&&Y.push("'"+this.terminals_[X]+"'");m.showPosition?Z="Parse error on line "+(z+1)+`:
2
2
  `+m.showPosition()+`
3
3
  Expecting `+Y.join(", ")+", got '"+(this.terminals_[E]||E)+"'":Z="Parse error on line "+(z+1)+": Unexpected "+(E==re?"end of input":"'"+(this.terminals_[E]||E)+"'"),this.parseError(Z,{text:m.match,token:this.terminals_[E]||E,line:m.yylineno,loc:q,expected:Y})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+R+", token: "+E);switch(v[0]){case 1:a.push(E),u.push(m.yytext),e.push(m.yylloc),a.push(v[1]),E=null,ie=m.yyleng,l=m.yytext,z=m.yylineno,q=m.yylloc;break;case 2:if(I=this.productions_[v[1]][1],G.$=u[u.length-I],G._$={first_line:e[e.length-(I||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(I||1)].first_column,last_column:e[e.length-1].last_column},de&&(G._$.range=[e[e.length-(I||1)].range[0],e[e.length-1].range[1]]),Q=this.performAction.apply(G,[l,ie,z,T.yy,v[1],u,e].concat(ge)),typeof Q<"u")return Q;I&&(a=a.slice(0,-1*I*2),u=u.slice(0,-1*I),e=e.slice(0,-1*I)),a.push(this.productions_[v[1]][0]),u.push(G.$),e.push(G._$),oe=B[a[a.length-2]][a[a.length-1]],a.push(oe);break;case 3:return!0}}return!0},"parse")},y=(function(){var _={EOF:1,parseError:c(function(n,a){if(this.yy.parser)this.yy.parser.parseError(n,a);else throw new Error(n)},"parseError"),setInput:c(function(s,n){return this.yy=n||this.yy||{},this._input=s,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:c(function(){var s=this._input[0];this.yytext+=s,this.yyleng++,this.offset++,this.match+=s,this.matched+=s;var n=s.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),s},"input"),unput:c(function(s){var n=s.length,a=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var o=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),a.length-1&&(this.yylineno-=a.length-1);var u=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:a?(a.length===o.length?this.yylloc.first_column:0)+o[o.length-a.length].length-a[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},"unput"),more:c(function(){return this._more=!0,this},"more"),reject:c(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
4
  `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:c(function(s){this.unput(this.match.slice(s))},"less"),pastInput:c(function(){var s=this.matched.substr(0,this.matched.length-this.match.length);return(s.length>20?"...":"")+s.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:c(function(){var s=this.match;return s.length<20&&(s+=this._input.substr(0,20-s.length)),(s.substr(0,20)+(s.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:c(function(){var s=this.pastInput(),n=new Array(s.length+1).join("-");return s+this.upcomingInput()+`
@@ -1 +1 @@
1
- import{b7 as j,b8 as p,b9 as w,ba as k,bb as q}from"./App-DQblyoua.js";import{i as D}from"./init-Gi6I4Gst.js";import{e as g,f as F,a as z,b as B}from"./defaultLocale-DX6XiGOO.js";function M(n,r){return n==null||r==null?NaN:n<r?-1:n>r?1:n>=r?0:NaN}function I(n,r){return n==null||r==null?NaN:r<n?-1:r>n?1:r>=n?0:NaN}function R(n){let r,t,e;n.length!==2?(r=M,t=(o,c)=>M(n(o),c),e=(o,c)=>n(o)-c):(r=n===M||n===I?n:P,t=n,e=n);function u(o,c,i=0,h=o.length){if(i<h){if(r(c,c)!==0)return h;do{const l=i+h>>>1;t(o[l],c)<0?i=l+1:h=l}while(i<h)}return i}function f(o,c,i=0,h=o.length){if(i<h){if(r(c,c)!==0)return h;do{const l=i+h>>>1;t(o[l],c)<=0?i=l+1:h=l}while(i<h)}return i}function a(o,c,i=0,h=o.length){const l=u(o,c,i,h-1);return l>i&&e(o[l-1],c)>-e(o[l],c)?l-1:l}return{left:u,center:a,right:f}}function P(){return 0}function V(n){return n===null?NaN:+n}const $=R(M),x=$.right;R(V).center;const O=Math.sqrt(50),T=Math.sqrt(10),C=Math.sqrt(2);function v(n,r,t){const e=(r-n)/Math.max(0,t),u=Math.floor(Math.log10(e)),f=e/Math.pow(10,u),a=f>=O?10:f>=T?5:f>=C?2:1;let o,c,i;return u<0?(i=Math.pow(10,-u)/a,o=Math.round(n*i),c=Math.round(r*i),o/i<n&&++o,c/i>r&&--c,i=-i):(i=Math.pow(10,u)*a,o=Math.round(n/i),c=Math.round(r/i),o*i<n&&++o,c*i>r&&--c),c<o&&.5<=t&&t<2?v(n,r,t*2):[o,c,i]}function E(n,r,t){if(r=+r,n=+n,t=+t,!(t>0))return[];if(n===r)return[n];const e=r<n,[u,f,a]=e?v(r,n,t):v(n,r,t);if(!(f>=u))return[];const o=f-u+1,c=new Array(o);if(e)if(a<0)for(let i=0;i<o;++i)c[i]=(f-i)/-a;else for(let i=0;i<o;++i)c[i]=(f-i)*a;else if(a<0)for(let i=0;i<o;++i)c[i]=(u+i)/-a;else for(let i=0;i<o;++i)c[i]=(u+i)*a;return c}function y(n,r,t){return r=+r,n=+n,t=+t,v(n,r,t)[2]}function G(n,r,t){r=+r,n=+n,t=+t;const e=r<n,u=e?y(r,n,t):y(n,r,t);return(e?-1:1)*(u<0?1/-u:u)}function H(n,r){r||(r=[]);var t=n?Math.min(r.length,n.length):0,e=r.slice(),u;return function(f){for(u=0;u<t;++u)e[u]=n[u]*(1-f)+r[u]*f;return e}}function J(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function K(n,r){var t=r?r.length:0,e=n?Math.min(t,n.length):0,u=new Array(e),f=new Array(t),a;for(a=0;a<e;++a)u[a]=d(n[a],r[a]);for(;a<t;++a)f[a]=r[a];return function(o){for(a=0;a<e;++a)f[a]=u[a](o);return f}}function L(n,r){var t=new Date;return n=+n,r=+r,function(e){return t.setTime(n*(1-e)+r*e),t}}function Q(n,r){var t={},e={},u;(n===null||typeof n!="object")&&(n={}),(r===null||typeof r!="object")&&(r={});for(u in r)u in n?t[u]=d(n[u],r[u]):e[u]=r[u];return function(f){for(u in t)e[u]=t[u](f);return e}}function d(n,r){var t=typeof r,e;return r==null||t==="boolean"?j(r):(t==="number"?p:t==="string"?(e=w(r))?(r=e,k):q:r instanceof w?k:r instanceof Date?L:J(r)?H:Array.isArray(r)?K:typeof r.valueOf!="function"&&typeof r.toString!="function"||isNaN(r)?Q:p)(n,r)}function U(n,r){return n=+n,r=+r,function(t){return Math.round(n*(1-t)+r*t)}}function W(n){return Math.max(0,-g(Math.abs(n)))}function X(n,r){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(g(r)/3)))*3-g(Math.abs(n)))}function Y(n,r){return n=Math.abs(n),r=Math.abs(r)-n,Math.max(0,g(r)-g(n))+1}function Z(n){return function(){return n}}function _(n){return+n}var A=[0,1];function m(n){return n}function N(n,r){return(r-=n=+n)?function(t){return(t-n)/r}:Z(isNaN(r)?NaN:.5)}function b(n,r){var t;return n>r&&(t=n,n=r,r=t),function(e){return Math.max(n,Math.min(r,e))}}function nn(n,r,t){var e=n[0],u=n[1],f=r[0],a=r[1];return u<e?(e=N(u,e),f=t(a,f)):(e=N(e,u),f=t(f,a)),function(o){return f(e(o))}}function rn(n,r,t){var e=Math.min(n.length,r.length)-1,u=new Array(e),f=new Array(e),a=-1;for(n[e]<n[0]&&(n=n.slice().reverse(),r=r.slice().reverse());++a<e;)u[a]=N(n[a],n[a+1]),f[a]=t(r[a],r[a+1]);return function(o){var c=x(n,o,1,e)-1;return f[c](u[c](o))}}function en(n,r){return r.domain(n.domain()).range(n.range()).interpolate(n.interpolate()).clamp(n.clamp()).unknown(n.unknown())}function tn(){var n=A,r=A,t=d,e,u,f,a=m,o,c,i;function h(){var s=Math.min(n.length,r.length);return a!==m&&(a=b(n[0],n[s-1])),o=s>2?rn:nn,c=i=null,l}function l(s){return s==null||isNaN(s=+s)?f:(c||(c=o(n.map(e),r,t)))(e(a(s)))}return l.invert=function(s){return a(u((i||(i=o(r,n.map(e),p)))(s)))},l.domain=function(s){return arguments.length?(n=Array.from(s,_),h()):n.slice()},l.range=function(s){return arguments.length?(r=Array.from(s),h()):r.slice()},l.rangeRound=function(s){return r=Array.from(s),t=U,h()},l.clamp=function(s){return arguments.length?(a=s?!0:m,h()):a!==m},l.interpolate=function(s){return arguments.length?(t=s,h()):t},l.unknown=function(s){return arguments.length?(f=s,l):f},function(s,S){return e=s,u=S,h()}}function un(){return tn()(m,m)}function an(n,r,t,e){var u=G(n,r,t),f;switch(e=F(e??",f"),e.type){case"s":{var a=Math.max(Math.abs(n),Math.abs(r));return e.precision==null&&!isNaN(f=X(u,a))&&(e.precision=f),z(e,a)}case"":case"e":case"g":case"p":case"r":{e.precision==null&&!isNaN(f=Y(u,Math.max(Math.abs(n),Math.abs(r))))&&(e.precision=f-(e.type==="e"));break}case"f":case"%":{e.precision==null&&!isNaN(f=W(u))&&(e.precision=f-(e.type==="%")*2);break}}return B(e)}function on(n){var r=n.domain;return n.ticks=function(t){var e=r();return E(e[0],e[e.length-1],t??10)},n.tickFormat=function(t,e){var u=r();return an(u[0],u[u.length-1],t??10,e)},n.nice=function(t){t==null&&(t=10);var e=r(),u=0,f=e.length-1,a=e[u],o=e[f],c,i,h=10;for(o<a&&(i=a,a=o,o=i,i=u,u=f,f=i);h-- >0;){if(i=y(a,o,t),i===c)return e[u]=a,e[f]=o,r(e);if(i>0)a=Math.floor(a/i)*i,o=Math.ceil(o/i)*i;else if(i<0)a=Math.ceil(a*i)/i,o=Math.floor(o*i)/i;else break;c=i}return n},n}function fn(){var n=un();return n.copy=function(){return en(n,fn())},D.apply(n,arguments),on(n)}export{en as a,R as b,un as c,fn as l,G as t};
1
+ import{b7 as j,b8 as p,b9 as w,ba as k,bb as q}from"./App-D7E7S49Q.js";import{i as D}from"./init-Gi6I4Gst.js";import{e as g,f as F,a as z,b as B}from"./defaultLocale-DX6XiGOO.js";function M(n,r){return n==null||r==null?NaN:n<r?-1:n>r?1:n>=r?0:NaN}function I(n,r){return n==null||r==null?NaN:r<n?-1:r>n?1:r>=n?0:NaN}function R(n){let r,t,e;n.length!==2?(r=M,t=(o,c)=>M(n(o),c),e=(o,c)=>n(o)-c):(r=n===M||n===I?n:P,t=n,e=n);function u(o,c,i=0,h=o.length){if(i<h){if(r(c,c)!==0)return h;do{const l=i+h>>>1;t(o[l],c)<0?i=l+1:h=l}while(i<h)}return i}function f(o,c,i=0,h=o.length){if(i<h){if(r(c,c)!==0)return h;do{const l=i+h>>>1;t(o[l],c)<=0?i=l+1:h=l}while(i<h)}return i}function a(o,c,i=0,h=o.length){const l=u(o,c,i,h-1);return l>i&&e(o[l-1],c)>-e(o[l],c)?l-1:l}return{left:u,center:a,right:f}}function P(){return 0}function V(n){return n===null?NaN:+n}const $=R(M),x=$.right;R(V).center;const O=Math.sqrt(50),T=Math.sqrt(10),C=Math.sqrt(2);function v(n,r,t){const e=(r-n)/Math.max(0,t),u=Math.floor(Math.log10(e)),f=e/Math.pow(10,u),a=f>=O?10:f>=T?5:f>=C?2:1;let o,c,i;return u<0?(i=Math.pow(10,-u)/a,o=Math.round(n*i),c=Math.round(r*i),o/i<n&&++o,c/i>r&&--c,i=-i):(i=Math.pow(10,u)*a,o=Math.round(n/i),c=Math.round(r/i),o*i<n&&++o,c*i>r&&--c),c<o&&.5<=t&&t<2?v(n,r,t*2):[o,c,i]}function E(n,r,t){if(r=+r,n=+n,t=+t,!(t>0))return[];if(n===r)return[n];const e=r<n,[u,f,a]=e?v(r,n,t):v(n,r,t);if(!(f>=u))return[];const o=f-u+1,c=new Array(o);if(e)if(a<0)for(let i=0;i<o;++i)c[i]=(f-i)/-a;else for(let i=0;i<o;++i)c[i]=(f-i)*a;else if(a<0)for(let i=0;i<o;++i)c[i]=(u+i)/-a;else for(let i=0;i<o;++i)c[i]=(u+i)*a;return c}function y(n,r,t){return r=+r,n=+n,t=+t,v(n,r,t)[2]}function G(n,r,t){r=+r,n=+n,t=+t;const e=r<n,u=e?y(r,n,t):y(n,r,t);return(e?-1:1)*(u<0?1/-u:u)}function H(n,r){r||(r=[]);var t=n?Math.min(r.length,n.length):0,e=r.slice(),u;return function(f){for(u=0;u<t;++u)e[u]=n[u]*(1-f)+r[u]*f;return e}}function J(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function K(n,r){var t=r?r.length:0,e=n?Math.min(t,n.length):0,u=new Array(e),f=new Array(t),a;for(a=0;a<e;++a)u[a]=d(n[a],r[a]);for(;a<t;++a)f[a]=r[a];return function(o){for(a=0;a<e;++a)f[a]=u[a](o);return f}}function L(n,r){var t=new Date;return n=+n,r=+r,function(e){return t.setTime(n*(1-e)+r*e),t}}function Q(n,r){var t={},e={},u;(n===null||typeof n!="object")&&(n={}),(r===null||typeof r!="object")&&(r={});for(u in r)u in n?t[u]=d(n[u],r[u]):e[u]=r[u];return function(f){for(u in t)e[u]=t[u](f);return e}}function d(n,r){var t=typeof r,e;return r==null||t==="boolean"?j(r):(t==="number"?p:t==="string"?(e=w(r))?(r=e,k):q:r instanceof w?k:r instanceof Date?L:J(r)?H:Array.isArray(r)?K:typeof r.valueOf!="function"&&typeof r.toString!="function"||isNaN(r)?Q:p)(n,r)}function U(n,r){return n=+n,r=+r,function(t){return Math.round(n*(1-t)+r*t)}}function W(n){return Math.max(0,-g(Math.abs(n)))}function X(n,r){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(g(r)/3)))*3-g(Math.abs(n)))}function Y(n,r){return n=Math.abs(n),r=Math.abs(r)-n,Math.max(0,g(r)-g(n))+1}function Z(n){return function(){return n}}function _(n){return+n}var A=[0,1];function m(n){return n}function N(n,r){return(r-=n=+n)?function(t){return(t-n)/r}:Z(isNaN(r)?NaN:.5)}function b(n,r){var t;return n>r&&(t=n,n=r,r=t),function(e){return Math.max(n,Math.min(r,e))}}function nn(n,r,t){var e=n[0],u=n[1],f=r[0],a=r[1];return u<e?(e=N(u,e),f=t(a,f)):(e=N(e,u),f=t(f,a)),function(o){return f(e(o))}}function rn(n,r,t){var e=Math.min(n.length,r.length)-1,u=new Array(e),f=new Array(e),a=-1;for(n[e]<n[0]&&(n=n.slice().reverse(),r=r.slice().reverse());++a<e;)u[a]=N(n[a],n[a+1]),f[a]=t(r[a],r[a+1]);return function(o){var c=x(n,o,1,e)-1;return f[c](u[c](o))}}function en(n,r){return r.domain(n.domain()).range(n.range()).interpolate(n.interpolate()).clamp(n.clamp()).unknown(n.unknown())}function tn(){var n=A,r=A,t=d,e,u,f,a=m,o,c,i;function h(){var s=Math.min(n.length,r.length);return a!==m&&(a=b(n[0],n[s-1])),o=s>2?rn:nn,c=i=null,l}function l(s){return s==null||isNaN(s=+s)?f:(c||(c=o(n.map(e),r,t)))(e(a(s)))}return l.invert=function(s){return a(u((i||(i=o(r,n.map(e),p)))(s)))},l.domain=function(s){return arguments.length?(n=Array.from(s,_),h()):n.slice()},l.range=function(s){return arguments.length?(r=Array.from(s),h()):r.slice()},l.rangeRound=function(s){return r=Array.from(s),t=U,h()},l.clamp=function(s){return arguments.length?(a=s?!0:m,h()):a!==m},l.interpolate=function(s){return arguments.length?(t=s,h()):t},l.unknown=function(s){return arguments.length?(f=s,l):f},function(s,S){return e=s,u=S,h()}}function un(){return tn()(m,m)}function an(n,r,t,e){var u=G(n,r,t),f;switch(e=F(e??",f"),e.type){case"s":{var a=Math.max(Math.abs(n),Math.abs(r));return e.precision==null&&!isNaN(f=X(u,a))&&(e.precision=f),z(e,a)}case"":case"e":case"g":case"p":case"r":{e.precision==null&&!isNaN(f=Y(u,Math.max(Math.abs(n),Math.abs(r))))&&(e.precision=f-(e.type==="e"));break}case"f":case"%":{e.precision==null&&!isNaN(f=W(u))&&(e.precision=f-(e.type==="%")*2);break}}return B(e)}function on(n){var r=n.domain;return n.ticks=function(t){var e=r();return E(e[0],e[e.length-1],t??10)},n.tickFormat=function(t,e){var u=r();return an(u[0],u[u.length-1],t??10,e)},n.nice=function(t){t==null&&(t=10);var e=r(),u=0,f=e.length-1,a=e[u],o=e[f],c,i,h=10;for(o<a&&(i=a,a=o,o=i,i=u,u=f,f=i);h-- >0;){if(i=y(a,o,t),i===c)return e[u]=a,e[f]=o,r(e);if(i>0)a=Math.floor(a/i)*i,o=Math.ceil(o/i)*i;else if(i<0)a=Math.ceil(a*i)/i,o=Math.floor(o*i)/i;else break;c=i}return n},n}function fn(){var n=un();return n.copy=function(){return en(n,fn())},D.apply(n,arguments),on(n)}export{en as a,R as b,un as c,fn as l,G as t};
@@ -1,4 +1,4 @@
1
- import{g as le}from"./chunk-55IACEB6-B7bap9LR.js";import{s as he}from"./chunk-2J33WTMH-Ch2s7Kg8.js";import{_ as h,l as R,o as de,r as ge,D as ue,G as W,c as M,i as H,b6 as pe,V as fe,W as me,X as ye}from"./App-DQblyoua.js";import"./mobile-4lQex-UI.js";import"./index-CE1ehTQn.js";import"./graph-BlEwG9Ro.js";const _=[];for(let t=0;t<256;++t)_.push((t+256).toString(16).slice(1));function Ee(t,e=0){return(_[t[e+0]]+_[t[e+1]]+_[t[e+2]]+_[t[e+3]]+"-"+_[t[e+4]]+_[t[e+5]]+"-"+_[t[e+6]]+_[t[e+7]]+"-"+_[t[e+8]]+_[t[e+9]]+"-"+_[t[e+10]]+_[t[e+11]]+_[t[e+12]]+_[t[e+13]]+_[t[e+14]]+_[t[e+15]]).toLowerCase()}let K;const _e=new Uint8Array(16);function be(){if(!K){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");K=crypto.getRandomValues.bind(crypto)}return K(_e)}const ke=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),ie={randomUUID:ke};function Se(t,e,a){var n;if(ie.randomUUID&&!t)return ie.randomUUID();t=t||{};const l=t.random??((n=t.rng)==null?void 0:n.call(t))??be();if(l.length<16)throw new Error("Random bytes length must be >= 16");return l[6]=l[6]&15|64,l[8]=l[8]&63|128,Ee(l)}var Q=(function(){var t=h(function(O,s,i,o){for(i=i||{},o=O.length;o--;i[O[o]]=s);return i},"o"),e=[1,4],a=[1,13],l=[1,12],n=[1,15],d=[1,16],p=[1,20],y=[1,19],E=[6,7,8],k=[1,26],L=[1,24],N=[1,25],b=[6,7,11],$=[1,6,13,15,16,19,22],f=[1,33],U=[1,34],B=[1,6,7,11,13,15,16,19,22],X={trace:h(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:h(function(s,i,o,c,u,r,P){var g=r.length-1;switch(u){case 6:case 7:return c;case 8:c.getLogger().trace("Stop NL ");break;case 9:c.getLogger().trace("Stop EOF ");break;case 11:c.getLogger().trace("Stop NL2 ");break;case 12:c.getLogger().trace("Stop EOF2 ");break;case 15:c.getLogger().info("Node: ",r[g].id),c.addNode(r[g-1].length,r[g].id,r[g].descr,r[g].type);break;case 16:c.getLogger().trace("Icon: ",r[g]),c.decorateNode({icon:r[g]});break;case 17:case 21:c.decorateNode({class:r[g]});break;case 18:c.getLogger().trace("SPACELIST");break;case 19:c.getLogger().trace("Node: ",r[g].id),c.addNode(0,r[g].id,r[g].descr,r[g].type);break;case 20:c.decorateNode({icon:r[g]});break;case 25:c.getLogger().trace("node found ..",r[g-2]),this.$={id:r[g-1],descr:r[g-1],type:c.getType(r[g-2],r[g])};break;case 26:this.$={id:r[g],descr:r[g],type:c.nodeType.DEFAULT};break;case 27:c.getLogger().trace("node found ..",r[g-3]),this.$={id:r[g-3],descr:r[g-1],type:c.getType(r[g-2],r[g])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:a,7:[1,10],9:9,12:11,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},t(E,[2,3]),{1:[2,2]},t(E,[2,4]),t(E,[2,5]),{1:[2,6],6:a,12:21,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},{6:a,9:22,12:11,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},{6:k,7:L,10:23,11:N},t(b,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:p,22:y}),t(b,[2,18]),t(b,[2,19]),t(b,[2,20]),t(b,[2,21]),t(b,[2,23]),t(b,[2,24]),t(b,[2,26],{19:[1,30]}),{20:[1,31]},{6:k,7:L,10:32,11:N},{1:[2,7],6:a,12:21,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},t($,[2,14],{7:f,11:U}),t(B,[2,8]),t(B,[2,9]),t(B,[2,10]),t(b,[2,15]),t(b,[2,16]),t(b,[2,17]),{20:[1,35]},{21:[1,36]},t($,[2,13],{7:f,11:U}),t(B,[2,11]),t(B,[2,12]),{21:[1,37]},t(b,[2,25]),t(b,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:h(function(s,i){if(i.recoverable)this.trace(s);else{var o=new Error(s);throw o.hash=i,o}},"parseError"),parse:h(function(s){var i=this,o=[0],c=[],u=[null],r=[],P=this.table,g="",F=0,Z=0,re=2,ee=1,oe=r.slice.call(arguments,1),m=Object.create(this.lexer),I={yy:{}};for(var z in this.yy)Object.prototype.hasOwnProperty.call(this.yy,z)&&(I.yy[z]=this.yy[z]);m.setInput(s,I.yy),I.yy.lexer=m,I.yy.parser=this,typeof m.yylloc>"u"&&(m.yylloc={});var Y=m.yylloc;r.push(Y);var ae=m.options&&m.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ce(x){o.length=o.length-2*x,u.length=u.length-x,r.length=r.length-x}h(ce,"popStack");function te(){var x;return x=c.pop()||m.lex()||ee,typeof x!="number"&&(x instanceof Array&&(c=x,x=c.pop()),x=i.symbols_[x]||x),x}h(te,"lex");for(var S,C,D,q,w={},G,v,ne,j;;){if(C=o[o.length-1],this.defaultActions[C]?D=this.defaultActions[C]:((S===null||typeof S>"u")&&(S=te()),D=P[C]&&P[C][S]),typeof D>"u"||!D.length||!D[0]){var J="";j=[];for(G in P[C])this.terminals_[G]&&G>re&&j.push("'"+this.terminals_[G]+"'");m.showPosition?J="Parse error on line "+(F+1)+`:
1
+ import{g as le}from"./chunk-55IACEB6-uUk1WzZ1.js";import{s as he}from"./chunk-2J33WTMH-b8Rdk4S-.js";import{_ as h,l as R,o as de,r as ge,D as ue,G as W,c as M,i as H,b6 as pe,V as fe,W as me,X as ye}from"./App-D7E7S49Q.js";import"./mobile-DwmxS_O4.js";import"./index-DNuHtZwR.js";import"./graph-BBXaecIU.js";const _=[];for(let t=0;t<256;++t)_.push((t+256).toString(16).slice(1));function Ee(t,e=0){return(_[t[e+0]]+_[t[e+1]]+_[t[e+2]]+_[t[e+3]]+"-"+_[t[e+4]]+_[t[e+5]]+"-"+_[t[e+6]]+_[t[e+7]]+"-"+_[t[e+8]]+_[t[e+9]]+"-"+_[t[e+10]]+_[t[e+11]]+_[t[e+12]]+_[t[e+13]]+_[t[e+14]]+_[t[e+15]]).toLowerCase()}let K;const _e=new Uint8Array(16);function be(){if(!K){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");K=crypto.getRandomValues.bind(crypto)}return K(_e)}const ke=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),ie={randomUUID:ke};function Se(t,e,a){var n;if(ie.randomUUID&&!t)return ie.randomUUID();t=t||{};const l=t.random??((n=t.rng)==null?void 0:n.call(t))??be();if(l.length<16)throw new Error("Random bytes length must be >= 16");return l[6]=l[6]&15|64,l[8]=l[8]&63|128,Ee(l)}var Q=(function(){var t=h(function(O,s,i,o){for(i=i||{},o=O.length;o--;i[O[o]]=s);return i},"o"),e=[1,4],a=[1,13],l=[1,12],n=[1,15],d=[1,16],p=[1,20],y=[1,19],E=[6,7,8],k=[1,26],L=[1,24],N=[1,25],b=[6,7,11],$=[1,6,13,15,16,19,22],f=[1,33],U=[1,34],B=[1,6,7,11,13,15,16,19,22],X={trace:h(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:h(function(s,i,o,c,u,r,P){var g=r.length-1;switch(u){case 6:case 7:return c;case 8:c.getLogger().trace("Stop NL ");break;case 9:c.getLogger().trace("Stop EOF ");break;case 11:c.getLogger().trace("Stop NL2 ");break;case 12:c.getLogger().trace("Stop EOF2 ");break;case 15:c.getLogger().info("Node: ",r[g].id),c.addNode(r[g-1].length,r[g].id,r[g].descr,r[g].type);break;case 16:c.getLogger().trace("Icon: ",r[g]),c.decorateNode({icon:r[g]});break;case 17:case 21:c.decorateNode({class:r[g]});break;case 18:c.getLogger().trace("SPACELIST");break;case 19:c.getLogger().trace("Node: ",r[g].id),c.addNode(0,r[g].id,r[g].descr,r[g].type);break;case 20:c.decorateNode({icon:r[g]});break;case 25:c.getLogger().trace("node found ..",r[g-2]),this.$={id:r[g-1],descr:r[g-1],type:c.getType(r[g-2],r[g])};break;case 26:this.$={id:r[g],descr:r[g],type:c.nodeType.DEFAULT};break;case 27:c.getLogger().trace("node found ..",r[g-3]),this.$={id:r[g-3],descr:r[g-1],type:c.getType(r[g-2],r[g])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:a,7:[1,10],9:9,12:11,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},t(E,[2,3]),{1:[2,2]},t(E,[2,4]),t(E,[2,5]),{1:[2,6],6:a,12:21,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},{6:a,9:22,12:11,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},{6:k,7:L,10:23,11:N},t(b,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:p,22:y}),t(b,[2,18]),t(b,[2,19]),t(b,[2,20]),t(b,[2,21]),t(b,[2,23]),t(b,[2,24]),t(b,[2,26],{19:[1,30]}),{20:[1,31]},{6:k,7:L,10:32,11:N},{1:[2,7],6:a,12:21,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},t($,[2,14],{7:f,11:U}),t(B,[2,8]),t(B,[2,9]),t(B,[2,10]),t(b,[2,15]),t(b,[2,16]),t(b,[2,17]),{20:[1,35]},{21:[1,36]},t($,[2,13],{7:f,11:U}),t(B,[2,11]),t(B,[2,12]),{21:[1,37]},t(b,[2,25]),t(b,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:h(function(s,i){if(i.recoverable)this.trace(s);else{var o=new Error(s);throw o.hash=i,o}},"parseError"),parse:h(function(s){var i=this,o=[0],c=[],u=[null],r=[],P=this.table,g="",F=0,Z=0,re=2,ee=1,oe=r.slice.call(arguments,1),m=Object.create(this.lexer),I={yy:{}};for(var z in this.yy)Object.prototype.hasOwnProperty.call(this.yy,z)&&(I.yy[z]=this.yy[z]);m.setInput(s,I.yy),I.yy.lexer=m,I.yy.parser=this,typeof m.yylloc>"u"&&(m.yylloc={});var Y=m.yylloc;r.push(Y);var ae=m.options&&m.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ce(x){o.length=o.length-2*x,u.length=u.length-x,r.length=r.length-x}h(ce,"popStack");function te(){var x;return x=c.pop()||m.lex()||ee,typeof x!="number"&&(x instanceof Array&&(c=x,x=c.pop()),x=i.symbols_[x]||x),x}h(te,"lex");for(var S,C,D,q,w={},G,v,ne,j;;){if(C=o[o.length-1],this.defaultActions[C]?D=this.defaultActions[C]:((S===null||typeof S>"u")&&(S=te()),D=P[C]&&P[C][S]),typeof D>"u"||!D.length||!D[0]){var J="";j=[];for(G in P[C])this.terminals_[G]&&G>re&&j.push("'"+this.terminals_[G]+"'");m.showPosition?J="Parse error on line "+(F+1)+`:
2
2
  `+m.showPosition()+`
3
3
  Expecting `+j.join(", ")+", got '"+(this.terminals_[S]||S)+"'":J="Parse error on line "+(F+1)+": Unexpected "+(S==ee?"end of input":"'"+(this.terminals_[S]||S)+"'"),this.parseError(J,{text:m.match,token:this.terminals_[S]||S,line:m.yylineno,loc:Y,expected:j})}if(D[0]instanceof Array&&D.length>1)throw new Error("Parse Error: multiple actions possible at state: "+C+", token: "+S);switch(D[0]){case 1:o.push(S),u.push(m.yytext),r.push(m.yylloc),o.push(D[1]),S=null,Z=m.yyleng,g=m.yytext,F=m.yylineno,Y=m.yylloc;break;case 2:if(v=this.productions_[D[1]][1],w.$=u[u.length-v],w._$={first_line:r[r.length-(v||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(v||1)].first_column,last_column:r[r.length-1].last_column},ae&&(w._$.range=[r[r.length-(v||1)].range[0],r[r.length-1].range[1]]),q=this.performAction.apply(w,[g,Z,F,I.yy,D[1],u,r].concat(oe)),typeof q<"u")return q;v&&(o=o.slice(0,-1*v*2),u=u.slice(0,-1*v),r=r.slice(0,-1*v)),o.push(this.productions_[D[1]][0]),u.push(w.$),r.push(w._$),ne=P[o[o.length-2]][o[o.length-1]],o.push(ne);break;case 3:return!0}}return!0},"parse")},se=(function(){var O={EOF:1,parseError:h(function(i,o){if(this.yy.parser)this.yy.parser.parseError(i,o);else throw new Error(i)},"parseError"),setInput:h(function(s,i){return this.yy=i||this.yy||{},this._input=s,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:h(function(){var s=this._input[0];this.yytext+=s,this.yyleng++,this.offset++,this.match+=s,this.matched+=s;var i=s.match(/(?:\r\n?|\n).*/g);return i?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),s},"input"),unput:h(function(s){var i=s.length,o=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-i),this.offset-=i;var c=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),o.length-1&&(this.yylineno-=o.length-1);var u=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:o?(o.length===c.length?this.yylloc.first_column:0)+c[c.length-o.length].length-o[0].length:this.yylloc.first_column-i},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-i]),this.yyleng=this.yytext.length,this},"unput"),more:h(function(){return this._more=!0,this},"more"),reject:h(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
4
  `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:h(function(s){this.unput(this.match.slice(s))},"less"),pastInput:h(function(){var s=this.matched.substr(0,this.matched.length-this.match.length);return(s.length>20?"...":"")+s.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:h(function(){var s=this.match;return s.length<20&&(s+=this._input.substr(0,20-s.length)),(s.substr(0,20)+(s.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:h(function(){var s=this.pastInput(),i=new Array(s.length+1).join("-");return s+this.upcomingInput()+`
@@ -1 +1 @@
1
- .m-root{--m-bg: #0a0a0f;--m-surface: #14141c;--m-surface-2: #1c1c26;--m-border: #2a2a35;--m-text: #e6e6f0;--m-text-dim: #9090a0;--m-accent: #7c8cff;--m-danger: #ff6b6b;--m-warn: #f5b342;--m-ok: #4ad28b;--m-touch: 44px;--m-pad: 12px;--m-pad-lg: 16px;--m-radius: 10px;position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--m-bg);color:var(--m-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.4;overflow:hidden}.m-header{flex:0 0 auto;padding:env(safe-area-inset-top) var(--m-pad-lg) 0;background:var(--m-surface);border-bottom:1px solid var(--m-border)}.m-header-title{height:48px;display:flex;align-items:center;font-weight:600;font-size:17px;letter-spacing:.2px}.m-main{flex:1 1 auto;overflow-y:auto;padding:var(--m-pad-lg);padding-bottom:calc(var(--m-pad-lg) + 64px + env(safe-area-inset-bottom))}.m-bottom-nav{flex:0 0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:var(--m-surface);border-top:1px solid var(--m-border);padding-bottom:env(safe-area-inset-bottom);position:absolute;left:0;right:0;bottom:0}.m-nav-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--m-text-dim);min-height:var(--m-touch);height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;cursor:pointer;padding:6px 4px}.m-nav-btn[aria-pressed=true]{color:var(--m-accent)}.m-nav-btn .m-nav-icon{font-size:20px;line-height:1}.m-nav-btn .m-nav-label{font-size:11px;letter-spacing:.2px}.m-nav-icon-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}.m-nav-badge{position:absolute;top:-4px;right:-6px;min-width:8px;height:8px;border-radius:999px;font-size:9px;font-weight:600;line-height:8px;padding:0 3px;display:flex;align-items:center;justify-content:center;background:var(--m-text-dim);color:var(--m-bg);border:1px solid var(--m-bg)}.m-nav-badge-info{background:var(--m-accent)}.m-nav-badge-warn{background:var(--m-warn)}.m-nav-badge-error{background:var(--m-danger)}.m-alert-bar{flex:0 0 auto;display:flex;flex-direction:column;gap:0}.m-alert{display:flex;align-items:center;gap:var(--m-pad);padding:8px var(--m-pad-lg);font-size:13px;cursor:pointer;border-bottom:1px solid var(--m-border);background:var(--m-surface);color:var(--m-text)}.m-alert-info{border-left:3px solid var(--m-accent)}.m-alert-warn{border-left:3px solid var(--m-warn)}.m-alert-error{border-left:3px solid var(--m-danger)}.m-alert-msg{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-alert-dismiss{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--m-text-dim);cursor:pointer;font-size:12px;padding:4px;flex:0 0 auto}.m-status-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500;letter-spacing:.3px;text-transform:uppercase;background:var(--m-surface-2);color:var(--m-text-dim);border:1px solid var(--m-border)}.m-status-pill[data-status=planned]{color:var(--m-text-dim)}.m-status-pill[data-status=in_progress]{color:var(--m-accent);border-color:var(--m-accent)}.m-status-pill[data-status=blocked]{color:var(--m-danger);border-color:var(--m-danger)}.m-status-pill[data-status=complete]{color:var(--m-ok);border-color:var(--m-ok)}.m-status-pill[data-status=partial]{color:var(--m-warn);border-color:var(--m-warn)}.m-placeholder{background:var(--m-surface);border:1px solid var(--m-border);border-radius:var(--m-radius);padding:var(--m-pad-lg);text-align:center;color:var(--m-text-dim)}.m-placeholder-title{font-size:16px;font-weight:600;color:var(--m-text);margin-bottom:8px}.m-placeholder-body{font-size:13px}.m-roadmap{display:flex;flex-direction:column;gap:var(--m-pad)}.m-roadmap-error{background:var(--m-surface);border:1px solid var(--m-danger);color:var(--m-danger);border-radius:var(--m-radius);padding:var(--m-pad);font-size:13px}.m-roadmap-empty{background:var(--m-surface);border:1px solid var(--m-border);border-radius:var(--m-radius);padding:var(--m-pad-lg);text-align:center;color:var(--m-text-dim);font-size:14px}.m-roadmap-skeleton{display:flex;flex-direction:column;gap:8px}.m-skel-card{height:72px;border-radius:var(--m-radius);background:linear-gradient(90deg,var(--m-surface) 0%,var(--m-surface-2) 50%,var(--m-surface) 100%);background-size:200% 100%;animation:m-skel 1.4s ease-in-out infinite;border:1px solid var(--m-border)}@keyframes m-skel{0%{background-position:200% 0}to{background-position:-200% 0}}.m-roadmap-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.m-item-card{display:block;width:100%;text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--m-surface);border:1px solid var(--m-border);border-radius:var(--m-radius);padding:var(--m-pad);color:var(--m-text);cursor:pointer;font:inherit;min-height:var(--m-touch)}.m-item-card:active{background:var(--m-surface-2)}.m-item-card-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:4px}.m-item-card-title{font-weight:600;font-size:15px;line-height:1.3;flex:1 1 auto;word-break:break-word}.m-item-card-meta{display:flex;align-items:center;gap:8px;color:var(--m-text-dim);font-size:12px}.m-item-card-group{background:var(--m-surface-2);border:1px solid var(--m-border);border-radius:6px;padding:1px 6px;font-size:11px;color:var(--m-text)}.m-item-card-id{opacity:.7;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.m-item-card-desc{margin-top:6px;color:var(--m-text-dim);font-size:13px;line-height:1.35}.m-filter-bar{display:flex;flex-direction:column;gap:8px;background:var(--m-surface);border:1px solid var(--m-border);border-radius:var(--m-radius);padding:var(--m-pad);position:sticky;top:0;z-index:2}.m-filter-chips{display:flex;flex-wrap:wrap;gap:6px}.m-filter-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--m-surface-2);border:1px solid var(--m-border);color:var(--m-text-dim);border-radius:999px;padding:6px 12px;font-size:12px;cursor:pointer;min-height:32px}.m-filter-chip[aria-pressed=true]{background:var(--m-accent);color:#0a0a0f;border-color:var(--m-accent)}.m-filter-row{display:flex;gap:8px}.m-filter-select,.m-filter-keyword{flex:1 1 50%;background:var(--m-surface-2);border:1px solid var(--m-border);color:var(--m-text);border-radius:8px;padding:8px 10px;font:inherit;font-size:14px;min-height:36px}.m-filter-keyword::-moz-placeholder{color:var(--m-text-dim)}.m-filter-keyword::placeholder{color:var(--m-text-dim)}.m-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:100;display:flex;align-items:stretch;justify-content:stretch}.m-sheet{position:absolute;left:0;right:0;bottom:0;top:0;background:var(--m-bg);display:flex;flex-direction:column;animation:m-sheet-slide-up .22s ease-out}@keyframes m-sheet-slide-up{0%{transform:translateY(100%);opacity:.6}to{transform:translateY(0);opacity:1}}.m-sheet-header{flex:0 0 auto;padding:env(safe-area-inset-top) var(--m-pad-lg) var(--m-pad);background:var(--m-surface);border-bottom:1px solid var(--m-border)}.m-sheet-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--m-text-dim);font-size:28px;line-height:1;cursor:pointer;padding:6px 10px;margin-left:-10px;min-width:var(--m-touch);min-height:var(--m-touch)}.m-sheet-title-row{display:flex;align-items:center;gap:8px;margin-top:4px}.m-sheet-title{flex:1 1 auto;font-size:17px;font-weight:600;word-break:break-word}.m-sheet-body{flex:1 1 auto;overflow-y:auto;padding:var(--m-pad-lg);display:flex;flex-direction:column;gap:16px}.m-sheet-section{display:flex;flex-direction:column;gap:6px}.m-sheet-label{font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--m-text-dim)}.m-sheet-desc{margin:0;white-space:pre-wrap;font-size:14px;line-height:1.45}.m-sheet-input{background:var(--m-surface);border:1px solid var(--m-border);color:var(--m-text);border-radius:8px;padding:10px 12px;font:inherit;font-size:15px;min-height:var(--m-touch)}.m-sheet-footer{flex:0 0 auto;display:flex;gap:8px;padding:var(--m-pad) var(--m-pad-lg) calc(var(--m-pad-lg) + env(safe-area-inset-bottom));background:var(--m-surface);border-top:1px solid var(--m-border)}.m-sheet-btn{flex:1 1 50%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:8px;padding:12px;font:inherit;font-weight:600;font-size:15px;cursor:pointer;min-height:var(--m-touch);border:1px solid var(--m-border)}.m-sheet-btn-secondary{background:var(--m-surface-2);color:var(--m-text)}.m-sheet-btn-primary{background:var(--m-accent);color:#0a0a0f;border-color:var(--m-accent)}.m-sheet-btn-primary:disabled{opacity:.5;cursor:not-allowed}.m-toast{position:fixed;left:50%;bottom:calc(80px + env(safe-area-inset-bottom));transform:translate(-50%);background:var(--m-surface);color:var(--m-text);border:1px solid var(--m-border);border-radius:8px;padding:10px 16px;font-size:13px;z-index:200;box-shadow:0 8px 24px #00000080;max-width:calc(100% - 32px)}.m-toast[data-kind=error]{border-color:var(--m-danger);color:var(--m-danger)}.m-toast[data-kind=ok]{border-color:var(--m-ok);color:var(--m-ok)}.m-ideas-tab{display:flex;flex-direction:column;gap:var(--m-pad)}.m-ideas-toolbar{display:flex;flex-direction:column;gap:var(--m-pad);position:sticky;top:0;z-index:1;background:var(--m-bg);padding-bottom:4px}.m-capture-btn{flex:0 0 auto;align-self:flex-start;padding:10px 18px;font-size:14px}.m-toast-stack{position:fixed;left:0;right:0;bottom:calc(80px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:6px;align-items:center;pointer-events:none;z-index:200;padding:0 var(--m-pad-lg)}.m-toast-stack .m-toast{position:static;transform:none;pointer-events:auto;left:auto;bottom:auto}.m-ideas-list{display:flex;flex-direction:column;gap:10px}.m-idea-skeleton{height:76px;border-radius:var(--m-radius);background:linear-gradient(90deg,var(--m-surface) 0%,var(--m-surface-2) 50%,var(--m-surface) 100%);background-size:200% 100%;animation:m-skel 1.4s ease-in-out infinite;border:1px solid var(--m-border)}.m-empty-state{background:var(--m-surface);border:1px dashed var(--m-border);border-radius:var(--m-radius);padding:32px var(--m-pad-lg);text-align:center;color:var(--m-text-dim)}.m-empty-title{font-size:15px;font-weight:600;color:var(--m-text);margin-bottom:4px}.m-empty-body{font-size:13px}.m-idea-row{position:relative;border-radius:var(--m-radius);overflow:hidden;background:var(--m-surface-2)}.m-idea-action{position:absolute;top:0;bottom:0;display:flex;align-items:center;width:50%;padding:0 18px;font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.m-idea-action-left{left:0;background:var(--m-ok);color:#06140c;justify-content:flex-start}.m-idea-action-right{right:0;background:var(--m-danger);color:#fff;justify-content:flex-end}.m-idea-card{position:relative;background:var(--m-surface);border:1px solid var(--m-border);border-radius:var(--m-radius);padding:var(--m-pad);display:flex;flex-direction:column;gap:6px;cursor:pointer;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;user-select:none}.m-idea-card.is-intent-promote{box-shadow:0 0 0 2px var(--m-ok) inset}.m-idea-card.is-intent-kill{box-shadow:0 0 0 2px var(--m-danger) inset}.m-idea-head{display:flex;align-items:center;gap:8px}.m-priority-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.3px;background:var(--m-surface-2);color:var(--m-text-dim);border:1px solid var(--m-border)}.m-priority-badge[data-priority=p0]{background:var(--m-danger);color:#fff;border-color:var(--m-danger)}.m-priority-badge[data-priority=p1]{background:var(--m-warn);color:#1a1306;border-color:var(--m-warn)}.m-priority-badge[data-priority=p2]{background:var(--m-accent);color:#0b0b14;border-color:var(--m-accent)}.m-idea-cluster{font-size:12px;color:var(--m-text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-idea-title{margin:0;font-size:15px;font-weight:600;color:var(--m-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.m-idea-tags{display:flex;flex-wrap:wrap;gap:4px}.m-idea-tag{display:inline-flex;align-items:center;gap:4px;background:var(--m-surface-2);color:var(--m-text-dim);border:1px solid var(--m-border);border-radius:6px;padding:2px 6px;font-size:11px}.m-tag-remove{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--m-text-dim);font-size:14px;line-height:1;cursor:pointer;padding:0 2px}.m-tag-input-row{display:flex;gap:6px;align-items:stretch}.m-tag-input-row .m-sheet-input{flex:1 1 auto}.m-tag-add{flex:0 0 auto;padding:0 14px}.m-textarea{resize:vertical;min-height:88px;font-family:inherit}.m-form-error{background:#ff6b6b1a;color:var(--m-danger);padding:8px 12px;border-radius:8px;font-size:13px}.m-detail-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--m-text-dim);margin-top:6px}.m-detail-meta-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--m-surface-2);border:1px solid var(--m-border);border-radius:6px;padding:2px 6px}.m-detail-meta-status{letter-spacing:.4px;text-transform:uppercase}.m-priority-selector{display:flex;flex-wrap:wrap;gap:6px}.m-priority-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--m-surface-2);color:var(--m-text);border:1px solid var(--m-border);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500;cursor:pointer;min-height:32px}.m-priority-chip[data-priority=p0].is-selected{background:var(--m-danger);color:#fff;border-color:var(--m-danger)}.m-priority-chip[data-priority=p1].is-selected{background:var(--m-warn);color:#1a1306;border-color:var(--m-warn)}.m-priority-chip[data-priority=p2].is-selected{background:var(--m-accent);color:#0b0b14;border-color:var(--m-accent)}.m-priority-chip[data-priority=untriaged].is-selected{background:var(--m-text-dim);color:#0b0b14;border-color:var(--m-text-dim)}.m-agents-tab{display:flex;flex-direction:column;gap:var(--m-pad-lg)}.m-section{display:flex;flex-direction:column;gap:8px}.m-section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--m-text-dim);margin:0 0 4px}.m-stack{display:flex;flex-direction:column;gap:8px}.m-empty{background:var(--m-surface);border:1px dashed var(--m-border);border-radius:var(--m-radius);padding:var(--m-pad);color:var(--m-text-dim);font-size:13px;text-align:center}.m-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--m-surface-2);color:var(--m-text);border:1px solid var(--m-border);border-radius:8px;padding:8px 12px;font-size:13px;font-weight:500;min-height:var(--m-touch);cursor:pointer}.m-btn-sm{min-height:32px;padding:6px 10px;font-size:12px}.m-btn-primary{background:var(--m-accent);color:#0a0a0f;border-color:var(--m-accent)}.m-btn-danger{background:#ff6b6b1f;color:var(--m-danger);border-color:#ff6b6b66}.m-btn-warn{background:#f5b3421f;color:var(--m-warn);border-color:#f5b34266}.m-btn-active{outline:2px solid currentColor;outline-offset:-1px}.m-btn:disabled{opacity:.5;cursor:not-allowed}.m-agent-card,.m-gate-card,.m-session-card{background:var(--m-surface);border:1px solid var(--m-border);border-radius:var(--m-radius);padding:var(--m-pad);display:flex;flex-direction:column;gap:6px}.m-agent-card-row,.m-gate-card-row,.m-session-card-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.m-agent-card-id,.m-gate-card-title,.m-session-card-title{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;color:var(--m-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto}.m-agent-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.m-agent-card-time,.m-gate-card-step,.m-session-card-id{font-size:11px;color:var(--m-text-dim)}.m-gate-card-summary{font-size:13px;color:var(--m-text);line-height:1.35}.m-agent-card-error{color:var(--m-danger);font-size:12px;padding:6px 8px;background:#ff6b6b14;border-radius:6px}.m-session-card-form{display:flex;gap:6px}.m-input,.m-textarea{flex:1 1 auto;background:var(--m-surface-2);color:var(--m-text);border:1px solid var(--m-border);border-radius:8px;padding:8px 10px;font:inherit;font-size:14px}.m-textarea{resize:vertical;min-height:44px}.m-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--m-bg);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.m-overlay-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:var(--m-pad);border-bottom:1px solid var(--m-border)}.m-overlay-header-inner{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0}.m-overlay-title{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-overlay-actions{display:flex;gap:6px;flex:0 0 auto}.m-overlay-body{flex:1 1 auto;overflow-y:auto;padding:var(--m-pad)}.m-agent-log{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.45}.m-agent-log-line{white-space:pre-wrap;word-break:break-word;padding:2px 0;border-bottom:1px solid rgba(255,255,255,.04);color:var(--m-text-dim)}.m-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#0009;display:flex;align-items:flex-end}.m-sheet{flex:1 1 auto;background:var(--m-surface);border-top-left-radius:14px;border-top-right-radius:14px;border-top:1px solid var(--m-border);padding:var(--m-pad-lg);padding-bottom:calc(var(--m-pad-lg) + env(safe-area-inset-bottom));max-height:90vh;overflow-y:auto}.m-sheet-header{margin-bottom:var(--m-pad)}.m-sheet-title{font-size:16px;font-weight:600;color:var(--m-text)}.m-sheet-subtitle{font-size:12px;color:var(--m-text-dim);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;margin-top:2px}.m-sheet-body{display:flex;flex-direction:column;gap:var(--m-pad)}.m-sheet-outcomes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.m-field{display:flex;flex-direction:column;gap:4px}.m-field-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--m-text-dim)}.m-sheet-actions{display:flex;justify-content:flex-end;gap:8px}.m-builds-tab{display:flex;flex-direction:column;gap:var(--m-pad);padding:var(--m-pad)}.m-build-card{display:flex;flex-direction:column;gap:6px;padding:var(--m-pad);background:var(--m-surface);border:1px solid var(--m-border);border-radius:10px;cursor:pointer}.m-build-card-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.m-build-card-feature{font-weight:600;color:var(--m-text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto}.m-build-card-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--m-text-dim)}.m-build-card-mode{text-transform:uppercase;letter-spacing:.5px;font-size:10px;padding:2px 6px;border-radius:4px;background:#ffffff0f;color:var(--m-text)}.m-build-card-mode[data-mode=bug]{background:#f5b3421f;color:var(--m-warn)}.m-build-card-tail{display:flex;flex-direction:column;gap:2px;font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--m-text-dim);background:#0000002e;border-radius:6px;padding:6px 8px;max-height:64px;overflow:hidden}.m-build-card-tail-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-build-card-actions{display:flex;justify-content:flex-end;gap:6px}.m-build-mode-row{display:flex;gap:8px}.m-build-steps-list{display:flex;flex-direction:column;gap:12px;padding:4px 0}.m-build-steps-phase{display:flex;flex-direction:column;gap:0}.m-build-steps-phase-header{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--m-text-dim);font-weight:600;padding:4px 0 6px;border-bottom:1px solid var(--m-border);margin-bottom:4px}.m-build-steps-phase-rows{display:flex;flex-direction:column;gap:0}.m-step-row{display:flex;align-items:flex-start;flex-wrap:wrap;gap:6px;padding:6px 4px;border-bottom:1px solid rgba(255,255,255,.04);min-height:36px}.m-step-row--active{background:#7c8cff12;border-radius:6px;border-bottom-color:transparent}.m-step-row--failed{background:#ff6b6b12;border-radius:6px;border-left:3px solid var(--m-danger);padding-left:8px;border-bottom-color:transparent}.m-step-glyph{flex:0 0 auto;width:18px;font-size:13px;line-height:1.6;color:var(--m-text-dim);text-align:center}.m-step-glyph--pulse{color:var(--m-accent);animation:m-step-pulse 1.2s ease-in-out infinite}@keyframes m-step-pulse{0%,to{opacity:1}50%{opacity:.35}}.m-step-name{flex:1 1 auto;font-size:13px;color:var(--m-text);line-height:1.5}.m-step-row--active .m-step-name{color:var(--m-accent);font-weight:500}.m-step-row--failed .m-step-name{color:var(--m-danger);font-weight:500}.m-step-agent-chip{flex:0 0 auto;background:var(--m-surface-2);border:1px solid var(--m-border);border-radius:4px;padding:1px 6px;font-size:10px;color:var(--m-text-dim);text-transform:uppercase;letter-spacing:.3px}.m-step-summary{flex:0 0 100%;font-size:12px;color:var(--m-danger);padding-left:24px;line-height:1.35;margin-top:2px}.m-step-collapsed-row{display:flex;flex-direction:column;padding:4px;cursor:pointer;border-radius:6px;border:1px solid transparent}.m-step-collapsed-row:hover,.m-step-collapsed-row:focus{background:var(--m-surface-2);outline:none}.m-step-collapsed-label{font-size:12px;color:var(--m-text-dim);padding:4px;font-style:italic}.m-build-detail-tabs{flex:0 0 auto;display:flex;gap:0;border-bottom:1px solid var(--m-border);background:var(--m-surface)}.m-build-detail-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-bottom:2px solid transparent;color:var(--m-text-dim);padding:10px 20px;font:inherit;font-size:14px;font-weight:500;cursor:pointer;margin-bottom:-1px}.m-build-detail-tab.is-active,.m-build-detail-tab[aria-pressed=true]{color:var(--m-accent);border-bottom-color:var(--m-accent)}.m-build-history{display:flex;flex-direction:column;gap:0;background:var(--m-surface);border:1px solid var(--m-border);border-radius:var(--m-radius);overflow:hidden}.m-build-history-row{display:flex;flex-direction:column;padding:10px 12px;border-bottom:1px solid var(--m-border);cursor:pointer;min-height:var(--m-touch)}.m-build-history-row:last-child{border-bottom:0}.m-build-history-row:hover,.m-build-history-row:focus{background:var(--m-surface-2);outline:none}.m-build-history-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.m-build-history-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:600;color:var(--m-text);flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-build-history-rel{font-size:11px;color:var(--m-text-dim);margin-left:auto;white-space:nowrap}.m-build-history-reason-trunc{flex:0 0 100%;font-size:12px;color:var(--m-danger);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-build-history-detail{margin-top:8px;display:flex;flex-direction:column;gap:4px;padding-top:8px;border-top:1px solid var(--m-border)}.m-build-history-field{display:flex;align-items:flex-start;gap:8px;font-size:12px}.m-build-history-field--block{flex-direction:column;gap:2px}.m-build-history-field-label{flex:0 0 80px;color:var(--m-text-dim);text-transform:uppercase;letter-spacing:.3px;font-size:10px;padding-top:1px}.m-build-history-field-value{flex:1 1 auto;color:var(--m-text);word-break:break-word}.m-build-history-failure{color:var(--m-danger);white-space:pre-wrap}.m-fab{position:fixed;bottom:calc(76px + env(safe-area-inset-bottom));right:16px;width:52px;height:52px;border-radius:50%;background:var(--m-accent);color:#fff;border:none;font-size:28px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #0006;z-index:10;transition:transform .15s ease,opacity .15s ease}.m-fab:active{transform:scale(.93);opacity:.85}.m-sheet-btn-danger{background:transparent;color:var(--m-danger);border:1px solid var(--m-danger);border-radius:var(--m-radius);padding:0 12px;height:var(--m-touch);min-width:80px;font-size:14px;cursor:pointer;transition:background .15s ease,color .15s ease}.m-sheet-btn-danger:hover{background:color-mix(in srgb,var(--m-danger) 15%,transparent)}.m-sheet-btn-danger--armed{background:var(--m-danger);color:#fff}.m-sheet-btn-danger:disabled{opacity:.5;cursor:not-allowed}.m-sheet-footer-right{display:flex;gap:8px;margin-left:auto}.m-sheet-connections{border-top:1px solid var(--m-border);padding-top:12px}.m-sheet-connections-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.m-conn-add-btn{background:transparent;color:var(--m-accent);border:1px solid var(--m-accent);border-radius:6px;padding:2px 10px;font-size:12px;cursor:pointer}.m-conn-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.m-conn-row{display:flex;align-items:center;gap:6px;padding:6px 0;border-bottom:1px solid var(--m-border);font-size:13px}.m-conn-dir{color:var(--m-text-dim);flex:0 0 16px;text-align:center}.m-conn-title{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-conn-type{flex:0 0 auto;font-size:11px;color:var(--m-text-dim);background:var(--m-surface-2);border-radius:4px;padding:1px 5px}.m-conn-remove{flex:0 0 28px;height:28px;border:none;background:transparent;color:var(--m-text-dim);cursor:pointer;font-size:16px;border-radius:4px}.m-conn-remove--armed{background:var(--m-danger);color:#fff}.m-conn-loading,.m-conn-empty{font-size:12px;color:var(--m-text-dim);padding:4px 0}.m-conn-picker{margin-top:8px;background:var(--m-surface-2);border-radius:var(--m-radius);padding:10px;display:flex;flex-direction:column;gap:8px}.m-conn-picker-row{display:flex;gap:6px}.m-conn-search{flex:1 1 auto}.m-conn-type-select{flex:0 0 110px}.m-conn-picker-list{list-style:none;margin:0;padding:0;max-height:160px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.m-conn-picker-item{width:100%;text-align:left;background:var(--m-surface);border:none;border-radius:6px;padding:8px;cursor:pointer;display:flex;align-items:center;gap:8px}.m-conn-picker-item:active{background:var(--m-surface-2)}.m-conn-picker-title{flex:1 1 auto;font-size:13px;color:var(--m-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-conn-picker-id{flex:0 0 auto;font-size:11px;color:var(--m-text-dim);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.m-conn-picker-empty{font-size:12px;color:var(--m-text-dim);padding:6px 0;text-align:center}
1
+ .m-root{--m-bg: #0a0a0f;--m-surface: #14141c;--m-surface-2: #1c1c26;--m-border: #2a2a35;--m-text: #e6e6f0;--m-text-dim: #9090a0;--m-accent: #7c8cff;--m-danger: #ff6b6b;--m-warn: #f5b342;--m-ok: #4ad28b;--m-touch: 44px;--m-pad: 12px;--m-pad-lg: 16px;--m-radius: 10px;position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--m-bg);color:var(--m-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.4;overflow:hidden}.m-header{flex:0 0 auto;padding:env(safe-area-inset-top) var(--m-pad-lg) 0;background:var(--m-surface);border-bottom:1px solid var(--m-border)}.m-header-title{height:48px;display:flex;align-items:center;font-weight:600;font-size:17px;letter-spacing:.2px}.m-main{flex:1 1 auto;overflow-y:auto;padding:var(--m-pad-lg);padding-bottom:calc(var(--m-pad-lg) + 64px + env(safe-area-inset-bottom))}.m-bottom-nav{flex:0 0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:var(--m-surface);border-top:1px solid var(--m-border);padding-bottom:env(safe-area-inset-bottom);position:absolute;left:0;right:0;bottom:0}.m-nav-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--m-text-dim);min-height:var(--m-touch);height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;cursor:pointer;padding:6px 4px}.m-nav-btn[aria-pressed=true]{color:var(--m-accent)}.m-nav-btn .m-nav-icon{font-size:20px;line-height:1}.m-nav-btn .m-nav-label{font-size:11px;letter-spacing:.2px}.m-nav-icon-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}.m-nav-badge{position:absolute;top:-4px;right:-6px;min-width:8px;height:8px;border-radius:999px;font-size:9px;font-weight:600;line-height:8px;padding:0 3px;display:flex;align-items:center;justify-content:center;background:var(--m-text-dim);color:var(--m-bg);border:1px solid var(--m-bg)}.m-nav-badge-info{background:var(--m-accent)}.m-nav-badge-warn{background:var(--m-warn)}.m-nav-badge-error{background:var(--m-danger)}.m-alert-bar{flex:0 0 auto;display:flex;flex-direction:column;gap:0}.m-alert{display:flex;align-items:center;gap:var(--m-pad);padding:8px var(--m-pad-lg);font-size:13px;cursor:pointer;border-bottom:1px solid var(--m-border);background:var(--m-surface);color:var(--m-text)}.m-alert-info{border-left:3px solid var(--m-accent)}.m-alert-warn{border-left:3px solid var(--m-warn)}.m-alert-error{border-left:3px solid var(--m-danger)}.m-alert-msg{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-alert-dismiss{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--m-text-dim);cursor:pointer;font-size:12px;padding:4px;flex:0 0 auto}.m-status-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500;letter-spacing:.3px;text-transform:uppercase;background:var(--m-surface-2);color:var(--m-text-dim);border:1px solid var(--m-border)}.m-status-pill[data-status=planned]{color:var(--m-text-dim)}.m-status-pill[data-status=in_progress]{color:var(--m-accent);border-color:var(--m-accent)}.m-status-pill[data-status=blocked]{color:var(--m-danger);border-color:var(--m-danger)}.m-status-pill[data-status=complete]{color:var(--m-ok);border-color:var(--m-ok)}.m-status-pill[data-status=partial]{color:var(--m-warn);border-color:var(--m-warn)}.m-placeholder{background:var(--m-surface);border:1px solid var(--m-border);border-radius:var(--m-radius);padding:var(--m-pad-lg);text-align:center;color:var(--m-text-dim)}.m-placeholder-title{font-size:16px;font-weight:600;color:var(--m-text);margin-bottom:8px}.m-placeholder-body{font-size:13px}.m-roadmap{display:flex;flex-direction:column;gap:var(--m-pad)}.m-roadmap-error{background:var(--m-surface);border:1px solid var(--m-danger);color:var(--m-danger);border-radius:var(--m-radius);padding:var(--m-pad);font-size:13px}.m-roadmap-empty{background:var(--m-surface);border:1px solid var(--m-border);border-radius:var(--m-radius);padding:var(--m-pad-lg);text-align:center;color:var(--m-text-dim);font-size:14px}.m-roadmap-skeleton{display:flex;flex-direction:column;gap:8px}.m-skel-card{height:72px;border-radius:var(--m-radius);background:linear-gradient(90deg,var(--m-surface) 0%,var(--m-surface-2) 50%,var(--m-surface) 100%);background-size:200% 100%;animation:m-skel 1.4s ease-in-out infinite;border:1px solid var(--m-border)}@keyframes m-skel{0%{background-position:200% 0}to{background-position:-200% 0}}.m-roadmap-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.m-item-card{display:block;width:100%;text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--m-surface);border:1px solid var(--m-border);border-radius:var(--m-radius);padding:var(--m-pad);color:var(--m-text);cursor:pointer;font:inherit;min-height:var(--m-touch)}.m-item-card:active{background:var(--m-surface-2)}.m-item-card-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:4px}.m-item-card-title{font-weight:600;font-size:15px;line-height:1.3;flex:1 1 auto;word-break:break-word}.m-item-card-meta{display:flex;align-items:center;gap:8px;color:var(--m-text-dim);font-size:12px}.m-item-card-group{background:var(--m-surface-2);border:1px solid var(--m-border);border-radius:6px;padding:1px 6px;font-size:11px;color:var(--m-text)}.m-item-card-id{opacity:.7;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.m-item-card-desc{margin-top:6px;color:var(--m-text-dim);font-size:13px;line-height:1.35}.m-filter-bar{display:flex;flex-direction:column;gap:8px;background:var(--m-surface);border:1px solid var(--m-border);border-radius:var(--m-radius);padding:var(--m-pad);position:sticky;top:0;z-index:2}.m-filter-chips{display:flex;flex-wrap:wrap;gap:6px}.m-filter-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--m-surface-2);border:1px solid var(--m-border);color:var(--m-text-dim);border-radius:999px;padding:6px 12px;font-size:12px;cursor:pointer;min-height:32px}.m-filter-chip[aria-pressed=true]{background:var(--m-accent);color:#0a0a0f;border-color:var(--m-accent)}.m-filter-row{display:flex;gap:8px}.m-filter-select,.m-filter-keyword{flex:1 1 50%;background:var(--m-surface-2);border:1px solid var(--m-border);color:var(--m-text);border-radius:8px;padding:8px 10px;font:inherit;font-size:14px;min-height:36px}.m-filter-keyword::-moz-placeholder{color:var(--m-text-dim)}.m-filter-keyword::placeholder{color:var(--m-text-dim)}.m-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:100;display:flex;align-items:stretch;justify-content:stretch}.m-sheet{position:absolute;left:0;right:0;bottom:0;top:0;background:var(--m-bg);display:flex;flex-direction:column;animation:m-sheet-slide-up .22s ease-out}@keyframes m-sheet-slide-up{0%{transform:translateY(100%);opacity:.6}to{transform:translateY(0);opacity:1}}.m-sheet-header{flex:0 0 auto;padding:env(safe-area-inset-top) var(--m-pad-lg) var(--m-pad);background:var(--m-surface);border-bottom:1px solid var(--m-border)}.m-sheet-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--m-text-dim);font-size:28px;line-height:1;cursor:pointer;padding:6px 10px;margin-left:-10px;min-width:var(--m-touch);min-height:var(--m-touch)}.m-sheet-title-row{display:flex;align-items:center;gap:8px;margin-top:4px}.m-sheet-title{flex:1 1 auto;font-size:17px;font-weight:600;word-break:break-word}.m-sheet-body{flex:1 1 auto;overflow-y:auto;padding:var(--m-pad-lg);display:flex;flex-direction:column;gap:16px}.m-sheet-section{display:flex;flex-direction:column;gap:6px}.m-sheet-label{font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--m-text-dim)}.m-sheet-desc{margin:0;white-space:pre-wrap;font-size:14px;line-height:1.45}.m-sheet-input{background:var(--m-surface);border:1px solid var(--m-border);color:var(--m-text);border-radius:8px;padding:10px 12px;font:inherit;font-size:15px;min-height:var(--m-touch)}.m-sheet-footer{flex:0 0 auto;display:flex;gap:8px;padding:var(--m-pad) var(--m-pad-lg) calc(var(--m-pad-lg) + env(safe-area-inset-bottom));background:var(--m-surface);border-top:1px solid var(--m-border)}.m-sheet-btn{flex:1 1 50%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:8px;padding:12px;font:inherit;font-weight:600;font-size:15px;cursor:pointer;min-height:var(--m-touch);border:1px solid var(--m-border)}.m-sheet-btn-secondary{background:var(--m-surface-2);color:var(--m-text)}.m-sheet-btn-primary{background:var(--m-accent);color:#0a0a0f;border-color:var(--m-accent)}.m-sheet-btn-primary:disabled{opacity:.5;cursor:not-allowed}.m-toast{position:fixed;left:50%;bottom:calc(80px + env(safe-area-inset-bottom));transform:translate(-50%);background:var(--m-surface);color:var(--m-text);border:1px solid var(--m-border);border-radius:8px;padding:10px 16px;font-size:13px;z-index:200;box-shadow:0 8px 24px #00000080;max-width:calc(100% - 32px)}.m-toast[data-kind=error]{border-color:var(--m-danger);color:var(--m-danger)}.m-toast[data-kind=ok]{border-color:var(--m-ok);color:var(--m-ok)}.m-ideas-tab{display:flex;flex-direction:column;gap:var(--m-pad)}.m-ideas-toolbar{display:flex;flex-direction:column;gap:var(--m-pad);position:sticky;top:0;z-index:1;background:var(--m-bg);padding-bottom:4px}.m-capture-btn{flex:0 0 auto;align-self:flex-start;padding:10px 18px;font-size:14px}.m-toast-stack{position:fixed;left:0;right:0;bottom:calc(80px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:6px;align-items:center;pointer-events:none;z-index:200;padding:0 var(--m-pad-lg)}.m-toast-stack .m-toast{position:static;transform:none;pointer-events:auto;left:auto;bottom:auto}.m-ideas-list{display:flex;flex-direction:column;gap:10px}.m-idea-skeleton{height:76px;border-radius:var(--m-radius);background:linear-gradient(90deg,var(--m-surface) 0%,var(--m-surface-2) 50%,var(--m-surface) 100%);background-size:200% 100%;animation:m-skel 1.4s ease-in-out infinite;border:1px solid var(--m-border)}.m-empty-state{background:var(--m-surface);border:1px dashed var(--m-border);border-radius:var(--m-radius);padding:32px var(--m-pad-lg);text-align:center;color:var(--m-text-dim)}.m-empty-title{font-size:15px;font-weight:600;color:var(--m-text);margin-bottom:4px}.m-empty-body{font-size:13px}.m-idea-row{position:relative;border-radius:var(--m-radius);overflow:hidden;background:var(--m-surface-2)}.m-idea-action{position:absolute;top:0;bottom:0;display:flex;align-items:center;width:50%;padding:0 18px;font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.m-idea-action-left{left:0;background:var(--m-ok);color:#06140c;justify-content:flex-start}.m-idea-action-right{right:0;background:var(--m-danger);color:#fff;justify-content:flex-end}.m-idea-card{position:relative;background:var(--m-surface);border:1px solid var(--m-border);border-radius:var(--m-radius);padding:var(--m-pad);display:flex;flex-direction:column;gap:6px;cursor:pointer;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;user-select:none}.m-idea-card.is-intent-promote{box-shadow:0 0 0 2px var(--m-ok) inset}.m-idea-card.is-intent-kill{box-shadow:0 0 0 2px var(--m-danger) inset}.m-idea-head{display:flex;align-items:center;gap:8px}.m-priority-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.3px;background:var(--m-surface-2);color:var(--m-text-dim);border:1px solid var(--m-border)}.m-priority-badge[data-priority=p0]{background:var(--m-danger);color:#fff;border-color:var(--m-danger)}.m-priority-badge[data-priority=p1]{background:var(--m-warn);color:#1a1306;border-color:var(--m-warn)}.m-priority-badge[data-priority=p2]{background:var(--m-accent);color:#0b0b14;border-color:var(--m-accent)}.m-idea-cluster{font-size:12px;color:var(--m-text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-idea-title{margin:0;font-size:15px;font-weight:600;color:var(--m-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.m-idea-tags{display:flex;flex-wrap:wrap;gap:4px}.m-idea-tag{display:inline-flex;align-items:center;gap:4px;background:var(--m-surface-2);color:var(--m-text-dim);border:1px solid var(--m-border);border-radius:6px;padding:2px 6px;font-size:11px}.m-tag-remove{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--m-text-dim);font-size:14px;line-height:1;cursor:pointer;padding:0 2px}.m-tag-input-row{display:flex;gap:6px;align-items:stretch}.m-tag-input-row .m-sheet-input{flex:1 1 auto}.m-tag-add{flex:0 0 auto;padding:0 14px}.m-textarea{resize:vertical;min-height:88px;font-family:inherit}.m-form-error{background:#ff6b6b1a;color:var(--m-danger);padding:8px 12px;border-radius:8px;font-size:13px}.m-detail-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--m-text-dim);margin-top:6px}.m-detail-meta-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--m-surface-2);border:1px solid var(--m-border);border-radius:6px;padding:2px 6px}.m-detail-meta-status{letter-spacing:.4px;text-transform:uppercase}.m-priority-selector{display:flex;flex-wrap:wrap;gap:6px}.m-priority-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--m-surface-2);color:var(--m-text);border:1px solid var(--m-border);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500;cursor:pointer;min-height:32px}.m-priority-chip[data-priority=p0].is-selected{background:var(--m-danger);color:#fff;border-color:var(--m-danger)}.m-priority-chip[data-priority=p1].is-selected{background:var(--m-warn);color:#1a1306;border-color:var(--m-warn)}.m-priority-chip[data-priority=p2].is-selected{background:var(--m-accent);color:#0b0b14;border-color:var(--m-accent)}.m-priority-chip[data-priority=untriaged].is-selected{background:var(--m-text-dim);color:#0b0b14;border-color:var(--m-text-dim)}.m-agents-tab{display:flex;flex-direction:column;gap:var(--m-pad-lg)}.m-section{display:flex;flex-direction:column;gap:8px}.m-section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--m-text-dim);margin:0 0 4px}.m-stack{display:flex;flex-direction:column;gap:8px}.m-empty{background:var(--m-surface);border:1px dashed var(--m-border);border-radius:var(--m-radius);padding:var(--m-pad);color:var(--m-text-dim);font-size:13px;text-align:center}.m-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--m-surface-2);color:var(--m-text);border:1px solid var(--m-border);border-radius:8px;padding:8px 12px;font-size:13px;font-weight:500;min-height:var(--m-touch);cursor:pointer}.m-btn-sm{min-height:32px;padding:6px 10px;font-size:12px}.m-btn-primary{background:var(--m-accent);color:#0a0a0f;border-color:var(--m-accent)}.m-btn-danger{background:#ff6b6b1f;color:var(--m-danger);border-color:#ff6b6b66}.m-btn-warn{background:#f5b3421f;color:var(--m-warn);border-color:#f5b34266}.m-btn-active{outline:2px solid currentColor;outline-offset:-1px}.m-btn:disabled{opacity:.5;cursor:not-allowed}.m-agent-card,.m-gate-card,.m-session-card{background:var(--m-surface);border:1px solid var(--m-border);border-radius:var(--m-radius);padding:var(--m-pad);display:flex;flex-direction:column;gap:6px}.m-agent-card-row,.m-gate-card-row,.m-session-card-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.m-agent-card-id,.m-gate-card-title,.m-session-card-title{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;color:var(--m-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto}.m-agent-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.m-agent-card-time,.m-gate-card-step,.m-session-card-id{font-size:11px;color:var(--m-text-dim)}.m-gate-card-summary{font-size:13px;color:var(--m-text);line-height:1.35}.m-agent-card-error{color:var(--m-danger);font-size:12px;padding:6px 8px;background:#ff6b6b14;border-radius:6px}.m-session-card-form{display:flex;gap:6px}.m-input,.m-textarea{flex:1 1 auto;background:var(--m-surface-2);color:var(--m-text);border:1px solid var(--m-border);border-radius:8px;padding:8px 10px;font:inherit;font-size:14px}.m-textarea{resize:vertical;min-height:44px}.m-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--m-bg);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.m-overlay-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:var(--m-pad);border-bottom:1px solid var(--m-border)}.m-overlay-header-inner{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0}.m-overlay-title{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-overlay-actions{display:flex;gap:6px;flex:0 0 auto}.m-overlay-body{flex:1 1 auto;overflow-y:auto;padding:var(--m-pad)}.m-agent-log{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.45}.m-agent-log-line{white-space:pre-wrap;word-break:break-word;padding:2px 0;border-bottom:1px solid rgba(255,255,255,.04);color:var(--m-text-dim)}.m-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#0009;display:flex;align-items:flex-end}.m-sheet{flex:1 1 auto;background:var(--m-surface);border-top-left-radius:14px;border-top-right-radius:14px;border-top:1px solid var(--m-border);padding:var(--m-pad-lg);padding-bottom:calc(var(--m-pad-lg) + env(safe-area-inset-bottom));max-height:90vh;overflow-y:auto}.m-sheet-header{margin-bottom:var(--m-pad)}.m-sheet-title{font-size:16px;font-weight:600;color:var(--m-text)}.m-sheet-subtitle{font-size:12px;color:var(--m-text-dim);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;margin-top:2px}.m-sheet-body{display:flex;flex-direction:column;gap:var(--m-pad)}.m-sheet-outcomes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.m-field{display:flex;flex-direction:column;gap:4px}.m-field-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--m-text-dim)}.m-sheet-actions{display:flex;justify-content:flex-end;gap:8px}.m-builds-tab{display:flex;flex-direction:column;gap:var(--m-pad);padding:var(--m-pad)}.m-build-card{display:flex;flex-direction:column;gap:6px;padding:var(--m-pad);background:var(--m-surface);border:1px solid var(--m-border);border-radius:10px;cursor:pointer}.m-build-card-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.m-build-card-feature{font-weight:600;color:var(--m-text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto}.m-build-card-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--m-text-dim)}.m-build-card-mode{text-transform:uppercase;letter-spacing:.5px;font-size:10px;padding:2px 6px;border-radius:4px;background:#ffffff0f;color:var(--m-text)}.m-build-card-mode[data-mode=bug]{background:#f5b3421f;color:var(--m-warn)}.m-build-card-tail{display:flex;flex-direction:column;gap:2px;font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--m-text-dim);background:#0000002e;border-radius:6px;padding:6px 8px;max-height:64px;overflow:hidden}.m-build-card-tail-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-build-card-actions{display:flex;justify-content:flex-end;gap:6px}.m-build-mode-row{display:flex;gap:8px}.m-build-steps-list{display:flex;flex-direction:column;gap:12px;padding:4px 0}.m-build-steps-phase{display:flex;flex-direction:column;gap:0}.m-build-steps-phase-header{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--m-text-dim);font-weight:600;padding:4px 0 6px;border-bottom:1px solid var(--m-border);margin-bottom:4px}.m-build-steps-phase-rows{display:flex;flex-direction:column;gap:0}.m-step-row{display:flex;align-items:flex-start;flex-wrap:wrap;gap:6px;padding:6px 4px;border-bottom:1px solid rgba(255,255,255,.04);min-height:36px}.m-step-row--active{background:#7c8cff12;border-radius:6px;border-bottom-color:transparent}.m-step-row--failed{background:#ff6b6b12;border-radius:6px;border-left:3px solid var(--m-danger);padding-left:8px;border-bottom-color:transparent}.m-step-glyph{flex:0 0 auto;width:18px;font-size:13px;line-height:1.6;color:var(--m-text-dim);text-align:center}.m-step-glyph--pulse{color:var(--m-accent);animation:m-step-pulse 1.2s ease-in-out infinite}@keyframes m-step-pulse{0%,to{opacity:1}50%{opacity:.35}}.m-step-name{flex:1 1 auto;font-size:13px;color:var(--m-text);line-height:1.5}.m-step-row--active .m-step-name{color:var(--m-accent);font-weight:500}.m-step-row--failed .m-step-name{color:var(--m-danger);font-weight:500}.m-step-agent-chip{flex:0 0 auto;background:var(--m-surface-2);border:1px solid var(--m-border);border-radius:4px;padding:1px 6px;font-size:10px;color:var(--m-text-dim);text-transform:uppercase;letter-spacing:.3px}.m-step-summary{flex:0 0 100%;font-size:12px;color:var(--m-danger);padding-left:24px;line-height:1.35;margin-top:2px}.m-step-collapsed-row{display:flex;flex-direction:column;padding:4px;cursor:pointer;border-radius:6px;border:1px solid transparent}.m-step-collapsed-row:hover,.m-step-collapsed-row:focus{background:var(--m-surface-2);outline:none}.m-step-collapsed-label{font-size:12px;color:var(--m-text-dim);padding:4px;font-style:italic}.m-build-detail-tabs{flex:0 0 auto;display:flex;gap:0;border-bottom:1px solid var(--m-border);background:var(--m-surface)}.m-build-detail-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-bottom:2px solid transparent;color:var(--m-text-dim);padding:10px 20px;font:inherit;font-size:14px;font-weight:500;cursor:pointer;margin-bottom:-1px}.m-build-detail-tab.is-active,.m-build-detail-tab[aria-pressed=true]{color:var(--m-accent);border-bottom-color:var(--m-accent)}.m-build-history{display:flex;flex-direction:column;gap:0;background:var(--m-surface);border:1px solid var(--m-border);border-radius:var(--m-radius);overflow:hidden}.m-build-history-row{display:flex;flex-direction:column;padding:10px 12px;border-bottom:1px solid var(--m-border);cursor:pointer;min-height:var(--m-touch)}.m-build-history-row:last-child{border-bottom:0}.m-build-history-row:hover,.m-build-history-row:focus{background:var(--m-surface-2);outline:none}.m-build-history-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.m-build-history-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:600;color:var(--m-text);flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-build-history-rel{font-size:11px;color:var(--m-text-dim);margin-left:auto;white-space:nowrap}.m-build-history-reason-trunc{flex:0 0 100%;font-size:12px;color:var(--m-danger);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-build-history-detail{margin-top:8px;display:flex;flex-direction:column;gap:4px;padding-top:8px;border-top:1px solid var(--m-border)}.m-build-history-field{display:flex;align-items:flex-start;gap:8px;font-size:12px}.m-build-history-field--block{flex-direction:column;gap:2px}.m-build-history-field-label{flex:0 0 80px;color:var(--m-text-dim);text-transform:uppercase;letter-spacing:.3px;font-size:10px;padding-top:1px}.m-build-history-field-value{flex:1 1 auto;color:var(--m-text);word-break:break-word}.m-build-history-failure{color:var(--m-danger);white-space:pre-wrap}.m-build-history-steps{margin-top:6px;display:flex;flex-direction:column;gap:2px}.m-build-history-step{display:flex;align-items:baseline;gap:6px;font-size:12px;color:var(--m-text-dim)}.m-build-history-step.is-failed{color:var(--m-danger)}.m-build-history-step-glyph{width:14px;text-align:center;flex:0 0 auto}.m-build-history-step-id{text-transform:capitalize}.m-build-history-step-agent{font-size:10px;opacity:.7}.m-build-history-step-summary{font-size:11px;word-break:break-word}.m-fab{position:fixed;bottom:calc(76px + env(safe-area-inset-bottom));right:16px;width:52px;height:52px;border-radius:50%;background:var(--m-accent);color:#fff;border:none;font-size:28px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #0006;z-index:10;transition:transform .15s ease,opacity .15s ease}.m-fab:active{transform:scale(.93);opacity:.85}.m-sheet-btn-danger{background:transparent;color:var(--m-danger);border:1px solid var(--m-danger);border-radius:var(--m-radius);padding:0 12px;height:var(--m-touch);min-width:80px;font-size:14px;cursor:pointer;transition:background .15s ease,color .15s ease}.m-sheet-btn-danger:hover{background:color-mix(in srgb,var(--m-danger) 15%,transparent)}.m-sheet-btn-danger--armed{background:var(--m-danger);color:#fff}.m-sheet-btn-danger:disabled{opacity:.5;cursor:not-allowed}.m-sheet-footer-right{display:flex;gap:8px;margin-left:auto}.m-sheet-connections{border-top:1px solid var(--m-border);padding-top:12px}.m-sheet-connections-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.m-conn-add-btn{background:transparent;color:var(--m-accent);border:1px solid var(--m-accent);border-radius:6px;padding:2px 10px;font-size:12px;cursor:pointer}.m-conn-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.m-conn-row{display:flex;align-items:center;gap:6px;padding:6px 0;border-bottom:1px solid var(--m-border);font-size:13px}.m-conn-dir{color:var(--m-text-dim);flex:0 0 16px;text-align:center}.m-conn-title{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-conn-type{flex:0 0 auto;font-size:11px;color:var(--m-text-dim);background:var(--m-surface-2);border-radius:4px;padding:1px 5px}.m-conn-remove{flex:0 0 28px;height:28px;border:none;background:transparent;color:var(--m-text-dim);cursor:pointer;font-size:16px;border-radius:4px}.m-conn-remove--armed{background:var(--m-danger);color:#fff}.m-conn-loading,.m-conn-empty{font-size:12px;color:var(--m-text-dim);padding:4px 0}.m-conn-picker{margin-top:8px;background:var(--m-surface-2);border-radius:var(--m-radius);padding:10px;display:flex;flex-direction:column;gap:8px}.m-conn-picker-row{display:flex;gap:6px}.m-conn-search{flex:1 1 auto}.m-conn-type-select{flex:0 0 110px}.m-conn-picker-list{list-style:none;margin:0;padding:0;max-height:160px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.m-conn-picker-item{width:100%;text-align:left;background:var(--m-surface);border:none;border-radius:6px;padding:8px;cursor:pointer;display:flex;align-items:center;gap:8px}.m-conn-picker-item:active{background:var(--m-surface-2)}.m-conn-picker-title{flex:1 1 auto;font-size:13px;color:var(--m-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-conn-picker-id{flex:0 0 auto;font-size:11px;color:var(--m-text-dim);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.m-conn-picker-empty{font-size:12px;color:var(--m-text-dim);padding:6px 0;text-align:center}