@dylanpiercey/work 0.0.6 → 0.0.8

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 (156) hide show
  1. package/bin/work.mjs +25 -2
  2. package/dist/index.mjs +1067 -736
  3. package/dist/public/assets/{_D4Z_UM_B2.js → _1sfledaC2.js} +2 -2
  4. package/dist/public/assets/{_D4Z_UM_B2.js.map → _1sfledaC2.js.map} +1 -1
  5. package/dist/public/assets/{_DvigaXuY.js → _5FPBKXmV.js} +2 -2
  6. package/dist/public/assets/{_DvigaXuY.js.map → _5FPBKXmV.js.map} +1 -1
  7. package/dist/public/assets/{_Bs-d5a142.js → _8JbqtAcO2.js} +2 -2
  8. package/dist/public/assets/{_Bs-d5a142.js.map → _8JbqtAcO2.js.map} +1 -1
  9. package/dist/public/assets/{_DcCF4p4b2.js → _9T4KD6Cx2.js} +2 -2
  10. package/dist/public/assets/{_DcCF4p4b2.js.map → _9T4KD6Cx2.js.map} +1 -1
  11. package/dist/public/assets/{_VVnpWsa-2.js → _ArCUqa6q2.js} +2 -2
  12. package/dist/public/assets/{_VVnpWsa-2.js.map → _ArCUqa6q2.js.map} +1 -1
  13. package/dist/public/assets/{_DpdFHjlT.js → _B3wDsGH_.js} +2 -2
  14. package/dist/public/assets/{_DpdFHjlT.js.map → _B3wDsGH_.js.map} +1 -1
  15. package/dist/public/assets/{_38qjx0VE.js → _B6VcGcFS.js} +2 -2
  16. package/dist/public/assets/{_38qjx0VE.js.map → _B6VcGcFS.js.map} +1 -1
  17. package/dist/public/assets/{_DtkPfG0P2.js → _B8hRUvsg2.js} +2 -2
  18. package/dist/public/assets/{_DtkPfG0P2.js.map → _B8hRUvsg2.js.map} +1 -1
  19. package/dist/public/assets/{_CUdHfuKf2.js → _BA1Flvg32.js} +2 -2
  20. package/dist/public/assets/{_CUdHfuKf2.js.map → _BA1Flvg32.js.map} +1 -1
  21. package/dist/public/assets/{_Dfi8Atag.js → _BBbOvFnN.js} +2 -2
  22. package/dist/public/assets/{_Dfi8Atag.js.map → _BBbOvFnN.js.map} +1 -1
  23. package/dist/public/assets/{_o_JLlSoU2.js → _BENakU6F2.js} +2 -2
  24. package/dist/public/assets/{_o_JLlSoU2.js.map → _BENakU6F2.js.map} +1 -1
  25. package/dist/public/assets/{_CLjg6iH5.js → _BKZkyaFV.js} +2 -2
  26. package/dist/public/assets/{_CLjg6iH5.js.map → _BKZkyaFV.js.map} +1 -1
  27. package/dist/public/assets/{_D8RDRYsV.js → _BKayEvX0.js} +2 -2
  28. package/dist/public/assets/{_D8RDRYsV.js.map → _BKayEvX0.js.map} +1 -1
  29. package/dist/public/assets/{_U-btoBCb2.js → _BRmBVeT02.js} +2 -2
  30. package/dist/public/assets/{_U-btoBCb2.js.map → _BRmBVeT02.js.map} +1 -1
  31. package/dist/public/assets/{_BSe5zjTJ2.js → _BSK-jOsW2.js} +2 -2
  32. package/dist/public/assets/{_BSe5zjTJ2.js.map → _BSK-jOsW2.js.map} +1 -1
  33. package/dist/public/assets/{_DDDACu2e.js → _BYiCMSp_.js} +2 -2
  34. package/dist/public/assets/{_DDDACu2e.js.map → _BYiCMSp_.js.map} +1 -1
  35. package/dist/public/assets/{_xikqPUw52.js → _BZ1vsOtU2.js} +2 -2
  36. package/dist/public/assets/{_xikqPUw52.js.map → _BZ1vsOtU2.js.map} +1 -1
  37. package/dist/public/assets/{_Bt1hNExm.js → _BZj2u1P8.js} +2 -2
  38. package/dist/public/assets/{_Bt1hNExm.js.map → _BZj2u1P8.js.map} +1 -1
  39. package/dist/public/assets/{_DOeCLKRd.js → _BdjtVej2.js} +2 -2
  40. package/dist/public/assets/{_DOeCLKRd.js.map → _BdjtVej2.js.map} +1 -1
  41. package/dist/public/assets/{_Dg2FAYj_2.js → _BfklLvTH2.js} +2 -2
  42. package/dist/public/assets/{_Dg2FAYj_2.js.map → _BfklLvTH2.js.map} +1 -1
  43. package/dist/public/assets/{_Q7i-xAMZ.js → _ByVsRQi_.js} +2 -2
  44. package/dist/public/assets/{_Q7i-xAMZ.js.map → _ByVsRQi_.js.map} +1 -1
  45. package/dist/public/assets/{_uhGymT-L.js → _BzzAJ7NO.js} +2 -2
  46. package/dist/public/assets/{_uhGymT-L.js.map → _BzzAJ7NO.js.map} +1 -1
  47. package/dist/public/assets/{_DtpDQy9c.js → _C7N-1UWP.js} +2 -2
  48. package/dist/public/assets/{_DtpDQy9c.js.map → _C7N-1UWP.js.map} +1 -1
  49. package/dist/public/assets/{_T-HpFRXH.js → _C7qjJec5.js} +2 -2
  50. package/dist/public/assets/{_T-HpFRXH.js.map → _C7qjJec5.js.map} +1 -1
  51. package/dist/public/assets/{_CDUUTPIa.js → _CDqUkraW.js} +2 -2
  52. package/dist/public/assets/{_CDUUTPIa.js.map → _CDqUkraW.js.map} +1 -1
  53. package/dist/public/assets/{_CUCwB86v.js → _CEhaT_yw.js} +2 -2
  54. package/dist/public/assets/{_CUCwB86v.js.map → _CEhaT_yw.js.map} +1 -1
  55. package/dist/public/assets/{_DFLlSEDh2.js → _CGshnRGq2.js} +2 -2
  56. package/dist/public/assets/{_DFLlSEDh2.js.map → _CGshnRGq2.js.map} +1 -1
  57. package/dist/public/assets/{_D1AvypB0.js → _CHnVT46K.js} +2 -2
  58. package/dist/public/assets/{_D1AvypB0.js.map → _CHnVT46K.js.map} +1 -1
  59. package/dist/public/assets/{_Dlbc7SgI.js → _CJkEzRYS.js} +2 -2
  60. package/dist/public/assets/{_Dlbc7SgI.js.map → _CJkEzRYS.js.map} +1 -1
  61. package/dist/public/assets/{_DpRvij_q.js → _CLKEqaNz.js} +2 -2
  62. package/dist/public/assets/{_DpRvij_q.js.map → _CLKEqaNz.js.map} +1 -1
  63. package/dist/public/assets/{_BZgEX-SR.js → _CRzez65S.js} +2 -2
  64. package/dist/public/assets/{_BZgEX-SR.js.map → _CRzez65S.js.map} +1 -1
  65. package/dist/public/assets/{_tf4220G9.js → _CVTm837N.js} +2 -2
  66. package/dist/public/assets/{_tf4220G9.js.map → _CVTm837N.js.map} +1 -1
  67. package/dist/public/assets/{_CeDXSlq_2.js → _CfcBd2P72.js} +2 -2
  68. package/dist/public/assets/{_CeDXSlq_2.js.map → _CfcBd2P72.js.map} +1 -1
  69. package/dist/public/assets/{_BV7Qzzwy2.js → _CghRvWTz2.js} +2 -2
  70. package/dist/public/assets/{_BV7Qzzwy2.js.map → _CghRvWTz2.js.map} +1 -1
  71. package/dist/public/assets/{_D7AQAhlo.js → _CiLa9EZD.js} +2 -2
  72. package/dist/public/assets/{_D7AQAhlo.js.map → _CiLa9EZD.js.map} +1 -1
  73. package/dist/public/assets/{_CVvMxylB2.js → _ClFfFrAg2.js} +2 -2
  74. package/dist/public/assets/{_CVvMxylB2.js.map → _ClFfFrAg2.js.map} +1 -1
  75. package/dist/public/assets/{_DWSSCCOX.js → _ClP4oh7a.js} +2 -2
  76. package/dist/public/assets/{_DWSSCCOX.js.map → _ClP4oh7a.js.map} +1 -1
  77. package/dist/public/assets/{_BjlFBd9j.js → _CraDhcnw.js} +2 -2
  78. package/dist/public/assets/{_BjlFBd9j.js.map → _CraDhcnw.js.map} +1 -1
  79. package/dist/public/assets/{_PBOdFezG2.js → _Cu2ARJ6m2.js} +2 -2
  80. package/dist/public/assets/{_PBOdFezG2.js.map → _Cu2ARJ6m2.js.map} +1 -1
  81. package/dist/public/assets/{_vd_LQrD6.js → _Cuarrf-F.js} +2 -2
  82. package/dist/public/assets/{_vd_LQrD6.js.map → _Cuarrf-F.js.map} +1 -1
  83. package/dist/public/assets/{_kN8jmSEy2.js → _CxREVo2W2.js} +2 -2
  84. package/dist/public/assets/{_kN8jmSEy2.js.map → _CxREVo2W2.js.map} +1 -1
  85. package/dist/public/assets/{_D9oMqxHc.js → _DDkF3p8s.js} +2 -2
  86. package/dist/public/assets/{_D9oMqxHc.js.map → _DDkF3p8s.js.map} +1 -1
  87. package/dist/public/assets/{_ChbGErmQ.js → _DNJJM0AE.js} +2 -2
  88. package/dist/public/assets/{_ChbGErmQ.js.map → _DNJJM0AE.js.map} +1 -1
  89. package/dist/public/assets/{_kzd-9LxV.js → _DPOTu7jR.js} +2 -2
  90. package/dist/public/assets/{_kzd-9LxV.js.map → _DPOTu7jR.js.map} +1 -1
  91. package/dist/public/assets/{_CgK4NAc5.js → _DWpL0T8T.js} +2 -2
  92. package/dist/public/assets/{_CgK4NAc5.js.map → _DWpL0T8T.js.map} +1 -1
  93. package/dist/public/assets/{_BqB9YKHu.js → _DatWcE_l.js} +2 -2
  94. package/dist/public/assets/{_BqB9YKHu.js.map → _DatWcE_l.js.map} +1 -1
  95. package/dist/public/assets/{_CjoA9dbQ.js → _DbScTuHX.js} +2 -2
  96. package/dist/public/assets/{_CjoA9dbQ.js.map → _DbScTuHX.js.map} +1 -1
  97. package/dist/public/assets/{_BGfZ-AIc.js → _Dlqi-FuG.js} +2 -2
  98. package/dist/public/assets/{_BGfZ-AIc.js.map → _Dlqi-FuG.js.map} +1 -1
  99. package/dist/public/assets/{_CscsJi7i.js → _Dmvx0mCq.js} +2 -2
  100. package/dist/public/assets/{_CscsJi7i.js.map → _Dmvx0mCq.js.map} +1 -1
  101. package/dist/public/assets/{_nfuFU9Un2.js → _Doc3xk-E2.js} +2 -2
  102. package/dist/public/assets/{_nfuFU9Un2.js.map → _Doc3xk-E2.js.map} +1 -1
  103. package/dist/public/assets/{_BvkUWaoR.js → _DpCf_atU.js} +2 -2
  104. package/dist/public/assets/{_BvkUWaoR.js.map → _DpCf_atU.js.map} +1 -1
  105. package/dist/public/assets/{_BO1auSkL2.js → _DsdF3uU02.js} +2 -2
  106. package/dist/public/assets/{_BO1auSkL2.js.map → _DsdF3uU02.js.map} +1 -1
  107. package/dist/public/assets/{_DsK9qp5z2.js → _Du7L3DNJ2.js} +2 -2
  108. package/dist/public/assets/{_DsK9qp5z2.js.map → _Du7L3DNJ2.js.map} +1 -1
  109. package/dist/public/assets/{_CATT-8QU2.js → _DzcnHy3e2.js} +2 -2
  110. package/dist/public/assets/{_CATT-8QU2.js.map → _DzcnHy3e2.js.map} +1 -1
  111. package/dist/public/assets/{_nv0goT4Z.js → _FkD5nJ3p.js} +2 -2
  112. package/dist/public/assets/{_nv0goT4Z.js.map → _FkD5nJ3p.js.map} +1 -1
  113. package/dist/public/assets/{_D-u1ssE0.js → _KZaj47gf.js} +2 -2
  114. package/dist/public/assets/{_D-u1ssE0.js.map → _KZaj47gf.js.map} +1 -1
  115. package/dist/public/assets/{_B01vNcBH.js → _MY6ncoWy.js} +2 -2
  116. package/dist/public/assets/{_B01vNcBH.js.map → _MY6ncoWy.js.map} +1 -1
  117. package/dist/public/assets/{_lO429-VP.js → _PLe738he.js} +2 -2
  118. package/dist/public/assets/{_lO429-VP.js.map → _PLe738he.js.map} +1 -1
  119. package/dist/public/assets/{_DoTuVtdo.js → _UIRw8u-5.js} +2 -2
  120. package/dist/public/assets/{_DoTuVtdo.js.map → _UIRw8u-5.js.map} +1 -1
  121. package/dist/public/assets/{_Bj_P-is9.js → _VQFhNNlC.js} +2 -2
  122. package/dist/public/assets/{_Bj_P-is9.js.map → _VQFhNNlC.js.map} +1 -1
  123. package/dist/public/assets/{_C52df4172.js → _VxrPs6zz2.js} +2 -2
  124. package/dist/public/assets/{_C52df4172.js.map → _VxrPs6zz2.js.map} +1 -1
  125. package/dist/public/assets/{_CPMq9qKD.js → _Yc_Nhrnz.js} +2 -2
  126. package/dist/public/assets/{_CPMq9qKD.js.map → _Yc_Nhrnz.js.map} +1 -1
  127. package/dist/public/assets/{_B5_K4U35.js → _ZXbjL1cp.js} +2 -2
  128. package/dist/public/assets/{_B5_K4U35.js.map → _ZXbjL1cp.js.map} +1 -1
  129. package/dist/public/assets/{_BGjK3KLI.js → _Zn6WQhNB.js} +2 -2
  130. package/dist/public/assets/{_BGjK3KLI.js.map → _Zn6WQhNB.js.map} +1 -1
  131. package/dist/public/assets/{_C0fM-yEd.js → _d0JPWXs6.js} +2 -2
  132. package/dist/public/assets/{_C0fM-yEd.js.map → _d0JPWXs6.js.map} +1 -1
  133. package/dist/public/assets/{_Czy_Rmr8.js → _kFADAUVE.js} +2 -2
  134. package/dist/public/assets/{_Czy_Rmr8.js.map → _kFADAUVE.js.map} +1 -1
  135. package/dist/public/assets/{_kf1lUDoU2.js → _lFKA9njW2.js} +2 -2
  136. package/dist/public/assets/{_kf1lUDoU2.js.map → _lFKA9njW2.js.map} +1 -1
  137. package/dist/public/assets/{_BCmJwCZ4.js → _ljVbYQrb.js} +2 -2
  138. package/dist/public/assets/{_BCmJwCZ4.js.map → _ljVbYQrb.js.map} +1 -1
  139. package/dist/public/assets/{_CIE37fGr.js → _lq6Mp4lM.js} +2 -2
  140. package/dist/public/assets/{_CIE37fGr.js.map → _lq6Mp4lM.js.map} +1 -1
  141. package/dist/public/assets/{_Cm0oW23H.js → _mIMmc1-4.js} +2 -2
  142. package/dist/public/assets/{_Cm0oW23H.js.map → _mIMmc1-4.js.map} +1 -1
  143. package/dist/public/assets/{_17ixsFjl2.js → _mwzbhNSE2.js} +2 -2
  144. package/dist/public/assets/{_17ixsFjl2.js.map → _mwzbhNSE2.js.map} +1 -1
  145. package/dist/public/assets/{_lENTdKos.js → _mz-it25q.js} +2 -2
  146. package/dist/public/assets/{_lENTdKos.js.map → _mz-it25q.js.map} +1 -1
  147. package/dist/public/assets/{_B7WJMKdz.js → _tEWpbjjW.js} +2 -2
  148. package/dist/public/assets/{_B7WJMKdz.js.map → _tEWpbjjW.js.map} +1 -1
  149. package/dist/public/assets/{_rDdCnzAf.js → _x39l6v9i.js} +2 -2
  150. package/dist/public/assets/{_rDdCnzAf.js.map → _x39l6v9i.js.map} +1 -1
  151. package/dist/public/assets/{index-BwlA-lgI.js → index-BnMs3duC.js} +63 -61
  152. package/dist/public/assets/index-BnMs3duC.js.map +1 -0
  153. package/dist/public/assets/{index-KIy0rCx1.css → index-C_YqjXeW.css} +1 -1
  154. package/package.json +1 -1
  155. package/scripts/migrate.mjs +141 -0
  156. package/dist/public/assets/index-BwlA-lgI.js.map +0 -1
