@abstractframework/continuum 0.3.1 → 0.4.0

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 (73) hide show
  1. package/README.md +11 -3
  2. package/bin/cli.js +16 -160
  3. package/bin/hub_proxy.js +52 -43
  4. package/bin/request_gate.js +43 -0
  5. package/bin/server.js +232 -0
  6. package/bin/settings.js +45 -28
  7. package/dist/assets/{abnfDiagram-VRR7QNED-DkP5u0Ku.js → abnfDiagram-VRR7QNED-CptTkH57.js} +2 -2
  8. package/dist/assets/{arc-vxPq5BjA.js → arc-oQ5R3mHX.js} +2 -2
  9. package/dist/assets/{architectureDiagram-ZJ3FMSHR-ku0NT7zM.js → architectureDiagram-ZJ3FMSHR-Bn00f0nM.js} +2 -2
  10. package/dist/assets/{blockDiagram-677ZJIJ3-DXQQcNdo.js → blockDiagram-677ZJIJ3-BgQg2xzI.js} +2 -2
  11. package/dist/assets/{c4Diagram-LMCZKHZV-DuZ33cED.js → c4Diagram-LMCZKHZV-DSrFKkwF.js} +2 -2
  12. package/dist/assets/channel-BBUeEZaL.js +2 -0
  13. package/dist/assets/{chunk-2Q5K7J3B-BGWsS7uu.js → chunk-2Q5K7J3B-D8JcDR0u.js} +2 -2
  14. package/dist/assets/{chunk-32BRIVSS-BgokockY.js → chunk-32BRIVSS-Di3jxbyw.js} +2 -2
  15. package/dist/assets/{chunk-5VM5RSS4-OLY5jTMg.js → chunk-5VM5RSS4-xA0TZltq.js} +2 -2
  16. package/dist/assets/{chunk-EX3LRPZG-BWHQVZSz.js → chunk-EX3LRPZG-BkNMQroi.js} +2 -2
  17. package/dist/assets/{chunk-JWPE2WC7-CuM7Hcrw.js → chunk-JWPE2WC7-DaTATpXD.js} +2 -2
  18. package/dist/assets/{chunk-MOJQB5TN-DI56DwNK.js → chunk-MOJQB5TN-CzzOSJWb.js} +2 -2
  19. package/dist/assets/{chunk-RYQCIY6F-phvbPmeC.js → chunk-RYQCIY6F-DAhqq1xl.js} +2 -2
  20. package/dist/assets/{chunk-V7JOEXUC-Cv7eW1t4.js → chunk-V7JOEXUC-D88CIHey.js} +2 -2
  21. package/dist/assets/{chunk-VR4S4FIN-D8k2SzA3.js → chunk-VR4S4FIN-CV5xjwAx.js} +2 -2
  22. package/dist/assets/{chunk-XXDRQBXY-DZy8Plz8.js → chunk-XXDRQBXY-CHnfAGOy.js} +2 -2
  23. package/dist/assets/classDiagram-OUVF2IWQ-GIwsZVZi.js +2 -0
  24. package/dist/assets/classDiagram-v2-EOCWNBFH-GIwsZVZi.js +2 -0
  25. package/dist/assets/{cose-bilkent-JH36ORCC-CiwWaVUb.js → cose-bilkent-JH36ORCC-BgTNPlnQ.js} +2 -2
  26. package/dist/assets/{cynefin-VYW2F7L2-Cz79Fwdx.js → cynefin-VYW2F7L2-DFRQoaMD.js} +3 -3
  27. package/dist/assets/{cynefinDiagram-TSTJHNR4-DYlkii-x.js → cynefinDiagram-TSTJHNR4-DA2MOQXI.js} +2 -2
  28. package/dist/assets/{dagre-VKFMJZFB-Cumo7o1R.js → dagre-VKFMJZFB-BUIShmyq.js} +2 -2
  29. package/dist/assets/{diagram-FQU43EPY-Dorm69_e.js → diagram-FQU43EPY-DVjgItuu.js} +2 -2
  30. package/dist/assets/{diagram-G47NLZAW-Bhtzc4JU.js → diagram-G47NLZAW-eJSMzGjb.js} +2 -2
  31. package/dist/assets/{diagram-NH7WQ7WH-DJF-iHCK.js → diagram-NH7WQ7WH-uJNNsz13.js} +2 -2
  32. package/dist/assets/{diagram-OA4YK3LP-8mQ4915-.js → diagram-OA4YK3LP-xmJewu37.js} +2 -2
  33. package/dist/assets/{diagram-WEI45ONY-C4Bv6dbm.js → diagram-WEI45ONY-CaXYx2ei.js} +2 -2
  34. package/dist/assets/{ebnfDiagram-CCIWWBDH-DzagnQVX.js → ebnfDiagram-CCIWWBDH-BrgvjnU5.js} +2 -2
  35. package/dist/assets/{erDiagram-Q63AITRT-BbkYElA6.js → erDiagram-Q63AITRT-CFF8G5wJ.js} +2 -2
  36. package/dist/assets/{flowDiagram-23GEKE2U-OcR4vkjk.js → flowDiagram-23GEKE2U-W02vEFp0.js} +2 -2
  37. package/dist/assets/{ganttDiagram-NO4QXBWP-DyAPiIdB.js → ganttDiagram-NO4QXBWP-CRV1W7ht.js} +2 -2
  38. package/dist/assets/{gitGraphDiagram-IHSO6WYX-pymEefZi.js → gitGraphDiagram-IHSO6WYX-CAe9Kkrb.js} +2 -2
  39. package/dist/assets/index-Cn7OlSFa.js +121 -0
  40. package/dist/assets/index-D1NTcviR.css +1 -0
  41. package/dist/assets/{infoDiagram-FWYZ7A6U-Dh41Som-.js → infoDiagram-FWYZ7A6U-DzPZb8XV.js} +2 -2
  42. package/dist/assets/{ishikawaDiagram-FXEZZL3T-Xc9vuvPV.js → ishikawaDiagram-FXEZZL3T-CUSZtsJ2.js} +2 -2
  43. package/dist/assets/{journeyDiagram-5HDEW3XC-bJ0gK8bC.js → journeyDiagram-5HDEW3XC-Ce4DZjHq.js} +2 -2
  44. package/dist/assets/{kanban-definition-HUTT4EX6-Cu1Zn3KW.js → kanban-definition-HUTT4EX6-B2aNvJXN.js} +2 -2
  45. package/dist/assets/{linear-DrGsraGo.js → linear-Cy9Vf-l3.js} +2 -2
  46. package/dist/assets/{mermaid.core-CkQqPHPZ.js → mermaid.core-rvwxvqSK.js} +6 -6
  47. package/dist/assets/{mindmap-definition-LN4V7U3C-ZCEP6XWH.js → mindmap-definition-LN4V7U3C-LIaA-8NC.js} +2 -2
  48. package/dist/assets/{pegDiagram-2B236MQR-DjDrn07n.js → pegDiagram-2B236MQR-D3veo_Oo.js} +2 -2
  49. package/dist/assets/{pieDiagram-ENE6RG2P-oD3ciEy7.js → pieDiagram-ENE6RG2P-DryYCAYE.js} +2 -2
  50. package/dist/assets/{quadrantDiagram-ABIIQ3AL-CYbDYNM7.js → quadrantDiagram-ABIIQ3AL-CQY6rt5A.js} +2 -2
  51. package/dist/assets/{railroadDiagram-RFXS5EU6-DMcO7O0d.js → railroadDiagram-RFXS5EU6-0QiEYfyx.js} +2 -2
  52. package/dist/assets/{requirementDiagram-TGXJPOKE-DeeSIVn-.js → requirementDiagram-TGXJPOKE-CHk5lpA2.js} +2 -2
  53. package/dist/assets/{sankeyDiagram-HTMAVEWB-C43xzNvP.js → sankeyDiagram-HTMAVEWB-CYPx25gJ.js} +2 -2
  54. package/dist/assets/{sequenceDiagram-DBY2YBRQ-d3lj6z8y.js → sequenceDiagram-DBY2YBRQ-BSUr-JBi.js} +2 -2
  55. package/dist/assets/{sizeCapture-X5ZJPWSS-D4UyeLsX.js → sizeCapture-X5ZJPWSS-B6ZebkVB.js} +2 -2
  56. package/dist/assets/{stateDiagram-2N3HPSRC-Cq4YMMP1.js → stateDiagram-2N3HPSRC-Dmqo36MA.js} +2 -2
  57. package/dist/assets/stateDiagram-v2-6OUMAXLB-CwN_yVcy.js +2 -0
  58. package/dist/assets/swimlanes-5IMT3BWC-CuvrNUfQ.js +3 -0
  59. package/dist/assets/swimlanesDiagram-G3AALYLV-BFp8yG0X.js +9 -0
  60. package/dist/assets/{timeline-definition-FHXFAJF6-BN8oLdvs.js → timeline-definition-FHXFAJF6-DSmOxhA8.js} +2 -2
  61. package/dist/assets/{vennDiagram-L72KCM5P-BqAHS4HE.js → vennDiagram-L72KCM5P-DKkd_lMz.js} +2 -2
  62. package/dist/assets/{wardleyDiagram-EHGQE667-D2aA14yL.js → wardleyDiagram-EHGQE667-DYYxdBBD.js} +2 -2
  63. package/dist/assets/{xychartDiagram-FW5EYKEG-BkrnnKWS.js → xychartDiagram-FW5EYKEG-Qsc3YQdG.js} +2 -2
  64. package/dist/index.html +5 -2
  65. package/package.json +4 -4
  66. package/dist/assets/channel-tvH0KUyT.js +0 -2
  67. package/dist/assets/classDiagram-OUVF2IWQ-C0x6Ou39.js +0 -2
  68. package/dist/assets/classDiagram-v2-EOCWNBFH-C0x6Ou39.js +0 -2
  69. package/dist/assets/index-D0YdqMpf.css +0 -1
  70. package/dist/assets/index-DTn9k-3t.js +0 -123
  71. package/dist/assets/stateDiagram-v2-6OUMAXLB-DMVYrQgX.js +0 -2
  72. package/dist/assets/swimlanes-5IMT3BWC-CRbkVLoI.js +0 -3
  73. package/dist/assets/swimlanesDiagram-G3AALYLV-Bzg2g7oq.js +0 -9
