@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,math,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.19.1"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .katex-base,.katex .katex-strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .katex-vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .katex-thinbox{display:inline-flex;flex-direction:row;max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .katex-hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.katex-root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .katex-sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .katex-stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .katex-stretchy:after,.katex .katex-stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .katex-sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .reflectbox{display:inline-block;transform:scaleX(-1)}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}:is(.loomcycle-code-editor,.loomcycle-structured-editor){--_ce-font: var(--lc-ce-font, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);--_ce-font-size: var(--lc-ce-font-size, 12.5px);--_ce-bg: var(--lc-ce-bg, #ffffff);--_ce-fg: var(--lc-ce-fg, #1f2328);--_ce-gutter-bg: var(--lc-ce-gutter-bg, #f6f8fa);--_ce-gutter-fg: var(--lc-ce-gutter-fg, #8c959f);--_ce-rule: var(--lc-ce-rule, #d0d7de);--_ce-active-line: var(--lc-ce-active-line, rgba(140, 149, 159, .1));--_ce-selection: var(--lc-ce-selection, rgba(84, 174, 255, .3));--_ce-match: var(--lc-ce-match, rgba(84, 174, 255, .18));--_ce-error: var(--lc-ce-error, #cf222e);--_ce-key: var(--lc-ce-key, #0550ae);--_ce-string: var(--lc-ce-string, #0a3069);--_ce-number: var(--lc-ce-number, #953800);--_ce-bool: var(--lc-ce-bool, #8250df);--_ce-null: var(--lc-ce-null, #8250df);--_ce-punct: var(--lc-ce-punct, #57606a);--_ce-comment: var(--lc-ce-comment, #6e7781);--_ce-meta: var(--lc-ce-meta, #cf222e)}@media(prefers-color-scheme:dark){:is(.loomcycle-code-editor,.loomcycle-structured-editor){--_ce-bg: var(--lc-ce-bg, #0d1117);--_ce-fg: var(--lc-ce-fg, #e6edf3);--_ce-gutter-bg: var(--lc-ce-gutter-bg, #161b22);--_ce-gutter-fg: var(--lc-ce-gutter-fg, #6e7681);--_ce-rule: var(--lc-ce-rule, #30363d);--_ce-active-line: var(--lc-ce-active-line, rgba(110, 118, 129, .12));--_ce-selection: var(--lc-ce-selection, rgba(56, 139, 253, .35));--_ce-match: var(--lc-ce-match, rgba(56, 139, 253, .2));--_ce-error: var(--lc-ce-error, #ff7b72);--_ce-key: var(--lc-ce-key, #79c0ff);--_ce-string: var(--lc-ce-string, #a5d6ff);--_ce-number: var(--lc-ce-number, #ffa657);--_ce-bool: var(--lc-ce-bool, #d2a8ff);--_ce-null: var(--lc-ce-null, #d2a8ff);--_ce-punct: var(--lc-ce-punct, #8b949e);--_ce-comment: var(--lc-ce-comment, #8b949e);--_ce-meta: var(--lc-ce-meta, #ff7b72)}}[data-theme=light] :is(.loomcycle-code-editor,.loomcycle-structured-editor){--_ce-bg: var(--lc-ce-bg, #ffffff);--_ce-fg: var(--lc-ce-fg, #1f2328);--_ce-gutter-bg: var(--lc-ce-gutter-bg, #f6f8fa);--_ce-gutter-fg: var(--lc-ce-gutter-fg, #8c959f);--_ce-rule: var(--lc-ce-rule, #d0d7de);--_ce-active-line: var(--lc-ce-active-line, rgba(140, 149, 159, .1));--_ce-selection: var(--lc-ce-selection, rgba(84, 174, 255, .3));--_ce-match: var(--lc-ce-match, rgba(84, 174, 255, .18));--_ce-error: var(--lc-ce-error, #cf222e);--_ce-key: var(--lc-ce-key, #0550ae);--_ce-string: var(--lc-ce-string, #0a3069);--_ce-number: var(--lc-ce-number, #953800);--_ce-bool: var(--lc-ce-bool, #8250df);--_ce-null: var(--lc-ce-null, #8250df);--_ce-punct: var(--lc-ce-punct, #57606a);--_ce-comment: var(--lc-ce-comment, #6e7781);--_ce-meta: var(--lc-ce-meta, #cf222e)}[data-theme=dark] :is(.loomcycle-code-editor,.loomcycle-structured-editor){--_ce-bg: var(--lc-ce-bg, #0d1117);--_ce-fg: var(--lc-ce-fg, #e6edf3);--_ce-gutter-bg: var(--lc-ce-gutter-bg, #161b22);--_ce-gutter-fg: var(--lc-ce-gutter-fg, #6e7681);--_ce-rule: var(--lc-ce-rule, #30363d);--_ce-active-line: var(--lc-ce-active-line, rgba(110, 118, 129, .12));--_ce-selection: var(--lc-ce-selection, rgba(56, 139, 253, .35));--_ce-match: var(--lc-ce-match, rgba(56, 139, 253, .2));--_ce-error: var(--lc-ce-error, #ff7b72);--_ce-key: var(--lc-ce-key, #79c0ff);--_ce-string: var(--lc-ce-string, #a5d6ff);--_ce-number: var(--lc-ce-number, #ffa657);--_ce-bool: var(--lc-ce-bool, #d2a8ff);--_ce-null: var(--lc-ce-null, #d2a8ff);--_ce-punct: var(--lc-ce-punct, #8b949e);--_ce-comment: var(--lc-ce-comment, #8b949e);--_ce-meta: var(--lc-ce-meta, #ff7b72)}.loomcycle-code-editor{display:flex;flex-direction:column;min-height:0;height:100%;border:1px solid var(--_ce-rule);border-radius:6px;overflow:hidden;background:var(--_ce-bg)}.loomcycle-code-editor .lc-ce-host{flex:1;min-height:0;display:flex;flex-direction:column}.loomcycle-code-editor .lc-ce-host>.cm-editor{flex:1;min-height:0}.loomcycle-code-editor .lc-ce-plain{flex:1;min-height:0;resize:none;border:0;outline:none;padding:4px 8px;font-family:var(--_ce-font);font-size:var(--_ce-font-size);line-height:1.5;background:var(--_ce-bg);color:var(--_ce-fg);white-space:pre;overflow:auto}.loomcycle-code-editor .lc-ce-plain[data-wrap]{white-space:pre-wrap;overflow-wrap:anywhere}.loomcycle-code-editor .lc-ce-hint{padding:2px 8px;font-size:.8em;color:var(--_ce-gutter-fg);border-top:1px solid var(--_ce-rule)}.loomcycle-code-editor .tok-propertyName{color:var(--_ce-key)}.loomcycle-code-editor .tok-string,.loomcycle-code-editor .tok-string2{color:var(--_ce-string)}.loomcycle-code-editor .tok-number{color:var(--_ce-number)}.loomcycle-code-editor .tok-bool,.loomcycle-code-editor .tok-atom{color:var(--_ce-bool)}.loomcycle-code-editor .tok-null{color:var(--_ce-null)}.loomcycle-code-editor .tok-punctuation,.loomcycle-code-editor .tok-operator{color:var(--_ce-punct)}.loomcycle-code-editor .tok-comment{color:var(--_ce-comment);font-style:italic}.loomcycle-code-editor .tok-meta,.loomcycle-code-editor .tok-labelName,.loomcycle-code-editor .tok-typeName{color:var(--_ce-meta)}.loomcycle-code-editor .tok-invalid{color:var(--_ce-meta);text-decoration:underline wavy}.loomcycle-structured-editor{display:flex;flex-direction:column;gap:4px;min-height:0;height:100%}.loomcycle-structured-editor>.loomcycle-code-editor{flex:1;height:auto}.loomcycle-structured-editor .lc-ce-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:.85em}.loomcycle-structured-editor .lc-ce-formats{display:inline-flex;border:1px solid var(--_ce-rule);border-radius:5px;overflow:hidden}.loomcycle-structured-editor .lc-ce-format{border:0;margin:0;padding:2px 10px;font:inherit;font-size:.9em;letter-spacing:.03em;cursor:pointer;background:transparent;color:inherit;opacity:.7}.loomcycle-structured-editor .lc-ce-format+.lc-ce-format{border-left:1px solid var(--_ce-rule)}.loomcycle-structured-editor .lc-ce-format[aria-pressed=true]{opacity:1;font-weight:600;background:var(--_ce-selection)}.loomcycle-structured-editor .lc-ce-wrap{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.loomcycle-structured-editor .lc-ce-note{opacity:.65}.loomcycle-structured-editor .lc-ce-toolbar-extra{margin-left:auto;display:flex;gap:8px}.loomcycle-structured-editor .lc-ce-error{font-size:.85em;color:var(--_ce-error);white-space:pre-wrap}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.loomboard-workflow{--lb-wf-bg: #ffffff;--lb-wf-fg: #1a1a1a;--lb-wf-muted: #6b7280;--lb-wf-border: #d4d4d8;--lb-wf-surface: #f7f7f8;--lb-wf-accent: #2563eb;--lb-wf-success: #16a34a;--lb-wf-pushback: #dc2626;--lb-wf-conditional: #d97706;--lb-wf-error-bg: #fef2f2;--lb-wf-info-bg: #f0f9ff;display:flex;flex-direction:column;height:100%;min-height:420px;color:var(--lb-wf-fg);background:var(--lb-wf-bg);font:13px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}.loomboard-workflow[data-theme=dark],[data-theme=dark] .loomboard-workflow:not([data-theme=light]){--lb-wf-bg: #0f1115;--lb-wf-fg: #e5e7eb;--lb-wf-muted: #9ca3af;--lb-wf-border: #2f3540;--lb-wf-surface: #171a21;--lb-wf-accent: #60a5fa;--lb-wf-error-bg: #2a1416;--lb-wf-info-bg: #0d1f2b}.loomboard-workflow .lb-wf-toolbar{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--lb-wf-border);background:var(--lb-wf-surface)}.loomboard-workflow .lb-wf-toolbar__name{font-size:13px}.loomboard-workflow .lb-wf-toolbar__spacer{flex:1}.loomboard-workflow .lb-wf-btn{padding:4px 10px;border:1px solid var(--lb-wf-border);border-radius:5px;background:var(--lb-wf-bg);color:inherit;font:inherit;cursor:pointer}.loomboard-workflow .lb-wf-btn:disabled{opacity:.5;cursor:not-allowed}.loomboard-workflow .lb-wf-btn--primary{border-color:var(--lb-wf-accent);color:var(--lb-wf-accent)}.loomboard-workflow .lb-wf-badge{padding:2px 8px;border-radius:999px;font-size:12px}.loomboard-workflow .lb-wf-badge--error{background:var(--lb-wf-error-bg);color:var(--lb-wf-pushback)}.loomboard-workflow .lb-wf-badge--ok{color:var(--lb-wf-success)}.loomboard-workflow .lb-wf-error{padding:8px 10px;background:var(--lb-wf-error-bg);color:var(--lb-wf-pushback);border-bottom:1px solid var(--lb-wf-border)}.loomboard-workflow .lb-wf-body{display:flex;flex:1;min-height:0}.loomboard-workflow .lb-wf-graph{flex:1;min-width:0}.loomboard-workflow .lb-wf-inspector{width:320px;flex:none;padding:10px;border-left:1px solid var(--lb-wf-border);background:var(--lb-wf-surface);overflow:auto}.loomboard-workflow .lb-wf-inspector--empty{color:var(--lb-wf-muted)}.loomboard-workflow .lb-wf-field{display:block;margin-bottom:10px}.loomboard-workflow .lb-wf-field__label{display:block;margin-bottom:3px;color:var(--lb-wf-muted);font-size:12px}.loomboard-workflow .lb-wf-input{width:100%;padding:4px 6px;border:1px solid var(--lb-wf-border);border-radius:4px;background:var(--lb-wf-bg);color:inherit;font:inherit}.loomboard-workflow .lb-wf-json{margin:6px 0 0;padding:8px;border-radius:4px;background:var(--lb-wf-bg);border:1px solid var(--lb-wf-border);overflow:auto;font-size:12px;white-space:pre}.loomboard-workflow .lb-wf-node{min-width:170px;max-width:260px;padding:8px 10px;border:1px solid var(--lb-wf-border);border-radius:7px;background:var(--lb-wf-bg);box-shadow:0 1px 2px #00000014}.loomboard-workflow .lb-wf-node.is-selected{border-color:var(--lb-wf-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--lb-wf-accent) 30%,transparent)}.loomboard-workflow .lb-wf-node.has-error{border-color:var(--lb-wf-pushback)}.loomboard-workflow .lb-wf-node--terminal{border-radius:18px;background:var(--lb-wf-surface)}.loomboard-workflow .lb-wf-node--opaque{border-style:dashed;background:var(--lb-wf-surface)}.loomboard-workflow .lb-wf-node__head{display:flex;align-items:center;gap:6px}.loomboard-workflow .lb-wf-node__title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loomboard-workflow .lb-wf-node__entry{padding:1px 5px;border-radius:3px;background:var(--lb-wf-accent);color:#fff;font-size:10px;text-transform:uppercase}.loomboard-workflow .lb-wf-node__kind{margin-left:auto;color:var(--lb-wf-muted);font-size:11px}.loomboard-workflow .lb-wf-node__body,.loomboard-workflow .lb-wf-node__opaque{margin-top:6px}.loomboard-workflow .lb-wf-node__opaque{color:var(--lb-wf-muted);font-size:11px}.loomboard-workflow .lb-wf-node__agents{display:flex;flex-wrap:wrap;gap:4px}.loomboard-workflow .lb-wf-node__agent{max-width:100%;padding:1px 6px;border-radius:3px;background:var(--lb-wf-surface);border:1px solid var(--lb-wf-border);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loomboard-workflow .lb-wf-node__meta{margin-top:4px;color:var(--lb-wf-muted);font-size:11px}.loomboard-workflow .lb-wf-node__hooks{color:var(--lb-wf-accent)}.loomboard-workflow .lb-wf-node__pulse{margin-top:4px;font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--lb-wf-accent)}.loomboard-workflow .lb-wf-node__pulse--held{color:var(--lb-wf-conditional);font-weight:600}.loomboard-workflow .lb-wf-node__findings{margin-top:6px}.loomboard-workflow .lb-wf-handle{width:8px;height:8px;background:var(--lb-wf-accent);border:none}.loomboard-workflow .lb-wf-handle--loop{opacity:.4}.loomboard-workflow .lb-wf-handle--loop:hover{opacity:1}.loomboard-workflow .react-flow__handle-bottom[data-handleid=t-bottom]{left:35%}.loomboard-workflow .react-flow__handle-bottom[data-handleid=s-bottom]{left:65%}.loomboard-workflow .lb-wf-finding{padding:3px 6px;border-radius:3px;font-size:11px;overflow:hidden;text-overflow:ellipsis}.loomboard-workflow .lb-wf-finding--error{background:var(--lb-wf-error-bg);color:var(--lb-wf-pushback)}.loomboard-workflow .lb-wf-finding--info{background:var(--lb-wf-info-bg);color:var(--lb-wf-muted)}.loomboard-workflow .lb-wf-findings{max-height:120px;margin:0;padding:6px 10px;border-top:1px solid var(--lb-wf-border);background:var(--lb-wf-surface);list-style:none;overflow:auto}.loomboard-workflow .lb-wf-findings li+li{margin-top:3px}.loomboard-workflow .lb-wf-edge--success .react-flow__edge-path{stroke:var(--lb-wf-success)}.loomboard-workflow .lb-wf-edge--pushback .react-flow__edge-path{stroke:var(--lb-wf-pushback);stroke-dasharray:5 3}.loomboard-workflow .lb-wf-edge--conditional .react-flow__edge-path{stroke:var(--lb-wf-conditional)}.loomboard-workflow .react-flow__edge-text{fill:var(--lb-wf-fg);font-size:11px}.loomboard-workflow .react-flow__minimap{width:168px;height:116px;background:var(--lb-wf-surface);border:1px solid var(--lb-wf-border);border-radius:6px}.loomboard-workflow .react-flow__minimap-mask{fill:color-mix(in srgb,var(--lb-wf-bg) 65%,transparent)}.loomboard-workflow .react-flow__minimap-node{fill:var(--lb-wf-accent);stroke:none}.loomboard-workflow .react-flow__minimap-node.is-terminal{fill:var(--lb-wf-muted)}.loomboard-workflow .react-flow__minimap-node.is-opaque{fill:var(--lb-wf-conditional)}.loomboard-workflow .lb-wf-node--starter{border-left:3px solid var(--lb-wf-accent)}.loomboard-workflow .lb-wf-node--channel{min-width:130px;border-style:dashed}.loomboard-workflow .lb-wf-node--channelref{min-width:150px;border-radius:999px;border-color:var(--lb-wf-data);padding:6px 16px}.loomboard-workflow .lb-wf-node--channelref .lb-wf-node__title{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.loomboard-workflow .lb-wf-node__warn{color:var(--lb-wf-conditional);font-weight:600}.loomboard-workflow .react-flow__minimap-node.is-channelref{fill:var(--lb-wf-data)}.loomboard-workflow .lb-wf-node--agentref{min-width:170px;border-color:var(--lb-wf-accent)}.loomboard-workflow .react-flow__minimap-node.is-agentref{fill:var(--lb-wf-accent)}.loomboard-workflow .lb-wf-node__result{margin-top:4px;border-top:1px solid var(--lb-wf-border);padding-top:4px;max-width:260px}.loomboard-workflow .lb-wf-node__result-text{margin:2px 0 0;max-height:6em;overflow:hidden;white-space:pre-wrap;word-break:break-word;font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.loomboard-workflow .lb-wf-node--binding{min-width:170px;border-style:dotted;border-color:var(--lb-wf-muted)}.loomboard-workflow .lb-wf-node--binding .lb-wf-node__title{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.loomboard-workflow .lb-wf-edge--binding .react-flow__edge-path{stroke:var(--lb-wf-muted);stroke-dasharray:1 3;stroke-width:1.5}.loomboard-workflow .lb-wf-edge--binding{pointer-events:none}.loomboard-workflow{--lb-wf-variable: #b45309}.loomboard-workflow .lb-wf-node--variable{min-width:150px;border-radius:14px;border-color:var(--lb-wf-variable)}.loomboard-workflow .lb-wf-node--variable .lb-wf-node__title{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--lb-wf-variable)}.loomboard-workflow .lb-wf-node--variable.is-unset{border-style:dashed}.loomboard-workflow .lb-wf-handle--variable{background:var(--lb-wf-variable)}.loomboard-workflow .lb-wf-edge--variable .react-flow__edge-path{stroke:var(--lb-wf-variable);stroke-dasharray:4 3;stroke-width:1.5}.loomboard-workflow .lb-wf-edge--variable{pointer-events:none}.loomboard-workflow .react-flow__minimap-node.is-binding{fill:var(--lb-wf-muted)}.loomboard-workflow .lb-wf-node__channel{margin-top:4px;font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loomboard-workflow .lb-wf-node__channel--in{color:var(--lb-wf-accent)}.loomboard-workflow .lb-wf-node__channel--out{color:var(--lb-wf-data)}.loomboard-workflow{--lb-wf-data: #7c3aed}.loomboard-workflow[data-theme=dark],[data-theme=dark] .loomboard-workflow:not([data-theme=light]){--lb-wf-data: #a78bfa}.loomboard-workflow .lb-wf-edge--data .react-flow__edge-path,.loomboard-workflow .lb-wf-edge--dispatch .react-flow__edge-path{stroke:var(--lb-wf-data);stroke-width:2}.loomboard-workflow .lb-wf-edge--data,.loomboard-workflow .lb-wf-edge--dispatch{pointer-events:none}.loomboard-workflow .lb-wf-edge--follows .react-flow__edge-path{stroke:var(--lb-wf-muted);stroke-width:1;opacity:.6}.loomboard-workflow .lb-wf-edge--follows .react-flow__edge-text{fill:var(--lb-wf-muted)}.loomboard-workflow .lb-wf-toggle{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--lb-wf-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.loomboard-workflow .lb-wf-edge--data .react-flow__edge-text{fill:var(--lb-wf-data);font-size:10px}.loomboard-workflow .lb-wf-handle--data{background:var(--lb-wf-data);opacity:.5}.loomboard-workflow .lb-wf-handle--data:hover{opacity:1}.loomboard-workflow .lb-wf-inspector--team .lb-wf-inspector__hint{margin:0 0 12px;color:var(--lb-wf-muted)}.loomboard-workflow .lb-wf-team{padding-top:10px;border-top:1px solid var(--lb-wf-border)}.loomboard-workflow .lb-wf-team__title{margin:0 0 4px;font-size:13px}.loomboard-workflow .lb-wf-team__hint,.loomboard-workflow .lb-wf-team__warn{margin:0 0 10px;color:var(--lb-wf-muted);font-size:11px}.loomboard-workflow .lb-wf-team__warn{margin:8px 0 0;color:var(--lb-wf-conditional)}.loomboard-workflow .lb-wf-team__list{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;resize:vertical}.loomboard-workflow .lb-wf-node--vars,.loomboard-workflow .lb-wf-node--input{min-width:140px}.loomboard-workflow .lb-wf-node__var{padding:1px 6px;border-radius:3px;background:var(--lb-wf-surface);border:1px solid var(--lb-wf-border);color:var(--lb-wf-conditional);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.loomboard-workflow .lb-wf-phase{padding:2px 8px;border-radius:999px;font-size:12px;color:var(--lb-wf-muted)}.loomboard-workflow .lb-wf-phase--running{background:var(--lb-wf-info-bg);color:var(--lb-wf-accent)}.loomboard-workflow .lb-wf-phase--parked{background:var(--lb-wf-error-bg);color:var(--lb-wf-conditional)}.loomboard-workflow .lb-wf-phase--ended{color:var(--lb-wf-fg)}.loomboard-workflow .lb-wf-walk-id{font-size:11px;color:var(--lb-wf-muted)}.loomboard-workflow .lb-wf-graph.is-locked .react-flow__node{cursor:default}.loomboard-workflow .lb-wf-publish{padding:10px;border-bottom:1px solid var(--lb-wf-border);background:var(--lb-wf-surface)}.loomboard-workflow .lb-wf-publish__head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.loomboard-workflow .lb-wf-publish__scope{color:var(--lb-wf-muted);font-size:11px}.loomboard-workflow .lb-wf-publish__payload{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;resize:vertical}.loomboard-workflow .lb-wf-publish__issues{margin:0 0 8px;padding:0;list-style:none}.loomboard-workflow .lb-wf-publish__issues li+li{margin-top:4px}.loomboard-workflow .lb-wf-palette{width:150px;flex:none;padding:8px;border-right:1px solid var(--lb-wf-border);background:var(--lb-wf-surface);overflow:auto}.loomboard-workflow .lb-wf-palette__group+.lb-wf-palette__group{margin-top:12px}.loomboard-workflow .lb-wf-palette__title{margin:0 0 5px;color:var(--lb-wf-muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.loomboard-workflow .lb-wf-palette__item{display:block;width:100%;margin-bottom:4px;padding:5px 8px;border:1px solid var(--lb-wf-border);border-radius:5px;background:var(--lb-wf-bg);color:inherit;font:inherit;font-size:12px;text-align:left;cursor:pointer}.loomboard-workflow button.lb-wf-palette__item:hover:not(:disabled){border-color:var(--lb-wf-accent);color:var(--lb-wf-accent)}.loomboard-workflow .lb-wf-palette__item:disabled{opacity:.5;cursor:not-allowed}.loomboard-workflow .lb-wf-palette__item--external{border-style:dashed;background:transparent;color:var(--lb-wf-muted);cursor:default}.loomboard-workflow .lb-wf-palette__tag{display:block;font-size:10px;font-style:italic}.loomboard-workflow .lb-wf-runs{margin:8px 0 12px}.loomboard-workflow .lb-wf-runs__list{margin:0;padding:0;list-style:none}.loomboard-workflow .lb-wf-team-own__decision{margin-top:8px;padding-top:8px;border-top:1px solid var(--lb-wf-border)}.loomboard-workflow .lb-wf-runs__children{margin:4px 0 4px 10px}.loomboard-workflow .lb-wf-runs__row{border:1px solid var(--lb-wf-border);border-left-width:3px;border-radius:6px;margin-bottom:6px;background:var(--lb-wf-bg)}.loomboard-workflow .lb-wf-runs__row--running,.loomboard-workflow .lb-wf-runs__row--waiting{border-left-color:var(--lb-wf-accent)}.loomboard-workflow .lb-wf-runs__row--held{border-left-color:var(--lb-wf-conditional)}.loomboard-workflow .lb-wf-runs__row--completed{border-left-color:var(--lb-wf-success)}.loomboard-workflow .lb-wf-runs__row--failed,.loomboard-workflow .lb-wf-runs__row--rejected,.loomboard-workflow .lb-wf-runs__row--cancelled{border-left-color:var(--lb-wf-pushback)}.loomboard-workflow .lb-wf-runs__head{display:flex;gap:8px;width:100%;padding:6px 8px;border:none;background:none;color:inherit;font:inherit;font-size:12px;text-align:left;cursor:pointer}.loomboard-workflow .lb-wf-runs__phase{font-weight:600;min-width:70px}.loomboard-workflow .lb-wf-runs__agent{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loomboard-workflow .lb-wf-runs__where,.loomboard-workflow .lb-wf-runs__meta,.loomboard-workflow .lb-wf-runs__note{color:var(--lb-wf-muted);font-size:11px}.loomboard-workflow .lb-wf-runs__note{padding:0 8px 6px}.loomboard-workflow .lb-wf-runs__detail{padding:0 8px 8px}.loomboard-workflow .lb-wf-runs__tabs{display:flex;gap:4px;margin-bottom:6px}.loomboard-workflow .lb-wf-runs__tabs button{border:1px solid var(--lb-wf-border);border-radius:4px;background:var(--lb-wf-surface);color:inherit;font-size:11px;padding:2px 8px;cursor:pointer}.loomboard-workflow .lb-wf-runs__tabs button[aria-selected=true]{border-color:var(--lb-wf-accent);color:var(--lb-wf-accent)}.loomboard-workflow .lb-wf-runs__text{margin:4px 0;padding:6px 8px;max-height:260px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:12px;background:var(--lb-wf-surface);border-radius:4px}.loomboard-workflow .lb-wf-output{max-height:280px;overflow:auto;padding:8px 12px;border-top:1px solid var(--lb-wf-border);background:var(--lb-wf-surface)}.loomboard-workflow .lb-wf-output__head{display:flex;align-items:center;gap:6px;margin-bottom:6px}.loomboard-workflow .lb-wf-output__channel+.lb-wf-output__channel{margin-top:10px}.loomboard-workflow .lb-wf-output__list{margin:4px 0 0;padding:0;list-style:none}.loomboard-workflow .lb-wf-output__msg+.lb-wf-output__msg{margin-top:6px}.loomboard-workflow .lb-wf-node__form{list-style:none;margin:2px 0;padding:0;font-size:11px}.loomboard-workflow .lb-wf-node__form li{display:flex;justify-content:space-between;gap:8px}.loomboard-workflow .lb-wf-node__form code{color:var(--lb-wf-muted)}.loomboard-workflow .lb-wf-node__start{margin-top:6px;width:100%}.loomboard-workflow .lb-wf-start{padding:10px;border-bottom:1px solid var(--lb-wf-border);background:var(--lb-wf-surface);display:grid;gap:8px;max-width:640px}.loomboard-workflow .lb-wf-start__head{display:flex;align-items:center;gap:8px}.loomboard-workflow .lb-wf-start__field{display:grid;gap:2px}.loomboard-workflow .lb-wf-start__field label{font-size:12px;display:flex;gap:6px;align-items:baseline}.loomboard-workflow .lb-wf-start__var{font-size:11px;color:var(--lb-wf-muted)}.loomboard-workflow .lb-wf-start__field input,.loomboard-workflow .lb-wf-start__field select,.loomboard-workflow .lb-wf-start__field textarea{font:inherit;padding:4px 6px}.loomboard-workflow .lb-wf-form-editor{display:grid;gap:8px;margin-bottom:12px}.loomboard-workflow .lb-wf-form-editor__field{display:grid;gap:4px;border:1px solid var(--lb-wf-border);border-radius:4px;padding:6px 8px;font-size:12px}.loomboard-workflow .lb-wf-form-editor__field label{display:grid;gap:2px}.loomboard-workflow .lb-wf-form-editor__check{display:flex!important;align-items:center;gap:6px}.loomboard-workflow .lb-wf-form-editor__add{display:flex;gap:6px}.loomboard-workflow{--lb-wf-run-active: #38bdf8;--lb-wf-run-active-hi: #bae6fd;--lb-wf-run-active-edge: #0284c7;--lb-wf-run-passed: #6ee7a0;--lb-wf-run-passed-edge: #16a34a;--lb-wf-run-taken: #22e06b}.loomboard-workflow .lb-wf-node.is-active,.loomboard-workflow .lb-wf-node.is-passed{--lb-wf-fg: #0b1a2a;--lb-wf-muted: #23384a;--lb-wf-surface: rgb(255 255 255 / 45%);--lb-wf-accent: #0b4f8a;--lb-wf-conditional: #9a3412;color:#0b1a2a}.loomboard-workflow .lb-wf-node.is-active{border-color:var(--lb-wf-run-active-edge);background-image:linear-gradient(100deg,var(--lb-wf-run-active) 0%,var(--lb-wf-run-active-hi) 25%,var(--lb-wf-run-active) 50%,var(--lb-wf-run-active-hi) 75%,var(--lb-wf-run-active) 100%);background-size:400px 100%;background-repeat:repeat-x;animation:lb-wf-run-wave 2.4s linear infinite,lb-wf-run-flash 1.4s ease-in-out infinite}.loomboard-workflow .lb-wf-node.is-passed{border-color:var(--lb-wf-run-passed-edge);background:var(--lb-wf-run-passed)}@keyframes lb-wf-run-wave{0%{background-position-x:0}to{background-position-x:400px}}@keyframes lb-wf-run-flash{0%,to{box-shadow:0 0 0 2px var(--lb-wf-run-active-edge),inset 0 0 6px 1px #ffffff73}50%{box-shadow:0 0 0 3px var(--lb-wf-run-active-edge),inset 0 0 18px 6px #ffffffe5}}.loomboard-workflow .lb-wf-node__marker{position:absolute;bottom:100%;left:50%;transform:translate(-50%,-8px);padding:2px 8px;border-radius:999px;background:var(--lb-wf-run-active-edge);color:#fff;font-size:11px;font-weight:600;white-space:nowrap;pointer-events:none;animation:lb-wf-run-bob 1.4s ease-in-out infinite}@keyframes lb-wf-run-bob{0%,to{transform:translate(-50%,-8px)}50%{transform:translate(-50%,-12px)}}.loomboard-workflow .lb-wf-edge--taken .react-flow__edge-path{stroke:var(--lb-wf-run-taken);stroke-width:3;stroke-dasharray:none;opacity:1}.loomboard-workflow .lb-wf-edge--taken .react-flow__edge-text{fill:var(--lb-wf-run-passed-edge);font-weight:600}@media(prefers-reduced-motion:reduce){.loomboard-workflow .lb-wf-node.is-active,.loomboard-workflow .lb-wf-node__marker{animation:none}}.loomboard-workflow .lb-wf-node__lines{margin:6px 0 0;padding:5px 6px;list-style:none;border-radius:5px;background:var(--lb-wf-surface);font-size:11px;line-height:1.35}.loomboard-workflow .lb-wf-node__line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loomboard-workflow .lb-wf-node__line--user{font-weight:600}.loomboard-workflow .lb-wf-node__line--tool,.loomboard-workflow .lb-wf-node__line--thinking{color:var(--lb-wf-muted);font-style:italic}.loomboard-workflow .lb-wf-runchat{display:flex;flex-direction:column;width:440px;flex:none;min-height:0;border-left:1px solid var(--lb-wf-border);background:var(--lb-wf-surface)}.loomboard-workflow .lb-wf-runchat__head{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--lb-wf-border)}.loomboard-workflow .lb-wf-runchat__head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loomboard-workflow .lb-wf-runchat__body,.loomboard-workflow .lb-wf-runchat__chat{display:flex;flex-direction:column;flex:1;min-height:0}.loomboard-workflow .lb-wf-result{margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--lb-wf-border)}.loomboard-workflow .lb-wf-result__item+.lb-wf-result__item{margin-top:10px}.loomboard-workflow .lb-wf-result__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 0}.loomboard-workflow .lb-wf-result__body{margin:0;padding:8px;max-height:46vh;overflow:auto;border:1px solid var(--lb-wf-border);border-radius:5px;background:var(--lb-wf-bg);font:inherit;white-space:pre-wrap;overflow-wrap:anywhere}.loomboard-workflow .lb-wf-result__id{display:block;margin-top:4px;color:var(--lb-wf-muted);font-size:11px}.loomboard-workflow .lb-wf-start__vars{margin:8px 0;padding:6px 10px;border:1px solid var(--lb-wf-border);border-radius:6px}.loomboard-workflow .lb-wf-start__vars legend{padding:0 4px;color:var(--lb-wf-muted);font-size:12px}.loomboard-workflow .lb-wf-team-own__kind h4{margin:8px 0 2px;font-size:12px}.loomboard-workflow .lb-wf-team-own__kind ul{margin:0;padding-left:16px}.loomboard-workflow .lb-wf-team-own__facts{color:var(--lb-wf-muted);font-size:12px}.loomboard-workflow .lb-wf-team-own__row{display:flex;align-items:center;gap:4px}.loomboard-workflow .lb-wf-team-own__kind ul{list-style:none;padding-left:0}.loomboard-workflow .lb-wf-team-own__kind li{padding:4px 0;border-bottom:1px solid var(--lb-wf-border)}.loomboard-workflow .lb-wf-team-own__editor{margin:6px 0;padding:6px;border-radius:5px;background:var(--lb-wf-bg)}.loomboard-workflow .lb-wf-team-own__field{display:grid;gap:2px;margin-bottom:6px}.loomboard-workflow .lb-wf-team-own__field input,.loomboard-workflow .lb-wf-team-own__field select,.loomboard-workflow .lb-wf-team-own__field textarea{width:100%;box-sizing:border-box}.loomboard-workflow .lb-wf-team-own__add{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.loomboard-workflow .lb-wf-views{display:inline-flex}.loomboard-workflow .lb-wf-views .lb-wf-btn{border-radius:0}.loomboard-workflow .lb-wf-views .lb-wf-btn:first-child{border-radius:5px 0 0 5px}.loomboard-workflow .lb-wf-views .lb-wf-btn:last-child{border-radius:0 5px 5px 0}.loomboard-workflow .lb-wf-views .lb-wf-btn[aria-pressed=true]{background:var(--lb-wf-accent);border-color:var(--lb-wf-accent);color:#fff}.loomboard-workflow .lb-wf-json{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;border-left:1px solid var(--lb-wf-border)}.loomboard-workflow .lb-wf-body--json .lb-wf-json{border-left:none}.loomboard-workflow .lb-wf-json__head{display:flex;justify-content:flex-end;padding:2px 8px;border-bottom:1px solid var(--lb-wf-border);background:var(--lb-wf-surface)}.loomboard-workflow .lb-wf-json__editor{flex:1;min-height:0;display:flex;flex-direction:column}.loomboard-workflow .lb-wf-json__editor>.loomcycle-code-editor{flex:1;border:none;border-radius:0}.loomboard-workflow .loomcycle-code-editor,.loomboard-workflow .loomcycle-structured-editor{--lc-ce-bg: var(--lb-wf-bg);--lc-ce-fg: var(--lb-wf-fg);--lc-ce-gutter-bg: var(--lb-wf-surface);--lc-ce-gutter-fg: var(--lb-wf-muted);--lc-ce-rule: var(--lb-wf-border);--lc-ce-font: ui-monospace, SFMono-Regular, Menlo, monospace;--lc-ce-font-size: 12px;--lc-ce-active-line: rgba(140, 149, 159, .1);--lc-ce-selection: rgba(84, 174, 255, .3);--lc-ce-match: rgba(84, 174, 255, .18);--lc-ce-error: #cf222e;--lc-ce-key: #0550ae;--lc-ce-string: #0a3069;--lc-ce-number: #953800;--lc-ce-bool: #8250df;--lc-ce-null: #8250df;--lc-ce-punct: #57606a;--lc-ce-comment: #6e7781;--lc-ce-meta: #cf222e}.loomboard-workflow[data-theme=dark] :is(.loomcycle-code-editor,.loomcycle-structured-editor),[data-theme=dark] .loomboard-workflow:not([data-theme=light]) :is(.loomcycle-code-editor,.loomcycle-structured-editor){--lc-ce-active-line: rgba(110, 118, 129, .12);--lc-ce-selection: rgba(56, 139, 253, .35);--lc-ce-match: rgba(56, 139, 253, .2);--lc-ce-error: #ff7b72;--lc-ce-key: #79c0ff;--lc-ce-string: #a5d6ff;--lc-ce-number: #ffa657;--lc-ce-bool: #d2a8ff;--lc-ce-null: #d2a8ff;--lc-ce-punct: #8b949e;--lc-ce-comment: #8b949e;--lc-ce-meta: #ff7b72}.loomboard-workflow .lb-wf-json-banner{padding:6px 10px;background:var(--lb-wf-error-bg);color:var(--lb-wf-pushback);border-bottom:1px solid var(--lb-wf-border)}.loomboard-workflow .lb-wf-finding__go{all:unset;cursor:pointer}.loomboard-workflow .lb-wf-finding__go:hover,.loomboard-workflow .lb-wf-finding__go:focus-visible{text-decoration:underline}.loomboard-workflow .lb-wf-menu{position:relative}.loomboard-workflow .lb-wf-menu>summary{list-style:none;cursor:pointer}.loomboard-workflow .lb-wf-menu>summary::-webkit-details-marker{display:none}.loomboard-workflow .lb-wf-menu__items{position:absolute;z-index:20;top:calc(100% + 4px);left:0;display:grid;gap:4px;padding:6px;min-width:170px;background:var(--lb-wf-surface);border:1px solid var(--lb-wf-border);border-radius:6px}.loomboard-workflow .lb-wf-menu__items .lb-wf-btn{text-align:left}.loomboard-workflow .lb-wf-check{padding:6px 10px;border-top:1px solid var(--lb-wf-border);font-size:12px}.loomboard-workflow .lb-wf-check--ok{color:var(--lb-wf-success)}.loomboard-workflow .lb-wf-check--warn,.loomboard-workflow .lb-wf-check--error{color:var(--lb-wf-pushback)}.loomboard-workflow .lb-wf-check .lb-wf-findings{margin-top:4px}.loomboard-workflow .lb-wf-below{flex:0 1 auto;max-height:40%;min-height:0;overflow-y:auto}.loomboard-workflow .lb-wf-below .lb-wf-output,.loomboard-workflow .lb-wf-below .lb-wf-findings{max-height:none;overflow:visible}.loomboard-workflow .lb-wf-form-editor,.loomboard-workflow .lb-wf-form-editor__field{min-width:0;grid-template-columns:minmax(0,1fr)}.loomboard-workflow .lb-wf-form-editor__field label>input:not([type=checkbox]):not([type=radio]),.loomboard-workflow .lb-wf-form-editor__field label>select,.loomboard-workflow .lb-wf-form-editor__field label>textarea{width:100%;min-width:0;box-sizing:border-box}.loomboard-workflow .lb-wf-decision__list{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;min-width:0}.loomboard-workflow .lb-wf-decision__row{display:flex;gap:4px;align-items:center}.loomboard-workflow .lb-wf-decision__row input{flex:1;min-width:0}.loomboard-workflow .lb-wf-decision__answers{margin:0;padding-left:16px;font-size:12px}.loomboard-workflow .lb-wf-lab{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-content:start}.loomboard-workflow .lb-wf-lab__head,.loomboard-workflow .lb-wf-lab__actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.loomboard-workflow .lb-wf-lab__state{width:100%;box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.loomboard-workflow .lb-wf-lab__answer[data-stale] .lb-wf-lab__row{opacity:.55}.loomboard-workflow .lb-wf-lab__row{font-size:12px;margin-bottom:6px}.loomboard-workflow .lb-wf-lab__row ul{list-style:none;margin:2px 0 0;padding:0;display:grid;gap:2px}.loomboard-workflow .lb-wf-lab__bar{display:inline-block;width:60px;height:6px;margin-right:6px;vertical-align:middle;background:var(--lb-wf-border);border-radius:3px;overflow:hidden}.loomboard-workflow .lb-wf-lab__bar>span{display:block;height:100%;background:var(--lb-wf-accent)}:root{--bg: #0f1115;--bg-elevated: #171a21;--bg-input: #1d2129;--border: #2a2f3a;--text: #e6e8ec;--text-dim: #9aa3b2;--accent: #6ea8fe;--accent-dim: #3b5b8c;--danger: #f0726b;--ok: #5fd08a;--bubble: #3b5b8c;--on-accent: #0b1220;--overlay: rgba(255, 255, 255, .08);--warn: #e6b873;--shadow: rgba(0, 0, 0, .35);--font-sans: "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono Variable", ui-monospace, "SF Mono", Menlo, Consolas, monospace;color-scheme:dark}:root[data-theme=light]{--bg: #f6f7f9;--bg-elevated: #ffffff;--bg-input: #ffffff;--border: #d7dbe2;--text: #1a1d24;--text-dim: #5b6572;--accent: #2563eb;--accent-dim: #9ec0f5;--danger: #dc2626;--ok: #16a34a;--bubble: #dbe7fb;--on-accent: #ffffff;--overlay: rgba(15, 23, 42, .06);--warn: #b45309;--shadow: rgba(15, 23, 42, .14);color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent)}::selection{background:var(--accent);color:var(--bg)}.app-shell{height:100%;display:flex}.app-placeholder{margin:auto;text-align:center;color:var(--text-dim)}.app-placeholder h1{color:var(--text);font-weight:600;letter-spacing:-.02em}code{font-family:var(--font-mono);font-size:.9em;background:var(--bg-input);padding:.1em .35em;border-radius:4px}button{font:inherit;cursor:pointer}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5em;background:var(--accent);color:var(--on-accent);border:none;border-radius:8px;padding:.6em 1em;font-weight:600}.btn-primary:disabled{opacity:.6;cursor:default}.btn-ghost{display:inline-flex;align-items:center;gap:.4em;background:transparent;color:var(--text-dim);border:1px solid var(--border);border-radius:8px;padding:.45em .8em}.btn-ghost:hover{color:var(--text);border-color:var(--accent-dim)}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .9s linear infinite}.splash{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8em;color:var(--text-dim)}.connect-screen{height:100%;display:flex;align-items:center;justify-content:center;padding:1.5rem}.connect-card{width:100%;max-width:440px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:14px;padding:1.6rem;display:flex;flex-direction:column;gap:1rem}.connect-head{display:flex;align-items:center;gap:.6em;color:var(--accent)}.connect-head h1{margin:0;font-size:1.2rem;color:var(--text)}.connect-logo{width:30px;height:30px;flex-shrink:0}.connect-sub{margin:0;color:var(--text-dim);font-size:.9rem}.field{display:flex;flex-direction:column;gap:.35em}.field>span{font-size:.85rem;color:var(--text-dim);font-weight:500}.field input{background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:.6em .7em;font:inherit}.field input:focus{outline:none;border-color:var(--accent-dim)}.field small{color:var(--text-dim);font-size:.78rem;line-height:1.4}.connect-error{display:flex;align-items:center;gap:.5em;background:#f0726b1f;border:1px solid rgba(240,114,107,.4);color:var(--danger);border-radius:8px;padding:.6em .7em;font-size:.85rem}.connect-form{display:flex;flex-direction:column;gap:1rem}.connect-note{display:flex;align-items:center;gap:.5em;border:1px solid var(--accent-dim);color:var(--text);border-radius:8px;padding:.6em .7em;font-size:.85rem}.connect-register{margin:.4em 0 0;color:var(--text-dim);font-size:.8rem;word-break:break-all}.connect-waiting{display:flex;align-items:center;gap:.5em;color:var(--text-dim);font-size:.9rem}.connect-waiting .btn-ghost{margin-left:auto}.connect-advanced>summary{cursor:pointer;color:var(--text-dim);font-size:.85rem}.connect-advanced[open]>summary{margin-bottom:.8rem}.sidebar{width:270px;flex-shrink:0;background:var(--bg-elevated);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:.8rem;gap:.7rem;transition:width .15s ease}.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:.4em}.sidebar-head .brand-logo{height:20px;width:auto;display:block}.sidebar-head .brand-mark{width:26px;height:26px;display:block}.collapse-btn{flex-shrink:0}.sidebar.collapsed{width:58px;padding:.8rem .5rem}.sidebar.collapsed .sidebar-head{flex-direction:column;gap:.6rem}.sidebar.collapsed .new-chat{padding:.55em 0;gap:0}.sidebar.collapsed .new-chat .label{display:none}.sidebar.collapsed .convo{justify-content:center;padding:.5em 0}.sidebar.collapsed .convo-title,.sidebar.collapsed .convo-agent,.sidebar.collapsed .convo .convo-del,.sidebar.collapsed .convo-empty{display:none}.sidebar.collapsed .sidebar-foot{flex-direction:column;gap:.4em}.new-chat{display:flex;align-items:center;justify-content:center;gap:.4em;background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.55em .8em;font-weight:500}.new-chat:hover{border-color:var(--accent-dim)}.convo-list{list-style:none;margin:0;padding:0;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.convo-empty{color:var(--text-dim);font-size:.85rem;padding:.3rem .2rem;flex:1}.convo{display:flex;align-items:center;gap:.5em;padding:.5em .55em;border-radius:8px;cursor:pointer;color:var(--text-dim)}.convo:hover,.convo.active{background:var(--bg-input);color:var(--text)}.convo-icon{flex-shrink:0}.convo-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.convo-agent{font-size:.68rem;color:var(--text-dim);background:var(--bg);border:1px solid var(--border);border-radius:5px;padding:.05em .4em;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.convo-del{display:none;background:transparent;border:none;color:var(--text-dim);padding:2px}.convo:hover .convo-del{display:inline-flex}.convo-del:hover{color:var(--danger)}.convo-confirm{display:inline-flex;gap:2px;flex-shrink:0}.convo-confirm .convo-del{display:inline-flex}.convo-del.confirm{color:var(--danger)}.convo-del.cancel:hover{color:var(--text)}.sidebar-foot{position:relative;display:flex;align-items:center;gap:.5em;border-top:1px solid var(--border);padding-top:.6rem}.who{flex:1;display:flex;flex-direction:column;line-height:1.2;overflow:hidden}.who strong{font-size:.85rem;display:inline-flex;align-items:center;gap:.4em;min-width:0}.who span{font-size:.72rem;color:var(--text-dim)}.who-kind{flex-shrink:0;font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);background:var(--overlay);border:1px solid var(--border);border-radius:5px;padding:.05em .4em}.btn-ghost.sm{padding:.4em}.logout-confirm{position:absolute;bottom:calc(100% + .5rem);left:0;z-index:20;min-width:210px;display:flex;flex-direction:column;gap:.3em;padding:.7em .8em;border:1px solid var(--border);border-radius:10px;background:var(--bg-elevated);box-shadow:0 8px 24px #00000047}.logout-confirm-title{margin:0;font-size:.9rem;font-weight:600;color:var(--text)}.logout-confirm-note{margin:0;font-size:.75rem;line-height:1.4;color:var(--text-dim)}.logout-confirm-actions{display:flex;justify-content:flex-end;align-items:center;gap:.4em;margin-top:.3em}.logout-confirm-actions .btn-ghost.sm{padding:.35em .7em;font-size:.8rem}.logout-confirm-go{padding:.35em .7em;border:1px solid var(--danger);border-radius:8px;background:transparent;color:var(--danger);font-size:.8rem;font-weight:600;cursor:pointer}.logout-confirm-go:hover{background:var(--danger);color:var(--bg)}.side-nav{display:flex;flex-direction:column;gap:2px}.side-nav-btn{display:flex;align-items:center;gap:.5em;padding:.5em .6em;border-radius:8px;background:transparent;border:1px solid transparent;color:var(--text-dim);font:inherit;text-align:left}.side-nav-btn:hover{background:var(--bg-input);color:var(--text)}.side-nav-btn.active{background:var(--bg-input);color:var(--text);border-color:var(--accent-dim)}.side-fill{flex:1}.sidebar.collapsed .side-nav-btn{justify-content:center;padding:.5em 0}.sidebar.collapsed .side-nav-btn .label{display:none}.library-pane,.explorer-pane,.memory-pane,.boards-pane,.canvas-area{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.canvas-area__bar{display:flex;align-items:center;gap:.7rem;padding:.5rem .7rem;border-bottom:1px solid var(--border)}.canvas-area__error{color:var(--danger, #dc2626)}.canvas-area__empty{margin:auto;max-width:32rem;text-align:center;color:var(--text-dim)}.users-pane{flex:1;min-width:0;overflow-y:auto;padding:1rem 1.2rem}.users-pane__bar{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.users-pane__bar h2{margin:0;font-size:1.1rem}.users-pane__note,.users-pane__empty,.users-ids__empty{color:var(--text-dim);font-size:.85rem}.users-pane__empty{display:flex;align-items:center;gap:.5em}.users-pane__error{color:var(--danger);font-size:.85rem}.users-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.users-row{border:1px solid var(--border);border-radius:8px;padding:.6rem .8rem}.users-row__head{display:flex;align-items:center;gap:.6rem}.users-row__who{flex:1;min-width:0;display:flex;flex-direction:column;overflow-wrap:anywhere}.users-row__who code{color:var(--text-dim);font-size:.8rem}.users-row .btn-primary{padding:.4em .8em;font-size:.85rem}.users-ids{margin-top:.6rem;width:100%;border-collapse:collapse;font-size:.82rem}.users-ids th,.users-ids td{text-align:left;padding:.3rem .5rem;border-top:1px solid var(--border);vertical-align:top;overflow-wrap:anywhere}.users-ids th{color:var(--text-dim);font-weight:500}.users-ids__issuer,.users-ids__unverified{color:var(--text-dim);font-size:.78rem}.apps-pane{flex:1;min-width:0;overflow-y:auto;padding:1rem 1.2rem;font-size:.9rem}.apps-pane__bar{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.apps-pane__bar h2{margin:0;font-size:1.1rem}.apps-pane__note{color:var(--text-dim);font-size:.85rem}.apps-pane__loading{display:flex;align-items:center;gap:.5em}.apps-pane__note code{overflow-wrap:anywhere}.apps-pane__error{color:var(--danger);font-size:.85rem}.apps-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.apps-row{border:1px solid var(--border);border-radius:8px;padding:.6rem .8rem}.apps-row__head{display:flex;align-items:center;gap:.6rem}.apps-row__who{flex:1;min-width:0;display:flex;flex-direction:column;overflow-wrap:anywhere}.apps-row__who span{color:var(--text-dim);font-size:.8rem}.apps-row__lists{display:grid;grid-template-columns:max-content 1fr;gap:.2rem 1rem;margin:.5rem 0 0;font-size:.82rem}.apps-row__lists dt{color:var(--text-dim)}.apps-row__lists dd{margin:0;white-space:pre-line;overflow-wrap:anywhere;font-family:var(--font-mono)}.apps-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem .6rem;border:1px solid var(--danger);border-radius:8px}.apps-confirm p{flex:1 1 100%;margin:0}.apps-confirm__go{background:var(--danger);color:#fff;border:none;border-radius:6px;padding:.35em .8em}.apps-form{display:flex;flex-direction:column;gap:.7rem;max-width:36rem;margin-top:1.4rem}.apps-form h3{margin:0;font-size:.95rem}.apps-form>.btn-ghost{align-self:flex-start}.apps-form>.btn-primary{align-self:flex-start}.apps-form textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:.6em .7em;font-family:var(--font-mono);font-size:.82rem;resize:vertical}.apps-form textarea:focus{outline:none;border-color:var(--accent-dim)}.apps-form__check{display:flex;align-items:center;gap:.5em}.apps-ext{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5em;max-width:36rem;margin-top:.6rem}.apps-ext>.field{flex:1;min-width:14rem}.apps-ext input{font-family:var(--font-mono)}.apps-ext__note{flex-basis:100%;color:var(--text-dim)}.access-pane{flex:1;min-width:0;overflow-y:auto;padding:1rem 1.2rem;font-size:.9rem}.access-pane h2{margin:0 0 .6rem;font-size:1.1rem}.access-pane h3{margin:1.2rem 0 .4rem;font-size:.95rem}.access-facts{display:grid;grid-template-columns:max-content 1fr;gap:.25rem 1rem;margin:0}.access-facts>div{display:contents}.access-facts dt{color:var(--text-dim)}.access-facts dd{margin:0;overflow-wrap:anywhere}.access-note{color:var(--text-dim);margin:0 0 .5rem}.access-error{color:var(--danger)}.access-ask{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.access-ask input{min-width:0;width:10rem;padding:.35em .5em;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text)}.access-ask .btn-primary{padding:.4em .9em}.access-answer{margin-top:.8rem;border:1px solid var(--border);border-radius:8px;padding:.6rem .8rem}.access-answer p{margin:.3rem 0}.access-pill{display:inline-block;font-size:.75rem;font-weight:600;text-transform:uppercase;border-radius:5px;padding:.1em .5em;border:1px solid var(--border)}.access-pill--allow{color:#16a34a;border-color:#16a34a}.access-pill--deny{color:var(--danger);border-color:var(--danger)}.access-pill--no_match{color:var(--text-dim)}.access-trace{width:100%;margin-top:.5rem;border-collapse:collapse;font-size:.82rem}.access-trace caption{text-align:left;color:var(--text-dim);padding-bottom:.2rem}.access-trace th,.access-trace td{text-align:left;padding:.3rem .5rem;border-top:1px solid var(--border);vertical-align:top;overflow-wrap:anywhere}.access-trace th{color:var(--text-dim);font-weight:500}.explorer-pane__bar{padding:.4rem .7rem;border-bottom:1px solid var(--border)}.explorer-pane__loading{padding:.7rem;color:var(--text-dim)}.library-pane>.loomcycle-library,.explorer-pane>.loomcycle-explorer,.memory-pane>.loomcycle-memory-view,.boards-pane>.loomcycle-loomboard,.canvas-area>.loomboard-workflow{flex:1;min-height:0}.run-chat-pane{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}.run-chat-pane__note{margin:0;padding:.35rem .7rem;font-size:.8rem;color:var(--text-dim);border-bottom:1px solid var(--border)}.run-chat-pane__error{margin:.5rem .7rem;color:var(--danger, #dc2626)}.run-chat-pane__chat{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.run-chat-pane__chat .loomchat{min-height:0}.workflow-pane{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.wf-toolbar{display:flex;align-items:center;gap:.7rem;padding:.5rem .7rem;border-bottom:1px solid var(--border)}.wf-board-title{font-weight:600}.wf-orchestrate{margin-left:auto;display:inline-flex;align-items:center;gap:.35em;padding:.3em .7em;font-size:.8rem;border:1px solid var(--accent);border-radius:7px;background:transparent;color:var(--accent);cursor:pointer}.wf-orchestrate:hover{background:color-mix(in srgb,var(--accent) 14%,transparent)}.scope-toggle{display:inline-flex;border:1px solid var(--border);border-radius:7px;overflow:hidden}.scope-toggle button{padding:.25em .7em;background:transparent;border:0;color:var(--text-dim);text-transform:capitalize}.scope-toggle button.on{background:var(--accent);color:var(--on-accent)}.wf-body{flex:1;min-height:0;display:flex}.wf-splitter{flex:0 0 6px;align-self:stretch;cursor:col-resize;background:transparent;position:relative;touch-action:none}.wf-splitter:before{content:"";position:absolute;inset:0 2px;background:var(--text-dim);opacity:.55;transition:opacity .12s ease,background .12s ease}.wf-splitter:hover:before,.wf-splitter:active:before{opacity:1;background:var(--accent)}.wf-splitter.horizontal{cursor:row-resize}.wf-splitter.horizontal:before{inset:2px 0}.wf-left{width:260px;flex-shrink:0;border-right:1px solid var(--border);overflow:hidden;padding:.7rem;display:flex;flex-direction:column;gap:1rem}.wf-left-split{gap:0}.wf-left-scroll{flex-shrink:0;min-height:0;overflow-y:auto}.wf-left-scroll .wf-boards,.wf-left-scroll .wf-diagram{max-height:none}.wf-boards{max-height:30vh;overflow-y:auto}.wf-left-tree{flex:1;min-height:0;display:flex;flex-direction:column}.wf-left-tree .wf-tree{flex:1;min-height:0;overflow-y:auto}.wf-tree,.wf-tree-children{list-style:none;margin:0;padding:0}.wf-tree-row{display:flex;align-items:center;gap:.3em;padding:.25em .4em;border-radius:6px;cursor:grab;color:var(--text);font-size:.85rem}.wf-tree-row:hover{background:var(--overlay)}.wf-tree-row.on{background:var(--accent);color:var(--on-accent)}.wf-tree-row:active{cursor:grabbing}.wf-tree-chev{flex-shrink:0;transition:transform .12s ease}.wf-tree-chev.open{transform:rotate(90deg)}.wf-tree-dot{width:13px;flex-shrink:0}.wf-tree-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-tree-status{flex-shrink:0;font-size:.68rem;color:var(--text-dim);border:1px solid var(--border);border-radius:999px;padding:0 .4em}.wf-tree-row.on .wf-tree-status{color:var(--on-accent);border-color:var(--on-accent)}.wf-left-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin-bottom:.4rem}.wf-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.wf-item{width:100%;text-align:left;padding:.4em .55em;background:transparent;border:0;border-radius:6px;color:var(--text)}.wf-item:hover{background:var(--overlay)}.wf-item.on{background:var(--accent);color:var(--on-accent)}.wf-team-select{width:100%;padding:.4em .55em;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text);font:inherit}.wf-team-note{margin-top:.35rem}.wf-diagram{margin-top:.6rem;max-height:34vh;overflow:auto}.wf-diagram svg{max-width:100%;height:auto}.wf-center{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;padding:.7rem;gap:.6rem}.wf-dim{color:var(--text-dim)}.wf-placeholder{color:var(--text-dim);padding:2rem 1rem;text-align:center}.wf-error{color:var(--danger);padding:.5rem 0}.wf-hint{color:var(--text-dim);font-size:.85rem;padding:.5em .7em;border:1px dashed var(--border);border-radius:8px}.wf-board{flex:1;min-height:0;display:flex;gap:.7rem;align-items:flex-start;overflow-x:auto}.wf-col{flex:0 0 240px;max-height:100%;display:flex;flex-direction:column;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px}.wf-col-target{border-color:var(--accent)}.wf-col-blocked{opacity:.5}.wf-col-head{display:flex;align-items:center;justify-content:space-between;padding:.5rem .7rem;border-bottom:1px solid var(--border);font-weight:600}.wf-col-count{color:var(--text-dim);font-size:.85em}.wf-col-agents{display:flex;gap:.3em;padding:.3rem .7rem 0}.wf-col-agent{display:inline-flex}.wf-col-body{padding:.5rem;display:flex;flex-direction:column;gap:.5rem;overflow-y:auto}.wf-card{background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:.55rem .65rem;cursor:grab}.wf-card:active{cursor:grabbing}.wf-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.wf-card-title{font-size:.9rem}.wf-card-type{font-size:.72rem;color:var(--text-dim);border:1px solid var(--border);border-radius:999px;padding:.05em .5em}.wf-card-foot{display:flex;align-items:center;gap:.35rem;margin-top:.45rem;flex-wrap:wrap}.wf-card-minis{display:inline-flex;gap:.2rem;margin-left:auto}.wf-mini{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border-radius:50%;border:1px solid currentColor;background:none;cursor:pointer}.wf-mini:hover{background:color-mix(in srgb,currentColor 18%,transparent)}.wf-mini.running{animation:wf-pulse 1.4s ease-in-out infinite}.wf-mini.needs-input{box-shadow:0 0 0 2px var(--warn)}@keyframes wf-pulse{0%,to{opacity:1}50%{opacity:.45}}.wf-card-needs{font-size:.66rem;color:var(--warn);border:1px solid var(--warn);border-radius:999px;padding:0 .4em;background:none;cursor:pointer;line-height:1.6}.wf-card-needs:hover{background:color-mix(in srgb,var(--warn) 16%,transparent)}.wf-dock{width:420px;flex-shrink:0;border-left:1px solid var(--border);display:flex;flex-direction:column;min-height:0;overflow:hidden}.wf-pane{flex:1 1 0;min-height:0;display:flex;flex-direction:column;border-bottom:1px solid var(--border)}.wf-pane:last-child{border-bottom:none}.wf-pane.focused{box-shadow:inset 3px 0 0 var(--accent, var(--accent-fallback, #6ea8fe))}.wf-pane-head{display:flex;align-items:center;gap:.4rem;padding:.4rem .55rem;border-bottom:1px solid var(--border);flex-shrink:0}.wf-pane-avatar{display:inline-flex}.wf-pane-title{font-size:.82rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-pane-dot{width:8px;height:8px;border-radius:50%;background:var(--text-dim);flex-shrink:0}.wf-pane-dot.running{background:#35c46a;animation:wf-pulse 1.4s ease-in-out infinite}.wf-pane-dot.needs-input{background:var(--warn)}.wf-pane-close{margin-left:auto;display:inline-flex;align-items:center;padding:.15rem;border:none;background:none;color:var(--text-dim);cursor:pointer;border-radius:4px}.wf-pane-close:hover{background:var(--surface-2, rgba(127, 127, 127, .15));color:var(--text)}.wf-pane-chat{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.wf-pane-chat .loomchat{min-height:0}.chat-split-pane{flex:1;min-width:0;display:flex;position:relative}.chat-split-pane__chat{flex:1;min-width:0;display:flex;flex-direction:column}.chat-split-pane__chat .loomchat{min-height:0}.doc-side-panel{flex:none;min-width:320px;max-width:calc(100% - 360px);display:flex;flex-direction:column;overflow:hidden;border-left:1px solid var(--border);background:var(--bg)}.doc-side-panel__bar{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem .4rem .7rem;border-bottom:1px solid var(--border)}.doc-side-panel__title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.doc-side-panel__close{display:inline-flex;padding:.2rem;border:none;background:none;color:var(--text-dim);cursor:pointer}.doc-side-panel>.loomcycle-explorer{flex:1;min-height:0}@media(max-width:760px){.doc-side-panel{position:absolute;inset:0;z-index:20;width:auto!important;max-width:none;min-width:0;border-left:none}.chat-split-pane>.wf-splitter{display:none}}.chat-pane{flex:1;display:flex;flex-direction:column;min-width:0}.chat-pane.empty{align-items:center;justify-content:center}.chat-empty{color:var(--text-dim);text-align:center;margin:auto;padding:2rem}.chat-empty h2{color:var(--text);font-weight:600}.agentboard{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.agentboard-head{display:flex;align-items:center;gap:.5em;padding:.6em 1em;border-bottom:1px solid var(--border);color:var(--text-dim);font-size:.8rem}.agentboard-conn{width:8px;height:8px;border-radius:50%;background:var(--text-dim)}.agentboard-conn.on{background:var(--ok)}.agentboard-conn.off{background:var(--warn)}.agentboard-grid{flex:1;overflow-y:auto;padding:1em;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75em;align-content:start}.agentboard-empty{grid-column:1 / -1;color:var(--text-dim);padding:2em;text-align:center}.agentchat-tile-wrap{min-width:0}.agentchat-tile{--tile-accent: var(--accent);width:100%;height:140px;display:flex;flex-direction:column;gap:.4em;padding:.6em;text-align:left;border:1px solid var(--border);border-left:3px solid var(--tile-accent);border-radius:10px;background:color-mix(in srgb,var(--tile-accent) 7%,var(--bg-elevated));color:var(--text);cursor:pointer;overflow:hidden;font:inherit;transition:border-color .12s,transform .06s}.agentchat-tile:hover{border-color:var(--tile-accent)}.agentchat-tile:active{transform:translateY(1px)}.act-head{display:flex;align-items:center;gap:.45em;min-width:0}.act-avatar{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;flex-shrink:0;color:#fff;background:var(--tile-accent)}.act-name{flex:1;min-width:0;font-size:.78rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.act-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--text-dim)}.act-dot.dot-running{background:var(--ok);animation:acPulse 1.4s ease-in-out infinite}.act-dot.dot-needs_input{background:var(--warn)}.act-dot.dot-done{background:var(--text-dim)}.act-dot.dot-failed{background:var(--danger)}.act-dot.dot-cancelled{background:var(--text-dim)}@keyframes acPulse{0%,to{opacity:1}50%{opacity:.35}}.acp{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:.15em;font-size:.68rem;line-height:1.3;color:var(--text-dim)}.acp-empty{font-style:italic;opacity:.7}.acp-line{display:flex;align-items:baseline;gap:.3em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acp-line .acp-text{overflow:hidden;text-overflow:ellipsis}.acp-user .acp-text{color:var(--text);opacity:.85}.acp-tool,.acp-thinking{font-style:italic;opacity:.8}.acp-notice{color:var(--warn)}.acp-glyph{flex-shrink:0;opacity:.7}.act-badges{display:flex;gap:.35em;flex-wrap:wrap}.act-badge{display:inline-flex;align-items:center;gap:.25em;padding:.12em .45em;border-radius:999px;font-size:.64rem;font-weight:600}.badge-alert{background:color-mix(in srgb,var(--danger) 20%,transparent);color:var(--danger)}.badge-question{background:color-mix(in srgb,var(--warn) 22%,transparent);color:var(--warn)}.badge-question.prio-high,.badge-question.prio-critical{background:color-mix(in srgb,var(--danger) 22%,transparent);color:var(--danger)}.aco-backdrop{position:fixed;inset:0;z-index:50;background:#00000080;display:flex;align-items:center;justify-content:center;padding:3vh 3vw}.aco-panel{width:min(900px,96vw);height:min(80vh,900px);display:flex;flex-direction:column;background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.aco-head{display:flex;align-items:center;gap:.5em;padding:.6em .8em;border-bottom:1px solid var(--border)}.aco-avatar{display:inline-flex}.aco-title{font-weight:600}.aco-status{color:var(--text-dim);font-size:.75rem;text-transform:capitalize}.aco-close{margin-left:auto;display:inline-flex;padding:.3em;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-dim);cursor:pointer}.aco-close:hover{color:var(--text);border-color:var(--accent-dim)}.aco-question{display:flex;flex-direction:column;gap:.5em;padding:.7em .9em;background:color-mix(in srgb,var(--warn) 12%,var(--bg-elevated));border-bottom:1px solid var(--border);font-size:.85rem}.aco-question.resolved{color:var(--text-dim);font-style:italic}.aco-question-text{display:flex;align-items:center;gap:.4em;color:var(--text)}.aco-question-opts{display:flex;gap:.5em;flex-wrap:wrap}.aco-question-opts button,.aco-question-form button{padding:.35em .8em;border-radius:8px;border:1px solid transparent;background:var(--accent);color:var(--on-accent);font:inherit;font-weight:600;cursor:pointer}.aco-question-opts button:disabled,.aco-question-form button:disabled{opacity:.5;cursor:default}.aco-question-form{display:flex;gap:.5em}.aco-question-form input{flex:1;padding:.35em .6em;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);color:var(--text);font:inherit}.aco-chat{flex:1;min-height:0;display:flex}.aco-chat>.loomchat{flex:1;min-height:0}.conv-tiles{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;padding-right:2px}.conv-tiles .agentchat-tile{height:auto;min-height:88px}.dot-idle{background:var(--text-dim)}.convtile{position:relative;min-width:0}.convtile.active .agentchat-tile{border-color:var(--tile-accent);box-shadow:inset 0 0 0 2px var(--tile-accent)}.convtile-del{position:absolute;top:6px;right:6px;display:inline-flex;align-items:center;justify-content:center;padding:.2em;border:1px solid var(--border);border-radius:6px;background:var(--bg-elevated);color:var(--text-dim);cursor:pointer;opacity:0;transition:opacity .1s}.convtile:hover .convtile-del{opacity:1}.convtile-del:hover{color:var(--danger);border-color:var(--danger)}.convtile-confirm{position:absolute;top:6px;right:6px;display:inline-flex;gap:.25em}.convtile-confirm .convtile-del{position:static;opacity:1}.convtile-del.confirm:hover{color:var(--ok);border-color:var(--ok)}.conv-tiles.collapsed{align-items:center;gap:.4rem}.convtile-mini{--tile-accent: var(--accent);position:relative;display:inline-flex;align-items:center;justify-content:center;padding:.3em;border:1px solid var(--border);border-radius:10px;background:var(--bg-elevated);cursor:pointer}.convtile-mini.active{border-color:var(--tile-accent);box-shadow:inset 0 0 0 2px var(--tile-accent)}.convtile-mini .act-dot{position:absolute;bottom:-2px;right:-2px;border:2px solid var(--bg-elevated)}.convtile-mini-flag{position:absolute;top:-2px;right:-2px;width:8px;height:8px;border-radius:50%;background:var(--warn);border:2px solid var(--bg-elevated)}.conv-panel{flex:1;min-height:0;display:flex;flex-direction:column;gap:.5rem}.conv-panel.collapsed{gap:.4rem}.conv-toolbar{display:flex;flex-direction:column;gap:.4rem}.history-search{display:flex;flex-direction:column;gap:.25rem}.history-search-row{display:flex;align-items:center;gap:.3em;padding:.3em .45em;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated)}.history-search-icon{color:var(--text-dim);flex:none}.history-search-row input{flex:1;min-width:0;border:none;background:transparent;color:var(--text);font:inherit;outline:none}.history-search-btn{display:inline-flex;align-items:center;justify-content:center;padding:.2em;border:none;border-radius:6px;background:transparent;color:var(--text-dim);cursor:pointer;flex:none}.history-search-btn:hover:not(:disabled){color:var(--accent)}.history-search-btn:disabled{opacity:.4;cursor:default}.history-search-note{margin:0;padding:0 .2em;font-size:.75rem;color:var(--text-dim)}.conv-toolbar-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.conv-archived-toggle{display:inline-flex;align-items:center;gap:.35em;padding:.3em .5em;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);color:var(--text-dim);font-size:.8rem;cursor:pointer}.conv-archived-toggle:hover{color:var(--text)}.conv-archived-toggle.active{color:var(--accent);border-color:var(--accent)}.conv-allagents-toggle{display:inline-flex;align-items:center;gap:.35em;font-size:.8rem;color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none}.conv-allagents-toggle:hover{color:var(--text)}.conv-allagents-toggle input{margin:0;accent-color:var(--accent);cursor:pointer}.convtile-actions{position:absolute;top:6px;right:6px;display:inline-flex;gap:.25em;opacity:.55;transition:opacity .1s}.convtile:hover .convtile-actions,.convtile:focus-within .convtile-actions{opacity:1}.convtile-actions .convtile-del{position:static;opacity:1}.convtile .act-head{padding-right:3.4em}.convtile-rename{display:flex;align-items:center;gap:.35em;min-height:88px;padding:.5rem;border:1px solid var(--tile-accent, var(--border));border-radius:10px;background:var(--bg-elevated)}.convtile-rename input{flex:1;min-width:0;padding:.4em .5em;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font:inherit}.convtile-rename .convtile-del{position:static;opacity:1}--lc-font-mono) and are defined here for both themes,so the package is self-contained — no external tokens.css. */ .loomcycle-def-fields{--bg: #0f1115;--bg-soft: #161922;--bg-soft-2: #1d2230;--bg-input: #0f1115;--fg: #e6e6e6;--fg-soft: #9aa0ad;--fg-muted: #888888;--border: #2a2e3a;--accent: #56c596;--err: #ff5d68;--lc-font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--mono: var(--lc-font-mono);--font-sans: "Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lc-text-xs: 12px;--lc-text-sm: 13px;--lc-text-base: 14px;color:var(--fg);font-family:var(--font-sans);font-size:var(--lc-text-base);line-height:1.5;-webkit-font-smoothing:antialiased;color-scheme:dark;display:flex;flex-direction:column;gap:8px;min-width:0}.loomcycle-def-fields[data-theme=light],[data-theme=light] .loomcycle-def-fields{--bg: #f5f6f8;--bg-soft: #ffffff;--bg-soft-2: #eef0f4;--bg-input: #ffffff;--fg: #1c1e22;--fg-soft: #5b6272;--fg-muted: #7c828f;--border: #d8dce4;--accent: #1f8a5f;--err: #c62828;color-scheme:light}.loomcycle-def-fields .lc-df-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.loomcycle-def-fields .lc-df-search{flex:1 1 200px;min-width:0}.loomcycle-def-fields .lc-df-toggle,.loomcycle-def-fields .lc-df-bool{display:inline-flex;align-items:center;gap:6px;font-size:var(--lc-text-sm);color:var(--fg-soft);cursor:pointer;-webkit-user-select:none;user-select:none}.loomcycle-def-fields .lc-df-toggle input,.loomcycle-def-fields .lc-df-bool input{accent-color:var(--accent);cursor:pointer}.loomcycle-def-fields .lc-df-empty{margin:4px 0;font-size:var(--lc-text-sm);color:var(--fg-muted)}.loomcycle-def-fields .lc-df-group{border:1px solid var(--border);border-radius:6px;background:var(--bg-soft);overflow:hidden}.loomcycle-def-fields .lc-df-group-head{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;background:var(--bg-soft-2);color:var(--fg);font:inherit;font-weight:600;text-align:left;cursor:pointer}.loomcycle-def-fields .lc-df-group-head:hover{background:var(--border)}.loomcycle-def-fields .lc-df-caret{width:12px;color:var(--fg-soft);flex:0 0 auto}.loomcycle-def-fields .lc-df-group-name{flex:1 1 auto;min-width:0}.loomcycle-def-fields .lc-df-group-count{font-weight:400;font-size:var(--lc-text-xs);color:var(--fg-muted)}.loomcycle-def-fields .lc-df-group-set{flex:0 0 auto;padding:1px 6px;border-radius:10px;background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent);font-size:var(--lc-text-xs);font-weight:600}.loomcycle-def-fields .lc-df-group-body{display:flex;flex-direction:column;padding:4px 10px 10px}.loomcycle-def-fields .lc-df-group-hint{margin:6px 0 2px;font-size:var(--lc-text-xs);color:var(--fg-soft)}.loomcycle-def-fields .lc-df-more{align-self:flex-start;margin-top:6px;padding:2px 8px;border:1px dashed var(--border);border-radius:4px;background:transparent;color:var(--fg-soft);font:inherit;font-size:var(--lc-text-xs);cursor:pointer}.loomcycle-def-fields .lc-df-more:hover{color:var(--fg);border-color:var(--fg-muted)}.loomcycle-def-fields .lc-df-row{display:flex;flex-direction:column;gap:4px;padding:8px 0;border-top:1px solid var(--border);min-width:0}.loomcycle-def-fields .lc-df-group-body>.lc-df-row:first-of-type{border-top:0}.loomcycle-def-fields .lc-df-row-set{box-shadow:inset 2px 0 0 var(--accent);padding-left:8px}.loomcycle-def-fields .lc-df-row-head{display:flex;align-items:baseline;gap:8px}.loomcycle-def-fields .lc-df-label{display:flex;align-items:baseline;gap:6px;flex:1 1 auto;min-width:0;font-size:var(--lc-text-sm);font-weight:600}.loomcycle-def-fields .lc-df-key{font-family:var(--mono);font-size:var(--lc-text-xs);font-weight:400;color:var(--fg-muted);overflow-wrap:anywhere}.loomcycle-def-fields .lc-df-reset,.loomcycle-def-fields .lc-df-row-btn{flex:0 0 auto;padding:1px 7px;border:1px solid var(--border);border-radius:4px;background:transparent;color:var(--fg-soft);font:inherit;font-size:var(--lc-text-xs);cursor:pointer}.loomcycle-def-fields .lc-df-reset:hover,.loomcycle-def-fields .lc-df-row-btn:hover{color:var(--fg);border-color:var(--fg-muted)}.loomcycle-def-fields .lc-df-reset:disabled,.loomcycle-def-fields .lc-df-row-btn:disabled{opacity:.5;cursor:default}.loomcycle-def-fields .lc-df-inherited{flex:0 0 auto;font-size:var(--lc-text-xs);color:var(--fg-muted);font-style:italic}.loomcycle-def-fields .lc-df-hint{margin:0;font-size:var(--lc-text-xs);color:var(--fg-soft)}.loomcycle-def-fields .lc-df-control{min-width:0}.loomcycle-def-fields .lc-df-input{width:100%;box-sizing:border-box;padding:5px 7px;border:1px solid var(--border);border-radius:4px;background:var(--bg-input);color:var(--fg);font:inherit;font-size:var(--lc-text-sm)}.loomcycle-def-fields .lc-df-input:focus-visible{outline:none;border-color:var(--accent)}.loomcycle-def-fields .lc-df-input:disabled{opacity:.6}.loomcycle-def-fields .lc-df-int{max-width:160px}.loomcycle-def-fields .lc-df-textarea{font-family:var(--mono);resize:vertical;min-height:60px}.loomcycle-def-fields .lc-df-invalid{border-color:var(--err)}.loomcycle-def-fields .lc-df-error{margin:3px 0 0;font-size:var(--lc-text-xs);color:var(--err)}.loomcycle-def-fields .lc-df-chips{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.loomcycle-def-fields .lc-df-chip{display:inline-flex;align-items:center;gap:4px;padding:1px 4px 1px 7px;border:1px solid var(--border);border-radius:10px;background:var(--bg-soft-2);font-family:var(--mono);font-size:var(--lc-text-xs);overflow-wrap:anywhere}.loomcycle-def-fields .lc-df-chip-x{border:0;background:transparent;color:var(--fg-muted);font:inherit;line-height:1;cursor:pointer;padding:0 2px}.loomcycle-def-fields .lc-df-chip-x:hover{color:var(--err)}.loomcycle-def-fields .lc-df-chip-add{flex:1 1 120px;min-width:90px;width:auto}.loomcycle-def-fields .lc-df-kv,.loomcycle-def-fields .lc-df-objarray{display:flex;flex-direction:column;gap:5px}.loomcycle-def-fields .lc-df-kv-row{display:flex;gap:5px;align-items:center}.loomcycle-def-fields .lc-df-kv-key{flex:0 1 35%}.loomcycle-def-fields .lc-df-kv-val{flex:1 1 auto}.loomcycle-def-fields .lc-df-add{align-self:flex-start}.loomcycle-def-fields .lc-df-objarray-item,.loomcycle-def-fields .lc-df-nested{border:1px solid var(--border);border-radius:5px;background:var(--bg);padding:2px 8px 6px}.loomcycle-def-fields .lc-df-objarray-head{display:flex;align-items:center;justify-content:space-between;padding-top:5px}.loomcycle-def-fields .lc-df-objarray-idx{font-family:var(--mono);font-size:var(--lc-text-xs);color:var(--fg-muted)}.loomcycle-def-fields .lc-df-nested .lc-df-row-set,.loomcycle-def-fields .lc-df-objarray-item .lc-df-row-set{box-shadow:none;padding-left:0}.loomcycle-def-fields .lc-df-hooks,.loomcycle-def-fields .lc-df-hook-entries{display:flex;flex-direction:column;gap:6px}.loomcycle-def-fields .lc-df-hook-tool,.loomcycle-def-fields .lc-df-hook-entry{border:1px solid var(--border);border-radius:5px;background:var(--bg);padding:4px 8px 6px;display:flex;flex-direction:column;gap:5px}.loomcycle-def-fields .lc-df-hook-event{display:flex;flex-direction:column;gap:4px}.loomcycle-def-fields .lc-df-hook-event-head,.loomcycle-def-fields .lc-df-hook-entry-head{display:flex;align-items:baseline;gap:8px;justify-content:space-between}.loomcycle-def-fields .lc-df-hook-event-head code{font-family:var(--mono);font-size:var(--lc-text-xs)}.loomcycle-def-fields .lc-df-hook-event-hint,.loomcycle-def-fields .lc-df-hook-kind{flex:1 1 auto;font-size:var(--lc-text-xs);color:var(--fg-muted)}.loomcycle-def-fields .lc-df-hook-order{display:flex;gap:2px}.loomcycle-def-fields .lc-df-hook-webhook{display:flex;flex-direction:column;gap:5px}.loomcycle-def-fields .lc-df-hook-add{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.loomcycle-def-fields .lc-df-hook-add .lc-df-input{width:auto;flex:0 1 180px}.loomchat{--bg: #0f1115;--bg-elevated: #171a21;--bg-input: #1d2129;--border: #2a2f3a;--text: #e6e8ec;--text-dim: #9aa3b2;--accent: #6ea8fe;--accent-dim: #3b5b8c;--danger: #f0726b;--ok: #5fd08a;--bubble: #3b5b8c;--on-accent: #0b1220;--overlay: rgba(255, 255, 255, .08);--warn: #e6b873;--shadow: rgba(0, 0, 0, .35);--font-sans: "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono Variable", ui-monospace, "SF Mono", Menlo, Consolas, monospace;flex:1;display:flex;flex-direction:column;min-width:0;color:var(--text);font-family:var(--font-sans);line-height:1.5;-webkit-font-smoothing:antialiased;color-scheme:dark}.loomchat[data-theme=light],[data-theme=light] .loomchat{--bg: #f6f7f9;--bg-elevated: #ffffff;--bg-input: #ffffff;--border: #d7dbe2;--text: #1a1d24;--text-dim: #5b6572;--accent: #2563eb;--accent-dim: #9ec0f5;--danger: #dc2626;--ok: #16a34a;--bubble: #dbe7fb;--on-accent: #ffffff;--overlay: rgba(15, 23, 42, .06);--warn: #b45309;--shadow: rgba(15, 23, 42, .14);color-scheme:light}.loomchat,.loomchat *,.loomchat *:before,.loomchat *:after{box-sizing:border-box}.loomchat button{font:inherit;cursor:pointer}.loomchat a{color:var(--accent)}.loomchat ::selection{background:var(--accent);color:var(--bg)}.loomchat code{font-family:var(--font-mono);font-size:.9em;background:var(--bg-input);padding:.1em .35em;border-radius:4px}@keyframes lc-spin{to{transform:rotate(360deg)}}.loomchat .spin{animation:lc-spin .9s linear infinite}.loomchat .btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5em;background:var(--accent);color:var(--on-accent);border:none;border-radius:8px;padding:.6em 1em;font-weight:600}.loomchat .btn-primary:disabled{opacity:.6;cursor:default}.loomchat .btn-ghost{display:inline-flex;align-items:center;gap:.4em;background:transparent;color:var(--text-dim);border:1px solid var(--border);border-radius:8px;padding:.45em .8em}.loomchat .btn-ghost:hover{color:var(--text);border-color:var(--accent-dim)}.loomchat .chat-empty{color:var(--text-dim);text-align:center;margin:auto;padding:2rem}.loomchat .chat-header{display:flex;align-items:center;gap:.6rem;padding:.7rem 1rem;border-bottom:1px solid var(--border)}.loomchat .agent-picker{display:inline-flex;align-items:center;gap:.45em;color:var(--text-dim)}.loomchat .agent-picker.error{color:var(--danger);font-size:.85rem}.loomchat .agent-picker select{background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.4em .6em;font:inherit}.loomchat .agent-picker select:focus{outline:none;border-color:var(--accent-dim)}.loomchat .agent-freetext{background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.4em .6em;font:inherit;min-width:12rem}.loomchat .agent-freetext:focus{outline:none;border-color:var(--accent-dim)}.loomchat .config-toggle{display:inline-flex;align-items:center;gap:.4em;background:transparent;border:1px solid var(--border);color:var(--text-dim);border-radius:8px;padding:.4em .7em;font-size:.85rem}.loomchat .config-toggle:hover{color:var(--text)}.loomchat .config-toggle.active{color:var(--accent);border-color:var(--accent-dim)}.loomchat .header-spacer{flex:1}.loomchat .hud{display:flex;align-items:center;gap:.7rem;color:var(--text-dim);font-size:.8rem;font-variant-numeric:tabular-nums}.loomchat .hud-item{display:inline-flex;align-items:center;gap:.2em}.loomchat .hud-gauge{display:inline-flex;align-items:center;gap:.35em;position:relative;cursor:default}.loomchat .gauge-popup{position:absolute;top:calc(100% + 6px);right:0;background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;padding:.3em .55em;font-size:.75rem;white-space:nowrap;color:var(--text);box-shadow:0 4px 14px var(--shadow);opacity:0;pointer-events:none;transition:opacity .12s;z-index:5}.loomchat .hud-gauge:hover .gauge-popup{opacity:1}.loomchat .gauge-track{width:70px;height:6px;background:var(--bg-input);border-radius:3px;overflow:hidden}.loomchat .gauge-fill{display:block;height:100%;background:var(--accent);transition:width .3s}.loomchat .gauge-fill[data-warn]{background:var(--danger)}.loomchat .gauge-pct{min-width:2.4em}.loomchat .gauge-convo{font-size:.72rem;color:var(--text-dim);white-space:nowrap}.loomchat .compact{display:inline-flex;align-items:center;gap:.4em}.loomchat .compact-note{font-size:.75rem;color:var(--text-dim);font-variant-numeric:tabular-nums}.loomchat .compacting-note{display:flex;align-items:center;justify-content:center;gap:.4em;max-width:820px;width:100%;margin:0 auto;font-size:.8rem;color:var(--text-dim)}.loomchat .hud-item.live{color:var(--accent)}.loomchat .hud-item.model{font-family:var(--font-mono);font-size:.74rem;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:720px){.loomchat .hud{display:none}}.loomchat .interrupt{max-width:820px;width:100%;margin:0 auto;padding:.8rem 1rem;background:var(--bg-elevated);border:1px solid var(--accent-dim);border-left:3px solid var(--accent);border-radius:10px}.loomchat .interrupt.prio-high{border-left-color:var(--danger)}.loomchat .interrupt-head{display:flex;align-items:center;gap:.4em;color:var(--accent);font-size:.82rem;font-weight:600}.loomchat .interrupt.prio-high .interrupt-head{color:var(--danger)}.loomchat .interrupt-head-spacer{flex:1}.loomchat .interrupt-cancel{display:inline-flex;align-items:center;gap:.35em;background:transparent;border:1px solid var(--border);color:var(--text-dim);border-radius:8px;padding:.25em .6em;font-size:.78rem;font-weight:600}.loomchat .interrupt-cancel:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.loomchat .interrupt-cancel:disabled{opacity:.5}.loomchat .prio-badge{text-transform:uppercase;font-size:.65rem;letter-spacing:.05em;color:var(--text-dim);border:1px solid var(--border);border-radius:5px;padding:.05em .4em}.loomchat .interrupt-q{margin:.5em 0 .2em;font-weight:500}.loomchat .interrupt-ctx{color:var(--text-dim);font-size:.85rem;margin-bottom:.3em}.loomchat .interrupt-opts{display:flex;flex-wrap:wrap;gap:.5em;margin-top:.6em}.loomchat .opt{background:var(--bg-input);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:.45em .9em}.loomchat .opt:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.loomchat .opt:disabled{opacity:.6}.loomchat .interrupt-form{display:flex;gap:.5em;margin-top:.6em}.loomchat .interrupt-form input{flex:1;background:var(--bg-input);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:.5em .7em;font:inherit}.loomchat .interrupt-form input:focus{outline:none;border-color:var(--accent-dim)}.loomchat .interrupt-error{margin-top:.5em;color:var(--danger);font-size:.82rem}.loomchat .config-panel{border-bottom:1px solid var(--border);background:var(--bg-elevated);padding:.9rem 1rem;max-height:46vh;overflow-y:auto}.loomchat .config-legacy-note{margin:0 0 .7rem;padding:.5em .7em;border:1px dashed var(--border);border-radius:8px;color:var(--text-dim);font-size:.8rem;line-height:1.45}.loomchat .config-legacy-note code{font-family:var(--mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:.95em}.loomchat .messages{flex:1;overflow-y:auto;padding:1.2rem 1rem;display:flex;flex-direction:column;gap:1rem}.loomchat .messages.empty{align-items:center;justify-content:center}.loomchat .ghost-recap{max-width:820px;width:100%;margin:.4rem auto 0;padding:.6rem .9rem;border:1px dashed var(--border);border-radius:10px;background:color-mix(in srgb,var(--overlay) 60%,transparent);color:var(--text-dim)}.loomchat .ghost-recap-head{display:inline-flex;align-items:center;gap:.35em;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;opacity:.75}.loomchat .ghost-recap-body{margin:.35em 0 0;font-size:.85rem;line-height:1.5;font-style:italic;white-space:pre-wrap}.loomchat .msg{display:flex;max-width:820px;width:100%;margin:0 auto}.loomchat .msg.user{justify-content:flex-end}.loomchat .msg .bubble{border-radius:12px;padding:.7rem .95rem;max-width:88%;overflow-wrap:anywhere}.loomchat .msg.user .bubble{background:var(--bubble);color:var(--text);white-space:pre-wrap}.loomchat .msg.assistant .bubble{background:var(--bg-elevated);border:1px solid var(--border);width:100%;max-width:100%}.loomchat .msg-actions{display:flex;gap:.25rem;margin-top:.5rem;opacity:0;transition:opacity .12s ease}.loomchat .msg.assistant:hover .msg-actions,.loomchat .msg-actions:focus-within{opacity:1}.loomchat .copy-btn{display:inline-flex;align-items:center;justify-content:center;padding:.25rem;border-radius:6px;background:transparent;border:1px solid transparent;color:var(--text-dim);cursor:pointer}.loomchat .copy-btn:hover{background:var(--bg);color:var(--text);border-color:var(--border)}.loomchat .markdown>:first-child{margin-top:0}.loomchat .markdown>:last-child{margin-bottom:0}.loomchat .markdown p{margin:.5em 0}.loomchat .markdown ul,.loomchat .markdown ol{margin:.5em 0;padding-left:1.4em}.loomchat .markdown li{margin:.2em 0}.loomchat .markdown h1,.loomchat .markdown h2,.loomchat .markdown h3,.loomchat .markdown h4{margin:.8em 0 .4em;line-height:1.25}.loomchat .markdown blockquote{margin:.6em 0;padding-left:.9em;border-left:3px solid var(--border);color:var(--text-dim)}.loomchat .markdown a{color:var(--accent)}.loomchat .markdown :not(pre)>code{font-family:var(--font-mono);font-size:.88em;background:var(--bg);border:1px solid var(--border);padding:.08em .35em;border-radius:5px}.loomchat .markdown pre{margin:.6em 0;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.7em .85em;overflow-x:auto}.loomchat .markdown pre code{font-family:var(--font-mono);font-size:.85rem;background:none;border:none;padding:0}.loomchat .markdown .diagram-wrap{margin:.6em 0}.loomchat .markdown .diagram{max-width:100%;overflow-x:auto}.loomchat .markdown .diagram iframe{max-width:100%;border:0}.loomchat .markdown .diagram-loading{color:var(--text-dim);font-size:.85rem;padding:.7em .85em;border:1px dashed var(--border);border-radius:8px}.loomchat .markdown .diagram-error-note{color:var(--danger);font-size:.85rem;margin-bottom:.3em}.loomchat .markdown .graphic{display:block;margin:.6em 0;max-width:100%}.loomchat .markdown .graphic-toolbar{display:flex;gap:.3em;margin-bottom:.35em}.loomchat .markdown .graphic-btn{display:inline-flex;align-items:center;gap:.3em;font-size:.72rem;padding:.2em .5em;border:1px solid var(--border);border-radius:6px;background:var(--overlay);color:var(--text-dim);cursor:pointer}.loomchat .markdown .graphic-btn:hover{color:var(--text);border-color:var(--text-dim)}.loomchat .markdown .graphic-img{display:block;max-width:100%;height:auto;border:1px solid var(--border);border-radius:8px;background:#fff}.loomchat .markdown .graphic-source{display:block;max-width:100%;overflow-x:auto;white-space:pre;font-family:var(--font-mono);font-size:.8rem;line-height:1.5;padding:.7em .85em;border:1px solid var(--border);border-radius:8px;background:var(--overlay);color:var(--text)}.loomchat .markdown .graphic-error{display:block;color:var(--danger);font-size:.85rem;padding:.7em .85em;border:1px dashed var(--border);border-radius:8px}.loomchat .markdown .msg-md-img{max-width:100%;height:auto;border-radius:8px}.loomchat .markdown table{border-collapse:collapse;margin:.6em 0;display:block;overflow-x:auto}.loomchat .markdown th,.loomchat .markdown td{border:1px solid var(--border);padding:.35em .6em;text-align:left}.loomchat .markdown img{max-width:100%}.loomchat .markdown .katex-display{overflow-x:auto;overflow-y:hidden;padding:.2em 0}.loomchat .bubble.typing{display:inline-flex;align-items:center;gap:5px;padding:.8rem .95rem}.loomchat .bubble.typing .dot{width:7px;height:7px;border-radius:50%;background:var(--text-dim);animation:lc-typing 1.2s infinite ease-in-out}.loomchat .bubble.typing .dot:nth-child(2){animation-delay:.18s}.loomchat .bubble.typing .dot:nth-child(3){animation-delay:.36s}@keyframes lc-typing{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.loomchat .cursor{display:inline-block;margin-left:1px;color:var(--accent);animation:lc-blink 1s steps(2,start) infinite}@keyframes lc-blink{to{visibility:hidden}}.loomchat .msg-error{margin-top:.5em;color:var(--danger);font-size:.85rem}.loomchat .notice{margin:.4em 0;padding:.4em .7em;border-radius:7px;font-size:.82rem;border:1px solid var(--border)}.loomchat .notice.warn{color:var(--warn);background:#e6b8731a;border-color:#e6b87359}.loomchat .notice.info{color:var(--text-dim)}.loomchat .notice.error{color:var(--danger);background:#f0726b1a;border-color:#f0726b66}.loomchat .thinking{margin:.5em 0}.loomchat .thinking-head{display:inline-flex;align-items:center;gap:.4em;background:transparent;border:none;color:var(--text-dim);font-size:.85rem;padding:.2em 0}.loomchat .thinking-head:hover{color:var(--text)}.loomchat .thinking .caret{transition:transform .15s}.loomchat .thinking.open .caret{transform:rotate(90deg)}.loomchat .thinking-body{margin:.3em 0 .3em .5em;padding-left:.8em;border-left:2px solid var(--accent-dim);color:var(--text-dim);font-size:.92em}.loomchat .pulse{animation:lc-pulse 1.4s ease-in-out infinite}@keyframes lc-pulse{50%{opacity:.5}}.loomchat .tool{margin:.5em 0;border:1px solid var(--border);border-radius:8px;overflow:hidden}.loomchat .tool.err{border-color:#f0726b80}.loomchat .tool-head{display:flex;align-items:center;gap:.45em;width:100%;background:var(--bg-input);border:none;color:var(--text);padding:.45em .6em;text-align:left}.loomchat .tool .caret{transition:transform .15s;flex-shrink:0}.loomchat .tool-body{padding:.5em .6em}.loomchat .tool-name{font-family:var(--font-mono);font-size:.82rem;color:var(--accent);flex:1}.loomchat .tool .status{flex-shrink:0}.loomchat .tool .status.ok{color:var(--ok)}.loomchat .tool .status.x{color:var(--danger)}.loomchat .tool-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin:.3em 0 .2em}.loomchat .tool-pre{margin:0;font-family:var(--font-mono);font-size:.8rem;white-space:pre-wrap;overflow-x:auto;max-height:320px;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:.5em .6em}.loomchat .tool-pre.error{color:var(--danger)}.loomchat .composer-wrap{border-top:1px solid var(--border);position:relative}.loomchat .composer-wrap.dragging:after{content:"Drop files to attach";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#6ea8fe1f;border:2px dashed var(--accent);border-radius:10px;color:var(--accent);font-weight:500;pointer-events:none;z-index:2}.loomchat .composer{display:flex;align-items:flex-end;gap:.5rem;padding:.8rem 1rem 1rem;max-width:820px;width:100%;margin:0 auto}.loomchat .att-strip,.loomchat .att-warn{max-width:820px;width:100%;margin:0 auto;padding:0 1rem}.loomchat .att-strip{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.7rem}.loomchat .att-warn{display:flex;align-items:center;gap:.5em;color:var(--warn);font-size:.8rem;padding-top:.5rem}.loomchat .att-chip{display:inline-flex;align-items:center;gap:.4em;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:.3em .5em;font-size:.8rem;max-width:240px}.loomchat .att-chip.error{border-color:#f0726b80;color:var(--danger)}.loomchat .att-thumb{width:28px;height:28px;object-fit:cover;border-radius:5px;flex-shrink:0}.loomchat .att-icon{color:var(--text-dim);flex-shrink:0}.loomchat .att-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loomchat .att-err{color:var(--danger);flex-shrink:0}.loomchat .att-x{background:transparent;border:none;color:var(--text-dim);padding:0;display:inline-flex;flex-shrink:0}.loomchat .att-x:hover{color:var(--text)}.loomchat .att-btn{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);color:var(--text-dim);border-radius:10px;width:2.7em;height:2.7em;flex-shrink:0;cursor:pointer}.loomchat .att-btn:hover:not(.disabled){color:var(--text);border-color:var(--accent-dim)}.loomchat .att-btn.disabled{opacity:.5;pointer-events:none;cursor:default}.loomchat .att-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.loomchat .msg-atts{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.45rem}.loomchat .msg-att-img{max-width:220px;max-height:220px;border-radius:8px;display:block}.loomchat .msg-att-file{display:inline-flex;align-items:center;gap:.3em;font-size:.8rem;background:var(--overlay);border-radius:6px;padding:.25em .5em}.loomchat .composer-input{flex:1;resize:none;background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:.65em .8em;font:inherit;line-height:1.4;min-height:2.6em;max-height:200px;field-sizing:content}.loomchat .composer-input:focus{outline:none;border-color:var(--accent-dim)}.loomchat .composer-input:disabled{opacity:.6}.loomchat .composer-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--on-accent);border:none;border-radius:10px;width:2.7em;height:2.7em;flex-shrink:0}.loomchat .composer-btn:disabled{opacity:.5}.loomchat .composer-btn.stop{background:var(--danger);color:var(--on-accent)}.loomchat .config-inert{margin:0 0 .7rem;padding:.5em .7em;border:1px solid var(--border);border-left:3px solid var(--warn, #b8860b);border-radius:8px;color:var(--text-dim);font-size:.8rem;line-height:1.45}.loomchat .config-inert__head{margin:0 0 .35em}.loomchat .config-inert__list{margin:0;padding-left:1.1em}.loomchat .config-inert__list li+li{margin-top:.35em}.loomchat .config-inert code{font-family:var(--mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:.95em}.loomchat .docref{color:var(--accent);white-space:normal}.loomchat .docref.missing{color:var(--text-dim);text-decoration:line-through;text-decoration-color:var(--border)}.loomchat .docref-ctl{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:2px;padding:0;vertical-align:-3px;border:1px solid transparent;border-radius:4px;background:var(--overlay);color:var(--accent);cursor:pointer}.loomchat .docref-ctl:hover,.loomchat .docref-ctl:focus-visible,.loomchat .docref-ctl[aria-expanded=true]{border-color:var(--accent-dim);outline:none}.loomchat .docref.missing .docref-ctl{color:var(--text-dim)}@media(pointer:coarse){.loomchat .docref-ctl{width:26px;height:26px;vertical-align:-8px;margin-left:4px}}.loomchat .docref-pop{position:fixed;z-index:50;display:flex;flex-direction:column;gap:.35em;max-height:min(60vh,420px);overflow:auto;padding:.7em .8em;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px var(--shadow);color:var(--text);font-family:var(--font-sans);font-size:.85rem;line-height:1.45;white-space:normal;text-align:left}.loomchat .docref-pop-head{display:flex;align-items:center;gap:.4em;color:var(--accent)}.loomchat .docref-pop-title{font-weight:600;color:var(--text)}.loomchat .docref-pop-meta{color:var(--text-dim);font-size:.78rem}.loomchat .docref-pop-excerpt{border-top:1px solid var(--border);padding-top:.35em}.loomchat .docref-pop-brief{font-weight:500;color:var(--text)}.loomchat .docref-pop-abstract{margin:0;border-top:1px solid var(--border);padding-top:.35em;white-space:pre-wrap}.loomchat .docref-pop-stale{margin-left:.4em;padding:0 .3em;border:1px dashed var(--border);border-radius:3px;color:var(--text-dim);font-size:.72rem;font-weight:400}.loomchat .docref-pop-excerpt>:first-child{margin-top:0}.loomchat .docref-pop-excerpt>:last-child{margin-bottom:0}.loomchat .docref-pop-status{display:flex;align-items:flex-start;gap:.45em;color:var(--text-dim)}.loomchat .docref-pop-status.err{color:var(--danger)}.loomchat .docref-pop-reason{display:block;margin-top:.2em;color:var(--text-dim);font-family:var(--font-mono);font-size:.75rem;word-break:break-word}.loomchat .docref-pop-open{align-self:flex-start;display:inline-flex;align-items:center;gap:.25em;margin-top:.2em;padding:.25em .6em;border:1px solid var(--accent-dim);border-radius:6px;background:transparent;color:var(--accent);cursor:pointer}.loomchat .docref-pop-open:hover{background:var(--overlay)}.loomchat .msg-actions.active{opacity:1}.loomchat .msg-actions{align-items:center}.loomchat .speak-btn:disabled{cursor:default}.loomchat .speak-failed{color:var(--danger)}.loomchat .speak-label{font-size:.75rem;color:var(--text-dim);margin-left:.25rem}.loomchat .speak-error{font-size:.75rem;color:var(--danger);margin-left:.25rem}.loomchat .mic-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:2rem;height:2rem;border-radius:8px;background:transparent;border:1px solid transparent;color:var(--text-dim);cursor:pointer}.loomchat .mic-btn:hover:not(:disabled){color:var(--text);background:var(--bg);border-color:var(--border)}.loomchat .mic-btn:disabled{opacity:.45;cursor:default}.loomchat .mic-btn.recording{color:#fff;background:var(--danger)}.loomchat .mic-btn{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.loomchat .mic-btn.sending{position:relative;color:var(--accent)}.loomchat .mic-ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);pointer-events:none}.loomchat .mic-ring circle{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-dasharray:88;stroke-dashoffset:0;animation:mic-ring linear forwards}@keyframes mic-ring{to{stroke-dashoffset:88}}.loomchat .voice-lang{flex:none;align-self:center;font-size:.75rem;background:transparent;color:var(--text-dim);border:1px solid var(--border);border-radius:6px;padding:.1rem .2rem}.loomchat .voice-replies{display:inline-flex;align-items:center;justify-content:center;flex:none;align-self:center;width:1.75rem;height:1.75rem;border-radius:6px;background:transparent;border:1px solid var(--border);color:var(--text-dim);cursor:pointer}.loomchat .voice-replies.on{color:var(--accent);border-color:var(--accent)}.loomchat .voice-status{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-dim);padding:.25rem .5rem}.loomchat .voice-status.error{color:var(--danger)}.loomchat .voice-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--danger);animation:voice-pulse 1.2s ease-in-out infinite}@keyframes voice-pulse{50%{opacity:.3}}.loomchat .voice-time{font-variant-numeric:tabular-nums;color:var(--text)}.loomchat .voice-level{width:4rem;height:.3rem;border-radius:2px;background:var(--border);overflow:hidden}.loomchat .voice-level>span{display:block;height:100%;background:var(--accent);transition:width .08s linear}.loomchat .voice-spacer{flex:1}.loomchat .voice-x{display:inline-flex;padding:.2rem;border-radius:6px;background:transparent;border:1px solid transparent;color:inherit;cursor:pointer}.loomchat .voice-x:hover{border-color:var(--border);color:var(--text)}.loomcycle-library{height:100%;--bg: #0f1115;--bg-soft: #161922;--bg-soft-2: #1d2230;--bg-muted: #1a1a1a;--bg-input: #1a1a1a;--fg: #e6e6e6;--fg-soft: #9aa0ad;--fg-muted: #888888;--muted: var(--fg-muted);--border: #2a2e3a;--accent: #56c596;--running: #f0a040;--completed: #4ec9b0;--failed: #ff5d68;--cancelled: #b08bd0;--danger: #cc3333;--mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-sans: "Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color:var(--fg);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;color-scheme:dark;display:flex;flex-direction:column;min-width:0;min-height:0}.loomcycle-library[data-theme=light],[data-theme=light] .loomcycle-library{--bg: #f5f6f8;--bg-soft: #ffffff;--bg-soft-2: #eceef2;--bg-muted: #ffffff;--bg-input: #ffffff;--fg: #1a1d24;--fg-soft: #5a6270;--fg-muted: #8a909c;--border: #d7dbe2;--accent: #2f9e6f;--running: #b9740f;--completed: #1f9e86;--failed: #d23f4a;--cancelled: #7d4fb3;--danger: #c0392b;color-scheme:light}.loomcycle-library,.loomcycle-library *,.loomcycle-library *:before,.loomcycle-library *:after{box-sizing:border-box}.loomcycle-library button{font:inherit}.loomcycle-library code,.loomcycle-library pre{font-family:var(--mono);font-size:13px}.loomcycle-library .mono{font-family:var(--mono)}.loomcycle-library input:where(:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color])),.loomcycle-library textarea,.loomcycle-library select{background:var(--bg-input);color:var(--fg);border:1px solid var(--border);border-radius:4px;font-family:var(--mono);padding:6px 8px;font-size:13px}.loomcycle-library .modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.loomcycle-library .modal{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:24px;max-width:600px;width:90%;max-height:80vh;overflow:auto}.loomcycle-library .modal h3{margin:0 0 12px;font-size:16px}.loomcycle-library .modal-err{color:var(--failed);font-size:13px;margin-bottom:12px}.loomcycle-library .modal-buttons{display:flex;gap:8px;justify-content:flex-end}.loomcycle-library .modal-buttons button{padding:8px 16px;border:1px solid var(--border);background:var(--bg-soft);color:var(--fg);border-radius:4px;cursor:pointer}.loomcycle-library .modal-buttons button.primary{background:var(--running);color:#fff;border-color:var(--running);border-radius:4px;padding:8px 16px}.loomcycle-library .modal-buttons button:disabled{opacity:.6;cursor:not-allowed}.loomcycle-library .modal.library-modal{max-width:720px;width:92vw}.loomcycle-library .library-modal-bootstrap-hint{font-size:12px;color:var(--fg-muted);font-weight:400}.loomcycle-library .library-form-row{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.loomcycle-library .library-form-row label{font-size:12px;font-weight:600;color:var(--fg-muted);display:flex;align-items:center;gap:8px}.loomcycle-library .library-form-row input[type=text]{padding:6px 8px;font-size:13px;border:1px solid var(--border);border-radius:4px;background:var(--bg-input);color:var(--fg)}.loomcycle-library .library-form-row-quad{display:grid;grid-template-columns:max-content 1fr max-content 1fr;align-items:center;gap:8px}.loomcycle-library .library-form-row-quad label{margin-bottom:0}.loomcycle-library .library-form-row-checkbox label{font-weight:400;color:var(--fg)}.loomcycle-library .library-schema-hint-toggle{background:none;border:1px solid var(--border);color:var(--fg-muted);font-size:10px;padding:1px 6px;border-radius:3px;cursor:pointer}.loomcycle-library .library-schema-hint-toggle:hover{color:var(--fg)}.loomcycle-library .library-radio-group{display:flex;align-items:center;gap:16px;font-weight:400}.loomcycle-library .library-radio-note{font-size:11px;color:var(--fg-muted);font-style:italic;font-weight:400}.loomcycle-library .library-headers-grid{display:flex;flex-direction:column;gap:4px}.loomcycle-library .library-header-row{display:grid;grid-template-columns:1fr 2fr max-content;gap:6px}.loomcycle-library .library-header-row input{padding:4px 6px;font-size:12px;border:1px solid var(--border);border-radius:3px;background:var(--bg-input);color:var(--fg)}.loomcycle-library .library-header-row button{background:none;border:1px solid var(--border);color:var(--fg-muted);cursor:pointer;padding:0 8px;border-radius:3px}.loomcycle-library .library-header-row button:hover{color:var(--danger);border-color:var(--danger)}.loomcycle-library .library-modal-field-hint{font-weight:400;font-size:11px;color:var(--fg-muted);font-style:italic}.loomcycle-library .library-prompt-textarea{width:100%;padding:8px;font-size:12px;border:1px solid var(--border);border-radius:4px;background:var(--bg-input);color:var(--fg);resize:vertical;min-height:120px}.loomcycle-library .library-checkbox-group{display:flex;align-items:center;gap:16px;font-weight:400}.loomcycle-library .library-models-grid{display:flex;flex-direction:column;gap:12px;padding:8px;border:1px solid var(--border);border-radius:4px;background:var(--bg-muted)}.loomcycle-library .library-models-warning{padding:8px;margin-bottom:6px;font-size:11px;background:#f0a04014;border:1px solid var(--running);border-radius:4px;color:var(--fg)}.loomcycle-library .library-advanced-overlay{display:flex;flex-direction:column;gap:6px;border-top:1px dashed var(--border);padding-top:10px}.loomcycle-library .library-advanced-format{display:flex;gap:16px;font-size:12px}.loomcycle-library .library-models-warning code{font-family:var(--mono);font-size:11px;color:var(--running)}.loomcycle-library .library-models-tier-row{display:flex;flex-direction:column;gap:4px}.loomcycle-library .library-models-tier-header{display:flex;align-items:center;gap:8px}.loomcycle-library .library-models-tier-name{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--accent);min-width:60px}.loomcycle-library .library-models-candidate-row{display:grid;grid-template-columns:1fr 2fr max-content;gap:6px}.loomcycle-library .library-models-candidate-row input{padding:4px 6px;font-size:12px;border:1px solid var(--border);border-radius:3px;background:var(--bg-input);color:var(--fg)}.loomcycle-library .library-models-candidate-row button{background:none;border:1px solid var(--border);color:var(--fg-muted);cursor:pointer;padding:0 8px;border-radius:3px}.loomcycle-library .library-models-candidate-row button:hover{color:var(--danger);border-color:var(--danger)}.loomcycle-library .lineage-row-actions{display:flex;gap:6px;margin-left:auto}.loomcycle-library .lineage-row-action{background:transparent;border:1px solid var(--border);color:var(--fg-soft);font-size:11px;padding:3px 10px;border-radius:999px;cursor:pointer;font-family:inherit;transition:color .1s,border-color .1s,background-color .1s}.loomcycle-library .lineage-row-action:hover{color:var(--fg);border-color:var(--accent);background:#56c59614}.loomcycle-library .lineage-row-action-danger:hover{color:var(--failed);border-color:var(--failed);background:#ff5d6814}.loomcycle-library .lineage-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.loomcycle-library button.primary{background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:999px;padding:5px 14px;font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .1s,border-color .1s}.loomcycle-library button.primary:hover{filter:brightness(1.08)}.loomcycle-library button.primary:disabled{opacity:.5;cursor:not-allowed}.loomcycle-library .lineage-create-cta{font-size:12px}.loomcycle-library .splitter{display:grid;gap:0;height:100%;min-height:0;grid-template-rows:minmax(0,1fr)}.loomcycle-library .splitter.dragging{-webkit-user-select:none;user-select:none;cursor:col-resize}.loomcycle-library .splitter>.splitter-pane{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.loomcycle-library .splitter>.splitter-handle{background:transparent;cursor:col-resize;position:relative;z-index:1}.loomcycle-library .splitter>.splitter-handle:before{content:"";position:absolute;top:0;bottom:0;left:2px;width:2px;background:var(--border);transition:background 80ms ease}.loomcycle-library .splitter>.splitter-handle:hover:before,.loomcycle-library .splitter.dragging>.splitter-handle:before{background:var(--accent)}.loomcycle-library .empty-state{color:var(--fg-soft);padding:32px 16px;text-align:center}.loomcycle-library .error-banner{background:#ff5d681a;border:1px solid var(--failed);color:var(--failed);padding:8px 12px;border-radius:4px;margin:8px 0;font-family:var(--mono);font-size:12px}.loomcycle-library .loading-indicator{color:var(--fg-soft);font-size:12px;margin-left:8px}.loomcycle-library .library-view{display:flex;flex-direction:column;flex:1;min-height:0}.loomcycle-library .library-subtabs{display:flex;gap:0;border-bottom:1px solid var(--border);background:var(--bg-soft)}.loomcycle-library .library-subtab{padding:10px 16px;color:var(--fg-soft);text-decoration:none;border:0;border-bottom:2px solid transparent;background:transparent;font-size:13px;cursor:pointer}.loomcycle-library .library-subtab:hover{color:var(--fg)}.loomcycle-library .library-subtab-active{color:var(--accent);border-bottom-color:var(--accent)}.loomcycle-library .library-subtab-count{margin-left:6px;color:var(--fg-soft);font-family:var(--mono);font-size:11px}.loomcycle-library .library-content{flex:1;min-height:0;overflow:hidden}.loomcycle-library .lineage-left{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.loomcycle-library .lineage-toolbar{flex:0 0 auto;display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-bottom:1px solid var(--border);background:var(--bg-soft)}.loomcycle-library .lineage-toolbar-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.loomcycle-library .lineage-filter-text{width:100%;box-sizing:border-box;padding:5px 8px;font-size:12px;font-family:var(--mono);background:var(--bg-input);color:inherit;border:1px solid var(--border);border-radius:4px}.loomcycle-library .lineage-toolbar-select{padding:4px 6px;font-size:12px;background:var(--bg-input);color:inherit;border:1px solid var(--border);border-radius:4px}.loomcycle-library .lineage-toolbar-check{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--fg-soft);cursor:pointer;white-space:nowrap}.loomcycle-library .lineage-list-empty{padding:16px 14px;font-size:12px;color:var(--fg-soft)}.loomcycle-library .lineage-name-list{list-style:none;margin:0;padding:0;overflow-y:auto;height:100%}.loomcycle-library .lineage-left .lineage-name-list{flex:1 1 auto;min-height:0;height:auto}.loomcycle-library .lineage-name-row{border-bottom:1px solid var(--border)}.loomcycle-library .lineage-name-row.lineage-name-selected{background:#56c5961f}.loomcycle-library .lineage-name-button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;text-align:left;background:transparent;border:0;color:inherit;padding:10px 14px;cursor:pointer}.loomcycle-library .lineage-name-button:hover{background:var(--bg-soft)}.loomcycle-library .lineage-name-label{font-weight:500;font-family:var(--mono);font-size:13px}.loomcycle-library .lineage-name-versions{font-size:11px;color:var(--fg-soft)}.loomcycle-library .lineage-right{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:12px 16px}.loomcycle-library .lineage-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.loomcycle-library .lineage-header h3{margin:0;font-family:var(--mono);font-size:16px}.loomcycle-library .lineage-tree,.loomcycle-library .lineage-tree ul{list-style:none;margin:0;padding:0}.loomcycle-library .lineage-row{margin:0}.loomcycle-library .lineage-row-line{display:flex;align-items:center;gap:4px;padding:4px}.loomcycle-library .lineage-row-line[role=button]{cursor:pointer;border-radius:3px}.loomcycle-library .lineage-row-line[role=button]:hover{background:#ffffff0a}.loomcycle-library .lineage-row-line[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.loomcycle-library .lineage-row.lineage-row-selected>.lineage-row-line{background:#56c5962e;border-radius:3px}.loomcycle-library .lineage-caret{background:transparent;border:0;color:var(--fg-soft);cursor:pointer;width:16px;font-family:var(--mono);font-size:11px}.loomcycle-library .lineage-caret:hover{color:var(--fg)}.loomcycle-library .lineage-caret-empty{cursor:default;-webkit-user-select:none;user-select:none}.loomcycle-library .lineage-row-content{display:inline-flex;align-items:center;gap:6px;font-size:13px;flex:1;min-width:0}.loomcycle-library .lineage-content-indicator{font-size:10px;color:var(--fg-soft);font-family:var(--mono);padding:1px 6px;border:1px solid var(--border);border-radius:4px;-webkit-user-select:none;user-select:none}.loomcycle-library .lineage-row-line[role=button]:hover .lineage-content-indicator,.loomcycle-library .lineage-row-line[role=button][aria-expanded=true] .lineage-content-indicator{color:var(--accent);border-color:var(--accent)}.loomcycle-library .lineage-version{font-family:var(--mono);font-weight:500}.loomcycle-library .lineage-defid{font-size:11px;color:var(--fg-soft);margin-left:4px}.loomcycle-library .lineage-detail-header{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;margin-bottom:12px}.loomcycle-library .lineage-detail-meta{color:var(--fg-soft)}.loomcycle-library .def-body{display:flex;flex-direction:column;gap:14px}.loomcycle-library .def-field{display:flex;flex-direction:column;gap:4px}.loomcycle-library .def-field-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-soft)}.loomcycle-library .def-prompt{background:var(--bg-soft);border:1px solid var(--border);border-radius:4px;padding:8px 10px;font-size:12px;white-space:pre-wrap;max-height:320px;overflow-y:auto;margin:0}.loomcycle-library .def-pill-row{display:flex;flex-wrap:wrap;gap:4px}.loomcycle-library .def-pill{background:var(--bg-soft);border:1px solid var(--border);border-radius:12px;padding:2px 8px;font-size:11px}.loomcycle-library .def-meta-row{display:flex;flex-wrap:wrap;gap:12px}.loomcycle-library .def-meta-item{display:flex;gap:6px;align-items:baseline;font-size:12px}.loomcycle-library .def-meta-key{color:var(--fg-soft);font-size:11px}.loomcycle-library .def-meta-value{color:var(--fg)}.loomcycle-library .def-chip{font-size:10px;padding:1px 6px;border-radius:10px;text-transform:lowercase;letter-spacing:.03em}.loomcycle-library .def-chip-active{background:#4ec9b026;color:var(--completed);border:1px solid var(--completed)}.loomcycle-library .def-chip-bootstrap{background:#f0a04026;color:var(--running);border:1px solid var(--running)}.loomcycle-library .def-chip-no-active{background:#ff5d681a;color:var(--failed);border:1px solid var(--failed)}.loomcycle-library .def-chip-retired{background:#9696a01f;color:var(--fg-soft);border:1px solid var(--fg-soft)}.loomcycle-library .def-chip-static{background:#7da5dc26;color:#7da5dc;border:1px solid #7da5dc}.loomcycle-library .def-chip-dynamic{background:#b08bd026;color:#b08bd0;border:1px solid #b08bd0}.loomcycle-library .def-chip-effective{background:var(--accent);color:#0b0b0d;border:1px solid var(--accent);font-weight:600}.loomcycle-library .lineage-name-chips{display:inline-flex;gap:4px;flex-wrap:wrap;margin-left:6px}.loomcycle-library .lineage-row-detail{padding-top:8px;padding-bottom:8px;padding-right:8px;border-left:2px solid var(--accent);margin-left:8px;margin-bottom:6px}.loomcycle-library .def-tool-list,.loomcycle-library .def-tool-entry{display:flex;flex-direction:column;gap:4px}.loomcycle-library .def-tool-pill{background:transparent;border:1px solid var(--border);color:var(--fg);cursor:pointer;text-align:left;display:inline-flex;align-items:center;gap:4px;padding:2px 8px}.loomcycle-library .def-tool-pill:hover{border-color:var(--accent)}.loomcycle-library .def-tool-caret{font-size:9px;color:var(--muted)}.loomcycle-library .def-tool-detail{padding-left:16px;padding-top:4px;padding-bottom:4px}.loomcycle-library .def-tool-desc{font-size:12px;color:var(--muted);margin-bottom:4px}.loomcycle-library .def-tool-name{font-size:11px}.loomcycle-library .def-tool-empty{font-size:12px;color:var(--muted);font-style:italic;padding:4px 0}.loomcycle-library .def-tool-empty code{font-style:normal;font-size:11px;background:var(--bg-soft);padding:0 4px;border-radius:3px}.loomcycle-library .import-preview-list{max-height:46vh;overflow-y:auto;margin:8px 0;display:flex;flex-direction:column;gap:6px}.loomcycle-library .import-row{border:1px solid var(--border);border-radius:6px;padding:8px 10px;background:var(--bg-soft)}.loomcycle-library .import-row-blocked{opacity:.55}.loomcycle-library .import-row-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.loomcycle-library .import-name-input{flex:1 1 160px;min-width:120px;padding:3px 6px;border:1px solid var(--border);border-radius:4px;background:var(--bg-soft-2);color:var(--fg);font-family:var(--mono);font-size:12px}.loomcycle-library .import-action-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:4px;border:1px solid var(--border)}.loomcycle-library .import-action-create{color:var(--accent);border-color:var(--accent)}.loomcycle-library .import-action-fork{color:var(--running);border-color:var(--running)}.loomcycle-library .import-action-blocked{color:var(--danger);border-color:var(--danger)}.loomcycle-library .import-row-note{margin-top:4px;font-size:11px;color:var(--fg-soft)}.loomcycle-library .import-row-warning{margin-top:4px;font-size:11px;color:var(--running)}.loomcycle-library .import-result-ok{color:var(--accent);font-weight:700}.loomcycle-library .import-result-error{color:var(--danger);font-weight:700}.loomcycle-library .import-result-skipped,.loomcycle-library .import-result-pending{color:var(--fg-soft);font-weight:700}--lc-font-mono design tokens); those are defined on the root here (dark default + light override) so the package is self-contained — no external tokens.css. */ .loomcycle-explorer{--bg: #0f1115;--bg-soft: #161922;--fg: #e6e6e6;--fg-soft: #9aa0ad;--fg-muted: #888888;--border: #2a2e3a;--accent: #56c596;--running: #f0a040;--failed: #ff5d68;--danger: #cc3333;--lc-font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--mono: var(--lc-font-mono);--font-sans: "Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lc-text-xs: 12px;--lc-text-sm: 13px;--lc-text-base: 14px;color:var(--fg);font-family:var(--font-sans);font-size:var(--lc-text-base);line-height:1.5;-webkit-font-smoothing:antialiased;color-scheme:dark;display:flex;flex-direction:column;min-width:0;min-height:0}.loomcycle-explorer[data-theme=light],[data-theme=light] .loomcycle-explorer{--bg: #f5f6f8;--bg-soft: #ffffff;--fg: #1a1d24;--fg-soft: #5a6270;--fg-muted: #8a909c;--border: #d7dbe2;--accent: #2f9e6f;--running: #b9740f;--failed: #d23f4a;--danger: #c0392b;color-scheme:light}.loomcycle-explorer,.loomcycle-explorer *,.loomcycle-explorer *:before,.loomcycle-explorer *:after{box-sizing:border-box}.loomcycle-explorer button{font:inherit}.loomcycle-explorer code,.loomcycle-explorer pre{font-family:var(--mono);font-size:var(--lc-text-sm)}.loomcycle-explorer input:where(:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color])),.loomcycle-explorer textarea,.loomcycle-explorer select{background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:6px 8px;font-size:var(--lc-text-sm)}.loomcycle-explorer .empty{color:var(--fg-soft);padding:32px 16px;text-align:center}.loomcycle-explorer .error-banner{background:#ff5d681a;border:1px solid var(--failed);color:var(--failed);padding:8px 12px;border-radius:4px;margin:8px 0;font-family:var(--mono);font-size:var(--lc-text-xs)}.loomcycle-explorer .tree{list-style:none;margin:0;padding:0}.loomcycle-explorer .tree .children{list-style:none;margin:0 0 0 14px;padding:0 0 0 12px;border-left:1px dashed var(--border)}.loomcycle-explorer .node{margin:2px 0}.loomcycle-explorer .node .row{display:flex;gap:8px;align-items:center;padding:6px 8px;background:var(--bg-soft);border:1px solid var(--border);border-radius:4px}.loomcycle-explorer .tree-caret{background:transparent;border:none;color:var(--fg-soft);cursor:pointer;width:14px;height:14px;font-size:10px;padding:0;-webkit-user-select:none;user-select:none;line-height:1}.loomcycle-explorer .tree-caret:disabled{cursor:default;opacity:.35}.loomcycle-explorer .tree-caret:hover:not(:disabled){color:var(--accent)}.loomcycle-explorer .splitter{display:grid;gap:0;height:100%;min-height:0}.loomcycle-explorer .splitter.dragging{-webkit-user-select:none;user-select:none;cursor:col-resize}.loomcycle-explorer .splitter>.splitter-pane{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.loomcycle-explorer .splitter>.splitter-handle{background:transparent;cursor:col-resize;position:relative;z-index:1}.loomcycle-explorer .splitter>.splitter-handle:before{content:"";position:absolute;top:0;bottom:0;left:2px;width:2px;background:var(--border);transition:background 80ms ease}.loomcycle-explorer .splitter>.splitter-handle:hover:before,.loomcycle-explorer .splitter.dragging>.splitter-handle:before{background:var(--accent)}.loomcycle-explorer .stack-splitter{display:grid;flex:1;min-height:0}.loomcycle-explorer .stack-splitter.dragging{-webkit-user-select:none;user-select:none;cursor:row-resize}.loomcycle-explorer .stack-splitter>.stack-splitter-pane{min-height:0;display:flex;flex-direction:column;overflow:hidden}.loomcycle-explorer .stack-splitter>.stack-splitter-handle{cursor:row-resize;position:relative;z-index:1}.loomcycle-explorer .stack-splitter>.stack-splitter-handle:before{content:"";position:absolute;left:0;right:0;top:2px;height:2px;background:var(--border);transition:background 80ms ease}.loomcycle-explorer .stack-splitter>.stack-splitter-handle:hover:before,.loomcycle-explorer .stack-splitter.dragging>.stack-splitter-handle:before{background:var(--accent)}.loomcycle-explorer .doc-links-pane{flex:1;min-height:0;overflow:auto}.loomcycle-explorer .modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.loomcycle-explorer .modal{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:24px;max-width:600px;width:90%;max-height:80vh;overflow:auto}.loomcycle-explorer .modal h3{margin:0 0 12px;font-size:16px}.loomcycle-explorer .modal-context{color:var(--fg-soft);font-style:italic;font-size:var(--lc-text-sm);margin-bottom:16px}.loomcycle-explorer .modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.loomcycle-explorer .modal-header.sticky-top{position:sticky;top:0;background:var(--bg);padding-bottom:10px;border-bottom:1px solid var(--border);z-index:1}.loomcycle-explorer .modal-header h3{margin:0}.loomcycle-explorer .modal-buttons-top{margin:0;flex-shrink:0}.loomcycle-explorer .modal-textarea{width:100%;font-family:inherit;font-size:var(--lc-text-base);padding:10px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--fg);margin-bottom:16px;box-sizing:border-box;resize:vertical}.loomcycle-explorer .modal-err{color:var(--failed);font-size:var(--lc-text-sm);margin-bottom:12px}.loomcycle-explorer .modal-buttons{display:flex;gap:8px;justify-content:flex-end}.loomcycle-explorer .modal-buttons button{padding:8px 16px;border:1px solid var(--border);background:var(--bg-soft);color:var(--fg);border-radius:4px;cursor:pointer}.loomcycle-explorer .modal-buttons button.primary{background:var(--running);color:#fff;border-color:var(--running);border-radius:4px;padding:8px 16px}.loomcycle-explorer .modal-buttons button.danger{background:var(--danger);color:#fff;border-color:var(--danger);border-radius:4px;padding:8px 16px}.loomcycle-explorer .modal-buttons button:disabled{opacity:.6;cursor:not-allowed}.loomcycle-explorer .paths-view{height:100%;min-height:0}.loomcycle-explorer .paths-view .left,.loomcycle-explorer .paths-view .right{background:var(--bg-soft);border:1px solid var(--border);border-radius:6px;display:flex;flex-direction:column;min-height:0;overflow:hidden;flex:1}.loomcycle-explorer .paths-view .left>.tree,.loomcycle-explorer .paths-view .left>.empty{flex:1;overflow:auto;min-height:0;padding:8px 10px}.loomcycle-explorer .paths-toolbar{display:flex;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid var(--border);flex-wrap:wrap}.loomcycle-explorer .paths-scope{display:inline-flex;align-items:center;gap:6px;font-size:var(--lc-text-sm);color:var(--fg-soft)}.loomcycle-explorer .paths-scope select{background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:4px 6px}.loomcycle-explorer .paths-toolbar-actions{display:flex;gap:6px;margin-left:auto}.loomcycle-explorer .paths-toolbar-actions button{padding:4px 10px;border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:4px;cursor:pointer}.loomcycle-explorer .paths-toolbar-actions button:hover:not(:disabled){border-color:var(--accent)}.loomcycle-explorer .paths-toolbar-actions button:disabled{opacity:.45;cursor:not-allowed}.loomcycle-explorer .paths-nav-switch{display:inline-flex;border:1px solid var(--border);border-radius:4px;overflow:hidden}.loomcycle-explorer .paths-nav-switch button{padding:4px 10px;border:none;background:var(--bg);color:var(--fg-soft);cursor:pointer}.loomcycle-explorer .paths-nav-switch button+button{border-left:1px solid var(--border)}.loomcycle-explorer .paths-nav-switch button.active{background:var(--bg-soft);color:var(--fg);box-shadow:inset 0 -2px 0 var(--accent)}.loomcycle-explorer .paths-view .left>.paths-navigator{flex:1;min-height:0;display:flex;flex-direction:column}.loomcycle-explorer .paths-context{margin:0;padding:6px 12px;font-size:var(--lc-text-xs);color:var(--fg-soft);border-bottom:1px solid var(--border)}.loomcycle-explorer .paths-err{margin:0;padding:8px 12px;color:var(--failed);font-size:var(--lc-text-sm);border-bottom:1px solid var(--border)}.loomcycle-explorer .path-link{display:inline-flex;align-items:center;gap:8px;background:transparent;border:none;color:var(--fg);cursor:pointer;padding:0;font:inherit;text-align:left;min-width:0}.loomcycle-explorer .path-link:hover .path-name{color:var(--accent)}.loomcycle-explorer .path-kind-icon{font-size:14px;line-height:1}.loomcycle-explorer .path-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loomcycle-explorer .path-implicit{font-size:var(--lc-text-xs);color:var(--fg-soft);opacity:.7;font-style:italic}.loomcycle-explorer .path-status{padding:2px 8px;font-size:var(--lc-text-xs)}.loomcycle-explorer .path-err{color:var(--failed)}.loomcycle-explorer .path-more{background:transparent;border:1px dashed var(--border);border-radius:4px;color:var(--fg-soft);cursor:pointer;padding:2px 8px;font:inherit}.loomcycle-explorer .path-more:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.loomcycle-explorer .paths-detail{flex:1;overflow:auto;min-height:0;padding:14px}.loomcycle-explorer .paths-detail h2{display:flex;align-items:center;gap:10px;font-size:var(--lc-text-base);margin:0 0 14px;flex-wrap:wrap}.loomcycle-explorer .paths-detail h2 code{font-family:var(--lc-font-mono);font-size:var(--lc-text-sm);word-break:break-all}.loomcycle-explorer .paths-detail-kind{text-transform:uppercase;font-size:var(--lc-text-xs);letter-spacing:.04em;padding:2px 8px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--border);color:var(--fg-soft)}.loomcycle-explorer .paths-detail-meta{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;margin:0 0 16px;font-size:var(--lc-text-sm)}.loomcycle-explorer .paths-detail-meta dt{color:var(--fg-soft)}.loomcycle-explorer .paths-detail-meta dd{margin:0;word-break:break-all}.loomcycle-explorer .paths-detail-actions{display:flex;gap:8px;margin-bottom:12px}.loomcycle-explorer .paths-detail-actions button{padding:6px 14px;border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:4px;cursor:pointer}.loomcycle-explorer .paths-detail-actions button:hover{border-color:var(--accent)}.loomcycle-explorer .paths-detail-actions button.danger{color:var(--danger);border-color:var(--danger)}.loomcycle-explorer .paths-readonly,.loomcycle-explorer .paths-note{font-size:var(--lc-text-sm);color:var(--fg-soft)}.loomcycle-explorer .path-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;font-size:var(--lc-text-sm);color:var(--fg-soft)}.loomcycle-explorer .path-modal-input{font-family:inherit;font-size:var(--lc-text-base);padding:8px 10px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--fg);box-sizing:border-box}.loomcycle-explorer .paths-doc{flex:1;display:flex;flex-direction:column;min-height:0}.loomcycle-explorer .paths-doc-head{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);flex-wrap:wrap}.loomcycle-explorer .paths-doc-path{font-family:var(--lc-font-mono);font-size:var(--lc-text-sm);word-break:break-all;flex:1;min-width:0}.loomcycle-explorer .doc-viewer{flex:1;display:flex;flex-direction:column;min-height:0}.loomcycle-explorer .doc-toolbar{display:flex;align-items:center;gap:12px;padding:8px 12px;border-bottom:1px solid var(--border);flex-wrap:wrap}.loomcycle-explorer .doc-title{font-size:var(--lc-text-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.loomcycle-explorer .doc-toolbar-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.loomcycle-explorer .doc-toolbar-actions button{padding:4px 10px;border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:4px;cursor:pointer}.loomcycle-explorer .doc-toolbar-actions button:hover{border-color:var(--accent)}.loomcycle-explorer .doc-toolbar-actions button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.loomcycle-explorer .id-copy{display:inline-flex;align-items:center;gap:4px;min-width:0}.loomcycle-explorer .id-copy-label{font-size:var(--lc-text-xs);color:var(--fg-muted);text-transform:uppercase;letter-spacing:.03em}.loomcycle-explorer .id-copy-value{font-family:var(--mono);font-size:var(--lc-text-xs);color:var(--fg-soft);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:1px 6px;max-width:22ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loomcycle-explorer .id-copy-btn{background:transparent;border:none;color:var(--fg-soft);cursor:pointer;font-size:12px;line-height:1;padding:2px 3px;border-radius:4px;-webkit-user-select:none;user-select:none}.loomcycle-explorer .id-copy-btn:hover,.loomcycle-explorer .id-copy-btn.id-copy-copied{color:var(--accent)}.loomcycle-explorer .id-copy-btn.id-copy-error{color:var(--failed)}.loomcycle-explorer .node .row .id-copy-btn{margin-left:auto;opacity:.4}.loomcycle-explorer .node .row:hover .id-copy-btn,.loomcycle-explorer .node.selected .row .id-copy-btn,.loomcycle-explorer .node .row .id-copy-btn:focus-visible{opacity:1}.loomcycle-explorer .doc-mode-toggle{display:inline-flex;border:1px solid var(--border);border-radius:4px;overflow:hidden}.loomcycle-explorer .doc-mode-toggle button{padding:4px 10px;border:none;background:var(--bg);color:var(--fg-soft);cursor:pointer}.loomcycle-explorer .doc-mode-toggle button.active{background:var(--accent);color:#fff}.loomcycle-explorer .doc-split{flex:1;min-height:0;grid-template-rows:minmax(0,1fr)}.loomcycle-explorer .doc-chunktree{flex:1;overflow:auto;padding:8px;min-height:0}.loomcycle-explorer .doc-content{flex:1;display:flex;flex-direction:column;min-height:0}.loomcycle-explorer .doc-content-head{padding:10px 14px;border-bottom:1px solid var(--border)}.loomcycle-explorer .doc-content-head h3{margin:0 0 6px;font-size:var(--lc-text-base)}.loomcycle-explorer .doc-content-meta{display:flex;gap:6px;align-items:center;margin-bottom:6px}.loomcycle-explorer .chunk-rev{font-size:var(--lc-text-xs);color:var(--fg-soft)}.loomcycle-explorer .doc-content-controls{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.loomcycle-explorer .doc-content-controls>button{padding:4px 12px;border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:4px;cursor:pointer}.loomcycle-explorer .doc-content-controls>button:disabled{opacity:.4;cursor:default}.loomcycle-explorer .doc-content-controls>button.danger{color:var(--danger);border-color:var(--danger)}.loomcycle-explorer .doc-content-controls>button.chunk-edit{background:#f8c58c;border-color:#eeac62;color:#3d2408;font-weight:600}.loomcycle-explorer .doc-content-controls>button.chunk-edit:hover{filter:brightness(1.08)}.loomcycle-explorer .chunk-ancestry{display:flex;align-items:flex-start;gap:10px;margin-bottom:6px;font-size:var(--lc-text-sm);min-width:0}.loomcycle-explorer .chunk-ancestry-up{flex:none;background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:2px 8px;cursor:pointer}.loomcycle-explorer .chunk-ancestry .doc-trail-list{flex-wrap:wrap;row-gap:2px}.loomcycle-explorer .chunk-ancestry-up:hover{border-color:var(--accent)}.loomcycle-explorer .chunk-ancestry button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.loomcycle-explorer .doc-content-body{flex:1;overflow:auto;min-height:0;padding:14px}.loomcycle-explorer .doc-empty-body{color:var(--fg-soft);font-style:italic}.loomcycle-explorer .chunk-link{display:inline-flex;align-items:center;gap:8px;background:transparent;border:none;color:var(--fg);cursor:pointer;padding:0;font:inherit;text-align:left;min-width:0}.loomcycle-explorer .chunk-link:hover .chunk-title{color:var(--accent)}.loomcycle-explorer .chunk-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loomcycle-explorer .chunk-badge{font-size:var(--lc-text-xs);padding:1px 6px;border-radius:999px;background:var(--bg);border:1px solid var(--border);color:var(--fg-soft)}.loomcycle-explorer .chunk-badge.chunk-status{border-style:dashed}.loomcycle-explorer .modal.chunk-editor{max-width:720px;width:92vw}.loomcycle-explorer .chunk-editor-row{display:flex;gap:12px}.loomcycle-explorer .chunk-editor-row .path-field{flex:1}.loomcycle-explorer .chunk-body-input{font-family:var(--lc-font-mono)}.loomcycle-explorer .md{font-size:var(--lc-text-sm);line-height:1.55;word-wrap:break-word}.loomcycle-explorer .md h1,.loomcycle-explorer .md h2,.loomcycle-explorer .md h3,.loomcycle-explorer .md h4,.loomcycle-explorer .md h5,.loomcycle-explorer .md h6{margin:.8em 0 .4em;line-height:1.25}.loomcycle-explorer .md h1{font-size:1.6em}.loomcycle-explorer .md h2{font-size:1.35em}.loomcycle-explorer .md h3{font-size:1.15em}.loomcycle-explorer .md p{margin:.5em 0}.loomcycle-explorer .md ul,.loomcycle-explorer .md ol{margin:.5em 0;padding-left:1.5em}.loomcycle-explorer .md code{font-family:var(--lc-font-mono);font-size:.92em;background:var(--bg-soft);padding:1px 4px;border-radius:3px}.loomcycle-explorer .md-pre{background:var(--bg-soft);border:1px solid var(--border);border-radius:4px;padding:10px 12px;overflow:auto}.loomcycle-explorer .md-pre code{background:none;padding:0}.loomcycle-explorer .md blockquote{margin:.5em 0;padding-left:12px;border-left:3px solid var(--border);color:var(--fg-soft)}.loomcycle-explorer .md a{color:var(--accent)}.loomcycle-explorer .md table{border-collapse:collapse;margin:.75em 0;max-width:100%;display:block;overflow-x:auto;font-size:.92em}.loomcycle-explorer .md th,.loomcycle-explorer .md td{border:1px solid var(--border);padding:5px 10px;text-align:left;vertical-align:top}.loomcycle-explorer .md th{background:var(--bg-soft);font-weight:600}.loomcycle-explorer .md tbody tr:nth-child(2n){background:#7f7f7f0f}.loomcycle-explorer .md-mermaid{margin:.75em 0;padding:10px 12px;background:var(--bg-soft);border:1px solid var(--border);border-radius:4px;overflow-x:auto;text-align:center}.loomcycle-explorer .md-mermaid svg{max-width:100%;height:auto}.loomcycle-explorer .md-mermaid-loading{color:var(--fg-soft);font-size:.9em;text-align:left}.loomcycle-explorer .md-mermaid-error{border-left:3px solid var(--danger)}.loomcycle-explorer .doc-assistant{flex:0 0 auto;max-height:45%;display:flex;flex-direction:column;min-height:0;overflow:hidden;border-top:1px solid var(--border);background:var(--bg-soft)}.loomcycle-explorer .scheme-editor{max-width:520px}.loomcycle-explorer .scheme-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;background:var(--bg);padding-bottom:10px;border-bottom:1px solid var(--border);margin-bottom:12px}.loomcycle-explorer .scheme-editor-head h3{margin:0}.loomcycle-explorer .scheme-editor-actions{display:flex;gap:8px}.loomcycle-explorer .scheme-editor-actions button{padding:8px 16px;border:1px solid var(--border);background:var(--bg-soft);color:var(--fg);border-radius:4px;cursor:pointer}.loomcycle-explorer .scheme-editor-actions button.primary{background:var(--running);color:#fff;border-color:var(--running)}.loomcycle-explorer .scheme-toggle{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:var(--lc-text-sm)}.loomcycle-explorer .scheme-group{margin-top:14px}.loomcycle-explorer .scheme-group h4{margin:0 0 6px;font-size:var(--lc-text-sm);color:var(--fg-soft);text-transform:uppercase;letter-spacing:.04em}.loomcycle-explorer .scheme-row{display:flex;align-items:center;gap:10px;padding:3px 0}.loomcycle-explorer .scheme-row input[type=color]{width:28px;height:22px;padding:0;border:1px solid var(--border);border-radius:4px;background:none;cursor:pointer}.loomcycle-explorer .scheme-key{flex:1;font-size:var(--lc-text-sm)}.loomcycle-explorer .scheme-hex{color:var(--fg-soft);font-size:var(--lc-text-xs)}.loomcycle-explorer .scheme-editor-foot{display:flex;align-items:center;gap:10px;margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.loomcycle-explorer .scheme-editor-foot button{padding:6px 12px;border:1px solid var(--border);background:var(--bg-soft);color:var(--fg);border-radius:4px;cursor:pointer}.loomcycle-explorer .scheme-status{color:var(--fg-soft);font-size:var(--lc-text-xs)}.loomcycle-explorer .chunk-link-badge{font-size:.85em;line-height:1;opacity:.85}.loomcycle-explorer .doc-refs{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.loomcycle-explorer .doc-refs h4{margin:0 0 6px;font-size:var(--lc-text-sm);color:var(--fg-soft);text-transform:uppercase;letter-spacing:.04em}.loomcycle-explorer .doc-refs-empty{color:var(--fg-soft);font-size:var(--lc-text-sm);margin:0}.loomcycle-explorer .doc-refs-incomplete{color:var(--fg-soft);font-size:var(--lc-text-sm);margin:0 0 6px}.loomcycle-explorer .doc-refs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.loomcycle-explorer .doc-ref{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:var(--lc-text-sm)}.loomcycle-explorer .doc-ref-kind{font-family:var(--mono);font-size:var(--lc-text-xs);color:var(--fg-soft);background:var(--bg-soft);border:1px solid var(--border);border-radius:3px;padding:1px 5px}.loomcycle-explorer .doc-ref-arrow{color:var(--fg-muted)}.loomcycle-explorer .doc-ref-target{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;font:inherit;text-align:left}.loomcycle-explorer .doc-ref-target:hover{text-decoration:underline}.loomcycle-explorer .doc-ref-target.external{color:var(--fg-soft);cursor:default}.loomcycle-explorer button.doc-ref-target.external{color:var(--accent);cursor:pointer}.loomcycle-explorer .doc-ref-target:focus-visible,.loomcycle-explorer .doc-trail button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.loomcycle-explorer .doc-stmt-status,.loomcycle-explorer .doc-stmt-method,.loomcycle-explorer .doc-stmt-verdict,.loomcycle-explorer .doc-stmt-valid{font-size:var(--lc-text-xs);color:var(--fg-soft);border:1px solid var(--border);border-radius:3px;padding:0 4px}.loomcycle-explorer .doc-stmt-status.proposed{color:var(--running);border-color:var(--running)}.loomcycle-explorer .doc-stmt-status.rejected{color:var(--failed);border-color:var(--failed);text-decoration:line-through}.loomcycle-explorer .doc-stmt-verdict{cursor:help;border-style:dashed}.loomcycle-explorer .doc-stmt-valid{border:none;padding:0;color:var(--fg-muted)}.loomcycle-explorer .doc-stmt-evidence{flex-basis:100%;list-style:none;margin:0 0 2px;padding:0 0 0 10px;border-left:2px solid var(--border);color:var(--fg-soft);font-size:var(--lc-text-xs)}.loomcycle-explorer .doc-stmt-evidence li{overflow-wrap:anywhere}.loomcycle-explorer .doc-stmt-stale,.loomcycle-explorer .doc-stmt-more{color:var(--fg-muted);font-style:italic}.loomcycle-explorer .doc-stmt-review{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px}.loomcycle-explorer .doc-stmt-review button{padding:1px 8px;border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:4px;cursor:pointer;font-size:var(--lc-text-xs)}.loomcycle-explorer .doc-stmt-review button:hover:not(:disabled){border-color:var(--accent)}.loomcycle-explorer .doc-stmt-review button.danger{color:var(--danger);border-color:var(--danger)}.loomcycle-explorer .doc-stmt-review button:disabled{opacity:.5;cursor:default}.loomcycle-explorer .doc-stmt-review input{padding:1px 6px;font-size:var(--lc-text-xs);min-width:16ch}.loomcycle-explorer .doc-stmt-err{color:var(--failed);font-size:var(--lc-text-xs)}.loomcycle-explorer .md-mermaid-nav g.node{cursor:pointer}.loomcycle-explorer .doc-classify{display:flex;flex-direction:column;gap:6px;padding:8px 12px;border-bottom:1px solid var(--border);font-size:var(--lc-text-sm)}.loomcycle-explorer .doc-classify button{padding:2px 10px;border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:4px;cursor:pointer;font-size:var(--lc-text-xs)}.loomcycle-explorer .doc-classify button:hover:not(:disabled){border-color:var(--accent)}.loomcycle-explorer .doc-classify button:disabled{opacity:.5;cursor:default}.loomcycle-explorer .doc-classify button.doc-classify-dismiss{margin-left:auto;border:none;background:none;color:var(--fg-soft);padding:0 4px}.loomcycle-explorer .doc-classify-pending,.loomcycle-explorer .doc-classify-notice,.loomcycle-explorer .doc-classify-head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.loomcycle-explorer .doc-classify-pending{border-left:3px solid var(--running);padding-left:8px}.loomcycle-explorer .doc-classify-label{color:var(--running);font-weight:600}.loomcycle-explorer .doc-classify-head h4{margin:0;font-size:var(--lc-text-sm);color:var(--fg-soft);text-transform:uppercase;letter-spacing:.04em}.loomcycle-explorer .doc-classify-result{font-size:var(--lc-text-xs);border:1px solid var(--border);border-radius:3px;padding:0 4px;color:var(--fg-soft)}.loomcycle-explorer .doc-classify-result.classified{color:var(--accent);border-color:var(--accent)}.loomcycle-explorer .doc-classify-result.proposed{color:var(--running);border-color:var(--running)}.loomcycle-explorer .doc-classify-hint{color:var(--fg-muted);font-size:var(--lc-text-xs)}.loomcycle-explorer .doc-classify-err{display:flex;align-items:center;margin:0;color:var(--failed);font-size:var(--lc-text-xs)}.loomcycle-explorer .doc-classify-warn{color:var(--running);font-size:var(--lc-text-xs)}.loomcycle-explorer .doc-classify-rows{display:grid;grid-template-columns:max-content 1fr;gap:2px 12px;margin:4px 0 0}.loomcycle-explorer .doc-classify-rows dt{color:var(--fg-soft);font-size:var(--lc-text-xs)}.loomcycle-explorer .doc-classify-rows dd{margin:0;overflow-wrap:anywhere}.loomcycle-explorer .doc-classify-mono{font-family:var(--lc-font-mono, monospace);font-size:var(--lc-text-xs)}.loomcycle-explorer .doc-classify-item+.doc-classify-item:before{content:" · ";color:var(--fg-muted)}.loomcycle-explorer .doc-classify-steps,.loomcycle-explorer .doc-classify-warnings{margin:4px 0 0;padding-left:18px}.loomcycle-explorer .doc-classify-step{font-weight:600}.loomcycle-explorer .doc-classify-candidates summary{cursor:pointer;color:var(--fg-soft);font-size:var(--lc-text-xs)}.loomcycle-explorer .doc-classify-candidates ul{margin:2px 0 4px;padding-left:16px}.loomcycle-explorer .doc-classify-candidates li{overflow-wrap:anywhere}.loomcycle-explorer .doc-classify-actions{display:flex;gap:6px}.loomcycle-explorer .doc-trail{display:flex;align-items:center;gap:10px;padding:6px 12px;border-bottom:1px solid var(--border);font-size:var(--lc-text-sm);min-width:0}.loomcycle-explorer .doc-trail-back{flex:none;background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:2px 8px;cursor:pointer}.loomcycle-explorer .doc-trail-back:hover{border-color:var(--accent)}.loomcycle-explorer .doc-trail-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;flex:1;min-width:0;overflow:hidden}.loomcycle-explorer .doc-trail-item{display:flex;align-items:center;min-width:0}.loomcycle-explorer .doc-trail-item+.doc-trail-item:before{content:"›";flex:none;margin:0 6px;color:var(--fg-muted)}.loomcycle-explorer .doc-trail-crumb,.loomcycle-explorer .doc-trail-current{max-width:28ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loomcycle-explorer .doc-trail-crumb,.loomcycle-explorer .doc-trail-gap{background:none;border:none;padding:0;font:inherit;color:var(--accent);cursor:pointer}.loomcycle-explorer .doc-trail-crumb:hover,.loomcycle-explorer .doc-trail-gap:hover{text-decoration:underline}.loomcycle-explorer .doc-trail-current{color:var(--fg);font-weight:600}.loomcycle-explorer .paths-doc-unfiled{font-family:inherit;word-break:normal}.loomcycle-explorer .paths-doc-unfiled em{font-style:normal;color:var(--fg-soft)}.loomcycle-explorer .doc-unavailable{padding:24px 16px;color:var(--fg-soft);font-size:var(--lc-text-sm)}.loomcycle-explorer .doc-unavailable p{margin:0 0 8px}.loomcycle-explorer .doc-unavailable-lead{color:var(--fg);font-weight:600}.loomcycle-explorer .doc-unavailable-detail{word-break:break-all}.loomcycle-explorer .doc-graph{margin-top:12px}.loomcycle-explorer .doc-graph-toggle,.loomcycle-explorer .doc-graph-more{background:none;border:none;color:var(--fg-soft);cursor:pointer;padding:2px 0;font:inherit;font-size:var(--lc-text-sm)}.loomcycle-explorer .doc-graph-toggle:hover,.loomcycle-explorer .doc-graph-more:hover{color:var(--accent)}.loomcycle-explorer .doc-graph-more{margin-top:6px;font-size:var(--lc-text-xs)}.loomcycle-explorer .chunk-tag{font-size:var(--lc-text-xs);padding:1px 6px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--border);color:var(--accent)}.loomcycle-explorer .doc-conn{margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.loomcycle-explorer .doc-conn-toggle{background:none;border:none;color:var(--fg-soft);cursor:pointer;padding:2px 0;font:inherit;font-size:var(--lc-text-sm)}.loomcycle-explorer .doc-conn-toggle:hover{color:var(--accent)}.loomcycle-explorer .doc-conn-body{margin-top:8px;display:flex;flex-direction:column;gap:12px}.loomcycle-explorer .doc-conn-group h5{margin:0 0 4px;font-size:var(--lc-text-xs);color:var(--fg-soft);text-transform:uppercase;letter-spacing:.04em}.loomcycle-explorer .doc-conn-empty{color:var(--fg-soft);font-size:var(--lc-text-sm);margin:0}.loomcycle-explorer .doc-conn-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.loomcycle-explorer .doc-conn-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:var(--lc-text-sm)}.loomcycle-explorer .doc-conn-score{font-family:var(--mono);font-size:var(--lc-text-xs);color:var(--fg-muted)}.loomcycle-explorer .doc-conn-auto{font-size:var(--lc-text-xs);color:var(--fg-soft);border:1px solid var(--border);border-radius:3px;padding:0 4px}.loomcycle-explorer .doc-conn-more{list-style:none;color:var(--fg-muted);font-size:var(--lc-text-xs);font-style:italic}.loomcycle-explorer .modal.history-modal{max-width:720px;width:92vw}.loomcycle-explorer .doc-hist-revs{display:flex;flex-direction:column;gap:2px;max-height:220px;overflow:auto;margin-bottom:12px}.loomcycle-explorer .doc-hist-rev{display:flex;align-items:baseline;gap:10px;text-align:left;background:var(--bg-soft);border:1px solid var(--border);border-radius:4px;padding:5px 8px;cursor:pointer;color:var(--fg)}.loomcycle-explorer .doc-hist-rev:hover{border-color:var(--accent)}.loomcycle-explorer .doc-hist-rev.active{border-color:var(--accent);background:var(--bg)}.loomcycle-explorer .doc-hist-rev-num{font-family:var(--mono);font-size:var(--lc-text-xs);color:var(--accent)}.loomcycle-explorer .doc-hist-rev-time{font-size:var(--lc-text-xs);color:var(--fg-soft)}.loomcycle-explorer .doc-hist-rev-actor{font-size:var(--lc-text-xs);color:var(--fg-muted);margin-left:auto}.loomcycle-explorer .doc-hist-diffbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--lc-text-sm);color:var(--fg-soft);margin-bottom:12px}.loomcycle-explorer .doc-hist-diffbar button{padding:4px 12px;border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:4px;cursor:pointer}.loomcycle-explorer .doc-hist-diffbar button:disabled{opacity:.5;cursor:not-allowed}.loomcycle-explorer .doc-hist-output{max-height:40vh;overflow:auto}.loomcycle-explorer .doc-hist-version,.loomcycle-explorer .doc-hist-diff{margin:0;white-space:pre-wrap;word-break:break-word}.loomcycle-explorer .doc-hist-diff .diff-add{color:var(--accent)}.loomcycle-explorer .doc-hist-diff .diff-del{color:var(--failed)}.loomcycle-explorer .doc-hist-diff .diff-hunk{color:var(--fg-muted)}.loomcycle-explorer .chunk-type-icon{font-size:.9em;line-height:1;margin-right:2px}.loomcycle-explorer .doc-image{margin:0;text-align:center}.loomcycle-explorer .doc-image img{max-width:100%;height:auto;border:1px solid var(--border);border-radius:4px;background:var(--bg-soft)}.loomcycle-explorer .doc-image figcaption{margin-top:6px;color:var(--fg-soft);font-size:var(--lc-text-sm);font-style:italic}.loomcycle-explorer .doc-mermaid-source{margin-top:10px}.loomcycle-explorer .chunk-mermaid-preview{border:1px solid var(--border);border-radius:4px;padding:10px;background:var(--bg-soft);margin-bottom:16px;overflow-x:auto}.loomcycle-explorer .doc-bulk{margin-bottom:10px;padding-bottom:8px;border-bottom:1px dashed var(--border)}.loomcycle-explorer .doc-bulk-bar,.loomcycle-explorer .doc-bulk-step{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0;font-size:var(--lc-text-xs)}.loomcycle-explorer .doc-bulk button,.loomcycle-explorer .doc-bulk-result button{padding:1px 8px;border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:4px;cursor:pointer;font-size:var(--lc-text-xs)}.loomcycle-explorer .doc-bulk button:hover:not(:disabled){border-color:var(--accent)}.loomcycle-explorer .doc-bulk button.danger{color:var(--danger);border-color:var(--danger)}.loomcycle-explorer .doc-bulk button:disabled{opacity:.5;cursor:default}.loomcycle-explorer .doc-bulk-confirm p{margin:0;flex-basis:100%}.loomcycle-explorer .doc-bulk-warn{color:var(--running)}.loomcycle-explorer .doc-bulk-sample{flex-basis:100%;margin:0;padding-left:16px;color:var(--fg-soft)}.loomcycle-explorer .doc-bulk-result{display:flex;align-items:center;gap:6px;margin:4px 0;font-size:var(--lc-text-xs);color:var(--fg-soft)}.loomcycle-explorer .doc-bulk .doc-conn-row input[type=checkbox]{margin:0 4px 0 0}--lc-font-mono design tokens); those are defined on the root here (dark default + light override) so the package is self-contained — no external tokens.css. */ .loomcycle-memory-view{--bg: #0f1115;--bg-soft: #161922;--bg-soft-2: #1d2230;--bg-input: #0f1115;--fg: #e6e6e6;--fg-soft: #9aa0ad;--fg-muted: #888888;--border: #2a2e3a;--accent: #56c596;--running: #f0a040;--failed: #ff5d68;--danger: #cc3333;--success-soft: #123524;--err: #ff5d68;--lc-font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--mono: var(--lc-font-mono);--font-sans: "Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lc-text-xs: 12px;--lc-text-sm: 13px;--lc-text-base: 14px;color:var(--fg);font-family:var(--font-sans);font-size:var(--lc-text-base);line-height:1.5;-webkit-font-smoothing:antialiased;color-scheme:dark;display:flex;flex-direction:column;min-width:0;min-height:0;height:100%}.loomcycle-memory-view[data-theme=light],[data-theme=light] .loomcycle-memory-view{--bg: #f5f6f8;--bg-soft: #ffffff;--bg-soft-2: #eef0f4;--bg-input: #ffffff;--fg: #1a1d24;--fg-soft: #5a6270;--fg-muted: #8a909c;--border: #d7dbe2;--accent: #2f9e6f;--running: #b9740f;--failed: #d23f4a;--danger: #c0392b;--success-soft: #e3f3ea;--err: #d23f4a;color-scheme:light}.loomcycle-memory-view,.loomcycle-memory-view *,.loomcycle-memory-view *:before,.loomcycle-memory-view *:after{box-sizing:border-box}.loomcycle-memory-view button{font:inherit}.loomcycle-memory-view code,.loomcycle-memory-view pre{font-family:var(--mono);font-size:var(--lc-text-sm)}.loomcycle-memory-view input:where(:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color])),.loomcycle-memory-view textarea,.loomcycle-memory-view select{background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:6px 8px;font-size:var(--lc-text-sm)}.loomcycle-memory-view .empty{color:var(--fg-soft);padding:32px 16px;text-align:center}.loomcycle-memory-view .error-banner{background:#ff5d681a;border:1px solid var(--failed);color:var(--failed);padding:8px 12px;border-radius:4px;margin:8px 0;font-family:var(--mono);font-size:var(--lc-text-xs)}.loomcycle-memory-view .err{background:#ff5d681a;border:1px solid var(--failed);color:var(--failed);padding:8px 12px;border-radius:4px;margin-bottom:12px;font-family:var(--mono);font-size:var(--lc-text-xs)}.loomcycle-memory-view .warning-banner{padding:8px 12px;background:#ffc4001a;border:1px solid rgba(255,196,0,.4);color:#d4a017;border-radius:4px;margin:8px 0;font-size:var(--lc-text-xs)}.loomcycle-memory-view .meta{color:var(--fg-soft);font-size:11px;font-family:var(--mono)}.loomcycle-memory-view .splitter{display:grid;gap:0;height:100%;min-height:0}.loomcycle-memory-view .splitter.dragging{-webkit-user-select:none;user-select:none;cursor:col-resize}.loomcycle-memory-view .splitter>.splitter-pane{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.loomcycle-memory-view .splitter>.splitter-handle{background:transparent;cursor:col-resize;position:relative;z-index:1}.loomcycle-memory-view .splitter>.splitter-handle:before{content:"";position:absolute;top:0;bottom:0;left:2px;width:2px;background:var(--border);transition:background 80ms ease}.loomcycle-memory-view .splitter>.splitter-handle:hover:before,.loomcycle-memory-view .splitter.dragging>.splitter-handle:before{background:var(--accent)}.loomcycle-memory-view .modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.loomcycle-memory-view .modal{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:24px;max-width:600px;width:90%;max-height:80vh;overflow:auto}.loomcycle-memory-view .modal h3{margin:0 0 12px;font-size:16px}.loomcycle-memory-view .modal-buttons{display:flex;gap:8px;justify-content:flex-end}.loomcycle-memory-view .modal-buttons button{padding:8px 16px;border:1px solid var(--border);background:var(--bg-soft);color:var(--fg);border-radius:4px;cursor:pointer}.loomcycle-memory-view .modal-buttons button.primary{background:var(--running);color:#fff;border-color:var(--running);border-radius:4px;padding:8px 16px}.loomcycle-memory-view .modal-buttons button:disabled{opacity:.6;cursor:not-allowed}.loomcycle-memory-view .modal.library-modal{max-width:720px;width:92vw}.loomcycle-memory-view .library-modal-fields{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.loomcycle-memory-view .library-modal-field{display:flex;flex-direction:column;gap:4px;flex:1}.loomcycle-memory-view .library-modal-field>span{font-size:12px;font-weight:600;color:var(--fg-muted)}.loomcycle-memory-view .library-modal-field input,.loomcycle-memory-view .library-modal-field select,.loomcycle-memory-view .library-modal-field textarea{padding:6px 8px;font-size:13px;border:1px solid var(--border);border-radius:4px;background:var(--bg-input);color:var(--fg)}.loomcycle-memory-view .library-modal-field input:disabled,.loomcycle-memory-view .library-modal-field select:disabled{opacity:.6;cursor:not-allowed}.loomcycle-memory-view .library-modal-field-row{display:flex;gap:12px}.loomcycle-memory-view .memory-modal-checkbox-field{flex-direction:row;align-items:center;gap:8px}.loomcycle-memory-view .memory-modal-checkbox-field>span{order:2}.loomcycle-memory-view .memory-modal-checkbox-field>input{flex:0 0 auto}.loomcycle-memory-view .memory-view-wrapper{display:flex;flex-direction:column;height:100%;min-height:0;padding:12px;gap:8px}.loomcycle-memory-view .memory-view-wrapper>.err{flex-shrink:0;margin-bottom:0}.loomcycle-memory-view .memory-view{height:100%;min-height:0;flex:1}.loomcycle-memory-view .memory-view-inner{height:100%;min-height:0}.loomcycle-memory-view .memory-pane{background:var(--bg-soft);border:1px solid var(--border);border-radius:6px;display:flex;flex-direction:column;min-height:0}.loomcycle-memory-view .memory-pane .pane-header{padding:10px 12px;border-bottom:1px solid var(--border);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-soft);display:flex;justify-content:space-between;align-items:center}.loomcycle-memory-view .memory-pane .pane-header.sub{border-bottom:1px solid var(--border);background:var(--bg-soft-2)}.loomcycle-memory-view .memory-pane .pane-header code{color:var(--fg);font-size:12px;text-transform:none;letter-spacing:0}.loomcycle-memory-view .scope-tabs{display:flex;padding:8px;gap:6px;border-bottom:1px solid var(--border)}.loomcycle-memory-view .scope-tabs button{flex:1;background:var(--bg);color:var(--fg-soft);border:1px solid var(--border);border-radius:4px;padding:6px 10px;font-size:12px;cursor:pointer}.loomcycle-memory-view .scope-tabs button.on{background:var(--accent);border-color:var(--accent);color:#fff}.loomcycle-memory-view .scope-id-list,.loomcycle-memory-view .key-list{list-style:none;margin:0;padding:0;overflow:auto;flex:1;min-height:0}.loomcycle-memory-view .scope-id-list li,.loomcycle-memory-view .key-list li{padding:8px 12px;border-bottom:1px solid var(--border);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:8px;position:relative}.loomcycle-memory-view .scope-id-list li:hover,.loomcycle-memory-view .key-list li:hover{background:var(--bg-soft-2)}.loomcycle-memory-view .scope-id-list li.on,.loomcycle-memory-view .key-list li.on{background:var(--bg-soft-2);border-left:3px solid var(--accent);padding-left:9px}.loomcycle-memory-view .scope-id-list li.tenant-wide{cursor:default}.loomcycle-memory-view .scope-id-list li .meta{color:var(--fg-soft);font-size:11px;font-family:var(--mono)}.loomcycle-memory-view .scope-id-list li code,.loomcycle-memory-view .key-list li code{font-size:12px;word-break:break-all}.loomcycle-memory-view .empty-row{color:var(--fg-soft);padding:16px 12px!important;cursor:default!important;font-style:italic;font-size:12px;border-bottom:1px solid var(--border)}.loomcycle-memory-view .empty-row:hover{background:transparent!important}.loomcycle-memory-view .prefix-input{margin:8px 12px;padding:6px 10px;background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--fg);font-family:var(--mono);font-size:12px}.loomcycle-memory-view .ttl-flag{background:var(--running);color:#fff;font-size:10px;text-transform:uppercase;padding:1px 4px;border-radius:2px;letter-spacing:.04em}.loomcycle-memory-view .embed-badge-row{margin:8px 12px 4px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;color:var(--fg-soft)}.loomcycle-memory-view .embed-badge-label{text-transform:uppercase;letter-spacing:.04em}.loomcycle-memory-view .embed-badge{background:var(--bg-soft);border:1px solid var(--border);border-radius:12px;padding:2px 8px;font-family:var(--mono);font-size:11px;color:var(--fg)}.loomcycle-memory-view .embed-badge-count{margin-left:6px;color:var(--fg-soft)}.loomcycle-memory-view .embed-badge-disabled .embed-badge-label{color:var(--fg-muted);font-style:italic}.loomcycle-memory-view .embed-reembed-btn{margin-left:auto;background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--fg);font-family:var(--mono);font-size:11px;padding:2px 8px;cursor:pointer}.loomcycle-memory-view .embed-reembed-btn:hover:not(:disabled){background:var(--bg-soft)}.loomcycle-memory-view .embed-reembed-btn:disabled{opacity:.5;cursor:wait}.loomcycle-memory-view .embed-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:6px;vertical-align:middle}.loomcycle-memory-view .embed-key-badge{margin-left:8px;background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;padding:0 6px;font-family:var(--mono);font-size:10px;color:var(--fg-soft);vertical-align:middle;white-space:nowrap}.loomcycle-memory-view .reembed-banner{margin:6px 12px;padding:10px 12px;border:1px solid var(--border);border-radius:4px;font-size:12px;display:flex;flex-direction:column;gap:8px}.loomcycle-memory-view .reembed-dryrun{background:var(--bg-soft)}.loomcycle-memory-view .reembed-realrun{background:var(--success-soft)}.loomcycle-memory-view .reembed-summary code{font-family:var(--mono);font-size:11px}.loomcycle-memory-view .reembed-samples{font-size:11px;color:var(--fg-soft);display:flex;flex-wrap:wrap;gap:4px;align-items:center}.loomcycle-memory-view .reembed-samples code{background:var(--bg);padding:1px 4px;border-radius:2px}.loomcycle-memory-view .reembed-actions{display:flex;gap:8px}.loomcycle-memory-view .reembed-commit-btn,.loomcycle-memory-view .reembed-dismiss-btn{background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--fg);font-family:var(--mono);font-size:11px;padding:4px 12px;cursor:pointer}.loomcycle-memory-view .reembed-commit-btn:hover:not(:disabled){background:var(--accent);color:var(--bg)}.loomcycle-memory-view .reembed-commit-btn:disabled{opacity:.5;cursor:wait}.loomcycle-memory-view .meta-failed{color:var(--err)}.loomcycle-memory-view .entry-detail{padding:12px;display:flex;flex-direction:column;gap:12px;flex:1;min-height:0}.loomcycle-memory-view .entry-meta{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;font-size:12px}.loomcycle-memory-view .entry-meta div{display:contents}.loomcycle-memory-view .entry-meta div span{color:var(--fg-soft);text-transform:uppercase;letter-spacing:.04em;font-size:10px;align-self:center}.loomcycle-memory-view .entry-meta div code{font-size:12px;word-break:break-all}.loomcycle-memory-view .entry-value{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:12px;color:var(--fg);font-family:var(--mono);font-size:12px;flex:1;overflow:auto;margin:0}.loomcycle-memory-view .detail-pane .empty{padding:24px;color:var(--fg-soft);font-style:italic}.loomcycle-memory-view .memory-err{max-width:400px}.loomcycle-memory-view .memory-keys-header{justify-content:space-between}.loomcycle-memory-view .memory-new-entry-btn{font-size:11px;padding:4px 10px;border:1px solid var(--accent);color:var(--accent);background:transparent;border-radius:4px;cursor:pointer;text-transform:none;letter-spacing:0}.loomcycle-memory-view .memory-new-entry-btn:hover{background:var(--accent);color:var(--bg)}.loomcycle-memory-view .memory-key-actions{display:none;margin-left:auto;gap:4px}.loomcycle-memory-view .key-list li:hover .memory-key-actions{display:inline-flex}.loomcycle-memory-view .memory-key-action{background:transparent;border:1px solid var(--border);color:var(--fg-soft);font-size:10px;padding:2px 6px;border-radius:3px;cursor:pointer}.loomcycle-memory-view .memory-key-action:hover{background:var(--bg-soft);color:var(--fg)}.loomcycle-memory-view .memory-key-action-danger:hover{border-color:var(--danger);color:var(--danger)}.loomcycle-memory-view .memory-view-tabs{display:flex;gap:4px;padding:8px 12px 0;border-bottom:1px solid var(--border);flex-shrink:0}.loomcycle-memory-view .memory-view-tabs button{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--fg-soft);font-size:var(--lc-text-sm);padding:8px 12px;cursor:pointer;margin-bottom:-1px}.loomcycle-memory-view .memory-view-tabs button:hover{color:var(--fg)}.loomcycle-memory-view .memory-view-tabs button.on{color:var(--accent);border-bottom-color:var(--accent)}.loomcycle-memory-view .memory-view-tabpanel{flex:1;min-height:0;display:flex;flex-direction:column}.loomcycle-memory-view .fact-view-wrapper,.loomcycle-memory-view .search-view-wrapper{flex:1;min-height:0;display:flex;flex-direction:column;padding:12px;gap:8px}.loomcycle-memory-view .fact-filters,.loomcycle-memory-view .search-form{display:flex;gap:8px;align-items:center;flex-shrink:0;flex-wrap:wrap}.loomcycle-memory-view .fact-type-input{flex:1;min-width:120px;font-family:var(--mono);font-size:12px}.loomcycle-memory-view .fact-retired-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--fg-soft);white-space:nowrap}.loomcycle-memory-view .fact-view,.loomcycle-memory-view .search-view{flex:1;min-height:0}.loomcycle-memory-view .fact-list{list-style:none;margin:0;padding:0;overflow:auto;flex:1;min-height:0}.loomcycle-memory-view .fact-list li{padding:8px 12px;border-bottom:1px solid var(--border);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:8px}.loomcycle-memory-view .fact-list li:hover{background:var(--bg-soft-2)}.loomcycle-memory-view .fact-list li.on{background:var(--bg-soft-2);border-left:3px solid var(--accent);padding-left:9px}.loomcycle-memory-view .fact-row-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.loomcycle-memory-view .fact-row-badges{display:inline-flex;gap:4px;align-items:center;flex-shrink:0}.loomcycle-memory-view .fact-type-badge,.loomcycle-memory-view .fact-status-badge,.loomcycle-memory-view .fact-class-badge,.loomcycle-memory-view .fact-retired-badge{font-family:var(--mono);font-size:10px;padding:1px 6px;border-radius:10px;border:1px solid var(--border);color:var(--fg-soft);white-space:nowrap}.loomcycle-memory-view .fact-class-source{border-color:var(--accent);color:var(--accent)}.loomcycle-memory-view .fact-retired-badge{border-color:var(--running);color:var(--running);text-transform:uppercase;letter-spacing:.04em}.loomcycle-memory-view .fact-detail{padding:12px;display:flex;flex-direction:column;gap:12px;flex:1;min-height:0;overflow:auto}.loomcycle-memory-view .fact-detail-head{display:flex;flex-direction:column;gap:6px}.loomcycle-memory-view .fact-detail-head h4{margin:0;font-size:15px;word-break:break-word}.loomcycle-memory-view .fact-badges{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.loomcycle-memory-view .fact-axes{display:flex;flex-direction:column;gap:6px;background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:8px 10px}.loomcycle-memory-view .fact-axis{display:flex;gap:10px;align-items:baseline;font-size:12px}.loomcycle-memory-view .fact-axis-label{text-transform:uppercase;letter-spacing:.04em;font-size:10px;color:var(--fg-soft);min-width:84px;flex-shrink:0}.loomcycle-memory-view .fact-axis-range{font-family:var(--mono);font-size:11px;color:var(--fg)}.loomcycle-memory-view .fact-axis-range em{color:var(--fg-soft);font-style:italic}.loomcycle-memory-view .fact-axis-arrow{color:var(--fg-muted)}.loomcycle-memory-view .fact-provenance{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:0;font-size:12px}.loomcycle-memory-view .fact-provenance dt{color:var(--fg-soft);text-transform:uppercase;letter-spacing:.04em;font-size:10px;align-self:center}.loomcycle-memory-view .fact-provenance dd{margin:0;word-break:break-all}.loomcycle-memory-view .fact-provenance dd code{font-size:11px}.loomcycle-memory-view .fact-chain{display:flex;flex-direction:column;gap:6px}.loomcycle-memory-view .fact-chain-title{text-transform:uppercase;letter-spacing:.04em;font-size:10px;color:var(--fg-soft)}.loomcycle-memory-view .fact-edge-group{display:flex;flex-direction:column;gap:3px}.loomcycle-memory-view .fact-edge-label{font-size:11px;color:var(--fg-muted)}.loomcycle-memory-view .fact-edge-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.loomcycle-memory-view .fact-edge-btn{display:flex;align-items:center;gap:6px;width:100%;text-align:left;background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--fg);padding:4px 8px;cursor:pointer;font-size:12px}.loomcycle-memory-view .fact-edge-btn:hover:not(:disabled){border-color:var(--accent)}.loomcycle-memory-view .fact-edge-btn:disabled{cursor:default;opacity:.8}.loomcycle-memory-view .fact-edge-kind{font-family:var(--mono);font-size:10px;color:var(--fg-muted)}.loomcycle-memory-view .fact-edge-target{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.loomcycle-memory-view .fact-edge-type{font-family:var(--mono);font-size:10px;color:var(--fg-soft);flex-shrink:0}.loomcycle-memory-view .fact-body-label{text-transform:uppercase;letter-spacing:.04em;font-size:10px;color:var(--fg-soft)}.loomcycle-memory-view .fact-body{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:12px;color:var(--fg);font-family:var(--mono);font-size:12px;margin:0;white-space:pre-wrap;word-break:break-word}.loomcycle-memory-view .search-query-input{flex:1;min-width:160px}.loomcycle-memory-view .mv-combobox{position:relative;display:inline-block;width:150px;flex-shrink:0}.loomcycle-memory-view .mv-combobox-input{width:100%;box-sizing:border-box;padding-right:20px;font-family:var(--mono);font-size:12px}.loomcycle-memory-view .mv-combobox-input:disabled{opacity:.7;cursor:default}.loomcycle-memory-view .mv-combobox-toggle{position:absolute;top:0;right:0;height:100%;width:20px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--fg-soft);cursor:pointer;font-size:10px;padding:0}.loomcycle-memory-view .mv-combobox-menu{position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:20;margin:0;padding:4px 0;list-style:none;max-height:240px;overflow-y:auto;background:var(--bg-input);border:1px solid var(--border);border-radius:4px;box-shadow:0 4px 12px #0000004d}.loomcycle-memory-view .mv-combobox-menu li{padding:4px 10px;font-family:var(--mono);font-size:12px;color:var(--fg);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loomcycle-memory-view .mv-combobox-menu li:hover{background:var(--bg-soft-2)}.loomcycle-memory-view .mv-combobox-menu li.on{color:var(--accent)}.loomcycle-memory-view .search-submit-btn{background:var(--accent);border:1px solid var(--accent);color:#fff;border-radius:4px;padding:6px 14px;cursor:pointer;font-size:12px}.loomcycle-memory-view .search-submit-btn:disabled{opacity:.5;cursor:not-allowed}.loomcycle-memory-view .search-unavailable{color:var(--fg-muted);font-style:italic;font-size:12px;padding:8px 12px;border:1px dashed var(--border);border-radius:4px}.loomcycle-memory-view .search-result-list{list-style:none;margin:0;padding:0;overflow:auto;flex:1;min-height:0}.loomcycle-memory-view .search-result-list li{padding:8px 12px;border-bottom:1px solid var(--border);cursor:pointer;display:flex;flex-direction:column;gap:4px}.loomcycle-memory-view .search-result-list li:hover{background:var(--bg-soft-2)}.loomcycle-memory-view .search-result-list li.on{background:var(--bg-soft-2);border-left:3px solid var(--accent);padding-left:9px}.loomcycle-memory-view .search-hit-head{display:flex;align-items:center;gap:8px}.loomcycle-memory-view .search-kind-badge{font-family:var(--mono);font-size:10px;padding:1px 6px;border-radius:10px;border:1px solid var(--border);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.loomcycle-memory-view .search-kind-document{border-color:var(--accent);color:var(--accent)}.loomcycle-memory-view .search-kind-fact{border-color:var(--success, var(--accent));color:var(--success, var(--accent))}.loomcycle-memory-view .search-kind-note{color:var(--fg-soft)}.loomcycle-memory-view .search-hit-key{font-family:var(--mono);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.loomcycle-memory-view .search-hit-scores{font-family:var(--mono);font-size:10px;color:var(--fg-muted);flex-shrink:0}.loomcycle-memory-view .search-hit-value{font-size:11px;color:var(--fg-soft);font-family:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loomcycle-memory-view .search-mem-detail{padding:12px;overflow:auto}.loomcycle-memory-view .search-mem-key{display:flex;align-items:center;gap:8px;margin-bottom:8px}.loomcycle-memory-view .search-mem-key code{font-family:var(--mono);font-size:12px}.loomcycle-memory-view .search-mem-open-btn{font-size:11px;padding:2px 8px;cursor:pointer}.loomcycle-memory-view .search-mem-value{font-family:var(--mono);font-size:12px;white-space:pre-wrap;word-break:break-word;margin:0;color:var(--fg)}.loomcycle-loomboard{--lb-bg: #14161a;--lb-surface: #1b1e24;--lb-surface-2: #22262d;--lb-border: #2c313a;--lb-text: #e7e9ee;--lb-dim: #9aa2af;--lb-accent: #3b82f6;--lb-accent-fg: #ffffff;--lb-danger: #ef4444;color-scheme:dark;display:flex;flex-direction:column;height:100%;min-height:0;background:var(--lb-bg);color:var(--lb-text);font-size:14px;line-height:1.4}.loomcycle-loomboard[data-theme=light],[data-theme=light] .loomcycle-loomboard{--lb-bg: #ffffff;--lb-surface: #f6f7f9;--lb-surface-2: #eef0f3;--lb-border: #d9dce1;--lb-text: #1a1d23;--lb-dim: #616a76;--lb-accent: #2563eb;--lb-accent-fg: #ffffff;--lb-danger: #dc2626;color-scheme:light}.loomcycle-loomboard *,.loomcycle-loomboard *:before,.loomcycle-loomboard *:after{box-sizing:border-box}.loomcycle-loomboard button{font:inherit;cursor:pointer}.loomcycle-loomboard .error-banner{margin:1rem;padding:.7rem .9rem;border:1px solid var(--lb-danger);border-radius:8px;color:var(--lb-danger)}.loomcycle-loomboard .loomboard-body{display:flex;flex-direction:column;height:100%;min-height:0}.loomcycle-loomboard .loomboard-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.5rem .7rem;border-bottom:1px solid var(--lb-border)}.loomcycle-loomboard .scope-toggle{display:inline-flex;border:1px solid var(--lb-border);border-radius:7px;overflow:hidden}.loomcycle-loomboard .scope-toggle button{padding:.25em .7em;background:transparent;border:0;color:var(--lb-dim);text-transform:capitalize}.loomcycle-loomboard .scope-toggle button.on{background:var(--lb-accent);color:var(--lb-accent-fg)}.loomcycle-loomboard .loomboard-actions{display:inline-flex;gap:.4rem}.loomcycle-loomboard .loomboard-error{margin:.6rem .7rem 0;color:var(--lb-danger);font-size:.85em}.loomcycle-loomboard .loomboard-split{flex:1;min-height:0}.loomcycle-loomboard .loomboard-main{height:100%;min-height:0;overflow:auto;padding:.8rem}.loomcycle-loomboard .loomboard-placeholder{color:var(--lb-dim);padding:2rem 1rem;text-align:center}.loomcycle-loomboard .btn-ghost,.loomcycle-loomboard .view-new{padding:.3em .7em;background:var(--lb-surface-2);border:1px solid var(--lb-border);border-radius:6px;color:var(--lb-text)}.loomcycle-loomboard .btn-ghost.danger{color:var(--lb-danger)}.loomcycle-loomboard .btn-primary{padding:.4em .9em;background:var(--lb-accent);border:1px solid var(--lb-accent);border-radius:6px;color:var(--lb-accent-fg)}.loomcycle-loomboard .btn-primary:disabled,.loomcycle-loomboard .btn-ghost:disabled{opacity:.5;cursor:default}.loomcycle-loomboard .field{display:flex;flex-direction:column;gap:.25em;margin-bottom:.6rem}.loomcycle-loomboard .field>span{font-size:.75em;color:var(--lb-dim);text-transform:uppercase;letter-spacing:.04em}.loomcycle-loomboard .field input,.loomcycle-loomboard .field select{padding:.4em .55em;background:var(--lb-bg);border:1px solid var(--lb-border);border-radius:6px;color:var(--lb-text)}.loomcycle-loomboard .field-row{display:flex;gap:.6rem}.loomcycle-loomboard .field-row .field{flex:1}.loomcycle-loomboard .view-list{height:100%;overflow:auto;padding:.6rem;border-right:1px solid var(--lb-border)}.loomcycle-loomboard .view-list-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.loomcycle-loomboard .view-list-title{font-weight:600}.loomcycle-loomboard .view-list-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.loomcycle-loomboard .view-item{width:100%;text-align:left;padding:.4em .55em;background:transparent;border:0;border-radius:6px;color:var(--lb-text)}.loomcycle-loomboard .view-item:hover{background:var(--lb-surface-2)}.loomcycle-loomboard .view-item.on{background:var(--lb-accent);color:var(--lb-accent-fg)}.loomcycle-loomboard .view-list-empty,.loomcycle-loomboard .view-list-loading,.loomcycle-loomboard .view-list-error{color:var(--lb-dim);font-size:.85em;padding:.4rem .2rem}.loomcycle-loomboard .view-list-error{color:var(--lb-danger)}.loomcycle-loomboard .view-editor{max-width:560px}.loomcycle-loomboard .view-editor-head{font-weight:600;font-size:1.05em;margin-bottom:.8rem}.loomcycle-loomboard .view-editor-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.4rem}.loomcycle-loomboard .view-editor-error{color:var(--lb-danger);font-size:.85em;margin-bottom:.5rem}.loomcycle-loomboard .board-view-head{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.7rem}.loomcycle-loomboard .board-view-title{font-weight:600;font-size:1.05em}.loomcycle-loomboard .board-view-kind{font-size:.75em;color:var(--lb-dim);text-transform:uppercase;letter-spacing:.04em}.loomcycle-loomboard .board-loading,.loomcycle-loomboard .board-empty{color:var(--lb-dim);padding:1rem 0}.loomcycle-loomboard .board-error{color:var(--lb-danger);padding:.7rem 0}.loomcycle-loomboard .board-scroll{overflow-x:auto}.loomcycle-loomboard .board-table{width:100%;border-collapse:collapse}.loomcycle-loomboard .board-table th,.loomcycle-loomboard .board-table td{text-align:left;padding:.4em .7em;border-bottom:1px solid var(--lb-border);white-space:nowrap}.loomcycle-loomboard .board-table th{color:var(--lb-dim);font-size:.78em;text-transform:uppercase;letter-spacing:.04em}.loomcycle-loomboard .cell-title{white-space:normal}.loomcycle-loomboard .cell-dim{color:var(--lb-dim)}.loomcycle-loomboard .board-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.6rem}.loomcycle-loomboard .board-card{background:var(--lb-surface);border:1px solid var(--lb-border);border-radius:8px;padding:.6rem .7rem}.loomcycle-loomboard .board-card-title{font-weight:500;margin-bottom:.4rem}.loomcycle-loomboard .board-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.8em}.loomcycle-loomboard .board-list{list-style:none;margin:0;padding:0}.loomcycle-loomboard .board-list-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.4em .2em;border-bottom:1px solid var(--lb-border)}.loomcycle-loomboard .board-kanban{display:flex;gap:.7rem;align-items:flex-start}.loomcycle-loomboard .kanban-col{flex:0 0 240px;background:var(--lb-surface);border:1px solid var(--lb-border);border-radius:8px}.loomcycle-loomboard .kanban-col-head{display:flex;align-items:center;justify-content:space-between;padding:.5rem .7rem;border-bottom:1px solid var(--lb-border);font-weight:600}.loomcycle-loomboard .kanban-col-count{color:var(--lb-dim);font-size:.85em}.loomcycle-loomboard .kanban-col-body{padding:.5rem;display:flex;flex-direction:column;gap:.5rem}.loomcycle-loomboard .kanban-col-body .board-card{background:var(--lb-surface-2)}.loomcycle-loomboard .badge{display:inline-block;padding:.1em .5em;border-radius:999px;font-size:.75em;border:1px solid var(--lb-border);color:var(--lb-dim)}.loomcycle-loomboard .badge-status{border-color:var(--lb-accent);color:var(--lb-accent)}.loomcycle-loomboard .splitter{display:grid;height:100%;min-height:0}.loomcycle-loomboard .splitter-pane{min-width:0;min-height:0;overflow:hidden}.loomcycle-loomboard .splitter-handle{cursor:col-resize;background:var(--lb-border)}.loomcycle-loomboard .splitter.dragging{-webkit-user-select:none;user-select:none}.loomcycle-loomboard .board-universe{display:flex;align-items:center;gap:8px;padding:24px 16px;color:var(--lb-dim)}