@@ -1 +1 @@
1
- :root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;--bg:var(--lightningcss-light,#fafafa)var(--lightningcss-dark,#131316);--panel:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1b1b1f);--border:var(--lightningcss-light,#e4e4e8)var(--lightningcss-dark,#2a2a30);--text:var(--lightningcss-light,#1a1a1e)var(--lightningcss-dark,#e8e8ec);--dim:var(--lightningcss-light,#6e6e76)var(--lightningcss-dark,#9a9aa4);--accent:var(--lightningcss-light,#3556d8)var(--lightningcss-dark,#7c96ff);--danger:var(--lightningcss-light,#b00020)var(--lightningcss-dark,#ff8080);--radius:8px;font-family:system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:var(--app-height,100dvh);overflow:hidden}body{background:var(--bg);color:var(--text);margin:0;font-size:14px}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}input,select{font:inherit;color:inherit;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:.45rem .6rem}@media (pointer:coarse){input,textarea,select{font-size:16px}}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}code{font-size:.92em}.btn{background:color-mix(in srgb, currentColor 8%, transparent);border-radius:var(--radius);padding:.4rem .75rem}.btn:hover{background:color-mix(in srgb, currentColor 14%, transparent)}.btn.primary{background:var(--accent);color:var(--lightningcss-light,#fff)var(--lightningcss-dark,#10131f)}.btn.danger{color:var(--danger)}.btn.danger.armed{background:var(--danger);border-color:var(--danger);color:#fff}:where(button:has(>.icon)){align-items:center;gap:.35rem;display:inline-flex}.icon-btn{width:var(--icon-btn-size,2.15rem);height:var(--icon-btn-size,2.15rem);border-radius:var(--radius);background:color-mix(in srgb, currentColor 8%, transparent);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover{background:color-mix(in srgb, currentColor 14%, transparent)}.chip{background:color-mix(in srgb, currentColor 10%, transparent);color:var(--dim);white-space:nowrap;border-radius:5px;align-items:center;gap:.25em;padding:.05em .5em;font-size:.8rem;line-height:1.5;display:inline-flex}.chip.lane{color:var(--accent)}.chip.pr{color:var(--lightningcss-light,#1a7f37)var(--lightningcss-dark,#57d364);text-decoration:none}.chip.pr.draft,.dim{color:var(--dim)}.mono{font-family:monospace}.spacer{flex:1}.dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.dot.working{background:var(--lightningcss-light,#bf8700)var(--lightningcss-dark,#d4a72c)}.dot.waiting{background:var(--danger)}.dot.idle{background:color-mix(in srgb, var(--dim) 55%, transparent)}.dot.off{border:1px solid var(--dim)}.split-btn{border-radius:var(--radius);background:color-mix(in srgb, currentColor 8%, transparent);align-items:stretch;display:inline-flex;position:relative;overflow:hidden}.split-btn:after{content:"";border-right:1.5px solid var(--dim);border-bottom:1.5px solid var(--dim);pointer-events:none;width:.32em;height:.32em;position:absolute;top:50%;right:.7rem;translate:0 -70%;rotate:45deg}.split-btn.primary:after{border-color:var(--accent)}.split-btn>button{border-radius:0;justify-content:center;align-items:center;gap:.3rem;padding:.35rem .6rem;display:inline-flex}.split-btn>button:hover{background:color-mix(in srgb, currentColor 10%, transparent)}.split-btn>select{appearance:none;border:0;border-left:1px solid var(--border);background:0 0;border-radius:0;min-width:0;padding:.3rem 1.5rem .3rem .6rem;font-size:.85rem}.split-btn.primary{background:var(--panel);border:1px solid var(--accent)}.split-btn.primary>button{background:var(--accent);color:var(--lightningcss-light,#fff)var(--lightningcss-dark,#10131f)}.split-btn.primary>button:hover{background:color-mix(in srgb, var(--accent) 88%, var(--lightningcss-light,#000)var(--lightningcss-dark,#fff))}.split-btn.primary>select{color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);border-left:0;font-weight:500}.split-btn>button:disabled,.split-btn>select:disabled{opacity:.6}.split-btn.grow,.split-btn.grow>select{flex:1;min-width:0}.toast-error{top:calc(env(safe-area-inset-top) + .6rem);z-index:40;background:var(--panel);max-width:min(30rem,100vw - 2rem);color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 45%, transparent);border-radius:var(--radius);overflow-wrap:anywhere;margin:0;padding:.5rem .75rem;position:fixed;left:50%;translate:-50%;box-shadow:0 4px 16px #00000040}.spin{border:2px solid color-mix(in srgb, currentColor 25%, transparent);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:.7rem;height:.7rem;animation:.8s linear infinite work-spin;display:inline-block}.icon-btn.spinning svg{animation:.8s linear infinite work-spin}@keyframes work-spin{to{rotate:360deg}}.icon{flex-shrink:0;display:block}.palette-backdrop{z-index:29;background:#00000059;position:fixed;inset:0}.palette{z-index:30;background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:min(34rem,100vw - 1.5rem);display:flex;position:fixed;top:min(12dvh,6rem);left:50%;overflow:hidden;translate:-50%}.palette>input{border:0;border-bottom:1px solid var(--border);border-radius:0;padding:.75rem .9rem;font-size:1rem}.palette>input:focus-visible{outline:none}.palette.inline{margin:min(12dvh,6rem) auto 0;position:static;translate:none}@media (width<=899px){.palette:not(.inline){top:calc(env(safe-area-inset-top) + .5rem);width:auto;height:calc(var(--app-height,100dvh) - env(safe-area-inset-top) - 4.4rem - env(safe-area-inset-bottom));left:.5rem;right:.5rem;translate:none}.palette:not(.inline) .rows{flex:1;min-height:0;max-height:none}}.rows{max-height:min(50dvh,22rem);margin:0;padding:.3rem;list-style:none;overflow-y:auto}.row-wrap{align-items:stretch;gap:.15rem;display:flex}.row{text-align:left;border-radius:var(--radius);flex-direction:column;flex:1;gap:.15rem;min-width:0;padding:.45rem .6rem;display:flex}.row-more{color:var(--dim);border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;padding:0 .5rem;display:inline-flex}.row-more:hover{color:var(--text);background:color-mix(in srgb, currentColor 8%, transparent)}.row.hi{background:color-mix(in srgb, var(--accent) 12%, transparent)}.row.archived{opacity:.6}.cmd-row{color:var(--accent);font-weight:500}.chip.stat.changes{color:var(--accent)}.onboard{padding:.9rem 1rem 0;font-size:.85rem}.onboard p{margin:0 0 .6rem;line-height:1.5}.row-name{align-items:center;gap:.4rem;min-width:0;font-weight:600;display:flex}.row-name-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.row-stats{flex-shrink:0}.chip.open{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent)}.row-stats{align-items:center;gap:.3rem;margin-left:auto;font-weight:500;display:inline-flex}.chip.stat{align-items:center;gap:.25rem;display:inline-flex}.row-repos{color:var(--dim);flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.82rem;display:flex}.palette-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;min-height:2rem;padding:.4rem .6rem .4rem .9rem;font-size:.78rem;display:flex}.palette-foot .hint{text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}@media (pointer:coarse){.palette-foot .hint{display:none}.palette-foot{justify-content:space-between}}.palette-foot select{padding:.15rem .35rem;font-size:.8rem}.archived-link{border-radius:var(--radius);align-self:start;margin:0 .3rem .3rem;padding:.15rem .6rem;font-size:.78rem}.archived-link:hover{color:var(--text);background:color-mix(in srgb, currentColor 8%, transparent)}.add-repo>input{width:100%}.repo-results{border:1px solid var(--border);border-radius:var(--radius);margin:.3rem 0 0;padding:.25rem;list-style:none}.result-wrap{border-radius:var(--radius);align-items:stretch;gap:.15rem;display:flex}.result-wrap.hi{background:color-mix(in srgb, var(--accent) 12%, transparent)}.result-row{text-align:left;border-radius:var(--radius);flex:1;align-items:center;gap:.5rem;min-width:0;padding:.35rem .5rem;display:flex}.result-branch{border-radius:var(--radius);width:2rem;color:var(--dim);flex:none;font-size:.85rem}.result-branch:hover,.result-branch.on{color:inherit;background:color-mix(in srgb, currentColor 10%, transparent)}.branch-pick{border-left:2px solid var(--border);margin:.15rem 0 .3rem 1.4rem;padding-left:.5rem}.branch-pick>input{width:100%;margin:.2rem 0}.branch-list{margin:0;padding:0;list-style:none}.result-plus{color:var(--dim)}.repo-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.empty-note{margin:0;padding:.3rem .1rem;font-size:.85rem}.repos-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.repos-head .icon-btn{--icon-btn-size:1.7rem}.manage .repos-head h3{margin:0}.cur-repos{flex-direction:column;gap:.15rem;margin:0 0 .5rem;padding:0;list-style:none;display:flex}.cur-repo{border-radius:var(--radius);background:color-mix(in srgb, currentColor 5%, transparent);align-items:center;gap:.5rem;min-width:0;padding:.3rem .5rem;display:flex}.cur-repo.pending{color:var(--dim)}.cur-worktree{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:45%;font-weight:600;overflow:hidden}.cur-full{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.82rem;overflow:hidden}.cur-base{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:10rem;font-size:.75rem;overflow:hidden}.cur-remove{width:1.5rem;height:1.5rem;color:var(--dim);border-radius:var(--radius);justify-content:center;align-items:center;padding:0;display:inline-flex}.cur-remove:hover{color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent)}.cur-remove.armed,.cur-remove.armed:hover{color:#fff;background:var(--danger);width:auto;padding:0 .5rem;font-size:.75rem}.manage-backdrop{z-index:34;background:#00000059;position:fixed;inset:0}.manage-view{z-index:35;width:min(42rem,100vw - 1.5rem);max-height:calc(var(--app-height,100dvh) - min(8dvh, 4rem) - 1rem);background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;min-height:0;display:flex;position:fixed;top:min(8dvh,4rem);left:50%;overflow:hidden;translate:-50%;box-shadow:0 12px 40px #00000059}.manage{flex-direction:column;flex:1;gap:1rem;min-height:0;padding:1rem 1.25rem;display:flex;overflow-y:auto}.manage-bar{border-top:1px solid var(--border);background:var(--panel);flex-wrap:wrap;align-items:center;gap:.35rem .4rem;padding:.5rem .75rem;display:flex}@media (width<=899px){.manage-view{width:auto;max-height:none;height:var(--app-height,100dvh);box-shadow:none;border:none;border-radius:0;inset:0;translate:none}.manage{padding-top:max(1rem, calc(env(safe-area-inset-top) + .5rem))}.manage-bar{padding-bottom:max(.5rem, env(safe-area-inset-bottom));padding-left:max(.75rem, calc(env(safe-area-inset-left) + .5rem));padding-right:max(.75rem, calc(env(safe-area-inset-right) + .5rem))}}.manage-head h2{overflow-wrap:anywhere;margin:0 0 .15rem}.manage-head p{word-break:break-all;margin:0;font-size:.8rem}.manage section h3{text-transform:uppercase;letter-spacing:.06em;color:var(--dim);margin:0 0 .4rem;font-size:.85rem}.manage section>input{width:100%;margin-bottom:.4rem}.act-step{text-overflow:ellipsis;white-space:nowrap;flex:8rem;align-items:center;gap:.4rem;min-width:0;font-size:.8rem;display:inline-flex;overflow:hidden}.pr-repo+.pr-repo{margin-top:.5rem}.pr-repo-name{margin-bottom:.2rem;font-size:.75rem}.pr-list{margin:0;padding:0;list-style:none}.pr-list li{align-items:center;gap:.5rem;min-width:0;padding:.25rem 0;font-size:.85rem;display:flex}.pr-spacer{flex:1}.pr-dismiss{width:1.5rem;height:1.5rem;color:var(--dim);border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.pr-dismiss:hover{color:var(--ok,#2da44e);background:color-mix(in srgb, currentColor 12%, transparent)}.pr-state{text-transform:uppercase;letter-spacing:.04em;border-radius:5px;flex-shrink:0;padding:.05em .45em;font-size:.7rem;font-weight:600}.pr-state.open{color:var(--lightningcss-light,#1a7f37)var(--lightningcss-dark,#57d364);background:color-mix(in srgb, currentColor 12%, transparent)}.pr-state.merged{color:var(--lightningcss-light,#8250df)var(--lightningcss-dark,#b794f6);background:color-mix(in srgb, currentColor 12%, transparent)}.pr-state.closed{color:var(--danger);background:color-mix(in srgb, currentColor 12%, transparent)}.pr-link{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:inherit;white-space:nowrap;align-items:baseline;gap:.35rem;min-width:0;text-decoration:none;display:inline-flex;overflow:hidden}.pr-link:hover{text-decoration:underline}.procs{margin:0;padding:0;list-style:none}.procs li{justify-content:space-between;align-items:center;gap:.4rem;padding:.25rem 0;font-size:.85rem;display:flex}.proc-cmd{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.3rem;min-width:0;display:inline-flex;overflow:hidden}.proc-kill{color:var(--dim);padding:0 .4rem}.port-link{cursor:pointer}.port-link:hover{color:var(--accent);text-decoration:underline}.proc-kill:hover{color:var(--danger)}.new-ws .field{flex-direction:column;gap:.25rem;max-width:20rem;display:flex}.steps{flex-direction:column;gap:.3rem;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.steps li{color:var(--dim);overflow-wrap:anywhere;align-items:center;gap:.45rem;min-width:0;display:flex}.steps li.active{color:var(--text)}.step-done{color:var(--lightningcss-light,#1a7f37)var(--lightningcss-dark,#57d364);text-align:center;width:.9rem}.side-nav{border-right:1px solid var(--border);background:var(--panel);flex-direction:column;flex-shrink:0;width:16rem;display:flex;overflow-y:auto}@media (width<=899px){.side-nav{z-index:25;width:min(17rem,85vw);padding-top:env(safe-area-inset-top);transition:translate .2s;position:fixed;top:0;bottom:0;left:0;translate:-100%;box-shadow:0 0 32px #0000004d}.side-nav.open{translate:0}.side-nav .side-list{display:flex!important}.side-rail{display:none!important}.side-nav .side-foot{border-top:1px solid var(--border);padding:.6rem max(1.5rem, calc(env(safe-area-inset-right) + .75rem)) max(.75rem, env(safe-area-inset-bottom)) max(1.5rem, calc(env(safe-area-inset-left) + .75rem));justify-content:flex-end;gap:.5rem}.side-foot .nav-toggle,.side-foot .spacer{display:none}.side-nav{width:min(19rem,88vw);font-size:1rem}.side-nav .side-list{gap:.5rem;padding:.6rem .6rem .4rem}.side-nav .side-ws-btn{gap:.5rem;padding:.6rem;font-size:1.05rem}.side-nav .side-ws-row .row-icon,.side-nav .side-ws-row .close,.side-nav .side-sess .row-icon,.side-nav .side-sess .close{visibility:visible;width:2.5rem;height:2.5rem;font-size:1.1rem}.side-nav .side-sessions{gap:.25rem;padding-left:1rem}.side-nav .side-sess-btn{padding:.6rem;font-size:1rem}.side-nav .side-sess .row-icon{display:inline-flex}.side-nav .side-foot .icon-btn{--icon-btn-size:2.75rem}.side-nav .dot{width:9px;height:9px}}.notify-btn.on{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.drawer-backdrop{z-index:24;background:#00000059;position:fixed;inset:0}@media (width>=900px){.notify-btn.on{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.drawer-backdrop{display:none}}.side-list{flex-direction:column;flex:1;gap:.35rem;padding:.45rem .45rem .25rem;display:flex}.side-foot{align-items:center;gap:.3rem;padding:.3rem .45rem .45rem;display:flex}@media (width>=900px){.side-nav.closed{width:auto}.side-nav.closed .side-list{display:none}.side-nav.closed .side-foot{flex-direction:column;justify-content:flex-end}.side-nav.closed .side-foot>.icon-btn:first-of-type{order:10}}.side-rail{flex-direction:column;flex:1;gap:.3rem;padding:.45rem;display:flex}.rail-btn{background:color-mix(in srgb, currentColor 7%, transparent);font-weight:600;position:relative}.rail-btn.current,.rail-btn.current:hover{background:var(--accent);color:var(--lightningcss-light,#fff)var(--lightningcss-dark,#101321)}.rail-btn:not(.current):hover{background:color-mix(in srgb, currentColor 12%, transparent)}.rail-btn .dot{width:6px;height:6px;position:absolute;top:3px;right:3px}.side-ws{border-radius:var(--radius);padding:.15rem}.side-ws.current{background:color-mix(in srgb, var(--accent) 8%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent)}.side-ws-row{align-items:center;display:flex}.side-ws-btn{text-align:left;border-radius:var(--radius);flex:1;align-items:center;gap:.4rem;min-width:0;padding:.35rem .45rem;font-weight:600;display:flex}.side-ws:not(.current) .side-ws-btn:hover{background:color-mix(in srgb, currentColor 7%, transparent)}.side-ws-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.side-ws-row .row-icon,.side-ws-row .close,.side-sess .row-icon,.side-sess .close{width:1.6rem;height:1.6rem;color:var(--dim);border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.side-sess .row-icon,.side-sess .close{visibility:hidden}.side-sess:hover .row-icon,.side-sess:hover .close{visibility:visible}.side-ws-row .row-icon:hover,.side-sess .row-icon:hover{color:var(--text);background:color-mix(in srgb, currentColor 8%, transparent)}.side-ws-row .close:hover,.side-sess .close:hover{color:var(--danger)}.side-sessions{flex-direction:column;gap:.1rem;padding:.1rem .1rem .3rem .9rem;display:flex}.side-sessions:not(:has(*)){display:none}.side-sess{border-radius:var(--radius);align-items:center;display:flex}.side-sess.current{background:color-mix(in srgb, var(--accent) 14%, transparent)}.side-sess-btn{text-align:left;border-radius:var(--radius);text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:.4rem;min-width:0;padding:.3rem .45rem;display:flex;overflow:hidden}.side-sess:not(.current) .side-sess-btn:hover{background:color-mix(in srgb, currentColor 7%, transparent)}.rail-pop .side-ws.current{box-shadow:none;background:0 0}.rail-pop{z-index:40;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);min-width:14rem;max-width:20rem;padding:.25rem;position:fixed;box-shadow:0 8px 24px #00000040}.new-session-pop{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);min-width:8rem;color:inherit;flex-direction:column;margin:0;padding:.25rem;display:none;position:fixed;inset:auto}.new-session-pop:popover-open{display:flex}.new-session-pop button{text-align:left;border-radius:var(--radius);align-items:center;gap:.5rem;padding:.45rem .7rem;font-family:monospace;display:flex}.side-sess-btn .sess-icon{vertical-align:-2px;opacity:.75;margin-right:.15rem;display:inline-block}.new-session-pop button:hover{background:color-mix(in srgb, currentColor 8%, transparent)}.side-chips{flex-wrap:wrap;gap:.3rem;padding:.25rem .1rem .1rem;display:flex}.side-sess .close.armed,.side-sess .close.armed:hover{visibility:visible;color:#fff;background:var(--danger)}.chip.changes{color:var(--accent);cursor:pointer}.chip.changes:hover{background:color-mix(in srgb, currentColor 18%, transparent)}.chip.pr.rejected{color:var(--danger)}.chip.port-chip{padding:0;overflow:hidden}.port-chip .port-open{color:inherit;padding:.05em .15em .05em .5em}.port-chip .port-open:hover{color:var(--accent);text-decoration:underline}.port-chip .port-kill{color:var(--dim);padding:.05em .4em .05em .2em;line-height:1.5}.port-chip .port-kill:hover{color:var(--danger)}.port-chip .port-kill.armed,.port-chip .port-kill.armed:hover{color:#fff;background:var(--danger)}.diff-file{border:1px solid var(--border);border-radius:var(--radius);--diffs-font-size:12.5px;max-width:100%;overflow:hidden}@media (width<=899px){.diff-file{--diffs-font-size:11.5px}}.prompt-dlg{width:min(26rem,100vw - 1.5rem)}.prompt-dlg .prompt-title{margin:0;font-size:1rem}@media (width<=899px){.prompt-dlg{border:1px solid var(--border);border-radius:12px;height:auto;inset:min(8dvh,4rem) auto auto 50%;translate:-50%;box-shadow:0 12px 40px #00000059}}.diff-view{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.refresh-chip{z-index:5;background:var(--panel);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.35rem;padding:.15rem .6rem;font-size:.78rem;display:inline-flex;position:absolute;top:.5rem;right:.75rem}.tree{border-right:1px solid var(--border);flex-shrink:0;width:15rem;padding:.6rem .4rem;font-size:.8rem;display:none;overflow-y:auto}@media (width>=900px){.tree{display:block}.tree.closed{display:none}}.diff-tools .tree-toggle{display:none}.tree-toggle.on{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent)}@media (width>=900px){.diff-tools .tree-toggle{display:inline-flex}}.tree-repo+.tree-repo{margin-top:.75rem}.tree-repo-name{text-align:left;align-items:baseline;gap:.25rem;width:100%;padding:.15rem .35rem;font-weight:700;display:flex}.tree-dir{overflow-wrap:anywhere;padding:.25rem .35rem .05rem;font-size:.72rem}.tree-file{text-align:left;border-radius:var(--radius);align-items:flex-start;gap:.35rem;width:100%;padding:.18rem .35rem;display:flex}.tree-file:hover{background:color-mix(in srgb, currentColor 7%, transparent)}.tree-file.seen{opacity:.55}.tree-file-name{overflow-wrap:anywhere;flex:1;min-width:0}.tree-note{font-size:.7rem}.diff-col{flex-direction:column;flex:1;min-width:0;padding-top:.75rem;display:flex}.diff-col>.diff-head,.diff-col>.diff-tools{padding-inline:.75rem}.diff-main{flex:1;min-width:0;min-height:0;padding:0 .75rem .75rem;overflow:hidden auto}.diff-head{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.head-actions{flex-wrap:wrap;align-items:center;gap:.4rem;min-width:0;max-width:100%;margin-left:auto;display:flex}.head-actions .split-btn{min-width:0;max-width:100%}.head-actions .split-btn>select{max-width:8rem}.diff-stats{flex-wrap:wrap;align-items:center;gap:.3rem;display:inline-flex}.base-pick{padding:.3rem .4rem;font-size:.85rem}@media (pointer:coarse){.base-pick{max-width:8rem}}.diff-tools{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.6rem;display:flex}.base-pick{min-width:0;max-width:9.5rem}.file-filter{flex:1;min-width:0;padding:.35rem .55rem;font-size:.85rem}.repo-section+.repo-section{margin-top:1rem}.repo-sep{text-align:left;border-bottom:2px solid var(--border);align-items:baseline;gap:.5rem;width:100%;min-width:0;margin-bottom:.4rem;padding:.3rem .1rem;font-weight:700;display:flex}.repo-sep .mono,.repo-sep .dim{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;overflow:hidden}.repo-sep .dim{font-size:.78rem;font-weight:400}.files{flex-direction:column;gap:.75rem;display:flex}.file{min-width:0}.diff-wait{border:1px solid var(--border);border-radius:var(--radius);min-height:16rem}.tree-dir{text-align:left;align-items:baseline;gap:.25rem;width:100%;display:flex}.tree-dir:hover{color:var(--text)}.tree-chev{flex-shrink:0;font-size:.6rem}.file>:not(summary){content-visibility:auto;contain-intrinsic-size:auto 24rem}.file>summary{cursor:pointer;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);z-index:1;align-items:center;gap:.5rem;padding:.35rem .5rem;font-family:monospace;font-size:.85rem;list-style:none;display:flex;position:sticky;top:0}.file[open]>summary{border-bottom-right-radius:0;border-bottom-left-radius:0}.status{font-weight:700}.status.A{color:var(--lightningcss-light,#1a7f37)var(--lightningcss-dark,#57d364)}.status.D{color:var(--danger)}.status.M{color:var(--accent)}.path{text-overflow:ellipsis;white-space:nowrap;text-align:left;direction:rtl;flex:1;min-width:0;overflow:hidden}.file:not([open])>summary .path{white-space:normal;overflow-wrap:anywhere;direction:ltr}.viewed{align-items:center;gap:.3rem;font-size:.75rem;display:inline-flex}.center-pad{text-align:center;padding:2rem}.diff-skel p{align-items:center;gap:.5rem;margin:0 0 .75rem;display:flex}.skel-row{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb, currentColor 4%, transparent);height:2.2rem;margin-bottom:.75rem}.files-btn{white-space:nowrap;font-size:.85rem;display:none}@media (width<=899px){.files-btn{display:inline-block}}.sheet-backdrop{z-index:34;background:#00000059;position:fixed;inset:0}.file-sheet{z-index:35;background:var(--panel);border-top:1px solid var(--border);max-height:min(70dvh,30rem);padding-bottom:env(safe-area-inset-bottom);border-radius:12px 12px 0 0;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0}.sheet-head{align-items:center;gap:.6rem;padding:.6rem .4rem .4rem .9rem;display:flex}.sheet-head .dim{flex:1;font-size:.8rem}.sheet-list{min-height:0;padding:0 .4rem .4rem;overflow-y:auto}.sheet-file{text-align:left;border-radius:var(--radius);align-items:center;gap:.5rem;width:100%;padding:.55rem .5rem;font-size:.85rem;display:flex}.sheet-file.seen{opacity:.55}.sheet-path{text-overflow:ellipsis;white-space:nowrap;text-align:left;direction:rtl;flex:1;min-width:0;overflow:hidden}.diff-pad{padding:.5rem}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}.term-wrap{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.term{background:#000;flex:1;min-height:0}.term .xterm{height:100%;padding:.25rem 0 0 .25rem}.term-dead{z-index:10;background:#0000008c;place-items:center;display:grid;position:absolute;inset:0}.term-copied{z-index:10;color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--panel));border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));pointer-events:none;border-radius:999px;padding:.3rem .9rem;font-size:.8rem;animation:1.2s forwards term-copied-fade;position:absolute;bottom:1rem;left:50%;translate:-50%}@keyframes term-copied-fade{0%{opacity:0;translate:-50% .25rem}12%{opacity:1;translate:-50%}75%{opacity:1}to{opacity:0}}.term-uploading{background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:.1rem .6rem;font-size:.78rem;position:absolute;top:.4rem;right:.6rem}.trap-backdrop{z-index:30;background:#00000073;place-items:start center;padding-top:15dvh;display:grid;position:fixed;inset:0}.paste-trap{background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.6rem;width:min(20rem,85vw);padding:1rem;display:flex}.paste-trap p{text-align:center;margin:0}.kb-slot{flex-shrink:0}.key-bar{padding:.4rem max(1.5rem, calc(env(safe-area-inset-right) + .75rem)) max(.75rem, env(safe-area-inset-bottom)) max(1.5rem, calc(env(safe-area-inset-left) + .75rem));border-top:1px solid var(--border);background:var(--panel);align-items:center;gap:.3rem;display:flex}.kspacer{flex:1;justify-content:center;align-items:center;min-width:0;display:flex}.sess-btn{position:relative}.sess-dot{width:6px;height:6px;position:absolute;top:4px;right:4px}.sess-pop{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);min-width:9rem;color:inherit;flex-direction:column;margin:0;padding:.25rem;display:none;position:fixed;inset:auto;box-shadow:0 4px 16px #00000040}.sess-pop:popover-open{display:flex}.sess-row{border-radius:var(--radius);align-items:center;display:flex}.sess-row.current{background:color-mix(in srgb, var(--accent) 10%, transparent)}.sess-open{text-align:left;border-radius:var(--radius);flex:1;align-items:center;gap:.5rem;min-width:0;padding:.55rem .7rem;font-family:monospace;display:flex}.sess-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sess-open:hover{background:color-mix(in srgb, currentColor 8%, transparent)}.sess-x{border-radius:var(--radius);width:2.2rem;color:var(--dim);flex-shrink:0;align-self:stretch}.sess-x:hover{color:var(--danger)}.sess-x.armed{background:var(--danger);color:#fff}.sess-edit:hover{color:var(--text)}.sess-new{border-top:1px solid var(--border);justify-content:center;gap:.3rem;margin-top:.25rem;padding-top:.35rem;display:flex}.sess-new.lone{border-top:0;margin-top:0;padding-top:0}.key-bar{position:relative}.kbar-ws{bottom:max(.3rem, calc(env(safe-area-inset-bottom) - 1rem));left:max(1.5rem, calc(env(safe-area-inset-left) + .75rem));right:max(1.5rem, calc(env(safe-area-inset-right) + .75rem));pointer-events:none;justify-content:center;align-items:center;gap:.3rem;font-size:.78rem;line-height:1;display:flex;position:absolute}.kbar-ws-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.kbtn{--icon-btn-size:2.6rem;background:color-mix(in srgb, currentColor 7%, transparent)}.kbtn-esc{letter-spacing:.02em;font-size:.78rem;font-weight:600}@media (width<=399px){.key-bar{gap:.2rem}.kbtn{--icon-btn-size:2.35rem}}.kbtn:hover{background:color-mix(in srgb, currentColor 7%, transparent)}.kbtn:active{background:color-mix(in srgb, var(--accent) 15%, transparent)}.dpad-grid .repeat{touch-action:none;-webkit-user-select:none;user-select:none}.kb-toggle.on,.kb-toggle.on:hover{color:var(--accent);background:color-mix(in srgb, var(--accent) 15%, transparent)}.dpad-grid{background:var(--panel);border:1px solid var(--border);color:inherit;border-radius:12px;grid-template-columns:repeat(3,3rem);grid-auto-rows:3rem;gap:.25rem;margin:0;padding:.4rem;position:fixed;inset:auto .5rem 6.5rem auto}.dpad-grid:popover-open{display:grid}.dpad-grid button{background:color-mix(in srgb, currentColor 7%, transparent);border-radius:var(--radius);justify-content:center;align-items:center;font-family:monospace;font-size:1rem;display:inline-flex}.dpad-grid button:active{background:color-mix(in srgb, var(--accent) 15%, transparent)}.dpad-grid .big-glyph{font-size:1.45rem}.dpad-grid .enter{background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent)}.usage-modal .manage-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.usage-row{grid-template-columns:7.5rem 1fr;align-items:start;gap:.2rem .75rem;display:grid}.usage-name{flex-direction:column;min-width:0;display:flex}.usage-name .dim{text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.usage-stale{color:var(--lightningcss-light,#bf8700)var(--lightningcss-dark,#d4a72c);white-space:nowrap;font-size:.7rem}.usage-row.stale .usage-meters{opacity:.55}.usage-meters{flex-direction:column;gap:.25rem;min-width:0;display:flex}.meter{grid-template-columns:2.4rem 1fr 2.6rem 2.9rem;align-items:center;gap:.5rem;display:grid}@media (width<=359px){.meter{grid-template-columns:2.4rem 1fr 2.6rem}.meter-reset{display:none}}.meter-label{font-size:.72rem}.meter-track{background:color-mix(in srgb, currentColor 12%, transparent);border-radius:3px;height:6px;overflow:hidden}.meter-fill{background:var(--accent);border-radius:3px;height:100%;display:block}.meter-fill.warm{background:var(--lightningcss-light,#bf8700)var(--lightningcss-dark,#d4a72c)}.meter-fill.hot{background:var(--danger)}.meter-pct{font-variant-numeric:tabular-nums;text-align:right;font-size:.75rem}.meter-reset{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.72rem}.usage-list{flex-direction:column;gap:.75rem;display:flex}@media (width<=480px){.usage-row{grid-template-columns:1fr}}.usage-modal p{align-items:center;gap:.4rem;margin:0;display:flex}.work-view{flex-direction:row;flex:1;min-width:0;min-height:0;display:flex}.main-col{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.term-area{flex-direction:column;flex:1;min-height:0;display:flex}.term-area.as-bar{flex:none}.pad-inline{padding:1rem}.empty-sess{flex-direction:column;align-items:center;gap:.6rem;padding:min(14dvh,6rem) 1rem 1rem;display:flex}.empty-sess p{margin:0}main{height:100%;min-height:0;padding-top:env(safe-area-inset-top);flex-direction:column;display:flex;position:relative}.boot{justify-content:center;align-items:center;gap:.5rem;padding-top:min(20dvh,10rem);display:flex}
1
+ :root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;--bg:var(--lightningcss-light,#fafafa)var(--lightningcss-dark,#131316);--panel:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1b1b1f);--border:var(--lightningcss-light,#e4e4e8)var(--lightningcss-dark,#2a2a30);--text:var(--lightningcss-light,#1a1a1e)var(--lightningcss-dark,#e8e8ec);--dim:var(--lightningcss-light,#6e6e76)var(--lightningcss-dark,#9a9aa4);--accent:var(--lightningcss-light,#3556d8)var(--lightningcss-dark,#7c96ff);--danger:var(--lightningcss-light,#b00020)var(--lightningcss-dark,#ff8080);--radius:8px;font-family:system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:var(--app-height,100dvh);overflow:hidden}body{background:var(--bg);color:var(--text);margin:0;font-size:14px}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}input,select{font:inherit;color:inherit;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:.45rem .6rem}@media (pointer:coarse){input,textarea,select{font-size:16px}}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}code{font-size:.92em}.btn{background:color-mix(in srgb, currentColor 8%, transparent);border-radius:var(--radius);padding:.4rem .75rem}.btn:hover{background:color-mix(in srgb, currentColor 14%, transparent)}.btn.primary{background:var(--accent);color:var(--lightningcss-light,#fff)var(--lightningcss-dark,#10131f)}.btn.danger{color:var(--danger)}.btn.danger.armed{background:var(--danger);border-color:var(--danger);color:#fff}:where(button:has(>.icon)){align-items:center;gap:.35rem;display:inline-flex}.icon-btn{width:var(--icon-btn-size,2.15rem);height:var(--icon-btn-size,2.15rem);border-radius:var(--radius);background:color-mix(in srgb, currentColor 8%, transparent);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover{background:color-mix(in srgb, currentColor 14%, transparent)}.chip{background:color-mix(in srgb, currentColor 10%, transparent);color:var(--dim);white-space:nowrap;border-radius:5px;align-items:center;gap:.25em;padding:.05em .5em;font-size:.8rem;line-height:1.5;display:inline-flex}.chip.lane{color:var(--accent)}.chip.pr{color:var(--lightningcss-light,#1a7f37)var(--lightningcss-dark,#57d364);text-decoration:none}.chip.pr.draft,.dim{color:var(--dim)}.mono{font-family:monospace}.spacer{flex:1}.dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.dot.working{background:var(--lightningcss-light,#bf8700)var(--lightningcss-dark,#d4a72c)}.dot.waiting{background:var(--danger)}.dot.idle{background:color-mix(in srgb, var(--dim) 55%, transparent)}.dot.off{border:1px solid var(--dim)}.split-btn{border-radius:var(--radius);background:color-mix(in srgb, currentColor 8%, transparent);align-items:stretch;display:inline-flex;position:relative;overflow:hidden}.split-btn:after{content:"";border-right:1.5px solid var(--dim);border-bottom:1.5px solid var(--dim);pointer-events:none;width:.32em;height:.32em;position:absolute;top:50%;right:.7rem;translate:0 -70%;rotate:45deg}.split-btn.primary:after{border-color:var(--accent)}.split-btn>button{border-radius:0;justify-content:center;align-items:center;gap:.3rem;padding:.35rem .6rem;display:inline-flex}.split-btn>button:hover{background:color-mix(in srgb, currentColor 10%, transparent)}.split-btn>select{appearance:none;border:0;border-left:1px solid var(--border);background:0 0;border-radius:0;min-width:0;padding:.3rem 1.5rem .3rem .6rem;font-size:.85rem}.split-btn.primary{background:var(--panel);border:1px solid var(--accent)}.split-btn.primary>button{background:var(--accent);color:var(--lightningcss-light,#fff)var(--lightningcss-dark,#10131f)}.split-btn.primary>button:hover{background:color-mix(in srgb, var(--accent) 88%, var(--lightningcss-light,#000)var(--lightningcss-dark,#fff))}.split-btn.primary>select{color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);border-left:0;font-weight:500}.split-btn>button:disabled,.split-btn>select:disabled{opacity:.6}.split-btn.grow,.split-btn.grow>select{flex:1;min-width:0}.toast-error{top:calc(env(safe-area-inset-top) + .6rem);z-index:40;background:var(--panel);max-width:min(30rem,100vw - 2rem);color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 45%, transparent);border-radius:var(--radius);overflow-wrap:anywhere;margin:0;padding:.5rem .75rem;position:fixed;left:50%;translate:-50%;box-shadow:0 4px 16px #00000040}.spin{border:2px solid color-mix(in srgb, currentColor 25%, transparent);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:.7rem;height:.7rem;animation:.8s linear infinite work-spin;display:inline-block}.icon-btn.spinning svg{animation:.8s linear infinite work-spin}@keyframes work-spin{to{rotate:360deg}}.icon{flex-shrink:0;display:block}.palette-backdrop{z-index:29;background:#00000059;position:fixed;inset:0}.palette{z-index:30;background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:min(34rem,100vw - 1.5rem);display:flex;position:fixed;top:min(12dvh,6rem);left:50%;overflow:hidden;translate:-50%}.palette>input{border:0;border-bottom:1px solid var(--border);border-radius:0;padding:.75rem .9rem;font-size:1rem}.palette>input:focus-visible{outline:none}.palette.inline{margin:min(12dvh,6rem) auto 0;position:static;translate:none}@media (width<=899px){.palette:not(.inline){top:calc(env(safe-area-inset-top) + .5rem);width:auto;height:calc(var(--app-height,100dvh) - env(safe-area-inset-top) - 4.4rem - env(safe-area-inset-bottom));left:.5rem;right:.5rem;translate:none}.palette:not(.inline) .rows{flex:1;min-height:0;max-height:none}}.rows{max-height:min(50dvh,22rem);margin:0;padding:.3rem;list-style:none;overflow-y:auto}.row-wrap{align-items:stretch;gap:.15rem;display:flex}.row{text-align:left;border-radius:var(--radius);flex-direction:column;flex:1;gap:.15rem;min-width:0;padding:.45rem .6rem;display:flex}.row-more{color:var(--dim);border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;padding:0 .5rem;display:inline-flex}.row-more:hover{color:var(--text);background:color-mix(in srgb, currentColor 8%, transparent)}.row.hi{background:color-mix(in srgb, var(--accent) 12%, transparent)}.row.archived{opacity:.6}.cmd-row{color:var(--accent);font-weight:500}.onboard{padding:.9rem 1rem 0;font-size:.85rem}.onboard p{margin:0 0 .6rem;line-height:1.5}.row-name{align-items:center;gap:.4rem;min-width:0;font-weight:600;display:flex}.row-name-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.row-stats{flex-shrink:0}.chip.open{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent)}.row-stats{align-items:center;gap:.3rem;margin-left:auto;font-weight:500;display:inline-flex}.chip.stat{align-items:center;gap:.25rem;display:inline-flex}.row-repos{color:var(--dim);flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.82rem;display:flex}.palette-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;min-height:2rem;padding:.4rem .6rem .4rem .9rem;font-size:.78rem;display:flex}.palette-foot .hint{text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}@media (pointer:coarse){.palette-foot .hint{display:none}.palette-foot{justify-content:space-between}}.palette-foot select{padding:.15rem .35rem;font-size:.8rem}.archived-link{border-radius:var(--radius);align-self:start;margin:0 .3rem .3rem;padding:.15rem .6rem;font-size:.78rem}.archived-link:hover{color:var(--text);background:color-mix(in srgb, currentColor 8%, transparent)}.add-repo>input{width:100%}.repo-results{border:1px solid var(--border);border-radius:var(--radius);margin:.3rem 0 0;padding:.25rem;list-style:none}.result-wrap{border-radius:var(--radius);align-items:stretch;gap:.15rem;display:flex}.result-wrap.hi{background:color-mix(in srgb, var(--accent) 12%, transparent)}.result-row{text-align:left;border-radius:var(--radius);flex:1;align-items:center;gap:.5rem;min-width:0;padding:.35rem .5rem;display:flex}.result-branch{border-radius:var(--radius);width:2rem;color:var(--dim);flex:none;font-size:.85rem}.result-branch:hover,.result-branch.on{color:inherit;background:color-mix(in srgb, currentColor 10%, transparent)}.branch-pick{border-left:2px solid var(--border);margin:.15rem 0 .3rem 1.4rem;padding-left:.5rem}.branch-pick>input{width:100%;margin:.2rem 0}.branch-list{margin:0;padding:0;list-style:none}.result-plus{color:var(--dim)}.repo-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.empty-note{margin:0;padding:.3rem .1rem;font-size:.85rem}.repos-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.repos-head .icon-btn{--icon-btn-size:1.7rem}.manage .repos-head h3{margin:0}.cur-repos{flex-direction:column;gap:.15rem;margin:0 0 .5rem;padding:0;list-style:none;display:flex}.cur-repo{border-radius:var(--radius);background:color-mix(in srgb, currentColor 5%, transparent);align-items:center;gap:.5rem;min-width:0;padding:.3rem .5rem;display:flex}.cur-repo.pending{color:var(--dim)}.cur-worktree{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:45%;font-weight:600;overflow:hidden}.cur-full{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.82rem;overflow:hidden}.cur-base{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:10rem;font-size:.75rem;overflow:hidden}.cur-remove{width:1.5rem;height:1.5rem;color:var(--dim);border-radius:var(--radius);justify-content:center;align-items:center;padding:0;display:inline-flex}.cur-remove:hover{color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent)}.cur-remove.armed,.cur-remove.armed:hover{color:#fff;background:var(--danger);width:auto;padding:0 .5rem;font-size:.75rem}.manage-backdrop{z-index:34;background:#00000059;position:fixed;inset:0}.manage-view{z-index:35;width:min(42rem,100vw - 1.5rem);max-height:calc(var(--app-height,100dvh) - min(8dvh, 4rem) - 1rem);background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;min-height:0;display:flex;position:fixed;top:min(8dvh,4rem);left:50%;overflow:hidden;translate:-50%;box-shadow:0 12px 40px #00000059}.manage{flex-direction:column;flex:1;gap:1rem;min-height:0;padding:1rem 1.25rem;display:flex;overflow-y:auto}.manage-bar{border-top:1px solid var(--border);background:var(--panel);flex-wrap:wrap;align-items:center;gap:.35rem .4rem;padding:.5rem .75rem;display:flex}@media (width<=899px){.manage-view{width:auto;max-height:none;height:var(--app-height,100dvh);box-shadow:none;border:none;border-radius:0;inset:0;translate:none}.manage{padding-top:max(1rem, calc(env(safe-area-inset-top) + .5rem))}.manage-bar{padding-bottom:max(.5rem, env(safe-area-inset-bottom));padding-left:max(.75rem, calc(env(safe-area-inset-left) + .5rem));padding-right:max(.75rem, calc(env(safe-area-inset-right) + .5rem))}}.manage-head h2{overflow-wrap:anywhere;margin:0 0 .15rem}.manage-head p{word-break:break-all;margin:0;font-size:.8rem}.manage section h3{text-transform:uppercase;letter-spacing:.06em;color:var(--dim);margin:0 0 .4rem;font-size:.85rem}.manage section>input{width:100%;margin-bottom:.4rem}.act-step{text-overflow:ellipsis;white-space:nowrap;flex:8rem;align-items:center;gap:.4rem;min-width:0;font-size:.8rem;display:inline-flex;overflow:hidden}.pr-repo+.pr-repo{margin-top:.5rem}.pr-repo-name{margin-bottom:.2rem;font-size:.75rem}.pr-list{margin:0;padding:0;list-style:none}.pr-list li{align-items:center;gap:.5rem;min-width:0;padding:.25rem 0;font-size:.85rem;display:flex}.pr-spacer{flex:1}.pr-dismiss{width:1.5rem;height:1.5rem;color:var(--dim);border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.pr-dismiss:hover{color:var(--ok,#2da44e);background:color-mix(in srgb, currentColor 12%, transparent)}.pr-state{text-transform:uppercase;letter-spacing:.04em;border-radius:5px;flex-shrink:0;padding:.05em .45em;font-size:.7rem;font-weight:600}.pr-state.open{color:var(--lightningcss-light,#1a7f37)var(--lightningcss-dark,#57d364);background:color-mix(in srgb, currentColor 12%, transparent)}.pr-state.merged{color:var(--lightningcss-light,#8250df)var(--lightningcss-dark,#b794f6);background:color-mix(in srgb, currentColor 12%, transparent)}.pr-state.closed{color:var(--danger);background:color-mix(in srgb, currentColor 12%, transparent)}.pr-link{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:inherit;white-space:nowrap;align-items:baseline;gap:.35rem;min-width:0;text-decoration:none;display:inline-flex;overflow:hidden}.pr-link:hover{text-decoration:underline}.procs{margin:0;padding:0;list-style:none}.procs li{justify-content:space-between;align-items:center;gap:.4rem;padding:.25rem 0;font-size:.85rem;display:flex}.proc-cmd{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.3rem;min-width:0;display:inline-flex;overflow:hidden}.proc-kill{color:var(--dim);padding:0 .4rem}.port-link{cursor:pointer}.port-link:hover{color:var(--accent);text-decoration:underline}.proc-kill:hover{color:var(--danger)}.new-ws .field{flex-direction:column;gap:.25rem;max-width:20rem;display:flex}.steps{flex-direction:column;gap:.3rem;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.steps li{color:var(--dim);overflow-wrap:anywhere;align-items:center;gap:.45rem;min-width:0;display:flex}.steps li.active{color:var(--text)}.step-done{color:var(--lightningcss-light,#1a7f37)var(--lightningcss-dark,#57d364);text-align:center;width:.9rem}.side-nav{border-right:1px solid var(--border);background:var(--panel);flex-direction:column;flex-shrink:0;width:16rem;display:flex;overflow-y:auto}@media (width<=899px){.side-nav{z-index:25;width:min(17rem,85vw);padding-top:env(safe-area-inset-top);transition:translate .2s;position:fixed;top:0;bottom:0;left:0;translate:-100%;box-shadow:0 0 32px #0000004d}.side-nav.open{translate:0}.side-nav .side-list{display:flex!important}.side-rail{display:none!important}.side-nav .side-foot{border-top:1px solid var(--border);padding:.6rem max(1.5rem, calc(env(safe-area-inset-right) + .75rem)) max(.75rem, env(safe-area-inset-bottom)) max(1.5rem, calc(env(safe-area-inset-left) + .75rem));justify-content:flex-end;gap:.5rem}.side-foot .nav-toggle,.side-foot .spacer{display:none}.side-nav{width:min(19rem,88vw);font-size:1rem}.side-nav .side-list{gap:.5rem;padding:.6rem .6rem .4rem}.side-nav .side-ws-btn{gap:.5rem;padding:.6rem;font-size:1.05rem}.side-nav .side-ws-row .row-icon,.side-nav .side-ws-row .close,.side-nav .side-sess .row-icon,.side-nav .side-sess .close{visibility:visible;width:2.5rem;height:2.5rem;font-size:1.1rem}.side-nav .side-sessions{gap:.25rem;padding-left:1rem}.side-nav .side-sess-btn{padding:.6rem;font-size:1rem}.side-nav .side-sess .row-icon{display:inline-flex}.side-nav .side-foot .icon-btn{--icon-btn-size:2.75rem}.side-nav .dot{width:9px;height:9px}}.notify-btn.on{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.drawer-backdrop{z-index:24;background:#00000059;position:fixed;inset:0}@media (width>=900px){.notify-btn.on{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.drawer-backdrop{display:none}}.side-list{flex-direction:column;flex:1;gap:.35rem;padding:.45rem .45rem .25rem;display:flex}.side-foot{align-items:center;gap:.3rem;padding:.3rem .45rem .45rem;display:flex}@media (width>=900px){.side-nav.closed{width:auto}.side-nav.closed .side-list{display:none}.side-nav.closed .side-foot{flex-direction:column;justify-content:flex-end}.side-nav.closed .side-foot>.icon-btn:first-of-type{order:10}}.side-rail{flex-direction:column;flex:1;gap:.3rem;padding:.45rem;display:flex}.rail-btn{background:color-mix(in srgb, currentColor 7%, transparent);font-weight:600;position:relative}.rail-btn.current,.rail-btn.current:hover{background:var(--accent);color:var(--lightningcss-light,#fff)var(--lightningcss-dark,#101321)}.rail-btn:not(.current):hover{background:color-mix(in srgb, currentColor 12%, transparent)}.rail-btn .dot{width:6px;height:6px;position:absolute;top:3px;right:3px}.side-ws{border-radius:var(--radius);padding:.15rem}.side-ws.current{background:color-mix(in srgb, var(--accent) 8%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent)}.side-ws-row{align-items:center;display:flex}.side-ws-btn{text-align:left;border-radius:var(--radius);flex:1;align-items:center;gap:.4rem;min-width:0;padding:.35rem .45rem;font-weight:600;display:flex}.side-ws:not(.current) .side-ws-btn:hover{background:color-mix(in srgb, currentColor 7%, transparent)}.side-ws-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.side-ws-row .row-icon,.side-ws-row .close,.side-sess .row-icon,.side-sess .close{width:1.6rem;height:1.6rem;color:var(--dim);border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.side-sess .row-icon,.side-sess .close{visibility:hidden}.side-sess:hover .row-icon,.side-sess:hover .close{visibility:visible}.side-ws-row .row-icon:hover,.side-sess .row-icon:hover{color:var(--text);background:color-mix(in srgb, currentColor 8%, transparent)}.side-ws-row .close:hover,.side-sess .close:hover{color:var(--danger)}.side-sessions{flex-direction:column;gap:.1rem;padding:.1rem .1rem .3rem .9rem;display:flex}.side-sessions:not(:has(*)){display:none}.side-sess{border-radius:var(--radius);align-items:center;display:flex}.side-sess.current{background:color-mix(in srgb, var(--accent) 14%, transparent)}.side-sess-btn{text-align:left;border-radius:var(--radius);text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:.4rem;min-width:0;padding:.3rem .45rem;display:flex;overflow:hidden}.side-sess:not(.current) .side-sess-btn:hover{background:color-mix(in srgb, currentColor 7%, transparent)}.rail-pop .side-ws.current{box-shadow:none;background:0 0}.rail-pop{z-index:40;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);min-width:14rem;max-width:20rem;padding:.25rem;position:fixed;box-shadow:0 8px 24px #00000040}.new-session-pop{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);min-width:8rem;color:inherit;flex-direction:column;margin:0;padding:.25rem;display:none;position:fixed;inset:auto}.new-session-pop:popover-open{display:flex}.new-session-pop button{text-align:left;border-radius:var(--radius);align-items:center;gap:.5rem;padding:.45rem .7rem;font-family:monospace;display:flex}.side-sess-btn .sess-icon{vertical-align:-2px;opacity:.75;margin-right:.15rem;display:inline-block}.new-session-pop button:hover{background:color-mix(in srgb, currentColor 8%, transparent)}.side-chips{flex-wrap:wrap;gap:.3rem;padding:.25rem .1rem .1rem;display:flex}.side-sess .close.armed,.side-sess .close.armed:hover{visibility:visible;color:#fff;background:var(--danger)}button.chip.pr{cursor:pointer;font:inherit;border:0}.chip.pr.rejected{color:var(--danger)}.chip.port-chip{padding:0;overflow:hidden}.port-chip .port-open{color:inherit;padding:.05em .15em .05em .5em}.port-chip .port-open:hover{color:var(--accent);text-decoration:underline}.port-chip .port-kill{color:var(--dim);padding:.05em .4em .05em .2em;line-height:1.5}.port-chip .port-kill:hover{color:var(--danger)}.port-chip .port-kill.armed,.port-chip .port-kill.armed:hover{color:#fff;background:var(--danger)}.diff-file{border:1px solid var(--border);border-radius:var(--radius);--diffs-font-size:12.5px;max-width:100%;overflow:hidden}@media (width<=899px){.diff-file{--diffs-font-size:11.5px}}.diff-view{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.refresh-chip{z-index:5;background:var(--panel);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.35rem;padding:.15rem .6rem;font-size:.78rem;display:inline-flex;position:absolute;top:.5rem;right:.75rem}.tree{border-right:1px solid var(--border);flex-shrink:0;width:15rem;padding:.6rem .4rem;font-size:.8rem;display:none;overflow-y:auto}@media (width>=900px){.tree{display:block}.tree.closed{display:none}}.diff-tools .tree-toggle{display:none}.tree-toggle.on{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent)}@media (width>=900px){.diff-tools .tree-toggle{display:inline-flex}}.tree-repo+.tree-repo{margin-top:.75rem}.tree-repo-name{text-align:left;align-items:baseline;gap:.25rem;width:100%;padding:.15rem .35rem;font-weight:700;display:flex}.tree-dir{overflow-wrap:anywhere;padding:.25rem .35rem .05rem;font-size:.72rem}.tree-file{text-align:left;border-radius:var(--radius);align-items:flex-start;gap:.35rem;width:100%;padding:.18rem .35rem;display:flex}.tree-file:hover{background:color-mix(in srgb, currentColor 7%, transparent)}.tree-file.seen{opacity:.55}.tree-file-name{overflow-wrap:anywhere;flex:1;min-width:0}.tree-note{font-size:.7rem}.diff-col{flex-direction:column;flex:1;min-width:0;padding-top:.75rem;display:flex}.diff-col>.diff-head,.diff-col>.diff-tools{padding-inline:.75rem}.diff-main{flex:1;min-width:0;min-height:0;padding:0 .75rem .75rem;overflow:hidden auto}.diff-head{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.head-actions{flex-wrap:wrap;align-items:center;gap:.4rem;min-width:0;max-width:100%;margin-left:auto;display:flex}.head-actions .split-btn{min-width:0;max-width:100%}.head-actions .split-btn>select{max-width:8rem}.diff-stats{flex-wrap:wrap;align-items:center;gap:.3rem;display:inline-flex}.diff-tools{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.6rem;display:flex}.two-dot{color:var(--dim);white-space:nowrap;cursor:pointer;align-items:center;gap:.35em;font-size:.8rem;display:inline-flex}.file-filter{flex:1;min-width:0;padding:.35rem .55rem;font-size:.85rem}.repo-section+.repo-section{margin-top:1rem}.repo-sep{text-align:left;border-bottom:2px solid var(--border);align-items:baseline;gap:.5rem;width:100%;min-width:0;margin-bottom:.4rem;padding:.3rem .1rem;font-weight:700;display:flex}.repo-sep .mono,.repo-sep .dim{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;overflow:hidden}.repo-sep .dim{font-size:.78rem;font-weight:400}.repo-meta{flex-wrap:wrap;align-items:center;gap:.4rem;margin:0 0 .5rem;display:flex}.files{flex-direction:column;gap:.75rem;display:flex}.file{min-width:0}.diff-wait{border:1px solid var(--border);border-radius:var(--radius);min-height:16rem}.tree-dir{text-align:left;align-items:baseline;gap:.25rem;width:100%;display:flex}.tree-dir:hover{color:var(--text)}.tree-chev{flex-shrink:0;font-size:.6rem}.file>:not(summary){content-visibility:auto;contain-intrinsic-size:auto 24rem}.file>summary{cursor:pointer;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);z-index:1;align-items:center;gap:.5rem;padding:.35rem .5rem;font-family:monospace;font-size:.85rem;list-style:none;display:flex;position:sticky;top:0}.file[open]>summary{border-bottom-right-radius:0;border-bottom-left-radius:0}.status{font-weight:700}.status.A{color:var(--lightningcss-light,#1a7f37)var(--lightningcss-dark,#57d364)}.status.D{color:var(--danger)}.status.M{color:var(--accent)}.path{text-overflow:ellipsis;white-space:nowrap;text-align:left;direction:rtl;flex:1;min-width:0;overflow:hidden}.file:not([open])>summary .path{white-space:normal;overflow-wrap:anywhere;direction:ltr}.viewed{align-items:center;gap:.3rem;font-size:.75rem;display:inline-flex}.center-pad{text-align:center;padding:2rem}.diff-skel p{align-items:center;gap:.5rem;margin:0 0 .75rem;display:flex}.skel-row{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb, currentColor 4%, transparent);height:2.2rem;margin-bottom:.75rem}.files-btn{white-space:nowrap;font-size:.85rem;display:none}@media (width<=899px){.files-btn{display:inline-block}}.sheet-backdrop{z-index:34;background:#00000059;position:fixed;inset:0}.file-sheet{z-index:35;background:var(--panel);border-top:1px solid var(--border);max-height:min(70dvh,30rem);padding-bottom:env(safe-area-inset-bottom);border-radius:12px 12px 0 0;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0}.sheet-head{align-items:center;gap:.6rem;padding:.6rem .4rem .4rem .9rem;display:flex}.sheet-head .dim{flex:1;font-size:.8rem}.sheet-list{min-height:0;padding:0 .4rem .4rem;overflow-y:auto}.sheet-file{text-align:left;border-radius:var(--radius);align-items:center;gap:.5rem;width:100%;padding:.55rem .5rem;font-size:.85rem;display:flex}.sheet-file.seen{opacity:.55}.sheet-path{text-overflow:ellipsis;white-space:nowrap;text-align:left;direction:rtl;flex:1;min-width:0;overflow:hidden}.diff-pad{padding:.5rem}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}.term-wrap{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.term{background:#000;flex:1;min-height:0}.term .xterm{height:100%;padding:.25rem 0 0 .25rem}.term-dead{z-index:10;background:#0000008c;place-items:center;display:grid;position:absolute;inset:0}.term-copied{z-index:10;color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--panel));border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));pointer-events:none;border-radius:999px;padding:.3rem .9rem;font-size:.8rem;animation:1.2s forwards term-copied-fade;position:absolute;bottom:1rem;left:50%;translate:-50%}@keyframes term-copied-fade{0%{opacity:0;translate:-50% .25rem}12%{opacity:1;translate:-50%}75%{opacity:1}to{opacity:0}}.term-uploading{background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:.1rem .6rem;font-size:.78rem;position:absolute;top:.4rem;right:.6rem}.trap-backdrop{z-index:30;background:#00000073;place-items:start center;padding-top:15dvh;display:grid;position:fixed;inset:0}.paste-trap{background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.6rem;width:min(20rem,85vw);padding:1rem;display:flex}.paste-trap p{text-align:center;margin:0}.kb-slot{flex-shrink:0}.key-bar{padding:.4rem max(1.5rem, calc(env(safe-area-inset-right) + .75rem)) max(.75rem, env(safe-area-inset-bottom)) max(1.5rem, calc(env(safe-area-inset-left) + .75rem));border-top:1px solid var(--border);background:var(--panel);align-items:center;gap:.3rem;display:flex}.kspacer{flex:1;justify-content:center;align-items:center;min-width:0;display:flex}.sess-btn{position:relative}.sess-dot{width:6px;height:6px;position:absolute;top:4px;right:4px}.sess-pop{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);min-width:9rem;color:inherit;flex-direction:column;margin:0;padding:.25rem;display:none;position:fixed;inset:auto;box-shadow:0 4px 16px #00000040}.sess-pop:popover-open{display:flex}.sess-row{border-radius:var(--radius);align-items:center;display:flex}.sess-row.current{background:color-mix(in srgb, var(--accent) 10%, transparent)}.sess-open{text-align:left;border-radius:var(--radius);flex:1;align-items:center;gap:.5rem;min-width:0;padding:.55rem .7rem;font-family:monospace;display:flex}.sess-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sess-open:hover{background:color-mix(in srgb, currentColor 8%, transparent)}.sess-x{border-radius:var(--radius);width:2.2rem;color:var(--dim);flex-shrink:0;align-self:stretch}.sess-x:hover{color:var(--danger)}.sess-x.armed{background:var(--danger);color:#fff}.sess-edit:hover{color:var(--text)}.sess-new{border-top:1px solid var(--border);justify-content:center;gap:.3rem;margin-top:.25rem;padding-top:.35rem;display:flex}.sess-new.lone{border-top:0;margin-top:0;padding-top:0}.key-bar{position:relative}.kbar-ws{bottom:max(.3rem, calc(env(safe-area-inset-bottom) - 1rem));left:max(1.5rem, calc(env(safe-area-inset-left) + .75rem));right:max(1.5rem, calc(env(safe-area-inset-right) + .75rem));pointer-events:none;justify-content:center;align-items:center;gap:.3rem;font-size:.78rem;line-height:1;display:flex;position:absolute}.kbar-ws-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.kbtn{--icon-btn-size:2.6rem;background:color-mix(in srgb, currentColor 7%, transparent)}.kbtn-esc{letter-spacing:.02em;font-size:.78rem;font-weight:600}@media (width<=399px){.key-bar{gap:.2rem}.kbtn{--icon-btn-size:2.35rem}}.kbtn:hover{background:color-mix(in srgb, currentColor 7%, transparent)}.kbtn:active{background:color-mix(in srgb, var(--accent) 15%, transparent)}.dpad-grid .repeat{touch-action:none;-webkit-user-select:none;user-select:none}.kb-toggle.on,.kb-toggle.on:hover{color:var(--accent);background:color-mix(in srgb, var(--accent) 15%, transparent)}.dpad-grid{background:var(--panel);border:1px solid var(--border);color:inherit;border-radius:12px;grid-template-columns:repeat(3,3rem);grid-auto-rows:3rem;gap:.25rem;margin:0;padding:.4rem;position:fixed;inset:auto .5rem 6.5rem auto}.dpad-grid:popover-open{display:grid}.dpad-grid button{background:color-mix(in srgb, currentColor 7%, transparent);border-radius:var(--radius);justify-content:center;align-items:center;font-family:monospace;font-size:1rem;display:inline-flex}.dpad-grid button:active{background:color-mix(in srgb, var(--accent) 15%, transparent)}.dpad-grid .big-glyph{font-size:1.45rem}.dpad-grid .enter{background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent)}.usage-modal .manage-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.usage-row{grid-template-columns:7.5rem 1fr;align-items:start;gap:.2rem .75rem;display:grid}.usage-name{flex-direction:column;min-width:0;display:flex}.usage-name .dim{text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.usage-stale{color:var(--lightningcss-light,#bf8700)var(--lightningcss-dark,#d4a72c);white-space:nowrap;font-size:.7rem}.usage-row.stale .usage-meters{opacity:.55}.usage-meters{flex-direction:column;gap:.25rem;min-width:0;display:flex}.meter{grid-template-columns:2.4rem 1fr 2.6rem 2.9rem;align-items:center;gap:.5rem;display:grid}@media (width<=359px){.meter{grid-template-columns:2.4rem 1fr 2.6rem}.meter-reset{display:none}}.meter-label{font-size:.72rem}.meter-track{background:color-mix(in srgb, currentColor 12%, transparent);border-radius:3px;height:6px;overflow:hidden}.meter-fill{background:var(--accent);border-radius:3px;height:100%;display:block}.meter-fill.warm{background:var(--lightningcss-light,#bf8700)var(--lightningcss-dark,#d4a72c)}.meter-fill.hot{background:var(--danger)}.meter-pct{font-variant-numeric:tabular-nums;text-align:right;font-size:.75rem}.meter-reset{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.72rem}.usage-list{flex-direction:column;gap:.75rem;display:flex}@media (width<=480px){.usage-row{grid-template-columns:1fr}}.usage-modal p{align-items:center;gap:.4rem;margin:0;display:flex}.prompt-dlg{width:min(26rem,100vw - 1.5rem)}.prompt-dlg .prompt-title{margin:0;font-size:1rem}@media (width<=899px){.prompt-dlg{border:1px solid var(--border);border-radius:12px;height:auto;inset:min(8dvh,4rem) auto auto 50%;translate:-50%;box-shadow:0 12px 40px #00000059}}.work-view{flex-direction:row;flex:1;min-width:0;min-height:0;display:flex}.main-col{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.term-area{flex-direction:column;flex:1;min-height:0;display:flex}.term-area.as-bar{flex:none}.pad-inline{padding:1rem}.empty-sess{flex-direction:column;align-items:center;gap:.6rem;padding:min(14dvh,6rem) 1rem 1rem;display:flex}.empty-sess p{margin:0}main{height:100%;min-height:0;padding-top:env(safe-area-inset-top);flex-direction:column;display:flex;position:relative}.boot{justify-content:center;align-items:center;gap:.5rem;padding-top:min(20dvh,10rem);display:flex}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dylanpiercey/work",
3
- "version": "0.0.6",
3
+ "version": "0.0.8",
4
4
  "type": "module",
5
5
  "description": "Web GUI for agentic dev workspaces",
6
6
  "license": "MIT",
@@ -58,6 +58,147 @@ for (const { path: wsPath } of db
58
58
  }
59
59
  if (removed) console.log(`==> migrate: removed ${removed} legacy hook file(s)`);
60
60
 
61
+ // A workspace's AGENTS.md is only rewritten when its repos change, so
62
+ // existing ones never learn that the stash is shared between worktrees of
63
+ // the same bare cache. Splice the bullet in ahead of the push one (keep in
64
+ // sync with writeAgentsMd in src/server/workspaces.ts).
65
+ const STASH_BULLET =
66
+ "- **No `git stash`:** every workspace using a repo shares one stash stack, so\n" +
67
+ " a pop can take another workspace's work. Commit WIP to your branch instead.\n";
68
+ let noted = 0;
69
+ for (const { path: wsPath } of db
70
+ .prepare("SELECT path FROM workspaces")
71
+ .all()) {
72
+ const file = path.join(wsPath, "AGENTS.md");
73
+ try {
74
+ const text = fs.readFileSync(file, "utf8");
75
+ const at = text.indexOf("- **Push:**");
76
+ if (at < 0 || text.includes("git stash")) continue;
77
+ fs.writeFileSync(file, text.slice(0, at) + STASH_BULLET + text.slice(at));
78
+ noted++;
79
+ } catch {}
80
+ }
81
+ if (noted) console.log(`==> migrate: noted the shared stash in ${noted} AGENTS.md`);
82
+
83
+ // The review is commit-to-commit by default; fold that into the stash
84
+ // bullet rather than appending another one. Keep in sync with writeAgentsMd.
85
+ const OLD_STASH_END = "Commit WIP to your branch instead.";
86
+ const NEW_STASH_END =
87
+ "Commit as you go — uncommitted work isn't part of the review.";
88
+ let restated = 0;
89
+ for (const { path: wsPath } of db
90
+ .prepare("SELECT path FROM workspaces")
91
+ .all()) {
92
+ const file = path.join(wsPath, "AGENTS.md");
93
+ try {
94
+ const text = fs.readFileSync(file, "utf8");
95
+ if (!text.includes(OLD_STASH_END)) continue;
96
+ fs.writeFileSync(file, text.replace(OLD_STASH_END, NEW_STASH_END));
97
+ restated++;
98
+ } catch {}
99
+ }
100
+ if (restated) console.log(`==> migrate: restated the stash bullet in ${restated} AGENTS.md`);
101
+
102
+ // Same rewrite-on-create-only problem: existing AGENTS.md never learn to
103
+ // rebase after a squash-merge. Keep in sync with writeAgentsMd.
104
+ const REBASE_BULLET =
105
+ "- **Rebase after merge:** when `origin/<base>` (or a stacked parent) moves,\n" +
106
+ " rebase onto it. A squash-merge does not move the fork point, so the review\n" +
107
+ " keeps showing landed work until you do.\n";
108
+ let rebased = 0;
109
+ for (const { path: wsPath } of db
110
+ .prepare("SELECT path FROM workspaces")
111
+ .all()) {
112
+ const file = path.join(wsPath, "AGENTS.md");
113
+ try {
114
+ const text = fs.readFileSync(file, "utf8");
115
+ const at = text.indexOf("- **PRs:**");
116
+ if (at < 0 || text.includes("Rebase after merge")) continue;
117
+ fs.writeFileSync(file, text.slice(0, at) + REBASE_BULLET + text.slice(at));
118
+ rebased++;
119
+ } catch {}
120
+ }
121
+ if (rebased) console.log(`==> migrate: noted rebase-after-merge in ${rebased} AGENTS.md`);
122
+
123
+ // Branch rules: stay on the workspace branch; reset it after it lands;
124
+ // topic lanes only when that branch must stay open. Replaces both the
125
+ // original "cut a lane per PR" parallel text and the later "need more
126
+ // than one? stack" wording. Keep in sync with writeAgentsMd.
127
+ let restatedBranches = 0;
128
+ for (const { path: wsPath } of db
129
+ .prepare("SELECT path FROM workspaces")
130
+ .all()) {
131
+ const file = path.join(wsPath, "AGENTS.md");
132
+ try {
133
+ let text = fs.readFileSync(file, "utf8");
134
+ const found = text.match(/Workspace branch: \*\*`([^`]+)`\*\*/);
135
+ if (!found || text.includes("must stay unmerged")) continue;
136
+ const branch = found[1];
137
+ const branches =
138
+ `- **Branches:** stay on \`${branch}\` and keep pushing it — one open PR, more\n` +
139
+ ` commits. After it lands, \`git fetch\` and reset \`${branch}\` to\n` +
140
+ ` \`origin/<base>\` so the next change reuses this branch. Do not cut a\n` +
141
+ ` \`${branch}-<topic>\` just to start the next piece of work.\n` +
142
+ ` A topic lane is only for when \`${branch}\` must stay unmerged (a larger\n` +
143
+ ` change) and you need a second PR on top of it. Then push every repo's\n` +
144
+ ` workspace branch first, cut from the parent —\n` +
145
+ ` \`git switch -c ${branch}-<topic> origin/${branch}\` — and keep the prefix.\n` +
146
+ ` Only two levels: never \`${branch}-a-b\`. Tooling finds PRs by that prefix,\n` +
147
+ ` so a branch named anything else is invisible: never invent one.\n`;
148
+ const rebase =
149
+ `- **Rebase after merge:** when \`${branch}\` is still open and \`origin/<base>\`\n` +
150
+ " moves, rebase onto it — a squash-merge does not move the fork point, so the\n" +
151
+ " review keeps showing landed work until you do. On a topic lane, rebase onto\n" +
152
+ ` \`${branch}\` when the parent moves; after the parent merges: \`git fetch\n` +
153
+ " --prune`, rebase onto `origin/<base>`, and retarget (`gh pr edit --base\n" +
154
+ " <base>`).\n";
155
+ const prs =
156
+ "- **PRs:** the description covers only what is in the diff — a few sentences on\n" +
157
+ " what changed and why. No verification logs or file-by-file detail. A topic\n" +
158
+ ` lane's PR is \`gh pr create --base ${branch}\` — GitHub will otherwise target\n` +
159
+ " the repo default, and the local review will disagree with the files tab.\n";
160
+ const next = text
161
+ .replace(/- \*\*Branches:\*\*[\s\S]*?never invent one.\n/, branches)
162
+ .replace(/- \*\*PRs:\*\*[\s\S]*?file-by-file detail\.\n/, prs);
163
+ const withRebase = next.includes("- **Rebase after merge:**")
164
+ ? next.replace(
165
+ /- \*\*Rebase after merge:\*\*[\s\S]*?(?:until you do|<base>`\)\.)\n/,
166
+ rebase,
167
+ )
168
+ : next;
169
+ if (withRebase === text) continue;
170
+ fs.writeFileSync(file, withRebase);
171
+ restatedBranches++;
172
+ } catch {}
173
+ }
174
+ if (restatedBranches) {
175
+ console.log(`==> migrate: restated branch rules in ${restatedBranches} AGENTS.md`);
176
+ }
177
+
178
+ // Default review base/algorithm changed (workspace branch vs origin/<base>,
179
+ // containment empty-check, then commit-to-commit). Existing comments and
180
+ // viewed flags are keyed only by path+line, so they would silently
181
+ // re-anchor. Wipe once — this script runs on every update.
182
+ {
183
+ const wr = new DatabaseSync(dbPath);
184
+ try {
185
+ const FLAG = "review-cleared-diff-v2";
186
+ const seen = wr.prepare("SELECT 1 FROM settings WHERE key = ?").get(FLAG);
187
+ if (!seen) {
188
+ const comments = wr.prepare("DELETE FROM review_comments").run();
189
+ const viewed = wr.prepare("DELETE FROM review_viewed").run();
190
+ wr.prepare("INSERT INTO settings (key, value) VALUES (?, '1')").run(FLAG);
191
+ if (comments.changes || viewed.changes) {
192
+ console.log(
193
+ `==> migrate: cleared ${comments.changes} review comment(s) and ${viewed.changes} viewed flag(s)`,
194
+ );
195
+ }
196
+ }
197
+ } finally {
198
+ wr.close();
199
+ }
200
+ }
201
+
61
202
  // Backfill the push-signal hook into bare caches that predate it (new
62
203
  // caches get it from ensureBare — keep this script in sync with
63
204
  // src/server/repo-events.ts).