@@ -1,8 +1,8 @@
1
- import{s as xi,g as di,o as Yt,n as fi,a as pi,b as mi,_ as n,l as Nt,D as yi,e as bi,p as Ai,y as kt,i as wi,A as Ht,B as Ci,E as Si,az as Ri,P as Ot}from"./mermaid.core-CkQqPHPZ.js";import{i as _i}from"./init-Gi6I4Gst.js";import{o as ki}from"./ordinal-Cboi1Yqb.js";import{l as Wt}from"./linear-DrGsraGo.js";import"./index-DTn9k-3t.js";import"./defaultLocale-DX6XiGOO.js";function Ti(e,t,i){e=+e,t=+t,i=(a=arguments.length)<2?(t=e,e=0,1):a<3?1:+i;for(var s=-1,a=Math.max(0,Math.ceil((t-e)/i))|0,o=new Array(a);++s<a;)o[s]=e+s*i;return o}function wt(){var e=ki().unknown(void 0),t=e.domain,i=e.range,s=0,a=1,o,l,f=!1,d=0,k=0,T=.5;delete e.unknown;function _(){var b=t().length,E=a<s,L=E?a:s,P=E?s:a;o=(P-L)/Math.max(1,b-d+k*2),f&&(o=Math.floor(o)),L+=(P-L-o*(b-d))*T,l=o*(1-d),f&&(L=Math.round(L),l=Math.round(l));var I=Ti(b).map(function(m){return L+o*m});return i(E?I.reverse():I)}return e.domain=function(b){return arguments.length?(t(b),_()):t()},e.range=function(b){return arguments.length?([s,a]=b,s=+s,a=+a,_()):[s,a]},e.rangeRound=function(b){return[s,a]=b,s=+s,a=+a,f=!0,_()},e.bandwidth=function(){return l},e.step=function(){return o},e.round=function(b){return arguments.length?(f=!!b,_()):f},e.padding=function(b){return arguments.length?(d=Math.min(1,k=+b),_()):d},e.paddingInner=function(b){return arguments.length?(d=Math.min(1,b),_()):d},e.paddingOuter=function(b){return arguments.length?(k=+b,_()):k},e.align=function(b){return arguments.length?(T=Math.max(0,Math.min(1,b)),_()):T},e.copy=function(){return wt(t(),[s,a]).round(f).paddingInner(d).paddingOuter(k).align(T)},_i.apply(_(),arguments)}var Ct=(function(){var e=n(function(F,h,u,g){for(u=u||{},g=F.length;g--;u[F[g]]=h);return u},"o"),t=[1,10,12,14,16,18,19,21,23],i=[2,6],s=[1,3],a=[1,5],o=[1,6],l=[1,7],f=[1,5,10,12,14,16,18,19,21,23,36,37,38],d=[1,25],k=[1,26],T=[1,28],_=[1,29],b=[1,30],E=[1,31],L=[1,32],P=[1,33],I=[1,34],m=[1,35],D=[1,36],c=[1,37],B=[1,43],W=[1,42],X=[1,47],Y=[1,50],S=[1,10,12,14,16,18,19,21,23,36,37,38],H=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38],A=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38,42,43,44,45,46,47,48,49,50,51],w=[1,65],V=[26,28],R={trace:n(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,dataPoints:25,SQUARE_BRACES_END:26,dataPoint:27,COMMA:28,NUMBER_WITH_DECIMAL:29,STR:30,xAxisData:31,bandData:32,ARROW_DELIMITER:33,commaSeparatedTexts:34,yAxisData:35,NEWLINE:36,SEMI:37,EOF:38,alphaNum:39,MD_STR:40,alphaNumToken:41,AMP:42,NUM:43,ALPHA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,MINUS:50,UNDERSCORE:51,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",28:"COMMA",29:"NUMBER_WITH_DECIMAL",30:"STR",33:"ARROW_DELIMITER",36:"NEWLINE",37:"SEMI",38:"EOF",40:"MD_STR",42:"AMP",43:"NUM",44:"ALPHA",45:"PLUS",46:"EQUALS",47:"MULT",48:"DOT",49:"BRKT",50:"MINUS",51:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[27,2],[27,1],[13,1],[13,2],[13,1],[31,1],[31,3],[32,3],[34,3],[34,1],[15,1],[15,2],[15,1],[35,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[39,1],[39,2],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1]],performAction:n(function(h,u,g,x,C,r,rt){var p=r.length-1;switch(C){case 5:x.setOrientation(r[p]);break;case 9:x.setDiagramTitle(r[p].text.trim());break;case 12:x.setLineData({text:"",type:"text"},r[p]);break;case 13:x.setLineData(r[p-1],r[p]);break;case 14:x.setBarData({text:"",type:"text"},r[p]);break;case 15:x.setBarData(r[p-1],r[p]);break;case 16:this.$=r[p].trim(),x.setAccTitle(this.$);break;case 17:case 18:this.$=r[p].trim(),x.setAccDescription(this.$);break;case 19:this.$=r[p-1];break;case 20:case 30:this.$=[r[p-2],...r[p]];break;case 21:case 31:this.$=[r[p]];break;case 22:this.$={value:Number(r[p-1]),label:r[p]};break;case 23:this.$={value:Number(r[p]),label:""};break;case 24:x.setXAxisTitle(r[p]);break;case 25:x.setXAxisTitle(r[p-1]);break;case 26:x.setXAxisTitle({type:"text",text:""});break;case 27:x.setXAxisBand(r[p]);break;case 28:x.setXAxisRangeData(Number(r[p-2]),Number(r[p]));break;case 29:this.$=r[p-1];break;case 32:x.setYAxisTitle(r[p]);break;case 33:x.setYAxisTitle(r[p-1]);break;case 34:x.setYAxisTitle({type:"text",text:""});break;case 35:x.setYAxisRangeData(Number(r[p-2]),Number(r[p]));break;case 39:this.$={text:r[p],type:"text"};break;case 40:this.$={text:r[p],type:"text"};break;case 41:this.$={text:r[p],type:"markdown"};break;case 42:this.$=r[p];break;case 43:this.$=r[p-1]+""+r[p];break}},"anonymous"),table:[e(t,i,{3:1,4:2,7:4,5:s,36:a,37:o,38:l}),{1:[3]},e(t,i,{4:2,7:4,3:8,5:s,36:a,37:o,38:l}),e(t,i,{4:2,7:4,6:9,3:10,5:s,8:[1,11],36:a,37:o,38:l}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},e(f,[2,36]),e(f,[2,37]),e(f,[2,38]),{1:[2,1]},e(t,i,{4:2,7:4,3:21,5:s,36:a,37:o,38:l}),{1:[2,3]},e(f,[2,5]),e(t,[2,7],{4:22,36:a,37:o,38:l}),{11:23,30:d,39:24,40:k,41:27,42:T,43:_,44:b,45:E,46:L,47:P,48:I,49:m,50:D,51:c},{11:39,13:38,24:B,29:W,30:d,31:40,32:41,39:24,40:k,41:27,42:T,43:_,44:b,45:E,46:L,47:P,48:I,49:m,50:D,51:c},{11:45,15:44,29:X,30:d,35:46,39:24,40:k,41:27,42:T,43:_,44:b,45:E,46:L,47:P,48:I,49:m,50:D,51:c},{11:49,17:48,24:Y,30:d,39:24,40:k,41:27,42:T,43:_,44:b,45:E,46:L,47:P,48:I,49:m,50:D,51:c},{11:52,17:51,24:Y,30:d,39:24,40:k,41:27,42:T,43:_,44:b,45:E,46:L,47:P,48:I,49:m,50:D,51:c},{20:[1,53]},{22:[1,54]},e(S,[2,18]),{1:[2,2]},e(S,[2,8]),e(S,[2,9]),e(H,[2,39],{41:55,42:T,43:_,44:b,45:E,46:L,47:P,48:I,49:m,50:D,51:c}),e(H,[2,40]),e(H,[2,41]),e(A,[2,42]),e(A,[2,44]),e(A,[2,45]),e(A,[2,46]),e(A,[2,47]),e(A,[2,48]),e(A,[2,49]),e(A,[2,50]),e(A,[2,51]),e(A,[2,52]),e(A,[2,53]),e(S,[2,10]),e(S,[2,24],{32:41,31:56,24:B,29:W}),e(S,[2,26]),e(S,[2,27]),{33:[1,57]},{11:59,30:d,34:58,39:24,40:k,41:27,42:T,43:_,44:b,45:E,46:L,47:P,48:I,49:m,50:D,51:c},e(S,[2,11]),e(S,[2,32],{35:60,29:X}),e(S,[2,34]),{33:[1,61]},e(S,[2,12]),{17:62,24:Y},{25:63,27:64,29:w},e(S,[2,14]),{17:66,24:Y},e(S,[2,16]),e(S,[2,17]),e(A,[2,43]),e(S,[2,25]),{29:[1,67]},{26:[1,68]},{26:[2,31],28:[1,69]},e(S,[2,33]),{29:[1,70]},e(S,[2,13]),{26:[1,71]},{26:[2,21],28:[1,72]},e(V,[2,23],{30:[1,73]}),e(S,[2,15]),e(S,[2,28]),e(S,[2,29]),{11:59,30:d,34:74,39:24,40:k,41:27,42:T,43:_,44:b,45:E,46:L,47:P,48:I,49:m,50:D,51:c},e(S,[2,35]),e(S,[2,19]),{25:75,27:64,29:w},e(V,[2,22]),{26:[2,30]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],74:[2,30],75:[2,20]},parseError:n(function(h,u){if(u.recoverable)this.trace(h);else{var g=new Error(h);throw g.hash=u,g}},"parseError"),parse:n(function(h){var u=this,g=[0],x=[],C=[null],r=[],rt=this.table,p="",gt=0,Mt=0,li=2,zt=1,ci=r.slice.call(arguments,1),v=Object.create(this.lexer),U={yy:{}};for(var mt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,mt)&&(U.yy[mt]=this.yy[mt]);v.setInput(h,U.yy),U.yy.lexer=v,U.yy.parser=this,typeof v.yylloc>"u"&&(v.yylloc={});var yt=v.yylloc;r.push(yt);var ui=v.options&&v.options.ranges;typeof U.yy.parseError=="function"?this.parseError=U.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function gi(z){g.length=g.length-2*z,C.length=C.length-z,r.length=r.length-z}n(gi,"popStack");function Bt(){var z;return z=x.pop()||v.lex()||zt,typeof z!="number"&&(z instanceof Array&&(x=z,z=x.pop()),z=u.symbols_[z]||z),z}n(Bt,"lex");for(var M,$,O,bt,G={},xt,N,Vt,dt;;){if($=g[g.length-1],this.defaultActions[$]?O=this.defaultActions[$]:((M===null||typeof M>"u")&&(M=Bt()),O=rt[$]&&rt[$][M]),typeof O>"u"||!O.length||!O[0]){var At="";dt=[];for(xt in rt[$])this.terminals_[xt]&&xt>li&&dt.push("'"+this.terminals_[xt]+"'");v.showPosition?At="Parse error on line "+(gt+1)+`:
1
+ import{s as xi,g as di,o as Yt,n as fi,a as pi,b as mi,_ as n,l as Nt,D as yi,e as bi,p as Ai,y as kt,i as wi,A as Ht,B as Ci,E as Si,az as Ri,P as Ot}from"./mermaid.core-rvwxvqSK.js";import{i as _i}from"./init-Gi6I4Gst.js";import{o as ki}from"./ordinal-Cboi1Yqb.js";import{l as Wt}from"./linear-Cy9Vf-l3.js";import"./index-Cn7OlSFa.js";import"./defaultLocale-DX6XiGOO.js";function Ti(e,t,i){e=+e,t=+t,i=(a=arguments.length)<2?(t=e,e=0,1):a<3?1:+i;for(var s=-1,a=Math.max(0,Math.ceil((t-e)/i))|0,o=new Array(a);++s<a;)o[s]=e+s*i;return o}function wt(){var e=ki().unknown(void 0),t=e.domain,i=e.range,s=0,a=1,o,l,f=!1,d=0,k=0,T=.5;delete e.unknown;function _(){var b=t().length,E=a<s,L=E?a:s,P=E?s:a;o=(P-L)/Math.max(1,b-d+k*2),f&&(o=Math.floor(o)),L+=(P-L-o*(b-d))*T,l=o*(1-d),f&&(L=Math.round(L),l=Math.round(l));var I=Ti(b).map(function(m){return L+o*m});return i(E?I.reverse():I)}return e.domain=function(b){return arguments.length?(t(b),_()):t()},e.range=function(b){return arguments.length?([s,a]=b,s=+s,a=+a,_()):[s,a]},e.rangeRound=function(b){return[s,a]=b,s=+s,a=+a,f=!0,_()},e.bandwidth=function(){return l},e.step=function(){return o},e.round=function(b){return arguments.length?(f=!!b,_()):f},e.padding=function(b){return arguments.length?(d=Math.min(1,k=+b),_()):d},e.paddingInner=function(b){return arguments.length?(d=Math.min(1,b),_()):d},e.paddingOuter=function(b){return arguments.length?(k=+b,_()):k},e.align=function(b){return arguments.length?(T=Math.max(0,Math.min(1,b)),_()):T},e.copy=function(){return wt(t(),[s,a]).round(f).paddingInner(d).paddingOuter(k).align(T)},_i.apply(_(),arguments)}var Ct=(function(){var e=n(function(F,h,u,g){for(u=u||{},g=F.length;g--;u[F[g]]=h);return u},"o"),t=[1,10,12,14,16,18,19,21,23],i=[2,6],s=[1,3],a=[1,5],o=[1,6],l=[1,7],f=[1,5,10,12,14,16,18,19,21,23,36,37,38],d=[1,25],k=[1,26],T=[1,28],_=[1,29],b=[1,30],E=[1,31],L=[1,32],P=[1,33],I=[1,34],m=[1,35],D=[1,36],c=[1,37],B=[1,43],W=[1,42],X=[1,47],Y=[1,50],S=[1,10,12,14,16,18,19,21,23,36,37,38],H=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38],A=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38,42,43,44,45,46,47,48,49,50,51],w=[1,65],V=[26,28],R={trace:n(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,dataPoints:25,SQUARE_BRACES_END:26,dataPoint:27,COMMA:28,NUMBER_WITH_DECIMAL:29,STR:30,xAxisData:31,bandData:32,ARROW_DELIMITER:33,commaSeparatedTexts:34,yAxisData:35,NEWLINE:36,SEMI:37,EOF:38,alphaNum:39,MD_STR:40,alphaNumToken:41,AMP:42,NUM:43,ALPHA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,MINUS:50,UNDERSCORE:51,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",28:"COMMA",29:"NUMBER_WITH_DECIMAL",30:"STR",33:"ARROW_DELIMITER",36:"NEWLINE",37:"SEMI",38:"EOF",40:"MD_STR",42:"AMP",43:"NUM",44:"ALPHA",45:"PLUS",46:"EQUALS",47:"MULT",48:"DOT",49:"BRKT",50:"MINUS",51:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[27,2],[27,1],[13,1],[13,2],[13,1],[31,1],[31,3],[32,3],[34,3],[34,1],[15,1],[15,2],[15,1],[35,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[39,1],[39,2],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1]],performAction:n(function(h,u,g,x,C,r,rt){var p=r.length-1;switch(C){case 5:x.setOrientation(r[p]);break;case 9:x.setDiagramTitle(r[p].text.trim());break;case 12:x.setLineData({text:"",type:"text"},r[p]);break;case 13:x.setLineData(r[p-1],r[p]);break;case 14:x.setBarData({text:"",type:"text"},r[p]);break;case 15:x.setBarData(r[p-1],r[p]);break;case 16:this.$=r[p].trim(),x.setAccTitle(this.$);break;case 17:case 18:this.$=r[p].trim(),x.setAccDescription(this.$);break;case 19:this.$=r[p-1];break;case 20:case 30:this.$=[r[p-2],...r[p]];break;case 21:case 31:this.$=[r[p]];break;case 22:this.$={value:Number(r[p-1]),label:r[p]};break;case 23:this.$={value:Number(r[p]),label:""};break;case 24:x.setXAxisTitle(r[p]);break;case 25:x.setXAxisTitle(r[p-1]);break;case 26:x.setXAxisTitle({type:"text",text:""});break;case 27:x.setXAxisBand(r[p]);break;case 28:x.setXAxisRangeData(Number(r[p-2]),Number(r[p]));break;case 29:this.$=r[p-1];break;case 32:x.setYAxisTitle(r[p]);break;case 33:x.setYAxisTitle(r[p-1]);break;case 34:x.setYAxisTitle({type:"text",text:""});break;case 35:x.setYAxisRangeData(Number(r[p-2]),Number(r[p]));break;case 39:this.$={text:r[p],type:"text"};break;case 40:this.$={text:r[p],type:"text"};break;case 41:this.$={text:r[p],type:"markdown"};break;case 42:this.$=r[p];break;case 43:this.$=r[p-1]+""+r[p];break}},"anonymous"),table:[e(t,i,{3:1,4:2,7:4,5:s,36:a,37:o,38:l}),{1:[3]},e(t,i,{4:2,7:4,3:8,5:s,36:a,37:o,38:l}),e(t,i,{4:2,7:4,6:9,3:10,5:s,8:[1,11],36:a,37:o,38:l}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},e(f,[2,36]),e(f,[2,37]),e(f,[2,38]),{1:[2,1]},e(t,i,{4:2,7:4,3:21,5:s,36:a,37:o,38:l}),{1:[2,3]},e(f,[2,5]),e(t,[2,7],{4:22,36:a,37:o,38:l}),{11:23,30:d,39:24,40:k,41:27,42:T,43:_,44:b,45:E,46:L,47:P,48:I,49:m,50:D,51:c},{11:39,13:38,24:B,29:W,30:d,31:40,32:41,39:24,40:k,41:27,42:T,43:_,44:b,45:E,46:L,47:P,48:I,49:m,50:D,51:c},{11:45,15:44,29:X,30:d,35:46,39:24,40:k,41:27,42:T,43:_,44:b,45:E,46:L,47:P,48:I,49:m,50:D,51:c},{11:49,17:48,24:Y,30:d,39:24,40:k,41:27,42:T,43:_,44:b,45:E,46:L,47:P,48:I,49:m,50:D,51:c},{11:52,17:51,24:Y,30:d,39:24,40:k,41:27,42:T,43:_,44:b,45:E,46:L,47:P,48:I,49:m,50:D,51:c},{20:[1,53]},{22:[1,54]},e(S,[2,18]),{1:[2,2]},e(S,[2,8]),e(S,[2,9]),e(H,[2,39],{41:55,42:T,43:_,44:b,45:E,46:L,47:P,48:I,49:m,50:D,51:c}),e(H,[2,40]),e(H,[2,41]),e(A,[2,42]),e(A,[2,44]),e(A,[2,45]),e(A,[2,46]),e(A,[2,47]),e(A,[2,48]),e(A,[2,49]),e(A,[2,50]),e(A,[2,51]),e(A,[2,52]),e(A,[2,53]),e(S,[2,10]),e(S,[2,24],{32:41,31:56,24:B,29:W}),e(S,[2,26]),e(S,[2,27]),{33:[1,57]},{11:59,30:d,34:58,39:24,40:k,41:27,42:T,43:_,44:b,45:E,46:L,47:P,48:I,49:m,50:D,51:c},e(S,[2,11]),e(S,[2,32],{35:60,29:X}),e(S,[2,34]),{33:[1,61]},e(S,[2,12]),{17:62,24:Y},{25:63,27:64,29:w},e(S,[2,14]),{17:66,24:Y},e(S,[2,16]),e(S,[2,17]),e(A,[2,43]),e(S,[2,25]),{29:[1,67]},{26:[1,68]},{26:[2,31],28:[1,69]},e(S,[2,33]),{29:[1,70]},e(S,[2,13]),{26:[1,71]},{26:[2,21],28:[1,72]},e(V,[2,23],{30:[1,73]}),e(S,[2,15]),e(S,[2,28]),e(S,[2,29]),{11:59,30:d,34:74,39:24,40:k,41:27,42:T,43:_,44:b,45:E,46:L,47:P,48:I,49:m,50:D,51:c},e(S,[2,35]),e(S,[2,19]),{25:75,27:64,29:w},e(V,[2,22]),{26:[2,30]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],74:[2,30],75:[2,20]},parseError:n(function(h,u){if(u.recoverable)this.trace(h);else{var g=new Error(h);throw g.hash=u,g}},"parseError"),parse:n(function(h){var u=this,g=[0],x=[],C=[null],r=[],rt=this.table,p="",gt=0,Mt=0,li=2,zt=1,ci=r.slice.call(arguments,1),v=Object.create(this.lexer),U={yy:{}};for(var mt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,mt)&&(U.yy[mt]=this.yy[mt]);v.setInput(h,U.yy),U.yy.lexer=v,U.yy.parser=this,typeof v.yylloc>"u"&&(v.yylloc={});var yt=v.yylloc;r.push(yt);var ui=v.options&&v.options.ranges;typeof U.yy.parseError=="function"?this.parseError=U.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function gi(z){g.length=g.length-2*z,C.length=C.length-z,r.length=r.length-z}n(gi,"popStack");function Bt(){var z;return z=x.pop()||v.lex()||zt,typeof z!="number"&&(z instanceof Array&&(x=z,z=x.pop()),z=u.symbols_[z]||z),z}n(Bt,"lex");for(var M,$,O,bt,G={},xt,N,Vt,dt;;){if($=g[g.length-1],this.defaultActions[$]?O=this.defaultActions[$]:((M===null||typeof M>"u")&&(M=Bt()),O=rt[$]&&rt[$][M]),typeof O>"u"||!O.length||!O[0]){var At="";dt=[];for(xt in rt[$])this.terminals_[xt]&&xt>li&&dt.push("'"+this.terminals_[xt]+"'");v.showPosition?At="Parse error on line "+(gt+1)+`:
2
2
  `+v.showPosition()+`
3
3
  Expecting `+dt.join(", ")+", got '"+(this.terminals_[M]||M)+"'":At="Parse error on line "+(gt+1)+": Unexpected "+(M==zt?"end of input":"'"+(this.terminals_[M]||M)+"'"),this.parseError(At,{text:v.match,token:this.terminals_[M]||M,line:v.yylineno,loc:yt,expected:dt})}if(O[0]instanceof Array&&O.length>1)throw new Error("Parse Error: multiple actions possible at state: "+$+", token: "+M);switch(O[0]){case 1:g.push(M),C.push(v.yytext),r.push(v.yylloc),g.push(O[1]),M=null,Mt=v.yyleng,p=v.yytext,gt=v.yylineno,yt=v.yylloc;break;case 2:if(N=this.productions_[O[1]][1],G.$=C[C.length-N],G._$={first_line:r[r.length-(N||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(N||1)].first_column,last_column:r[r.length-1].last_column},ui&&(G._$.range=[r[r.length-(N||1)].range[0],r[r.length-1].range[1]]),bt=this.performAction.apply(G,[p,Mt,gt,U.yy,O[1],C,r].concat(ci)),typeof bt<"u")return bt;N&&(g=g.slice(0,-1*N*2),C=C.slice(0,-1*N),r=r.slice(0,-1*N)),g.push(this.productions_[O[1]][0]),C.push(G.$),r.push(G._$),Vt=rt[g[g.length-2]][g[g.length-1]],g.push(Vt);break;case 3:return!0}}return!0},"parse")},ot=(function(){var F={EOF:1,parseError:n(function(u,g){if(this.yy.parser)this.yy.parser.parseError(u,g);else throw new Error(u)},"parseError"),setInput:n(function(h,u){return this.yy=u||this.yy||{},this._input=h,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:n(function(){var h=this._input[0];this.yytext+=h,this.yyleng++,this.offset++,this.match+=h,this.matched+=h;var u=h.match(/(?:\r\n?|\n).*/g);return u?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),h},"input"),unput:n(function(h){var u=h.length,g=h.split(/(?:\r\n?|\n)/g);this._input=h+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-u),this.offset-=u;var x=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),g.length-1&&(this.yylineno-=g.length-1);var C=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:g?(g.length===x.length?this.yylloc.first_column:0)+x[x.length-g.length].length-g[0].length:this.yylloc.first_column-u},this.options.ranges&&(this.yylloc.range=[C[0],C[0]+this.yyleng-u]),this.yyleng=this.yytext.length,this},"unput"),more:n(function(){return this._more=!0,this},"more"),reject:n(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:n(function(h){this.unput(this.match.slice(h))},"less"),pastInput:n(function(){var h=this.matched.substr(0,this.matched.length-this.match.length);return(h.length>20?"...":"")+h.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:n(function(){var h=this.match;return h.length<20&&(h+=this._input.substr(0,20-h.length)),(h.substr(0,20)+(h.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:n(function(){var h=this.pastInput(),u=new Array(h.length+1).join("-");return h+this.upcomingInput()+`
5
5
  `+u+"^"},"showPosition"),test_match:n(function(h,u){var g,x,C;if(this.options.backtrack_lexer&&(C={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(C.yylloc.range=this.yylloc.range.slice(0))),x=h[0].match(/(?:\r\n?|\n).*/g),x&&(this.yylineno+=x.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:x?x[x.length-1].length-x[x.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+h[0].length},this.yytext+=h[0],this.match+=h[0],this.matches=h,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(h[0].length),this.matched+=h[0],g=this.performAction.call(this,this.yy,this,u,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),g)return g;if(this._backtrack){for(var r in C)this[r]=C[r];return!1}return!1},"test_match"),next:n(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var h,u,g,x;this._more||(this.yytext="",this.match="");for(var C=this._currentRules(),r=0;r<C.length;r++)if(g=this._input.match(this.rules[C[r]]),g&&(!u||g[0].length>u[0].length)){if(u=g,x=r,this.options.backtrack_lexer){if(h=this.test_match(g,C[r]),h!==!1)return h;if(this._backtrack){u=!1;continue}else return!1}else if(!this.options.flex)break}return u?(h=this.test_match(u,C[x]),h!==!1?h:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
6
6
  `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:n(function(){var u=this.next();return u||this.lex()},"lex"),begin:n(function(u){this.conditionStack.push(u)},"begin"),popState:n(function(){var u=this.conditionStack.length-1;return u>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:n(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:n(function(u){return u=this.conditionStack.length-1-Math.abs(u||0),u>=0?this.conditionStack[u]:"INITIAL"},"topState"),pushState:n(function(u){this.begin(u)},"pushState"),stateStackSize:n(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:n(function(u,g,x,C){switch(x){case 0:break;case 1:break;case 2:return this.popState(),36;case 3:return this.popState(),36;case 4:return 36;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 5;case 16:return 8;case 17:return this.pushState("axis_data"),"X_AXIS";case 18:return this.pushState("axis_data"),"Y_AXIS";case 19:return this.pushState("axis_band_data"),24;case 20:return 33;case 21:return this.pushState("data"),16;case 22:return this.pushState("data"),18;case 23:return this.pushState("data_inner"),24;case 24:return 29;case 25:return this.popState(),26;case 26:this.popState();break;case 27:this.pushState("string");break;case 28:this.popState();break;case 29:return"STR";case 30:return 24;case 31:return 26;case 32:return 44;case 33:return"COLON";case 34:return 45;case 35:return 28;case 36:return 46;case 37:return 47;case 38:return 49;case 39:return 51;case 40:return 48;case 41:return 42;case 42:return 50;case 43:return 43;case 44:break;case 45:return 37;case 46:return 38}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\})/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:xychart\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n<md_string>\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n<md_string>\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,18,21,22,23,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,22,24,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[28,29],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0}}};return F})();R.lexer=ot;function q(){this.yy={}}return n(q,"Parser"),q.prototype=R,R.Parser=q,new q})();Ct.parser=Ct;var Di=Ct;function St(e){return e.type==="bar"}n(St,"isBarPlot");function ft(e){return e.type==="band"}n(ft,"isBandAxisData");function j(e){return e.type==="linear"}n(j,"isLinearAxisData");var Q,Ut=(Q=class{constructor(t){this.parentGroup=t}getMaxDimension(t,i){if(!this.parentGroup)return{width:t.reduce((o,l)=>Math.max(l.length,o),0)*i,height:i};const s={width:0,height:0},a=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",i);for(const o of t){const l=Ri(a,1,o),f=l?l.width:o.length*i,d=l?l.height:i;s.width=Math.max(s.width,f),s.height=Math.max(s.height,d)}return a.remove(),s}},n(Q,"TextDimensionCalculatorWithFont"),Q),Ft=.7,Xt=.2,K,$t=(K=class{constructor(t,i,s,a){this.axisConfig=t,this.title=i,this.textDimensionCalculator=s,this.axisThemeConfig=a,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.normalizedLabelRotationInRad=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.normalizedLabelRotationInRad=this.axisConfig.labelRotation>=-90&&this.axisConfig.labelRotation<=90?this.axisConfig.labelRotation*Math.PI/180:0}setRange(t){this.range=t,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=t[1]-t[0]:this.boundingRect.width=t[1]-t[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(t){this.axisPosition=t,this.setRange(this.range)}getTickDistance(){const t=this.getRange();return Math.abs(t[0]-t[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(t=>t.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){Ft*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(Ft*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(t){let i=t.height;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const s=this.getLabelDimension(),a=Xt*t.width;this.outerPadding=Math.min(s.width/2,a);let o=s.height;this.axisPosition==="bottom"&&this.normalizedLabelRotationInRad!==0&&(o=Math.max(o,Math.abs(Math.sin(this.normalizedLabelRotationInRad)*s.width)+Math.abs(Math.cos(this.normalizedLabelRotationInRad)*s.height))),o+=this.axisConfig.labelPadding*2,this.labelTextHeight=s.height,o<=i&&(i-=o,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const s=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),a=s.height+this.axisConfig.titlePadding*2;this.titleTextHeight=s.height,a<=i&&(i-=a,this.showTitle=!0)}this.boundingRect.width=t.width,this.boundingRect.height=t.height-i}calculateSpaceIfDrawnVertical(t){let i=t.width;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const s=this.getLabelDimension(),a=Xt*t.height;this.outerPadding=Math.min(s.height/2,a);const o=s.width+this.axisConfig.labelPadding*2;o<=i&&(i-=o,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const s=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),a=s.height+this.axisConfig.titlePadding*2;this.titleTextHeight=s.height,a<=i&&(i-=a,this.showTitle=!0)}this.boundingRect.width=t.width-i,this.boundingRect.height=t.height}calculateSpace(t){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(t):this.calculateSpaceIfDrawnHorizontally(t),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateOffsetByRotation(t){const i=this.normalizedLabelRotationInRad;return i===0?0:Math.sin(i)*this.getLabelDimension()[t]/2}getDrawableElementsForLeftAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${i},${this.boundingRect.y} L ${i},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(i),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const i=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(s=>({path:`M ${i},${this.getScaleValue(s)} L ${i-this.axisConfig.tickLength},${this.getScaleValue(s)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForBottomAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.y+this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.getScaleValue(i)+this.calculateOffsetByRotation("height"),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0)+Math.abs(this.calculateOffsetByRotation("width")),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:this.normalizedLabelRotationInRad*180/Math.PI,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const i=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(s=>({path:`M ${this.getScaleValue(s)},${i} L ${this.getScaleValue(s)},${i+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForTopAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.getScaleValue(i),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const i=this.boundingRect.y;t.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(s=>({path:`M ${this.getScaleValue(s)},${i+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(s)},${i+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}},n(K,"BaseAxis"),K),Z,vi=(Z=class extends $t{constructor(t,i,s,a,o){super(t,a,o,i),this.categories=s,this.scale=wt().domain(this.categories).range(this.getRange())}setRange(t){super.setRange(t)}recalculateScale(){this.scale=wt().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),Nt.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(t){return this.scale(t)??this.getRange()[0]}},n(Z,"BandAxis"),Z),J,Li=(J=class extends $t{constructor(t,i,s,a,o){super(t,a,o,i),this.domain=s,this.scale=Wt().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const t=[...this.domain];this.axisPosition==="left"&&t.reverse(),this.scale=Wt().domain(t).range(this.getRange())}getScaleValue(t){return this.scale(t)}},n(J,"LinearAxis"),J);function Rt(e,t,i,s){const a=new Ut(s);return ft(e)?new vi(t,i,e.categories,e.title,a):new Li(t,i,[e.min,e.max],e.title,a)}n(Rt,"getAxis");var tt,Pi=(tt=class{constructor(t,i,s,a){this.textDimensionCalculator=t,this.chartConfig=i,this.chartData=s,this.chartThemeConfig=a,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){const i=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),s=Math.max(i.width,t.width),a=i.height+2*this.chartConfig.titlePadding;return i.width<=s&&i.height<=a&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=s,this.boundingRect.height=a,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const t=[];return this.showChartTitle&&t.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),t}},n(tt,"ChartTitle"),tt);function qt(e,t,i,s){const a=new Ut(s);return new Pi(a,e,t,i)}n(qt,"getChartTitleComponent");var it,Ei=(it=class{constructor(t,i,s,a,o){this.plotData=t,this.xAxis=i,this.yAxis=s,this.orientation=a,this.plotIndex=o}getDrawableElement(){const t=this.plotData.data.map(a=>[this.xAxis.getScaleValue(a[0]),this.yAxis.getScaleValue(a[1])]);let i;if(this.orientation==="horizontal"?i=Ot().y(a=>a[0]).x(a=>a[1])(t):i=Ot().x(a=>a[0]).y(a=>a[1])(t),!i)return[];const s=[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:i,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}];if(this.plotData.pointLabels&&this.plotData.pointLabels.length>0){const l=[];for(const[f,[d,k]]of t.entries()){const T=this.plotData.pointLabels[f];T&&(this.orientation==="horizontal"?l.push({x:k+10,y:d,text:T,fill:this.plotData.strokeFill,verticalPos:"middle",horizontalPos:"left",fontSize:12,rotation:0}):l.push({x:d,y:k-10,text:T,fill:this.plotData.strokeFill,verticalPos:"middle",horizontalPos:"center",fontSize:12,rotation:0}))}l.length>0&&s.push({groupTexts:["plot",`line-plot-${this.plotIndex}`,"labels"],type:"text",data:l})}return s}},n(it,"LinePlot"),it),et,Ii=(et=class{constructor(t,i,s,a,o,l){this.barData=t,this.boundingRect=i,this.xAxis=s,this.yAxis=a,this.orientation=o,this.plotIndex=l}getDrawableElement(){const t=this.barData.data.map(o=>[this.xAxis.getScaleValue(o[0]),this.yAxis.getScaleValue(o[1])]),s=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),a=s/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(o=>({x:this.boundingRect.x,y:o[0]-a,height:s,width:o[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(o=>({x:o[0]-a,y:o[1],width:s,height:this.boundingRect.y+this.boundingRect.height-o[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}},n(et,"BarPlot"),et),st,Mi=(st=class{constructor(t,i,s){this.chartConfig=t,this.chartData=i,this.chartThemeConfig=s,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(t,i){this.xAxis=t,this.yAxis=i}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){return this.boundingRect.width=t.width,this.boundingRect.height=t.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const t=[];for(const[i,s]of this.chartData.plots.entries())switch(s.type){case"line":{const a=new Ei(s,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...a.getDrawableElement())}break;case"bar":{const a=new Ii(s,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...a.getDrawableElement())}break}return t}},n(st,"BasePlot"),st);function Gt(e,t,i){return new Mi(e,t,i)}n(Gt,"getPlotComponent");var at,zi=(at=class{constructor(t,i,s,a){this.chartConfig=t,this.chartData=i,this.componentStore={title:qt(t,i,s,a),plot:Gt(t,i,s),xAxis:Rt(i.xAxis,t.xAxis,{titleColor:s.xAxisTitleColor,labelColor:s.xAxisLabelColor,tickColor:s.xAxisTickColor,axisLineColor:s.xAxisLineColor},a),yAxis:Rt(i.yAxis,t.yAxis,{titleColor:s.yAxisTitleColor,labelColor:s.yAxisLabelColor,tickColor:s.yAxisTickColor,axisLineColor:s.yAxisLineColor},a)}}calculateVerticalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,s=0,a=0,o=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),l=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),f=this.componentStore.plot.calculateSpace({width:o,height:l});t-=f.width,i-=f.height,f=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i}),a=f.height,i-=f.height,this.componentStore.xAxis.setAxisPosition("bottom"),f=this.componentStore.xAxis.calculateSpace({width:t,height:i}),i-=f.height,this.componentStore.yAxis.setAxisPosition("left"),f=this.componentStore.yAxis.calculateSpace({width:t,height:i}),s=f.width,t-=f.width,t>0&&(o+=t,t=0),i>0&&(l+=i,i=0),this.componentStore.plot.calculateSpace({width:o,height:l}),this.componentStore.plot.setBoundingBoxXY({x:s,y:a}),this.componentStore.xAxis.setRange([s,s+o]),this.componentStore.xAxis.setBoundingBoxXY({x:s,y:a+l}),this.componentStore.yAxis.setRange([a,a+l]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:a}),this.chartData.plots.some(d=>St(d))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,s=0,a=0,o=0,l=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),f=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),d=this.componentStore.plot.calculateSpace({width:l,height:f});t-=d.width,i-=d.height,d=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i}),s=d.height,i-=d.height,this.componentStore.xAxis.setAxisPosition("left"),d=this.componentStore.xAxis.calculateSpace({width:t,height:i}),t-=d.width,a=d.width,this.componentStore.yAxis.setAxisPosition("top"),d=this.componentStore.yAxis.calculateSpace({width:t,height:i}),i-=d.height,o=s+d.height,t>0&&(l+=t,t=0),i>0&&(f+=i,i=0),this.componentStore.plot.calculateSpace({width:l,height:f}),this.componentStore.plot.setBoundingBoxXY({x:a,y:o}),this.componentStore.yAxis.setRange([a,a+l]),this.componentStore.yAxis.setBoundingBoxXY({x:a,y:s}),this.componentStore.xAxis.setRange([o,o+f]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:o}),this.chartData.plots.some(k=>St(k))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const t=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const i of Object.values(this.componentStore))t.push(...i.getDrawableElements());return t}},n(at,"Orchestrator"),at),nt,Bi=(nt=class{static build(t,i,s,a){return new zi(t,i,s,a).getDrawableElement()}},n(nt,"XYChartBuilder"),nt),ht=0,jt,lt=vt(),ct=Dt(),y=Lt(),_t=ct.plotColorPalette.split(",").map(e=>e.trim()),pt=!1,Tt=!1;function Dt(){const e=Si(),t=kt();return Ht(e.xyChart,t.themeVariables.xyChart)}n(Dt,"getChartDefaultThemeConfig");function vt(){const e=kt();return Ht(Ci.xyChart,e.xyChart)}n(vt,"getChartDefaultConfig");function Lt(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}n(Lt,"getChartDefaultData");function ut(e){const t=kt();return wi(e.trim(),t)}n(ut,"textSanitizer");function Qt(e){jt=e}n(Qt,"setTmpSVGG");function Kt(e){e==="horizontal"?lt.chartOrientation="horizontal":lt.chartOrientation="vertical"}n(Kt,"setOrientation");function Zt(e){y.xAxis.title=ut(e.text)}n(Zt,"setXAxisTitle");function Pt(e,t){y.xAxis={type:"linear",title:y.xAxis.title,min:e,max:t},pt=!0}n(Pt,"setXAxisRangeData");function Jt(e){y.xAxis={type:"band",title:y.xAxis.title,categories:e.map(t=>ut(t.text))},pt=!0}n(Jt,"setXAxisBand");function ti(e){y.yAxis.title=ut(e.text)}n(ti,"setYAxisTitle");function ii(e,t){y.yAxis={type:"linear",title:y.yAxis.title,min:e,max:t},Tt=!0}n(ii,"setYAxisRangeData");function ei(e){const t=Math.min(...e),i=Math.max(...e),s=j(y.yAxis)?y.yAxis.min:1/0,a=j(y.yAxis)?y.yAxis.max:-1/0;y.yAxis={type:"linear",title:y.yAxis.title,min:Math.min(s,t),max:Math.max(a,i)}}n(ei,"setYAxisRangeFromPlotData");function Et(e){let t=[];if(e.length===0)return t;if(!pt){const i=j(y.xAxis)?y.xAxis.min:1/0,s=j(y.xAxis)?y.xAxis.max:-1/0;Pt(Math.min(i,1),Math.max(s,e.length))}if(ft(y.xAxis)&&e.length>y.xAxis.categories.length&&(e=e.slice(0,y.xAxis.categories.length)),Tt||ei(e),ft(y.xAxis)&&(t=y.xAxis.categories.map((i,s)=>[i,e[s]])),j(y.xAxis)){const i=y.xAxis.min,s=y.xAxis.max,a=(s-i)/(e.length-1),o=[];for(let l=i;l<=s;l+=a)o.push(`${l}`);t=o.map((l,f)=>[l,e[f]])}return t}n(Et,"transformDataWithoutCategory");function It(e){return _t[e===0?0:e%_t.length]}n(It,"getPlotColorFromPalette");function si(e,t){const i=t.map(l=>l.value),s=t.map(l=>l.label?ut(l.label):""),a=Et(i),o=s.some(l=>l!=="");y.plots.push({type:"line",strokeFill:It(ht),strokeWidth:2,data:a,...o?{pointLabels:s}:{}}),ht++}n(si,"setLineData");function ai(e,t){const i=t.map(a=>a.value),s=Et(i);y.plots.push({type:"bar",fill:It(ht),data:s}),ht++}n(ai,"setBarData");function ni(){if(y.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return y.title=Yt(),Bi.build(lt,y,ct,jt)}n(ni,"getDrawableElem");function oi(){return ct}n(oi,"getChartThemeConfig");function ri(){return lt}n(ri,"getChartConfig");function hi(){return y}n(hi,"getXYChartData");var Vi=n(function(){Ai(),ht=0,lt=vt(),y=Lt(),ct=Dt(),_t=ct.plotColorPalette.split(",").map(e=>e.trim()),pt=!1,Tt=!1},"clear"),Oi={getDrawableElem:ni,clear:Vi,setAccTitle:mi,getAccTitle:pi,setDiagramTitle:fi,getDiagramTitle:Yt,getAccDescription:di,setAccDescription:xi,setOrientation:Kt,setXAxisTitle:Zt,setXAxisRangeData:Pt,setXAxisBand:Jt,setYAxisTitle:ti,setYAxisRangeData:ii,setLineData:si,setBarData:ai,setTmpSVGG:Qt,getChartThemeConfig:oi,getChartConfig:ri,getXYChartData:hi},Wi=n((e,t,i,s)=>{const a=s.db,o=a.getChartThemeConfig(),l=a.getChartConfig(),f=a.getXYChartData().plots[0].data.map(m=>m[1]);function d(m){return m==="top"?"text-before-edge":"middle"}n(d,"getDominantBaseLine");function k(m){return m==="left"?"start":m==="right"?"end":"middle"}n(k,"getTextAnchor");function T(m){return`translate(${m.x}, ${m.y}) rotate(${m.rotation||0})`}n(T,"getTextTransformation"),Nt.debug(`Rendering xychart chart
7
7
  `+e);const _=yi(t),b=_.append("g").attr("class","main"),E=b.append("rect").attr("width",l.width).attr("height",l.height).attr("class","background");bi(_,l.height,l.width,!0),_.attr("viewBox",`0 0 ${l.width} ${l.height}`),E.attr("fill",o.backgroundColor),a.setTmpSVGG(_.append("g").attr("class","mermaid-tmp-group"));const L=a.getDrawableElem(),P={};function I(m){let D=b,c="";for(const[B]of m.entries()){let W=b;B>0&&P[c]&&(W=P[c]),c+=m[B],D=P[c],D||(D=P[c]=W.append("g").attr("class",m[B]))}return D}n(I,"getGroup");for(const m of L){if(m.data.length===0)continue;const D=I(m.groupTexts);switch(m.type){case"rect":if(D.selectAll("rect").data(m.data).enter().append("rect").attr("x",c=>c.x).attr("y",c=>c.y).attr("width",c=>c.width).attr("height",c=>c.height).attr("fill",c=>c.fill).attr("stroke",c=>c.strokeFill).attr("stroke-width",c=>c.strokeWidth),l.showDataLabel){const c=l.showDataLabelOutsideBar;if(l.chartOrientation==="horizontal"){let B=function(w,V){const{data:R,label:ot}=w;return V*ot.length*W<=R.width-X};n(B,"fitsHorizontally");const W=.7,X=10,Y=m.data.map((w,V)=>({data:w,label:f[V].toString()})).filter(w=>w.data.width>0&&w.data.height>0),S=Y.map(w=>{const{data:V}=w;let R=V.height*.7;for(;!B(w,R)&&R>0;)R-=1;return R}),H=Math.floor(Math.min(...S)),A=n(w=>c?w.data.x+w.data.width+X:w.data.x+w.data.width-X,"determineLabelXPosition");D.selectAll("text").data(Y).enter().append("text").attr("x",A).attr("y",w=>w.data.y+w.data.height/2).attr("text-anchor",c?"start":"end").attr("dominant-baseline","middle").attr("fill",o.dataLabelColor).attr("font-size",`${H}px`).text(w=>w.label)}else{let B=function(A,w,V){const{data:R,label:ot}=A,F=w*ot.length*.7,h=R.x+R.width/2,u=h-F/2,g=h+F/2,x=u>=R.x&&g<=R.x+R.width,C=R.y+V+w<=R.y+R.height;return x&&C};n(B,"fitsInBar");const W=10,X=m.data.map((A,w)=>({data:A,label:f[w].toString()})).filter(A=>A.data.width>0&&A.data.height>0),Y=X.map(A=>{const{data:w,label:V}=A;let R=w.width/(V.length*.7);for(;!B(A,R,W)&&R>0;)R-=1;return R}),S=Math.floor(Math.min(...Y)),H=n(A=>c?A.data.y-W:A.data.y+W,"determineLabelYPosition");D.selectAll("text").data(X).enter().append("text").attr("x",A=>A.data.x+A.data.width/2).attr("y",H).attr("text-anchor","middle").attr("dominant-baseline",c?"auto":"hanging").attr("fill",o.dataLabelColor).attr("font-size",`${S}px`).text(A=>A.label)}}break;case"text":D.selectAll("text").data(m.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",c=>c.fill).attr("font-size",c=>c.fontSize).attr("dominant-baseline",c=>d(c.verticalPos)).attr("text-anchor",c=>k(c.horizontalPos)).attr("transform",c=>T(c)).text(c=>c.text);break;case"path":D.selectAll("path").data(m.data).enter().append("path").attr("d",c=>c.path).attr("fill",c=>c.fill?c.fill:"none").attr("stroke",c=>c.strokeFill).attr("stroke-width",c=>c.strokeWidth);break}}},"draw"),Fi={draw:Wi},qi={parser:Di,db:Oi,renderer:Fi};export{qi as diagram};
8
- //# sourceMappingURL=xychartDiagram-FW5EYKEG-BkrnnKWS.js.map
8
+ //# sourceMappingURL=xychartDiagram-FW5EYKEG-Qsc3YQdG.js.map
package/dist/index.html CHANGED
@@ -4,9 +4,12 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <meta name="color-scheme" content="dark light" />
7
+ <!-- An explicit icon: without one the browser asks the HOST ROOT for
8
+ /favicon.ico, which behind the gateway's /apps/continuum/ is not this app. -->
9
+ <link rel="icon" href="data:," />
7
10
  <title>AbstractContinuum — continuous development console</title>
8
- <script type="module" crossorigin src="/assets/index-DTn9k-3t.js"></script>
9
- <link rel="stylesheet" crossorigin href="/assets/index-D0YdqMpf.css">
11
+ <script type="module" crossorigin src="./assets/index-Cn7OlSFa.js"></script>
12
+ <link rel="stylesheet" crossorigin href="./assets/index-D1NTcviR.css">
10
13
  </head>
11
14
  <body>
12
15
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abstractframework/continuum",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "description": "Continuous iterative development and deployment console for AbstractFramework - backlog browsing and codex execution, report/email inbox triage, and managed process control against a Run Gateway",
5
5
  "type": "module",
6
6
  "author": "Laurent-Philippe Albou",
@@ -9,7 +9,7 @@
9
9
  "type": "git",
10
10
  "url": "git+https://github.com/lpalbou/AbstractContinuum.git"
11
11
  },
12
- "homepage": "https://github.com/lpalbou/AbstractContinuum#readme",
12
+ "homepage": "https://abstractframework.ai",
13
13
  "bugs": {
14
14
  "url": "https://github.com/lpalbou/AbstractContinuum/issues"
15
15
  },
@@ -35,7 +35,7 @@
35
35
  ],
36
36
  "scripts": {
37
37
  "dev": "vite --strictPort",
38
- "build": "node scripts/clean_stale_js.mjs && tsc && vite build",
38
+ "build": "node scripts/clean_stale_js.mjs && tsc && vite build && node scripts/check_relative_urls.mjs dist",
39
39
  "preview": "vite preview",
40
40
  "start": "node ./bin/cli.js",
41
41
  "test": "node scripts/clean_stale_js.mjs && vitest run",
@@ -43,7 +43,7 @@
43
43
  "gen:hub-types": "openapi-typescript vendor/hub/openapi.json -o src/lib/hub_api_types.ts"
44
44
  },
45
45
  "dependencies": {
46
- "@abstractframework/app-server": "^0.1.9",
46
+ "@abstractframework/app-server": "^0.1.11",
47
47
  "mermaid": "^11.16.0",
48
48
  "react": "^18.2.0",
49
49
  "react-dom": "^18.2.0",
@@ -1,2 +0,0 @@
1
- import{ag as o,ah as n}from"./mermaid.core-CkQqPHPZ.js";const t=(a,r)=>o.lang.round(n.parse(a)[r]);export{t as c};
2
- //# sourceMappingURL=channel-tvH0KUyT.js.map
@@ -1,2 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-V7JOEXUC-Cv7eW1t4.js";import{_ as i}from"./mermaid.core-CkQqPHPZ.js";import"./chunk-5VM5RSS4-OLY5jTMg.js";import"./chunk-XXDRQBXY-DZy8Plz8.js";import"./chunk-VR4S4FIN-D8k2SzA3.js";import"./chunk-32BRIVSS-BgokockY.js";import"./index-DTn9k-3t.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram};
2
- //# sourceMappingURL=classDiagram-OUVF2IWQ-C0x6Ou39.js.map
@@ -1,2 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-V7JOEXUC-Cv7eW1t4.js";import{_ as i}from"./mermaid.core-CkQqPHPZ.js";import"./chunk-5VM5RSS4-OLY5jTMg.js";import"./chunk-XXDRQBXY-DZy8Plz8.js";import"./chunk-VR4S4FIN-D8k2SzA3.js";import"./chunk-32BRIVSS-BgokockY.js";import"./index-DTn9k-3t.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram};
2
- //# sourceMappingURL=classDiagram-v2-EOCWNBFH-C0x6Ou39.js.map
@@ -1 +0,0 @@
1
- :root{color-scheme:dark;--bg-primary: #1a1a2e;--bg-secondary: #16213e;--bg-tertiary: #0f3460;--text-primary: #eee;--text-secondary: #aaa;--text-muted: #666;--accent: #e94560;--success: #27ae60;--warning: #f39c12;--error: #e74c3c;--info: #60a5fa;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-scale: 1;--header-density: 1;--font-size-xxs: calc(10px * var(--font-scale));--font-size-xs: calc(11px * var(--font-scale));--font-size-sm: calc(12px * var(--font-scale));--font-size-md: calc(13px * var(--font-scale));--font-size-base: calc(14px * var(--font-scale));--font-size-lg: calc(16px * var(--font-scale));--font-size-xl: calc(18px * var(--font-scale));--line-height-base: 1.5;--header-height: calc(48px * var(--header-density));--footer-height: calc(32px * var(--header-density));--header-pad-x: 16px;--header-pad-y: calc(8px * var(--header-density));--radius-sm: 4px;--radius-md: 8px;--radius-lg: 10px;--ui-surface-1: rgba(0, 0, 0, .16);--ui-surface-2: rgba(255, 255, 255, .06);--ui-surface-3: rgba(0, 0, 0, .25);--ui-border-1: rgba(255, 255, 255, .1);--ui-border-2: rgba(255, 255, 255, .14);--ui-shadow-1: 0 10px 30px rgba(0, 0, 0, .35);--syntax-key: #9cdcfe;--syntax-string: #ce9178;--syntax-number: #b5cea8;--syntax-keyword: #569cd6;--entity-identity: #e7b45a;--entity-memory: #6ea8d8;--entity-diary: #7bc98c;--entity-standing: #c084dd;--entity-scar: #e05555;--entity-bond: #f0c060;--entity-accent: #e8a54a;--accent-subtle: rgba(233, 69, 96, .12);--info-subtle: rgba(96, 165, 250, .12);--success-subtle: rgba(39, 174, 96, .12);--warning-subtle: rgba(243, 156, 18, .12);--error-subtle: rgba(231, 76, 60, .12);--accent-border: rgba(233, 69, 96, .35);--info-border: rgba(96, 165, 250, .35);--success-border: rgba(39, 174, 96, .35);--warning-border: rgba(243, 156, 18, .35);--error-border: rgba(231, 76, 60, .35);--muted-border: rgba(148, 163, 184, .22);--ui-chip-bg: rgba(0, 0, 0, .22);--ui-chip-border: rgba(255, 255, 255, .12);--ui-chip-text: rgba(255, 255, 255, .92);--ui-overlay-bg: rgba(0, 0, 0, .18);--ui-overlay-bg-hover: rgba(255, 255, 255, .08);--ui-overlay-border: rgba(255, 255, 255, .14);--ui-pill-bg: rgba(0, 0, 0, .22);--ui-pill-border: rgba(255, 255, 255, .12);--ui-code-bg: rgba(0, 0, 0, .18);--ui-code-border: rgba(255, 255, 255, .08);--ui-code-block-bg: rgba(0, 0, 0, .25);--ui-code-block-border: rgba(255, 255, 255, .08);--bg: var(--bg-primary);--bg-surface: var(--bg-secondary);--bg-elevated: var(--bg-tertiary);--bg-card: var(--bg-secondary);--panel: var(--bg-secondary);--panel2: var(--bg-tertiary);--text: var(--text-primary);--muted: var(--text-secondary);--danger: var(--error);--ok: var(--success);--border: var(--bg-tertiary);--border-default: rgba(255, 255, 255, .12);--border-accent: rgba(233, 69, 96, .55)}@supports (color: color-mix(in srgb,black 50%,white)){:root{--bg-card: color-mix(in srgb, var(--bg-secondary) 88%, transparent)}}.af-gateway-signin,.af-gateway-signin *,.af-gateway-signin *:before,.af-gateway-signin *:after{box-sizing:border-box}.af-gateway-signin{display:block;width:min(760px,100%);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:var(--radius-md);padding:24px;background:var(--bg-card, var(--bg-secondary));box-shadow:var(--ui-shadow-1);color:var(--text-primary);font-family:var(--font-sans)}.af-gateway-signin h2{margin:0;font-size:var(--font-size-xl);line-height:1.25}.af-gateway-signin p{margin:14px 0 0;color:var(--text-secondary);font-size:var(--font-size-base)}.af-gateway-signin input{width:100%;min-height:40px;border:1px solid var(--ui-border-2);border-radius:var(--radius-sm);background:var(--ui-overlay-bg);color:var(--text-primary);padding:9px 11px;font:inherit}.af-gateway-signin input:focus{outline:2px solid color-mix(in srgb,var(--accent) 65%,transparent);outline-offset:0}.af-gateway-signin input[type=checkbox]{width:auto;min-height:auto}.af-gateway-signin button{border:0;border-radius:var(--radius-sm);min-height:38px;padding:8px 14px;color:var(--text-primary);font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}.af-gateway-signin button:hover:not(:disabled){filter:brightness(1.12)}.af-gateway-signin button:active:not(:disabled){filter:brightness(.94)}.af-gateway-signin button:disabled{opacity:.55;cursor:not-allowed}.af-gateway-signin__hero{display:flex;justify-content:space-between;gap:24px;margin-bottom:22px}.af-gateway-signin__kicker{margin-bottom:8px;color:var(--accent);font-size:var(--font-size-xs);font-weight:800;letter-spacing:.14em;text-transform:uppercase}.af-gateway-signin__mark{width:72px;height:72px;display:grid;place-items:center;flex:0 0 auto;border-radius:24px;border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 18%,transparent),color-mix(in srgb,var(--error) 20%,transparent));color:var(--text-primary);font-size:32px;font-weight:900}.af-gateway-signin__status-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.af-gateway-signin__status{display:inline-flex;align-items:center;min-height:26px;padding:4px 12px;border-radius:999px;font-size:var(--font-size-xs);font-weight:800;border:1px solid var(--ui-overlay-border);background:var(--ui-overlay-bg)}.af-gateway-signin__status--ok{color:var(--success);border-color:var(--success-border)}.af-gateway-signin__status--warn{color:var(--warning);border-color:var(--warning-border)}.af-gateway-signin__status--err{color:var(--error);border-color:var(--error-border)}.af-gateway-signin__source{color:var(--text-muted);font-size:var(--font-size-sm)}.af-gateway-signin__form{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;align-items:center}@media(max-width:520px){.af-gateway-signin__form{grid-template-columns:minmax(0,1fr);gap:6px}.af-gateway-signin__label{margin-top:6px}}.af-gateway-signin__label{margin:0;color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.af-gateway-signin__token-input{display:flex;align-items:center;gap:8px}.af-gateway-signin__token-input input{flex:1}.af-gateway-signin__checkbox{display:flex;align-items:center;gap:10px;margin:0;color:var(--text-secondary);font-weight:700;text-transform:none;letter-spacing:0}.af-gateway-signin__message{margin-top:14px;overflow-wrap:anywhere}.af-gateway-signin__message--error{color:var(--error)}.af-gateway-signin__message--ok{color:var(--success)}.af-connect-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:var(--z-connect-modal, 1000)}.af-connect-modal{width:min(760px,100%);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain}.af-gateway-signin__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;flex-wrap:wrap}.af-gateway-signin__primary{background:color-mix(in srgb,var(--accent) 22%,var(--ui-overlay-bg));color:var(--text-primary);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 55%,transparent)}.af-gateway-signin__secondary{background:var(--bg-tertiary)}@media(max-width:680px){.af-gateway-signin{padding:18px}.af-gateway-signin__hero{gap:16px}.af-gateway-signin__mark{width:56px;height:56px;border-radius:18px;font-size:26px}.af-gateway-signin__form{grid-template-columns:1fr}}:root.theme-light,:root.theme-solarized-light,:root.theme-catppuccin-latte,:root.theme-rose-pine-dawn,:root.theme-one-light,:root.theme-everforest-light{color-scheme:light;--entity-identity: #7d5c0e;--entity-memory: #2a6396;--entity-diary: #2a7340;--entity-standing: #8f44b3;--entity-scar: #b23230;--entity-bond: #66530d;--entity-accent: #8f5a0e;--syntax-key: #0451a5;--syntax-string: #a31515;--syntax-number: #096b47;--syntax-keyword: #6f42c1}:root.theme-light{--bg-primary: #f7f7fb;--bg-secondary: #ffffff;--bg-tertiary: #e6e8f0;--text-primary: #0f172a;--text-secondary: #334155;--text-muted: #64748b;--accent: #e94560;--success: #12883e;--warning: #b16105;--error: #dc2626;--info: #2563eb;--bg-card: rgba(255, 255, 255, .92);--border-default: rgba(15, 23, 42, .12);--border-accent: rgba(233, 69, 96, .45);--ui-surface-1: rgba(15, 23, 42, .03);--ui-surface-2: rgba(15, 23, 42, .05);--ui-surface-3: rgba(15, 23, 42, .04);--ui-border-1: rgba(15, 23, 42, .1);--ui-border-2: rgba(15, 23, 42, .14);--ui-shadow-1: 0 10px 30px rgba(15, 23, 42, .12);--ui-overlay-bg: rgba(15, 23, 42, .04);--ui-overlay-bg-hover: rgba(15, 23, 42, .06);--ui-overlay-border: rgba(15, 23, 42, .12);--ui-pill-bg: rgba(15, 23, 42, .04);--ui-pill-border: rgba(15, 23, 42, .12);--ui-chip-bg: rgba(15, 23, 42, .04);--ui-chip-border: rgba(15, 23, 42, .12);--ui-chip-text: rgba(15, 23, 42, .92);--ui-code-bg: rgba(15, 23, 42, .05);--ui-code-border: rgba(15, 23, 42, .1);--ui-code-block-bg: rgba(15, 23, 42, .05);--ui-code-block-border: rgba(15, 23, 42, .1);--accent-subtle: rgba(233, 69, 96, .1);--info-subtle: rgba(37, 99, 235, .1);--success-subtle: rgba(18, 136, 62, .1);--warning-subtle: rgba(177, 97, 5, .1);--error-subtle: rgba(220, 38, 38, .1);--accent-border: rgba(233, 69, 96, .3);--info-border: rgba(37, 99, 235, .3);--success-border: rgba(18, 136, 62, .3);--warning-border: rgba(177, 97, 5, .3);--error-border: rgba(220, 38, 38, .3);--muted-border: rgba(15, 23, 42, .18)}:root.theme-nord{--bg-primary: #2e3440;--bg-secondary: #3b4252;--bg-tertiary: #434c5e;--text-primary: #eceff4;--text-secondary: #d8dee9;--text-muted: #99b3cd;--accent: #88c0d0;--success: #a3be8c;--warning: #ebcb8b;--error: #d89fa4;--info: #9bb0cb;--accent-subtle: rgba(136, 192, 208, .12);--info-subtle: rgba(155, 176, 203, .12);--success-subtle: rgba(163, 190, 140, .12);--warning-subtle: rgba(235, 203, 139, .12);--error-subtle: rgba(216, 159, 164, .12);--accent-border: rgba(136, 192, 208, .35);--info-border: rgba(155, 176, 203, .35);--success-border: rgba(163, 190, 140, .35);--warning-border: rgba(235, 203, 139, .35);--error-border: rgba(216, 159, 164, .35);--border-accent: rgba(136, 192, 208, .55);--syntax-string: #d6a38e;--syntax-keyword: #7fb4e0}.af-tool-policy{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:var(--radius-lg);border:1px solid var(--ui-border-1);background:var(--ui-surface-1);box-shadow:var(--ui-shadow-1);color:var(--text-primary);font-family:var(--font-sans)}.af-tool-policy__header{display:flex;flex-direction:column;gap:6px}.af-tool-policy__title{font-size:var(--font-size-xs);font-weight:700;letter-spacing:.12em;color:var(--accent);text-transform:uppercase}.af-tool-policy__subtitle{font-size:var(--font-size-sm);color:var(--text-secondary)}.af-tool-policy__mode{display:grid;grid-template-columns:auto auto 1fr;gap:6px 10px;align-items:center;padding:8px 10px;border-radius:var(--radius-md);border:1px solid var(--ui-border-1);background:var(--ui-overlay-bg);font-size:var(--font-size-xs);font-weight:600;color:var(--text-primary)}.af-tool-policy__mode-badge{text-transform:uppercase;letter-spacing:.08em;font-size:var(--font-size-xxs);color:var(--text-muted)}.af-tool-policy__mode-value{font-weight:800}.af-tool-policy__mode-detail{grid-column:1 / -1;font-size:var(--font-size-xs);font-weight:500;color:var(--text-secondary)}.af-tool-policy__mode.is-safe{border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.af-tool-policy__mode.is-warn{border-color:color-mix(in srgb,var(--warning) 50%,transparent);background:color-mix(in srgb,var(--warning) 12%,var(--ui-overlay-bg))}.af-tool-policy__mode.is-danger{border-color:color-mix(in srgb,var(--error) 55%,transparent);background:color-mix(in srgb,var(--error) 14%,var(--ui-overlay-bg))}.af-tool-policy__mode.is-info{border-color:color-mix(in srgb,var(--info) 50%,transparent);background:color-mix(in srgb,var(--info) 12%,var(--ui-overlay-bg))}.af-tool-policy__note{font-size:var(--font-size-xs);color:var(--text-muted)}.af-tool-policy__controls{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:10px;align-items:center}@media(max-width:520px){.af-tool-policy__controls{grid-template-columns:minmax(0,1fr)}}.af-tool-policy__segmented{display:inline-flex;background:var(--ui-overlay-bg);border:1px solid var(--ui-overlay-border);border-radius:var(--radius-lg);padding:2px;gap:2px}.af-tool-policy__seg-btn{border:none;background:transparent;color:var(--text-secondary);padding:6px 12px;font-size:var(--font-size-sm);font-weight:600;border-radius:var(--radius-md);cursor:pointer}.af-tool-policy__seg-btn.is-active{background:var(--ui-surface-2);color:var(--text-primary)}.af-tool-policy__seg-btn:disabled{cursor:not-allowed;opacity:.6}.af-tool-policy__count{padding:6px 12px;border-radius:var(--radius-lg);border:1px solid var(--ui-border-1);background:var(--ui-overlay-bg);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:600;text-align:center}.af-tool-policy__bulk{display:inline-flex;gap:6px;justify-self:end}.af-tool-policy__bulk button{border:1px solid var(--ui-border-1);background:var(--ui-overlay-bg);color:var(--text-secondary);border-radius:var(--radius-md);padding:6px 10px;font-size:var(--font-size-xs);font-weight:600;cursor:pointer}.af-tool-policy__bulk button:disabled{cursor:not-allowed;opacity:.5}.af-tool-policy__filter input{width:100%;border-radius:var(--radius-md);border:1px solid var(--ui-border-1);background:var(--ui-overlay-bg);color:var(--text-primary);padding:8px 10px;font-family:var(--font-sans);font-size:var(--font-size-sm)}.af-gateway-signin input::placeholder,.af-tool-policy__filter input::placeholder,.af-select-search-input::placeholder,.af-steer__input::placeholder,.af-critical__phrase input::placeholder{color:var(--text-muted);opacity:1;font-family:inherit}.af-tool-policy__list{display:flex;flex-direction:column;gap:10px;max-height:420px;overflow:auto;padding-right:4px}.af-tool-row{display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--ui-border-1);background:var(--ui-surface-2)}.af-tool-row.is-enabled{border-color:var(--accent-border)}.af-tool-row__check input{width:16px;height:16px}.af-tool-row__title{display:flex;align-items:center;gap:8px}.af-tool-row__name{font-weight:700;font-size:var(--font-size-sm);color:var(--text-primary)}.af-tool-row__badge{padding:2px 8px;border-radius:var(--radius-md);border:1px solid var(--ui-chip-border);background:var(--ui-chip-bg);color:var(--ui-chip-text);font-size:var(--font-size-xxs);text-transform:uppercase;letter-spacing:.08em}.af-tool-row__desc{font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:4px}.af-tool-row__hint{font-size:var(--font-size-xxs);color:var(--text-muted);margin-top:4px}.af-tool-row__approval select{border-radius:var(--radius-md);border:1px solid var(--ui-border-1);background:var(--ui-overlay-bg);color:var(--text-primary);padding:6px 8px;font-size:var(--font-size-xs)}.af-tool-policy__empty{padding:18px;text-align:center;color:var(--text-muted);font-size:var(--font-size-sm)}:root.theme-dracula{--bg-primary: #282a36;--bg-secondary: #343746;--bg-tertiary: #44475a;--text-primary: #f8f8f2;--text-secondary: #d4d4de;--text-muted: #96a0c2;--accent: #ff79c6;--success: #50fa7b;--warning: #f1fa8c;--error: #ff7979;--info: #8be9fd;--accent-subtle: rgba(255, 121, 198, .12);--info-subtle: rgba(139, 233, 253, .12);--success-subtle: rgba(80, 250, 123, .12);--warning-subtle: rgba(241, 250, 140, .12);--error-subtle: rgba(255, 121, 121, .12);--accent-border: rgba(255, 121, 198, .35);--info-border: rgba(139, 233, 253, .35);--success-border: rgba(80, 250, 123, .35);--warning-border: rgba(241, 250, 140, .35);--error-border: rgba(255, 121, 121, .35);--border-accent: rgba(255, 121, 198, .55);--syntax-keyword: #66a6da;--syntax-string: #cf937a}:root.theme-gruvbox{--bg-primary: #282828;--bg-secondary: #3c3836;--bg-tertiary: #504945;--text-primary: #ebdbb2;--text-secondary: #d5c4a1;--text-muted: #ada296;--accent: #fe8019;--success: #b8bb26;--warning: #fabd2f;--error: #fc7f70;--info: #89a99d;--accent-subtle: rgba(254, 128, 25, .12);--info-subtle: rgba(137, 169, 157, .12);--success-subtle: rgba(184, 187, 38, .12);--warning-subtle: rgba(250, 189, 47, .12);--error-subtle: rgba(252, 127, 112, .12);--accent-border: rgba(254, 128, 25, .35);--info-border: rgba(137, 169, 157, .35);--success-border: rgba(184, 187, 38, .35);--warning-border: rgba(250, 189, 47, .35);--error-border: rgba(252, 127, 112, .35);--border-accent: rgba(254, 128, 25, .55);--syntax-keyword: #6ba8db;--syntax-string: #cf947c}:root.theme-monokai{--bg-primary: #272822;--bg-secondary: #2d2e27;--bg-tertiary: #3e3d32;--text-primary: #f8f8f2;--text-secondary: #e2e2dc;--text-muted: #9a9581;--accent: #66d9ef;--success: #a6e22e;--warning: #e6db74;--error: #fb5d95;--info: #a1efe4;--accent-subtle: rgba(102, 217, 239, .12);--info-subtle: rgba(161, 239, 228, .12);--success-subtle: rgba(166, 226, 46, .12);--warning-subtle: rgba(230, 219, 116, .12);--error-subtle: rgba(251, 93, 149, .12);--accent-border: rgba(102, 217, 239, .35);--info-border: rgba(161, 239, 228, .35);--success-border: rgba(166, 226, 46, .35);--warning-border: rgba(230, 219, 116, .35);--error-border: rgba(251, 93, 149, .35);--border-accent: rgba(102, 217, 239, .55)}:root.theme-solarized-dark{--bg-primary: #002b36;--bg-secondary: #073642;--bg-tertiary: #0b4b5a;--text-primary: #eee8d5;--text-secondary: #93a1a1;--text-muted: #879ca3;--accent: #268bd2;--success: #8ea300;--warning: #c49500;--error: #e87775;--info: #2ca9a0;--accent-subtle: rgba(38, 139, 210, .12);--info-subtle: rgba(44, 169, 160, .12);--success-subtle: rgba(142, 163, 0, .12);--warning-subtle: rgba(196, 149, 0, .12);--error-subtle: rgba(232, 119, 117, .12);--accent-border: rgba(38, 139, 210, .35);--info-border: rgba(44, 169, 160, .35);--success-border: rgba(142, 163, 0, .35);--warning-border: rgba(196, 149, 0, .35);--error-border: rgba(232, 119, 117, .35);--border-accent: rgba(38, 139, 210, .55);--syntax-keyword: #5a9ed7}:root.theme-solarized-light{--bg-primary: #fdf6e3;--bg-secondary: #eee8d5;--bg-tertiary: #e3ddc9;--text-primary: #073642;--text-secondary: #566b72;--text-muted: #637880;--accent: #268bd2;--success: #6a7a00;--warning: #916e00;--error: #dc322f;--info: #228179;--bg-card: rgba(255, 255, 255, .88);--border-default: rgba(7, 54, 66, .18);--border-accent: rgba(38, 139, 210, .35);--accent-subtle: rgba(38, 139, 210, .1);--info-subtle: rgba(34, 129, 121, .1);--success-subtle: rgba(106, 122, 0, .1);--warning-subtle: rgba(145, 110, 0, .1);--error-subtle: rgba(220, 50, 47, .1);--accent-border: rgba(38, 139, 210, .3);--info-border: rgba(34, 129, 121, .3);--success-border: rgba(106, 122, 0, .3);--warning-border: rgba(145, 110, 0, .3);--error-border: rgba(220, 50, 47, .3);--muted-border: rgba(7, 54, 66, .18);--ui-overlay-bg: rgba(7, 54, 66, .04);--ui-overlay-bg-hover: rgba(7, 54, 66, .06);--ui-overlay-border: rgba(7, 54, 66, .14);--ui-pill-bg: rgba(7, 54, 66, .04);--ui-pill-border: rgba(7, 54, 66, .14);--ui-chip-bg: rgba(7, 54, 66, .04);--ui-chip-border: rgba(7, 54, 66, .14);--ui-chip-text: rgba(7, 54, 66, .92);--ui-code-bg: rgba(7, 54, 66, .04);--ui-code-border: rgba(7, 54, 66, .14);--ui-code-block-bg: rgba(7, 54, 66, .04);--ui-code-block-border: rgba(7, 54, 66, .14)}:root.theme-observer-night{--bg-primary: #0b0f14;--bg-secondary: #10161e;--bg-tertiary: #161e28;--text-primary: #d7dee8;--text-secondary: #8593a5;--text-muted: #748096;--accent: #e8a54a;--success: #7bc98c;--warning: #e0af68;--error: #d9705a;--info: #6ea8d8;--accent-subtle: rgba(232, 165, 74, .12);--info-subtle: rgba(110, 168, 216, .12);--success-subtle: rgba(123, 201, 140, .12);--warning-subtle: rgba(224, 175, 104, .12);--error-subtle: rgba(217, 112, 90, .12);--accent-border: rgba(232, 165, 74, .35);--info-border: rgba(110, 168, 216, .35);--success-border: rgba(123, 201, 140, .35);--warning-border: rgba(224, 175, 104, .35);--error-border: rgba(217, 112, 90, .35);--border-accent: rgba(232, 165, 74, .55)}:root.theme-tokyo-night{--bg-primary: #1a1b26;--bg-secondary: #24283b;--bg-tertiary: #414868;--text-primary: #c0caf5;--text-secondary: #a9b1d6;--text-muted: #878fb4;--accent: #7aa2f7;--success: #9ece6a;--warning: #e0af68;--error: #f7768e;--info: #2ac3de;--accent-subtle: rgba(122, 162, 247, .12);--info-subtle: rgba(42, 195, 222, .12);--success-subtle: rgba(158, 206, 106, .12);--warning-subtle: rgba(224, 175, 104, .12);--error-subtle: rgba(247, 118, 142, .12);--accent-border: rgba(122, 162, 247, .35);--info-border: rgba(42, 195, 222, .35);--success-border: rgba(158, 206, 106, .35);--warning-border: rgba(224, 175, 104, .35);--error-border: rgba(247, 118, 142, .35);--border-accent: rgba(122, 162, 247, .55)}:root.theme-catppuccin-mocha{--bg-primary: #1e1e2e;--bg-secondary: #181825;--bg-tertiary: #313244;--text-primary: #cdd6f4;--text-secondary: #bac2de;--text-muted: #7e8297;--accent: #cba6f7;--success: #a6e3a1;--warning: #f9e2af;--error: #f38ba8;--info: #89b4fa;--accent-subtle: rgba(203, 166, 247, .12);--info-subtle: rgba(137, 180, 250, .12);--success-subtle: rgba(166, 227, 161, .12);--warning-subtle: rgba(249, 226, 175, .12);--error-subtle: rgba(243, 139, 168, .12);--accent-border: rgba(203, 166, 247, .35);--info-border: rgba(137, 180, 250, .35);--success-border: rgba(166, 227, 161, .35);--warning-border: rgba(249, 226, 175, .35);--error-border: rgba(243, 139, 168, .35);--border-accent: rgba(203, 166, 247, .55)}:root.theme-catppuccin-macchiato{--bg-primary: #24273a;--bg-secondary: #1e2030;--bg-tertiary: #363a4f;--text-primary: #cad3f5;--text-secondary: #b8c0e0;--text-muted: #8087a2;--accent: #c6a0f6;--success: #a6da95;--warning: #eed49f;--error: #ed8796;--info: #8aadf4;--accent-subtle: rgba(198, 160, 246, .12);--info-subtle: rgba(138, 173, 244, .12);--success-subtle: rgba(166, 218, 149, .12);--warning-subtle: rgba(238, 212, 159, .12);--error-subtle: rgba(237, 135, 150, .12);--accent-border: rgba(198, 160, 246, .35);--info-border: rgba(138, 173, 244, .35);--success-border: rgba(166, 218, 149, .35);--warning-border: rgba(238, 212, 159, .35);--error-border: rgba(237, 135, 150, .35);--border-accent: rgba(198, 160, 246, .55)}:root.theme-catppuccin-frappe{--bg-primary: #303446;--bg-secondary: #292c3c;--bg-tertiary: #414559;--text-primary: #c6d0f5;--text-secondary: #b5bfe2;--text-muted: #8c93ad;--accent: #ca9ee6;--success: #a6d189;--warning: #e5c890;--error: #e78284;--info: #8caaee;--accent-subtle: rgba(202, 158, 230, .12);--info-subtle: rgba(140, 170, 238, .12);--success-subtle: rgba(166, 209, 137, .12);--warning-subtle: rgba(229, 200, 144, .12);--error-subtle: rgba(231, 130, 132, .12);--accent-border: rgba(202, 158, 230, .35);--info-border: rgba(140, 170, 238, .35);--success-border: rgba(166, 209, 137, .35);--warning-border: rgba(229, 200, 144, .35);--error-border: rgba(231, 130, 132, .35);--border-accent: rgba(202, 158, 230, .55)}:root.theme-rose-pine{--bg-primary: #191724;--bg-secondary: #1f1d2e;--bg-tertiary: #26233a;--text-primary: #e0def4;--text-secondary: #908caa;--text-muted: #88859e;--accent: #c4a7e7;--success: #9ccfd8;--warning: #f6c177;--error: #eb6f92;--info: #3d90b1;--accent-subtle: rgba(196, 167, 231, .12);--info-subtle: rgba(61, 144, 177, .12);--success-subtle: rgba(156, 207, 216, .12);--warning-subtle: rgba(246, 193, 119, .12);--error-subtle: rgba(235, 111, 146, .12);--accent-border: rgba(196, 167, 231, .35);--info-border: rgba(61, 144, 177, .35);--success-border: rgba(156, 207, 216, .35);--warning-border: rgba(246, 193, 119, .35);--error-border: rgba(235, 111, 146, .35);--border-accent: rgba(196, 167, 231, .55)}:root.theme-rose-pine-moon{--bg-primary: #232136;--bg-secondary: #2a273f;--bg-tertiary: #393552;--text-primary: #e0def4;--text-secondary: #938fac;--text-muted: #9390a7;--accent: #c4a7e7;--success: #9ccfd8;--warning: #f6c177;--error: #eb6f92;--info: #459bbd;--accent-subtle: rgba(196, 167, 231, .12);--info-subtle: rgba(69, 155, 189, .12);--success-subtle: rgba(156, 207, 216, .12);--warning-subtle: rgba(246, 193, 119, .12);--error-subtle: rgba(235, 111, 146, .12);--accent-border: rgba(196, 167, 231, .35);--info-border: rgba(69, 155, 189, .35);--success-border: rgba(156, 207, 216, .35);--warning-border: rgba(246, 193, 119, .35);--error-border: rgba(235, 111, 146, .35);--border-accent: rgba(196, 167, 231, .55)}:root.theme-one-dark{--bg-primary: #282c34;--bg-secondary: #21252b;--bg-tertiary: #3a3f4b;--text-primary: #abb2bf;--text-secondary: #9da5b4;--text-muted: #848c9a;--accent: #61afef;--success: #98c379;--warning: #e5c07b;--error: #e06c75;--info: #c678dd;--accent-subtle: rgba(97, 175, 239, .12);--info-subtle: rgba(198, 120, 221, .12);--success-subtle: rgba(152, 195, 121, .12);--warning-subtle: rgba(229, 192, 123, .12);--error-subtle: rgba(224, 108, 117, .12);--accent-border: rgba(97, 175, 239, .35);--info-border: rgba(198, 120, 221, .35);--success-border: rgba(152, 195, 121, .35);--warning-border: rgba(229, 192, 123, .35);--error-border: rgba(224, 108, 117, .35);--border-accent: rgba(97, 175, 239, .55)}:root.theme-everforest-dark{--bg-primary: #2b3339;--bg-secondary: #323c41;--bg-tertiary: #3a464c;--text-primary: #d3c6aa;--text-secondary: #a7c080;--text-muted: #9da8a0;--accent: #83c092;--success: #a7c080;--warning: #dbbc7f;--error: #e88b8d;--info: #7fbbb3;--accent-subtle: rgba(131, 192, 146, .12);--info-subtle: rgba(127, 187, 179, .12);--success-subtle: rgba(167, 192, 128, .12);--warning-subtle: rgba(219, 188, 127, .12);--error-subtle: rgba(232, 139, 141, .12);--accent-border: rgba(131, 192, 146, .35);--info-border: rgba(127, 187, 179, .35);--success-border: rgba(167, 192, 128, .35);--warning-border: rgba(219, 188, 127, .35);--error-border: rgba(232, 139, 141, .35);--border-accent: rgba(167, 192, 128, .55);--syntax-keyword: #6faadc;--syntax-string: #d1977f}:root.theme-catppuccin-latte{--bg-primary: #eff1f5;--bg-secondary: #e6e9ef;--bg-tertiary: #ccd0da;--text-primary: #4c4f69;--text-secondary: #5c5f77;--text-muted: #6f758b;--accent: #8839ef;--success: #358423;--warning: #a46915;--error: #d20f39;--info: #1e66f5;--bg-card: rgba(255, 255, 255, .92);--border-default: rgba(76, 79, 105, .12);--border-accent: rgba(136, 57, 239, .35);--ui-surface-1: rgba(76, 79, 105, .03);--ui-surface-2: rgba(76, 79, 105, .05);--ui-surface-3: rgba(76, 79, 105, .04);--ui-border-1: rgba(76, 79, 105, .1);--ui-border-2: rgba(76, 79, 105, .14);--ui-shadow-1: 0 10px 30px rgba(76, 79, 105, .12);--ui-overlay-bg: rgba(76, 79, 105, .04);--ui-overlay-bg-hover: rgba(76, 79, 105, .06);--ui-overlay-border: rgba(76, 79, 105, .12);--ui-pill-bg: rgba(76, 79, 105, .04);--ui-pill-border: rgba(76, 79, 105, .12);--ui-chip-bg: rgba(76, 79, 105, .04);--ui-chip-border: rgba(76, 79, 105, .12);--ui-chip-text: rgba(76, 79, 105, .92);--ui-code-bg: rgba(76, 79, 105, .05);--ui-code-border: rgba(76, 79, 105, .1);--ui-code-block-bg: rgba(76, 79, 105, .05);--ui-code-block-border: rgba(76, 79, 105, .1);--accent-subtle: rgba(136, 57, 239, .1);--info-subtle: rgba(30, 102, 245, .1);--success-subtle: rgba(53, 132, 35, .1);--warning-subtle: rgba(164, 105, 21, .1);--error-subtle: rgba(210, 15, 57, .1);--accent-border: rgba(136, 57, 239, .3);--info-border: rgba(30, 102, 245, .3);--success-border: rgba(53, 132, 35, .3);--warning-border: rgba(164, 105, 21, .3);--error-border: rgba(210, 15, 57, .3);--muted-border: rgba(76, 79, 105, .18)}:root.theme-rose-pine-dawn{--bg-primary: #faf4ed;--bg-secondary: #fffaf3;--bg-tertiary: #f2e9e1;--text-primary: #575279;--text-secondary: #6e6a86;--text-muted: #787289;--accent: #907aa9;--success: #286983;--warning: #a76711;--error: #af5971;--info: #497e88;--bg-card: rgba(255, 255, 255, .92);--border-default: rgba(87, 82, 121, .12);--border-accent: rgba(144, 122, 169, .35);--ui-surface-1: rgba(87, 82, 121, .03);--ui-surface-2: rgba(87, 82, 121, .05);--ui-surface-3: rgba(87, 82, 121, .04);--ui-border-1: rgba(87, 82, 121, .1);--ui-border-2: rgba(87, 82, 121, .14);--ui-shadow-1: 0 10px 30px rgba(87, 82, 121, .12);--ui-overlay-bg: rgba(87, 82, 121, .04);--ui-overlay-bg-hover: rgba(87, 82, 121, .06);--ui-overlay-border: rgba(87, 82, 121, .12);--ui-pill-bg: rgba(87, 82, 121, .04);--ui-pill-border: rgba(87, 82, 121, .12);--ui-chip-bg: rgba(87, 82, 121, .04);--ui-chip-border: rgba(87, 82, 121, .12);--ui-chip-text: rgba(87, 82, 121, .92);--ui-code-bg: rgba(87, 82, 121, .05);--ui-code-border: rgba(87, 82, 121, .1);--ui-code-block-bg: rgba(87, 82, 121, .05);--ui-code-block-border: rgba(87, 82, 121, .1);--accent-subtle: rgba(144, 122, 169, .1);--info-subtle: rgba(73, 126, 136, .1);--success-subtle: rgba(40, 105, 131, .1);--warning-subtle: rgba(167, 103, 17, .1);--error-subtle: rgba(175, 89, 113, .1);--accent-border: rgba(144, 122, 169, .3);--info-border: rgba(73, 126, 136, .3);--success-border: rgba(40, 105, 131, .3);--warning-border: rgba(167, 103, 17, .3);--error-border: rgba(175, 89, 113, .3);--muted-border: rgba(87, 82, 121, .18)}:root.theme-one-light{--bg-primary: #fafafa;--bg-secondary: #ffffff;--bg-tertiary: #e5e5e6;--text-primary: #383a42;--text-secondary: #4f525d;--text-muted: #74757d;--accent: #4078f2;--success: #418240;--warning: #9d6c01;--error: #de3121;--info: #a626a4;--bg-card: rgba(255, 255, 255, .92);--border-default: rgba(56, 58, 66, .12);--border-accent: rgba(64, 120, 242, .35);--ui-surface-1: rgba(56, 58, 66, .03);--ui-surface-2: rgba(56, 58, 66, .05);--ui-surface-3: rgba(56, 58, 66, .04);--ui-border-1: rgba(56, 58, 66, .1);--ui-border-2: rgba(56, 58, 66, .14);--ui-shadow-1: 0 10px 30px rgba(56, 58, 66, .12);--ui-overlay-bg: rgba(56, 58, 66, .04);--ui-overlay-bg-hover: rgba(56, 58, 66, .06);--ui-overlay-border: rgba(56, 58, 66, .12);--ui-pill-bg: rgba(56, 58, 66, .04);--ui-pill-border: rgba(56, 58, 66, .12);--ui-chip-bg: rgba(56, 58, 66, .04);--ui-chip-border: rgba(56, 58, 66, .12);--ui-chip-text: rgba(56, 58, 66, .92);--ui-code-bg: rgba(56, 58, 66, .05);--ui-code-border: rgba(56, 58, 66, .1);--ui-code-block-bg: rgba(56, 58, 66, .05);--ui-code-block-border: rgba(56, 58, 66, .1);--accent-subtle: rgba(64, 120, 242, .1);--info-subtle: rgba(166, 38, 164, .1);--success-subtle: rgba(65, 130, 64, .1);--warning-subtle: rgba(157, 108, 1, .1);--error-subtle: rgba(222, 49, 33, .1);--accent-border: rgba(64, 120, 242, .3);--info-border: rgba(166, 38, 164, .3);--success-border: rgba(65, 130, 64, .3);--warning-border: rgba(157, 108, 1, .3);--error-border: rgba(222, 49, 33, .3);--muted-border: rgba(56, 58, 66, .18)}:root.theme-everforest-light{--bg-primary: #fdf6e3;--bg-secondary: #fffbef;--bg-tertiary: #e8e0cc;--text-primary: #5c6a72;--text-secondary: #67767e;--text-muted: #6b7a6f;--accent: #2e8f6a;--success: #488252;--warning: #9b6b21;--error: #ea0e09;--info: #317ca5;--bg-card: rgba(255, 255, 255, .92);--border-default: rgba(92, 106, 114, .12);--border-accent: rgba(46, 143, 106, .35);--ui-surface-1: rgba(92, 106, 114, .03);--ui-surface-2: rgba(92, 106, 114, .05);--ui-surface-3: rgba(92, 106, 114, .04);--ui-border-1: rgba(92, 106, 114, .1);--ui-border-2: rgba(92, 106, 114, .14);--ui-shadow-1: 0 10px 30px rgba(92, 106, 114, .12);--ui-overlay-bg: rgba(92, 106, 114, .04);--ui-overlay-bg-hover: rgba(92, 106, 114, .06);--ui-overlay-border: rgba(92, 106, 114, .12);--ui-pill-bg: rgba(92, 106, 114, .04);--ui-pill-border: rgba(92, 106, 114, .12);--ui-chip-bg: rgba(92, 106, 114, .04);--ui-chip-border: rgba(92, 106, 114, .12);--ui-chip-text: rgba(92, 106, 114, .92);--ui-code-bg: rgba(92, 106, 114, .05);--ui-code-border: rgba(92, 106, 114, .1);--ui-code-block-bg: rgba(92, 106, 114, .05);--ui-code-block-border: rgba(92, 106, 114, .1);--accent-subtle: rgba(46, 143, 106, .1);--info-subtle: rgba(49, 124, 165, .1);--success-subtle: rgba(72, 130, 82, .1);--warning-subtle: rgba(155, 107, 33, .1);--error-subtle: rgba(234, 14, 9, .1);--accent-border: rgba(46, 143, 106, .3);--info-border: rgba(49, 124, 165, .3);--success-border: rgba(72, 130, 82, .3);--warning-border: rgba(155, 107, 33, .3);--error-border: rgba(234, 14, 9, .3);--muted-border: rgba(92, 106, 114, .18)}.af-select{display:inline-flex;position:relative}.af-select--panel{display:flex;width:100%}.af-select-trigger--clearable{padding-right:44px}.af-select--pin{display:inline-flex}.af-select-trigger{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--ui-overlay-border, rgba(255, 255, 255, .14));background:var(--ui-overlay-bg, rgba(0, 0, 0, .18));color:var(--text-primary);border-radius:var(--radius-md, 8px);padding:0 10px;line-height:1;font-family:var(--font-sans);font-size:var(--font-size-base)}.af-select-trigger:hover:not(:disabled){background:var(--ui-overlay-bg-hover, rgba(255, 255, 255, .08))}.af-select--pin .af-select-trigger{height:20px;max-width:160px;font-size:var(--font-size-xs);padding:0 8px}.af-select--panel .af-select-trigger{min-height:34px;width:100%}.af-select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-align:left}.af-select-value--placeholder{color:var(--text-secondary)}.af-select-clear{display:inline-flex;width:16px;height:16px;align-items:center;justify-content:center;border-radius:6px;color:var(--text-secondary);cursor:pointer}.af-select-clear-btn{position:absolute;right:26px;top:50%;transform:translateY(-50%);display:inline-flex;width:16px;height:16px;align-items:center;justify-content:center;border:0;padding:0;border-radius:6px;background:transparent;font:inherit;color:var(--text-secondary);cursor:pointer}.af-select-clear:hover,.af-select-clear-btn:hover{color:var(--text-primary);background:var(--ui-overlay-bg-hover, rgba(255, 255, 255, .08))}.af-select-caret{color:var(--text-secondary);transform:translateY(-1px)}.af-select-caret--open{color:var(--text-primary)}.af-select-popover{z-index:10000;background:var(--bg-card, var(--bg-secondary));border:1px solid var(--ui-overlay-border, rgba(255, 255, 255, .14));border-radius:12px;box-shadow:var(--ui-shadow-1, 0 10px 30px rgba(0, 0, 0, .35));overflow:hidden}.af-select-popover--top{transform:translateY(-100%)}.af-select-search{padding:10px;border-bottom:1px solid var(--ui-border-1, rgba(255, 255, 255, .1));background:var(--ui-surface-2, rgba(255, 255, 255, .06))}.af-select-search-input{width:100%;height:34px;padding:6px 10px;border-radius:10px;border:1px solid var(--ui-border-2, rgba(255, 255, 255, .14));background:var(--ui-code-bg, rgba(0, 0, 0, .18));color:var(--text-primary);font-family:var(--font-sans);font-size:var(--font-size-base)}.af-select-custom-error{margin-top:6px;color:var(--error);font-size:var(--font-size-xs);line-height:1.35}.af-select-options{max-height:min(340px,calc(100dvh - 120px));overflow:auto;overscroll-behavior:contain;padding:6px}.af-select-empty{padding:10px;color:var(--text-secondary);font-size:var(--font-size-sm)}.af-select-group{padding:8px 10px 6px;font-size:var(--font-size-xxs);font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted)}.af-select-option{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:10px;cursor:pointer;color:var(--text-primary);font-size:var(--font-size-base)}.af-select-option--highlighted{background:var(--accent-subtle, rgba(233, 69, 96, .12))}.af-select-option--selected{background:var(--ui-surface-2, rgba(255, 255, 255, .06))}.af-select-option--disabled{cursor:not-allowed;color:var(--text-muted);opacity:.58}.af-select-option--disabled.af-select-option--highlighted{background:var(--ui-surface-1, rgba(255, 255, 255, .04))}.af-select-option-label{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;overflow:hidden}.af-select-option-label>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.af-select-option-reason{color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.25}.af-select-check{color:var(--accent);font-weight:700}.af-theme-value{display:inline-flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto}.af-theme-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1 1 auto}.af-theme-label--placeholder{color:var(--text-secondary)}.af-theme-option-label{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.af-theme-option-right{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto}.af-theme-swatches{display:inline-flex;gap:4px;flex:0 0 auto}.af-theme-swatch{width:10px;height:10px;border-radius:3px;border:1px solid var(--ui-border-1, rgba(255, 255, 255, .1));box-shadow:inset 0 0 0 1px #00000014}.af-matrix{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:var(--radius-lg);border:1px solid var(--ui-border-1);background:var(--ui-surface-1);box-shadow:var(--ui-shadow-1);color:var(--text-primary);font-family:var(--font-sans)}.af-matrix__header{display:flex;flex-direction:column;gap:4px}.af-matrix__title{font-size:var(--font-size-xs);font-weight:700;letter-spacing:.12em;color:var(--accent);text-transform:uppercase}.af-matrix__subtitle{font-size:var(--font-size-sm);color:var(--text-secondary)}.af-matrix__pending-note{font-size:var(--font-size-xs);font-weight:600;color:var(--warning)}.af-matrix__refusal{padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--error-border);background:var(--error-subtle);color:var(--text-primary);font-size:var(--font-size-sm)}.af-matrix__scroll{overflow-x:auto}.af-matrix__table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.af-matrix__phase{text-align:left;padding:6px 10px;vertical-align:bottom}.af-matrix__phase-label{display:block;font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-primary)}.af-matrix__phase-hint{display:block;font-size:var(--font-size-xxs);font-weight:500;color:var(--text-muted);max-width:180px}.af-matrix__section-label{text-align:left;padding:12px 10px 4px;font-size:var(--font-size-xxs);font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);border-bottom:1px solid var(--ui-border-1)}.af-matrix__item{text-align:left;padding:6px 10px;font-weight:600;color:var(--text-primary);white-space:nowrap}.af-matrix__cell-td{padding:4px 6px;border-top:1px solid var(--ui-border-1)}.af-matrix__cell{display:flex;flex-direction:column;gap:4px;min-width:132px}.af-matrix__cell.is-absent,.af-matrix__cell.is-unavailable{align-items:flex-start;color:var(--text-muted);font-size:var(--font-size-xs)}.af-matrix__cell-mark{font-weight:700}.af-matrix__cell-note{font-size:var(--font-size-xxs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.af-matrix__cell-reason{font-size:var(--font-size-xxs);color:var(--text-secondary)}.af-matrix__cell.is-review{padding:6px 8px;border-radius:var(--radius-md);border:1px solid var(--warning-border);background:var(--warning-subtle)}.af-matrix__approve-btn{align-self:flex-start;padding:3px 10px;border-radius:var(--radius-md);border:1px solid var(--warning-border);background:transparent;color:var(--text-primary);font-size:var(--font-size-xs);font-weight:600;cursor:pointer}.af-matrix__approve-btn:hover:not(:disabled){background:var(--warning-subtle)}.af-matrix__tristate{display:inline-flex;background:var(--ui-overlay-bg);border:1px solid var(--ui-overlay-border);border-radius:var(--radius-md);padding:2px;gap:2px}.af-matrix__tri-btn{border:none;background:transparent;color:var(--text-secondary);font-size:var(--font-size-xxs);font-weight:600;padding:2px 8px;border-radius:calc(var(--radius-md) - 2px);cursor:pointer}.af-matrix__tri-btn:disabled{cursor:default;opacity:.55}.af-matrix__tri-btn.is-active.is-grant{background:var(--success-subtle);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--success-border)}.af-matrix__tri-btn.is-active.is-deny{background:var(--error-subtle);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--error-border)}.af-matrix__tri-btn.is-active.is-clear{background:var(--ui-overlay-bg-hover);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--ui-border-2)}.af-matrix__cell-meta{display:inline-flex;gap:8px;align-items:baseline;font-size:var(--font-size-xxs);color:var(--text-muted)}.af-matrix__prov.is-operator{color:var(--text-secondary);font-weight:600}.af-matrix__standing{color:var(--warning);font-weight:600;cursor:help}.af-matrix__cell.is-indeterminate .af-matrix__value-mark{color:var(--warning);font-style:italic}.af-matrix__cell.is-pending .af-matrix__prov{color:var(--warning);font-weight:700}.af-matrix__empty{padding:8px 10px;color:var(--text-muted);font-size:var(--font-size-xs)}.af-critical__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.af-critical{display:flex;flex-direction:column;gap:12px;width:min(480px,calc(100vw - 32px));max-height:calc(100vh - 64px);max-height:calc(100dvh - 64px);overflow-y:auto;overscroll-behavior:contain;padding:18px;border-radius:var(--radius-lg);border:1px solid var(--error-border);background:var(--bg-card, var(--bg-secondary));box-shadow:var(--ui-shadow-1);color:var(--text-primary);font-family:var(--font-sans)}.af-critical__title{font-size:var(--font-size-lg);font-weight:700;color:var(--text-primary)}.af-critical__consequence{font-size:var(--font-size-sm);color:var(--text-primary);padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--error-border);background:var(--error-subtle)}.af-critical__facts{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:0;font-size:var(--font-size-sm)}.af-critical__facts dt{color:var(--text-muted)}.af-critical__facts dd{margin:0;color:var(--text-primary);font-weight:600;min-width:0;overflow-wrap:anywhere}.af-critical__fallback{font-size:var(--font-size-sm);padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--warning-border);background:var(--warning-subtle);color:var(--text-primary)}.af-critical__phrase{display:flex;flex-direction:column;gap:6px;font-size:var(--font-size-sm);color:var(--text-secondary)}.af-critical__phrase input{padding:6px 10px;border-radius:var(--radius-md);border:1px solid var(--ui-border-2);background:var(--ui-overlay-bg);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--font-size-sm)}.af-critical__error{font-size:var(--font-size-sm);color:var(--error)}.af-critical__disabled-reason{font-size:var(--font-size-xs);color:var(--text-muted)}.af-critical__actions{display:flex;justify-content:flex-end;gap:10px}.af-critical__actions button{padding:6px 14px;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;cursor:pointer}.af-critical__actions button:disabled{cursor:default;opacity:.55}.af-critical__cancel{border:1px solid var(--ui-border-2);background:var(--ui-overlay-bg);color:var(--text-primary)}.af-critical__confirm{border:1px solid var(--error-border);background:var(--error-subtle);color:var(--text-primary)}.af-critical__confirm.is-degraded{border-color:var(--warning-border);background:var(--warning-subtle)}.af-steer{display:flex;flex-direction:column;gap:4px}.af-steer__row{display:flex;align-items:stretch;gap:8px}.af-steer__input{flex:1;resize:vertical;min-height:38px;padding:8px 10px;border-radius:var(--radius-md);border:1px solid var(--ui-border-2);background:var(--ui-overlay-bg);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--font-size-sm);line-height:1.4}.af-steer__input:focus{outline:none;border-color:var(--accent-border)}.af-steer__send{align-self:flex-end;padding:7px 14px;border-radius:var(--radius-md);border:1px solid var(--accent-border);background:var(--accent-subtle);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;white-space:nowrap}.af-steer__send:disabled{cursor:default;opacity:.55}.af-steer__status{min-height:16px;font-size:var(--font-size-xs)}.af-steer__hint{color:var(--text-muted)}.af-steer__ok{color:var(--success)}.af-steer__err{color:var(--error)}.af-disclosure{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.af-disclosure--empty{padding:12px}.af-disclosure__empty{font-size:var(--font-size-sm);color:var(--text-muted)}.af-disclosure__row{display:flex;align-items:center;gap:6px;padding:5px 8px;padding-left:calc(8px + var(--af-disclosure-depth, 0) * 16px);border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;color:var(--text-primary);font-size:var(--font-size-sm);min-width:0}.af-disclosure__row:hover{background:var(--ui-overlay-bg)}.af-disclosure__row:focus-visible{outline:none;border-color:var(--accent-border)}.af-disclosure__row--selected{background:var(--accent-subtle);border-color:var(--accent-border)}.af-disclosure__row[data-entity-selected]{background:color-mix(in srgb,var(--accent) 6%,transparent)}.af-disclosure__row--static{cursor:default;color:var(--text-secondary)}.af-disclosure__chevron{flex:none;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm)}.af-disclosure__chevron:hover{color:var(--text-primary);background:var(--ui-overlay-bg)}.af-disclosure__chevron--spacer{cursor:default;pointer-events:none;background:transparent}.af-disclosure__content{flex:1;display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden}.af-disclosure__hint{flex:none;font-size:var(--font-size-xs);color:var(--text-muted);font-family:var(--font-mono)}.af-disclosure__rail{display:flex;align-items:center;gap:4px;min-width:0;overflow:hidden;padding-right:14px;-webkit-mask-image:linear-gradient(to right,black calc(100% - 14px),transparent);mask-image:linear-gradient(to right,black calc(100% - 14px),transparent)}.af-chip{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--af-chip-hue) 35%,transparent);background:color-mix(in srgb,var(--af-chip-hue) 12%,transparent);color:color-mix(in srgb,var(--af-chip-hue) 45%,var(--text-primary) 55%);font-size:var(--font-size-xs);font-weight:600;line-height:1.6;white-space:nowrap;max-width:100%}.af-chip--sm{padding:0 6px;font-size:var(--font-size-xxs)}.af-chip__label{overflow:hidden;text-overflow:ellipsis}.af-chip--button{cursor:pointer;font-family:inherit}.af-chip--button:hover:not(:disabled){background:color-mix(in srgb,var(--af-chip-hue) 20%,transparent)}.af-chip--button:focus-visible{outline:2px solid var(--accent-border);outline-offset:1px}.af-chip--button[aria-pressed=true],.af-chip--button[aria-expanded=true]{background:color-mix(in srgb,var(--af-chip-hue) 22%,transparent);border-color:color-mix(in srgb,var(--af-chip-hue) 55%,transparent)}.af-chip--button:disabled{cursor:default;opacity:.55}.af-chip__remove{flex:none;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;margin-right:-3px;border:none;border-radius:999px;background:transparent;color:inherit;cursor:pointer;opacity:.7}.af-chip__remove:hover{opacity:1;background:color-mix(in srgb,var(--af-chip-hue) 25%,transparent)}.af-chip{--af-chip-hue: var(--text-secondary)}.af-pmp{display:flex;flex-direction:column;gap:10px}.af-pmp__seg{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--ui-border-1);border-radius:999px;background:var(--ui-overlay-bg, rgba(0, 0, 0, .18));align-self:flex-start}.af-pmp__seg-btn{border:0;border-radius:999px;padding:5px 12px;background:transparent;color:var(--text-secondary);font:inherit;font-size:var(--font-size-sm);font-weight:600;cursor:pointer}.af-pmp__seg-btn:hover:not(:disabled){color:var(--text-primary)}.af-pmp__seg-btn.is-active{background:color-mix(in srgb,var(--accent) 22%,var(--ui-overlay-bg));color:var(--text-primary)}.af-pmp__seg-btn:disabled{opacity:.55;cursor:not-allowed}.af-pmp__hint{color:var(--text-muted);font-size:var(--font-size-sm)}:root{--z-drawer: 900;--z-connect-modal: 1000;--z-popover: 1100}.af-topbar{display:flex;align-items:center;gap:8px}.af-topbar__btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid var(--ui-border-1);border-radius:var(--radius-md);background:var(--ui-overlay-bg, rgba(0, 0, 0, .18));color:var(--text-secondary);cursor:pointer}.af-topbar__btn:hover{color:var(--text-primary);border-color:var(--ui-border-2)}.af-topbar__btn.is-active{color:var(--text-primary);background:color-mix(in srgb,var(--accent) 22%,var(--ui-overlay-bg));border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.af-topbar__pill{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:4px 12px;border:1px solid var(--ui-border-1);border-radius:999px;background:var(--ui-overlay-bg, rgba(0, 0, 0, .18));color:var(--text-primary);font:inherit;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;white-space:nowrap}.af-topbar__pill:hover:not(:disabled){border-color:var(--ui-border-2);filter:brightness(1.08)}.af-topbar__pill:disabled{opacity:.6;cursor:progress}.af-topbar__pill--disconnected{background:color-mix(in srgb,var(--accent) 22%,var(--ui-overlay-bg));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent)}.af-topbar__dot{width:8px;height:8px;border-radius:999px;flex:0 0 auto}.af-topbar__dot--connected{background:var(--success)}.af-topbar__dot--disconnected{background:var(--error)}.af-topbar__dot--loading{background:var(--warning)}.af-topbar__identity{font-size:var(--font-size-sm, 12px);color:var(--text-secondary);white-space:nowrap;max-width:24ch;overflow:hidden;text-overflow:ellipsis;padding:0 4px}.af-drawer{position:fixed;top:0;right:0;bottom:0;z-index:var(--z-drawer);display:flex;flex-direction:column;max-width:100vw;border-left:1px solid var(--ui-border-1);background:var(--bg-card, var(--bg-secondary));box-shadow:var(--ui-shadow-1);color:var(--text-primary);font-family:var(--font-sans)}@media(max-width:680px){.af-drawer{width:100vw!important}}.af-drawer__header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--ui-border-1)}.af-drawer__title{font-size:var(--font-size-base);font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.af-drawer__header-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.af-drawer__close{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:18px;line-height:1;cursor:pointer}.af-drawer__close:hover{color:var(--text-primary);background:var(--ui-overlay-bg-hover, rgba(255, 255, 255, .06))}.af-drawer__body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto;overscroll-behavior:contain}.af-appearance-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-popover);display:flex;align-items:center;justify-content:center;padding:16px;background:#00000073;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.af-appearance{display:flex;flex-direction:column;gap:12px;width:min(560px,100%);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;padding:18px;border-radius:var(--radius-lg);border:1px solid var(--ui-border-1);background:var(--bg-card, var(--bg-secondary));box-shadow:var(--ui-shadow-1);color:var(--text-primary);font-family:var(--font-sans)}.af-appearance__title{font-size:var(--font-size-lg);font-weight:700}.af-appearance__note{color:var(--text-muted);font-size:var(--font-size-sm)}.af-appearance__grid{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;align-items:center}@media(max-width:520px){.af-appearance__grid{grid-template-columns:minmax(0,1fr);gap:6px}}.af-appearance__label{color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.af-appearance__actions{display:flex;justify-content:flex-end}.af-appearance__close{border:0;border-radius:var(--radius-sm);min-height:34px;padding:7px 14px;background:var(--bg-tertiary);color:var(--text-primary);font:inherit;font-weight:700;cursor:pointer}.af-appearance__close:hover{filter:brightness(1.12)}.af-gateway-signin button,.af-select-trigger,.af-select-option,.af-steer__send,.af-critical__actions button,.af-chip--button,.af-disclosure__row,.af-disclosure__chevron,.af-tool-policy__seg-btn,.af-tool-policy__bulk button,.af-pmp__seg-btn,.af-topbar__btn,.af-topbar__pill,.af-drawer__close,.af-appearance__close{transition:background-color .12s ease,border-color .12s ease,color .12s ease,filter .12s ease}@media(prefers-reduced-motion:reduce){.af-gateway-signin button,.af-select-trigger,.af-select-option,.af-steer__send,.af-critical__actions button,.af-chip--button,.af-disclosure__row,.af-disclosure__chevron,.af-tool-policy__seg-btn,.af-tool-policy__bulk button,.af-pmp__seg-btn,.af-topbar__btn,.af-topbar__pill,.af-drawer__close,.af-appearance__close{transition:none}}.af-steer__send:hover:not(:disabled),.af-critical__actions button:hover:not(:disabled){filter:brightness(1.12)}.af-steer__send:active:not(:disabled),.af-critical__actions button:active:not(:disabled){filter:brightness(.94)}@media(pointer:coarse){.af-gateway-signin input:not([type=checkbox]),.af-select-search-input,.af-steer__input,.af-critical__phrase input,.af-tool-policy__filter input{font-size:max(var(--font-size-base),16px)}}.af-phase-radio{display:inline-flex;gap:4px;align-items:center}.af-phase-radio__btn{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-mono);font-size:calc(var(--font-size-base) - 2px);border-radius:999px;padding:3px 10px;cursor:pointer;position:relative;transition:filter .12s ease,border-color .12s ease,color .12s ease}.af-phase-radio__btn:hover:not(:disabled){filter:brightness(1.12)}.af-phase-radio__btn:disabled{cursor:not-allowed;opacity:.55}.af-phase-radio__btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.af-phase-radio__btn[data-phase=visit].af-phase-radio__btn--on{border-color:var(--entity-memory);color:var(--entity-memory);background:color-mix(in srgb,var(--entity-memory) 14%,var(--bg-card))}.af-phase-radio__btn[data-phase=work].af-phase-radio__btn--on{border-color:var(--entity-diary);color:var(--entity-diary);background:color-mix(in srgb,var(--entity-diary) 14%,var(--bg-card))}.af-phase-radio__btn[data-phase=personal].af-phase-radio__btn--on{border-color:var(--entity-identity);color:var(--entity-identity);background:color-mix(in srgb,var(--entity-identity) 16%,var(--bg-card))}.af-phase-radio__btn[data-phase=sleep].af-phase-radio__btn--on{border-color:var(--entity-standing);color:var(--entity-standing);background:color-mix(in srgb,var(--entity-standing) 14%,var(--bg-card))}.af-phase-radio__btn--armed:after{content:"";position:absolute;left:50%;transform:translate(-50%);bottom:2px;width:5px;height:2.5px;border-radius:2px;background:var(--entity-identity)}.af-phase-radio__btn--resting{filter:saturate(.6) brightness(.82)}.af-phase-radio__btn--suppressed{color:var(--text-muted);border-style:dashed}.af-phase-radio__btn--suppressed[data-phase=personal]{border-color:color-mix(in srgb,var(--entity-identity) 45%,var(--border))}.af-phase-radio__btn--suppressed[data-phase=visit]{border-color:color-mix(in srgb,var(--entity-memory) 45%,var(--border))}.af-phase-radio__btn--suppressed[data-phase=work]{border-color:color-mix(in srgb,var(--entity-diary) 45%,var(--border))}.af-phase-radio__btn--suppressed[data-phase=sleep]{border-color:color-mix(in srgb,var(--entity-standing) 45%,var(--border))}.af-phase-radio__btn--alarm{border-color:var(--danger);color:var(--danger);background:color-mix(in srgb,var(--danger) 16%,var(--bg-card));font-weight:700}.af-phase-radio__btn--busy{opacity:.7}.af-cognition-bloom{display:flex;gap:14px;align-items:flex-start}.af-cognition-bloom__canvas{flex:0 0 auto;border-radius:12px}.af-cognition-bloom__effort{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-secondary);min-width:168px}.af-cognition-bloom__effort-row{display:flex;justify-content:space-between;gap:12px;font-size:11.5px;color:var(--text-secondary)}.af-cognition-bloom__effort-label{text-transform:uppercase;letter-spacing:.04em;font-size:10px;color:var(--text-muted);align-self:center}.af-cognition-bloom__effort-value{font-family:var(--font-mono, ui-monospace, Menlo, monospace);color:var(--text-primary)}.af-cognition-bloom__effort-note{margin-top:6px;font-size:10px;color:var(--text-muted);max-width:200px}.af-conduct-gauge{display:flex;flex-direction:column;align-items:center;gap:4px}.af-conduct-gauge__canvas{border-radius:12px}.af-conduct-gauge__note{font-size:10px;color:var(--text-muted);max-width:200px;text-align:center}.af-memory-hint{display:inline-flex;align-items:center;gap:6px;max-width:100%}.af-memory-hint__btn{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border:1px solid var(--border-default);border-radius:999px;background:var(--bg-elevated);color:var(--text-primary);font:inherit;font-size:12px;cursor:pointer;max-width:100%}.af-memory-hint__btn:hover:not(:disabled){border-color:var(--accent)}.af-memory-hint__btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.af-memory-hint__btn:disabled{opacity:.6;cursor:default}.af-memory-hint--text{font-size:12px;color:var(--text-muted)}.af-memory-hint__dot{width:7px;height:7px;border-radius:50%;flex:none}.af-memory-hint__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.af-memory-hint__id,.af-memory-hint__cmd{font-family:ui-monospace,Menlo,monospace;font-size:10px;color:var(--text-muted)}.af-memory-hint__act{color:var(--accent);flex:none}.af-memory-hint__err{font-size:11px;color:var(--danger, #e05555)}.af-voice-settings{display:grid;gap:20px;color:var(--text-primary)}.af-voice-settings>p{color:var(--text-secondary);font-size:13px;line-height:1.6;margin:0}.af-voice-settings>label{display:grid;gap:8px;font-size:13px}.af-voice-settings select,.af-voice-settings textarea{border:1px solid var(--border-default);background:var(--bg-input, var(--bg-primary));color:var(--text-primary);border-radius:8px;padding:10px;font:inherit;min-width:0}.af-voice-settings>button{justify-self:start;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-default);border-radius:8px;padding:8px 12px;cursor:pointer}.af-pmp__reasoning{display:grid;gap:8px;margin-top:16px;font-size:13px}.pc-chat-content{min-width:0;max-width:100%}.pc-md{font-size:var(--font-size-md, 13px);line-height:1.45}.pc-md h1,.pc-md h2,.pc-md h3,.pc-md h4,.pc-md h5{margin:10px 0 6px;font-size:var(--font-size-base, 14px)}.pc-md code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:var(--font-size-sm, 12px);padding:1px 4px;border-radius:6px;background:var(--ui-code-bg, rgba(0, 0, 0, .18));border:1px solid var(--ui-code-border, rgba(255, 255, 255, .08))}.pc-md_pre{margin:10px 0;padding:10px 12px;border-radius:10px;background:var(--ui-code-block-bg, rgba(0, 0, 0, .25));border:1px solid var(--ui-code-block-border, rgba(255, 255, 255, .08));overflow-x:auto;max-width:100%}.pc-md_pre code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:var(--font-size-sm, 12px);white-space:pre;padding:0;border:none;background:transparent}.pc-md_ul{margin:8px 0;margin-inline-start:18px;padding:0}.pc-md_ol{margin:8px 0;margin-inline-start:22px;padding:0}.pc-md_ul .pc-md_ul,.pc-md_ul .pc-md_ol,.pc-md_ol .pc-md_ul,.pc-md_ol .pc-md_ol{margin-top:2px;margin-bottom:2px}.pc-md li{margin:2px 0}.pc-md_ol .pc-md_ol{list-style-type:lower-alpha}.pc-md_ol .pc-md_ol .pc-md_ol{list-style-type:lower-roman}.pc-md_ul .pc-md_ul{list-style-type:circle}.pc-md_ul .pc-md_ul .pc-md_ul{list-style-type:square}.pc-md_p{margin:8px 0}.pc-md_link{color:var(--info, #60a5fa);text-decoration:underline;text-underline-offset:2px}.pc-md_figure{margin:12px 0;display:grid;gap:6px}.pc-md_image_inline{display:grid;gap:5px;margin:8px 0}.pc-md_img{max-width:100%;max-height:22rem;object-fit:contain;border-radius:8px;border:1px solid var(--ui-border-1, rgba(255, 255, 255, .1));background:var(--ui-surface-1, rgba(0, 0, 0, .18))}.pc-md_figure figcaption,.pc-md_img_caption{color:var(--text-muted, rgba(255, 255, 255, .58));font-size:var(--font-size-xs, 11px);line-height:1.35}.pc-md_hr{border:none;border-top:1px solid var(--ui-border-1, rgba(255, 255, 255, .1));margin:12px 0}.pc-md_quote{margin:10px 0;padding:10px 12px;border-left:3px solid var(--info, rgba(96, 165, 250, .55));border-radius:10px;background:var(--ui-surface-1, rgba(0, 0, 0, .18))}.pc-md_table_wrap{margin:10px 0;overflow:auto;border-radius:10px;border:1px solid var(--ui-border-1, rgba(255, 255, 255, .1));background:var(--ui-surface-1, rgba(0, 0, 0, .18))}.pc-md_table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm, 12px);line-height:1.4}.pc-md_table th,.pc-md_table td{padding:8px 10px;border:1px solid var(--ui-border-1, rgba(255, 255, 255, .08));vertical-align:top;text-align:left}.pc-md_table th{font-weight:600;background:var(--ui-surface-2, rgba(255, 255, 255, .04))}.pc-md_hl{border-radius:6px;padding:0 3px;border:1px solid var(--warning-border, rgba(251, 191, 36, .3));background:var(--warning-subtle, rgba(251, 191, 36, .1));color:var(--warning, rgba(251, 191, 36, .98))}.pc-json-viewer{min-width:0;max-width:100%;overflow-x:hidden}.pc-json-viewer__toolbar{display:flex;justify-content:flex-end;gap:6px;margin-bottom:6px}.pc-btn{background:var(--ui-overlay-bg, rgba(255, 255, 255, .08));border:1px solid var(--ui-overlay-border, rgba(255, 255, 255, .12));color:var(--ui-chip-text, rgba(255, 255, 255, .92));border-radius:8px;padding:6px 10px;font-size:var(--font-size-sm, 12px);cursor:pointer}.pc-btn:hover{background:var(--ui-overlay-bg-hover, rgba(255, 255, 255, .12))}.pc-json-viewer__tree{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:var(--font-size-sm, 12px);line-height:1.35;overflow-x:hidden;overflow-y:visible;max-width:100%;min-width:0;padding:6px 0}.pc-json-viewer__line,.pc-json-viewer__summary{white-space:normal;overflow-wrap:anywhere;word-break:break-word;max-width:100%;min-width:0;box-sizing:border-box}.pc-json-viewer__summary{cursor:pointer;list-style:none}.pc-json-viewer__summary::-webkit-details-marker{display:none}.pc-json-viewer__caret{display:inline-block;width:14px;opacity:.75}.pc-json-viewer__punct{opacity:.7}.pc-json-token.key{color:var(--syntax-key, #9cdcfe)}.pc-json-token.string{color:var(--syntax-string, #ce9178)}.pc-json-string{display:inline-flex;align-items:flex-start;max-width:100%;min-width:0;vertical-align:top}.pc-json-string__toggle,.pc-json-string__preview{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:inherit;font:inherit;padding:0}.pc-json-string__toggle{flex:0 0 auto;width:14px;margin-right:2px;color:var(--text-muted, rgba(255, 255, 255, .55));cursor:pointer}.pc-json-string__preview{display:inline-grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;min-width:0;max-width:100%;cursor:pointer;text-align:left}.pc-json-string__preview_text{min-width:0;overflow:hidden;text-overflow:clip;white-space:nowrap}.pc-json-string__suffix{color:var(--text-muted, rgba(255, 255, 255, .55));margin-left:2px}.pc-json-string__value{min-width:0;max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.pc-json-token.number{color:var(--syntax-number, #b5cea8)}.pc-json-token.boolean{color:var(--syntax-keyword, #569cd6)}.pc-json-token.null{color:var(--text-muted, #808080)}.pc-composer{display:flex;flex-direction:column;gap:8px;width:100%}.pc-composer__textarea{width:100%;resize:none;min-height:0;border-radius:12px;padding:10px 12px;border:1px solid var(--ui-border-1, rgba(255, 255, 255, .1));background:var(--ui-surface-1, rgba(0, 0, 0, .18));color:var(--text-primary, rgba(255, 255, 255, .92));outline:none;font-family:var(--font-sans, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);font-size:var(--font-size-md, 13px);line-height:1.35}.pc-composer__textarea::placeholder{color:var(--text-muted, #666);opacity:1}.pc-composer__textarea:focus{border-color:var(--accent-border, rgba(96, 165, 250, .35));box-shadow:0 0 0 2px var(--accent-subtle, rgba(96, 165, 250, .12))}@media(pointer:coarse){.pc-composer__textarea{font-size:var(--font-size-lg, 16px)}}.pc-composer__row{display:flex;justify-content:space-between;align-items:center;gap:10px}.pc-composer__actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pc-assistant{display:flex;flex-direction:column;flex:1;min-height:0}.pc-assistant__thread{flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto;overscroll-behavior:contain;padding:12px;gap:10px}.pc-assistant__composer{border-top:1px solid var(--ui-border-1, rgba(255, 255, 255, .1));padding:10px 12px}.pc-assistant__empty{display:flex;flex-direction:column;gap:10px;padding:18px 8px}.pc-assistant__empty-text{color:var(--text-muted, #888);font-size:var(--font-size-sm, 12px);line-height:1.5}.pc-assistant__suggestions{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.pc-assistant__suggestion{border:1px solid var(--ui-border-1, rgba(255, 255, 255, .12));border-radius:999px;padding:5px 12px;background:var(--ui-overlay-bg, rgba(0, 0, 0, .16));color:var(--text-secondary, #aaa);font:inherit;font-size:var(--font-size-sm, 12px);cursor:pointer;text-align:left}.pc-assistant__suggestion:hover:not(:disabled){color:var(--text-primary, #eee);border-color:var(--ui-border-2, rgba(255, 255, 255, .2))}.pc-assistant__suggestion:disabled{opacity:.55;cursor:not-allowed}.pc-assistant__blocked{border:1px solid var(--warning-border, rgba(251, 191, 36, .3));border-radius:var(--radius-md, 8px);background:var(--warning-subtle, rgba(251, 191, 36, .1));color:var(--warning, #fbbf24);font-size:var(--font-size-sm, 12px);padding:8px 10px}.pc-workflow-chat{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;min-width:0;background:var(--ui-surface-0);color:var(--text-primary)}.pc-workflow-chat__header,.pc-workflow-chat__footer,.pc-workflow-chat__composer{padding:10px 12px}.pc-workflow-chat__header,.pc-workflow-chat__footer,.pc-workflow-chat__composer{border-color:var(--ui-border-1);border-style:solid;border-width:0}.pc-workflow-chat__header{border-bottom-width:1px}.pc-workflow-chat__footer,.pc-workflow-chat__composer{border-top-width:1px}.pc-workflow-chat__transcript{display:flex;flex:1 1 auto;flex-direction:column;gap:10px;min-height:0;padding:12px}.pc-workflow-chat__transcript>.pc-chat-thread{flex:1 1 auto;min-height:0}.pc-workflow-chat__blocked,.pc-workflow-chat__error,.pc-workflow-interaction{margin-top:10px;border:1px solid var(--ui-border-1);border-radius:var(--radius-md);background:var(--ui-surface-1)}.pc-workflow-chat__blocked{border-color:var(--warning-border);background:var(--warning-subtle);color:var(--warning);padding:9px 10px;font-size:var(--font-size-sm)}.pc-workflow-chat__error,.pc-workflow-interaction__error{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--error);font-size:var(--font-size-sm)}.pc-workflow-interaction__outcome{min-height:1.2em;color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.4;margin-top:8px}.pc-workflow-chat__error{margin:0 12px 10px;padding:8px 10px;border-color:var(--error-border);background:var(--error-subtle)}.pc-workflow-chat__error button,.pc-workflow-interaction__retry,.pc-workflow-chat__icon-button,.pc-workflow-chat__stop,.pc-workflow-interaction__deny{border:1px solid var(--ui-border-1);border-radius:var(--radius-sm);background:var(--ui-overlay-bg);color:var(--text-primary);cursor:pointer;font:inherit;font-size:var(--font-size-sm);padding:6px 9px}.pc-workflow-chat__icon-button,.pc-workflow-chat__stop{display:inline-flex;align-items:center;gap:5px}.pc-workflow-chat__stop,.pc-workflow-interaction__deny{border-color:var(--error-border);color:var(--error)}.pc-workflow-chat__stop-state{display:inline-flex;align-items:center;border:1px solid var(--ui-border-1);border-radius:var(--radius-sm);font-size:var(--font-size-sm);padding:6px 9px;color:var(--text-secondary, var(--text-primary))}.pc-workflow-chat__stop-state--forced{border-color:var(--error-border);color:var(--error)}.pc-composer{position:relative}.pc-workflow-chat__attachments{min-width:0}.pc-workflow-chat__dropzone{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px;border:1.5px dashed color-mix(in srgb,var(--accent) 45%,transparent);border-radius:inherit;background:color-mix(in srgb,var(--ui-surface-0, var(--bg-primary)) 94%,var(--accent));color:var(--text-secondary);pointer-events:none;animation:pc-dropzone-in .12s ease-out;transition:border-color .12s,background-color .12s,color .12s}.pc-workflow-chat__dropzone.is-over{border-color:var(--accent);background:color-mix(in srgb,var(--ui-surface-0, var(--bg-primary)) 88%,var(--accent));color:var(--text-primary)}.pc-workflow-chat__dropzone.is-disabled{border-color:var(--ui-border-2, var(--ui-border-1));background:color-mix(in srgb,var(--ui-surface-0, var(--bg-primary)) 92%,var(--text-primary));color:var(--text-muted)}.pc-workflow-chat__dropzone-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--accent-subtle);color:var(--accent);flex-shrink:0;transition:transform .12s}.pc-workflow-chat__dropzone.is-over .pc-workflow-chat__dropzone-icon{transform:translateY(-2px) scale(1.06)}.pc-workflow-chat__dropzone.is-disabled .pc-workflow-chat__dropzone-icon{background:var(--ui-overlay-bg);color:var(--text-muted)}.pc-workflow-chat__dropzone-text{display:flex;flex-direction:column;gap:2px;min-width:0}.pc-workflow-chat__dropzone-text strong{font-size:var(--font-size-md, 13px);font-weight:600;color:inherit}.pc-workflow-chat__dropzone-text span{font-size:var(--font-size-xs, 11px);color:var(--text-muted)}.pc-workflow-chat--drag-over .pc-workflow-chat__transcript{background:color-mix(in srgb,var(--accent) 3%,transparent);transition:background-color .12s}@keyframes pc-dropzone-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.pc-workflow-chat__dropzone,.pc-workflow-chat__dropzone-icon{animation:none;transition:none}}.pc-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.pc-workflow-chat__error button:hover:not(:disabled),.pc-workflow-interaction__retry:hover:not(:disabled),.pc-workflow-chat__icon-button:hover:not(:disabled),.pc-workflow-chat__stop:hover:not(:disabled),.pc-workflow-interaction__deny:hover:not(:disabled){background:var(--ui-overlay-bg-hover)}.pc-workflow-chat button:focus-visible,.pc-workflow-interaction button:focus-visible,.pc-workflow-interaction textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pc-workflow-chat button:disabled,.pc-workflow-interaction button:disabled,.pc-workflow-interaction textarea:disabled{cursor:not-allowed;opacity:.6}.pc-workflow-interaction{padding:12px}.pc-workflow-interaction__heading{display:flex;align-items:flex-start;gap:8px;color:var(--text-secondary)}.pc-workflow-interaction__heading h3{color:var(--text-primary);font-size:var(--font-size-md);line-height:1.3;margin:0}.pc-workflow-interaction__description,.pc-workflow-interaction__detail{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.45;margin-top:4px}.pc-workflow-interaction__allow-all{border:1px solid var(--accent-border);background:var(--accent-subtle);color:var(--text-primary);border-radius:var(--radius-sm);padding:6px 10px;cursor:pointer;font:600 var(--font-size-sm) var(--font-sans)}.pc-workflow-interaction__scope{margin:0;color:var(--text-secondary);font-size:var(--font-size-xs);line-height:1.5;max-width:70ch}.pc-workflow-interaction__outcome:empty{display:none}.pc-workflow-interaction__body{display:flex;flex-direction:column;gap:10px;margin-top:10px}.pc-workflow-interaction__prompt{color:var(--text-primary);line-height:1.45}.pc-workflow-interaction__choices,.pc-workflow-interaction__buttons,.pc-workflow-interaction__entry{display:flex;flex-wrap:wrap;gap:8px}.pc-workflow-interaction__choice{display:flex;flex:1 1 11rem;flex-direction:column;gap:3px;min-width:0;padding:8px 10px;text-align:left;border:1px solid var(--ui-border-1);border-radius:var(--radius-sm);background:var(--ui-overlay-bg);color:var(--text-primary);cursor:pointer;font:inherit}.pc-workflow-interaction__choice small{color:var(--text-muted);font-size:var(--font-size-sm)}.pc-workflow-interaction__choice:hover:not(:disabled){background:var(--ui-overlay-bg-hover)}.pc-workflow-interaction__entry{align-items:flex-end}.pc-workflow-interaction__entry>span{flex-basis:100%;color:var(--text-secondary);font-size:var(--font-size-sm)}.pc-workflow-interaction__entry textarea{flex:1 1 12rem;min-height:0;resize:vertical;border:1px solid var(--ui-border-1);border-radius:var(--radius-sm);background:var(--ui-surface-1);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--font-size-md);line-height:1.4;padding:8px 10px}.pc-workflow-interaction__error{margin-top:10px;border-color:var(--error-border);background:var(--error-subtle);padding:8px 10px}.pc-chat-thread{display:flex;flex-direction:column;gap:10px;min-width:0;max-width:100%;overflow:auto;overscroll-behavior:contain;padding-right:4px}.pc-chat-item{position:relative;border-radius:12px;border:1px solid var(--ui-border-1, rgba(255, 255, 255, .1));background:var(--ui-surface-1, rgba(0, 0, 0, .18));padding:12px 14px;max-width:min(92%,86ch)}.pc-chat-item--user{align-self:flex-end;background:var(--info-subtle, rgba(96, 165, 250, .1));border-color:var(--info-border, rgba(96, 165, 250, .3));border-bottom-right-radius:var(--radius-sm, 6px)}.pc-chat-item--assistant{align-self:flex-start;background:var(--accent-subtle, rgba(233, 69, 96, .1));border-color:var(--accent-border, rgba(233, 69, 96, .3));border-bottom-left-radius:var(--radius-sm, 6px)}.pc-chat-item--status{width:100%;max-width:100%;align-self:stretch;background:var(--ui-surface-2, rgba(255, 255, 255, .06));border-color:var(--ui-border-1, rgba(255, 255, 255, .1))}.pc-chat-item--warn{width:100%;max-width:100%;align-self:stretch;background:linear-gradient(135deg,var(--warning-subtle, rgba(243, 156, 18, .12)) 0%,rgba(0,0,0,.04) 100%);border-color:var(--warning-border, rgba(243, 156, 18, .3))}.pc-chat-item--error,.pc-chat-item--report_bug{width:100%;max-width:100%;align-self:stretch;background:linear-gradient(135deg,var(--error-subtle, rgba(231, 76, 60, .12)) 0%,rgba(0,0,0,.04) 100%);border-color:var(--error-border, rgba(231, 76, 60, .3))}.pc-chat-item--report_feature{width:100%;max-width:100%;align-self:stretch;background:linear-gradient(135deg,var(--success-subtle, rgba(39, 174, 96, .12)) 0%,rgba(0,0,0,.04) 100%);border-color:var(--success-border, rgba(39, 174, 96, .3))}.pc-chat-header{display:flex;align-items:center;gap:10px;margin-bottom:10px;min-width:0}.pc-chat-avatar{width:24px;height:24px;border-radius:999px;background:var(--ui-surface-2, rgba(255, 255, 255, .06));border:1px solid var(--ui-border-1, rgba(255, 255, 255, .1));color:var(--text-secondary, rgba(255, 255, 255, .7));display:flex;align-items:center;justify-content:center;flex:0 0 auto}.pc-chat-item--user .pc-chat-avatar{background:var(--info-subtle, rgba(96, 165, 250, .1));border-color:var(--info-border, rgba(96, 165, 250, .3));color:var(--info, rgba(96, 165, 250, .95))}.pc-chat-item--assistant .pc-chat-avatar{background:var(--accent-subtle, rgba(233, 69, 96, .1));border-color:var(--accent-border, rgba(233, 69, 96, .3));color:var(--accent, rgba(233, 69, 96, .95))}.pc-chat-item--warn .pc-chat-avatar,.pc-chat-item--report_bug .pc-chat-avatar{background:var(--warning-subtle, rgba(243, 156, 18, .12));border-color:var(--warning-border, rgba(243, 156, 18, .3));color:var(--warning, rgba(243, 156, 18, .95))}.pc-chat-item--error .pc-chat-avatar{background:var(--error-subtle, rgba(231, 76, 60, .12));border-color:var(--error-border, rgba(231, 76, 60, .3));color:var(--error, rgba(231, 76, 60, .95))}.pc-chat-item--report_feature .pc-chat-avatar{background:var(--success-subtle, rgba(39, 174, 96, .12));border-color:var(--success-border, rgba(39, 174, 96, .3));color:var(--success, rgba(39, 174, 96, .95))}.pc-chat-role{font-weight:650;font-size:var(--font-size-md, 13px);color:var(--text-primary, rgba(255, 255, 255, .92));min-width:0}.pc-chat-header-spacer{flex:1 1 auto;min-width:0}.pc-chat-time{font-size:var(--font-size-xs, 11px);color:var(--text-muted, rgba(255, 255, 255, .55));font-family:var(--font-mono, ui-monospace, monospace)}.pc-chat-header-actions{display:flex;align-items:center;gap:8px}@media(hover:hover){.pc-chat-header-actions{opacity:0;transition:opacity .12s ease}.pc-chat-item:hover .pc-chat-header-actions,.pc-chat-item:focus-within .pc-chat-header-actions{opacity:1}}.pc-tool-group{min-width:0;flex-shrink:0;margin:8px 0 12px;border:1px solid var(--ui-border-1);border-radius:10px;overflow:hidden;background:var(--ui-surface-1)}.pc-tool-group__heading{display:flex;align-items:center;gap:8px;padding:10px 12px;color:var(--text-secondary);font-size:11px;border-bottom:1px solid var(--ui-border-1)}.pc-tool-group__heading strong{color:var(--text-primary);font-weight:600}.pc-tool-group__heading>div{flex:1}.pc-tool-group__completed{color:var(--success)}.pc-tool-group__failed{color:var(--error)}.pc-tool-group__waiting{color:var(--warning)}.pc-tool-group__running{color:var(--accent)}.pc-tool-activity{--tool-state: var(--text-secondary);min-width:0;color:var(--text-primary);font-size:12px}.pc-tool-activity+.pc-tool-activity{border-top:1px solid var(--ui-border-1)}.pc-tool-activity--completed{--tool-state: var(--success)}.pc-tool-activity--failed{--tool-state: var(--error)}.pc-tool-activity--running{--tool-state: var(--accent)}.pc-tool-activity--waiting{--tool-state: var(--warning)}.pc-tool-activity__summary{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-height:42px;padding:8px 12px;box-sizing:border-box;list-style:none;cursor:pointer}.pc-tool-activity__summary::-webkit-details-marker{display:none}.pc-tool-activity__summary:hover{background:var(--ui-overlay-bg-hover)}.pc-tool-activity__summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.pc-tool-activity__summary strong{font-family:var(--font-mono);font-size:12px;font-weight:600}.pc-tool-activity__state-icon{display:inline-flex;color:var(--tool-state)}.pc-tool-activity__status{color:var(--tool-state);font-size:11px;font-weight:500}.pc-tool-activity__duration{font:11px var(--font-mono);color:var(--text-secondary);font-variant-numeric:tabular-nums}.pc-tool-activity__preview{min-width:60px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-secondary);font:12px var(--font-mono)}.pc-tool-activity__key{color:var(--text-secondary);opacity:.8;font:10px var(--font-sans);text-transform:uppercase;margin-right:7px}.pc-tool-activity__chevron{display:inline-flex;color:var(--text-secondary)}.pc-tool-activity[open] .pc-tool-activity__chevron{transform:rotate(90deg)}.pc-tool-activity__error{flex-basis:100%;padding-left:23px;color:var(--error);font-size:12px;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pc-tool-activity__detail{border-top:1px solid var(--ui-border-1);padding:12px 16px 16px 35px;background:var(--ui-surface-2, var(--ui-surface-1))}.pc-tool-activity__detail h4{margin:0 0 8px;font:600 11px var(--font-sans);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.pc-tool-activity__detail-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.pc-tool-activity__detail-heading button{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--text-secondary);font:11px var(--font-sans);cursor:pointer;padding:4px}.pc-tool-activity__parameters{display:grid;grid-template-columns:minmax(75px,auto) minmax(0,1fr);gap:6px 16px;margin:0 0 16px;font-size:12px}.pc-tool-activity__parameters dt{color:var(--text-secondary);font-family:var(--font-mono);overflow-wrap:anywhere}.pc-tool-activity__parameters dd{margin:0;min-width:0;max-height:240px;overflow:auto}.pc-tool-activity code,.pc-tool-activity pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.6 var(--font-mono)}.pc-tool-activity__output{margin:0;max-height:300px;overflow:auto}.pc-tool-activity--running .pc-tool-activity__state-icon{animation:pc-tool-spin 1.5s linear infinite}@keyframes pc-tool-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.pc-tool-activity--running .pc-tool-activity__state-icon{animation:none}}@media(max-width:600px){.pc-tool-activity__preview{flex-basis:calc(100% - 25px);order:6;margin-left:23px}.pc-tool-activity__status{margin-left:auto}.pc-tool-activity__error{order:7}.pc-tool-activity__parameters{grid-template-columns:1fr;gap:3px}.pc-tool-activity__parameters dd{margin-bottom:6px}.pc-tool-group__heading{flex-wrap:wrap}}.pc-chat-icon-btn{opacity:.75;transition:background .15s ease,color .15s ease,opacity .15s ease,transform .15s ease;width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:none;background:transparent;color:var(--text-secondary, rgba(255, 255, 255, .8));cursor:pointer}.pc-chat-icon-btn svg{display:block}.pc-chat-icon-btn:hover{opacity:1;background:var(--ui-overlay-bg-hover, rgba(255, 255, 255, .08));color:var(--text-primary, rgba(255, 255, 255, .92));transform:translateY(-.5px)}.pc-chat-icon-btn--copied{opacity:1;background:var(--success-subtle, rgba(39, 174, 96, .12));color:var(--success, rgba(39, 174, 96, .95))}.pc-chat-icon-btn--failed{opacity:1;background:var(--error-subtle, rgba(231, 76, 60, .12));color:var(--error, rgba(231, 76, 60, .95))}.pc-chat-body{font-size:var(--font-size-base, 14px);line-height:1.55;color:var(--text-primary, rgba(255, 255, 255, .92));min-width:0;overflow-wrap:anywhere}.pc-chat-attachments{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.pc-chat-attachment-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;border:1px solid var(--ui-border-1, rgba(255, 255, 255, .1));background:var(--ui-surface-2, rgba(255, 255, 255, .06));color:var(--text-secondary, rgba(255, 255, 255, .75));cursor:pointer;max-width:100%;transition:all .15s ease}.pc-chat-attachment-chip:hover:not(:disabled){border-color:var(--accent-border, rgba(233, 69, 96, .35));background:var(--accent-subtle, rgba(233, 69, 96, .1));color:var(--text-primary, rgba(255, 255, 255, .92))}.pc-chat-attachment-chip:disabled{opacity:.55;cursor:not-allowed}.pc-chat-attachment-name{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--font-size-sm, 12px)}.pc-chat-attachment-target{font-size:var(--font-size-xxs, 10px);font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:1px 6px;border-radius:999px;border:1px solid var(--ui-border-2, rgba(255, 255, 255, .14));background:var(--ui-pill-bg, rgba(148, 163, 184, .08));color:var(--text-secondary, rgba(255, 255, 255, .8));flex:0 0 auto}.pc-chat-attachment-target--server{border-color:var(--info-border, rgba(96, 165, 250, .3));background:var(--info-subtle, rgba(96, 165, 250, .1));color:var(--info, rgba(96, 165, 250, .95))}.pc-chat-attachment-target--client{border-color:var(--accent-border, rgba(233, 69, 96, .3));background:var(--accent-subtle, rgba(233, 69, 96, .1));color:var(--accent, rgba(233, 69, 96, .95))}.pc-chat-attachment-target--repo{border-color:var(--success-border, rgba(39, 174, 96, .3));background:var(--success-subtle, rgba(39, 174, 96, .1));color:var(--success, rgba(39, 174, 96, .95))}.pc-chat-stats{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px;font-size:var(--font-size-sm, 12px);color:var(--text-muted, rgba(255, 255, 255, .6))}.pc-chat-stat{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--ui-border-1, rgba(255, 255, 255, .1));background:var(--ui-surface-2, rgba(255, 255, 255, .06));color:var(--text-secondary, rgba(255, 255, 255, .8));cursor:default}.pc-chat-stat:disabled{opacity:1}.pc-chat-stat--clickable{cursor:pointer}.pc-chat-stat--clickable:hover{border-color:var(--ui-border-2, rgba(255, 255, 255, .14));background:var(--ui-overlay-bg-hover, rgba(255, 255, 255, .1));color:var(--text-primary, rgba(255, 255, 255, .92))}.pc-chat-stat-icon{opacity:.8}.pc-chat-stat-label{font-family:var(--font-mono, ui-monospace, monospace)}.pc-chat-stat--detail{cursor:help}.pc-chat-stat--detail:hover,.pc-chat-stat--detail:focus-visible{border-color:var(--ui-border-2, rgba(255, 255, 255, .14));color:var(--text-primary, rgba(255, 255, 255, .92));outline:none}.pc-stat-detail{z-index:10000;box-sizing:border-box;width:max-content;min-width:260px;max-width:min(440px,calc(100vw - 16px));max-height:calc(100vh - 16px);overflow:auto;padding:10px 12px;border-radius:10px;border:1px solid var(--ui-border-2, rgba(255, 255, 255, .14));background:var(--bg-secondary, #16213e);box-shadow:var(--ui-shadow-1, 0 10px 30px rgba(0, 0, 0, .35));color:var(--text-secondary, rgba(255, 255, 255, .8));font-family:var(--font-sans, system-ui, sans-serif);font-size:var(--font-size-sm, 12px);line-height:1.45;pointer-events:auto}.pc-stat-detail-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:6px;margin-bottom:4px;border-bottom:1px solid var(--ui-border-1, rgba(255, 255, 255, .1))}.pc-stat-detail-title{font-weight:600;color:var(--text-primary, rgba(255, 255, 255, .92))}.pc-stat-detail-headline{font-family:var(--font-mono, ui-monospace, monospace);color:var(--text-primary, rgba(255, 255, 255, .92))}.pc-stat-detail-section{padding-top:6px}.pc-stat-detail-heading{margin-bottom:2px;font-size:var(--font-size-xs, 11px);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted, rgba(255, 255, 255, .58))}.pc-stat-detail-rows{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:14px;row-gap:1px;margin:0}.pc-stat-detail-rows dt{color:var(--text-muted, rgba(255, 255, 255, .58))}.pc-stat-detail-rows dd{margin:0;display:flex;flex-wrap:wrap;column-gap:6px}.pc-stat-detail-value{font-family:var(--font-mono, ui-monospace, monospace);font-variant-numeric:tabular-nums;color:var(--text-primary, rgba(255, 255, 255, .92))}.pc-stat-detail-value--absent{font-family:inherit;font-style:italic;color:var(--text-muted, rgba(255, 255, 255, .58))}.pc-stat-detail-hint{font-size:var(--font-size-xs, 11px);color:var(--text-muted, rgba(255, 255, 255, .58))}.pc-stat-detail-table{width:100%;border-collapse:collapse;font-family:var(--font-mono, ui-monospace, monospace);font-variant-numeric:tabular-nums;font-size:var(--font-size-xs, 11px)}.pc-stat-detail-table th{font-family:var(--font-sans, system-ui, sans-serif);font-weight:500;text-align:right;color:var(--text-muted, rgba(255, 255, 255, .58));border-bottom:1px solid var(--ui-border-1, rgba(255, 255, 255, .1));padding:2px 0 2px 10px}.pc-stat-detail-table td{text-align:right;padding:1px 0 1px 10px;color:var(--text-primary, rgba(255, 255, 255, .92));white-space:nowrap}.pc-stat-detail-table th:first-child,.pc-stat-detail-table td:first-child{text-align:left;padding-left:0}.pc-stat-detail-note{margin:4px 0 0;font-size:var(--font-size-xs, 11px);color:var(--text-muted, rgba(255, 255, 255, .58))}.pc-stat-detail-foot{margin-top:8px;padding-top:6px;border-top:1px solid var(--ui-border-1, rgba(255, 255, 255, .1));font-size:var(--font-size-xs, 11px);color:var(--text-muted, rgba(255, 255, 255, .58))}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--text-primary);background-color:var(--bg-primary);overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}input,textarea,select{font-family:inherit;font-size:inherit;color:var(--text-primary);background:var(--ui-surface-3, var(--bg-primary));border:1px solid var(--ui-border-1, var(--bg-tertiary));border-radius:10px;padding:9px 10px;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle, rgba(233, 69, 96, .12))}input::placeholder,textarea::placeholder{color:var(--text-muted)}input:disabled{opacity:.6;cursor:not-allowed}input[type=checkbox],input[type=radio]{width:auto;padding:0;border-radius:0;border:none;background:transparent}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;border-radius:4px;padding:8px 12px;background:var(--bg-tertiary);color:var(--text-primary);transition:background .2s}button:hover:not(:disabled){background:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent)}button.primary:hover:not(:disabled){background:#ff6b81}.shell{display:flex;flex-direction:row;height:100vh;min-width:0}.shell_sidebar{flex:0 0 196px;display:flex;flex-direction:column;background:var(--bg-secondary);border-right:1px solid var(--bg-tertiary);min-height:0}.shell_brand{display:flex;align-items:center;gap:8px;padding:14px 14px 10px;min-width:0}.shell_brand_mark{font-size:var(--font-size-xl);line-height:1;color:var(--accent, #ff6b81)}.shell_brand_name{font-weight:700;letter-spacing:.3px;white-space:nowrap}.shell_nav{display:flex;flex-direction:column;gap:2px;padding:6px 8px;flex:1 1 auto;min-height:0;overflow-y:auto}.shell_nav_item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;text-align:left;font-size:var(--font-size-md);min-width:0}.shell_nav_item:hover{background:#94a3b81a;color:var(--text)}.shell_nav_item.active{background:#94a3b829;color:var(--text);font-weight:600}.shell_nav_icon{display:inline-flex;flex:0 0 auto}.shell_nav_label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell_main{flex:1 1 auto;display:flex;flex-direction:column;min-width:0;min-height:0}.shell_header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--bg-tertiary);background:var(--bg-secondary)}.shell_header_title{font-weight:700;font-size:var(--font-size-lg)}.shell_header_actions{display:flex;gap:8px;align-items:center}.shell_banner{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:8px 16px;font-size:var(--font-size-sm);color:var(--text-secondary);border-bottom:1px solid rgba(234,179,8,.25);background:#eab30814}.shell_banner.shell_banner_ok{border-bottom-color:#22c55e40;background:#22c55e14}.shell_content{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}@media(max-width:900px){.shell_sidebar{flex-basis:56px}.shell_brand_name,.shell_nav_label{display:none}.shell_nav_item{justify-content:center}}.board_page_root{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;padding:12px 16px 16px;gap:10px;overflow:hidden}.board_toolbar{flex:0 0 auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.board_search{flex:1 1 220px;min-width:180px;max-width:380px}.board_toolbar_spacer{flex:1 1 auto}.board_error{color:#ef4444e6;font-size:var(--font-size-sm)}.board_warn{color:#facc15;font-size:var(--font-size-sm)}.board_facets{flex:0 0 auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.board_facets_caption{font-size:var(--font-size-xs)}.board_facet{cursor:pointer;border:1px solid var(--border);background:#3b82f61a}.board_facet.active{border-color:#3b82f6b3;background:#3b82f640;color:var(--text)}.board_columns{flex:1 1 auto;display:flex;flex-wrap:wrap;gap:10px;min-height:0;overflow-x:hidden;overflow-y:auto;padding-bottom:4px;align-content:flex-start}.board_column{flex:1 1 200px;min-width:0;max-width:340px;display:flex;flex-direction:column;min-height:220px;max-height:100%;background:var(--bg-secondary);border:1px solid var(--bg-tertiary);border-radius:12px}.board_column_header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--bg-tertiary)}.board_column_title{font-weight:700;font-size:var(--font-size-md)}.board_column_in_review .board_column_title{color:#facc15}.board_column_failed .board_column_title{color:#f87171}.board_column_count{font-size:var(--font-size-xs);color:var(--text-secondary)}.board_column_body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:8px}.board_column_empty{text-align:center;padding:14px 0;font-size:var(--font-size-sm)}.board_card{border:1px solid var(--border);border-radius:10px;background:#00000024;padding:10px;cursor:pointer;display:flex;flex-direction:column;gap:8px}.board_card:hover{border-color:#94a3b880}.board_card.draggable{cursor:grab}.board_card.draggable:active{cursor:grabbing}.board_column.drag_over{outline:2px dashed rgba(59,130,246,.6);outline-offset:-2px}.board_card_title{display:flex;align-items:baseline;gap:6px;min-width:0}.board_card_title_text{font-weight:600;font-size:var(--font-size-md);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.board_ready_dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;align-self:center}.board_ready_dot.ok{background:#4ade80}.board_ready_dot.warn{background:#facc15}.board_card_chips{display:flex;flex-wrap:wrap;gap:4px}.board_prio_p0{color:#f87171;border-color:#ef444473;background:#ef444424}.board_prio_p1{color:#fb923c;border-color:#f9731673;background:#f973161f}.board_prio_p2{color:#60a5fa;border-color:#3b82f666;background:#3b82f61f}.board_prio_p3{color:var(--text-secondary)}.board_card_actions{display:flex;gap:6px;flex-wrap:wrap}.work_drawer{display:flex;flex-direction:column}.work_drawer_tabs{padding:0 14px;border-bottom:1px solid var(--bg-tertiary)}.work_drawer_body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:12px 14px}.work_meta_editor{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.work_meta_editor input{flex:1 1 220px;min-width:180px}.work_spec_editor{width:100%;min-height:320px;resize:vertical}.work_run_row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--bg-tertiary);font-size:var(--font-size-sm)}.work_dod_list{display:flex;flex-direction:column;gap:6px}.work_dod_item{display:flex;align-items:flex-start;gap:8px;font-size:var(--font-size-md);cursor:pointer}.work_dod_item input{margin-top:3px}.agents_grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.agent_avatar{flex:0 0 auto;width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#94a3b824;border:1px solid var(--border);font-size:var(--font-size-lg)}.agent_facts{font-size:var(--font-size-sm);display:flex;flex-direction:column;gap:4px;line-height:1.5;color:var(--text-primary)}.agent_facts .muted{color:var(--text-muted);margin-right:2px}.empty_note{font-size:var(--font-size-sm);color:var(--text-muted);line-height:1.55;padding:6px 4px;max-width:64ch}.callout{display:flex;gap:12px;border:1px solid var(--bg-tertiary);border-radius:12px;background:var(--bg-secondary);padding:14px 16px;max-width:780px}.callout.callout_warn{border-color:#facc1559;background:#facc150d}.callout_icon{flex:0 0 auto;color:var(--warning, #facc15);display:flex;align-items:flex-start;padding-top:2px}.callout_main{min-width:0;display:flex;flex-direction:column;gap:6px}.callout_title{font-weight:600;font-size:var(--font-size-md);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.callout_text{margin:0;font-size:var(--font-size-sm);line-height:1.55;color:var(--text-secondary)}.callout_text.muted{color:var(--text-muted)}.callout_actions{display:flex;gap:8px;margin-top:2px}.run_card{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;font:inherit;color:inherit;border:1px solid var(--border, var(--bg-tertiary));border-radius:10px;background:#00000024;padding:10px 12px;cursor:pointer;display:flex;flex-direction:column;gap:6px;min-width:0}.run_card:hover:not(:disabled){border-color:#94a3b880;background:#00000024}.run_card.selected{border-color:var(--info-border, rgba(96, 165, 250, .5));background:var(--info-subtle, rgba(96, 165, 250, .08))}.run_card.is_running{border-left:3px solid var(--info, #60a5fa)}.run_card_head{display:flex;align-items:center;gap:8px;min-width:0}.run_card_title{font-weight:600;font-size:var(--font-size-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto;min-width:0}.run_card_meta{display:flex;align-items:center;gap:8px;min-width:0}.run_card_time{font-size:var(--font-size-sm);color:var(--text-secondary);flex:1 1 auto}.run_card_id{font-size:var(--font-size-xs);color:var(--text-muted)}.fact_grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px 16px;font-size:var(--font-size-sm);margin:4px 0}.fact{display:flex;flex-direction:column;gap:1px;min-width:0}.fact_wide{grid-column:1 / -1}.fact_label{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.fact_value{color:var(--text-primary);overflow-wrap:anywhere}.fact_value.mono{font-size:var(--font-size-xs);color:var(--text-secondary)}.path_list{font-size:var(--font-size-xs);color:var(--text-secondary);display:flex;flex-direction:column;gap:3px;overflow-wrap:anywhere;margin:4px 0}.detail_prose{font-size:var(--font-size-sm);line-height:1.55;color:var(--text-secondary);margin-top:6px;max-width:80ch;overflow-wrap:anywhere}.detail_warn{color:var(--danger, rgb(248, 113, 113));font-size:var(--font-size-sm);line-height:1.5;margin-top:8px;max-width:72ch}.detail_hint{color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.5;margin-top:8px;max-width:72ch}.recent_list{display:flex;flex-direction:column}.recent_row{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;font:inherit;color:inherit;background:transparent;border:none;border-bottom:1px solid var(--bg-tertiary);padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:10px;min-width:0}.recent_row:last-child{border-bottom:none}.recent_row:hover:not(:disabled){background:var(--ui-overlay-bg-hover, rgba(255, 255, 255, .04))}.recent_row.selected{background:var(--info-subtle, rgba(96, 165, 250, .1))}.recent_row_name{font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto;min-width:0}.recent_row_time{font-size:var(--font-size-xs);color:var(--text-muted);flex:0 0 auto}.page{flex:1 1 auto;min-height:0;width:100%;display:flex;flex-direction:column;overflow:hidden}.page_pad{padding:12px 16px 16px;gap:10px}.page.page_scroll .page_inner.page_pad{padding:12px 16px 16px}.page_toolbar{flex:0 0 auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.page_toolbar_spacer{flex:1 1 auto}.page_error{color:#ef4444e6;font-size:var(--font-size-sm)}.page_hint{color:var(--text-secondary);font-size:var(--font-size-sm)}.pane{display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--bg-secondary);border:1px solid var(--bg-tertiary);border-radius:12px;overflow:hidden}.pane_header{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--bg-tertiary)}.pane_title{font-weight:700;font-size:var(--font-size-md)}.pane_count{font-size:var(--font-size-xs);color:var(--text-secondary)}.pane_subtitle{font-size:var(--font-size-xs);color:var(--text-muted, var(--text-secondary));font-style:italic}.pane_header_actions{margin-left:auto;display:flex;align-items:center;gap:6px}.pane_body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:10px 12px}.pane_body.pane_body_list{display:flex;flex-direction:column;gap:8px;padding:8px}.page_scroll .pane{flex:0 0 auto}.page_scroll .pane_body{flex:none;overflow:visible}.table_scroll{max-width:100%}.table_scroll .data_table th,.table_scroll .data_table td{white-space:normal;overflow-wrap:anywhere}.seg{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--bg-tertiary);background:var(--bg-secondary);border-radius:10px}.seg_btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:transparent;color:var(--text-secondary);border-radius:8px;padding:6px 12px;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:background .15s,color .15s}.seg_btn:hover:not(:disabled){background:var(--ui-overlay-bg-hover, rgba(255, 255, 255, .07));color:var(--text-primary);transform:none}.seg_btn.active{background:var(--ui-surface-2, rgba(255, 255, 255, .08));border-color:var(--ui-border-2, rgba(255, 255, 255, .16));color:var(--text-primary)}.seg.seg_scroll{max-width:100%;overflow-x:auto;scrollbar-width:none}.seg.seg_scroll::-webkit-scrollbar{display:none}.seg.seg_scroll .seg_btn{flex:0 0 auto}.pane.pane_pad_body{padding:12px 14px;overflow-y:auto}.entity_card{border:1px solid var(--border);border-radius:10px;background:#00000024;padding:12px 14px;display:flex;flex-direction:column;gap:8px;min-width:0}.entity_card_head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.entity_card_title{font-weight:600;font-size:var(--font-size-md);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity_card_sub{font-size:var(--font-size-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity_card_actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.exec_layout{flex:1 1 auto;min-height:0}.exec_side{display:flex;flex-direction:column;gap:10px;min-height:0;min-width:0}.exec_pane_active{flex:1.2 1 0}.exec_pane_recent{flex:1 1 0}.backlog_table_pane{flex:1 1 auto;min-height:0}.backlog_row{cursor:pointer}.backlog_table{table-layout:fixed;width:100%}.backlog_table th,.backlog_table td{overflow:hidden;text-overflow:ellipsis}.backlog_table .col_sel{width:30px}.backlog_table .col_id{width:46px}.backlog_table .col_type{width:88px}.backlog_table .col_package{width:132px}.backlog_table .col_priority{width:58px}.backlog_table .col_labels{width:190px}.backlog_table .col_actions{width:216px}.backlog_table .col_actions .btn{padding:4px 8px;font-size:var(--font-size-xs)}.backlog_table .col_actions .entity_card_actions{flex-wrap:nowrap}.backlog_table .col_labels .chip{max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}@media(max-width:1280px){.backlog_table .col_labels{display:none}}@media(max-width:1080px){.backlog_table .col_package{display:none}}.backlog_table_title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.backlog_table_sel{width:30px}.backlog_table_actions{text-align:right}.backlog_table_actions .entity_card_actions{justify-content:flex-end;flex-wrap:nowrap}.backlog_table_actions .btn{padding:4px 10px;font-size:var(--font-size-sm)}.team_layout{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:240px 1fr 30px;gap:10px}.team_layout.with_drawer{grid-template-columns:240px minmax(420px,1fr) 360px 30px}.team_layout.with_drawer.drawer_wide{grid-template-columns:240px minmax(380px,1fr) minmax(460px,560px) 30px}@media(max-width:1350px){.team_layout.with_drawer{grid-template-columns:minmax(380px,1fr) 340px 30px}.team_layout.with_drawer.drawer_wide{grid-template-columns:minmax(320px,1fr) minmax(440px,520px) 30px}.team_layout.with_drawer .team_channels_pane{display:none}}.team_drawer_rail{display:flex;flex-direction:column;gap:14px;align-items:stretch;justify-content:flex-start;padding-top:40px}.team_drawer_tab{writing-mode:vertical-rl;padding:18px 6px;border:1px solid var(--bg-tertiary);border-right:none;border-radius:0;clip-path:polygon(0 0,100% 9%,100% 91%,0 100%);background:var(--bg-secondary);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:600;letter-spacing:.06em;cursor:pointer;transition:background .15s ease,color .15s ease}.team_drawer_tab:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.team_drawer_tab.active{background:color-mix(in srgb,var(--accent, #3b82f6) 18%,var(--bg-secondary));color:var(--text-primary);border-color:color-mix(in srgb,var(--accent, #3b82f6) 45%,var(--bg-tertiary))}.team_drawer_tab:disabled{opacity:.45;cursor:default}.team_fs_crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:2px;padding:6px 10px;border-bottom:1px solid var(--bg-tertiary);font-size:var(--font-size-sm)}.team_fs_crumb{background:none;border:none;padding:2px 6px;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:var(--font-size-sm)}.team_fs_crumb:hover{background:var(--bg-tertiary);color:var(--text-primary)}.team_fs_crumb.active{color:var(--text-primary);font-weight:600}.team_fs_crumb_sep{color:var(--text-muted)}.team_fs_icon{flex:0 0 auto;display:inline-flex;color:var(--text-muted)}.team_fs_dir .team_fs_icon{color:var(--warning, #eab308)}.team_file_name_wrap{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}.team_channels_pane{min-height:0}.team_channel{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:transparent;color:inherit;font:inherit;text-align:left;padding:6px 8px;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:1px}.team_channel:hover:not(:disabled){background:#ffffff0a}.team_channel.selected{border-color:var(--info-border, rgba(96, 165, 250, .4));background:var(--info-subtle, rgba(96, 165, 250, .1))}.team_channel_line{display:flex;align-items:center;gap:6px;min-width:0}.team_channel_name{font-weight:500;font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.team_channel_name.has_unread{font-weight:700;color:var(--text-primary)}.team_channel.selected .team_channel_name{color:var(--text-primary)}.team_channel_badges{margin-left:auto;display:flex;gap:4px;flex:0 0 auto}.team_badge{font-size:max(10px,calc(var(--font-size-xs) * .9));cursor:pointer;font-weight:700;line-height:1;padding:3px 6px;border-radius:999px;font-family:var(--font-mono, monospace)}.team_badge.unread{background:#60a5fa33;color:var(--info, #60a5fa)}.team_badge.asks{background:#facc1529;color:var(--warning, #facc15)}.team_channel_meta{font-size:var(--font-size-xs);color:var(--text-muted)}.team_thread_pane{min-height:0;display:flex;flex-direction:column}.team_thread_header{flex-wrap:wrap}.team_filterbar{flex:0 0 auto;padding:6px 12px;border-bottom:1px solid var(--bg-tertiary);display:flex;align-items:center;gap:10px}.team_filterbar .seg{flex:0 1 auto;min-width:0}.team_filterbar_meta{flex:0 0 auto;margin-left:auto;font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap}.team_filter_count{display:inline-block;margin-left:5px;padding:0 5px;border-radius:999px;background:#ffffff14;color:var(--text-secondary);font-size:max(10px,calc(var(--font-size-xs) * .9));font-weight:700;line-height:1.5}.seg_btn[title*=vigilance i] .team_filter_count,.team_filter_count.tone_warn{background:#facc1526;color:var(--warning, #facc15)}.team_thread{display:flex;flex-direction:column;gap:4px;overflow-y:auto;padding:4px 12px 10px}.team_pane_title{font-size:var(--font-size-lg)}.team_day_divider{display:flex;align-items:center;gap:10px;margin:14px 0 6px;color:var(--text-secondary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em}.team_day_divider span{background:var(--bg-secondary);border:1px solid var(--bg-tertiary);padding:2px 10px;border-radius:999px;flex:0 0 auto}.team_day_divider:before,.team_day_divider:after{content:"";flex:1 1 auto;height:1px;background:var(--bg-tertiary)}.team_thread_group{border-bottom:1px solid var(--bg-tertiary);padding:6px 2px 8px}.team_thread_group>.team_row .team_row_body{color:var(--text-primary)}.team_thread_group .team_replies .team_row_body{color:var(--text-secondary)}.team_trail_bar{display:flex;gap:6px;padding:2px 0 2px 34px;flex-wrap:wrap}.team_summarize{border-color:#a78bfa59;color:#c4b5fd}.team_summarize:hover:not(:disabled){border-color:#a78bfa99}.team_summarize:disabled{opacity:.5;cursor:default}.team_thread_group:last-child{border-bottom:none}.team_orphan{font-size:var(--font-size-xs);color:var(--text-muted);padding-bottom:2px}.team_row{padding:3px 6px;border-radius:8px;cursor:pointer;display:flex;gap:8px;position:relative}.team_row:hover{background:var(--ui-overlay-bg-hover, rgba(255, 255, 255, .03))}.team_avatar{flex:0 0 auto;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:max(10px,calc(var(--font-size-xs) * .85));font-weight:700;margin-top:2px;-webkit-user-select:none;user-select:none}.team_row_main{flex:1 1 auto;min-width:0}.team_row_rail{position:absolute;top:-14px;right:8px;display:none;gap:4px;background:var(--bg-secondary);border:1px solid var(--bg-tertiary);border-radius:8px;padding:2px;z-index:2;box-shadow:0 2px 8px #00000059}.team_row:hover .team_row_rail,.team_row:focus-within .team_row_rail{display:flex}@media(pointer:coarse){.team_row_rail{display:flex;position:static;box-shadow:none;border:none;background:transparent;padding:0}}.team_vote_thumbs{display:inline-flex;align-items:center;gap:3px;margin-right:2px;border-right:1px solid var(--border-secondary);padding-right:5px}.team_row_rail .team_thumb:hover:not(:disabled){color:var(--text-primary)}.team_row_rail .btn,.team_row_rail .btn.btn_icon{height:26px;display:inline-flex;align-items:center;justify-content:center;padding:0 9px;font-size:var(--font-size-xs);border-radius:8px;box-shadow:0 1px 3px #0000004d}.team_row_rail .btn.team_thumb{min-width:26px;padding:0 6px;color:var(--text-tertiary)}.team_row_rail .team_thumb.up_on,.team_row_rail .team_thumb.up_on:hover:not(:disabled){color:var(--success, #22c55e);background:color-mix(in srgb,var(--success, #22c55e) 22%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--success, #22c55e) 55%,transparent),0 1px 3px #0000004d}.team_row_rail .team_thumb.down_on,.team_row_rail .team_thumb.down_on:hover:not(:disabled){color:var(--danger, #ef4444);background:color-mix(in srgb,var(--danger, #ef4444) 22%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--danger, #ef4444) 55%,transparent),0 1px 3px #0000004d}.team_row.own{background:#60a5fa08;box-shadow:inset 2px 0 0 var(--info, #60a5fa)}.team_row.hit{border-left:3px solid var(--warning, #facc15);padding-left:3px}.team_row.replying{outline:1px solid var(--info-border, rgba(96, 165, 250, .5));background:var(--info-subtle, rgba(96, 165, 250, .07))}.team_unread_dot{width:7px;height:7px;border-radius:999px;background:var(--info, #60a5fa);flex:0 0 auto;align-self:center}.team_chip_new{flex:0 0 auto;align-self:center;padding:1px 7px;border-radius:999px;font-size:max(9px,calc(var(--font-size-xs) * .85));font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--info, #60a5fa);background:color-mix(in srgb,var(--info, #60a5fa) 16%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--info, #60a5fa) 45%,transparent)}.team_chip_seen{flex:0 0 auto;align-self:center;padding:1px 7px;border-radius:999px;font-size:max(9px,calc(var(--font-size-xs) * .85));font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:help;color:var(--warning, #fbbf24);background:color-mix(in srgb,var(--warning, #fbbf24) 16%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--warning, #fbbf24) 45%,transparent)}.team_row.unread{background:color-mix(in srgb,var(--info, #60a5fa) 5%,transparent);box-shadow:inset 3px 0 color-mix(in srgb,var(--info, #60a5fa) 75%,transparent)}.team_row.own.unread{box-shadow:inset 3px 0 color-mix(in srgb,var(--info, #60a5fa) 75%,transparent)}.team_invite_row{display:flex;align-items:center;gap:6px;margin:2px 0 8px}.team_invite_select{flex:1 1 auto;min-width:0}.team_group_preview{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:5px 10px;border:1px dashed color-mix(in srgb,var(--accent, #3b82f6) 45%,transparent);border-radius:8px;background:color-mix(in srgb,var(--accent, #3b82f6) 7%,transparent);font-size:var(--font-size-xs);color:var(--text-secondary)}.team_group_label{text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:var(--accent, #3b82f6)}.team_group_name{color:var(--text-primary);font-weight:600}.team_group_invites{color:var(--text-secondary)}.team_row_actions{display:flex;gap:10px}.team_row_head{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;line-height:1.5}.team_row_sender{font-weight:700;font-size:var(--font-size-sm)}.team_row_meta{margin-left:auto;font-size:var(--font-size-xs);color:var(--text-muted);flex:0 0 auto}.team_row_title{font-weight:600;font-size:var(--font-size-md);line-height:1.4}.team_row_body{font-size:var(--font-size-sm);line-height:1.5;color:var(--text-secondary);overflow-wrap:anywhere;max-width:90ch}.team_row_body.clamp_root,.team_row_body.clamp_reply{position:relative;overflow:hidden}.team_row_body.clamp_root{max-height:11.5em}.team_row_body.clamp_reply{max-height:6.5em}.team_row_body.clamp_root:after,.team_row_body.clamp_reply:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.6em;background:linear-gradient(to bottom,transparent,var(--bg-secondary, var(--bg-primary)));pointer-events:none}.team_row_body>* :first-child,.team_row_body>:first-child{margin-top:0}.pc-md.md_doc{line-height:1.55}.md_doc>:last-child{margin-bottom:0}.md_doc h1,.md_doc h2,.md_doc h3,.md_doc h4,.md_doc h5{color:var(--text-primary);font-weight:700;line-height:1.3}.md_doc h1{font-size:var(--font-size-lg);margin:18px 0 8px}.md_doc h2{font-size:var(--font-size-base);margin:16px 0 6px;padding-bottom:4px;border-bottom:1px solid var(--bg-tertiary)}.md_doc h3{font-size:var(--font-size-base);font-weight:600;margin:14px 0 4px}.md_doc h4,.md_doc h5{font-size:var(--font-size-md);font-weight:600;margin:12px 0 4px}.md_doc p{margin:6px 0}.md_doc li{margin:4px 0}.md_doc .pc-md_ul,.md_doc .pc-md_ol{margin:6px 0;margin-inline-start:0;padding-inline-start:26px}.md_doc .pc-md_ul .pc-md_ul,.md_doc .pc-md_ul .pc-md_ol,.md_doc .pc-md_ol .pc-md_ul,.md_doc .pc-md_ol .pc-md_ol{margin-top:2px;margin-bottom:2px}.md_doc strong{color:var(--text-primary)}.md_doc :not(pre)>code{color:var(--text-primary)}.team_row_asks{display:flex;flex-direction:column;gap:2px;margin-top:3px}.team_ask{font-size:var(--font-size-xs);color:var(--warning, #facc15);background:#facc1512;border-left:2px solid rgba(250,204,21,.4);padding:2px 8px;border-radius:0 6px 6px 0}.team_replies{margin:2px 0 0 15px;padding-left:12px;border-left:2px solid var(--bg-tertiary);display:flex;flex-direction:column;gap:2px}.team_thread_tools{display:flex;gap:8px;padding-left:32px}.team_replies_more{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--bg-tertiary);background:#ffffff05;color:var(--text-secondary);cursor:pointer;font-size:var(--font-size-xs);padding:3px 10px;border-radius:999px;align-self:flex-start;margin:2px 0}.team_replies_more:hover:not(:disabled){border-color:#94a3b880;background:#ffffff05}.team_row_expand{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:2px 0 0;font-size:var(--font-size-xs);text-decoration:underline;text-align:left}.team_row_expand:hover:not(:disabled){color:var(--text-secondary)}.team_row_expand:disabled{cursor:default;opacity:.5;text-decoration:none}.team_summary{margin:4px 0 0 14px;border:1px solid rgba(167,139,250,.25);background:#a78bfa0f;border-radius:8px;padding:6px 10px;font-size:var(--font-size-sm)}.team_summary_head{display:flex;align-items:center;justify-content:space-between;font-size:var(--font-size-xs);color:var(--text-muted);margin-bottom:2px}.team_note{font-size:var(--font-size-sm)}.team_rail_degraded{padding:10px 12px;line-height:1.4}.team_row_rail .btn.team_speak_on{color:var(--accent, #79c7ff)}.team_speak_stop{color:var(--accent, #79c7ff);border-color:var(--accent, #79c7ff)}.settings_field{display:grid;gap:3px}.settings_field>select,.settings_field>input{min-width:0}.team_statusstrip{flex:0 0 auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:2px 0 8px}.team_cta{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--bg-tertiary);background:#facc150f;font-size:var(--font-size-sm)}.team_cta span{flex:1 1 auto}.team_nudge{font-size:var(--font-size-sm);color:var(--warning, #facc15);background:#facc1512;border:1px solid rgba(250,204,21,.3);border-radius:8px;padding:6px 10px;line-height:1.5}.team_nudge code{font-family:var(--font-mono, monospace);font-size:var(--font-size-xs)}.team_reply_target{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font:inherit;font-size:var(--font-size-sm);text-align:left;padding:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;flex:1 1 auto;min-width:0}.team_reply_target:hover{color:var(--text-primary);text-decoration:underline}.team_reply_ask_text{overflow-wrap:anywhere}.team_new_channel{display:flex;align-items:center;gap:6px;padding:6px 8px;border-bottom:1px solid var(--bg-tertiary);flex-wrap:wrap}.team_new_channel input[type=text],.team_new_channel input:not([type]){flex:1 1 120px;min-width:0}.team_new_channel label{display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs);color:var(--text-secondary);cursor:pointer}.team_rail_section{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:8px 8px 2px}.team_members{border-top:1px solid var(--bg-tertiary);padding-top:8px;display:flex;flex-direction:column;gap:4px}.team_member_row{display:flex;align-items:center;gap:8px;min-width:0}.team_member_row.team_member_invited{opacity:.65}.team_member_id{font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team_member_actions{margin-left:auto;display:flex;gap:10px;flex:0 0 auto}.team_chan_admin{border-top:1px solid var(--bg-tertiary);padding-top:8px;display:flex;gap:8px}.team_live_dot{color:var(--text-muted)}.team_live_dot.on{color:var(--success, rgb(74, 222, 128))}.team_compose_row{display:flex;align-items:stretch;gap:8px}.team_compose_control{flex:0 0 auto;height:auto;min-height:44px;padding:0 10px;font-size:var(--font-size-sm);border-radius:10px}.team_kind_select{width:74px}.team_dm_peer{width:170px;min-width:120px}.team_compose_text{flex:1 1 auto;min-width:0;min-height:44px;max-height:160px;resize:none;overflow-y:auto;padding:10px 12px;font:inherit;font-size:var(--font-size-sm);line-height:1.5;border-radius:10px}.team_compose_row .team_send{flex:0 0 auto;min-height:44px;padding:0 18px;align-self:stretch}.team_ask_title{width:100%;margin-bottom:0}.team_ai_pane{min-height:0;display:flex;flex-direction:column}.team_ai_thread{display:flex;flex-direction:column;gap:8px}.team_ai_turn{border-radius:8px;padding:6px 10px;font-size:var(--font-size-sm)}.team_ai_turn.user{background:var(--info-subtle, rgba(96, 165, 250, .08))}.team_ai_turn.assistant{background:var(--bg-tertiary)}.team_ai_role{font-size:var(--font-size-xs);color:var(--text-muted);margin-bottom:2px}.team_composer{flex:0 0 auto;border-top:1px solid var(--bg-tertiary);padding:10px 12px;display:flex;flex-direction:column;gap:6px}.team_page{position:relative}.team_drop_overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;background:#3b82f614;outline:2px dashed var(--accent, #3b82f6);outline-offset:-6px;border-radius:10px;pointer-events:none}.team_drop_overlay_card{padding:12px 22px;border-radius:10px;background:var(--bg-secondary, rgba(15, 23, 42, .92));border:1px solid var(--accent, #3b82f6);color:var(--text-primary);font-size:var(--font-size-md);font-weight:600;box-shadow:0 8px 30px #00000059}.team_composer_meta{display:flex;gap:6px}.team_composer_meta input{flex:1 1 auto}.team_composer_meta select{flex:0 0 auto}.team_reply_banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:var(--font-size-sm);color:var(--text-secondary);background:var(--info-subtle, rgba(96, 165, 250, .08));border:1px solid var(--info-border, rgba(96, 165, 250, .3));border-radius:8px;padding:6px 10px}.team_reply_banner code{font-family:var(--font-mono, monospace);font-size:var(--font-size-xs)}.team_reply_asks{display:flex;gap:10px;flex-wrap:wrap}.team_reply_asks label{display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs);cursor:pointer}.team_info{flex:0 0 auto;border-bottom:1px solid var(--bg-tertiary);padding:10px 12px;display:flex;flex-direction:column;gap:8px;max-height:40%;overflow-y:auto;background:var(--bg-secondary);font-size:var(--font-size-sm)}.team_info_row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.team_info_purpose{color:var(--text-secondary)}.team_info_charter{border-top:1px solid var(--bg-tertiary);padding-top:8px}@media(max-width:900px){.team_layout,.team_layout.with_drawer{grid-template-columns:1fr 30px}.team_layout.with_drawer .team_thread_pane{display:none}.team_channels_pane{max-height:200px}}.board_card.gate{border-color:#facc1566;background:#facc150d;cursor:pointer}.board_card.gate:hover{border-color:#facc1599}.setup_callout{max-width:720px}.posture_table td{vertical-align:middle}.admin_row{padding:10px 0;border-bottom:1px solid var(--bg-tertiary)}.admin_row:last-child{border-bottom:none}.admin_row_top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin_row_name{font-weight:600;font-size:var(--font-size-md);min-width:140px}.admin_row_action{margin-left:auto;display:flex;align-items:center;gap:6px;flex:0 0 auto}.admin_row_detail{margin-top:3px;font-size:var(--font-size-sm);color:var(--text-muted);line-height:1.5;overflow-wrap:anywhere}.admin_row_detail code{font-family:var(--font-mono, monospace);font-size:var(--font-size-xs);background:var(--bg-tertiary);padding:1px 5px;border-radius:4px}.setup_callout_pre{margin:10px 0;padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#00000038;white-space:pre-wrap;font-size:var(--font-size-sm)}.stat_strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;flex:0 0 auto}.stat_card{background:var(--bg-secondary);border:1px solid var(--bg-tertiary);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:3px;min-width:0;position:relative;overflow:hidden}.stat_card.tone_ok,.stat_card.tone_warn,.stat_card.tone_info,.stat_card.tone_danger{border-left-width:3px}.stat_card.tone_ok{border-left-color:var(--success, rgb(74, 222, 128));background:linear-gradient(to right,color-mix(in srgb,var(--success, rgb(74, 222, 128)) 7%,transparent),transparent 55%),var(--bg-secondary)}.stat_card.tone_warn{border-left-color:var(--warning, rgb(250, 204, 21));background:linear-gradient(to right,color-mix(in srgb,var(--warning, rgb(250, 204, 21)) 7%,transparent),transparent 55%),var(--bg-secondary)}.stat_card.tone_info{border-left-color:var(--info, rgb(96, 165, 250));background:linear-gradient(to right,color-mix(in srgb,var(--info, rgb(96, 165, 250)) 8%,transparent),transparent 55%),var(--bg-secondary)}.stat_card.tone_danger{border-left-color:var(--danger, rgb(248, 113, 113));background:linear-gradient(to right,color-mix(in srgb,var(--danger, rgb(248, 113, 113)) 8%,transparent),transparent 55%),var(--bg-secondary)}.stat_value{font-size:var(--font-size-xl);font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.stat_label{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.stat_card.tone_ok .stat_value{color:var(--success, rgb(74, 222, 128))}.stat_card.tone_warn .stat_value{color:var(--warning, rgb(250, 204, 21))}.stat_card.tone_info .stat_value{color:var(--info, rgb(96, 165, 250))}.stat_card.tone_danger .stat_value{color:var(--danger, rgb(248, 113, 113))}.data_table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.data_table th{text-align:left;font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);padding:8px 10px;border-bottom:1px solid var(--bg-tertiary);white-space:nowrap}.data_table td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.04);white-space:nowrap}.data_table td.td_prose{white-space:normal;overflow-wrap:anywhere;line-height:1.5}.cap_rows{display:flex;flex-direction:column}.cap_row{padding:10px 0;border-bottom:1px solid var(--bg-tertiary)}.cap_row:last-child{border-bottom:none}.cap_row_head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cap_row_name{font-weight:600;font-size:var(--font-size-md)}.cap_row_action{margin-left:auto}.cap_row_detail{margin-top:3px;font-size:var(--font-size-sm);color:var(--text-muted);line-height:1.55;max-width:90ch}.table_scroll .track_table th,.table_scroll .track_table td,.track_table th,.track_table td{white-space:nowrap}.table_scroll .track_table .td_agent,.track_table .td_agent{white-space:normal;overflow-wrap:break-word;max-width:220px;font-size:var(--font-size-xs)}.track_table .td_time{font-size:var(--font-size-xs);color:var(--text-secondary)}@media(max-width:1200px){.track_table .col_aux2{display:none}}@media(max-width:980px){.track_table .col_aux{display:none}}.data_table tbody tr:hover{background:var(--ui-overlay-bg-hover, rgba(255, 255, 255, .04))}.data_table tbody tr:last-child td{border-bottom:none}.page.page_scroll{overflow-y:auto;overflow-x:hidden}.page_inner{width:100%;min-height:0;display:flex;flex-direction:column;gap:10px}.constrained{width:100%;max-width:980px;margin:0 auto}.inbox_layout{flex:1 1 auto;min-height:0;width:100%;display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:12px}.backlog_count,.backlog_batch_details{flex:0 0 auto}.inbox_list{flex:1 1 auto;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:8px;padding-right:2px}.inbox_item{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;border-radius:12px;border:1px solid var(--ui-border-1, rgba(255, 255, 255, .1));background:var(--ui-surface-1, rgba(0, 0, 0, .16));padding:10px;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}.inbox_item:hover:not(:disabled){border-color:var(--ui-border-2, rgba(255, 255, 255, .18));background:var(--ui-surface-2, rgba(255, 255, 255, .06));transform:translateY(-1px);box-shadow:0 12px 28px #0000002e}.inbox_item.active{border-color:var(--info-border, rgba(96, 165, 250, .32));background:var(--info-subtle, rgba(96, 165, 250, .12));box-shadow:0 12px 28px #0003}.inbox_item_title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--font-size-md);line-height:1.2}.item_title_text{font-weight:700;color:var(--text-primary);font-family:var(--font-sans);letter-spacing:.1px}.item_summary_text{margin-top:6px;font-size:var(--font-size-sm);line-height:1.35;color:var(--text-secondary);overflow:hidden;max-height:calc(1.35em * 3)}.item_summary_text .pc-md{font-size:inherit;line-height:inherit}.item_summary_text .pc-md_p,.item_summary_text .pc-md_ul,.item_summary_text .pc-md_ol{margin:0}.item_summary_text .pc-md_ul,.item_summary_text .pc-md_ol{margin-left:16px}.inbox_item_meta{margin-top:6px;font-size:var(--font-size-xs);line-height:1.3;word-break:break-word}.exec_log_scroll{margin-top:8px;max-height:320px;overflow:auto;padding-bottom:calc(18px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:8px}.exec_event{border:1px solid rgba(255,255,255,.06);border-left:2px solid rgba(96,165,250,.18);border-radius:10px;background:#0000001a}.exec_event.ok{border-left-color:var(--success-border, rgba(34, 197, 94, .32));background:#22c55e0f}.exec_event.error{border-left-color:var(--error-border, rgba(239, 68, 68, .32));background:#ef44440f}.exec_event_summary{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;padding:8px 10px;cursor:pointer;list-style:none}.exec_event_summary:hover{background:#ffffff0a}.exec_event_summary::-webkit-details-marker{display:none}.exec_event_summary::marker{content:""}.exec_event_main{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm)}.exec_event_right{font-size:var(--font-size-xs)}.exec_event_body{padding:0 10px 10px}.exec_event_meta{align-items:center;gap:8px}.pane .pc-md :not(pre)>code{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.inbox_detail{display:flex;flex-direction:column;gap:10px;min-height:0}.inbox_detail_header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.inbox_detail_title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.inbox_detail_actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.inbox_list_ul{margin:0;padding-left:18px;font-size:var(--font-size-xs);line-height:1.5}.inbox_markdown{border-top:1px solid rgba(148,163,184,.15);padding-top:10px}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:2px 8px;border:1px solid var(--muted-border, rgba(148, 163, 184, .22));background:var(--ui-chip-bg, rgba(148, 163, 184, .1));color:var(--ui-chip-text, rgba(226, 232, 240, .92));font-size:var(--font-size-xxs);font-weight:700;letter-spacing:.2px;text-transform:lowercase;line-height:1.1}.pill.pending{border-color:var(--warning-border, rgba(245, 158, 11, .35));background:var(--warning-subtle, rgba(245, 158, 11, .12));color:var(--warning, rgba(245, 158, 11, .96))}.pill.approved{border-color:var(--success-border, rgba(34, 197, 94, .35));background:var(--success-subtle, rgba(34, 197, 94, .12));color:var(--success, rgba(34, 197, 94, .96))}.pill.rejected{border-color:var(--error-border, rgba(239, 68, 68, .35));background:var(--error-subtle, rgba(239, 68, 68, .12));color:var(--error, rgba(239, 68, 68, .96))}.pill.deferred{border-color:var(--info-border, rgba(96, 165, 250, .35));background:var(--info-subtle, rgba(96, 165, 250, .12));color:var(--info, rgba(96, 165, 250, .96))}.pill.unparsed{border-color:var(--muted-border, rgba(148, 163, 184, .28));background:#94a3b81a;color:#94a3b8f2}.row{display:flex;gap:12px;flex-wrap:wrap}.col{flex:1 1 320px;min-width:280px}.field{display:flex;flex-direction:column;gap:2px;margin:4px 0}.section_title{margin-top:2px;margin-bottom:2px;font-size:var(--font-size-sm);font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.section_divider{height:1px;background:#ffffff0f;margin:6px 0}.field label{font-size:var(--font-size-xxs);color:var(--muted)}.field input:not([type=checkbox]):not([type=radio]),.field textarea,.field select{width:100%}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent)}.field input[type=checkbox],.field input[type=radio]{width:auto;padding:0;border-radius:0;border:none;background:transparent}.field textarea{resize:vertical;min-height:86px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.btn{padding:8px 12px;border-radius:10px;border:1px solid var(--ui-overlay-border, rgba(255, 255, 255, .14));background:var(--ui-overlay-bg, rgba(0, 0, 0, .18));color:var(--text-primary);cursor:pointer;font-size:var(--font-size-md);transition:background .15s,border-color .15s,transform .15s}.btn:hover:not(:disabled){background:var(--ui-overlay-bg-hover, rgba(255, 255, 255, .08));border-color:var(--ui-border-2, rgba(255, 255, 255, .18));transform:translateY(-1px)}.btn.btn_icon{display:inline-flex;align-items:center;gap:8px;padding:8px 10px}.btn.btn_icon svg{flex:0 0 auto}.btn.btn_icon.is_loading svg{animation:btn_icon_spin .9s linear infinite}@keyframes btn_icon_spin{to{transform:rotate(360deg)}}.btn.primary{background:var(--accent);color:var(--text-primary);border-color:var(--accent-border, rgba(233, 69, 96, .35))}.btn.primary:hover:not(:disabled){background:#ff6b81;border-color:#e945608c}.btn.danger{background:var(--error-subtle, rgba(239, 68, 68, .12));color:var(--error);border-color:var(--error-border, rgba(239, 68, 68, .35))}.btn.danger:hover:not(:disabled){background:#ef44442e;border-color:#ef44448c}.btn:disabled{opacity:.5;cursor:not-allowed}.mono{font-family:var(--font-mono)}.muted{color:var(--text-muted)}.multi_select{display:flex;flex-direction:column;gap:10px}.multi_select_row{display:flex;gap:10px;align-items:center}.multi_select_row>.btn:first-child{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis}.multi_select_panel{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--border);border-radius:12px;background:#0f172a8c}.multi_select_list{overflow:auto;display:flex;flex-direction:column;gap:6px}.multi_select_item{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:10px;border:1px solid rgba(255,255,255,.04);background:#11182759;cursor:pointer;-webkit-user-select:none;user-select:none}.multi_select_item.checked{border-color:#60a5fa3d;background:#60a5fa14}.multi_select_chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.multi_select_chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;background:#60a5fa1a;border:1px solid rgba(96,165,250,.22);color:#60a5faf2;font-family:var(--font-mono);font-size:var(--font-size-xxs);font-weight:500;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.multi_select_chip:hover{background:#60a5fa2e;border-color:#60a5fa59}.multi_select_chip_x{font-size:calc(11px * var(--font-scale));line-height:1;opacity:.6;margin-left:2px}.multi_select_chip:hover .multi_select_chip_x{opacity:1}.chip{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:999px;border:1px solid var(--ui-chip-border, var(--border-default));background:var(--ui-chip-bg, rgba(0, 0, 0, .22));color:var(--ui-chip-text, var(--text-primary));font-size:var(--font-size-xxs);font-weight:600}.chip.backlog_path_chip{gap:6px}.chip_icon_btn{width:18px;height:18px;padding:0;border:none;border-radius:999px;background:transparent;color:inherit;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:.85;transition:opacity .15s,transform .15s}.chip_icon_btn:hover:not(:disabled){opacity:1;transform:translateY(-.5px)}.chip_icon_btn:disabled{cursor:default;opacity:.55}.chip_icon_btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chip.muted{color:var(--text-muted)}.chip.danger{border-color:var(--error-border, rgba(239, 68, 68, .35));background:var(--error-subtle, rgba(239, 68, 68, .12));color:var(--error)}.chip.ok{border-color:var(--success-border, rgba(34, 197, 94, .35));background:var(--success-subtle, rgba(34, 197, 94, .12));color:var(--success)}.chip.warn{border-color:var(--warning-border, rgba(245, 158, 11, .35));background:var(--warning-subtle, rgba(245, 158, 11, .12));color:var(--warning)}.chip.task{border-color:#facc1559;background:#facc151f;color:#facc15f5}.chip.info{border-color:var(--info-border, rgba(96, 165, 250, .35));background:var(--info-subtle, rgba(96, 165, 250, .12));color:var(--info)}.tab_bar{display:flex;gap:4px;align-items:center;padding-bottom:6px;border-bottom:1px solid var(--bg-tertiary)}.backlog_chat_thread_small{max-height:220px}.drawer_chat_thread{flex:1 1 auto;min-height:0;width:100%;max-width:100%}.backlog_edit_sticky{position:sticky;bottom:0;z-index:20;margin-top:10px;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#0000002e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--ui-overlay-border, rgba(255, 255, 255, .14));background:var(--ui-overlay-bg, rgba(0, 0, 0, .18));color:var(--text-secondary);border-radius:999px;padding:6px 12px;cursor:pointer;font-size:var(--font-size-sm);font-weight:600;transition:background .15s,border-color .15s,transform .15s}.tab:hover{background:var(--ui-overlay-bg-hover, rgba(255, 255, 255, .08));color:var(--text-primary);transform:translateY(-1px)}.tab.active{color:var(--text-primary);background:var(--accent);border-color:var(--accent-border, rgba(233, 69, 96, .35));font-weight:600}.modal_backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;justify-content:center;align-items:flex-start;padding:40px 16px;z-index:2000}.modal_backdrop.fullscreen{padding:0;align-items:stretch}.modal_panel{width:min(820px,100%);max-height:calc(100vh - 80px);overflow:auto;border-radius:16px;border:1px solid var(--border);background:var(--bg-card, rgba(15, 23, 42, .92));box-shadow:0 22px 60px #00000073}.modal_panel.fullscreen{width:100%;height:100vh;max-height:100vh;border-radius:0;display:flex;flex-direction:column;overflow:hidden}.modal_header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--bg-card, rgba(15, 23, 42, .92));border-bottom:1px solid var(--ui-border-1, rgba(148, 163, 184, .15))}.modal_title{font-size:var(--font-size-base);font-weight:700}.modal_body{padding:14px}.modal_panel.fullscreen .modal_body{flex:1 1 auto;overflow:hidden}.modal_footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:10px;padding:12px 14px;background:var(--bg-card, rgba(15, 23, 42, .92));border-top:1px solid var(--ui-border-1, rgba(148, 163, 184, .15))}.advisor_toggle{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:1400;border:1px solid var(--border);border-right:none;background:#00000038;color:var(--text);padding:10px;border-radius:12px 0 0 12px;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 18px 44px #00000059}.advisor_toggle:hover{background:#0000004d}.advisor_toggle.open{border-color:var(--border-accent);background:#60a5fa1a}.advisor_toggle_label{display:inline-block;writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.4px}.drawer_backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;justify-content:flex-end;align-items:stretch;z-index:2001}.drawer_panel{width:clamp(560px,42vw,760px);max-width:92vw;height:100%;border-left:1px solid var(--border);background:var(--bg-card, rgba(15, 23, 42, .92));box-shadow:-18px 0 48px #00000073;display:flex;flex-direction:column}.drawer_header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--ui-border-1, rgba(148, 163, 184, .15))}.drawer_title{font-size:var(--font-size-base);font-weight:800}.drawer_body{padding:12px 12px 14px;display:flex;flex-direction:column;gap:10px;flex:1 1 auto;min-height:0}.drawer_footer{padding-top:6px;border-top:1px solid rgba(255,255,255,.06)}@media(pointer:coarse){.drawer_panel textarea{font-size:var(--font-size-lg)}}@media(max-width:700px){.advisor_toggle{top:50%;bottom:auto;right:env(safe-area-inset-right,0px);transform:translateY(-50%);border-right:none;border-radius:12px 0 0 12px;padding:12px 10px}.advisor_toggle_label{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg)}.drawer_panel{width:100%;border-left:none}}@media(max-width:900px){.inbox_layout{grid-template-columns:1fr}@media(pointer:coarse){.field input,.field textarea,.field select{font-size:var(--font-size-lg)}}}@media(max-width:1180px){.team_filterbar .seg.seg_scroll{flex-wrap:wrap;overflow-x:visible}}.team_members_chip{cursor:pointer;border:1px solid var(--border-secondary);background:transparent}.team_members_chip:hover{border-color:var(--accent)}.team_row_expand.team_danger{color:var(--danger, rgb(248, 113, 113));font-weight:600}.team_dm_row{position:relative}.team_dm_trash{display:none;align-items:center;justify-content:center;padding:2px;margin-left:4px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:4px}.team_dm_row:hover .team_dm_trash,.team_dm_trash:focus-visible,.team_dm_trash.arming{display:inline-flex}.team_dm_trash:hover:not(:disabled),.team_dm_trash.arming{color:var(--danger, rgb(248, 113, 113));background:var(--bg-tertiary)}.team_attach_pending{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.team_attach_chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border:1px solid var(--border-secondary);border-radius:999px;background:var(--bg-tertiary);font-size:var(--font-size-xs);color:var(--text-secondary);text-decoration:none;max-width:260px}.team_attach_chip .team_attach_name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.team_attach_open{display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;min-width:0}.team_attach_open:hover .team_attach_name{text-decoration:underline}.team_fs_chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.team_fs_chip{cursor:pointer;max-width:420px}.team_fs_chip:hover{border-color:var(--accent, #3b82f6);color:var(--text-primary)}.team_work_chip .team_work_glyph{color:var(--accent, #3b82f6)}.team_row.retracted{opacity:.45}.team_row.retracted .team_row_body{font-style:italic}.team_thumb .team_thumb_count{font-size:max(9px,calc(var(--font-size-xs) * .8));margin-left:3px;font-variant-numeric:tabular-nums}.team_reaction_tally{font-size:max(9px,calc(var(--font-size-xs) * .85));color:var(--text-tertiary);white-space:nowrap}.team_reaction_tally.pos{color:var(--ok, #4ade80)}.team_reaction_tally.neg{color:var(--danger, #f87171)}.entity_skills_panel{margin-top:12px;padding:12px;border:1px solid var(--border-primary);border-radius:10px;background:var(--bg-secondary);display:flex;flex-direction:column;gap:10px}.entity_skills_head{display:flex;align-items:center;gap:10px}.entity_skills_resolved{display:flex;flex-wrap:wrap;gap:6px}.entity_skills_actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.modal_panel:has(.team_fileview_md),.modal_panel:has(.team_fileview_text){width:min(1020px,100%)}.team_fileview_md,.team_fileview_text{max-height:76vh}a.team_attach_dl:hover{border-color:var(--accent)}.team_attach_x{display:inline-flex;align-items:center;border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:0}.team_attach_x:hover{color:var(--danger, rgb(248, 113, 113))}.team_attach_btn{flex:0 0 auto;min-height:44px;padding:0 10px}.team_attachments{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.team_attach_img_link{display:inline-flex;position:relative}.team_attach_img{max-width:260px;max-height:200px;border-radius:8px;border:1px solid var(--border-secondary);object-fit:contain;background:var(--bg-tertiary)}.team_files_pane,.team_members_pane,.team_lb_pane{min-height:0;display:flex;flex-direction:column}.team_lb_body{padding:6px 0 10px}.team_lb_scope{display:inline-flex;gap:0;margin-right:8px;border:1px solid var(--border-secondary);border-radius:6px;overflow:hidden}.team_lb_scope_btn{padding:3px 10px;border:none;background:transparent;color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:600;cursor:pointer}.team_lb_scope_btn.active{background:color-mix(in srgb,var(--accent, #3b82f6) 22%,var(--bg-secondary));color:var(--text-primary)}.team_lb_scope_btn:disabled{opacity:.45;cursor:default}.team_lb_legend,.team_lb_row{display:grid;grid-template-columns:20px 22px minmax(70px,1.5fr) minmax(40px,.7fr) repeat(4,minmax(40px,.8fr)) minmax(46px,.9fr);align-items:center;gap:6px;padding:6px 12px}.team_lb_legend>span,.team_lb_row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team_lb_legend{color:var(--text-tertiary);font-size:var(--font-size-xs);border-bottom:1px solid var(--border-secondary);position:sticky;top:0;background:var(--bg-secondary);z-index:1}.team_lb_legend_total,.team_lb_legend_axis,.team_lb_total,.team_lb_axis{text-align:right;font-variant-numeric:tabular-nums}.team_lb_row{border-bottom:1px solid var(--border-secondary);cursor:pointer;transition:background .12s ease}.team_lb_row:hover,.team_lb_row.open{background:var(--bg-tertiary)}.team_lb_rank{color:var(--text-tertiary);font-size:var(--font-size-xs);font-weight:700;text-align:center}.team_lb_rank.top1,.team_lb_rank.top2,.team_lb_rank.top3{font-size:var(--font-size-xs)}.team_lb_rank.top1{color:#f6c453;text-shadow:0 0 6px rgba(246,196,83,.5)}.team_lb_rank.top2{color:#cfd6e0;text-shadow:0 0 6px rgba(207,214,224,.45)}.team_lb_rank.top3{color:#d69a6b;text-shadow:0 0 6px rgba(214,154,107,.45)}.team_lb_agent{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:flex;align-items:center;min-width:0}.team_lb_total{font-weight:700}.team_lb_total.pos,.team_lb_axis.pos,.team_lb_vote_val.pos{color:var(--success, #22c55e)}.team_lb_total.neg,.team_lb_axis.neg,.team_lb_vote_val.neg{color:var(--danger, #ef4444)}.team_lb_axis{color:var(--text-secondary)}.team_lb_detail{padding:8px 12px 12px 48px;border-bottom:1px solid var(--border-secondary);background:color-mix(in srgb,var(--bg-tertiary) 55%,var(--bg-secondary));display:flex;flex-direction:column;gap:8px}.team_lb_cast{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:var(--font-size-xs);color:var(--text-secondary)}.team_lb_cast_label{font-weight:600}.team_lb_cast_axis{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 8px;border:1px solid var(--border-secondary);border-radius:999px;background:var(--bg-secondary)}.team_lb_cast_axis_name{font-size:var(--font-size-xs);color:var(--text-secondary)}.team_lb_vote{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;border-radius:999px;color:var(--text-tertiary)}.team_lb_vote.up:hover:not(:disabled){color:var(--success, #22c55e);background:color-mix(in srgb,var(--success, #22c55e) 16%,transparent)}.team_lb_vote.down:hover:not(:disabled){color:var(--danger, #ef4444);background:color-mix(in srgb,var(--danger, #ef4444) 16%,transparent)}.team_lb_vote:disabled{opacity:.35;cursor:default}.team_lb_note{width:100%;padding:6px 9px;border:1px solid var(--border-secondary);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-xs)}.team_lb_note::placeholder{color:var(--text-tertiary)}.team_lb_error{color:var(--danger, #ef4444);font-size:var(--font-size-xs)}.team_lb_vote_row{display:flex;align-items:center;gap:8px;font-size:var(--font-size-xs);padding:3px 0;min-width:0}.team_avatar_sm{width:16px;height:16px;font-size:max(9px,calc(var(--font-size-xs) * .8));margin-top:0}.team_lb_vote_rater{font-weight:600;flex:0 0 auto}.team_lb_vote_axis{color:var(--text-tertiary);flex:0 0 auto}.team_lb_vote_val{flex:0 0 auto;vertical-align:-1px}.team_lb_vote_note{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.team_lb_footnote{padding:10px 12px 0;font-size:var(--font-size-xs)}.team_members_body{overflow-y:auto;padding:10px 12px}.team_file_row{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:8px 10px;border:none;border-bottom:1px solid var(--border-secondary);background:transparent;cursor:pointer}.team_file_row:hover:not(:disabled){background:var(--bg-tertiary)}.team_file_path{font-weight:600;color:var(--text-primary);overflow-wrap:anywhere}.team_file_desc{font-size:var(--font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team_file_meta{font-size:var(--font-size-xs);color:var(--text-muted);flex:0 0 auto;white-space:nowrap}.team_row_broken{border-left:2px solid var(--warning, #eab308);background:#eab3080d}.team_row_raw{margin:4px 0 0;font-size:var(--font-size-xs);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-secondary)}.team_fileview_md{max-height:70vh;overflow:auto}.team_fileview_text{max-height:70vh;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--font-size-sm);line-height:1.5;margin:0}.team_fileview_img{max-width:100%;max-height:70vh;object-fit:contain;border-radius:8px}.team_fileview_dl{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.team_mermaid{overflow:auto;padding:8px 0}.team_mermaid svg{max-width:100%;height:auto}.team_mermaid_src{font-size:var(--font-size-xs);background:var(--bg-tertiary);padding:8px;border-radius:8px;overflow:auto}.board_claim_panel{max-width:560px}.board_claim_facts{display:flex;flex-direction:column;gap:6px;padding:4px 2px;font-size:var(--font-size-sm)}.team_chip_debt{font-size:max(9px,calc(var(--font-size-xs) * .8));font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#0b0d12;background:var(--warning, #fbbf24);border-radius:4px;padding:1px 5px;white-space:nowrap}.team_chip_decline{font-size:max(9px,calc(var(--font-size-xs) * .8));font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);background:transparent;border:1px solid var(--border-secondary);border-radius:4px;padding:0 5px;line-height:16px;cursor:pointer;white-space:nowrap}.team_chip_decline:hover{color:var(--text-secondary);border-color:var(--border-primary)}.team_chip_decline.armed{color:#0b0d12;background:var(--warning, #fbbf24);border-color:var(--warning, #fbbf24)}.board_activity_panel{max-width:640px;max-height:80vh;overflow-y:auto}.board_activity_section{border-top:1px solid var(--border-primary);margin-top:8px;padding-top:8px}.board_activity_msg{padding:6px 8px;border:1px solid var(--border-primary);border-radius:8px;margin-bottom:6px;font-size:var(--font-size-sm)}.board_activity_msg_head{display:flex;gap:8px;align-items:center;font-size:var(--font-size-xs)}.board_activity_msg_head .team_row_expand{margin-left:auto}.board_activity_msg_title{font-weight:600;margin-top:2px}.board_activity_msg_body{margin-top:2px;font-size:var(--font-size-xs)}.team_desk_row{padding:8px;border:1px solid var(--border-primary);border-radius:8px;margin-bottom:6px;display:flex;flex-direction:column;gap:3px;font-size:var(--font-size-sm)}.team_desk_row_head{display:flex;gap:8px;align-items:center;font-size:var(--font-size-xs)}.team_desk_row_what{font-weight:600}.team_desk_row_needed{font-size:var(--font-size-xs)}.team_desk_row.satisfied{opacity:.6}.team_desk_satisfied_head{margin-top:10px;padding:0 2px 4px}.team_desk_tab_badge{writing-mode:horizontal-tb;font-size:max(10px,calc(var(--font-size-xs) * .9));font-weight:700;line-height:1;padding:3px 5px;border-radius:999px;font-family:var(--font-mono, monospace);background:#facc152e;color:var(--warning, #facc15);margin-top:6px}.team_desk_tab_badge.ok{background:#22c55e29;color:var(--success, #22c55e)}.team_top_row{border-bottom:1px solid var(--border-secondary);padding-bottom:4px}.team_top_rank_line{display:flex;align-items:center;gap:10px;padding:8px 12px 0}.team_top_rank{font-size:var(--font-size-xs);font-weight:700;color:var(--text-tertiary)}.team_search_bar{display:flex;align-items:center;gap:4px;flex:0 1 220px;min-width:120px}.team_search_input{flex:1 1 auto;min-width:0;background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:6px;color:var(--text-primary);font-size:var(--font-size-xs);padding:4px 8px}.team_search_input:focus{outline:none;border-color:var(--accent, #6ea8fe)}.team_search_close{flex:0 0 auto}.team_search_results{display:flex;flex-direction:column;gap:6px;padding:8px 12px 16px}.team_search_relaxed{padding:6px 10px;border-radius:6px;font-size:var(--font-size-xs);color:var(--warning, #fbbf24);background:color-mix(in srgb,var(--warning, #fbbf24) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--warning, #fbbf24) 40%,transparent);cursor:help}.team_search_meta{display:flex;align-items:center;gap:12px;font-size:var(--font-size-xs);flex-wrap:wrap}.team_search_notice{padding:6px 10px;border-radius:6px;font-size:var(--font-size-xs);color:var(--text-secondary);background:color-mix(in srgb,var(--warning, #fbbf24) 8%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--warning, #fbbf24) 30%,transparent);-webkit-user-select:text;user-select:text;cursor:text}.team_search_mode{color:var(--text-tertiary);font-size:max(9px,calc(var(--font-size-xs) * .9))}.team_search_rated .seg_btn{padding:2px 8px;font-size:max(9px,calc(var(--font-size-xs) * .9))}.team_search_scope{display:inline-flex;align-items:center;gap:5px;color:var(--text-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none}.team_search_section{display:flex;flex-direction:column;gap:2px}.team_search_section_head{display:flex;align-items:baseline;gap:10px;padding:8px 0 2px;border-bottom:1px solid var(--border-secondary)}.team_search_section_label{font-size:var(--font-size-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.team_search_hit{padding:6px 8px;border-radius:6px;display:flex;flex-direction:column;gap:2px}.team_search_hit.clickable{cursor:pointer}.team_search_hit.clickable:hover{background:var(--bg-secondary)}.team_search_hit_head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:var(--font-size-xs)}.team_search_kind{color:var(--text-tertiary);font-size:max(9px,calc(var(--font-size-xs) * .85));text-transform:uppercase;letter-spacing:.05em}.team_search_chan{color:var(--text-tertiary)}.team_search_sender{font-weight:600}.team_search_status{color:var(--warning, #fbbf24);font-weight:700}.team_search_tally{color:var(--text-tertiary)}.team_search_time{margin-left:auto;font-size:max(9px,calc(var(--font-size-xs) * .85));white-space:nowrap}.team_search_title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.team_search_snippet{font-size:var(--font-size-xs);color:var(--text-secondary);line-height:1.5;overflow-wrap:anywhere}.team_search_snippet mark{background:color-mix(in srgb,var(--accent, #6ea8fe) 28%,transparent);color:var(--text-primary);border-radius:2px;padding:0 1px}.team_search_ref{font-size:max(9px,calc(var(--font-size-xs) * .85))}.team_search_empties{font-size:max(9px,calc(var(--font-size-xs) * .85));color:var(--text-tertiary);padding-top:4px}.team_search_more{align-self:flex-start}.team_lb_rawvotes{font-size:max(9px,calc(var(--font-size-xs) * .85));font-weight:500;white-space:nowrap}.team_lb_rawvotes .rv_up,.team_lb_rawvotes .rv_down{color:var(--text-tertiary)}.team_lb_rawvotes .rv_down_hot{color:var(--danger, #ef4444);font-weight:700}.team_delegation{border-top:1px solid var(--border-secondary);margin-top:10px;padding-top:8px;display:flex;flex-direction:column;gap:6px}.team_delegation_head{font-weight:600}.team_delegation_row{display:flex;align-items:center;gap:8px}.team_delegation_powers{font-size:var(--font-size-xs);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.team_delegation_assign{display:flex;flex-direction:column;gap:6px}.team_delegation_powers_pick{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.team_delegation_power{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-xs);color:var(--text-secondary);cursor:pointer}.team_consume_rail{display:flex;flex-direction:column;gap:4px;padding:8px 12px;background:color-mix(in srgb,var(--accent, #79c7ff) 12%,var(--bg-secondary));border-bottom:1px solid var(--border-secondary)}.team_consume_head{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.team_consume_acts{display:inline-flex;gap:10px;margin-left:12px;font-weight:400}.team_consume_folded{flex-direction:row;align-items:center;gap:10px;padding:4px 12px}.team_consume_rows{display:flex;flex-direction:column;gap:2px}.team_consume_row{display:flex;align-items:center;gap:6px;justify-content:space-between}.team_consume_row .team_replies_more{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}